diff --git a/language.def_base b/language.def_base index a2f417d8a..bfc465296 100644 --- a/language.def_base +++ b/language.def_base @@ -514,8 +514,21 @@ FN_NECROMENACE_FUN2 = "Resurrector Bastard"; FN_NECROMENACE_FUN3 = "Oh Fuck No"; FN_NECROMENACE_FUN4 = "10000 Points Off"; FN_NECROMENACE_FUN5 = "Hey Guess What"; -FN_EVITERNATUS = "The Origin"; -FN_EVITERNATUS_FUN = "Ball O' Wings"; +FN_ORIGIN = "The Origin"; +FN_ORIGIN_FUN = "Ball O' Wings"; +FN_SAC = "Spectral Astral Cacodemon"; +FN_SAC_FUNN = "3"; +FN_SAC_FUN1 = "Sneaky Gray Boy"; +FN_SAC_FUN2 = "Very Faded Meatball"; +FN_SAC_FUN3 = "Hidden Hissy Husk"; +FN_GDUKE = "Grand Duke Of Hell"; +FN_GDUKE_FUNN = "6"; +FN_GDUKE_FUN1 = "Balls Of Blue"; +FN_GDUKE_FUN2 = "Duki Le Nuki"; +FN_GDUKE_FUN3 = "Great Hell Duck"; +FN_GDUKE_FUN4 = "Great Douche of Hell"; +FN_GDUKE_FUN5 = "The Goat Is Blue"; +FN_GDUKE_FUN6 = "Brazil 2"; // ultimate doom 2 tags FN_ELITEZOMBIE = "Elite Zombie"; FN_ELITEZOMBIE_FUNN = "3"; @@ -675,9 +688,15 @@ OB_ASTRALFATSO = "%o REALLY got down with the thiccness."; OB_NECRO = "%o got fucked over by that stupid necromancer."; OB_NECROF = "%o was spooked by freaky ghosts."; OB_GOLDENBOSS = "%o certainly believes that was too much."; -OB_EVITERNATUS1 = "%o messed with the wrong angel."; -OB_EVITERNATUS2 = "%o really pissed off that ball 'o wings."; -OB_EVITERNATUS3 = "%o did not expect there to be a third round."; +OB_ORIGIN1 = "%o messed with the wrong angel."; +OB_ORIGIN2 = "%o really pissed off that ball 'o wings."; +OB_ORIGIN3 = "%o did not expect there to be a third round."; +OB_XORIGIN1 = "$$OB_ORIGIN1"; +OB_XORIGIN2 = "$$OB_ORIGIN2"; +OB_XORIGIN3 = "$$OB_ORIGIN3"; +OB_XCAPTAIN = "$$OBITUARY_FORMERCAPTAIN"; +OB_XSAC = "%o got scorched by a stealthy gray ball."; +OB_XGDUKE = "%o was sent to Brazil, but harder."; // ultimate doom 2 obituaries OB_ELITEZOMBIE = "%o was shot rapidly by some elite guy."; // misc @@ -932,8 +951,8 @@ BT_DOOMTEST = "Oatley, Bane of the Quakers"; BT_ARCHANGELUS = "Archangelus, Celestial Agent"; BT_ARCHANGELUS_FUN = "Big Fucking Angel Dude"; // eviternity 2 -BT_EVITERNATUS = "The Origin Of Astral Blight"; -BT_EVITERNATUS_FUN = "Biblically Accurate Angel"; +BT_ORIGIN = "The Origin Of Astral Blight"; +BT_ORIGIN_FUN = "Biblically Accurate Angel"; // boss oneliners BOSSLINE_IOS = "\crIcon of Sin\c*: !oremoR nhoJ ,em llik tsum uoy emag eht niw oT\c*"; BOSSLINE_DSPARIL = "\cgD'Sparil\c*: .hself ruoy erutrot lliw I\c*"; diff --git a/language.def_voice b/language.def_voice index 6e47e7b51..67b0f936c 100644 --- a/language.def_voice +++ b/language.def_voice @@ -367,22 +367,22 @@ SWWM_SUBS_DEFAULT_ARCHANGELUS6 = "Yeah yeah, it's always the same with you peopl SWWM_SUBS_DEFAULT_ARCHANGELUS7 = "Boy, you people really go hard on the pretend-god bullshit, huh?"; SWWM_SUBS_DEFAULT_ARCHANGELUS8 = "I think I'm going to have to beat some sense into you."; // Eviternity II boss -SWWM_SUBS_DEFAULT_NEVITERNATUS1 = "5"; -SWWM_SUBS_DEFAULT_EVITERNATUS11 = "What the heck are you?"; -SWWM_SUBS_DEFAULT_EVITERNATUS12 = "Whatever that is, it's pissed."; -SWWM_SUBS_DEFAULT_EVITERNATUS13 = "You're the one behind all of this, huh?"; -SWWM_SUBS_DEFAULT_EVITERNATUS14 = "It's final boss time..."; -SWWM_SUBS_DEFAULT_NEVITERNATUS2 = "4"; -SWWM_SUBS_DEFAULT_EVITERNATUS21 = "Oh great, it's back."; -SWWM_SUBS_DEFAULT_EVITERNATUS22 = "Back for more? Bring it on!"; -SWWM_SUBS_DEFAULT_EVITERNATUS23 = "Alright, round two."; -SWWM_SUBS_DEFAULT_EVITERNATUS24 = "I'm not done with you."; -SWWM_SUBS_DEFAULT_NEVITERNATUS3 = "5"; -SWWM_SUBS_DEFAULT_EVITERNATUS31 = "What the hell?"; -SWWM_SUBS_DEFAULT_EVITERNATUS32 = "Good lord it's still alive!"; -SWWM_SUBS_DEFAULT_EVITERNATUS33 = "Damn it, just die already!"; -SWWM_SUBS_DEFAULT_EVITERNATUS34 = "Round... Three?"; -SWWM_SUBS_DEFAULT_EVITERNATUS35 = "Welp, third time's the charm."; +SWWM_SUBS_DEFAULT_NORIGIN1 = "5"; +SWWM_SUBS_DEFAULT_ORIGIN11 = "What the heck are you?"; +SWWM_SUBS_DEFAULT_ORIGIN12 = "Whatever that is, it's pissed."; +SWWM_SUBS_DEFAULT_ORIGIN13 = "You're the one behind all of this, huh?"; +SWWM_SUBS_DEFAULT_ORIGIN14 = "It's final boss time..."; +SWWM_SUBS_DEFAULT_NORIGIN2 = "4"; +SWWM_SUBS_DEFAULT_ORIGIN21 = "Oh great, it's back."; +SWWM_SUBS_DEFAULT_ORIGIN22 = "Back for more? Bring it on!"; +SWWM_SUBS_DEFAULT_ORIGIN23 = "Alright, round two."; +SWWM_SUBS_DEFAULT_ORIGIN24 = "I'm not done with you."; +SWWM_SUBS_DEFAULT_NORIGIN3 = "5"; +SWWM_SUBS_DEFAULT_ORIGIN31 = "What the hell?"; +SWWM_SUBS_DEFAULT_ORIGIN32 = "Good lord it's still alive!"; +SWWM_SUBS_DEFAULT_ORIGIN33 = "Damn it, just die already!"; +SWWM_SUBS_DEFAULT_ORIGIN34 = "Round... Three?"; +SWWM_SUBS_DEFAULT_ORIGIN35 = "Welp, third time's the charm."; // "hself ruoy erutrot lliw I" (supposedly) SWWM_SUBS_DEFAULT_NDSPARILA = "3"; SWWM_SUBS_DEFAULT_DSPARILA1 = "Oh look at you, little red riding hood."; diff --git a/language.es_base b/language.es_base index 610a954c5..46243a4ad 100644 --- a/language.es_base +++ b/language.es_base @@ -404,8 +404,18 @@ FN_NECROMENACE_FUN2 = "Bastardo Resurrector"; FN_NECROMENACE_FUN3 = "Lo Que Faltaba"; FN_NECROMENACE_FUN4 = "10000 Puntos Menos"; FN_NECROMENACE_FUN5 = "Adivina Que"; -FN_EVITERNATUS = "El Orígen"; -FN_EVITERNATUS_FUN = "Bola De Alas"; +FN_ORIGIN = "El Orígen"; +FN_ORIGIN_FUN = "Bola De Alas"; +FN_SAC = "Cacodemonio Astral Espectro"; +FN_SAC_FUN1 = "Bolita Gris Sigilosa"; +FN_SAC_FUN2 = "Albóndiga Desvanecida"; +FN_SAC_FUN3 = "Cáscara Siseante Oculta"; +FN_GDUKE = "Gran Duque Del Infierno"; +FN_GDUKE_FUN1 = "Bolas De Azul"; +FN_GDUKE_FUN3 = "Gran Dique Infernal"; +FN_GDUKE_FUN4 = "Gran Ducha Infernal"; +FN_GDUKE_FUN5 = "La Cabra Es Azul"; +FN_GDUKE_FUN6 = "Brasil 2"; // ultimate doom 2 tags FN_ELITEZOMBIE = "Zombi De Élite"; FN_ELITEZOMBIE_FUN1 = "Zomborápido"; @@ -561,9 +571,11 @@ OB_ASTRALFATSO = "%o REALMENTE fue víctima de la gordura."; OB_NECRO = "%o se hizo mierda por culpa de ese estúpido necromante."; OB_NECROF = "%o se llevó un buen susto."; OB_GOLDENBOSS = "%o ciertamente cree que eso ha sido demasiado."; -OB_EVITERNATUS1 = "%o se metió con el ángel equivocado."; -OB_EVITERNATUS2 = "%o realmente hizo cabrear esa bola de alas."; -OB_EVITERNATUS3 = "%o no esperaba que hubiese un tercer asalto."; +OB_ORIGIN1 = "%o se metió con el ángel equivocado."; +OB_ORIGIN2 = "%o realmente hizo cabrear esa bola de alas."; +OB_ORIGIN3 = "%o no esperaba que hubiese un tercer asalto."; +OB_XSAC = "%o fue escaldad@[ao_esp] por una sigilosa bola gris."; +OB_XGDUKE = "%o fue enviad@[ao_esp] a Brasil, pero más fuerte."; // ultimate doom 2 obituaries OB_ELITEZOMBIE = "%o fue disparad@[ao_esp] rápidamente por un tipo de élite."; // misc @@ -798,8 +810,8 @@ BT_DOOMTEST = "Avenino, Azote de los Cuáqueros"; BT_ARCHANGELUS = "Arcángelus, Agente Celestial"; BT_ARCHANGELUS_FUN = "Un Putísimo Ángel Enorme"; // eviternity 2 -BT_EVITERNATUS = "El Orígen De La Plaga Astral"; -BT_EVITERNATUS_FUN = "Ángel Bíblicamente Correcto"; +BT_ORIGIN = "El Orígen De La Plaga Astral"; +BT_ORIGIN_FUN = "Ángel Bíblicamente Correcto"; // boss oneliners BOSSLINE_IOS = "\crIcono del Pecado\c*: !oremoR nhoJ ,ím a emratam sebed ogeuj le ranag araP¡\c*"; BOSSLINE_DSPARIL = "\cgD'Sparil\c*: .senrac sut érarutroT\c*"; diff --git a/language.es_voice b/language.es_voice index 7b6de9934..b387a029d 100644 --- a/language.es_voice +++ b/language.es_voice @@ -331,19 +331,19 @@ SWWM_SUBS_DEFAULT_ARCHANGELUS6 = "Ya ya, siempre es lo mismo con gente como tú. SWWM_SUBS_DEFAULT_ARCHANGELUS7 = "Bueno, pero vosotros vais a tope con la mierda de pretender ser dioses, ¿no?"; SWWM_SUBS_DEFAULT_ARCHANGELUS8 = "Me parece que voy a tener que hacerte entenderlo a ostias."; // Eviternity II boss -SWWM_SUBS_DEFAULT_EVITERNATUS11 = "¿Que diantres eres?"; -SWWM_SUBS_DEFAULT_EVITERNATUS12 = "Lo que sea que es eso, está cabreado."; -SWWM_SUBS_DEFAULT_EVITERNATUS13 = "Tú estás detrás de todo esto, ¿no?"; -SWWM_SUBS_DEFAULT_EVITERNATUS14 = "Hora del jefe final..."; -SWWM_SUBS_DEFAULT_EVITERNATUS21 = "Oh perfecto, ha vuelto."; -SWWM_SUBS_DEFAULT_EVITERNATUS22 = "¿Quieres más? ¡Pues vamos!"; -SWWM_SUBS_DEFAULT_EVITERNATUS23 = "Muy bien, segundo asalto."; -SWWM_SUBS_DEFAULT_EVITERNATUS24 = "Aun no he terminado contigo."; -SWWM_SUBS_DEFAULT_EVITERNATUS31 = "¿Que demonios?"; -SWWM_SUBS_DEFAULT_EVITERNATUS32 = "¡Madre mía aun sigue vivo!"; -SWWM_SUBS_DEFAULT_EVITERNATUS33 = "Leñe, ¡pero muerete ya!"; -SWWM_SUBS_DEFAULT_EVITERNATUS34 = "¿Tercer... Asalto?"; -SWWM_SUBS_DEFAULT_EVITERNATUS35 = "Bueno, a la tercera va la vencida."; +SWWM_SUBS_DEFAULT_ORIGIN11 = "¿Que diantres eres?"; +SWWM_SUBS_DEFAULT_ORIGIN12 = "Lo que sea que es eso, está cabreado."; +SWWM_SUBS_DEFAULT_ORIGIN13 = "Tú estás detrás de todo esto, ¿no?"; +SWWM_SUBS_DEFAULT_ORIGIN14 = "Hora del jefe final..."; +SWWM_SUBS_DEFAULT_ORIGIN21 = "Oh perfecto, ha vuelto."; +SWWM_SUBS_DEFAULT_ORIGIN22 = "¿Quieres más? ¡Pues vamos!"; +SWWM_SUBS_DEFAULT_ORIGIN23 = "Muy bien, segundo asalto."; +SWWM_SUBS_DEFAULT_ORIGIN24 = "Aun no he terminado contigo."; +SWWM_SUBS_DEFAULT_ORIGIN31 = "¿Que demonios?"; +SWWM_SUBS_DEFAULT_ORIGIN32 = "¡Madre mía aun sigue vivo!"; +SWWM_SUBS_DEFAULT_ORIGIN33 = "Leñe, ¡pero muerete ya!"; +SWWM_SUBS_DEFAULT_ORIGIN34 = "¿Tercer... Asalto?"; +SWWM_SUBS_DEFAULT_ORIGIN35 = "Bueno, a la tercera va la vencida."; // "hself ruoy erutrot lliw I" (supposedly) SWWM_SUBS_DEFAULT_DSPARILA1 = "Oh pero mírate, si es caperucita roja."; SWWM_SUBS_DEFAULT_DSPARILA2 = "¿Por que no te bajas de esa cosa y hablamos?"; diff --git a/language.version b/language.version index 67e77878b..2d90a495d 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1149 \cu(Mon Sep 30 20:47:23 CEST 2024)\c-"; -SWWM_SHORTVER="\cw1.3pre r1149 \cu(2024-09-30 20:47:23)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1150 \cu(Mon Sep 30 21:24:34 CEST 2024)\c-"; +SWWM_SHORTVER="\cw1.3pre r1150 \cu(2024-09-30 21:24:34)\c-"; diff --git a/sndinfo.defvoice b/sndinfo.defvoice index 51ad4cf0e..e0d7db6d0 100644 --- a/sndinfo.defvoice +++ b/sndinfo.defvoice @@ -356,20 +356,20 @@ voice/default/archangelus5 = "sounds/voice/default/va/demoarchangelus5.ogg" voice/default/archangelus6 = "sounds/voice/default/va/demoarchangelus6.ogg" voice/default/archangelus7 = "sounds/voice/default/va/demoarchangelus7.ogg" voice/default/archangelus8 = "sounds/voice/default/va/demoarchangelus8.ogg" -voice/default/eviternatus11 = "sounds/voice/default/va/demoeviternatus11.ogg" -voice/default/eviternatus12 = "sounds/voice/default/va/demoeviternatus12.ogg" -voice/default/eviternatus13 = "sounds/voice/default/va/demoeviternatus13.ogg" -voice/default/eviternatus14 = "sounds/voice/default/va/demoeviternatus14.ogg" -voice/default/eviternatus15 = "sounds/voice/default/va/demoeviternatus15.ogg" -voice/default/eviternatus21 = "sounds/voice/default/va/demoeviternatus21.ogg" -voice/default/eviternatus22 = "sounds/voice/default/va/demoeviternatus22.ogg" -voice/default/eviternatus23 = "sounds/voice/default/va/demoeviternatus23.ogg" -voice/default/eviternatus24 = "sounds/voice/default/va/demoeviternatus24.ogg" -voice/default/eviternatus31 = "sounds/voice/default/va/demoeviternatus31.ogg" -voice/default/eviternatus32 = "sounds/voice/default/va/demoeviternatus32.ogg" -voice/default/eviternatus33 = "sounds/voice/default/va/demoeviternatus33.ogg" -voice/default/eviternatus34 = "sounds/voice/default/va/demoeviternatus34.ogg" -voice/default/eviternatus35 = "sounds/voice/default/va/demoeviternatus35.ogg" +voice/default/origin11 = "sounds/voice/default/va/demoorigin11.ogg" +voice/default/origin12 = "sounds/voice/default/va/demoorigin12.ogg" +voice/default/origin13 = "sounds/voice/default/va/demoorigin13.ogg" +voice/default/origin14 = "sounds/voice/default/va/demoorigin14.ogg" +voice/default/origin15 = "sounds/voice/default/va/demoorigin15.ogg" +voice/default/origin21 = "sounds/voice/default/va/demoorigin21.ogg" +voice/default/origin22 = "sounds/voice/default/va/demoorigin22.ogg" +voice/default/origin23 = "sounds/voice/default/va/demoorigin23.ogg" +voice/default/origin24 = "sounds/voice/default/va/demoorigin24.ogg" +voice/default/origin31 = "sounds/voice/default/va/demoorigin31.ogg" +voice/default/origin32 = "sounds/voice/default/va/demoorigin32.ogg" +voice/default/origin33 = "sounds/voice/default/va/demoorigin33.ogg" +voice/default/origin34 = "sounds/voice/default/va/demoorigin34.ogg" +voice/default/origin35 = "sounds/voice/default/va/demoorigin35.ogg" voice/default/dsparila1 = "sounds/voice/default/va/demodsparila1.ogg" voice/default/dsparila2 = "sounds/voice/default/va/demodsparila2.ogg" voice/default/dsparila3 = "sounds/voice/default/va/demodsparila3.ogg" diff --git a/zscript/handler/swwm_handler_vanillaboss.zsc b/zscript/handler/swwm_handler_vanillaboss.zsc index b1a3351bd..71c51ab27 100644 --- a/zscript/handler/swwm_handler_vanillaboss.zsc +++ b/zscript/handler/swwm_handler_vanillaboss.zsc @@ -99,8 +99,8 @@ extend Class SWWMHandler ui Font mSmallFont, mTinyFont; bool archangelus_zapped; // skips second phase dialogue - bool eviternatus_zapped; // bonus dlg for ynykron survival - bool eviternatus_postzap; // so the bonus dlg doesn't play twice + bool origin_zapped; // bonus dlg for ynykron survival + bool origin_postzap; // so the bonus dlg doesn't play twice enum EVanillaMap { @@ -471,15 +471,15 @@ extend Class SWWMHandler } else if ( bossmap == MAP_EVIIMAP30 ) { - if ( e.Thing.GetClassName() == "EviternatusAntaSpawner" ) + if ( (e.Thing.GetClassName() == "The_Origin_Phase_1_Spawner") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1_Spawner") ) { bossactors.Push(e.Thing); bossviewactor = e.Thing; - bosstag = "$BT_EVITERNATUS"; + bosstag = "$BT_ORIGIN"; // hack to avoid "all clear" between phases level.total_monsters += 3; } - else if ( e.Thing.GetClassName() == "EviternatusAnta" ) + else if ( (e.Thing.GetClassName() == "The_Origin_Phase_1") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1") ) { // first phase bossactors.Clear(); @@ -487,13 +487,13 @@ extend Class SWWMHandler initialized = false; bossactors.Push(e.Thing); e.Thing.StartHealth = e.Thing.Health *= 5; - bosstag = "$BT_EVITERNATUS"; + bosstag = "$BT_ORIGIN"; e.Thing.GiveInventory('BossMarker',1); e.Thing.GiveInventory('EndgameBossMarker',1); // undo the hack (part 1) level.total_monsters--; } - else if ( e.Thing.GetClassName() == "EviternatusBete" ) + else if ( (e.Thing.GetClassName() == "The_Origin_Phase_2") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_2") ) { // second phase bossactors.Clear(); @@ -501,19 +501,19 @@ extend Class SWWMHandler initialized = false; bossactors.Push(e.Thing); e.Thing.StartHealth = e.Thing.Health *= 5; - bosstag = "$BT_EVITERNATUS"; + bosstag = "$BT_ORIGIN"; e.Thing.GiveInventory('BossMarker',1); e.Thing.GiveInventory('EndgameBossMarker',1); - if ( eviternatus_zapped ) + if ( origin_zapped ) { - eviternatus_postzap = true; + origin_postzap = true; SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2N"); } else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2L"); // undo the hack (part 2) level.total_monsters--; } - else if ( e.Thing.GetClassName() == "EviternatusCeph" ) + else if ( (e.Thing.GetClassName() == "The_Origin_Phase_3") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_3") ) { // third phase bossactors.Clear(); @@ -521,12 +521,12 @@ extend Class SWWMHandler initialized = false; bossactors.Push(e.Thing); e.Thing.StartHealth = e.Thing.Health *= 5; - bosstag = "$BT_EVITERNATUS"; + bosstag = "$BT_ORIGIN"; e.Thing.GiveInventory('BossMarker',1); e.Thing.GiveInventory('EndgameBossMarker',1); - if ( eviternatus_zapped ) + if ( origin_zapped ) { - if ( eviternatus_postzap ) + if ( origin_postzap ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2O"); else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2N"); } @@ -581,12 +581,12 @@ extend Class SWWMHandler else if ( bossmap == MAP_EVIIMAP30 ) { highesttic = gametic; - if ( a.GetClassName() == "EviternatusAnta" ) - lastcombat = AddOneliner("eviternatus1",1,40); - else if ( a.GetClassName() == "EviternatusBete" ) - lastcombat = AddOneliner("eviternatus2",1,40); - else if ( a.GetClassName() == "EviternatusCeph" ) - lastcombat = AddOneliner("eviternatus3",1,40); + if ( (a.GetClassName() == "The_Origin_Phase_1") || (a.GetClassName() == "The_Absolute_Origin_Phase_1") ) + lastcombat = AddOneliner("origin1",1,40); + else if ( (a.GetClassName() == "The_Origin_Phase_2") || (a.GetClassName() == "The_Absolute_Origin_Phase_2") ) + lastcombat = AddOneliner("origin2",1,40); + else if ( (a.GetClassName() == "The_Origin_Phase_3") || (a.GetClassName() == "The_Absolute_Origin_Phase_3") ) + lastcombat = AddOneliner("origin3",1,40); } break; } diff --git a/zscript/handler/swwm_handler_worldthings.zsc b/zscript/handler/swwm_handler_worldthings.zsc index e84d16678..f4428e6fa 100644 --- a/zscript/handler/swwm_handler_worldthings.zsc +++ b/zscript/handler/swwm_handler_worldthings.zsc @@ -135,11 +135,13 @@ extend Class SWWMHandler a.DamageMobj(e.Thing,e.Thing,a.Health,'EndMii',DMG_FORCED|DMG_THRUSTLESS); } } - // Eviternatus instakill - if ( ((e.Thing.GetClassName() == "EviternatusAnta") || (e.Thing.GetClassName() == "EviternatusBete")) && (e.Thing.DamageType == 'Ynykron') ) + // Origin instakill + if ( ((e.Thing.GetClassName() == "The_Origin_Phase_1") || (e.Thing.GetClassName() == "The_Origin_Phase_2") + || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_2")) + && (e.Thing.DamageType == 'Ynykron') ) { // this will trigger special dialogue on the next phase - eviternatus_zapped = true; + origin_zapped = true; } if ( swwm_partytime ) { @@ -293,7 +295,7 @@ extend Class SWWMHandler e.Thing.SetTag("$FN_DUKE"); else if ( e.Thing.GetClassName() == "AstralBabycaco" ) e.Thing.SetTag("$FN_ASTRALBABY"); - else if ( e.Thing.GetClassName() == "NAC" ) + else if ( e.Thing.GetClassName() == "NightmareCacodemon" ) e.Thing.SetTag("$FN_NAC"); else if ( e.Thing.GetClassName() == "AstralMancubus" ) e.Thing.SetTag("$FN_ASTRALFATSO"); @@ -302,10 +304,17 @@ extend Class SWWMHandler || (e.Thing.GetClassName() == "NecromenaceC") || (e.Thing.GetClassName() == "NecromenaceD") ) e.Thing.SetTag("$FN_NECROMENACE"); - else if ( (e.Thing.GetClassName() == "EviternatusAnta") - || (e.Thing.GetClassName() == "EviternatusBete") - || (e.Thing.GetClassName() == "EviternatusCeph") ) - e.Thing.SetTag("$FN_EVITERNATUS"); + else if ( (e.Thing.GetClassName() == "The_Origin_Phase_1") + || (e.Thing.GetClassName() == "The_Origin_Phase_2") + || (e.Thing.GetClassName() == "The_Origin_Phase_3") + || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1") + || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_2") + || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_3") ) + e.Thing.SetTag("$FN_ORIGIN"); + else if ( e.Thing.GetClassName() == "SpectralAstralCacodemon" ) + e.Thing.SetTag("$FN_SAC"); + else if ( e.Thing.GetClassName() == "GrandDukeofHell" ) + e.Thing.SetTag("$FN_GDUKE"); // doom vacation stuff else if ( indoomvacation ) { diff --git a/zscript/utility/swwm_utility_compat.zsc b/zscript/utility/swwm_utility_compat.zsc index df75324c9..6e3b8b38b 100644 --- a/zscript/utility/swwm_utility_compat.zsc +++ b/zscript/utility/swwm_utility_compat.zsc @@ -79,7 +79,7 @@ extend Class SWWMUtility { foreach ( cls:AllActorClasses ) { - if ( cls.GetClassName() != "EviternatusAnta" ) + if ( cls.GetClassName() != "The_Origin_Phase_1" ) continue; return true; } diff --git a/zscript/utility/swwm_utility_info.zsc b/zscript/utility/swwm_utility_info.zsc index a1027936e..caad21722 100644 --- a/zscript/utility/swwm_utility_info.zsc +++ b/zscript/utility/swwm_utility_info.zsc @@ -250,7 +250,7 @@ extend Class SWWMUtility case 'AstralBabyCaco': basetag = "ASTRALBABY"; break; - case 'NAC': + case 'NightmareCacodemon': basetag = "NAC"; break; case 'AstralMancubus': @@ -262,10 +262,19 @@ extend Class SWWMUtility case 'NecromenaceD': basetag = "NECROMENACE"; break; - case 'EviternatusAnta': - case 'EviternatusBete': - case 'EviternatusCeph': - basetag = "EVITERNATUS"; + case 'The_Origin_Phase_1': + case 'The_Origin_Phase_2': + case 'The_Origin_Phase_3': + case 'The_Absolute_Origin_Phase_1': + case 'The_Absolute_Origin_Phase_2': + case 'The_Absolute_Origin_Phase_3': + basetag = "ORIGIN"; + break; + case 'SpectralAstralCacodemon': + basetag = "SAC"; + break; + case 'GrandDukeofHell': + basetag = "GDUKE"; break; } if ( basetag == "" ) return a.GetTag(defstr); @@ -312,6 +321,12 @@ extend Class SWWMUtility if ( a.GetClassName() == 'LostSoulCount' ) return 'LostSoul'; if ( a.GetClassName() == 'CyberdemonEvit2' ) return 'Cyberdemon'; if ( a.GetClassName() == 'CyberdemonMAP24' ) return 'Cyberdemon'; + // merge all boss phases into one entry + if ( a.GetClassName() == 'The_Origin_Phase_2' ) return 'The_Origin_Phase_1'; + if ( a.GetClassName() == 'The_Origin_Phase_3' ) return 'The_Origin_Phase_1'; + if ( a.GetClassName() == 'The_Absolute_Origin_Phase_1' ) return 'The_Origin_Phase_1'; + if ( a.GetClassName() == 'The_Absolute_Origin_Phase_2' ) return 'The_Origin_Phase_1'; + if ( a.GetClassName() == 'The_Absolute_Origin_Phase_2' ) return 'The_Origin_Phase_1'; // heretic monsters if ( a == 'Sorcerer2' ) return 'Sorcerer1'; if ( a == 'HereticImpLeader' ) return 'HereticImp';