Achievement cleanup.

This commit is contained in:
Mari the Deer 2021-03-24 03:05:04 +01:00
commit 5316a63ed9
9 changed files with 57 additions and 269 deletions

View file

@ -87,6 +87,9 @@ extend Class SWWMHandler
// beat the par time?
if ( level.partime && (Thinker.Tics2Seconds(level.maptime) <= level.partime) )
SWWMUtility.AchievementProgressInc('swwm_progress_par',1,players[consoleplayer]);
// one standing?
if ( (level.total_monsters-level.killed_monsters) == 1 )
SWWMUtility.MarkAchievement('swwm_achievement_onestanding',players[consoleplayer]);
}
private void SetupLockdefsCache( SWWMCachedLockInfo cli )

View file

@ -5,7 +5,6 @@ const SA_GCSANDWICH = 25;
const SA_GHOST = 25;
const SA_ALLITEMS = 30;
const SA_CONGA = 15;
const SA_EXPLOGUN = 7;
const SA_GRAVITY = 25;
const SA_FLIGHT = 2000;
const SA_PAR = 30;
@ -114,14 +113,12 @@ extend Class SWWMStaticHandler
static const Name vars[] =
{
'swwm_achievement_gcsandwich',
'swwm_achievement_hdoom',
'swwm_achievement_onestanding',
'swwm_achievement_oopsie',
'swwm_achievement_ghost',
'swwm_achievement_clonk',
'swwm_achievement_allitems',
'swwm_achievement_conga',
'swwm_achievement_explogun',
'swwm_achievement_gravity',
'swwm_achievement_flight',
'swwm_achievement_cliffyb',
@ -134,11 +131,9 @@ extend Class SWWMStaticHandler
'swwm_achievement_sneeze',
'swwm_achievement_fuel',
'swwm_achievement_slayer',
'swwm_achievement_broccolidoccoli',
'swwm_achievement_dime',
'swwm_achievement_stomp',
'swwm_achievement_cheat',
'swwm_achievement_god',
'swwm_achievement_thruwall',
'swwm_achievement_mashiro',
'swwm_achievement_lead',
@ -189,26 +184,18 @@ extend Class SWWMStaticHandler
'swwm_achievement_bonk',
'swwm_achievement_anom',
'swwm_achievement_anone',
'swwm_achievement_tetris',
'swwm_achievement_pong',
'swwm_achievement_snake',
'swwm_achievement_smb',
'swwm_achievement_tyrian',
'swwm_achievement_bof',
'swwm_achievement_wantdie'
};
// localized name
static const String names[] =
{
"$SWWM_ACHIEVEMENT_GCSANDWICH",
"$SWWM_ACHIEVEMENT_HDOOM",
"$SWWM_ACHIEVEMENT_ONESTANDING",
"$SWWM_ACHIEVEMENT_OOPSIE",
"$SWWM_ACHIEVEMENT_GHOST",
"$SWWM_ACHIEVEMENT_CLONK",
"$SWWM_ACHIEVEMENT_ALLITEMS",
"$SWWM_ACHIEVEMENT_CONGA",
"$SWWM_ACHIEVEMENT_EXPLOGUN",
"$SWWM_ACHIEVEMENT_GRAVITY",
"$SWWM_ACHIEVEMENT_FLIGHT",
"$SWWM_ACHIEVEMENT_CLIFFYB",
@ -221,11 +208,9 @@ extend Class SWWMStaticHandler
"$SWWM_ACHIEVEMENT_SNEEZE",
"$SWWM_ACHIEVEMENT_FUEL",
"$SWWM_ACHIEVEMENT_SLAYER",
"$SWWM_ACHIEVEMENT_BROCCOLIDOCCOLI",
"$SWWM_ACHIEVEMENT_DIME",
"$SWWM_ACHIEVEMENT_STOMP",
"$SWWM_ACHIEVEMENT_CHEAT",
"$SWWM_ACHIEVEMENT_GOD",
"$SWWM_ACHIEVEMENT_THRUWALL",
"$SWWM_ACHIEVEMENT_MASHIRO",
"$SWWM_ACHIEVEMENT_LEAD",
@ -276,26 +261,18 @@ extend Class SWWMStaticHandler
"$SWWM_ACHIEVEMENT_BONK",
"$SWWM_ACHIEVEMENT_ANOM",
"$SWWM_ACHIEVEMENT_ANONE",
"$SWWM_ACHIEVEMENT_TETRIS",
"$SWWM_ACHIEVEMENT_PONG",
"$SWWM_ACHIEVEMENT_SNAKE",
"$SWWM_ACHIEVEMENT_SMB",
"$SWWM_ACHIEVEMENT_TYRIAN",
"$SWWM_ACHIEVEMENT_BOF",
"$SWWM_ACHIEVEMENT_WANTDIE"
};
// has number in txt
static const int number[] =
{
SA_GCSANDWICH,
0, // HDOOM
0, // ONESTANDING
0, // OOPSIE
SA_GHOST,
0, // CLONK
SA_ALLITEMS,
SA_CONGA,
SA_EXPLOGUN,
SA_GRAVITY,
SA_FLIGHT,
0, // CLIFFYB
@ -308,11 +285,9 @@ extend Class SWWMStaticHandler
SA_SNEEZE,
SA_FUEL,
SA_SLAYER,
0, // BROCCOLIDOCCOLI
0, // DIME
SA_STOMP,
0, // CHEAT
0, // GOD
SA_THRUWALL,
0, // MASHIRO
SA_LEAD,
@ -363,26 +338,18 @@ extend Class SWWMStaticHandler
SA_BONK,
SA_ANOM,
0, // ANONE
0, // TETRIS
0, // PONG
0, // SNAKE
0, // SMB
0, // TYRIAN
0, // BOF
0 // WANTDIE
};
// is ignored (hide away achievements that can't be done yet)
static const bool ignoreme[] =
{
false, // GCSANDWICH
false, // HDOOM
false, // ONESTANDING
false, // OOPSIE
false, // GHOST
false, // CLONK
false, // ALLITEMS
false, // CONGA
false, // EXPLOGUN
false, // GRAVITY
false, // FLIGHT
false, // CLIFFYB
@ -395,11 +362,9 @@ extend Class SWWMStaticHandler
false, // SNEEZE
false, // FUEL
false, // SLAYER
false, // BROCCOLIDOCCOLI
false, // DIME
false, // STOMP
false, // CHEAT
false, // GOD
false, // THRUWALL
true, // MASHIRO
false, // LEAD
@ -450,26 +415,18 @@ extend Class SWWMStaticHandler
false, // BONK
false, // ANOM
false, // ANONE
true, // TETRIS
true, // PONG
true, // SNAKE
true, // SMB
true, // TYRIAN
true, // BOF
false // WANTDIE
};
// progress tracking cvar (if any)
static const Name pvar[] =
{
'swwm_progress_gcsandwich',
'None', // HDOOM
'None', // ONESTANDING
'None', // OOPSIE
'swwm_progress_ghost',
'None', // CLONK
'swwm_progress_allitems',
'swwm_progress_conga',
'swwm_progress_explogun',
'swwm_progress_gravity',
'swwm_progress_flight',
'None', // CLIFFYB
@ -482,11 +439,9 @@ extend Class SWWMStaticHandler
'swwm_progress_sneeze',
'swwm_progress_fuel',
'swwm_progress_slayer',
'None', // BROCCOLIDOCCOLI
'None', // DIME
'swwm_progress_stomp',
'None', // CHEAT
'None', // GOD
'swwm_progress_thruwall',
'None', // MASHIRO
'swwm_progress_lead',
@ -537,12 +492,6 @@ extend Class SWWMStaticHandler
'swwm_progress_bonk',
'swwm_progress_anom',
'None', // ANONE
'None', // TETRIS
'None', // PONG
'None', // SNAKE
'None', // SMB
'None', // TYRIAN
'None', // BOF
'None' // WANTDIE
};
bool alldone = true;

View file

@ -356,14 +356,12 @@ Class DemolitionistMenu : GenericMenu
static const Name vars[] =
{
'swwm_achievement_gcsandwich',
'swwm_achievement_hdoom',
'swwm_achievement_onestanding',
'swwm_achievement_oopsie',
'swwm_achievement_ghost',
'swwm_achievement_clonk',
'swwm_achievement_allitems',
'swwm_achievement_conga',
'swwm_achievement_explogun',
'swwm_achievement_gravity',
'swwm_achievement_flight',
'swwm_achievement_cliffyb',
@ -376,11 +374,9 @@ Class DemolitionistMenu : GenericMenu
'swwm_achievement_sneeze',
'swwm_achievement_fuel',
'swwm_achievement_slayer',
'swwm_achievement_broccolidoccoli',
'swwm_achievement_dime',
'swwm_achievement_stomp',
'swwm_achievement_cheat',
'swwm_achievement_god',
'swwm_achievement_thruwall',
'swwm_achievement_mashiro',
'swwm_achievement_lead',
@ -432,26 +428,18 @@ Class DemolitionistMenu : GenericMenu
'swwm_achievement_bonk',
'swwm_achievement_anom',
'swwm_achievement_anone',
'swwm_achievement_tetris',
'swwm_achievement_pong',
'swwm_achievement_snake',
'swwm_achievement_smb',
'swwm_achievement_tyrian',
'swwm_achievement_bof',
'swwm_achievement_wantdie'
};
// localized name
static const String names[] =
{
"$SWWM_ACHIEVEMENT_GCSANDWICH",
"$SWWM_ACHIEVEMENT_HDOOM",
"$SWWM_ACHIEVEMENT_ONESTANDING",
"$SWWM_ACHIEVEMENT_OOPSIE",
"$SWWM_ACHIEVEMENT_GHOST",
"$SWWM_ACHIEVEMENT_CLONK",
"$SWWM_ACHIEVEMENT_ALLITEMS",
"$SWWM_ACHIEVEMENT_CONGA",
"$SWWM_ACHIEVEMENT_EXPLOGUN",
"$SWWM_ACHIEVEMENT_GRAVITY",
"$SWWM_ACHIEVEMENT_FLIGHT",
"$SWWM_ACHIEVEMENT_CLIFFYB",
@ -464,11 +452,9 @@ Class DemolitionistMenu : GenericMenu
"$SWWM_ACHIEVEMENT_SNEEZE",
"$SWWM_ACHIEVEMENT_FUEL",
"$SWWM_ACHIEVEMENT_SLAYER",
"$SWWM_ACHIEVEMENT_BROCCOLIDOCCOLI",
"$SWWM_ACHIEVEMENT_DIME",
"$SWWM_ACHIEVEMENT_STOMP",
"$SWWM_ACHIEVEMENT_CHEAT",
"$SWWM_ACHIEVEMENT_GOD",
"$SWWM_ACHIEVEMENT_THRUWALL",
"$SWWM_ACHIEVEMENT_MASHIRO",
"$SWWM_ACHIEVEMENT_LEAD",
@ -520,26 +506,18 @@ Class DemolitionistMenu : GenericMenu
"$SWWM_ACHIEVEMENT_BONK",
"$SWWM_ACHIEVEMENT_ANOM",
"$SWWM_ACHIEVEMENT_ANONE",
"$SWWM_ACHIEVEMENT_TETRIS",
"$SWWM_ACHIEVEMENT_PONG",
"$SWWM_ACHIEVEMENT_SNAKE",
"$SWWM_ACHIEVEMENT_SMB",
"$SWWM_ACHIEVEMENT_TYRIAN",
"$SWWM_ACHIEVEMENT_BOF",
"$SWWM_ACHIEVEMENT_WANTDIE"
};
// has number in txt
static const int number[] =
{
SA_GCSANDWICH,
0, // HDOOM
0, // ONESTANDING
0, // OOPSIE
SA_GHOST,
0, // CLONK
SA_ALLITEMS,
SA_CONGA,
SA_EXPLOGUN,
SA_GRAVITY,
SA_FLIGHT,
0, // CLIFFYB
@ -552,11 +530,9 @@ Class DemolitionistMenu : GenericMenu
SA_SNEEZE,
SA_FUEL,
SA_SLAYER,
0, // BROCCOLIDOCCOLI
0, // DIME
SA_STOMP,
0, // CHEAT
0, // GOD
SA_THRUWALL,
0, // MASHIRO
SA_LEAD,
@ -608,26 +584,18 @@ Class DemolitionistMenu : GenericMenu
SA_BONK,
SA_ANOM,
0, // ANONE
0, // TETRIS
0, // PONG
0, // SNAKE
0, // SMB
0, // TYRIAN
0, // BOF
0 // WANTDIE
};
// is ignored (hide away achievements that can't be done yet)
static const bool ignoreme[] =
{
false, // GCSANDWICH
false, // HDOOM
false, // ONESTANDING
false, // OOPSIE
false, // GHOST
false, // CLONK
false, // ALLITEMS
false, // CONGA
false, // EXPLOGUN
false, // GRAVITY
false, // FLIGHT
false, // CLIFFYB
@ -640,11 +608,9 @@ Class DemolitionistMenu : GenericMenu
false, // SNEEZE
false, // FUEL
false, // SLAYER
false, // BROCCOLIDOCCOLI
false, // DIME
false, // STOMP
false, // CHEAT
false, // GOD
false, // THRUWALL
true, // MASHIRO
false, // LEAD
@ -696,26 +662,18 @@ Class DemolitionistMenu : GenericMenu
false, // BONK
false, // ANOM
false, // ANONE
true, // TETRIS
true, // PONG
true, // SNAKE
true, // SMB
true, // TYRIAN
true, // BOF
false // WANTDIE
};
// progress tracking cvar (if any)
static const Name pvar[] =
{
'swwm_progress_gcsandwich',
'None', // HDOOM
'None', // ONESTANDING
'None', // OOPSIE
'swwm_progress_ghost',
'None', // CLONK
'swwm_progress_allitems',
'swwm_progress_conga',
'swwm_progress_explogun',
'swwm_progress_gravity',
'swwm_progress_flight',
'None', // CLIFFYB
@ -728,11 +686,9 @@ Class DemolitionistMenu : GenericMenu
'swwm_progress_sneeze',
'swwm_progress_fuel',
'swwm_progress_slayer',
'None', // BROCCOLIDOCCOLI
'None', // DIME
'swwm_progress_stomp',
'None', // CHEAT
'None', // GOD
'swwm_progress_thruwall',
'None', // MASHIRO
'swwm_progress_lead',
@ -784,12 +740,6 @@ Class DemolitionistMenu : GenericMenu
'swwm_progress_bonk',
'swwm_progress_anom',
'None', // ANONE
'None', // TETRIS
'None', // PONG
'None', // SNAKE
'None', // SMB
'None', // TYRIAN
'None', // BOF
'None' // WANTDIE
};
achievements.Clear();

View file

@ -420,11 +420,7 @@ Class YnykronImpact : Actor
gc.Amount--;
}
else if ( !tracer.FindInventory("GrilledCheeseSafeguard") )
{
tracer.DamageMobj(self,target,int.max,'Ynykron',DMG_FORCED|DMG_THRUSTLESS);
if ( target && tracer && (tracer.Health > 0) )
SWWMUtility.MarkAchievement('swwm_achievement_god',target.player);
}
if ( tracer && (tracer.Health <= 0) )
{
if ( tracer.player )
@ -2427,11 +2423,7 @@ Class YnykronSingularity : Actor
gc.Amount--;
}
else if ( !a.FindInventory("GrilledCheeseSafeguard") )
{
a.DamageMobj(self,target,int.max,'Ynykron',DMG_FORCED|DMG_THRUSTLESS);
if ( target && a && (a.Health > 0) )
SWWMUtility.MarkAchievement('swwm_achievement_god',target.player);
}
if ( a && (a.Health <= 0) )
{
if ( a.player )

View file

@ -9,8 +9,6 @@ Class ExplodiumGun : SWWMWeapon
double casex, casey;
transient ui TextureID WeaponBox;
transient ui Font TewiFont;
transient Actor deadeye_tgt;
transient int deadeye_cnt;
Property ClipCount : ClipCount;
@ -112,17 +110,6 @@ Class ExplodiumGun : SWWMWeapon
SWWMBulletTrail.DoTrail(self,origin,dir,10000,2);
if ( d.HitType == TRACE_HitActor )
{
if ( invoker.deadeye_tgt && (d.HitActor != invoker.deadeye_tgt) )
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
}
else
{
invoker.deadeye_tgt = d.HitActor;
invoker.deadeye_cnt++;
SWWMUtility.AchievementProgress('swwm_progress_explogun',invoker.deadeye_cnt,player);
}
int dmg = 15;
// might as well apply explosion on top
if ( dmg >= d.HitActor.Health ) dmg += 20;
@ -144,38 +131,33 @@ Class ExplodiumGun : SWWMWeapon
b.pitch = asin(d.HitDir.z);
b.target = self;
}
else
else if ( d.HitType != TRACE_HitNone )
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
if ( d.HitType != TRACE_HitNone )
Vector3 hitnormal = -d.HitDir;
if ( d.HitType == TRACE_HitFloor )
{
Vector3 hitnormal = -d.HitDir;
if ( d.HitType == TRACE_HitFloor )
{
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.top.Normal;
else hitnormal = d.HitSector.floorplane.Normal;
}
else if ( d.HitType == TRACE_HitCeiling )
{
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.bottom.Normal;
else hitnormal = d.HitSector.ceilingplane.Normal;
}
else if ( d.HitType == TRACE_HitWall )
{
hitnormal = (-d.HitLine.delta.y,d.HitLine.delta.x,0).unit();
if ( !d.LineSide ) hitnormal *= -1;
}
let p = Spawn("SWWMBulletImpact",d.HitLocation+hitnormal*0.01);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
if ( d.HitLine ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation);
let b = Spawn("ExplodiumBulletImpact",d.HitLocation+hitnormal*4.);
b.angle = atan2(hitnormal.y,hitnormal.x);
b.pitch = asin(-hitnormal.z);
b.target = self;
if ( swwm_omnibust ) BusterWall.BustLinetrace(d,50,self,d.HitDir,d.HitLocation.z);
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.top.Normal;
else hitnormal = d.HitSector.floorplane.Normal;
}
else if ( d.HitType == TRACE_HitCeiling )
{
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.bottom.Normal;
else hitnormal = d.HitSector.ceilingplane.Normal;
}
else if ( d.HitType == TRACE_HitWall )
{
hitnormal = (-d.HitLine.delta.y,d.HitLine.delta.x,0).unit();
if ( !d.LineSide ) hitnormal *= -1;
}
let p = Spawn("SWWMBulletImpact",d.HitLocation+hitnormal*0.01);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
if ( d.HitLine ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation);
let b = Spawn("ExplodiumBulletImpact",d.HitLocation+hitnormal*4.);
b.angle = atan2(hitnormal.y,hitnormal.x);
b.pitch = asin(-hitnormal.z);
b.target = self;
if ( swwm_omnibust ) BusterWall.BustLinetrace(d,50,self,d.HitDir,d.HitLocation.z);
}
for ( int i=0; i<6; i++ )
{
@ -301,12 +283,7 @@ Class ExplodiumGun : SWWMWeapon
XZW1 A -1;
Stop;
Select:
XZW2 B 2
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
A_FullRaise();
}
XZW2 B 2 A_FullRaise();
XZW2 CDEFGH 2;
Goto Ready;
Ready:
@ -371,8 +348,6 @@ Class ExplodiumGun : SWWMWeapon
Reload:
XZW2 A 1
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
if ( invoker.clipcount >= invoker.default.clipcount ) return ResolveState("CheckBullet");
A_PlayerReload();
if ( invoker.clipcount <= 0 ) return ResolveState("ReloadEmpty");
@ -480,8 +455,6 @@ Class DualExplodiumGun : SWWMWeapon
double casex, casey, lcasex, lcasey;
transient ui TextureID WeaponBox;
transient ui Font TewiFont;
transient Actor deadeye_tgt;
transient int deadeye_cnt;
Property ClipCount : ClipCount;
@ -579,17 +552,6 @@ Class DualExplodiumGun : SWWMWeapon
SWWMBulletTrail.DoTrail(self,origin,dir,10000,2);
if ( d.HitType == TRACE_HitActor )
{
if ( invoker.deadeye_tgt && (d.HitActor != invoker.deadeye_tgt) )
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
}
else
{
invoker.deadeye_tgt = d.HitActor;
invoker.deadeye_cnt++;
SWWMUtility.AchievementProgress('swwm_progress_explogun',invoker.deadeye_cnt,player);
}
int dmg = 15;
// might as well apply explosion on top
if ( dmg >= d.HitActor.Health ) dmg += 20;
@ -611,38 +573,33 @@ Class DualExplodiumGun : SWWMWeapon
b.pitch = asin(d.HitDir.z);
b.target = self;
}
else
else if ( d.HitType != TRACE_HitNone )
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
if ( d.HitType != TRACE_HitNone )
Vector3 hitnormal = -d.HitDir;
if ( d.HitType == TRACE_HitFloor )
{
Vector3 hitnormal = -d.HitDir;
if ( d.HitType == TRACE_HitFloor )
{
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.top.Normal;
else hitnormal = d.HitSector.floorplane.Normal;
}
else if ( d.HitType == TRACE_HitCeiling )
{
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.bottom.Normal;
else hitnormal = d.HitSector.ceilingplane.Normal;
}
else if ( d.HitType == TRACE_HitWall )
{
hitnormal = (-d.HitLine.delta.y,d.HitLine.delta.x,0).unit();
if ( !d.LineSide ) hitnormal *= -1;
}
let p = Spawn("SWWMBulletImpact",d.HitLocation+hitnormal*0.01);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
if ( d.HitLine ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation);
let b = Spawn("ExplodiumBulletImpact",d.HitLocation+hitnormal*4.);
b.angle = atan2(hitnormal.y,hitnormal.x);
b.pitch = asin(-hitnormal.z);
b.target = self;
if ( swwm_omnibust ) BusterWall.BustLinetrace(d,50,self,d.HitDir,d.HitLocation.z);
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.top.Normal;
else hitnormal = d.HitSector.floorplane.Normal;
}
else if ( d.HitType == TRACE_HitCeiling )
{
if ( d.Hit3DFloor ) hitnormal = -d.Hit3DFloor.bottom.Normal;
else hitnormal = d.HitSector.ceilingplane.Normal;
}
else if ( d.HitType == TRACE_HitWall )
{
hitnormal = (-d.HitLine.delta.y,d.HitLine.delta.x,0).unit();
if ( !d.LineSide ) hitnormal *= -1;
}
let p = Spawn("SWWMBulletImpact",d.HitLocation+hitnormal*0.01);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
if ( d.HitLine ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation);
let b = Spawn("ExplodiumBulletImpact",d.HitLocation+hitnormal*4.);
b.angle = atan2(hitnormal.y,hitnormal.x);
b.pitch = asin(-hitnormal.z);
b.target = self;
if ( swwm_omnibust ) BusterWall.BustLinetrace(d,50,self,d.HitDir,d.HitLocation.z);
}
for ( int i=0; i<6; i++ )
{
@ -717,12 +674,7 @@ Class DualExplodiumGun : SWWMWeapon
States
{
Select:
XZW2 B 2
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
A_FullRaise();
}
XZW2 B 2 A_FullRaise();
XZW2 C 2;
XZW2 D 2 { player.SetPSprite(PSP_WEAPON+1,ResolveState("LeftSelect")); }
XZW2 EFGHAA 2;
@ -837,12 +789,7 @@ Class DualExplodiumGun : SWWMWeapon
XZWB A 1;
Goto LeftReady;
Reload:
XZW2 A 9
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
player.SetPSPrite(PSP_WEAPON+1,ResolveState("LeftLower"));
}
XZW2 A 9 { player.SetPSPrite(PSP_WEAPON+1,ResolveState("LeftLower")); }
XZW2 A 1
{
A_PlayerReload();
@ -898,12 +845,7 @@ Class DualExplodiumGun : SWWMWeapon
XZW2 A 0 { player.SetPSPrite(PSP_WEAPON+1,ResolveState("LeftRaise")); }
Goto Ready;
LeftReload:
XZWB A 9
{
invoker.deadeye_tgt = null;
invoker.deadeye_cnt = 0;
player.SetPSPrite(PSP_WEAPON,ResolveState("Lower"));
}
XZWB A 9 { player.SetPSPrite(PSP_WEAPON,ResolveState("Lower")); }
XZWB A 1
{
A_PlayerReload();