Parry tweaks. Now parrying on the very first tic will always result in a "perfect parry".

Parry tracking on stats tab.
Parry kill score bonuses.
Small optimizations.
This commit is contained in:
Mari the Deer 2021-02-07 17:57:20 +01:00
commit ae3870f3c1
12 changed files with 66 additions and 20 deletions

View file

@ -1597,7 +1597,7 @@ Class SWWMHandler : EventHandler
}
else if ( e.DamageType == 'Buttslam' )
{
score += 200;
score += 300;
if ( scr )
{
scr.xscore[ofs] = 0;
@ -1618,7 +1618,7 @@ Class SWWMHandler : EventHandler
}
else if ( e.Inflictor is 'FroggyChair' )
{
score += 800;
score += 1440;
if ( scr )
{
scr.xscore[ofs] = 0;
@ -1627,6 +1627,19 @@ Class SWWMHandler : EventHandler
scr.xcnt = ++ofs;
}
}
Inventory pb;
if ( e.Inflictor && (pb = e.Inflictor.FindInventory('ParriedBuff')) )
{
score += 200;
if ( pb.special1&1 ) score += 200;
if ( scr )
{
scr.xscore[ofs] = 0;
if ( pb.special1&1 ) scr.xstr[ofs] = StringTable.Localize("$SWWM_PPARRY");
else scr.xstr[ofs] = StringTable.Localize("$SWWM_PARRY");
scr.xcnt = ++ofs;
}
}
if ( (e.Damage >= e.Thing.GetSpawnHealth()*2) || (((e.Thing.Health <= e.Thing.GetGibHealth()) || (src.bEXTREMEDEATH) || (e.Inflictor && e.Inflictor.bEXTREMEDEATH) || (e.DamageType == 'Extreme')) && !src.bNOEXTREMEDEATH && (!e.Inflictor || !e.Inflictor.bNOEXTREMEDEATH)) )
{
score *= 2;