Stamina

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
REivEN
1st Lieutenant
1st Lieutenant
Posts: 451
Joined: Wed Jul 04, 2007 11:59 am
Projects :: Jane - Sister Of the Courier Mod
Games I'm Playing :: CSGO FNV
xbox live or psn: No gamertag set
Location: What do you expect?

Stamina

Post by REivEN »

Can please someone tell me what exactly do i need to change in the combo file so that the stamina never decreases when your are blocking shots...
MetalcoreRancor
Brigadier General
Brigadier General
Posts: 628
Joined: Thu Jun 07, 2007 11:13 am
Projects :: No Mod project currently.
Games I'm Playing :: swbf origin
xbox live or psn: No gamertag set

Re: Stamina

Post by MetalcoreRancor »

For the purposes of this demonstration I will use Maul's combo.

In the Deflect state, look here. This line means it subtracts 10 energy from the bar. In the code below I have edited this line so it is 0.0, but you can do the same to your own without my help.

EnergyRestoreRate(-10.0); // drain energy while ready to deflect
Hidden/Spoiler:
[code]OffhandAnimation("stand_useforce", "FIRE")
{
Loop("FinalFrame");
AimType("Torso");
BlendInTime(0.15);
BlendOutTime(0.15);
}
OffhandAnimation("stand_useforce", "FIRE2");
OffhandAnimation("stand_useforce", "CHARGE");

// 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
//// This is the line here.
EnergyRestoreRate(0.1); // drain energy while ready to deflect /////
Deflect()
{
DeflectAngle(-60, 60); // 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(400);
Push(6.0);
}

Attack()
{
Edge(1);
DamageTime(5, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(6.0);
}

Transition("IDLE");
}

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

State("ATTACK1")
{
Posture("Stand");
Animation("stand_attack1a_upper")
{
AimType("None");
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);
}
Sound("saber_swing");

// AnimatedMove();

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
Edge(0);
DamageTime(4, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(150);
Push(3.0);
}
Attack()
{
Edge(1);
DamageTime(5, 11, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(150);
Push(3.0);
}

Transition("ATTACK2")
{
If()
{
Break(12, "Frames");
TimeStart(5, "Frames");
TimeEnd(14, "Frames");
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);
}

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

Transition("IDLE");
}

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);
}
Sound("saber_swing");

// AnimatedMove();

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
Edge(1);
DamageTime(3, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(3.0);
}
Attack()
{
Edge(0);
DamageTime(4, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(3.0);
}

Transition("ATTACK3")
{
If()
{
TimeStart(4, "Frames");
TimeEnd(14, "Frames"); //, "SyncIfOvertime");
Posture("Stand");
Button("Fire", "Press");
}
}
Transition("RECOVER2");
}

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

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

Transition("IDLE");
}

State("ATTACK3")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
}
Sound("com_weap_throw", 6, "Frames");

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

StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust"); // lock all controls for duration of state
Attack()
{
Edge(0);
DamageTime(5, 16, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(3.0);
}
Attack()
{
Edge(1);
DamageTime(5, 16, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(3.0);
}
Attack()
{
Edge(2); // left foot
DamageTime(18, 22, "Frames");
DamageWidth(0.4);
Damage(50);
Push(10.0);
}

Transition("ATTACK3-B")
{
If()
{
Break(26, "Frames");
TimeStart(5, "Frames");
TimeEnd(0.5, "FromEnd");
Posture("Stand");
Button("Fire", "Hold");
}
}

Transition("ATTACK3_LAND");
}

State("ATTACK3_LAND")
{
Posture("Stand");
Animation("stand_attack1c")
{
// SyncType("attack1c", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
}
Sound("saber_swing");

AlignedToThrust();

TurnFactor(0.3);

InputLock("All", "!Thrust"); // lock all controls for duration of state

Attack()
{
Edge(0);
DamageTime(27, 35, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(10.0);
}
Attack()
{
Edge(1);
DamageTime(30, 35, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(10.0);
}

Transition("RECOVER3");
}

State("ATTACK3-B")
{
Posture("Stand");
Animation("stand_attack2c")
{
// SyncType("attack1c", "ByTime");
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
}
Sound("saber_triple", 6, "Frames");

AlignedToThrust();

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

InputLock("All", "!Thrust"); // lock all controls for duration of state
Attack()
{
Edge(0);
DamageTime(2, 36, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(10.0);
}
Attack()
{
Edge(1);
DamageTime(2, 36, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(10.0);
}

Transition("IDLE");
}

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

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

Transition("IDLE");
}

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

EnergyRestoreRate(0);

AnimatedMove()
{
VelocityZ(15.0);
VelocityFromThrust(5.0);
If()
{
Break(27, "Frames");
}
}
TurnFactor(0.3);

InputLock("All", "!Thrust");
Attack()
{
Edge(0);
DamageTime(2, 26, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.0);
}
Attack()
{
Edge(1);
DamageTime(2, 26, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.0);
}

Transition("IDLE");
{
If()
{
Break(30, "Frames");
ButtonsPressed("Any");
}
}
}

// 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

EnergyRestoreRate(0);

Attack()
{
AttackId("JUMPATTACK_E0");
Edge(0);
DamageTime(0.33, 1.0, "FromAnim");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.0);
}
Attack()
{
AttackId("JUMPATTACK_E1");
Edge(1);
DamageTime(0.33, 1.0, "FromAnim");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.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

EnergyRestoreRate(0);

Attack()
{
AttackId("JUMPATTACK_E0");
Edge(0);
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.0);
}
Attack()
{
AttackId("JUMPATTACK_E1");
Edge(1);
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.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");

EnergyRestoreRate(0);

Attack()
{
AttackId("JUMPATTACK_E0");
Edge(0);
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.0);
}
Attack()
{
AttackId("JUMPATTACK_E1");
Edge(1);
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(5.0);
}

Transition("IDLE")
{
If()
{
Break(0.4);
ButtonsPressed("Any");
}
Or()
{
Break(0.4);
Thrust(">", 0.54);
}
}
}[/code]
User avatar
REivEN
1st Lieutenant
1st Lieutenant
Posts: 451
Joined: Wed Jul 04, 2007 11:59 am
Projects :: Jane - Sister Of the Courier Mod
Games I'm Playing :: CSGO FNV
xbox live or psn: No gamertag set
Location: What do you expect?

Re: Stamina

Post by REivEN »

And where do i need to change that when you are sprinting with the jedi ?
MetalcoreRancor
Brigadier General
Brigadier General
Posts: 628
Joined: Thu Jun 07, 2007 11:13 am
Projects :: No Mod project currently.
Games I'm Playing :: swbf origin
xbox live or psn: No gamertag set

Re: Stamina

Post by MetalcoreRancor »

That my friend is ODF work.

MaxSpeed = 6.5 // base forward speed
MaxStrafeSpeed = 6.5 // base right/left speed
MaxTurnSpeed = 3.0 // base turn speed
JumpHeight = 3.5 // base jump height in meters
JumpForwardSpeedFactor = 1.3 // boost forward part of velocity by this factor when jumping
JumpStrafeSpeedFactor = 1.0 // boost side/backward part of velocity by this factor when jumping
RollSpeedFactor = 1.7 // in forward arc, boost speed by this factor when rolling
Acceleration = 90.0 // accelerate to full run in about 7/70 = 0.1 seconds
JetAcceleration = 20.0 // for characters with jet jump, use this acceleration for in air control
SprintAccelerateTime = 0.05 // accelerate from run to sprint in this time
EnergyDrainSprint = 20.0 // energy spent per second of sprinting
ControlSpeed = "sprint 7.00 0.70 0.70"
User avatar
REivEN
1st Lieutenant
1st Lieutenant
Posts: 451
Joined: Wed Jul 04, 2007 11:59 am
Projects :: Jane - Sister Of the Courier Mod
Games I'm Playing :: CSGO FNV
xbox live or psn: No gamertag set
Location: What do you expect?

Re: Stamina

Post by REivEN »

tx a lot man
MetalcoreRancor
Brigadier General
Brigadier General
Posts: 628
Joined: Thu Jun 07, 2007 11:13 am
Projects :: No Mod project currently.
Games I'm Playing :: swbf origin
xbox live or psn: No gamertag set

Re: Stamina

Post by MetalcoreRancor »

No prob. If you have any more combo editing questions, I'm considering writing up a tutorial on the ins and outs.
User avatar
REivEN
1st Lieutenant
1st Lieutenant
Posts: 451
Joined: Wed Jul 04, 2007 11:59 am
Projects :: Jane - Sister Of the Courier Mod
Games I'm Playing :: CSGO FNV
xbox live or psn: No gamertag set
Location: What do you expect?

Re: Stamina

Post by REivEN »

O and there is one more thing the saber trow doesn't do that damage ho i need
Post Reply