Tweakin' things.
This commit is contained in:
parent
a8fa4e5a79
commit
52bf9704a3
8 changed files with 90 additions and 34 deletions
|
|
@ -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.";
|
||||
|
|
|
|||
|
|
@ -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.";
|
||||
|
|
|
|||
|
|
@ -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-";
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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++ )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue