Tweakin' things.

This commit is contained in:
Mari the Deer 2021-10-16 09:29:45 +02:00
commit 52bf9704a3
8 changed files with 90 additions and 34 deletions

View file

@ -467,7 +467,7 @@ FN_WOLFGUARD_FUNN = "3";
FN_WOLFGUARD_FUN1 = "Budget Nazi";
FN_WOLFGUARD_FUN2 = "Pew Pew Boy";
FN_WOLFGUARD_FUN3 = "Brown Pants";
FN_WOLFSS = "Schutzstaffel";
FN_WOLFSS_ORIG = "Schutzstaffel";
FN_WOLFHANS = "Hans Grosse";
FN_WOLFHANS_FUN = "Thicc Hans";
// eviternity tags
@ -493,6 +493,12 @@ FN_NDEMON_FUNN = "3";
FN_NDEMON_FUN1 = "Greenie";
FN_NDEMON_FUN2 = "Angry Greens";
FN_NDEMON_FUN3 = "Spinach Demon";
// ultimate doom 2 tags
FN_ELITEZOMBIE = "Elite Zombie";
FN_ELITEZOMBIE_FUNN = "3";
FN_ELITEZOMBIE_FUN1 = "Fastzomb";
FN_ELITEZOMBIE_FUN2 = "He Schutt";
FN_ELITEZOMBIE_FUN3 = "Blondie Boy";
// obituaries
O_PUSHER = "%k carefully removed %o's cavities.";
O_DEEPIMPACT = "%o was impacted deeply by %k.";
@ -598,7 +604,6 @@ OB_KNIGHT = "%o was bruised by green plasma.";
OB_SPIDER = "%o ate all those bullets.";
OB_BABY = "%o angered the spider bab.";
OB_CYBORG = "%o didn't follow the protip.";
OB_WOLFSS = "%o was pelted by blondies.";
OB_DOG = "%o angered the doggo.";
OB_CHICKEN = "%o got the PECK.";
OB_BEAST = "%o got flamed by a big friend.";
@ -642,6 +647,7 @@ OB_HERESIARCH = "%o saw that coming.";
OB_PIG = "%o angered the hams."; // for when gzdoom fixes this (come on, graf)
DEFOB_PIG = "$$OB_PIG"; // gzdoom will look this up since it has no obituary assigned
OB_WOLFGUARD = "%o got pelted by some weakling.";
OB_WOLFSS_ORIG = "%o was pelted by blondies.";
OB_WOLFHANS = "%o couldn't withstand such sheer girthitude.";
// eviternity obituaries
OB_FCAPTAIN = "%o was zapped by an angry green lad.";
@ -650,6 +656,8 @@ OB_NDEMON = "%o got scronched.";
OB_ANGEL1 = "%o pissed off that angel.";
OB_ANGEL2 = "%o really pissed off that angel.";
OB_ASTRAL = "%o got scorched by a gray ball friend.";
// ultimate doom 2 obituaries
OB_ELITEZOMBIE = "%o was shot rapidly by some elite guy.";
// misc
D_BLASTSUIT = "The Blast Suit broke down.";
D_GHOSTARTI = "The Ghost Artifact ran out of energy.";

View file

@ -369,6 +369,10 @@ FN_KEEN_FUN = "Arruinado por Bethesda";
FN_VOODOO = "Muñeco Vudú de %s";
FN_PIG = "Cerdo";
FN_PIG_FUN = "Cochinillo";
FN_WOLFGUARD_FUN1 = "Nazi de Bajo Presupuesto";
FN_WOLFGUARD_FUN2 = "Chiquillo con Pistolilla";
FN_WOLFGUARD_FUN3 = "Pantalones Marrones";
FN_WOLFHANS_FUN = "Hans el Gordaco";
// eviternity tags
FN_ANGEL_FUN = "Un Puto Ángel";
FN_ASTRAL = "Cacodemonio Astral";
@ -387,6 +391,11 @@ FN_NDEMON = "Demonio de Pesadilla";
FN_NDEMON_FUN1 = "Verdín";
FN_NDEMON_FUN2 = "Verde Cabreado";
FN_NDEMON_FUN3 = "Demonio de Espinacas";
// ultimate doom 2 tags
FN_ELITEZOMBIE = "Zombi de Élite";
FN_ELITEZOMBIE_FUN1 = "Zomborápido";
FN_ELITEZOMBIE_FUN2 = "Te Dispara";
FN_ELITEZOMBIE_FUN3 = "Rubiales";
// obituaries
O_PUSHER = "%k le quitó cuidadosamente las caries a %o.";
O_DEEPIMPACT = "%o fue impactad@[ao_esp] profundamente por %k.";
@ -492,7 +501,6 @@ OB_KNIGHT = "%o fue churruscad@[ao_esp] por plasma verde.";
OB_SPIDER = "%o se comió todas esas balas.";
OB_BABY = "%o hizo enfadar al ñiño araña.";
OB_CYBORG = "%o no siguió el consejo.";
OB_WOLFSS = "%o fue tiroteado por rubitos.";
OB_DOG = "%o hizo enfadar al perrete.";
OB_CHICKEN = "%o recibió el PICO.";
OB_BEAST = "%o fue flambead@[ao_esp] por un amigo grandote.";
@ -535,6 +543,7 @@ OB_CBOSS = "%o fue fantasmado por la verga fantasma del tío santurrón.";
OB_HERESIARCH = "%o lo vio venir.";
OB_PIG = "%o enfureció a los jamones."; // for when gzdoom fixes this (come on, graf)
OB_WOLFGUARD = "%o fué balead@[ao_esp] por algún cobarde.";
OB_WOLFSS_ORIG = "%o fue tiroteado por rubitos.";
OB_WOLFHANS = "%o no pudo soportar semejante grosor.";
// eviternity obituaries
OB_FCAPTAIN = "%o fue chispad@[ao_esp] por un tío verde cabreado.";
@ -543,6 +552,8 @@ OB_NDEMON = "%o fue estronchad@[ao_esp].";
OB_ANGEL1 = "%o cabreó a ese ángel.";
OB_ANGEL2 = "%o cabreó mucho a ese ángel.";
OB_ASTRAL = "%o fue escaldad@[ao_esp] por una amigable bola gris.";
// ultimate doom 2 obituaries
OB_ELITEZOMBIE = "%o fue disparad@[ao_esp] rápidamente por un tipo de élite.";
// misc
D_BLASTSUIT = "El Chaleco Antiexplosivos se ha roto.";
D_GHOSTARTI = "El Artefacto Fantasma se ha agotado.";

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.1.26 \cu(Thu 14 Oct 16:58:53 CEST 2021)\c-";
SWWM_SHORTVER="\cw1.1.26 \cu(2021-10-14 16:58:53)\c-";
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.1.27 \cu(Sat 16 Oct 09:30:06 CEST 2021)\c-";
SWWM_SHORTVER="\cw1.1.27 \cu(2021-10-16 09:30:06)\c-";

View file

@ -573,15 +573,7 @@ extend Class SWWMHandler
else if ( e.Replacee is 'TeleportFog' ) e.Replacement = 'SWWMTeleportFog';
else if ( (e.Replacee is 'CommanderKeen') && (!e.Replacement || (e.Replacement == 'CommanderKeen')) )
{
let def = GetDefaultByType(e.Replacee);
bool dehackery = false;
for ( State s=def.SpawnState; s; s=s.NextState )
{
if ( s.bDEHACKED ) dehackery = true;
// keep checking until we hit a loop, just in case
if ( s.NextState && (s.DistanceTo(s.NextState) <= 0) ) break;
}
if ( dehackery )
if ( SWWMUtility.CheckDehackery(e.Replacee) )
{
if ( profiling ) checkreplacement_ms += MSTime()-curms;
return;
@ -590,15 +582,7 @@ extend Class SWWMHandler
}
else if ( (e.Replacee is 'BossBrain') && (!e.Replacement || (e.Replacement == 'BossBrain')) )
{
let def = GetDefaultByType(e.Replacee);
bool dehackery = false;
for ( State s=def.SpawnState; s; s=s.NextState )
{
if ( s.bDEHACKED ) dehackery = true;
// keep checking until we hit a loop, just in case
if ( s.NextState && (s.DistanceTo(s.NextState) <= 0) ) break;
}
if ( dehackery )
if ( SWWMUtility.CheckDehackery(e.Replacee) )
{
if ( profiling ) checkreplacement_ms += MSTime()-curms;
return;

View file

@ -265,6 +265,7 @@ extend Class SWWMHandler
SWWMInterest.Spawn(thekey:Key(e.Thing));
}
if ( indoomvacation == -1 ) indoomvacation = SWWMUtility.InDoomVacation();
if ( inultdoom2 == -1 ) inultdoom2 = SWWMUtility.IsUltDoom2();
if ( e.Thing.GetClass() == 'Pig' )
e.Thing.SetTag("$FN_PIG"); // missing in gzdoom
// eviternity stuff
@ -367,6 +368,16 @@ extend Class SWWMHandler
HeadpatTracker(hp).dvacationarghack = true;
}
}
else if ( inultdoom2 && (e.Thing.GetClassName() == "WolfensteinSS") )
{
e.Thing.SetTag("$FN_ELITEZOMBIE");
//e.Thing.Obituary = "$OB_ELITEZOMBIE";
e.Thing.SeeSound = "grunt/sight";
e.Thing.AttackSound = "grunt/attack";
e.Thing.PainSound = "grunt/pain";
e.Thing.DeathSound = "grunt/death";
e.Thing.ActiveSound = "grunt/active";
}
if ( SWWMUtility.IdentifyingDog(e.Thing) || SWWMUtility.IdentifyingCaco(e.Thing)
|| SWWMUtility.IdentifyingDrug(e.Thing) || SWWMUtility.IdentifyingDoubleBoi(e.Thing) )
{

View file

@ -20,6 +20,7 @@ Class SWWMHandler : EventHandler
int bossmap;
int iwantdie;
int indoomvacation;
int inultdoom2;
// for checkreplacement
bool hasdrlamonsters;
@ -44,6 +45,7 @@ Class SWWMHandler : EventHandler
iwantdie = -1;
bossmap = -1;
indoomvacation = -1;
inultdoom2 = -1;
// this one can be initialized here easily
for ( int i=0; i<AllActorClasses.Size(); i++ )
{

View file

@ -427,8 +427,8 @@ Class SWWMSS : Actor
SeeSound "wolf3d/sssight";
DeathSound "wolf3d/ssdie";
AttackSound "wolf3d/ssfire";
Obituary "$OB_WOLFSS";
Tag "$FN_WOLFSS";
Obituary "$OB_WOLFSS_ORIG";
Tag "$FN_WOLFSS_ORIG";
Species "WolfensteinSS";
DropItem "Clip";
}

View file

@ -864,10 +864,53 @@ Class SWWMUtility
return false;
}
// try to be as thorough as possible in checking if DEHACKED has altered this actor
static clearscope bool CheckDehackery( Class<Actor> cls )
{
let def = GetDefaultByType(cls);
for ( State s=def.SpawnState; s; s=s.NextState )
{
if ( s.bDEHACKED ) return true;
// keep checking until we hit a loop, just in case
if ( s.NextState && (s.DistanceTo(s.NextState) <= 0) ) break;
}
for ( State s=def.SeeState; s; s=s.NextState )
{
if ( s.bDEHACKED ) return true;
// keep checking until we hit a loop, just in case
if ( s.NextState && (s.DistanceTo(s.NextState) <= 0) ) break;
}
for ( State s=def.MissileState; s; s=s.NextState )
{
if ( s.bDEHACKED ) return true;
// keep checking until we hit a loop, just in case
if ( s.NextState && (s.DistanceTo(s.NextState) <= 0) ) break;
}
for ( State s=def.MeleeState; s; s=s.NextState )
{
if ( s.bDEHACKED ) return true;
// keep checking until we hit a loop, just in case
if ( s.NextState && (s.DistanceTo(s.NextState) <= 0) ) break;
}
return false;
}
// because GetTag() returns the localized string, we need to do things the hard way
static clearscope String GetFunTag( Actor a, String defstr = "" )
static play String GetFunTag( Actor a, String defstr = "" )
{
if ( a is 'SWWMMonster' ) return SWWMMonster(a).GetFunTag(defstr);
// look up any fun tag services
let si = ServiceIterator.Find("FunTagService");
Service sv;
String res;
while ( sv = si.Next() )
{
res = sv.GetString("GetFunTag",objectArg:a);
if ( res == "" ) continue;
si.Destroy();
return res;
}
si.Destroy();
int ntags = 1;
String basetag = "";
switch ( a.GetClassName() )
@ -940,16 +983,13 @@ Class SWWMUtility
basetag = "BOSSBRAIN";
break;
case 'WolfensteinSS':
// ensure it's not being replaced
let def = GetDefaultByType('WolfensteinSS');
bool dehackery = false;
for ( State s=def.SpawnState; s; s=s.NextState )
if ( IsUltDoom2() )
{
if ( s.bDEHACKED ) dehackery = true;
// keep checking until we hit a loop, just in case
if ( s.NextState && (s.DistanceTo(s.NextState) <= 0) ) break;
basetag = "ELITEZOMBIE";
break;
}
if ( dehackery ) break;
// ensure it's not being replaced
if ( CheckDehackery('WolfensteinSS') ) break;
case 'SWWMSS':
basetag = "WOLFSS";
break;