Fix inflictor detection breakage in WorldThingDamaged (did not account for SWWMPuff).
This commit is contained in:
parent
0db8c75a1c
commit
52d0937139
2 changed files with 12 additions and 10 deletions
|
|
@ -167,11 +167,13 @@ extend Class SWWMHandler
|
|||
if ( (e.DamageType == 'Falling') && !e.DamageSource )
|
||||
src = SWWMWhoPushedMe.RecallInstigator(e.Thing);
|
||||
if ( (!src || !src.player || (src == e.Thing)) ) return;
|
||||
let inflictor = e.Inflictor;
|
||||
if ( inflictor is 'SWWMPuff' ) inflictor = inflictor.master;
|
||||
let s = SWWMStats.Find(src.player);
|
||||
if ( s )
|
||||
{
|
||||
s.kills++;
|
||||
s.AddWeaponKill(e.Inflictor,e.Thing,e.DamageType);
|
||||
s.AddWeaponKill(inflictor,e.Thing,e.DamageType);
|
||||
}
|
||||
if ( src == players[consoleplayer].mo )
|
||||
{
|
||||
|
|
@ -183,8 +185,8 @@ extend Class SWWMHandler
|
|||
else if ( (!lastcombat || (gametic > lastcombat+50)) && !SWWMHDoomHandler.IsCuteGirl(e.Thing) ) // [HDoom] don't shout at the girls
|
||||
{
|
||||
int lc = 0;
|
||||
Inventory buff = e.Inflictor?e.Inflictor.FindInventory('ParriedBuff'):null;
|
||||
if ( !Random[DemoLines](0,3) && buff && (e.Thing is 'Cyberdemon') && (e.Inflictor is 'Rocket') && (buff.tracer == e.Thing) ) lc = AddOneliner("cybully",1,15);
|
||||
Inventory buff = inflictor?inflictor.FindInventory('ParriedBuff'):null;
|
||||
if ( !Random[DemoLines](0,3) && buff && (e.Thing is 'Cyberdemon') && (inflictor is 'Rocket') && (buff.tracer == e.Thing) ) lc = AddOneliner("cybully",1,15);
|
||||
else if ( !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?1:2) && (e.DamageType == 'CriticalConcussion') ) lc = AddOneliner("ballskill",1,15);
|
||||
else if ( !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?2:5) && (e.DamageType == 'Buttslam') ) lc = AddOneliner("asskill",1,15);
|
||||
if ( !lc )
|
||||
|
|
@ -202,7 +204,7 @@ extend Class SWWMHandler
|
|||
{
|
||||
if ( (e.Thing.bBOSS||e.Thing.FindInventory("BossMarker")) && ((e.DamageType == 'Dash') || (e.DamageType == 'Buttslam')) )
|
||||
SWWMUtility.AchievementProgressInc("bossdash",1,src.player);
|
||||
if ( (e.Inflictor is 'DeepImpact') && (e.DamageType == 'Push') )
|
||||
if ( (inflictor is 'DeepImpact') && (e.DamageType == 'Push') )
|
||||
SWWMUtility.AchievementProgressInc("sneeze",1,src.player);
|
||||
else if ( e.DamageType == 'Buttslam' )
|
||||
SWWMUtility.AchievementProgressInc("butts",1,src.player);
|
||||
|
|
@ -212,11 +214,11 @@ extend Class SWWMHandler
|
|||
SWWMUtility.AchievementProgressInc("thicc",1,src.player);
|
||||
else if ( (e.DamageType == 'Love') && !(e.Thing is 'WolfensteinSS') && (e.Thing.Species != 'WolfensteinSS') )
|
||||
SWWMUtility.AchievementProgressInc("love",1,src.player);
|
||||
Inventory buff = e.Inflictor?e.Inflictor.FindInventory('ParriedBuff'):null;
|
||||
Inventory buff = inflictor?inflictor.FindInventory('ParriedBuff'):null;
|
||||
if ( buff )
|
||||
{
|
||||
SWWMUtility.AchievementProgressInc("reflect",1,src.player);
|
||||
if ( (e.Thing is 'Cyberdemon') && (e.Inflictor is 'Rocket') && (buff.tracer == e.Thing) )
|
||||
if ( (e.Thing is 'Cyberdemon') && (inflictor is 'Rocket') && (buff.tracer == e.Thing) )
|
||||
SWWMUtility.MarkAchievement("cybully",src.player);
|
||||
}
|
||||
Inventory tk;
|
||||
|
|
@ -299,13 +301,13 @@ extend Class SWWMHandler
|
|||
score += 600;
|
||||
if ( scr ) scr.AppendXString(StringTable.Localize(((e.Thing is 'WolfensteinSS')||(e.Thing.Species=='WolfensteinSS'))?"$SWWM_LOVED_ALT":"$SWWM_LOVED"),0,Font.FindFontColor('BlushPink'));
|
||||
}
|
||||
else if ( e.Inflictor is 'FroggyChair' )
|
||||
else if ( inflictor is 'FroggyChair' )
|
||||
{
|
||||
score += 1440;
|
||||
if ( scr ) scr.AppendXString(StringTable.Localize("$SWWM_FROGGED"),0,Font.CR_GREEN);
|
||||
}
|
||||
Inventory pb;
|
||||
if ( e.Inflictor && (pb = e.Inflictor.FindInventory('ParriedBuff')) )
|
||||
if ( inflictor && (pb = inflictor.FindInventory('ParriedBuff')) )
|
||||
{
|
||||
score += 200;
|
||||
if ( pb.special1&1 ) score += 200;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue