Sheen kill taunts + some fixes.
This commit is contained in:
parent
a761716692
commit
82c6be5cdc
8 changed files with 32 additions and 12 deletions
|
|
@ -182,6 +182,8 @@ extend Class SWWMHandler
|
|||
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);
|
||||
else if ( !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?3:6) && ((inflictor is 'HeavyMahSheenGun') || (inflictor is 'SheenTrail')) )
|
||||
lc = AddOneliner("sheenkill",1,15);
|
||||
if ( !lc )
|
||||
{
|
||||
if ( !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?1:4) )
|
||||
|
|
|
|||
|
|
@ -1141,6 +1141,22 @@ Class SWWMUtility
|
|||
Victim.vel += Momentum;
|
||||
}
|
||||
|
||||
// fixes some false positives for explosion taunts
|
||||
static bool IsExplosiveSource( Actor s )
|
||||
{
|
||||
if ( s is 'DemolitionistShockwave' ) return false;
|
||||
if ( s is 'BigPunchSplash' ) return false;
|
||||
if ( s is 'AirBullet' ) return false;
|
||||
if ( s is 'SaltBeam' ) return false;
|
||||
if ( s is 'CorrodeDebuff' ) return false;
|
||||
if ( s is 'CorrosiveSplash' ) return false;
|
||||
if ( s is 'TheBall' ) return false;
|
||||
if ( s is 'SilverAirRip' ) return false;
|
||||
if ( s is 'SilverImpact' ) return false;
|
||||
if ( s is 'SheenTrail' ) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
// complete spherical and more accurate replacement of A_Explode
|
||||
// 100% free of the buggery GZDoom's own splash damage has
|
||||
// returns the number of shootables hit/killed
|
||||
|
|
@ -1235,7 +1251,7 @@ Class SWWMUtility
|
|||
let hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
|
||||
if ( !hnd || (hnd.psectors.Size() <= 1) )
|
||||
{
|
||||
if ( (Instigator is 'Demolitionist') && haskilled )
|
||||
if ( (Instigator is 'Demolitionist') && haskilled && IsExplosiveSource(Source) )
|
||||
{
|
||||
let demo = Demolitionist(Instigator);
|
||||
if ( (gametic > demo.lastbang+30) && (!hnd || (gametic > hnd.lastcombat+10)) && !Random[DemoLines](0,1) )
|
||||
|
|
@ -1317,7 +1333,7 @@ Class SWWMUtility
|
|||
if ( (!a || (a.Health <= 0)) && (!(flags&DE_COUNTENEMIES) || hostile) && (!(flags&DE_COUNTSTEALTH) || inactive) ) nkill++;
|
||||
}
|
||||
}
|
||||
if ( (Instigator is 'Demolitionist') && haskilled )
|
||||
if ( (Instigator is 'Demolitionist') && haskilled && IsExplosiveSource(Source) )
|
||||
{
|
||||
let demo = Demolitionist(Instigator);
|
||||
if ( (gametic > demo.lastbang+30) && (gametic > hnd.lastcombat+10) && !Random[DemoLines](0,1) )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue