Sheen kill taunts + some fixes.

This commit is contained in:
Mari the Deer 2022-07-23 17:54:41 +02:00
commit 82c6be5cdc
8 changed files with 32 additions and 12 deletions

View file

@ -431,6 +431,10 @@ SWWM_SUBS_DEFAULT_BLAST3 = "Pew!";
SWWM_SUBS_DEFAULT_BLAST4 = "Boom!";
SWWM_SUBS_DEFAULT_BLAST5 = "Kapow!";
SWWM_SUBS_DEFAULT_BLAST6 = "Kaboom.";
// Sheen HMG kill
SWWM_SUBS_DEFAULT_NSHEENKILL = "2";
SWWM_SUBS_DEFAULT_SHEENKILL1 = "Dakka dakka dakka.";
SWWM_SUBS_DEFAULT_SHEENKILL2 = "Cry some more!";
// Wall busting
SWWM_SUBS_DEFAULT_BUSTKILL = "Bustin' makes me feel good~ ♪";
// Cyberdemon killed by parrying
@ -449,7 +453,7 @@ SWWM_SUBS_DEFAULT_EAT2 = "*eating*";
SWWM_SUBS_DEFAULT_EAT3 = "Mmmmm...";
SWWM_SUBS_DEFAULT_EAT4 = "Mmmm! Tasty!";
SWWM_SUBS_DEFAULT_EAT5 = "Mah favorite!";
// Hurtfloor damage
// Hurtfloor damage (currently unused)
SWWM_SUBS_DEFAULT_NHURTFLOOR = "5";
SWWM_SUBS_DEFAULT_HURTFLOOR1 = "Ffffff...";
SWWM_SUBS_DEFAULT_HURTFLOOR2 = "Huff oof...";

View file

@ -372,40 +372,36 @@ SWWM_SUBS_DEFAULT_BUTTONPUSH2 = "Bup.";
SWWM_SUBS_DEFAULT_FALLING = "¡Wiiiiiiiiiiii~!";
/// Special kill messages (rare)
// Buttslam
SWWM_SUBS_DEFAULT_NASSKILL = "2";
SWWM_SUBS_DEFAULT_ASSKILL1 = "¡Es hora del CULO!";
SWWM_SUBS_DEFAULT_ASSKILL2 = "¡Masacrando con las nalgas!";
SWWM_SUBS_DEFAULT_ASSKILL3 = "Muy bien, ¿Quien quiere comer CULO?";
// Lead ball crit
SWWM_SUBS_DEFAULT_NBALLSKILL = "2";
SWWM_SUBS_DEFAULT_BALLSKILL1 = "¡Peligrosa Acción de Pelotas!";
SWWM_SUBS_DEFAULT_BALLSKILL2 = "¡Cuidado al jugar con vuestras pelotas, chavales!";
// Explosion kill
SWWM_SUBS_DEFAULT_NBLAST = "6";
SWWM_SUBS_DEFAULT_BLAST1 = "¡Bang!";
SWWM_SUBS_DEFAULT_BLAST2 = "¡Bangabangbangbang!";
SWWM_SUBS_DEFAULT_BLAST3 = "¡Píu!";
SWWM_SUBS_DEFAULT_BLAST4 = "¡Bum!";
SWWM_SUBS_DEFAULT_BLAST5 = "¡Kapow!";
SWWM_SUBS_DEFAULT_BLAST6 = "Kabúm.";
// Sheen HMG kill
SWWM_SUBS_DEFAULT_SHEENKILL2 = "¡Llora un poco más!";
// Wall busting
// Cyberdemon killed by parrying
SWWM_SUBS_DEFAULT_CYBULLY = "Solo estoy haciendo un poco de cyberbullying...";
// Cacodemon petting
SWWM_SUBS_DEFAULT_NPETCACO = "3";
SWWM_SUBS_DEFAULT_PETCACO1 = "¡Caco!";
SWWM_SUBS_DEFAULT_PETCACO2 = "¿Quien es un buen cacodemonio?";
SWWM_SUBS_DEFAULT_PETCACO3 = "Albondiguilla~";
// (rare) skull key pickup gesture
SWWM_SUBS_DEFAULT_SKULLGET = "Ay, probre Yorick. Yo le conocía, Horacio.";
// Grilled Cheese Sandwich eating
SWWM_SUBS_DEFAULT_NEAT = "5";
SWWM_SUBS_DEFAULT_EAT1 = "Ñam ñam ñam... Ñam ñam...";
SWWM_SUBS_DEFAULT_EAT2 = "*comiendo*";
SWWM_SUBS_DEFAULT_EAT4 = "¡Mmmm! ¡Rico!";
SWWM_SUBS_DEFAULT_EAT5 = "¡Mi favorito!";
// Hurtfloor damage
SWWM_SUBS_DEFAULT_NHURTFLOOR = "5";
// Hurtfloor damage (currently unused)
SWWM_SUBS_DEFAULT_HURTFLOOR2 = "Buf uf...";
SWWM_SUBS_DEFAULT_HURTFLOOR3 = "Uuuu uuu... Aaa aaaa ooo...";
SWWM_SUBS_DEFAULT_HURTFLOOR4 = "Uuu aa aaaa... Ooo...";

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r203 \cu(Sat 23 Jul 17:05:04 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r203 \cu(2022-07-23 17:05:04)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r204 \cu(Sat 23 Jul 17:54:41 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r204 \cu(2022-07-23 17:54:41)\c-";

View file

@ -402,6 +402,8 @@ voice/default/blast3 sounds/voice/default/va/demoblast3.ogg
voice/default/blast4 sounds/voice/default/va/demoblast4.ogg
voice/default/blast5 sounds/voice/default/va/demoblast5.ogg
voice/default/blast6 sounds/voice/default/va/demoblast6.ogg
voice/default/sheenkill1 sounds/voice/default/va/demosheenkill1.ogg
voice/default/sheenkill2 sounds/voice/default/va/demosheenkill2.ogg
voice/default/petcaco1 sounds/voice/default/va/demopetcaco1.ogg
voice/default/petcaco2 sounds/voice/default/va/demopetcaco2.ogg
voice/default/petcaco3 sounds/voice/default/va/demopetcaco3.ogg

Binary file not shown.

Binary file not shown.

View file

@ -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) )

View file

@ -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) )