Page 1 of 1

Hero Groundcrack help

Posted: Wed Sep 22, 2010 5:24 pm
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

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 5:32 pm
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.

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 5:37 pm
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?

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 5:41 pm
by Press_Tilty
No idea. I just made the same mistake. Except with units.

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 6:32 pm
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.

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 7:19 pm
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);
}
}
}

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 7:33 pm
by kinetosimpetus
Fiodis wrote:You need to set up an explosion like Mace's saber has. Look in its odf.

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 7:39 pm
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?

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 7:57 pm
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?

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 9:13 pm
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]

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 9:31 pm
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?

Re: Hero Groundcrack help

Posted: Wed Sep 22, 2010 9:48 pm
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!]