Reverted step height.
Made double tap dodge toggleable (and its sensibility configurable). Fixed some long standing bugs with dual enforcers.
This commit is contained in:
parent
459f526e60
commit
793fc320f4
5 changed files with 30 additions and 19 deletions
|
|
@ -195,7 +195,7 @@ Class Enforcer : UTWeapon
|
|||
PSprite psp;
|
||||
for ( psp = Owner.player.psprites; psp; psp = psp.next )
|
||||
{
|
||||
if ( (psp.Caller == self) && (psp.id == 2) ) psp.Destroy();
|
||||
if ( (psp.Caller == self) && ((psp.id == 2) || (psp.id == -9998)) ) psp.Destroy();
|
||||
slaveactive = false;
|
||||
slavedown = false;
|
||||
}
|
||||
|
|
@ -253,12 +253,22 @@ Class Enforcer : UTWeapon
|
|||
if ( !weap || !player ) return;
|
||||
if ( player.cmd.buttons&BT_ATTACK && !player.ReadyWeapon.bAltFire )
|
||||
{
|
||||
if ( flak_enforcerreload && (invoker.slaveclipcount <= 0) && (weap.Ammo1.Amount > 0) )
|
||||
{
|
||||
player.setpsprite(2,ResolveState("LeftReload"));
|
||||
return;
|
||||
}
|
||||
invoker.slaverefire = 0;
|
||||
invoker.slavealtfire = false;
|
||||
player.setpsprite(2,ResolveState("LeftFire"));
|
||||
}
|
||||
else if ( player.cmd.buttons&BT_ALTATTACK && player.ReadyWeapon.bAltFire )
|
||||
{
|
||||
if ( flak_enforcerreload && (invoker.slaveclipcount <= 0) && (weap.Ammo1.Amount > 0) )
|
||||
{
|
||||
player.setpsprite(2,ResolveState("LeftReload"));
|
||||
return;
|
||||
}
|
||||
invoker.slaverefire = 0;
|
||||
invoker.slavealtfire = true;
|
||||
player.setpsprite(2,ResolveState("LeftAltFire"));
|
||||
|
|
@ -455,13 +465,13 @@ Class Enforcer : UTWeapon
|
|||
invoker.slaveactive = false;
|
||||
A_Overlay(2,"LeftDeselect");
|
||||
}
|
||||
else if ( flak_enforcerreload && (invoker.slavereload || (invoker.slaveclipcount < 0)) ) A_Overlay(2,"LeftReload");
|
||||
else if ( flak_enforcerreload && invoker.slavereload ) A_Overlay(2,"LeftReload");
|
||||
else if ( invoker.slavedown ) A_Overlay(2,"LeftDeselect");
|
||||
else A_LeftWeaponReady();
|
||||
}
|
||||
Wait;
|
||||
Fire:
|
||||
ENFF A 0 A_Overlay(-9999,"Null");
|
||||
ENFF A 0 A_Overlay(-9999,null);
|
||||
Hold:
|
||||
ENFF A 0 A_EnforcerFire();
|
||||
ENFF ABCDEFGHIJ 1;
|
||||
|
|
@ -471,7 +481,7 @@ Class Enforcer : UTWeapon
|
|||
ENFI A 0;
|
||||
Goto Idle;
|
||||
LeftFire:
|
||||
2NFI A 0 A_Overlay(-9998,"Null");
|
||||
2NFI A 0 A_Overlay(-9998,null);
|
||||
2NFI A 5;
|
||||
2NFI A 0 A_EnforcerRefire(1,true);
|
||||
Goto LeftIdle;
|
||||
|
|
@ -484,7 +494,7 @@ Class Enforcer : UTWeapon
|
|||
2NFI A 0;
|
||||
Goto LeftIdle;
|
||||
AltFire:
|
||||
ENFA A 0 A_Overlay(-9999,"Null");
|
||||
ENFA A 0 A_Overlay(-9999,null);
|
||||
ENFA ABCDEF 1;
|
||||
AltHold:
|
||||
ENFA G 0 A_EnforcerFire(true);
|
||||
|
|
@ -494,7 +504,7 @@ Class Enforcer : UTWeapon
|
|||
ENFA OPQRSTU 1;
|
||||
Goto Idle;
|
||||
LeftAltFire:
|
||||
2NFI A 0 A_Overlay(-9998,"Null");
|
||||
2NFI A 0 A_Overlay(-9998,null);
|
||||
2NFI A 5;
|
||||
2NFI A 0 A_EnforcerRefire(1,true);
|
||||
Goto LeftIdle;
|
||||
|
|
@ -509,13 +519,14 @@ Class Enforcer : UTWeapon
|
|||
Reload:
|
||||
ENFR A 0
|
||||
{
|
||||
invoker.slavereload = ((player.cmd.buttons&BT_RELOAD)&&(invoker.slaveclipcount < min(20,invoker.Ammo1.Amount)))||(invoker.slaveclipcount <= 0);
|
||||
invoker.slavereload = ((player.cmd.buttons&BT_RELOAD)&&invoker.slaveactive&&(invoker.slaveclipcount < min(20,invoker.Ammo1.Amount)))||(invoker.slaveclipcount <= 0);
|
||||
return A_JumpIf(invoker.clipcount>=min(20,invoker.Ammo1.Amount),"Idle");
|
||||
}
|
||||
ENFR A 0
|
||||
{
|
||||
invoker.clipcount = Min(20,invoker.Ammo1.Amount);
|
||||
A_Overlay(-9999,"Null");
|
||||
A_Overlay(-9999,null);
|
||||
A_WeaponOffset(0,32); // fix sudden psprite lowering
|
||||
A_PlaySound("enforcer/click",CHAN_WEAPON);
|
||||
}
|
||||
ENFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||
|
|
@ -528,7 +539,7 @@ Class Enforcer : UTWeapon
|
|||
{
|
||||
invoker.slaveclipcount = Min(20,invoker.Ammo1.Amount);
|
||||
invoker.slavereload = false;
|
||||
A_Overlay(-9998,"Null");
|
||||
A_Overlay(-9998,null);
|
||||
A_PlaySound("enforcer/click",CHAN_6);
|
||||
}
|
||||
2NFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||
|
|
@ -538,7 +549,7 @@ Class Enforcer : UTWeapon
|
|||
Goto LeftReady;
|
||||
Deselect:
|
||||
ENFI A 1 { invoker.slavedown = true; }
|
||||
ENFD A 0 A_Overlay(-9999,"Null");
|
||||
ENFD A 0 A_Overlay(-9999,null);
|
||||
ENFD A 0 A_JumpIf(invoker.slaveactive,"Deselect");
|
||||
ENFD ABDEGHJK 1;
|
||||
ENFD L 1 A_Lower(int.max);
|
||||
|
|
@ -546,7 +557,7 @@ Class Enforcer : UTWeapon
|
|||
LeftDeselect:
|
||||
2NFD A 0
|
||||
{
|
||||
A_Overlay(-9998,"Null");
|
||||
A_Overlay(-9998,null);
|
||||
invoker.slaveactive = false;
|
||||
}
|
||||
2NFD ABDEGHJK 1;
|
||||
|
|
|
|||
|
|
@ -43,8 +43,6 @@ Class UTPlayer : DoomPlayer
|
|||
Player.DamageScreenColor "FF 00 00";
|
||||
Player.ViewHeight 46;
|
||||
Player.GruntSpeed 20;
|
||||
MaxDropoffHeight 18;
|
||||
MaxStepHeight 18;
|
||||
+NOMENU;
|
||||
UTPlayer.DollType DOLL_Male;
|
||||
}
|
||||
|
|
@ -286,7 +284,7 @@ Class UTPlayer : DoomPlayer
|
|||
if ( fm )
|
||||
{
|
||||
int clk = abs(gametic-last_fm_tap);
|
||||
if ( (clk < 8) && (last_fm*fm == 0) && (last_tap_fm*fm>0) )
|
||||
if ( (clk < flak_taptics) && (last_fm*fm == 0) && (last_tap_fm*fm>0) )
|
||||
dodge += RotateVector((fm,0),angle).unit();
|
||||
if ( !last_fm && (last_jump_held < gametic-1) )
|
||||
{
|
||||
|
|
@ -298,7 +296,7 @@ Class UTPlayer : DoomPlayer
|
|||
if ( sm )
|
||||
{
|
||||
int clk = abs(gametic-last_sm_tap);
|
||||
if ( (clk < 8) && (last_sm*sm == 0) && (last_tap_sm*sm>0) )
|
||||
if ( (clk < flak_taptics) && (last_sm*sm == 0) && (last_tap_sm*sm>0) )
|
||||
dodge += RotateVector((0,-sm),angle).unit();
|
||||
if ( !last_sm && (last_jump_held < gametic-1) )
|
||||
{
|
||||
|
|
@ -309,7 +307,7 @@ Class UTPlayer : DoomPlayer
|
|||
last_sm = sm;
|
||||
if ( !bNoGravity && player.onground && (waterlevel < 2) )
|
||||
{
|
||||
if ( dodge.length() > 0 )
|
||||
if ( flak_tapdodge && (dodge.length() > 0) )
|
||||
{
|
||||
if ( flak_doomspeed ) vel += dodge.unit()*(groundspeed_doomish*1.5)/TICRATE;
|
||||
else vel += dodge.unit()*(groundspeed*1.5)/TICRATE;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue