Hero Groundcrack help

In this forum you will find and post information regarding the modding of Star Wars Battlefront 2. DO NOT POST MOD IDEAS/REQUESTS.

Moderator: Moderators

Post Reply
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

Hero Groundcrack help

Post by Cerfon Rournes »

Hey GT! I need some help with Mace's groundcrack. I made a custom animation set for my hero, and it includes Mace's Jump/land attack. I munged it, and everytime I do the Jump attack, It looks like this:
Hidden/Spoiler:
Image
I want it to look like this:
Hidden/Spoiler:
Image
:? I'm not sure what I'm missing, I put com_sfx_groundcrack,com_sfx_groundcrack2, and com_sfx_jedismash In my sides/all/effects folder, didn't fix the problem.
Anyone know how to fix this? Help would be great, thanks :D
Press_Tilty
Chief Warrant Officer
Chief Warrant Officer
Posts: 331
Joined: Fri Jun 04, 2010 10:57 pm
Projects :: Korsava IV - Pre WIP
Games I'm Playing :: MW2-Reach-BF2
Location: Seattle Area

Re: Hero Groundcrack help

Post by Press_Tilty »

I know nothing about this, but did you tell it to do that? Just loading the files isn't going to do anything unless you tell it to load the fc.
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

Re: Hero Groundcrack help

Post by Cerfon Rournes »

Press_Tilty wrote:I know nothing about this, but did you tell it to do that? Just loading the files isn't going to do anything unless you tell it to load the fc.
Ya you're right. I didn't tell it to load the files, because i don't know what to put in the?.. odf I guess?
Press_Tilty
Chief Warrant Officer
Chief Warrant Officer
Posts: 331
Joined: Fri Jun 04, 2010 10:57 pm
Projects :: Korsava IV - Pre WIP
Games I'm Playing :: MW2-Reach-BF2
Location: Seattle Area

Re: Hero Groundcrack help

Post by Press_Tilty »

No idea. I just made the same mistake. Except with units.
User avatar
Fiodis
Master of the Force
Master of the Force
Posts: 4145
Joined: Wed Nov 12, 2008 9:27 pm
Projects :: Rannoch + Tientia + Tools Programming

Re: Hero Groundcrack help

Post by Fiodis »

You need to set up an explosion like Mace's saber has. Look in its odf. Then look in Mace's combo file, in the jumpattack states, and see the line PlayExplosion? Add it in the same spot in your Jedi's combo.
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

Re: Hero Groundcrack help

Post by Cerfon Rournes »

Fiodis wrote:You need to set up an explosion like Mace's saber has. Look in its odf. Then look in Mace's combo file, in the jumpattack states, and see the line PlayExplosion? Add it in the same spot in your Jedi's combo.
K I added that to the combo file, didn't work. :? Here is my jedi's combo file..
Hidden/Spoiler:
OffhandAnimation("stand_useforce", "FIRE")
{
Loop("FinalFrame");
AimType("Torso");
BlendInTime(0.15);
BlendOutTime(0.15);
}
OffhandAnimation("stand_useforce", "FIRE2");
OffhandAnimation("stand_useforce", "CHARGE");

Animation("stand_attack1a_end");
Animation("stand_attack1b");
//Animation("stand_attack1a_upper")
//{
// AimType("Torso");
// BlendInTime(0.0);
// BlendOutTime(0.15);
// BlendTimeTo("stand_attack1a_end", 0.0);
// BlendTimeTo("stand_attack1b", 0.0);
//}
//Animation("stand_attack1a_lower")
//{
// BlendInTime(0.15);
// BlendOutTime(0.15);
// BlendTimeTo("stand_attack1a_end", 0.0);
// BlendTimeTo("stand_attack1b", 0.0);
//}

// Throw stuff....
ThrowAnimation("stand_throw");

State("CATCH_SABRE")
{
Posture("Stand");
// Sound("saber_catch");
Animation("stand_catch")
{
AimType("None");
BlendOutTime(0.2);
}

InputLock("All", "!Thrust");
AlignedToThrust();
}

State("IDLE")
{
Duration(0.0); // infinite duration
EnergyRestoreRate(); // (0.0, "FromSoldier")
InputLock(0.15, "Sprint", "Jump", "Crouch");

Transition("DEFLECT")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Energy(">=", 2.5); // at least half a second worth of deflect time
Button("FireSecondary", "Press");
}
}
Transition("BACK_ATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Press");
Thrust(">", 0.25);
ThrustAngle(135, 225);
}
}
Transition("ATTACK1")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Press");
}
}
Transition("DASHATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Sprint");
Button("Fire", "Press");
}
}
Transition("JUMPATTACK_FALL")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Jump", "Jet");
//The following should be true during a jetjump, jump, or fall
// unless we're more than 0.35 seconds from the apex
//NOTE: This may not allow luke to jump attack during longer falls
// or falling from a force jump when it could.
//VelocityY(">", -6.3);
Button("Fire", "Press");
}
}
}

State("DEFLECT")
{
Posture("Stand");
Sound("imp_weap_lightsabre_block");
Animation("stand_block_idle")
{
Loop();
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
LowResPose(0, "Frames");
}

Duration(0.0); // infinite duration, looping anim

InputLock(0.0, "All", "!Thrust"); // lock all but move controller for duration of state
EnergyRestoreRate(-10.0); // drain energy while ready to deflect
Deflect()
{
DeflectAngle(-110, 110); // deflect anything from forward arc
EnergyCost(0.0);

DeflectAnimation("stand_block_front1", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_front2", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_left1", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_left2", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_right1", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_right2", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
}

Transition("ATTACK1")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Fire", "Press");
}
}
Transition("DEFLECT_ROLL") // same as the code checking for rolling
{
EnergyCost(25.0);
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Crouch", "Press");
Thrust(">", 0.9);
ThrustAngle(-120, 120);
}
}
Transition("DEFLECT_CROUCH")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Crouch", "Press");
}
}
Transition("DEFLECT_JUMP")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Jump", "Press");
}
}
Transition("DEFLECT_SPRINT")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Sprint", "Down");
}
}
Transition("IDLE")
{
If()
{
Break();
Energy("<=", 0.0); // if no energy left
}
Or()
{
Break(20, "Frames"); // all transitions are breaking if Duration is 0
Button("FireSecondary", "Press");
}
Or()
{
Break(); // all transitions are breaking if Duration is 0
Button("Reload", "Press");
}
}
}

State("DEFLECT_JUMP")
{
Posture("Jump");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_CROUCH")
{
Posture("Crouch");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_ROLL")
{
Posture("Roll");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_SPRINT")
{
Posture("Sprint");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("BACK_ATTACK")
{
Posture("Stand");
Animation("stand_attack_backwards")
{
BlendInTime(0.15);
BlendOutTime(0.15);
}
Sound("saber_swing");

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
Edge(0);
DamageTime(5, 10, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(4.0);
}

Attack()
{
Edge(0);
DamageTime(14, 20, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(4.0);
}

Attack()
{
Edge(1);
DamageTime(5, 8, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(4.0);
}

Transition("IDLE")
{
If()
{
Break(25, "Frames");
}
}
}

//Forward declare animations to allow BlendTimeTo references:
Animation("stand_attack1b_end");
Animation("stand_attack1c");

State("ATTACK1")
{
Posture("Stand");
Animation("stand_attack1a")
{
BlendInTime(0.1); // was 0.5
AimType("None");
}

Sound("saber_attack_three");

InputLock("All", "!Thrust");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(5.0);
}

AlignedToThrust();

Attack()
{
Edge(1);
DamageTime(2, 7, "Frames");
DamageLength(1.5);
DamageWidth(.95);
Damage(400);
Push(3.0);
}
Attack()
{
Edge(0);
DamageTime(13, 17, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}
Attack()
{
Edge(1);
DamageTime(13, 17, "Frames");
DamageLength(1.5);
DamageWidth(.95);
Damage(300);
Push(3.0);
}

Transition("ATTACK1_WINDDOWN")
{
If()
{
TimeStart(9, "Frames");
TimeEnd(22, "Frames"); //, "SyncIfOvertime");
Posture("Stand");
Button("Fire", "Press");
}
}
Transition("RECOVER1");
}

State("RECOVER1")
{
Posture("Stand");
Animation("stand_attack1a_end")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE");
}

State("ATTACK1_WINDDOWN")
{
Posture("Stand");
Animation("stand_attack1a_end")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

AlignedToThrust();
InputLock("All", "!Thrust");

Transition("ATTACK2")
{
If()
{
Break(0.2); // break out after 0.2 seconds
}
}
}

State("ATTACK2")
{
Posture("Stand");
Animation("stand_attack1b")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1b_end", 0.0);
BlendTimeTo("stand_attack1c", 0.0);
BlendTimeTo("stand_attack1a", 0.25);
}
Sound("saber_swing");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(5.0);
}

Duration(12, "Frames");

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
AttackID("A2");
Edge(0);
DamageTime(9, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

// Transition("ATTACK_JUMP")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Jump", "Press");
// }
// }

// Transition("ATTACK3")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Fire", "Press");
// }
// }

// Transition("RECOVER2");

Transition("ATTACK2_LAND");
}

State("ATTACK2_LAND")
{
Posture("Stand");
Animation("stand_attack1b")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1b_end", 0.0);
BlendTimeTo("stand_attack1c", 0.0);
BlendTimeTo("stand_attack1a", 0.25);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
AttackID("A2");
Edge(0);
DamageTime(9, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

Attack()
{
Edge(1);
DamageTime(12, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

// Transition("ATTACK_JUMP")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Jump", "Press");
// }
// }

Transition("ATTACK3")
{
If()
{
TimeStart("-12", "Frames");
TimeEnd(23, "Frames"); //, "SyncIfOvertime");
Posture("Stand");
Button("Fire", "Press");
}
}

Transition("RECOVER2");
}

//State("ATTACK_JUMP")
//{
// Posture("Jump");
// Animation("jump_backward");
// AnimatedMove() // animation controls velocity for entire state
// {
// VelocityZ(-8.0);
// VelocityX(0.0);
// VelocityFromThrust(0.0);
// VelocityFromStrafe(3.0);
// }
//
// InputLock("All", "!Strafe");
// AlignedToThrust();
//
// Transition("JUMPATTACK_FALL2")
// {
// If()
// {
// Break(10, "Frames");
// Button("Fire", "Press");
// }
// }
//
// Transition("IDLE")
// {
// If()
// {
// Break(10, "Frames");
// Posture("Any", "!Jump", "!Jet");
// }
// }
//}

State("RECOVER2")
{
Posture("Stand");
Animation("stand_attack1b_end")
{
// SyncType("attack1c", "ByTime");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE");
}

State("ATTACK3")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("Torso");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1c", 0.5);
}
Sound("saber_triple");

//set a duration so we will go to state _LAND before the animation ends
Duration(19, "Frames");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(3.0);
}
AlignedToThrust();

StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
Edge(1);
DamageTime(5, 9, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-1");
Edge(1);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

Transition("ATTACK3_LAND");
}

State("ATTACK3_LAND")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("Torso");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1c", 0.5);
}

//set a duration so we will go to state RECOVER3 before the animation ends
Duration(30, "Frames");
AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}
AlignedToThrust();

//StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-1");
Edge(1);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

//Transition("DASHATTACK")
//{
// If()
// {
// Break(25, "Frames");
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Fire", "Press");
// }
//}

Transition("RECOVER3");
}

State("RECOVER3")
{
Posture("Stand");
Animation("stand_attack1c");

InputLock("All", "!Thrust");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}

AlignedToThrust();

Transition("IDLE");
}

State("DASHATTACK")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
BlendOutTime(0.25);
}
Sound("saber_triple");

Duration(20, "Frames");
AnimatedMove()
{
VelocityZ(11.0);
VelocityX(0.0);
VelocityFromThrust(5.0);
VelocityFromStrafe(1.0);
}
TurnFactor(0.3);

InputLock("All", "!Thrust");

Deflect()
{
DeflectAngle(-140, 140); // deflect anything from forward arc
EnergyCost(2.0);
}

Attack()
{
Edge(0);
DamageTime(4, 8, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}
Attack()
{
Edge(0);
DamageTime(10, 16, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}


Attack()
{
Edge(1);
DamageTime(6, 17, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}
Attack()
{
AttackID("Dash_RA1");
Edge(0);
DamageTime(16, 22, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}

Transition("DASHATTACK_LAND");
}

State("DASHATTACK_LAND")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
//BlendOutTime(0.10);
}

Sound("saber_throw"); // the sound, that is

AnimatedMove()
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(0.5);
VelocityFromStrafe(0.5);
}
TurnFactor(0.3);
Duration(32, "Frames");

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash_RA1");
Edge(0);
DamageTime(16, 22, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}

Attack()
{
AttackID("Dash_end_twirl");
Edge(0);
DamageTime(28, 40, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(4.0);
}


Transition("DASHATTACK_RECOVER");
}

State("DASHATTACK_RECOVER")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
//BlendOutTime(0.10);
}

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash_end_twirl");
Edge(0);
DamageTime(28, 40, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(4.0);
}

Transition("IDLE");
}

// forward declare jumpattack_land, since jumpattack_fall refers to it:
Animation("jumpattack_land");

State("JUMPATTACK_FALL")
{
Posture("Jump");
Animation("jumpattack_fall")
{
Loop("FinalFrame");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}
Sound("saber_double");

Gravity(2.0);
GravityVelocityTarget(-20.0); // accelerate us to 20m/s down at 2 g's
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("JUMPATTACK_END")
}

// from ATTACK_JUMP only
State("JUMPATTACK_FALL2")
{
Posture("Jump");
Animation("jumpattack_fall")
{
Loop("FinalFrame");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}
AnimatedMove()
{
VelocityZ(150.0);
VelocityX(0.0);
VelocityFromThrust(0.0);
VelocityFromStrafe(1.0);
}
TurnFactor(0.3);

Sound("saber_swing");

Gravity(0.3);
GravityVelocityTarget(-2.5, "Impulse", "ZeroGravity"); // accelerate us immediately

InputLock("All", "!Strafe"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("JUMPATTACK_END")
}

State("JUMPATTACK_END")
{
Posture("Jump");
Animation("jumpattack_end")
{
AimType("None");
SyncType("jumpattack_land", "ByTime");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}

Sound("saber_swing");

Gravity(2.0);
GravityVelocityTarget(-20.0); // accelerate us to 20m/s down at 2 g's
Duration(15, "Frames");
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("IDLE");
}

State("JUMPATTACK_LAND")
{
Posture("Stand");

Animation("jumpattack_land")
{
AimType("FullBody");
//SyncType("jumpattack_land", "ByTime");
BlendInTime(0.00);
BlendOutTime(0.20);
}

Attack()
{
AttackID("Earthquake");
DamageTime(0, 4, "Frames");
DamageLength(1.0);
DamageWidth(0.5);
Damage(1200);
}

RestartAnimation();
Duration(4, "Frames");

EnergyRestoreRate(0.0);

AnimatedMove();
InputLock("All");

Transition("JUMPATTACK_LAND2");
}

State("JUMPATTACK_LAND2")
{
Posture("Stand");

Attack()
{
AttackID("Earthquake");
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.5);
Damage(0);
}


Animation("jumpattack_land")
{
AimType("FullBody");
//SyncType("jumpattack_land", "ByTime");
BlendInTime(0.00);
BlendOutTime(0.20);
}

EnergyRestoreRate(0.0);

PlayExplosion(); // yep...

AnimatedMove();
InputLock("All");
}
*EDIT*
Here is my jedi's Combo file without any changes
Hidden/Spoiler:
OffhandAnimation("stand_useforce", "FIRE")
{
Loop("FinalFrame");
AimType("Torso");
BlendInTime(0.15);
BlendOutTime(0.15);
}
OffhandAnimation("stand_useforce", "FIRE2");
OffhandAnimation("stand_useforce", "CHARGE");

Animation("stand_attack1a_end");
Animation("stand_attack1b");
//Animation("stand_attack1a_upper")
//{
// AimType("Torso");
// BlendInTime(0.0);
// BlendOutTime(0.15);
// BlendTimeTo("stand_attack1a_end", 0.0);
// BlendTimeTo("stand_attack1b", 0.0);
//}
//Animation("stand_attack1a_lower")
//{
// BlendInTime(0.15);
// BlendOutTime(0.15);
// BlendTimeTo("stand_attack1a_end", 0.0);
// BlendTimeTo("stand_attack1b", 0.0);
//}

// Throw stuff....
ThrowAnimation("stand_throw");

State("CATCH_SABRE")
{
Posture("Stand");
// Sound("saber_catch");
Animation("stand_catch")
{
AimType("None");
BlendOutTime(0.2);
}

InputLock("All", "!Thrust");
AlignedToThrust();
}

State("IDLE")
{
Duration(0.0); // infinite duration
EnergyRestoreRate(); // (0.0, "FromSoldier")
InputLock(0.15, "Sprint", "Jump", "Crouch");

Transition("DEFLECT")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Energy(">=", 2.5); // at least half a second worth of deflect time
Button("FireSecondary", "Press");
}
}
Transition("BACK_ATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Press");
Thrust(">", 0.25);
ThrustAngle(135, 225);
}
}
Transition("ATTACK1")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Press");
}
}
Transition("DASHATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Sprint");
Button("Fire", "Press");
}
}
Transition("JUMPATTACK_FALL")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Jump", "Jet");
//The following should be true during a jetjump, jump, or fall
// unless we're more than 0.35 seconds from the apex
//NOTE: This may not allow luke to jump attack during longer falls
// or falling from a force jump when it could.
//VelocityY(">", -6.3);
Button("Fire", "Press");
}
}
}

State("DEFLECT")
{
Posture("Stand");
Sound("imp_weap_lightsabre_block");
Animation("stand_block_idle")
{
Loop();
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
LowResPose(0, "Frames");
}

Duration(0.0); // infinite duration, looping anim

InputLock(0.0, "All", "!Thrust"); // lock all but move controller for duration of state
EnergyRestoreRate(-10.0); // drain energy while ready to deflect
Deflect()
{
DeflectAngle(-110, 110); // deflect anything from forward arc
EnergyCost(0.0);

DeflectAnimation("stand_block_front1", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_front2", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_left1", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_left2", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_right1", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_right2", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
}

Transition("ATTACK1")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Fire", "Press");
}
}
Transition("DEFLECT_ROLL") // same as the code checking for rolling
{
EnergyCost(25.0);
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Crouch", "Press");
Thrust(">", 0.9);
ThrustAngle(-120, 120);
}
}
Transition("DEFLECT_CROUCH")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Crouch", "Press");
}
}
Transition("DEFLECT_JUMP")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Jump", "Press");
}
}
Transition("DEFLECT_SPRINT")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Sprint", "Down");
}
}
Transition("IDLE")
{
If()
{
Break();
Energy("<=", 0.0); // if no energy left
}
Or()
{
Break(20, "Frames"); // all transitions are breaking if Duration is 0
Button("FireSecondary", "Press");
}
Or()
{
Break(); // all transitions are breaking if Duration is 0
Button("Reload", "Press");
}
}
}

State("DEFLECT_JUMP")
{
Posture("Jump");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_CROUCH")
{
Posture("Crouch");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_ROLL")
{
Posture("Roll");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_SPRINT")
{
Posture("Sprint");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("BACK_ATTACK")
{
Posture("Stand");
Animation("stand_attack_backwards")
{
BlendInTime(0.15);
BlendOutTime(0.15);
}
Sound("saber_swing");

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
Edge(0);
DamageTime(5, 10, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(4.0);
}

Attack()
{
Edge(0);
DamageTime(14, 20, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(4.0);
}

Attack()
{
Edge(1);
DamageTime(5, 8, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(4.0);
}

Transition("IDLE")
{
If()
{
Break(25, "Frames");
}
}
}

//Forward declare animations to allow BlendTimeTo references:
Animation("stand_attack1b_end");
Animation("stand_attack1c");

State("ATTACK1")
{
Posture("Stand");
Animation("stand_attack1a")
{
BlendInTime(0.1); // was 0.5
AimType("None");
}

Sound("saber_attack_three");

InputLock("All", "!Thrust");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(5.0);
}

AlignedToThrust();

Attack()
{
Edge(1);
DamageTime(2, 7, "Frames");
DamageLength(1.5);
DamageWidth(.95);
Damage(400);
Push(3.0);
}
Attack()
{
Edge(0);
DamageTime(13, 17, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}
Attack()
{
Edge(1);
DamageTime(13, 17, "Frames");
DamageLength(1.5);
DamageWidth(.95);
Damage(300);
Push(3.0);
}

Transition("ATTACK1_WINDDOWN")
{
If()
{
TimeStart(9, "Frames");
TimeEnd(22, "Frames"); //, "SyncIfOvertime");
Posture("Stand");
Button("Fire", "Press");
}
}
Transition("RECOVER1");
}

State("RECOVER1")
{
Posture("Stand");
Animation("stand_attack1a_end")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE");
}

State("ATTACK1_WINDDOWN")
{
Posture("Stand");
Animation("stand_attack1a_end")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

AlignedToThrust();
InputLock("All", "!Thrust");

Transition("ATTACK2")
{
If()
{
Break(0.2); // break out after 0.2 seconds
}
}
}

State("ATTACK2")
{
Posture("Stand");
Animation("stand_attack1b")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1b_end", 0.0);
BlendTimeTo("stand_attack1c", 0.0);
BlendTimeTo("stand_attack1a", 0.25);
}
Sound("saber_swing");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(5.0);
}

Duration(12, "Frames");

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
AttackID("A2");
Edge(0);
DamageTime(9, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

// Transition("ATTACK_JUMP")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Jump", "Press");
// }
// }

// Transition("ATTACK3")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Fire", "Press");
// }
// }

// Transition("RECOVER2");

Transition("ATTACK2_LAND");
}

State("ATTACK2_LAND")
{
Posture("Stand");
Animation("stand_attack1b")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1b_end", 0.0);
BlendTimeTo("stand_attack1c", 0.0);
BlendTimeTo("stand_attack1a", 0.25);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
AttackID("A2");
Edge(0);
DamageTime(9, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

Attack()
{
Edge(1);
DamageTime(12, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

// Transition("ATTACK_JUMP")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Jump", "Press");
// }
// }

Transition("ATTACK3")
{
If()
{
TimeStart("-12", "Frames");
TimeEnd(23, "Frames"); //, "SyncIfOvertime");
Posture("Stand");
Button("Fire", "Press");
}
}

Transition("RECOVER2");
}

//State("ATTACK_JUMP")
//{
// Posture("Jump");
// Animation("jump_backward");
// AnimatedMove() // animation controls velocity for entire state
// {
// VelocityZ(-8.0);
// VelocityX(0.0);
// VelocityFromThrust(0.0);
// VelocityFromStrafe(3.0);
// }
//
// InputLock("All", "!Strafe");
// AlignedToThrust();
//
// Transition("JUMPATTACK_FALL2")
// {
// If()
// {
// Break(10, "Frames");
// Button("Fire", "Press");
// }
// }
//
// Transition("IDLE")
// {
// If()
// {
// Break(10, "Frames");
// Posture("Any", "!Jump", "!Jet");
// }
// }
//}

State("RECOVER2")
{
Posture("Stand");
Animation("stand_attack1b_end")
{
// SyncType("attack1c", "ByTime");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE");
}

State("ATTACK3")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("Torso");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1c", 0.5);
}
Sound("saber_triple");

//set a duration so we will go to state _LAND before the animation ends
Duration(19, "Frames");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(3.0);
}
AlignedToThrust();

StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
Edge(1);
DamageTime(5, 9, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-1");
Edge(1);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

Transition("ATTACK3_LAND");
}

State("ATTACK3_LAND")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("Torso");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1c", 0.5);
}

//set a duration so we will go to state RECOVER3 before the animation ends
Duration(30, "Frames");
AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}
AlignedToThrust();

//StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-1");
Edge(1);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

//Transition("DASHATTACK")
//{
// If()
// {
// Break(25, "Frames");
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Fire", "Press");
// }
//}

Transition("RECOVER3");
}

State("RECOVER3")
{
Posture("Stand");
Animation("stand_attack1c");

InputLock("All", "!Thrust");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}

AlignedToThrust();

Transition("IDLE");
}

State("DASHATTACK")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
BlendOutTime(0.25);
}
Sound("saber_triple");

Duration(20, "Frames");
AnimatedMove()
{
VelocityZ(11.0);
VelocityX(0.0);
VelocityFromThrust(5.0);
VelocityFromStrafe(1.0);
}
TurnFactor(0.3);

InputLock("All", "!Thrust");

Deflect()
{
DeflectAngle(-140, 140); // deflect anything from forward arc
EnergyCost(2.0);
}

Attack()
{
Edge(0);
DamageTime(4, 8, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}
Attack()
{
Edge(0);
DamageTime(10, 16, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}


Attack()
{
Edge(1);
DamageTime(6, 17, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}
Attack()
{
AttackID("Dash_RA1");
Edge(0);
DamageTime(16, 22, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}

Transition("DASHATTACK_LAND");
}

State("DASHATTACK_LAND")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
//BlendOutTime(0.10);
}

Sound("saber_throw"); // the sound, that is

AnimatedMove()
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(0.5);
VelocityFromStrafe(0.5);
}
TurnFactor(0.3);
Duration(32, "Frames");

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash_RA1");
Edge(0);
DamageTime(16, 22, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}

Attack()
{
AttackID("Dash_end_twirl");
Edge(0);
DamageTime(28, 40, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(4.0);
}


Transition("DASHATTACK_RECOVER");
}

State("DASHATTACK_RECOVER")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
//BlendOutTime(0.10);
}

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash_end_twirl");
Edge(0);
DamageTime(28, 40, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(4.0);
}

Transition("IDLE");
}

// forward declare jumpattack_land, since jumpattack_fall refers to it:
Animation("jumpattack_land");

State("JUMPATTACK_FALL")
{
Posture("Jump");
Animation("jumpattack_fall")
{
Loop("FinalFrame");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}
Sound("saber_double");

Gravity(2.0);
GravityVelocityTarget(-20.0); // accelerate us to 20m/s down at 2 g's
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("JUMPATTACK_END")
}

// from ATTACK_JUMP only
State("JUMPATTACK_FALL2")
{
Posture("Jump");
Animation("jumpattack_fall")
{
Loop("FinalFrame");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}
AnimatedMove()
{
VelocityZ(150.0);
VelocityX(0.0);
VelocityFromThrust(0.0);
VelocityFromStrafe(1.0);
}
TurnFactor(0.3);

Sound("saber_swing");

Gravity(0.3);
GravityVelocityTarget(-2.5, "Impulse", "ZeroGravity"); // accelerate us immediately

InputLock("All", "!Strafe"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("JUMPATTACK_END")
}

State("JUMPATTACK_END")
{
Posture("Jump");
Animation("jumpattack_end")
{
AimType("None");
SyncType("jumpattack_land", "ByTime");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}

Sound("saber_swing");

Gravity(2.0);
GravityVelocityTarget(-20.0); // accelerate us to 20m/s down at 2 g's
Duration(15, "Frames");
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("IDLE");
}

State("JUMPATTACK_LAND")
{
Posture("Stand");

Animation("jumpattack_land")
{
AimType("FullBody");
SyncType("jumpattack_land", "ByTime");
BlendInTime(0.00);
BlendOutTime(0.20);
}

AnimatedMove();
InputLock("All");

Attack()
{
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(800);
Push(4.0);
}

Transition("IDLE")
{
If()
{
Break(0.4);
ButtonsPressed("Any");
}
Or()
{
Break(0.4);
Thrust(">", 0.54);
}
}
}
kinetosimpetus
Imperial Systems Expert
Imperial Systems Expert
Posts: 2381
Joined: Wed Mar 25, 2009 4:15 pm
Projects :: A secret project
Games I'm Playing :: Warframe STO

Re: Hero Groundcrack help

Post by kinetosimpetus »

Fiodis wrote:You need to set up an explosion like Mace's saber has. Look in its odf.
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

Re: Hero Groundcrack help

Post by Cerfon Rournes »

kinetosimpetus wrote:
Fiodis wrote:You need to set up an explosion like Mace's saber has. Look in its odf.
Here is the odf.
Hidden/Spoiler:
[ExplosionClass]
ClassLabel = "explosion"

[Properties]

// Important
HurtOwner = 0

Push = "8.0"
PushRadiusInner = "2.5"
PushRadiusOuter = "7.5"

Shake = "0.6"
ShakeLength = "0.60"
ShakeRadiusInner = "5.0"
ShakeRadiusOuter = "5.0"

LifeSpan = "0.3"
Damage = "400.0"
DamageRadiusInner = "0.0"
DamageRadiusOuter = "8.0"
Effect = "com_sfx_groundcrack"
//Effect = "com_sfx_jedismash"
ArmorScale = "1.0"
HealthScale = "1.0"
ShieldScale = "0.5"

VehicleScale = "3.0"

SoundProperty = "mace_quake_exp"
Am I supposed to add this to my Jedi's odf?
AQT
Gametoast Staff
Gametoast Staff
Posts: 4910
Joined: Sat Nov 03, 2007 4:55 pm
Location: SoCal, USA

Re: Hero Groundcrack help

Post by AQT »

That's the explosion ODF. Fiodis was referring to the lightsaber ODF. That's where you reference the explosion ODF in order for it to work.
Hidden/Spoiler:
[WeaponClass]

ClassLabel = "melee"
ClassParent = "com_weap_inf_lightsaber"

[Properties]

ExplosionName = "rep_mace_groundcrack_exp"
//SmashEffect = "com_sfx_groundcrack"

GeometryName = "rep_weap_inf_lightsabre"
ComboAnimationBank = "human_sabre melee rep_hero_macewindu"

FirePointName = "hp_fire"
LightSaberLength = "1.0"
LightSaberWidth = "0.08"
LightSaberTexture = "violetlightsaber"
LightSaberTrailColor = "189 7 255 128"
See?
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

Re: Hero Groundcrack help

Post by Cerfon Rournes »

AQT wrote:That's the explosion ODF. Fiodis was referring to the lightsaber ODF. That's where you reference the explosion ODF in order for it to work.
Hidden/Spoiler:
[WeaponClass]

ClassLabel = "melee"
ClassParent = "com_weap_inf_lightsaber"

[Properties]

ExplosionName = "rep_mace_groundcrack_exp"
//SmashEffect = "com_sfx_groundcrack"

GeometryName = "rep_weap_inf_lightsabre"
ComboAnimationBank = "human_sabre melee rep_hero_macewindu"

FirePointName = "hp_fire"
LightSaberLength = "1.0"
LightSaberWidth = "0.08"
LightSaberTexture = "violetlightsaber"
LightSaberTrailColor = "189 7 255 128"
See?
K, I added that to my lightsaber odf:
Hidden/Spoiler:
[WeaponClass]

ClassLabel = "melee"
ClassParent = "com_weap_inf_lightsaber"

[Properties]

ExplosionName = "rep_mace_groundcrack_exp"
//SmashEffect = "com_sfx_groundcrack"

GeometryName = "all_weap_inf_lightsabre"
ComboAnimationBank = "human_sabre melee all_hero_luke_jedi"

FirePointName = "hp_fire"
LightSaberLength = "1.0"
LightSaberWidth = "0.08"
LightSaberTexture = "greenlightsabre"
LightSaberTrailColor = "82 255 7 128"
And...It did not work :( Here is The My jedi's combo file, edited:
Hidden/Spoiler:
[img]OffhandAnimation("stand_useforce", "FIRE")
{
Loop("FinalFrame");
AimType("Torso");
BlendInTime(0.15);
BlendOutTime(0.15);
}
OffhandAnimation("stand_useforce", "FIRE2");
OffhandAnimation("stand_useforce", "CHARGE");

Animation("stand_attack1a_end");
Animation("stand_attack1b");
//Animation("stand_attack1a_upper")
//{
// AimType("Torso");
// BlendInTime(0.0);
// BlendOutTime(0.15);
// BlendTimeTo("stand_attack1a_end", 0.0);
// BlendTimeTo("stand_attack1b", 0.0);
//}
//Animation("stand_attack1a_lower")
//{
// BlendInTime(0.15);
// BlendOutTime(0.15);
// BlendTimeTo("stand_attack1a_end", 0.0);
// BlendTimeTo("stand_attack1b", 0.0);
//}

// Throw stuff....
ThrowAnimation("stand_throw");

State("CATCH_SABRE")
{
Posture("Stand");
// Sound("saber_catch");
Animation("stand_catch")
{
AimType("None");
BlendOutTime(0.2);
}

InputLock("All", "!Thrust");
AlignedToThrust();
}

State("IDLE")
{
Duration(0.0); // infinite duration
EnergyRestoreRate(); // (0.0, "FromSoldier")
InputLock(0.15, "Sprint", "Jump", "Crouch");

Transition("DEFLECT")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Energy(">=", 2.5); // at least half a second worth of deflect time
Button("FireSecondary", "Press");
}
}
Transition("BACK_ATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Press");
Thrust(">", 0.25);
ThrustAngle(135, 225);
}
}
Transition("ATTACK1")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Press");
}
}
Transition("DASHATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Sprint");
Button("Fire", "Press");
}
}
Transition("JUMPATTACK_FALL")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Jump", "Jet");
//The following should be true during a jetjump, jump, or fall
// unless we're more than 0.35 seconds from the apex
//NOTE: This may not allow luke to jump attack during longer falls
// or falling from a force jump when it could.
//VelocityY(">", -6.3);
Button("Fire", "Press");
}
}
}

State("DEFLECT")
{
Posture("Stand");
Sound("imp_weap_lightsabre_block");
Animation("stand_block_idle")
{
Loop();
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
LowResPose(0, "Frames");
}

Duration(0.0); // infinite duration, looping anim

InputLock(0.0, "All", "!Thrust"); // lock all but move controller for duration of state
EnergyRestoreRate(-10.0); // drain energy while ready to deflect
Deflect()
{
DeflectAngle(-110, 110); // deflect anything from forward arc
EnergyCost(0.0);

DeflectAnimation("stand_block_front1", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_front2", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_left1", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_left2", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_right1", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("stand_block_right2", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
}

Transition("ATTACK1")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Fire", "Press");
}
}
Transition("DEFLECT_ROLL") // same as the code checking for rolling
{
EnergyCost(25.0);
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Crouch", "Press");
Thrust(">", 0.9);
ThrustAngle(-120, 120);
}
}
Transition("DEFLECT_CROUCH")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Crouch", "Press");
}
}
Transition("DEFLECT_JUMP")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Jump", "Press");
}
}
Transition("DEFLECT_SPRINT")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Button("Sprint", "Down");
}
}
Transition("IDLE")
{
If()
{
Break();
Energy("<=", 0.0); // if no energy left
}
Or()
{
Break(20, "Frames"); // all transitions are breaking if Duration is 0
Button("FireSecondary", "Press");
}
Or()
{
Break(); // all transitions are breaking if Duration is 0
Button("Reload", "Press");
}
}
}

State("DEFLECT_JUMP")
{
Posture("Jump");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_CROUCH")
{
Posture("Crouch");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_ROLL")
{
Posture("Roll");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("DEFLECT_SPRINT")
{
Posture("Sprint");

MustShowOneFrame();

Transition("IDLE")
{
If()
{
Break(1, "Frames");
}
}
}

State("BACK_ATTACK")
{
Posture("Stand");
Animation("stand_attack_backwards")
{
BlendInTime(0.15);
BlendOutTime(0.15);
}
Sound("saber_swing");

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
Edge(0);
DamageTime(5, 10, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(4.0);
}

Attack()
{
Edge(0);
DamageTime(14, 20, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(4.0);
}

Attack()
{
Edge(1);
DamageTime(5, 8, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(4.0);
}

Transition("IDLE")
{
If()
{
Break(25, "Frames");
}
}
}

//Forward declare animations to allow BlendTimeTo references:
Animation("stand_attack1b_end");
Animation("stand_attack1c");

State("ATTACK1")
{
Posture("Stand");
Animation("stand_attack1a")
{
BlendInTime(0.1); // was 0.5
AimType("None");
}

Sound("saber_attack_three");

InputLock("All", "!Thrust");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(5.0);
}

AlignedToThrust();

Attack()
{
Edge(1);
DamageTime(2, 7, "Frames");
DamageLength(1.5);
DamageWidth(.95);
Damage(400);
Push(3.0);
}
Attack()
{
Edge(0);
DamageTime(13, 17, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}
Attack()
{
Edge(1);
DamageTime(13, 17, "Frames");
DamageLength(1.5);
DamageWidth(.95);
Damage(300);
Push(3.0);
}

Transition("ATTACK1_WINDDOWN")
{
If()
{
TimeStart(9, "Frames");
TimeEnd(22, "Frames"); //, "SyncIfOvertime");
Posture("Stand");
Button("Fire", "Press");
}
}
Transition("RECOVER1");
}

State("RECOVER1")
{
Posture("Stand");
Animation("stand_attack1a_end")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE");
}

State("ATTACK1_WINDDOWN")
{
Posture("Stand");
Animation("stand_attack1a_end")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

AlignedToThrust();
InputLock("All", "!Thrust");

Transition("ATTACK2")
{
If()
{
Break(0.2); // break out after 0.2 seconds
}
}
}

State("ATTACK2")
{
Posture("Stand");
Animation("stand_attack1b")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1b_end", 0.0);
BlendTimeTo("stand_attack1c", 0.0);
BlendTimeTo("stand_attack1a", 0.25);
}
Sound("saber_swing");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(5.0);
}

Duration(12, "Frames");

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
AttackID("A2");
Edge(0);
DamageTime(9, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

// Transition("ATTACK_JUMP")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Jump", "Press");
// }
// }

// Transition("ATTACK3")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Fire", "Press");
// }
// }

// Transition("RECOVER2");

Transition("ATTACK2_LAND");
}

State("ATTACK2_LAND")
{
Posture("Stand");
Animation("stand_attack1b")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1b_end", 0.0);
BlendTimeTo("stand_attack1c", 0.0);
BlendTimeTo("stand_attack1a", 0.25);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
AttackID("A2");
Edge(0);
DamageTime(9, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

Attack()
{
Edge(1);
DamageTime(12, 15, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(3.0);
}

// Transition("ATTACK_JUMP")
// {
// If()
// {
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Jump", "Press");
// }
// }

Transition("ATTACK3")
{
If()
{
TimeStart("-12", "Frames");
TimeEnd(23, "Frames"); //, "SyncIfOvertime");
Posture("Stand");
Button("Fire", "Press");
}
}

Transition("RECOVER2");
}

//State("ATTACK_JUMP")
//{
// Posture("Jump");
// Animation("jump_backward");
// AnimatedMove() // animation controls velocity for entire state
// {
// VelocityZ(-8.0);
// VelocityX(0.0);
// VelocityFromThrust(0.0);
// VelocityFromStrafe(3.0);
// }
//
// InputLock("All", "!Strafe");
// AlignedToThrust();
//
// Transition("JUMPATTACK_FALL2")
// {
// If()
// {
// Break(10, "Frames");
// Button("Fire", "Press");
// }
// }
//
// Transition("IDLE")
// {
// If()
// {
// Break(10, "Frames");
// Posture("Any", "!Jump", "!Jet");
// }
// }
//}

State("RECOVER2")
{
Posture("Stand");
Animation("stand_attack1b_end")
{
// SyncType("attack1c", "ByTime");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(1.0);
VelocityFromStrafe(1.0);
}

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE");
}

State("ATTACK3")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("Torso");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1c", 0.5);
}
Sound("saber_triple");

//set a duration so we will go to state _LAND before the animation ends
Duration(19, "Frames");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(3.0);
}
AlignedToThrust();

StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
Edge(1);
DamageTime(5, 9, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-1");
Edge(1);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

Transition("ATTACK3_LAND");
}

State("ATTACK3_LAND")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("Torso");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1c", 0.5);
}

//set a duration so we will go to state RECOVER3 before the animation ends
Duration(30, "Frames");
AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}
AlignedToThrust();

//StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-1");
Edge(1);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

//Transition("DASHATTACK")
//{
// If()
// {
// Break(25, "Frames");
// TimeStart(0.0);
// TimeEnd(0.25, "FromEnd"); //, "SyncIfOvertime");
// Posture("Stand");
// Button("Fire", "Press");
// }
//}

Transition("RECOVER3");
}

State("RECOVER3")
{
Posture("Stand");
Animation("stand_attack1c");

InputLock("All", "!Thrust");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}

AlignedToThrust();

Transition("IDLE");
}

State("DASHATTACK")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
BlendOutTime(0.25);
}
Sound("saber_triple");

Duration(20, "Frames");
AnimatedMove()
{
VelocityZ(11.0);
VelocityX(0.0);
VelocityFromThrust(5.0);
VelocityFromStrafe(1.0);
}
TurnFactor(0.3);

InputLock("All", "!Thrust");

Deflect()
{
DeflectAngle(-140, 140); // deflect anything from forward arc
EnergyCost(2.0);
}

Attack()
{
Edge(0);
DamageTime(4, 8, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}
Attack()
{
Edge(0);
DamageTime(10, 16, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}


Attack()
{
Edge(1);
DamageTime(6, 17, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}
Attack()
{
AttackID("Dash_RA1");
Edge(0);
DamageTime(16, 22, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}

Transition("DASHATTACK_LAND");
}

State("DASHATTACK_LAND")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
//BlendOutTime(0.10);
}

Sound("saber_throw"); // the sound, that is

AnimatedMove()
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(0.5);
VelocityFromStrafe(0.5);
}
TurnFactor(0.3);
Duration(32, "Frames");

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash_RA1");
Edge(0);
DamageTime(16, 22, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(500);
Push(4.0);
}

Attack()
{
AttackID("Dash_end_twirl");
Edge(0);
DamageTime(28, 40, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(4.0);
}


Transition("DASHATTACK_RECOVER");
}

State("DASHATTACK_RECOVER")
{
Posture("Stand");
Animation("stand_dashattack")
{
AimType("FullBody");
BlendInTime(0.10);
//BlendOutTime(0.10);
}

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash_end_twirl");
Edge(0);
DamageTime(28, 40, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(300);
Push(4.0);
}

Transition("IDLE");
}

// forward declare jumpattack_land, since jumpattack_fall refers to it:
Animation("jumpattack_land");

State("JUMPATTACK_FALL")
{
Posture("Jump");
Animation("jumpattack_fall")
{
Loop("FinalFrame");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}
Sound("saber_double");

Gravity(2.0);
GravityVelocityTarget(-20.0); // accelerate us to 20m/s down at 2 g's
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("JUMPATTACK_END")
}

// from ATTACK_JUMP only
State("JUMPATTACK_FALL2")
{
Posture("Jump");
Animation("jumpattack_fall")
{
Loop("FinalFrame");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}
AnimatedMove()
{
VelocityZ(150.0);
VelocityX(0.0);
VelocityFromThrust(0.0);
VelocityFromStrafe(1.0);
}
TurnFactor(0.3);

Sound("saber_swing");

Gravity(0.3);
GravityVelocityTarget(-2.5, "Impulse", "ZeroGravity"); // accelerate us immediately

InputLock("All", "!Strafe"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(2, 22, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("JUMPATTACK_END")
}

State("JUMPATTACK_END")
{
Posture("Jump");
Animation("jumpattack_end")
{
AimType("None");
SyncType("jumpattack_land", "ByTime");
BlendInTime(0.15);
BlendOutTime(0.80);
// BlendTimeTo("jumpattack_land", 0.15);
}

Sound("saber_swing");

Gravity(2.0);
GravityVelocityTarget(-20.0); // accelerate us to 20m/s down at 2 g's
Duration(15, "Frames");
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
Edge(0);
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}
Attack()
{
Edge(1);
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
}

State("JUMPATTACK_LAND")
{
Posture("Stand");

Animation("jumpattack_land")
{
AimType("FullBody");
//SyncType("jumpattack_land", "ByTime");
BlendInTime(0.00);
BlendOutTime(0.20);
}

Attack()
{
AttackID("Earthquake");
DamageTime(0, 4, "Frames");
DamageLength(1.0);
DamageWidth(0.5);
Damage(1200);
}

RestartAnimation();
Duration(4, "Frames");

EnergyRestoreRate(0.0);

AnimatedMove();
InputLock("All");

Transition("JUMPATTACK_LAND2");
}

State("JUMPATTACK_LAND2")
{
Posture("Stand");

Attack()
{
AttackID("Earthquake");
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.5);
Damage(0);
}


Animation("jumpattack_land")
{
AimType("FullBody");
//SyncType("jumpattack_land", "ByTime");
BlendInTime(0.00);
BlendOutTime(0.20);
}

EnergyRestoreRate(0.0);

PlayExplosion(); // yep...

AnimatedMove();
InputLock("All");
}[/img]
AQT
Gametoast Staff
Gametoast Staff
Posts: 4910
Joined: Sat Nov 03, 2007 4:55 pm
Location: SoCal, USA

Re: Hero Groundcrack help

Post by AQT »

It will only work if your explosion ODF is named rep_mace_groundcrack_exp. Is it? And the changes you made to the .combo are what?
User avatar
Cerfon Rournes
Master Bounty Hunter
Master Bounty Hunter
Posts: 1558
Joined: Thu Jul 08, 2010 5:53 pm
Projects :: WIP. I will reveal what it is later on..
Games I'm Playing :: SWBF2-SWRC
xbox live or psn: No gamertag set
Location: New York, USA
Contact:

Re: Hero Groundcrack help

Post by Cerfon Rournes »

AQT wrote:It will only work if your explosion ODF is named rep_mace_groundcrack_exp. Is it? And the changes you made to the .combo are what?
Yes, It is named "rep_mace_groundcrack_exp"
The changes:
Hidden/Spoiler:
Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
}

State("JUMPATTACK_LAND")
{
Posture("Stand");

Animation("jumpattack_land")
{
AimType("FullBody");
//SyncType("jumpattack_land", "ByTime");
BlendInTime(0.00);
BlendOutTime(0.20);
}

Attack()
{
AttackID("Earthquake");
DamageTime(0, 4, "Frames");
DamageLength(1.0);
DamageWidth(0.5);
Damage(1200);
}

RestartAnimation();
Duration(4, "Frames");

EnergyRestoreRate(0.0);

AnimatedMove();
InputLock("All");

Transition("JUMPATTACK_LAND2");
}

State("JUMPATTACK_LAND2")
{
Posture("Stand");

Attack()
{
AttackID("Earthquake");
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.5);
Damage(0);
}


Animation("jumpattack_land")
{
AimType("FullBody");
//SyncType("jumpattack_land", "ByTime");
BlendInTime(0.00);
BlendOutTime(0.20);
}

EnergyRestoreRate(0.0);

PlayExplosion(); // yep...

AnimatedMove();
InputLock("All");
}
All of that was taken from Mace's combo. file
*EDIT*
I changed my hero to Mace, and kept the same msh. Didn't work :? Then, i changed this line in my all_weap_lightsaber:
Hidden/Spoiler:
ComboAnimationBank = "human_sabre melee all_hero_luke_jedi"
To..
Hidden/Spoiler:
ComboAnimationBank = "human_sabre melee rep_hero_macewindu"
And...... It worked! :D :yes: [Solved!]
Post Reply