First batch of changes:
- Fix score being reset on coop respawn. - Remove slight vertical offset of ground dash, not needed when we have NOFRICTION. - Disable stair downstepping while dashing. - Add crit sound for buttslams when they kill something. - Clean up some more stuff on map transitions (e.g.: dash/stomp canceling) - Korax messages show with a colored name now, for zazz. - Removed hitscan parrying, as it's odd and unpredictable. - Adjusted how wall detection works in dashes, should work better with stairs. - Allow down-dashes in mid-air when jumping is disabled, so you can still groundslam.
This commit is contained in:
parent
6cd065cf7c
commit
75e3ef30fc
8 changed files with 73 additions and 97 deletions
|
|
@ -571,7 +571,7 @@ Class SWWMHandler : EventHandler
|
|||
|
||||
override void PlayerEntered( PlayerEvent e )
|
||||
{
|
||||
// create some static thinkers for this player
|
||||
// create some static thinkers for this player if needed
|
||||
PlayerInfo p = players[e.playernumber];
|
||||
SWWMTradeHistory th = SWWMTradeHistory.Find(p);
|
||||
if ( !th )
|
||||
|
|
@ -634,13 +634,30 @@ Class SWWMHandler : EventHandler
|
|||
// reset combat tracker
|
||||
if ( !swwm_notrack )
|
||||
SWWMCombatTracker.Spawn(players[e.playernumber].mo);
|
||||
// initialize some player vars
|
||||
if ( p.mo is 'Demolitionist' )
|
||||
{
|
||||
// reinitialize
|
||||
Demolitionist(p.mo).dashfuel = Demolitionist(p.mo).default.dashfuel;
|
||||
Demolitionist(p.mo).last_boost = 0;
|
||||
Demolitionist(p.mo).last_kick = 0;
|
||||
// cancel dash/boost
|
||||
p.mo.A_StopSound(CHAN_JETPACK);
|
||||
Demolitionist(p.mo).fuelcooldown = 0.;
|
||||
Demolitionist(p.mo).dashcooldown = 0.;
|
||||
Demolitionist(p.mo).dashboost = 0.;
|
||||
Demolitionist(p.mo).dashsnd = false;
|
||||
// prevent sudden stomping if we were previously falling
|
||||
Demolitionist(p.mo).lastvelz = p.mo.vel.z;
|
||||
// early cancel gestures
|
||||
if ( p.ReadyWeapon is 'SWWMGesture' )
|
||||
{
|
||||
p.PendingWeapon = SWWMGesture(p.ReadyWeapon).formerweapon;
|
||||
p.SetPSprite(PSP_WEAPON,p.ReadyWeapon.ResolveState("Deselect"));
|
||||
}
|
||||
}
|
||||
// reset score (optional) if inventory should be cleared
|
||||
if ( level.removeitems && !e.IsReturn && swwm_resetscore )
|
||||
c.credits = c.hcredits = 0;
|
||||
}
|
||||
|
||||
override void PlayerRespawned( PlayerEvent e )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue