Sigil 2 (v1.0) and Eviternity 2 (RC5) support.
+ Invinciball activation now voiced by Demo (thanks, Vyolette). + Retooled exit line merging (should fix those pesky duplicate exit markers). Note: Oneliners for the Eviternity 2 final boss are not voiced yet.
This commit is contained in:
parent
9a252b72fe
commit
cbb1b2a8cb
|
@ -44,6 +44,9 @@ More weapons, because we need 'em. In addition, a bunch of cleanup in base weapo
|
|||
- [x] Wallbuster tops up buckshot one cylinder at a time until stopped
|
||||
- [x] Remove all missile types except blazers, and rewrite the absolute mess of code the Hellblazer currently is
|
||||
- [x] Remove FCB rounds, and simplify Silver Bullet JET inputs
|
||||
* [x] **Additional WAD Compatibility:**
|
||||
- [x] SIGIL 2
|
||||
- [x] Eviternity 2
|
||||
|
||||
## 1.4 update *(Fine Refinements)*:
|
||||
|
||||
|
|
|
@ -34,6 +34,13 @@ DLG SIGIL
|
|||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG SIGIL2
|
||||
SEQ CYTHO
|
||||
NAME CYTHOSIGIL2
|
||||
CNT 4
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
# Doom 2
|
||||
DLG DIMPLE
|
||||
SEQ SAYA
|
||||
|
@ -134,3 +141,117 @@ DLG EVIB
|
|||
DELAY 20
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2A
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2A
|
||||
CNT 4
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2B
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2B
|
||||
CNT 5
|
||||
DELAY 30
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2C
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2C
|
||||
CNT 2
|
||||
DELAY 20
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2D
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2D
|
||||
CNT 2
|
||||
DELAY 30
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2E
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2E
|
||||
CNT 4
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2F
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2F
|
||||
CNT 4
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2G
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2G
|
||||
CNT 4
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2H
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2H
|
||||
CNT 3
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2I
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2I
|
||||
CNT 4
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2J
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2J
|
||||
CNT 2
|
||||
DELAY 120
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2K
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2K
|
||||
CNT 2
|
||||
DELAY 40
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2L
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2L
|
||||
CNT 2
|
||||
DELAY 20
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2M
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2M
|
||||
CNT 1
|
||||
DELAY 20
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2N
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2N
|
||||
CNT 2
|
||||
DELAY 20
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2O
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2O
|
||||
CNT 1
|
||||
DELAY 20
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
DLG EV2P
|
||||
SEQ SAYA
|
||||
NAME SAYAEV2P
|
||||
CNT 3
|
||||
DELAY 20
|
||||
STARTDELAY 10
|
||||
ENDDELAY 20
|
||||
ENDSEQ
|
||||
ENDDLG
|
||||
|
|
|
@ -315,12 +315,13 @@ FN_SPIDER_FUN2 = "Big Momma";
|
|||
FN_SPIDER_FUN3 = "Oversized Krang";
|
||||
FN_SPIDER_FUN4 = "Not Mother Brain";
|
||||
FN_SPIDER_FUN5 = "Massive Nerd";
|
||||
FN_CYBER_FUNN = "5";
|
||||
FN_CYBER_FUNN = "6";
|
||||
FN_CYBER_FUN1 = "Dat Ass";
|
||||
FN_CYBER_FUN2 = "An Arm And A Leg";
|
||||
FN_CYBER_FUN3 = "My Goat Is Augmented";
|
||||
FN_CYBER_FUN3 = "My Cow Is Augmented";
|
||||
FN_CYBER_FUN4 = "Circlestrafe Practice";
|
||||
FN_CYBER_FUN5 = "Shoot At It Until It Dies";
|
||||
FN_CYBER_FUN6 = "Moo Cow";
|
||||
FN_WOLFSS_FUNN = "3";
|
||||
FN_WOLFSS_FUN1 = "Mein Lieben";
|
||||
FN_WOLFSS_FUN2 = "Blondie";
|
||||
|
@ -357,14 +358,14 @@ FN_MUMMY_FUN1 = "Toilet Paper";
|
|||
FN_MUMMY_FUN2 = "Mediocre Mummy";
|
||||
FN_MUMMY_FUN3 = "Crappy Golem";
|
||||
FN_MUMMYLEADER_FUNN = "3";
|
||||
FN_MUMMYLEADER_FUN1 = "Toilet Paper whomst Scream";
|
||||
FN_MUMMYLEADER_FUN2 = "Mediocre Mummy whomst Scream";
|
||||
FN_MUMMYLEADER_FUN3 = "Crappy Golem whomst Scream";
|
||||
FN_MUMMYLEADER_FUN1 = "Toilet Paper Whomst Scream";
|
||||
FN_MUMMYLEADER_FUN2 = "Mediocre Mummy Whomst Scream";
|
||||
FN_MUMMYLEADER_FUN3 = "Crappy Golem Whomst Scream";
|
||||
FN_SNAKE_FUNN = "2";
|
||||
FN_SNAKE_FUN1 = "Snek";
|
||||
FN_SNAKE_FUN2 = "No Steppy";
|
||||
FN_WIZARD_FUNN = "4";
|
||||
FN_WIZARD_FUN1 = "Yer a Wizard, Harry";
|
||||
FN_WIZARD_FUN1 = "Yer A Wizard, Harry";
|
||||
FN_WIZARD_FUN2 = "A Wizard Did It";
|
||||
FN_WIZARD_FUN3 = "Magic Man";
|
||||
FN_WIZARD_FUN4 = "Floating Rags";
|
||||
|
@ -379,7 +380,7 @@ FN_DEMON1_FUN3 = "Big Chomper";
|
|||
FN_DEMON1_FUN4 = "Goatee Haver";
|
||||
FN_ETTIN_FUNN = "3";
|
||||
FN_ETTIN_FUN1 = "Double Boi";
|
||||
FN_ETTIN_FUN2 = "Idiot with Club";
|
||||
FN_ETTIN_FUN2 = "Idiot With Club";
|
||||
FN_ETTIN_FUN3 = "Low Level Mook";
|
||||
FN_CENTAUR_FUNN = "3";
|
||||
FN_CENTAUR_FUN1 = "Shield Idiot";
|
||||
|
@ -448,6 +449,69 @@ FN_NDEMON_FUNN = "3";
|
|||
FN_NDEMON_FUN1 = "Greenie";
|
||||
FN_NDEMON_FUN2 = "Angry Greens";
|
||||
FN_NDEMON_FUN3 = "Spinach Demon";
|
||||
// eviternity 2 tags
|
||||
FN_FCORPORAL = "Former Corporal";
|
||||
FN_FCORPORAL_FUNN = "3";
|
||||
FN_FCORPORAL_FUN1 = "Green Schmuck";
|
||||
FN_FCORPORAL_FUN2 = "Big Bullet Zomb";
|
||||
FN_FCORPORAL_FUN3 = "Zombogreen";
|
||||
FN_ASTRALARACH = "Astral Arachnotron";
|
||||
FN_ASTRALARACH_FUNN = "4";
|
||||
FN_ASTRALARACH_FUN1 = "Nasty Spammer";
|
||||
FN_ASTRALARACH_FUN2 = "Barrage Baby";
|
||||
FN_ASTRALARACH_FUN3 = "Lotsa Plasmas";
|
||||
FN_ASTRALARACH_FUN4 = "Grayed Spooder";
|
||||
FN_VEILIMP = "Veil Imp";
|
||||
FN_VEILIMP_FUNN = "5";
|
||||
FN_VEILIMP_FUN1 = "Hot Pink";
|
||||
FN_VEILIMP_FUN2 = "Blink Twink";
|
||||
FN_VEILIMP_FUN3 = "Fuchsia Boy";
|
||||
FN_VEILIMP_FUN4 = "He Teleport";
|
||||
FN_VEILIMP_FUN5 = "Oversaturated";
|
||||
FN_ASTRALGOLD = "Golden Astral Cacodemon";
|
||||
FN_ASTRALGOLD_FUNN = "5";
|
||||
FN_ASTRALGOLD_FUN1 = "Golden Boy";
|
||||
FN_ASTRALGOLD_FUN2 = "Ball O' Gold";
|
||||
FN_ASTRALGOLD_FUN3 = "Shiny Cacodemon";
|
||||
FN_ASTRALGOLD_FUN4 = "Bling Ball";
|
||||
FN_ASTRALGOLD_FUN5 = "Rich Friend";
|
||||
FN_DUKE = "Duke Of Hell";
|
||||
FN_DUKE_FUNN = "6";
|
||||
FN_DUKE_FUN1 = "Balls Of Green";
|
||||
FN_DUKE_FUN2 = "Duki Nuki";
|
||||
FN_DUKE_FUN3 = "Hell Duck";
|
||||
FN_DUKE_FUN4 = "Douche of Hell";
|
||||
FN_DUKE_FUN5 = "The Goat Is Green";
|
||||
FN_DUKE_FUN6 = "Brazil";
|
||||
FN_ASTRALBABY = "Astral Baby Cacodemon";
|
||||
FN_ASTRALBABY_FUNN = "4";
|
||||
FN_ASTRALBABY_FUN1 = "Smol Husk";
|
||||
FN_ASTRALBABY_FUN2 = "Adorable";
|
||||
FN_ASTRALBABY_FUN3 = "Little Gray Ball";
|
||||
FN_ASTRALBABY_FUN4 = "Fun-Sized Hisser";
|
||||
FN_NAC = "Nightmare Astral Cacodemon";
|
||||
FN_NAC_FUNN = "6";
|
||||
FN_NAC_FUN1 = "Holy Fuckball";
|
||||
FN_NAC_FUN2 = "Spooky Green Hiss";
|
||||
FN_NAC_FUN3 = "Horrifying";
|
||||
FN_NAC_FUN4 = "Terrifying";
|
||||
FN_NAC_FUN5 = "SCARY";
|
||||
FN_NAC_FUN6 = "Hardcore Meatball";
|
||||
FN_ASTRALFATSO = "Astral Mancubus";
|
||||
FN_ASTRALFATSO_FUNN = "4";
|
||||
FN_ASTRALFATSO_FUN1 = "Big Fuck";
|
||||
FN_ASTRALFATSO_FUN2 = "Fat Bastard";
|
||||
FN_ASTRALFATSO_FUN3 = "Dark Fats";
|
||||
FN_ASTRALFATSO_FUN4 = "Charred Lard";
|
||||
FN_NECROMENACE = "Necromenace";
|
||||
FN_NECROMENACE_FUNN = "5";
|
||||
FN_NECROMENACE_FUN1 = "Rise From Your Grave";
|
||||
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";
|
||||
// ultimate doom 2 tags
|
||||
FN_ELITEZOMBIE = "Elite Zombie";
|
||||
FN_ELITEZOMBIE_FUNN = "3";
|
||||
|
@ -592,6 +656,24 @@ OBITUARY_NIGHTMAREDEMON = "%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.";
|
||||
// eviternity 2 obituaries
|
||||
OB_CORPORAL = "%o caught a big bullet from that green dude.";
|
||||
OB_ASTRALBABY = "%o ate a whole lot of plasma.";
|
||||
OB_NIGHTMARE = "$$OBITUARY_NIGHTMAREDEMON";
|
||||
OB_ANNIHILATOR = "$$OBITUARY_ANNIHILATOR";
|
||||
OB_ASTRALCACO = "$$OB_ASTRAL";
|
||||
OB_VEILIMP = "%o got scalded by some pink punk.";
|
||||
OB_GOLDENCACO = "%o thinks that might have been a bit too much.";
|
||||
OB_DUKE = "%o was sent to Brazil.";
|
||||
OB_ASTRALKIRBY = "%o got scorched by a very small gray ball friend.";
|
||||
OB_NAC = "%o couldn't outrun that green thing.";
|
||||
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.";
|
||||
// ultimate doom 2 obituaries
|
||||
OB_ELITEZOMBIE = "%o was shot rapidly by some elite guy.";
|
||||
// misc
|
||||
|
@ -845,6 +927,9 @@ BT_DOOMTEST = "Oatley, Bane of the Quakers";
|
|||
// eviternity
|
||||
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";
|
||||
// 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*";
|
||||
|
|
|
@ -36,6 +36,11 @@ SWWM_CYTHOSIGIL1 = "\cdDemo\c-, this is \cvCytho\c-. I've got an important messa
|
|||
SWWM_CYTHOSIGIL2 = "Prince Baphomet is satisfied with your efforts, and has opened a gate for you to return to Earth.";
|
||||
SWWM_CYTHOSIGIL3 = "Unfortunately, the gate is guarded by high level military demons, two of them, in fact.";
|
||||
SWWM_CYTHOSIGIL4 = "... Although, knowing you, I'm certain this will not be an issue, correct?";
|
||||
// E6M8
|
||||
SWWM_CYTHOSIGIL21 = "Ah, good, you're pretty close to their rearguard.";
|
||||
SWWM_CYTHOSIGIL22 = "If we play our cards right, this should catch them by surprise.";
|
||||
SWWM_CYTHOSIGIL23 = "Neutralizing the lieutenants in this area will deal a major blow, no doubt about it.";
|
||||
SWWM_CYTHOSIGIL24 = "They won't even know what hit them, they won't see you coming. Go for it, \cdDemo\c-!";
|
||||
// MAP07
|
||||
SWWM_SAYADIMPLE1 = "Hold up right there, \cdDemo-chan\c-. You're about to step in on dangerous territory.";
|
||||
SWWM_SAYADIMPLE2 = "This is the first line of defense that's been set up around the inner starport, and it's a bitch.";
|
||||
|
@ -112,6 +117,61 @@ SWWM_SAYAEVIA3 = "This whole place, though... Damn, I sure hope you've taken a l
|
|||
SWWM_SAYAEVIA4 = "I'm gonna go grab some popcorn now. This is gonna be an epic battle for sure, kihihihihi...";
|
||||
SWWM_SAYAEVIB1 = "What? This is some fucking videogame bullshit right there. You're telling me the guy has TWO HEALTHBARS???";
|
||||
SWWM_SAYAEVIB2 = "Bullshit, fucking bullshit! Absolute trash garbage bullshit! Kill his ass, \cdDemo-chan\c-!";
|
||||
// Eviternity 2 MAP01
|
||||
SWWM_SAYAEV2A1 = "Damn, finally, your video feed's back online.";
|
||||
SWWM_SAYAEV2A2 = "You had me worried there, \cdDemo\c-. We were basically blind for several minutes.";
|
||||
SWWM_SAYAEV2A3 = "... And I can already see that shit's definitely gone down after you beat that winged bastard.";
|
||||
SWWM_SAYAEV2A4 = "For now, better get out of there. I have this gut feeling that this isn't over yet.";
|
||||
SWWM_SAYAEV2B1 = "Is that thing... ... No, not even moving. Guess those were under that guy's control.";
|
||||
SWWM_SAYAEV2B2 = "You know, I'm still wondering what the hell those things even are.";
|
||||
SWWM_SAYAEV2B3 = "Not your ordinary Cacodemon, obviously. Looks like one, yeah, but there's... Dunno...";
|
||||
SWWM_SAYAEV2B4 = "Damn thing gives me the creeps. Probably made as some weirdass experiment by these people.";
|
||||
SWWM_SAYAEV2B5 = "Oh well... I'm just rambling here. Better get a move on.";
|
||||
SWWM_SAYAEV2C1 = "... That thing's gone.";
|
||||
SWWM_SAYAEV2C2 = "Now I REALLY have a bad feeling about this. Get out of there, right now.";
|
||||
SWWM_SAYAEV2D1 = "Those things are still alive. They're still moving around. I don't like this.";
|
||||
SWWM_SAYAEV2D2 = "Run, \cdDemo\c-. Please run.";
|
||||
// Eviternity 2 MAP05
|
||||
SWWM_SAYAEV2E1 = "It's not over. We've seen that there's still demons prowling around, shit's falling apart, too...";
|
||||
SWWM_SAYAEV2E2 = "Really need to figure out what's happening. If that guy wasn't the \"big bad\", then...";
|
||||
SWWM_SAYAEV2E3 = "For now, it's best you get out of this place, while kicking some demon ass along the way, of course.";
|
||||
SWWM_SAYAEV2E4 = "Good luck, \cdDemo-chan\c-. The mission's far from over, but you'll get through this, I know it.";
|
||||
// Eviternity 2 MAP10
|
||||
SWWM_SAYAEV2F1 = "I think we've had enough of ancient tombs, yeah.";
|
||||
SWWM_SAYAEV2F2 = "This was one unexpected detour, but the next stop should get us closer. It's a Faculty installation.";
|
||||
SWWM_SAYAEV2F3 = "Oh, and by the way, I finally got in contact with our \"informant\".";
|
||||
SWWM_SAYAEV2F4 = "I'll send you the details on your mission log, once the interview is over.";
|
||||
// Eviternity 2 MAP15
|
||||
SWWM_SAYAEV2G1 = "Almost there... Got word that the nearest portal out of here is a big one, so be prepared.";
|
||||
SWWM_SAYAEV2G2 = "I was also told that it involves another detour, but after that we should be \"right where we need to be\".";
|
||||
SWWM_SAYAEV2G3 = "Honestly, I don't get this whole portal system. It's so impractical...";
|
||||
SWWM_SAYAEV2G4 = "One of these days, I'll make the Akari Project into a real thing. Now THAT will be good portal technology.";
|
||||
// Eviternity 2 MAP20
|
||||
SWWM_SAYAEV2H1 = "Okay, enough of detours, enough of getting sidetracked, this is the one.";
|
||||
SWWM_SAYAEV2H2 = "Miss Nona has been dropping some heavy lore lately. You won't believe how crazy this shit gets.";
|
||||
SWWM_SAYAEV2H3 = "I'll try to squeeze it into the next mission log. You keep doing your thing, \cdDemo-chan\c-.";
|
||||
// Eviternity 2 MAP25
|
||||
SWWM_SAYAEV2I1 = "I'm... Still shaking from that.";
|
||||
SWWM_SAYAEV2I2 = "So THAT is the power of Qurensniv naval artillery. Holy... Crap.";
|
||||
SWWM_SAYAEV2I3 = "A-anyway... ... We uh... Yeah, this is it. Last line of defense. Beyond that, \"Its Astral Domain\".";
|
||||
SWWM_SAYAEV2I4 = "I'm sending you all of my energy, \cdDemo-chan\c-. My energy and my love. Fight on!";
|
||||
// Eviternity 2 MAP26
|
||||
SWWM_SAYAEV2J1 = "I don't like this. I don't like this at all. It's too quiet...";
|
||||
SWWM_SAYAEV2J2 = "Please be careful, \cdDemo\c-.";
|
||||
// Eviternity 2 MAP30
|
||||
SWWM_SAYAEV2K1 = "There is some wild-ass energy reading there. Something big, and ANGRY. This has to be it.";
|
||||
SWWM_SAYAEV2K2 = "Draw that fucking thing out, tear it apart, blow it to bits. Let's end this madness, \cdDemo-chan\c-!";
|
||||
SWWM_SAYAEV2L1 = "Of course it's going for another round. This fucking thing is persistent, seriously.";
|
||||
SWWM_SAYAEV2L2 = "Too bad, should've just run away, NOW you get to deal the killing blow.";
|
||||
SWWM_SAYAEV2M1 = "Oh for fuck's sake... This fucking monster doesn't know when to give up?";
|
||||
// Bonus
|
||||
SWWM_SAYAEV2N1 = "EXCUSE ME WHAT THE FUCK??? IT SURVIVED A SHOT FROM THE YNYKRON???";
|
||||
SWWM_SAYAEV2N2 = "WHAT THE FUCK IS THAT THING??? HOW IS IT STILL STANDING???";
|
||||
SWWM_SAYAEV2O1 = "WHY WON'T THIS THING DIE???";
|
||||
// Eviternity 2 MAP33
|
||||
SWWM_SAYAEV2P1 = "\cdDemo-chan\c-, I hope you're ready to run for your life.";
|
||||
SWWM_SAYAEV2P2 = "Like... I think this whole place is going to blow up as soon as you press that button?";
|
||||
SWWM_SAYAEV2P3 = "Seriously, once you hit it, just fucking run and don't stop!";
|
||||
// Heretic E1M8
|
||||
SWWM_SAYAMAW1 = "Here we are, in \"Hell's Maw\".";
|
||||
SWWM_SAYAMAW2 = "According to the Sidhe this houses the portal that connects to the demons' realm.";
|
||||
|
|
|
@ -59,6 +59,17 @@ SWWM_MISSION_SIGIL =
|
|||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_DOOM25 = "$$SWWM_MISSION_SIGIL";
|
||||
SWWM_MISSION_SIGIL2 =
|
||||
"We should have known that there would be an ambush on the other side, of course.\n"
|
||||
"\n"
|
||||
"This is definitely \cfEarth\c-, but damn, the demonic influence has fucked it all over beyond recognition. We gotta get out of here and fast.\n"
|
||||
"\n"
|
||||
"\cfCytho-sama\c- said that this is a good chance to deal some big damage, at least. The guys stationed here are some of the toughest around, and securing the area would definitely be a big help for others who are fighting.\n"
|
||||
"\n"
|
||||
"Still can't get over this whole sidetracking nonsense, though. I hope we get to the \cfUAC\c- starport in time, it's where the real battle is taking place, you know...\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_DOOM26 = "$$SWWM_MISSION_SIGIL2";
|
||||
SWWM_MISSION_DOOM5 =
|
||||
"Welcome to your first mission, \cfDemolitionist\c-. I'll be very direct here, the situation is very fucked. Things don't look good at all. Those fucking \cfUAC\c- idiots have done their worst and now we're paying for it. FUCK... THE... UAC... Seriously. If that damn brat \cfKelliher\c- didn't have me blocked I'd be sending him all sorts of shit right now, you can't even begin to imagine HOW fucking pissed I am...\n"
|
||||
"\n"
|
||||
|
@ -245,6 +256,84 @@ SWWM_MISSION_EVITERNITY8 =
|
|||
"Fuck 'em up, \cfDemo-chan\c-, and bust some walls while you're at it.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_EVITERNITYII1 =
|
||||
"Your video signal has dropped on our end, but I hope you can still read this.\n"
|
||||
"\n"
|
||||
"Something's gone very wrong up there. Some of our contacts report that \cf\"the capital is falling apart\"\c-, and I don't like the sound of that in the slightest. Still, just stay where you are until we get this technical issue solved.\n"
|
||||
"\n"
|
||||
"I'll contact you again as soon as possible, \cfDemo-chan\c-.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_EVITERNITYII2 =
|
||||
"Yup, this definitely doesn't look good. The locals say the skies are \"crying\", and yup, it's raining up a storm for sure. Never had such gloomy weather in ages, as far as I've been told.\n"
|
||||
"\n"
|
||||
"What happened back there... Triggered something very bad. Something that probably can't be undone. And that \cf\"Astral Cacodemon\"\c- you saw before... Yeah. At first I thought those things were some experiment of the faculty, but the fact they're still prowling around, that's a bad omen right there.\n"
|
||||
"\n"
|
||||
"I need to make some calls. We're not getting the whole picture here.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_EVITERNITYII3 =
|
||||
"\cfDemo\c-, I genuinely have no idea where you are. There is no data on wherever you got sent to.\n"
|
||||
"\n"
|
||||
"I'm still trying to gather some information, at least, so we're not entirely blind here.\n"
|
||||
"\n"
|
||||
"Got a lead, though, insider information, from the \cfFaculty of Illuminated Nobodies\c- no less. Yup, the ones who started this whole shitshow. At last, we'll get to the bottom of this mess.\n"
|
||||
"\n"
|
||||
"In the meantime, try to find a way out of there. Wherever you are, it definitely isn't a friendly place, there are \cfArdent Energy\c- readings popping up, so that means there's demons.\n"
|
||||
"\n"
|
||||
"Kick ass, \cfDemo-chan\c-.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_EVITERNITYII4 =
|
||||
"Alright, here's the details.\n"
|
||||
"\n"
|
||||
"Took some effort to get her to talk, but there she is, our \"informant\". She introduced herself as \cf\"Nona Nobody\"\c-, a very blatantly fake name, but whatever, she was apparently once a high-ranking member of the \cfFaculty of Illuminated Nobodies\c-, and even had close contact with \cfUruk'Anth\c- himself. Yeah, the guy who pretended to be God with a capital G.\n"
|
||||
"\n"
|
||||
"The stuff she's telling me, oh boy. The Faculty really was into some shit, cosmic horror shit, no less. They made a deal with some entity from another universe or some shit, and that's where these weird, mutated demons are coming from, among other things. Magical augmentation, dark powers, clairvoyance, god knows what else... They swore loyalty to some lovecraftian deity or some shit, and now that you beat the crap outta them, the deal is broken and it's beginning to \"take it back\".\n"
|
||||
"\n"
|
||||
"If we don't get to the bottom of this, apparently, it could spell doom for not just the \cfXevetha\c- homeworld, but also every single other place that the Faculty has touched. This, as you may expect, includes \cfEarth\c-.\n"
|
||||
"\n"
|
||||
"To say this is bad news is an understatement. I don't know yet what exactly \"It\" is, but you will definitely find a way to kick its eldritch ass and save the world, for sure.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_EVITERNITYII5 =
|
||||
"This isn't \cfEarth\c-... Looks like you're back in \cfUrkai\c-. Well, that's one hell of a detour, then.\n"
|
||||
"\n"
|
||||
"You know, I was thinking back to what we just saw before. Really fucked that they were collaborating all along, the \cfUAC\c- and the faculty. Yeah, ever since they dismantled \cfSUSAN\c-, should have seen that coming from a mile away.\n"
|
||||
"\n"
|
||||
"Anyway, onwards on this mission, \cfDemo\c-, we're getting there.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_EVITERNITYII6 =
|
||||
"Boy, oh boy... First of all, we're back in \cfSiberia\c-, and this is definitely another abandoned faculty installation, all frozen over and shit. But of course, now it's riddled with hellspawn... And astral spawn, as well.\n"
|
||||
"\n"
|
||||
"Incoming lore dump, by the way.\n"
|
||||
"\n"
|
||||
"So you know how the faculty is directly responsible for the birth of most of demonkind, right? Tens of thousands of years ago, when they first settled on our planet... Yeah, well, things get interesting when you ask how exactly they figured out that whole thing of the \"demonization\" process, to mutate humans into demons, and all. Turns out that this was some shit that the director, the old dude, kept a secret from everybody. The inner workings of that tech were definitely not of \cfXevetha\c- design, there was some deep magic shit going on, and no one was to ask questions about it.\n"
|
||||
"\n"
|
||||
"Well, now we finally know. It's obvious, he got it from THAT thing. And that thing... Is the very origin of the madness that brought the faculty to exist in the first place. \cfUruk'Anth\c- accidentally discovered it, and saw that a pact with it would allow him and his disciples to reach godhood. This was after the \cfNedoshiaan incident\c-, y'know, when the tyrant god that he was working for was assassinated...\n"
|
||||
"\n"
|
||||
"OK, need to catch my breath here, this is a lot I've been writing, and there's still more.\n"
|
||||
"\n"
|
||||
"It's no secret that there are other universes, I've learned as much from the gods themselves. But it's generally rare for outside entities to just \"seep\" into our world, unless they are, well, OTHER gods.\n"
|
||||
"\n"
|
||||
"If that thing is really a god, it might be entirely immortal, and that's no good, \cfDemo-chan\c-.\n"
|
||||
"\n"
|
||||
"Still, you can definitely kick its ass until it can no longer stand up. Gods can bleed, after all, and you'll make it feel sorry for fucking with OUR world.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_EVITERNITYII7 =
|
||||
"Wherever you are, it's so far away we can't pinpoint it in any known starmap. Honestly, I'm surprised. With places like \cfHell\c-, that was still within our own universe, but somehow, everything still works just fine while you're... Outside.\n"
|
||||
"\n"
|
||||
"Props to the engineers behind the \cfBleaknet\c-, I guess, this whole system can somehow keep us in touch even between completely separate worlds. At least this way we can also guess that most fundamental laws are still the same, so there's that.\n"
|
||||
"\n"
|
||||
"Honestly, this whole thing of being in an entirely other universe... It's fascinating. I hope we get some spicy data on this place, heheh...\n"
|
||||
"\n"
|
||||
"Anyway, me nerding out aside, this is the supposed \cf\"Astral Realm\"\c-, the home of \cf\"The Origin\"\c-, as the folks from the faculty had known to name it. I assume there's a \"normal\" atmosphere in here, since your fuel supply is still being fed hydrogen from the environment... Other than that, yeah, complete alien territory.\n"
|
||||
"\n"
|
||||
"Be ready for anything, \cfDemo-chan\c-, you're in the final boss's lair now.\n"
|
||||
"\n"
|
||||
"Saya out.";
|
||||
SWWM_MISSION_HERETIC1 =
|
||||
"Welcome, \cfDemolitionist\c-, to this very special mission. While things have calmed down over here, we've been able to resume our work on the \cfAkari Project\c-. You know, the important one I've wanted to work on all my life. So far it's been a success, and you'll be the first to take part in the exploration of other worlds. We've scoured the multiverse for all sorts of interesting places, and this one in particular caught our eye. It is called \cfParthoris\c-, it's a realm of magic and elves and stuff, I dig it. Anyway, I hope the ride wasn't too bumpy, we haven't fine-tuned that yet.\n"
|
||||
"\n"
|
||||
|
|
|
@ -366,6 +366,23 @@ SWWM_SUBS_DEFAULT_ARCHANGELUS5 = "Aw, look at you with your fancy lil' wings and
|
|||
SWWM_SUBS_DEFAULT_ARCHANGELUS6 = "Yeah yeah, it's always the same with you people.";
|
||||
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.";
|
||||
// "hself ruoy erutrot lliw I" (supposedly)
|
||||
SWWM_SUBS_DEFAULT_NDSPARILA = "3";
|
||||
SWWM_SUBS_DEFAULT_DSPARILA1 = "Oh look at you, little red riding hood.";
|
||||
|
@ -473,6 +490,11 @@ SWWM_SUBS_DEFAULT_SMOOCH2 = "$$SWWM_SUBS_DEFAULT_SMOOCH1"; // all subtitles are
|
|||
SWWM_SUBS_DEFAULT_SMOOCH3 = "$$SWWM_SUBS_DEFAULT_SMOOCH1";
|
||||
// Sunlust MAP29
|
||||
SWWM_SUBS_DEFAULT_LUSTYSUNS = "Wait... What did that say?";
|
||||
// Invinciball use (no more Sundowner voiceclip)
|
||||
SWWM_SUBS_DEFAULT_NINVINCIBALL = "3";
|
||||
SWWM_SUBS_DEFAULT_INVINCIBALL1 = "I'm frickin' invincible!";
|
||||
SWWM_SUBS_DEFAULT_INVINCIBALL2 = "$$SWWM_SUBS_DEFAULT_INVINCIBALL1"; // all subtitles are the same here, only the sound changes
|
||||
SWWM_SUBS_DEFAULT_INVINCIBALL3 = "$$SWWM_SUBS_DEFAULT_INVINCIBALL1";
|
||||
// Randomization ranges for other voices
|
||||
SWWM_DEFAULT_NGRUNT = "5";
|
||||
SWWM_DEFAULT_NUSEGRUNT = "4";
|
||||
|
|
222
language.es_base
222
language.es_base
|
@ -179,109 +179,110 @@ QUITMSG18 = "El mundo es duro y frío,\nlos pechotes suaves y calientes.";
|
|||
FN_ZOMBIE_FUN1 = "Zombi";
|
||||
FN_ZOMBIE_FUN2 = "Muertito";
|
||||
FN_ZOMBIE_FUN3 = "El Zombito";
|
||||
FN_ZOMBIE_FUN4 = "Carne de cañón";
|
||||
FN_ZOMBIE_FUN4 = "Carne De Cañón";
|
||||
FN_ZOMBIE_FUN5 = "Perdedor";
|
||||
FN_SHOTGUN_FUN1 = "Zombi calvete";
|
||||
FN_SHOTGUN_FUN1 = "Zombi Calvete";
|
||||
FN_SHOTGUN_FUN2 = "Elmer Gruñón";
|
||||
FN_SHOTGUN_FUN3 = "Calvo";
|
||||
FN_SHOTGUN_FUN4 = "Escoputo";
|
||||
FN_SHOTGUN_FUN5 = "Wismichu";
|
||||
FN_HEAVY_FUN1 = "Tocacojones";
|
||||
FN_HEAVY_FUN2 = "¿Por que estoy perdiendo vida?";
|
||||
FN_HEAVY_FUN4 = "Tío cabreado";
|
||||
FN_HEAVY_FUN5 = "Capullo con Metralleta";
|
||||
FN_HEAVY_FUN2 = "¿Por Que Estoy Perdiendo Vida?";
|
||||
FN_HEAVY_FUN4 = "Tío Cabreado";
|
||||
FN_HEAVY_FUN5 = "Capullo Con Metralleta";
|
||||
FN_IMP_FUN1 = "Pinchitos";
|
||||
FN_IMP_FUN3 = "Yogurín Infernal";
|
||||
FN_IMP_FUN5 = "Glúteos firmes";
|
||||
FN_IMP_FUN5 = "Glúteos Firmes";
|
||||
FN_DEMON_FUN1 = "Rosita";
|
||||
FN_DEMON_FUN2 = "Gorila afeitado";
|
||||
FN_DEMON_FUN3 = "Mucha boca poco cerebro";
|
||||
FN_DEMON_FUN2 = "Gorila Afeitado";
|
||||
FN_DEMON_FUN3 = "Mucha Boca Poco Cerebro";
|
||||
FN_DEMON_FUN4 = "Muerdesito";
|
||||
FN_SPECTRE_FUN1 = "Borroncito";
|
||||
FN_SPECTRE_FUN2 = "Rosita camuflado";
|
||||
FN_SPECTRE_FUN3 = "Mordisquito sorpresa";
|
||||
FN_SPECTRE_FUN4 = "Gorila sigiloso";
|
||||
FN_SPECTRE_FUN2 = "Rosita Camuflado";
|
||||
FN_SPECTRE_FUN3 = "Mordisquito Sorpresa";
|
||||
FN_SPECTRE_FUN4 = "Gorila Sigiloso";
|
||||
FN_LOST_FUN1 = "Calaverita";
|
||||
FN_LOST_FUN2 = "Bicho";
|
||||
FN_LOST_FUN3 = "Cabeza tonta";
|
||||
FN_LOST_FUN3 = "Cabeza Tonta";
|
||||
FN_LOST_FUN4 = "Idiota";
|
||||
FN_CACO_FUN1 = "Tomatín";
|
||||
FN_CACO_FUN2 = "Rojito";
|
||||
FN_CACO_FUN3 = "Albóndiga picante";
|
||||
FN_CACO_FUN4 = "Bola con forma de amigo";
|
||||
FN_CACO_FUN5 = "Bola acariciable";
|
||||
FN_HELL_FUN1 = "Barón de Hacendado";
|
||||
FN_HELL_FUN2 = "Cabra marrón";
|
||||
FN_HELL_FUN3 = "Primo del Señor Gruñón";
|
||||
FN_HELL_FUN4 = "Puerta con menos puntos de vida";
|
||||
FN_HELL_FUN5 = "Recorte de presupuesto";
|
||||
FN_CACO_FUN3 = "Albóndiga Picante";
|
||||
FN_CACO_FUN4 = "Bola Con Forma De Amigo";
|
||||
FN_CACO_FUN5 = "Bola Acariciable";
|
||||
FN_HELL_FUN1 = "Barón De Hacendado";
|
||||
FN_HELL_FUN2 = "Cabra Marrón";
|
||||
FN_HELL_FUN3 = "Primo Del Señor Gruñón";
|
||||
FN_HELL_FUN4 = "Puerta Con Menos Puntos De Vida";
|
||||
FN_HELL_FUN5 = "Recorte De Presupuesto";
|
||||
FN_BARON_FUN1 = "Señor Gruñón";
|
||||
FN_BARON_FUN2 = "Puerta con puntos de vida";
|
||||
FN_BARON_FUN3 = "Ola k ase";
|
||||
FN_BARON_FUN4 = "Cabra roja cabreada";
|
||||
FN_BARON_FUN5 = "Bloquea tu camino";
|
||||
FN_ARACH_FUN1 = "Ñiño araña";
|
||||
FN_BARON_FUN2 = "Puerta Con Puntos De Vida";
|
||||
FN_BARON_FUN3 = "Ola K Ase";
|
||||
FN_BARON_FUN4 = "Cabra Roja Cabreada";
|
||||
FN_BARON_FUN5 = "Bloquea Tu Camino";
|
||||
FN_ARACH_FUN1 = "Ñiño Araña";
|
||||
FN_ARACH_FUN2 = "Pequeñajo";
|
||||
FN_ARACH_FUN3 = "Retaco";
|
||||
FN_ARACH_FUN5 = "Arruga andante";
|
||||
FN_PAIN_FUN1 = "Dolor de culo";
|
||||
FN_PAIN_FUN2 = "Puta mierda";
|
||||
FN_PAIN_FUN3 = "Demonio más odiado";
|
||||
FN_PAIN_FUN4 = "Se acabó la fiesta";
|
||||
FN_PAIN_FUN5 = "Mierda con brazos";
|
||||
FN_ARACH_FUN5 = "Arruga Andante";
|
||||
FN_PAIN_FUN1 = "Dolor De Culo";
|
||||
FN_PAIN_FUN2 = "Puta Mierda";
|
||||
FN_PAIN_FUN3 = "Demonio Más Odiado";
|
||||
FN_PAIN_FUN4 = "Se Acabó La Fiesta";
|
||||
FN_PAIN_FUN5 = "Mierda Con Brazos";
|
||||
FN_REVEN_FUN2 = "Huesito Cabreado";
|
||||
FN_REVEN_FUN3 = "Esqueletín";
|
||||
FN_REVEN_FUN5 = "El Renasido";
|
||||
FN_MANCU_FUN1 = "Gordaco";
|
||||
FN_MANCU_FUN2 = "Don Tocino";
|
||||
FN_MANCU_FUN3 = "Culogordo";
|
||||
FN_MANCU_FUN4 = "Tu madre";
|
||||
FN_MANCU_FUN4 = "Tu Madre";
|
||||
FN_MANCU_FUN5 = "Gordo Cabrón";
|
||||
FN_ARCH_FUN1 = "1000 puntos menos";
|
||||
FN_ARCH_FUN1 = "1000 Puntos Menos";
|
||||
FN_ARCH_FUN2 = "Marsianito";
|
||||
FN_ARCH_FUN3 = "No gracias";
|
||||
FN_ARCH_FUN4 = "Te jodes";
|
||||
FN_ARCH_FUN5 = "Tu día ha sido arruinado";
|
||||
FN_ARCH_FUN3 = "No Gracias";
|
||||
FN_ARCH_FUN4 = "Te Jodes";
|
||||
FN_ARCH_FUN5 = "Tu Día Ha Sido Arruinado";
|
||||
FN_ARCH_FUN6 = "Nalgas Ardientes";
|
||||
FN_SPIDER_FUN1 = "Mami araña";
|
||||
FN_SPIDER_FUN2 = "Tu puta madre";
|
||||
FN_SPIDER_FUN3 = "Krang en grande";
|
||||
FN_SPIDER_FUN4 = "No es Mother Brain";
|
||||
FN_SPIDER_FUN1 = "Mami Araña";
|
||||
FN_SPIDER_FUN2 = "Tu Puta Madre";
|
||||
FN_SPIDER_FUN3 = "Krang En Grande";
|
||||
FN_SPIDER_FUN4 = "No Es Mother Brain";
|
||||
FN_SPIDER_FUN5 = "Superfriki";
|
||||
FN_CYBER_FUN1 = "Culazo";
|
||||
FN_CYBER_FUN2 = "Un brazo y una pierna";
|
||||
FN_CYBER_FUN3 = "Mi cabra está aumentada";
|
||||
FN_CYBER_FUN4 = "Práctica de esquivar";
|
||||
FN_CYBER_FUN5 = "Dispara hasta que muera";
|
||||
FN_WOLFSS_FUN1 = "Votante de VOX";
|
||||
FN_CYBER_FUN2 = "Un Brazo Y Una Pierna";
|
||||
FN_CYBER_FUN3 = "Mi Vaca Está Aumentada";
|
||||
FN_CYBER_FUN4 = "Práctica De Esquivar";
|
||||
FN_CYBER_FUN5 = "Dispara Hasta Que Muera";
|
||||
FN_CYBER_FUN6 = "Vaca Mú";
|
||||
FN_WOLFSS_FUN1 = "Votante De VOX";
|
||||
FN_WOLFSS_FUN2 = "Rubito";
|
||||
FN_WOLFSS_FUN3 = "Cosas nasis";
|
||||
FN_WOLFSS_FUN3 = "Cosas Nasis";
|
||||
FN_DOG_FUN = "Perrete";
|
||||
FN_CHICKEN_FUN = "POLLO";
|
||||
FN_CLINK_FUN1 = "Rasguñitos";
|
||||
FN_CLINK_FUN2 = "Cacharro";
|
||||
FN_CLINK_FUN3 = "Chatarra";
|
||||
FN_DSPARIL_FUN = "Caperucita Roja";
|
||||
FN_HERETICIMP_FUN1 = "Bicho con Alas";
|
||||
FN_HERETICIMP_FUN1 = "Bicho Con Alas";
|
||||
FN_HERETICIMP_FUN2 = "Minicapullo";
|
||||
FN_HERETICIMP_FUN3 = "Murciélago Molesto";
|
||||
FN_HERETICIMP_FUN4 = "Incordio con Alas";
|
||||
FN_HERETICIMP_FUN4 = "Incordio Con Alas";
|
||||
FN_IRONLICH_FUN1 = "Risitas";
|
||||
FN_IRONLICH_FUN2 = "Cabezón";
|
||||
FN_IRONLICH_FUN3 = "Sonrisitas";
|
||||
FN_IRONLICH_FUN4 = "Graciosillo";
|
||||
FN_BONEKNIGHT_FUN1 = "Huesos Agitados";
|
||||
FN_BONEKNIGHT_FUN2 = "Huesitos";
|
||||
FN_BONEKNIGHT_FUN4 = "Caballero de Calcio";
|
||||
FN_BONEKNIGHT_FUN4 = "Caballero De Calcio";
|
||||
FN_MINOTAUR_FUN1 = "Toro Ciclao";
|
||||
FN_MINOTAUR_FUN2 = "Fuertote";
|
||||
FN_MINOTAUR_FUN3 = "Muusculos";
|
||||
FN_MUMMY_FUN1 = "Papel de Culo";
|
||||
FN_MUMMY_FUN1 = "Papel De Culo";
|
||||
FN_MUMMY_FUN2 = "Momia Mediocre";
|
||||
FN_MUMMY_FUN3 = "Gólem Cutre";
|
||||
FN_MUMMYLEADER_FUN1 = "Papel de Culo que Grita";
|
||||
FN_MUMMYLEADER_FUN2 = "Momia Mediocre que Grita";
|
||||
FN_MUMMYLEADER_FUN3 = "Gólem Cutre que Grita";
|
||||
FN_MUMMYLEADER_FUN1 = "Papel De Culo Que Grita";
|
||||
FN_MUMMYLEADER_FUN2 = "Momia Mediocre Que Grita";
|
||||
FN_MUMMYLEADER_FUN3 = "Gólem Cutre Que Grita";
|
||||
FN_SNAKE_FUN1 = "Culebrilla";
|
||||
FN_SNAKE_FUN2 = "No Pisar";
|
||||
FN_WIZARD_FUN1 = "Eres Un Mago, Harry";
|
||||
|
@ -292,29 +293,29 @@ FN_FIREDEMON_FUN1 = "Bicho Ardiente";
|
|||
FN_FIREDEMON_FUN2 = "Inflamadito";
|
||||
FN_FIREDEMON_FUN3 = "Alitas Picantes";
|
||||
FN_DEMON1_FUN1 = "Lagarto Grandote";
|
||||
FN_DEMON1_FUN2 = "Dragón de Hacendado";
|
||||
FN_DEMON1_FUN2 = "Dragón De Hacendado";
|
||||
FN_DEMON1_FUN3 = "Mordisquitos";
|
||||
FN_DEMON1_FUN4 = "Bicho con Perilla";
|
||||
FN_DEMON1_FUN4 = "Bicho Con Perilla";
|
||||
FN_ETTIN_FUN1 = "Perrito Doble";
|
||||
FN_ETTIN_FUN2 = "Idiota con Garrote";
|
||||
FN_ETTIN_FUN3 = "Bicho de Bajo Nivel";
|
||||
FN_CENTAUR_FUN1 = "Idiota con Escudo";
|
||||
FN_CENTAUR_FUN2 = "Capullo con Escudo";
|
||||
FN_CENTAUR_FUN3 = "Bastardo con Escudo";
|
||||
FN_SLAUGHTAUR_FUN1 = "Idiota Estúpido con Escudo";
|
||||
FN_SLAUGHTAUR_FUN2 = "Capullo Asqueroso con Escudo";
|
||||
FN_SLAUGHTAUR_FUN3 = "Bastardo Hijoperra con Escudo";
|
||||
FN_ETTIN_FUN2 = "Idiota Con Garrote";
|
||||
FN_ETTIN_FUN3 = "Bicho De Bajo Nivel";
|
||||
FN_CENTAUR_FUN1 = "Idiota Con Escudo";
|
||||
FN_CENTAUR_FUN2 = "Capullo Con Escudo";
|
||||
FN_CENTAUR_FUN3 = "Bastardo Con Escudo";
|
||||
FN_SLAUGHTAUR_FUN1 = "Idiota Estúpido Con Escudo";
|
||||
FN_SLAUGHTAUR_FUN2 = "Capullo Asqueroso Con Escudo";
|
||||
FN_SLAUGHTAUR_FUN3 = "Bastardo Hijoperra Con Escudo";
|
||||
FN_BISHOP_FUN1 = "Encapuchao";
|
||||
FN_BISHOP_FUN2 = "Tío de Verde";
|
||||
FN_BISHOP_FUN2 = "Tío De Verde";
|
||||
FN_BISHOP_FUN3 = "Piñata Mágica";
|
||||
FN_ICEGUY_FUN1 = "Cosa Fría";
|
||||
FN_ICEGUY_FUN2 = "Refresquito";
|
||||
FN_ICEGUY_FUN3 = "Licor del Polo";
|
||||
FN_ICEGUY_FUN3 = "Licor Del Polo";
|
||||
FN_ICEGUY_FUN4 = "Helado Andante";
|
||||
FN_ICEGUY_FUN5 = "Frigo";
|
||||
FN_ICEGUY_FUN6 = "Insertar Chiste De Hielo Aquí";
|
||||
FN_SERPENT_FUN = "Bicho de Pantano";
|
||||
FN_WRAITH_FUN = "Pariente de Fraga";
|
||||
FN_SERPENT_FUN = "Bicho De Pantano";
|
||||
FN_WRAITH_FUN = "Pariente De Fraga";
|
||||
FN_DRAGON_FUN = "Compra Skyrim";
|
||||
FN_KORAX_FUN = "El Tío Feo Ese";
|
||||
FN_FBOSS_FUN = "Tío Ciclao";
|
||||
|
@ -322,17 +323,17 @@ FN_MBOSS_FUN = "Tío Mágico";
|
|||
FN_CBOSS_FUN = "Tío Santurrón";
|
||||
FN_HERESIARCH_FUN = "Hostia Puta";
|
||||
// Additional tags
|
||||
FN_BOSSBRAIN = "Cerebro de Jefe";
|
||||
FN_BOSSBRAIN = "Cerebro De Jefe";
|
||||
FN_BOSSBRAIN_FUN = "Avenas Las Buenas";
|
||||
FN_KEEN_FUN = "Arruinado por Bethesda";
|
||||
FN_VOODOO = "¿%s?"
|
||||
FN_VOODOO_NP = "¿Muñeco?";
|
||||
FN_PIG = "Cerdo";
|
||||
FN_PIG_FUN = "Cochinillo";
|
||||
FN_WOLFGUARD_FUN1 = "Nazi de Bajo Presupuesto";
|
||||
FN_WOLFGUARD_FUN2 = "Chiquillo con Pistolilla";
|
||||
FN_WOLFGUARD_FUN1 = "Nazi De Bajo Presupuesto";
|
||||
FN_WOLFGUARD_FUN2 = "Chiquillo Con Pistolilla";
|
||||
FN_WOLFGUARD_FUN3 = "Pantalones Marrones";
|
||||
FN_WOLFHANS_FUN = "Hans el Gordaco";
|
||||
FN_WOLFHANS_FUN = "Hans El Gordaco";
|
||||
// eviternity tags
|
||||
FN_ANGEL = "Arcángelus";
|
||||
FN_ANGEL_FUN = "Un Puto Ángel";
|
||||
|
@ -343,17 +344,70 @@ FN_ASTRAL_FUN3 = "Cáscara Siseante";
|
|||
FN_FCAPTAIN = "Capitán Zombi";
|
||||
FN_FCAPTAIN_FUN1 = "Capullo Verde Tocanarices";
|
||||
FN_FCAPTAIN_FUN2 = "Enemigo Basura Verde";
|
||||
FN_FCAPTAIN_FUN3 = "Huevos Verdes y Spam";
|
||||
FN_FCAPTAIN_FUN3 = "Huevos Verdes Y Spam";
|
||||
FN_ANNIHIL = "Aniquilador";
|
||||
FN_ANNIHIL_FUN1 = "Cabra Gris";
|
||||
FN_ANNIHIL_FUN2 = "Cabrinator";
|
||||
FN_ANNIHIL_FUN3 = "Cabra Mejorada";
|
||||
FN_NDEMON = "Demonio de Pesadilla";
|
||||
FN_NDEMON = "Demonio De Pesadilla";
|
||||
FN_NDEMON_FUN1 = "Verdín";
|
||||
FN_NDEMON_FUN2 = "Verde Cabreado";
|
||||
FN_NDEMON_FUN3 = "Demonio de Espinacas";
|
||||
FN_NDEMON_FUN3 = "Demonio De Espinacas";
|
||||
// eviternity 2 tags
|
||||
FN_FCORPORAL = "Cabo Zombificado";
|
||||
FN_FCORPORAL_FUN1 = "Pasmao En Verde";
|
||||
FN_FCORPORAL_FUN2 = "Zombi Balazo";
|
||||
FN_FCORPORAL_FUN3 = "Zomboverde";
|
||||
FN_ASTRALARACH = "Aracnotrón Astral";
|
||||
FN_ASTRALARACH_FUN1 = "Asco De Spam";
|
||||
FN_ASTRALARACH_FUN2 = "Bebé Bombardero";
|
||||
FN_ASTRALARACH_FUN3 = "Muchos Plasmas";
|
||||
FN_ASTRALARACH_FUN4 = "Araña Agrisada";
|
||||
FN_VEILIMP = "Imp Encubierto";
|
||||
FN_VEILIMP_FUN1 = "Rosa Chillón";
|
||||
FN_VEILIMP_FUN2 = "Yogurín Escondido";
|
||||
FN_VEILIMP_FUN3 = "Chaval Fucsia";
|
||||
FN_VEILIMP_FUN4 = "Se Teletransporta";
|
||||
FN_VEILIMP_FUN5 = "Sobresaturado";
|
||||
FN_ASTRALGOLD = "Cacodemonio Astral Dorado";
|
||||
FN_ASTRALGOLD_FUN1 = "Chico De Oro";
|
||||
FN_ASTRALGOLD_FUN2 = "Bola De Oro";
|
||||
FN_ASTRALGOLD_FUN3 = "Cacodemon Reluciente";
|
||||
FN_ASTRALGOLD_FUN4 = "Bola Brillante";
|
||||
FN_ASTRALGOLD_FUN5 = "Amigo Rico";
|
||||
FN_DUKE = "Duque Del Infierno";
|
||||
FN_DUKE_FUN1 = "Bolas De Verde";
|
||||
FN_DUKE_FUN3 = "Dique Infernal";
|
||||
FN_DUKE_FUN4 = "Ducha Infernal";
|
||||
FN_DUKE_FUN5 = "La Cabra Es Verde";
|
||||
FN_DUKE_FUN6 = "Brasil";
|
||||
FN_ASTRALBABY = "Bebé Cacodemonio Astral";
|
||||
FN_ASTRALBABY_FUN1 = "Cascarilla";
|
||||
FN_ASTRALBABY_FUN2 = "Adorable";
|
||||
FN_ASTRALBABY_FUN3 = "Bolita Gris";
|
||||
FN_ASTRALBABY_FUN4 = "Bolita Siseante";
|
||||
FN_NAC = "Cacodemonio Astral De Pesadilla";
|
||||
FN_NAC_FUN1 = "La Puta Bola";
|
||||
FN_NAC_FUN2 = "Siseos Verdes";
|
||||
FN_NAC_FUN3 = "Horripilante";
|
||||
FN_NAC_FUN4 = "Terrorífico";
|
||||
FN_NAC_FUN5 = "DA CANGUELO";
|
||||
FN_NAC_FUN6 = "Albóndiga Hardcore";
|
||||
FN_ASTRALFATSO = "Mancubus Astral";
|
||||
FN_ASTRALFATSO_FUN1 = "Gran Capullo";
|
||||
FN_ASTRALFATSO_FUN2 = "Gordo Cabrón";
|
||||
FN_ASTRALFATSO_FUN3 = "Grasa Oscura";
|
||||
FN_ASTRALFATSO_FUN4 = "Tocino Tostado";
|
||||
FN_NECROMENACE = "Necroamenaca";
|
||||
FN_NECROMENACE_FUN1 = "Levántate De Tu Tumba";
|
||||
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";
|
||||
// ultimate doom 2 tags
|
||||
FN_ELITEZOMBIE = "Zombi de Élite";
|
||||
FN_ELITEZOMBIE = "Zombi De Élite";
|
||||
FN_ELITEZOMBIE_FUN1 = "Zomborápido";
|
||||
FN_ELITEZOMBIE_FUN2 = "Te Dispara";
|
||||
FN_ELITEZOMBIE_FUN3 = "Rubiales";
|
||||
|
@ -495,6 +549,21 @@ OBITUARY_NIGHTMAREDEMON = "%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.";
|
||||
// eviternity 2 obituaries
|
||||
OB_CORPORAL = "%o pilló una bala gorda del tío de verde.";
|
||||
OB_ASTRALBABY = "%o se tragó un montón de plasma.";
|
||||
OB_VEILIMP = "%o fue escaldad@[ao_esp] por un mocoso rosado.";
|
||||
OB_GOLDENCACO = "%o cree que igual eso fue demasiado.";
|
||||
OB_DUKE = "%o fue enviad@[ao_esp] a Brasil.";
|
||||
OB_ASTRALKIRBY = "%o fue tostad@[ao_esp] por una pequeñita bola amigable.";
|
||||
OB_NAC = "%o no pudo escapar de esa cosa verde.";
|
||||
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.";
|
||||
// ultimate doom 2 obituaries
|
||||
OB_ELITEZOMBIE = "%o fue disparad@[ao_esp] rápidamente por un tipo de élite.";
|
||||
// misc
|
||||
|
@ -728,6 +797,9 @@ BT_DOOMTEST = "Avenino, Azote de los Cuáqueros";
|
|||
// eviternity
|
||||
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";
|
||||
// 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*";
|
||||
|
|
|
@ -27,6 +27,11 @@ SWWM_CYTHOSIGIL1 = "\cdDemo\c-, soy \cvCytho\c-. Tengo un mensaje importante de
|
|||
SWWM_CYTHOSIGIL2 = "El príncipe Baphomet está satisfecho con tus esfuerzos, y ha abierto un portal para regresar a la Tierra.";
|
||||
SWWM_CYTHOSIGIL3 = "Desafortunadamente, dicho portal está guardado por demonios militares de alto rango, dos, de hecho.";
|
||||
SWWM_CYTHOSIGIL4 = "... Aunque, conociéndote, estoy seguro de que no será un problema, ¿cierto?";
|
||||
// E6M8
|
||||
SWWM_CYTHOSIGIL21 = "Ah, bien, te estás aproximando a su retaguardia.";
|
||||
SWWM_CYTHOSIGIL22 = "Si jugamos bien nuestras cartas, esto debería pillarlos por sorpresa.";
|
||||
SWWM_CYTHOSIGIL23 = "Neutralizar a los tenientes en esta zona será un golpe certero, sin lugar a duda.";
|
||||
SWWM_CYTHOSIGIL24 = "No tienen ni idea de lo que les espera, no te verán venir. ¡Adelante, \cdDemo\c-!";
|
||||
// MAP07
|
||||
SWWM_SAYADIMPLE1 = "Alto ahí, \cdDemo-chan\c-. Estás a punto de meterte en terreno peligroso.";
|
||||
SWWM_SAYADIMPLE2 = "Esta es la primera línea de defensa que se ha montado alrededor del puerto interior, y es una jodienda.";
|
||||
|
@ -103,6 +108,61 @@ SWWM_SAYAEVIA3 = "Todo este sitio, es que... Joder, espero que hayas sacado much
|
|||
SWWM_SAYAEVIA4 = "Voy a por unas palomitas. Esto va a ser desde luego una batalla épica, jijijijiji...";
|
||||
SWWM_SAYAEVIB1 = "¿Que? Pero menuda mierda salida de videojuego. ¿¿¿Me estás contando que el tío tiene DOS BARRAS DE VIDA???";
|
||||
SWWM_SAYAEVIB2 = "¡Una mierda, una puta mierda así de grande! ¡Esto es una putísima mierda! ¡Cárgatelo, \cdDemo-chan\c-!";
|
||||
// Eviternity 2 MAP01
|
||||
SWWM_SAYAEV2A1 = "Oh, por fin, tu captura de video ha vuelto.";
|
||||
SWWM_SAYAEV2A2 = "Me tenías preocupada, \cdDemo\c-. Estuvimos básicamente a ciegas durante varios minutos.";
|
||||
SWWM_SAYAEV2A3 = "... Y ya puedo ver que se ha liado parda después de que te cargaras al bastardo con alas.";
|
||||
SWWM_SAYAEV2A4 = "De momento, más te vale salir de ahí. Algo me dice que esto todavía no ha terminado.";
|
||||
SWWM_SAYAEV2B1 = "Esa cosa... ... No, ni se mueve. Supongo que estaba bajo el control del tío ese.";
|
||||
SWWM_SAYAEV2B2 = "Sabes, sigo prenguntándome que puñetas son esas cosas.";
|
||||
SWWM_SAYAEV2B3 = "No es el típico Cacodemonio, obviamente. Parece uno, sí, pero es que... No sé...";
|
||||
SWWM_SAYAEV2B4 = "El bicho ese me da mal rollo. Probablemente salió de algún experimento de esta gente.";
|
||||
SWWM_SAYAEV2B5 = "En fin... Estoy desvariando. Mejor largarse ya.";
|
||||
SWWM_SAYAEV2C1 = "... Esa cosa se ha ido.";
|
||||
SWWM_SAYAEV2C2 = "Ahora SÍ que esto me da mala espina. Sal de ahí, ya.";
|
||||
SWWM_SAYAEV2D1 = "Esas cosas siguen vibas. Aun merodean por ahí. Esto no me gusta.";
|
||||
SWWM_SAYAEV2D2 = "Corre, \cdDemo\c-. Por favor corre.";
|
||||
// Eviternity 2 MAP05
|
||||
SWWM_SAYAEV2E1 = "No se ha acabado. Ya hemos visto que los demonios siguen vagando, y todo se va a la mierda, también...";
|
||||
SWWM_SAYAEV2E2 = "En serio tengo que averiguar que está pasando. Si ese tío no era el \"malo malísimo\", entonces...";
|
||||
SWWM_SAYAEV2E3 = "Por ahora, mejor que salgas de este sitio, mientras pateas traseros demoníacos por el camino, por supuesto.";
|
||||
SWWM_SAYAEV2E4 = "Buena suerte,\cdDemo-chan\c-. La misión aun no se ha acabado, pero podrás salir de esta, lo sé.";
|
||||
// Eviternity 2 MAP10
|
||||
SWWM_SAYAEV2F1 = "Creo que ya hemos visto suficientes tumbas antíguas, vaya que sí.";
|
||||
SWWM_SAYAEV2F2 = "Este fue un desvío inesperado, pero la próxima parada nos debería dejar cerca. Es una instalación de la Facultad.";
|
||||
SWWM_SAYAEV2F3 = "Oh, y por cierto, al final contacté con nuestro \"informante\".";
|
||||
SWWM_SAYAEV2F4 = "Te mandaré los detalles en tu registro de misión, en cuanto termine la entrevista.";
|
||||
// Eviternity 2 MAP15
|
||||
SWWM_SAYAEV2G1 = "Ya casi... Me han dicho que el portal de salida más cercano es uno grande, así que prepárate.";
|
||||
SWWM_SAYAEV2G2 = "También me han dicho que hay otro desvío de por medio, pero que luego deberíamos estar \"justo donde necesitamos\".";
|
||||
SWWM_SAYAEV2G3 = "Sinceramente, no entiendo todo este sistema de portales. Es tan poco práctico...";
|
||||
SWWM_SAYAEV2G4 = "Uno de estos días, voy a hacer el Proyecto Akari realidad. Eso SÍ que será buena tecnología de portales.";
|
||||
// Eviternity 2 MAP20
|
||||
SWWM_SAYAEV2H1 = "Vale, ya basta de desvíos, basta de dar vueltas, este sí que sí.";
|
||||
SWWM_SAYAEV2H2 = "Miss Nona ha estando soltando lore profundo últimamente. No vas a creer lo disparatado que se pone todo esto.";
|
||||
SWWM_SAYAEV2H3 = "Intentaré meter todo en el próximo registro de misión. Tú sigue a lo tuyo, \cdDemo-chan\c-.";
|
||||
// Eviternity 2 MAP25
|
||||
SWWM_SAYAEV2I1 = "A... Aun estoy temblando.";
|
||||
SWWM_SAYAEV2I2 = "O sea que ESE es el poder de la artillería naval Qurensniv. Hostia... Puta.";
|
||||
SWWM_SAYAEV2I3 = "E-en fin... ... A ver... Eso, ya está. Última línea de defensa. Luego de esto, \"Su Dominio Astral\".";
|
||||
SWWM_SAYAEV2I4 = "Te estoy enviando toda mi energía, \cdDemo-chan\c-. Mi energía y mi amor. ¡Sigue luchando!";
|
||||
// Eviternity 2 MAP26
|
||||
SWWM_SAYAEV2J1 = "Esto no me gusta. No me gusta para nada. Está todo muy tranquilo...";
|
||||
SWWM_SAYAEV2J2 = "Por favor ten cuidado, \cdDemo\c-.";
|
||||
// Eviternity 2 MAP30
|
||||
SWWM_SAYAEV2K1 = "Hay una lectura de energía descoyuntante ahi. Algo grande, y CABREADO. Tiene que ser esto.";
|
||||
SWWM_SAYAEV2K2 = "Haz que esa puta cosa salga, rómpela en pedazo, reviéntala a cachitos. ¡Acabemos con esta locura, \cdDemo-chan\c-!";
|
||||
SWWM_SAYAEV2L1 = "Por supuesto tenía que haber otra ronda. Esta cosa está muy enconada, en serio.";
|
||||
SWWM_SAYAEV2L2 = "Pues mala suerte, debería haber escapado, AHORA si que le vas a dar el golpe de gracia.";
|
||||
SWWM_SAYAEV2M1 = "La madre que lo hizo... ¿Este puñetero bicho no sabe cuando rendirse?";
|
||||
// Bonus
|
||||
SWWM_SAYAEV2N1 = "¿¿¿PERDONA PERO QUE COJONES??? ¿¿¿ACABA DE SOBREVIVIR UN DISPARO DEL YNYKRON???";
|
||||
SWWM_SAYAEV2N2 = "¿¿¿QUE COÑO ES ESA COSA??? ¿¿¿COMO PUEDE SEGUIR EN PIE????";
|
||||
SWWM_SAYAEV2O1 = "¿¿¿PERO POR QUE NO SE MUERE???";
|
||||
// Eviternity 2 MAP33
|
||||
SWWM_SAYAEV2P1 = "\cdDemo-chan\c-, espero que estés lista para salir corriendo.";
|
||||
SWWM_SAYAEV2P2 = "A ver... ¿Es que creo que este sitio va a reventar en cuanto pulses ese botón?";
|
||||
SWWM_SAYAEV2P3 = "En serio, en cuanto le des, ¡sal cagando hostias y no pares!";
|
||||
// Heretic E1M8
|
||||
SWWM_SAYAMAW1 = "Y aquí estamos, en las \"Fauces del Infierno\".";
|
||||
SWWM_SAYAMAW2 = "Según los Sidhe esto contiene el portal que conecta con el mundo de los demonios.";
|
||||
|
|
|
@ -58,6 +58,16 @@ SWWM_MISSION_SIGIL =
|
|||
"Pues si es así, entonces ya sabes que hacer, así que ¡ve a por ellos, \cfDemolicionista\c-!\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_SIGIL2 =
|
||||
"Deberíamos haber visto venir una emboscada al otro lado, por supuesto.\n"
|
||||
"\n"
|
||||
"Esto es la \cfTierra\c-, definitivamente, pero hostia, la influencia demoníaca lo ha jodido todo hasta dejarlo irreconocible. Tenemos que salir de aquí y ya.\n"
|
||||
"\n"
|
||||
"\cfCytho-sama\c- dijo que esta sería una buena oportunidad para causar mucho daño, al menos. Los tipos estacionados aquí son de los duros, y asegurar la zona definitivamente será de ayuda para otros que estén luchando.\n"
|
||||
"\n"
|
||||
"La verdad es que aun me reconcome todo este lío de que nos desviáramos. Espero que podamos llegar al puerto estelar de la \cfUAC\c- a tiempo, ahí es donde está la verdadera batalla, ya sabes...\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_DOOM5 =
|
||||
"Bienvenida a tu primera misión, \cfDemolicionista\c-. Seré franca, la situación es jodida. La cosa no pinta bien, para nada. Esos putos cazurros de la \cfUAC\c- la han liado parda y ahora lo estamos pagando. PUTA... MIERDA... LA UAC... en serio. Si el niñato ese de \cfKelliher\c- no me hubiera bloqueado, es que lo ponía a parir ya, ni te imaginas COMO de cabreada estoy ahora mismo...\n"
|
||||
"\n"
|
||||
|
@ -244,6 +254,84 @@ SWWM_MISSION_EVITERNITY8 =
|
|||
"Dales duro, \cfDemo-chan\c-, y cárgate unas cuantas paredes ya que estás.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_EVITERNITYII1 =
|
||||
"Tu señal de video se nos ha caído, pero espero que aun puedas leer esto.\n"
|
||||
"\n"
|
||||
"Algo ha salido muy mal ahí arriba. Algunos de nuestros contactos cuentan que \cf\"la capital se está desmoronando\"\c-, y no me gusta como suena eso para nada. Aun así, tú quédate donde estás hasta que resolvamos este problema técnico.\n"
|
||||
"\n"
|
||||
"Volveré a contactarte lo antes posible, \cfDemo-chan\c-.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_EVITERNITYII2 =
|
||||
"Sí, desde luego esto tiene mala pinta. La gente de aquí dice que el cielo está \"llorando\", y sí, desde luego llueve bastante. Nunca ha habido un cielo tán lúgubre en décadas, segun me han dicho.\n"
|
||||
"\n"
|
||||
"Lo que pasó ahí atrás... Ha desencadenado algo muy malo. Algo que probablemente no pueda deshacerse. Y ese \cf\"Cacodemonio Astral\"\c- que viste antes... Pues eso. Al principio pensaba que esas cosas eran un experimento de la facultad, pero el hecho de que sigan merodeando por ahí, es un mal presagio.\n"
|
||||
"\n"
|
||||
"Necesito hacer unas llamadas. Faltan piezas en este puzzle.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_EVITERNITYII3 =
|
||||
"\cfDemo\c-, en serio que no tengo ni idea de donde estás. No hay datos sobre el lugar al que te han mandado.\n"
|
||||
"\n"
|
||||
"Yo sigo recabando información, al menos, así que no vamos totalmente a ciegas.\n"
|
||||
"\n"
|
||||
"Tengo una pista, sin embargo, información interna, de la \cFacultad de Iluminados Nadies\c-, vamos. Pues sí, los que empezaron todo este embrollo. Por fin, llegaremos al fondo de este lío.\n"
|
||||
"\n"
|
||||
"Mientras tanto, intenta buscar una salida de ahí. Donde sea que estés, no parece un sitio amigable, saltan lecturas de \cfEnergía Ardiente\c-, y eso significa que hay demonios.\n"
|
||||
"\n"
|
||||
"Dales caña, \cfDemo-chan\c-.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_EVITERNITYII4 =
|
||||
"Bueno, aquí vienen los detalles.\n"
|
||||
"\n"
|
||||
"Costó un poco hacerla hablar, pero ahí está, nuestra \"informante\". Se presentó como \cf\"Nona Nadie\"\c-, un nombre obviamente falso, pero da igual, aparementente fue miembrode alto rango de la \cfFacultad de Iluminados Nadies\c-, y hasta tuvo contacto cercano con el mismo \cfUruk'Anth\c-. Sí, el tío que se hizo pasar por Dios con D mayúscula.\n"
|
||||
"\n"
|
||||
"Las cosas que me está contando, madre mía. La Facultad realmente andaba metida en rollos, rollos de horror cósmico, encima. Hizieron un pacto con una especie de ente de otro universo o algo así, y de ahí es de donde estos demonios mutantes rarunos han salido, entre otras cosas. Mejoras mágicas, poderes oscuros, clarividencia, y dios sabe qué más... Juraron lealtad a una especie de deidad lovecraftiana y más mierdas, y ahora que les has pateado el trasero, el pacto se ha roto y está empezando a \"cobrarlo todo\".\n"
|
||||
"\n"
|
||||
"Si no llegamos al fondo de esto, aparentemente, podría significar la ruina de no solo el mundo \cfXevetha\c-, si no también de todos los otros lugares que la Facultad ha tocado. Esto, como podrás suponer, incluye la \cfTierra\c-.\n"
|
||||
"\n"
|
||||
"Decir que esto son malas noticias es quedarse corto. No sé aun que es \"Eso\" exactamente, pero definitivamente encontrarás la forma de patear su sobrenatural culo y salvar el mundo, desde luego.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_EVITERNITYII5 =
|
||||
"Esto no es la \cfTierra\c-... Parece que has vuelto a \cfUrkai\c-. Bueno, pues menudo desvío, entonces.\n"
|
||||
"\n"
|
||||
"Sabes, he estado pensando en lo que hemos visto antes. Es una jodienda que estuvieran colaborando todo este tiempo, la \cfUAC\c- y la facultad. Sí, todo desde que desmantelaron \cfLANIR\c-, deberíamos haberlo visto venir a la legua.\n"
|
||||
"\n"
|
||||
"En fin, adelante con la misión, \cfDemo\c-, nos estamos acercando.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_EVITERNITYII6 =
|
||||
"Ay madre... En primer lugar, hemos vuelto a \cfSiberia\c-, y esto definitivamente tiene que ser otra instalación abandonada de la facultad, toda congelada y tal. Pero claro, ahora plagada de demonios... Y bichos astrales, también.\n"
|
||||
"\n"
|
||||
"Por cierto, aquí viene el lore.\n"
|
||||
"\n"
|
||||
"Ya sabes que la facultad es directamente responsable del nacimiento de la mayor parte de demonios, ¿no? Hace decenas de miles de años, cuando se asentaron por primera vez en nuestro planeta... Bueno, pues, las cosas se ponen interesantes cuando preguntas como exactamente se les ocurrió todo eso del proceso de \"demonización\", para transformar humanos en demonios, y tal. Resulta que toda esa mierda era algo que el director, el viejales, mantuvo en secreto absoluto. La mecánica interna de esa tecnología definitivamente no era un diseño \cfXevetha\c-, había magia oscura de entremedio, y nadie podía hacer preguntas al respecto.\n"
|
||||
"\n"
|
||||
"Bueno, ahora por fin lo sabemos. Es obvio, lo consiguió gracias a ESA cosa. Y esa cosa... Es el mismísimo origen de la locura que llevó a la fundación de la facultad en primer lugar. \cfUruk'Anth\c- la descubrió por accidente, y vio que hacer un pacto con ella le permitiría a él y sus discípulos alcanzar la divinidad. Esto pasó despues del \cfincidente en Nedoshiaan\c-, ya sabes, cuando el dios tirano para el que trabajava fue asesinado...\n"
|
||||
"\n"
|
||||
"Vale, necesito respirar un poco, estoy escribiendo mucho, y aun queda más.\n"
|
||||
"\n"
|
||||
"No es un secreto que hay otros universos, eso lo he aprendido de sobra gracias a los dioses. Pero es normalmente raro que entidades externas simplemente se \"cuelen\" en nuestro mundo, a menos que sean, bueno, OTROS dioses.\n"
|
||||
"\n"
|
||||
"Si esa cosa es realmente un dios, puede que sea completamente inmortal, y eso no es nada bueno, \cfDemo-chan\c-.\n"
|
||||
"\n"
|
||||
"Aun así, seguro que puedes patearle el trasero hasta que no pueda levantarse. Los dioses pueden sangrar, despues de todo, y vas a hacer que lamente haber jodido con NUESTRO mundo.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_EVITERNITYII7 =
|
||||
"Donde sea que estés, está tan lejos que no podemos cuadrarlo en ningún mapa estelar conocido. Sinceramente, me sorprende. Con sitios como el \cfInfierno\c-, eso aún quedaba dentro de nuestro universo, pero de alguna forma, todo sigue funcionando perfectamente mientras estás... Fuera.\n"
|
||||
"\n"
|
||||
"Gracias muchas a los ingenieros de la \cfBleaknet\c-, supongo, todo este sistema de alguna forma nos sigue manteniendo en contacto incluso entre mundos completamente separados. Al menos de esta forma podemos saber que la mayor parte de leyes fundamentales siguen siendo las mismas, pues mira tú.\n"
|
||||
"\n"
|
||||
"Honestamente, todo esto de estar en otro universo totalmente distinto... Es fascinante. Espero que podamos conseguir datos picantes de este sitio, jeje...\n"
|
||||
"\n"
|
||||
"En fin, frikismo mio aparte, este es el supuesto \cf\"Reino Astral\"\c-, el hogar del \cf\"Orígen\"\c-, tal como la gente de la facultad lo llamaba. Supongo que hay una atmósfera \"normal\" ahí, ya que tu depósito de combustible sigue chupando hidrógeno del ambiente... Aparte de eso, pues sí, un territorio completamente alienígena.\n"
|
||||
"\n"
|
||||
"Estate preparada para todo, \cfDemo-chan\c-, ahora estás en la guarida del jefe final.\n"
|
||||
"\n"
|
||||
" — Saya";
|
||||
SWWM_MISSION_HERETIC1 =
|
||||
"Bienvenida, \cfDemolicionista\c-, a una misión muy especial. Mientras se calma un poco la cosa por aquí, hemos podido retomar nuestro trabajo en el \cfProyecto Akari\c-. Ya sabes, ese tan importante en el que quise trabajar toda la vida. Por ahora todo bien, todo correcto, y vas a ser la primera en tomar parte en la exploración de otros mundos. Hemos rebuscado por el multiverso para encontrar algunos sitios interesantes, y este en particular nos llamó la atención. Se llama \cfParthoris\c-, es un reino de magia y elfos y tal, me mola. Pues eso, espero que el viaje no haya sido muy movido, aún no hemos afinado esa parte.\n"
|
||||
"\n"
|
||||
|
|
|
@ -330,6 +330,20 @@ SWWM_SUBS_DEFAULT_ARCHANGELUS5 = "Oh, pero mírate con tus bonitas alitas y todo
|
|||
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.";
|
||||
// "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?";
|
||||
|
@ -413,3 +427,5 @@ SWWM_SUBS_DEFAULT_MIRROR10 = "La verdad es que me gusta mirarme... Tampoco es qu
|
|||
SWWM_SUBS_DEFAULT_SMOOCH1 = "Besitos~";
|
||||
// Sunlust MAP29
|
||||
SWWM_SUBS_DEFAULT_LUSTYSUNS = "Espera... ¿Que ponía ahí?";
|
||||
// Invinciball use (no more Sundowner voiceclip)
|
||||
SWWM_SUBS_DEFAULT_INVINCIBALL1 = "¡Soy puñeteramente invencible!";
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1079 \cu(Wed 3 Jan 20:27:52 CET 2024)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r1079 \cu(2024-01-03 20:27:52)\c-";
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1080 \cu(Thu 4 Jan 19:50:26 CET 2024)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r1080 \cu(2024-01-04 19:50:26)\c-";
|
||||
|
|
|
@ -46,7 +46,6 @@ misc/health_pkup = "sounds/general/hpickup.ogg"
|
|||
misc/spawn = "sounds/CORK.ogg"
|
||||
misc/teleport = "sounds/general/teleport.ogg"
|
||||
misc/chat = "sounds/CHATBEEP.ogg"
|
||||
misc/sundowner = "sounds/SUNDOWNER.ogg"
|
||||
misc/emone = "sounds/EMONE.ogg"
|
||||
misc/trombone = "sounds/SADTROMBONE.ogg"
|
||||
misc/lamborghini = "sounds/GNAWLIDGE.ogg"
|
||||
|
|
|
@ -356,6 +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/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"
|
||||
|
@ -425,3 +439,6 @@ voice/default/smooch1 = "sounds/voice/default/va/demosmooch1.ogg"
|
|||
voice/default/smooch2 = "sounds/voice/default/va/demosmooch2.ogg"
|
||||
voice/default/smooch3 = "sounds/voice/default/va/demosmooch3.ogg"
|
||||
voice/default/lustysuns = "sounds/voice/default/va/demolustysuns.ogg"
|
||||
voice/default/invinciball1 = "sounds/voice/default/va/demoinvinciball1.ogg"
|
||||
voice/default/invinciball2 = "sounds/voice/default/va/demoinvinciball2.ogg"
|
||||
voice/default/invinciball3 = "sounds/voice/default/va/demoinvinciball3.ogg"
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -159,4 +159,14 @@ EBCA8E5E02430E9642D24CF2ADBAE80D
|
|||
ECC2BCC872F0F1C09711246B85901F1C
|
||||
F930BA8E480B2A5C94829C2A2A585157
|
||||
FB0369DB6D3F4E117947764CEC906C92
|
||||
# SIGIL II
|
||||
217F956C4F5B0F872C5F9013C9B23CD1
|
||||
2D08AD5CAA92AC69A805B46385ECF9B4
|
||||
42D1C15691EFE8664EDC0F611242131A
|
||||
5BA3D00F6B64F6268E11C6851D47ECBF
|
||||
7D6698B2DD1904908144A3AEC4BD53FA
|
||||
A2D5FFFDE75CDC907F45E5193A5B9DAB
|
||||
D5E7640BEB3346650095787BBA0C2984
|
||||
E70BA6CD12A90F793FFD4F941140A630
|
||||
F00298FA653C0D10303DB09CA89E68E0
|
||||
# TNT and Plutonia are not included, they're not part of the campaign
|
||||
|
|
|
@ -241,6 +241,8 @@ DoomEdNums
|
|||
4206920 = Chancebox
|
||||
// these are also pp stuff
|
||||
4206930 = SWWMDialogueTriggerGOTCHAEND
|
||||
4206931 = SWWMDialogueTriggerSpcEV2BCD
|
||||
4206932 = SWWMDialogueTriggerEV2J
|
||||
4206990 = SWWMGuard
|
||||
4206991 = SWWMHans
|
||||
4206992 = SWWMSS
|
||||
|
|
|
@ -105,6 +105,12 @@ Class SWWMLevelCompatibility : LevelPostProcessor
|
|||
break;
|
||||
// SIGIL E5M8
|
||||
case '6EAD80DA1F30B4B3546FA294EEF9F87C':
|
||||
level.nextsecretmap = level.nextmap; // so the handler can detect this
|
||||
if ( LevelInfo.MapExists("E6M1") ) level.nextmap = "E6M1";
|
||||
else if ( LevelInfo.MapExists("MAP01") ) level.nextmap = "MAP01";
|
||||
break;
|
||||
// SIGIL II E6M8
|
||||
case '5BA3D00F6B64F6268E11C6851D47ECBF':
|
||||
level.nextsecretmap = level.nextmap; // so the handler can detect this
|
||||
if ( LevelInfo.MapExists("MAP01") ) level.nextmap = "MAP01";
|
||||
break;
|
||||
|
@ -152,6 +158,7 @@ Class SWWMLevelCompatibility : LevelPostProcessor
|
|||
break;
|
||||
// Ultimate Doom 2 MAP20 (dv3.1)
|
||||
case '96C5914A9B4A2383DE6BBE363940DF2F':
|
||||
{
|
||||
// add a "sector enter" action for reaching the exit room
|
||||
// and make it trigger a dialogue
|
||||
uint nt = AddThing(9998,(-9360,12768,12));
|
||||
|
@ -162,6 +169,7 @@ Class SWWMLevelCompatibility : LevelPostProcessor
|
|||
nt = AddThing(4206930,(0,0,0));
|
||||
SetThingID(nt,tiddy);
|
||||
break;
|
||||
}
|
||||
// EQUINOX: various boss brain setups that could be cheesed with the Ynykron or silver bullet
|
||||
// Equinox MAP04
|
||||
case 'E66BCCFAD7AC40EFB21E2A19131E1522':
|
||||
|
@ -484,6 +492,26 @@ Class SWWMLevelCompatibility : LevelPostProcessor
|
|||
for ( int i=0; i<13; i++ )
|
||||
AddThing(4206900+i,(1472+64*i,640,0),0,SKILLS_ALL,MTF_SINGLE|MTF_COOPERATIVE);
|
||||
break;
|
||||
// Eviternity 2 MAP01 (RC5)
|
||||
case '3907915FEC75DEE3A53374D90C4F4B65':
|
||||
// special trigger for a bunch of dialogues
|
||||
AddThing(4206931,(0,0,0));
|
||||
break;
|
||||
// Eviternity 2 MAP26 (RC5)
|
||||
case '16D93AEE8243E17D8F241CE49FD5D7B6':
|
||||
{
|
||||
// add a "sector actor hits floor" action for going down into the hole™
|
||||
// and make it trigger a dialogue
|
||||
uint nt = AddThing(9999,(-576,1344,-352));
|
||||
SetThingFlags(nt,MODES_ALL|MTF_STANDSTILL); // trigger once
|
||||
SetThingSpecial(nt,Thing_Activate);
|
||||
int tiddy = level.FindUniqueTid(9999);
|
||||
SetThingArgument(nt,0,tiddy);
|
||||
nt = AddThing(4206932,(0,0,0));
|
||||
SetThingID(nt,tiddy);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
// Eviternity 2 MAP33 (RC5)
|
||||
case '043FE06534270E95882CA128AF7B0402':
|
||||
// add autosave triggers to a couple sections
|
||||
|
|
|
@ -185,7 +185,18 @@ Class SWWMHandler : EventHandler
|
|||
if ( !SWWMUtility.IsKnownMap() ) break;
|
||||
if ( s.myplayer != players[consoleplayer] ) continue;
|
||||
int clust = level.cluster;
|
||||
if ( SWWMUtility.IsEviternity() )
|
||||
if ( SWWMUtility.IsEviternityTwo() )
|
||||
{
|
||||
// clusters have to be remapped here
|
||||
if ( clust == 5 ) clust = 1;
|
||||
else if ( (clust == 6) || (clust == 13) ) clust = 2;
|
||||
else if ( (clust == 7) || (clust == 14) ) clust = 3;
|
||||
else if ( (clust == 8) || (clust == 15) ) clust = 4;
|
||||
else if ( (clust == 9) || (clust == 16) ) clust = 5;
|
||||
else if ( (clust == 10) || (clust == 17) ) clust = 6;
|
||||
else if ( (clust == 11) || (clust == 12) || (clust == 18) || (clust == 19) ) clust = 7;
|
||||
}
|
||||
else if ( SWWMUtility.IsEviternity() )
|
||||
{
|
||||
// we have to do some heavy lifting here because episodes don't match clusters
|
||||
if ( level.levelnum <= 5 ) clust = 1;
|
||||
|
|
|
@ -61,7 +61,7 @@ extend Class SWWMHandler
|
|||
l.DirectAdd("Saya");
|
||||
l.DirectAdd("UAC");
|
||||
l.DirectAdd("DemonInvasion");
|
||||
if ( SWWMUtility.IsEviternity() )
|
||||
if ( SWWMUtility.IsEviternity() || SWWMUtility.IsEviternityTwo() )
|
||||
{
|
||||
l.DirectAdd("Gods");
|
||||
l.DirectAdd("SUSAN");
|
||||
|
|
|
@ -721,7 +721,8 @@ extend Class SWWMHandler
|
|||
else if ( e.Replacee is 'KeyBlue' ) e.Replacement = 'SWWMKeyBlue';
|
||||
else if ( e.Replacee is 'KeyYellow' ) e.Replacement = 'SWWMKeyYellow';
|
||||
else if ( e.Replacee.GetClassName() == 'KeyRed' ) e.Replacement = 'SWWMKeyRed';
|
||||
else if ( (e.Replacee is 'Chainsaw') || (e.Replacee is 'Gauntlets') || (e.Replacee is 'FWeapAxe') ) e.Replacement = SWWMUtility.PickSWWMSlot1();
|
||||
else if ( (e.Replacee is 'Chainsaw') || (e.Replacee is 'Gauntlets') || (e.Replacee is 'FWeapAxe') ) e.Replacement = SWWMUtility.IsEviternityTwo()?SWWMUtility.PickSWWMSlot0():SWWMUtility.PickSWWMSlot1();
|
||||
else if ( (e.Replacee.GetClassName() == 'Perforator') && SWWMUtility.IsEviternityTwo() ) SWWMUtility.PickSWWMSlot0(); // Eviternity 2
|
||||
else if ( (e.Replacee is 'Fist') || (e.Replacee is 'Staff') ) e.Replacement = 'DeepImpact';
|
||||
else if ( (e.Replacee is 'Pistol') || (e.Replacee is 'GoldWand') || (e.Replacee is 'FWeapFist') || (e.Replacee is 'CWeapMace') || (e.Replacee is 'MWeapWand') ) e.Replacement = SWWMUtility.PickSWWMSlot2();
|
||||
else if ( (e.Replacee is 'Shotgun') || (e.Replacee is 'CWeapStaff') ) e.Replacement = SWWMUtility.IsDoomOne()?SWWMUtility.PickDoomSlot3():SWWMUtility.PickSWWMSlot3();
|
||||
|
|
|
@ -98,6 +98,10 @@ extend Class SWWMHandler
|
|||
ui int cummdamage, lastcummtic; // please do not misread
|
||||
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
|
||||
|
||||
enum EVanillaMap
|
||||
{
|
||||
MAP_NONE,
|
||||
|
@ -118,7 +122,8 @@ extend Class SWWMHandler
|
|||
MAP_HMAP38,
|
||||
MAP_HMAP40,
|
||||
MAP_HMAP60,
|
||||
MAP_EVMAP30 // eviternity
|
||||
MAP_EVMAP30, // eviternity
|
||||
MAP_EVIIMAP30 // eviternity 2
|
||||
};
|
||||
|
||||
static play void AddBoss( int tid, String tag, bool endgame = false )
|
||||
|
@ -228,6 +233,8 @@ extend Class SWWMHandler
|
|||
return MAP_HMAP60;
|
||||
if ( mapsum ~== "5C5E5C08AF3572F31CF27318679F2B4E" )
|
||||
return MAP_EVMAP30;
|
||||
if ( mapsum ~== "966EF50BC1C9994F0F303CD1835014FF" ) // subject to change, not final
|
||||
return MAP_EVIIMAP30;
|
||||
return MAP_NONE;
|
||||
}
|
||||
private void VanillaBossSpawn( WorldEvent e )
|
||||
|
@ -459,7 +466,74 @@ extend Class SWWMHandler
|
|||
bosstag = "$BT_ARCHANGELUS";
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('EndgameBossMarker',1);
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EVIB");
|
||||
if ( !archangelus_zapped )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EVIB");
|
||||
}
|
||||
}
|
||||
else if ( bossmap == MAP_EVIIMAP30 )
|
||||
{
|
||||
if ( e.Thing.GetClassName() == "EviternatusAntaSpawner" )
|
||||
{
|
||||
bossactors.Push(e.Thing);
|
||||
bossviewactor = e.Thing;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
// hack to avoid "all clear" between phases
|
||||
level.total_monsters += 3;
|
||||
}
|
||||
else if ( e.Thing.GetClassName() == "EviternatusAnta" )
|
||||
{
|
||||
// first phase
|
||||
bossactors.Clear();
|
||||
bossviewactor = null;
|
||||
initialized = false;
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 5;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('EndgameBossMarker',1);
|
||||
// undo the hack (part 1)
|
||||
level.total_monsters--;
|
||||
}
|
||||
else if ( e.Thing.GetClassName() == "EviternatusBete" )
|
||||
{
|
||||
// second phase
|
||||
bossactors.Clear();
|
||||
bossviewactor = null;
|
||||
initialized = false;
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 5;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('EndgameBossMarker',1);
|
||||
if ( eviternatus_zapped )
|
||||
{
|
||||
eviternatus_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" )
|
||||
{
|
||||
// third phase
|
||||
bossactors.Clear();
|
||||
bossviewactor = null;
|
||||
initialized = false;
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 5;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('EndgameBossMarker',1);
|
||||
if ( eviternatus_zapped )
|
||||
{
|
||||
if ( eviternatus_postzap )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2O");
|
||||
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2N");
|
||||
}
|
||||
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2M");
|
||||
// undo the hack (part 3)
|
||||
level.total_monsters--;
|
||||
}
|
||||
}
|
||||
if ( ccloaded && (e.Thing.GetClassName() == "CCards_Boss_Romero") )
|
||||
|
@ -481,7 +555,7 @@ extend Class SWWMHandler
|
|||
{
|
||||
if ( !a ) continue;
|
||||
if ( (!a.target || !a.CheckSight(a.target,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY))
|
||||
&& (!bossviewactor || (bossviewactor && !bossviewactor.target)) ) continue;
|
||||
&& (!bossviewactor || (bossviewactor && !bossviewactor.InStateSequence(bossviewactor.CurState,bossviewactor.SeeState))) ) continue;
|
||||
initialized = true;
|
||||
// oneliners
|
||||
if ( bossmap == MAP_DMAP30 )
|
||||
|
@ -505,6 +579,16 @@ extend Class SWWMHandler
|
|||
highesttic = gametic;
|
||||
lastcombat = AddOneliner("archangelus",1,300);
|
||||
}
|
||||
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);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,7 +65,19 @@ extend Class SWWMHandler
|
|||
{
|
||||
int clust = 0;
|
||||
bool secret = false;
|
||||
if ( SWWMUtility.IsEviternity() )
|
||||
if ( SWWMUtility.IsEviternityTwo() )
|
||||
{
|
||||
// clusters have to be remapped here
|
||||
let clus = level.cluster;
|
||||
if ( clus == 5 ) clust = 1;
|
||||
else if ( (clus == 6) || (clus == 13) ) clust = 2;
|
||||
else if ( (clus == 7) || (clus == 14) ) clust = 3;
|
||||
else if ( (clus == 8) || (clus == 15) ) clust = 4;
|
||||
else if ( (clus == 9) || (clus == 16) ) clust = 5;
|
||||
else if ( (clus == 10) || (clus == 17) ) clust = 6;
|
||||
else if ( (clus == 11) || (clus == 12) || (clus == 18) || (clus == 19) ) clust = 7;
|
||||
}
|
||||
else if ( SWWMUtility.IsEviternity() )
|
||||
{
|
||||
// we have to do some heavy lifting here because episodes don't match clusters
|
||||
if ( level.levelnum <= 5 ) clust = 1;
|
||||
|
@ -270,6 +282,9 @@ extend Class SWWMHandler
|
|||
case MAP_EVMAP30:
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EVIA");
|
||||
break;
|
||||
case MAP_EVIIMAP30:
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2K");
|
||||
break;
|
||||
case MAP_HE1M8_HE4M8:
|
||||
if ( level.mapname ~== "E1M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.MAW");
|
||||
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.HEADS");
|
||||
|
@ -309,6 +324,9 @@ extend Class SWWMHandler
|
|||
|| (csum ~== "09B30C9DA9D73D3D5A709502FBB947AA")
|
||||
|| (csum ~== "6EAD80DA1F30B4B3546FA294EEF9F87C") )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.SIGIL");
|
||||
// SIGIL 2 E6M8
|
||||
if ( csum ~== "5BA3D00F6B64F6268E11C6851D47ECBF" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.SIGIL2");
|
||||
// Doom 2 MAP11
|
||||
else if ( (csum ~== "73D9E03CEE7BF1A97EFD2EAD86688EF8")
|
||||
|| (csum ~== "F4F2A769609988837458772AAE99008C")
|
||||
|
@ -334,6 +352,28 @@ extend Class SWWMHandler
|
|||
// MAP25
|
||||
else if ( csum ~== "196BC735473C593F924A59B238574C35" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.SLA");
|
||||
// Eviternity 2 (RC5)
|
||||
// MAP01
|
||||
else if ( csum ~== "3907915FEC75DEE3A53374D90C4F4B65" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2A");
|
||||
// MAP05
|
||||
else if ( csum ~== "58A6A5A8214B0C2C28C9DADC349F2853" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2E");
|
||||
// MAP10
|
||||
else if ( csum ~== "9525AF4F176085C925124CF118E91DF1" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2F");
|
||||
// MAP15
|
||||
else if ( csum ~== "24EFC6868344643D3D4C56BDF2D1E8C7" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2G");
|
||||
// MAP20
|
||||
else if ( csum ~== "81B7BDE4BD0E98A9B8741B0405FAB839" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2H");
|
||||
// MAP25
|
||||
else if ( csum ~== "56A3EB18F91B2AE42DCF327888AEAA0A" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2I");
|
||||
// MAP33
|
||||
else if ( csum ~== "043FE06534270E95882CA128AF7B0402" )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2P");
|
||||
// Deathkings
|
||||
// Blight
|
||||
else if ( csum ~== "E3EFB0156A20ADF2DF00915A0EA85DF5" )
|
||||
|
@ -425,9 +465,10 @@ extend Class SWWMHandler
|
|||
allclearsector = 18414; // only check all-clear if the player is standing in this sector
|
||||
gdat.disablerevive = true; // ONE TRY
|
||||
}
|
||||
// for skipping over merged exit lines (sharing vertices)
|
||||
Array<Line> skipme;
|
||||
skipme.Clear();
|
||||
Array<Line> exits;
|
||||
Array<int> exittypes;
|
||||
exits.Clear();
|
||||
exittypes.Clear();
|
||||
// find exit lines, and use lines that aren't exits
|
||||
foreach ( l:level.Lines )
|
||||
{
|
||||
|
@ -442,68 +483,51 @@ extend Class SWWMHandler
|
|||
}
|
||||
let [isexit, exittype] = SWWMUtility.IsExitLine(l);
|
||||
if ( !isexit ) continue;
|
||||
exits.Push(l);
|
||||
exittypes.Push(exittype);
|
||||
}
|
||||
// for skipping over merged exit lines (sharing vertices)
|
||||
Array<Line> skipme;
|
||||
skipme.Clear();
|
||||
for ( int i=0; i<exits.Size(); i++ )
|
||||
{
|
||||
let l = exits[i];
|
||||
if ( skipme.Find(l) < skipme.Size() ) continue;
|
||||
skipme.Push(l);
|
||||
// look for connected lines
|
||||
// only stop once we cannot find more
|
||||
Array<Line> con;
|
||||
con.Clear();
|
||||
con.Push(l);
|
||||
int found;
|
||||
if ( l.frontsector )
|
||||
do
|
||||
{
|
||||
do
|
||||
found = 0;
|
||||
for ( int j=0; j<exits.Size(); j++ )
|
||||
{
|
||||
found = 0;
|
||||
foreach ( l2:l.frontsector.Lines )
|
||||
let l2 = exits[j];
|
||||
if ( (l2 == l) || !SWWMUtility.SameSpecial(l,l2) || (skipme.Find(l2) < skipme.Size()) || (con.Find(l2) < con.size()) ) continue;
|
||||
// needs to have at least one point in common with this one or any of the added lines
|
||||
bool nomatches = true;
|
||||
foreach ( c:con )
|
||||
{
|
||||
if ( (l2.special != l.special) || (con.Find(l2) < con.Size()) ) continue;
|
||||
// needs to have a point in common with this one or any of the added lines
|
||||
bool nomatches = true;
|
||||
foreach ( c:con )
|
||||
{
|
||||
if ( (l2.v1 != c.v1) && (l2.v2 != c.v2) && (l2.v1 != c.v2) && (l2.v2 != c.v1) )
|
||||
continue;
|
||||
nomatches = false;
|
||||
break;
|
||||
}
|
||||
if ( nomatches ) continue;
|
||||
skipme.Push(l2);
|
||||
con.Push(l2);
|
||||
found++;
|
||||
if ( (l2.v1.p != c.v1.p) && (l2.v2.p != c.v2.p) && (l2.v1.p != c.v2.p) && (l2.v2.p != c.v1.p) )
|
||||
continue;
|
||||
nomatches = false;
|
||||
break;
|
||||
}
|
||||
if ( nomatches ) continue;
|
||||
found++;
|
||||
skipme.Push(l2);
|
||||
con.Push(l2);
|
||||
}
|
||||
while ( found > 0 );
|
||||
}
|
||||
if ( l.backsector )
|
||||
{
|
||||
do
|
||||
{
|
||||
found = 0;
|
||||
foreach ( l2:l.backsector.Lines )
|
||||
{
|
||||
if ( (l2.special != l.special) || (con.Find(l2) < con.Size()) ) continue;
|
||||
// needs to have a point in common with this one or any of the added lines
|
||||
bool nomatches = true;
|
||||
foreach ( s:skipme )
|
||||
{
|
||||
if ( (l2.v1 != s.v1) && (l2.v2 != s.v2) && (l2.v1 != s.v2) && (l2.v2 != s.v1) )
|
||||
continue;
|
||||
nomatches = false;
|
||||
break;
|
||||
}
|
||||
if ( nomatches ) continue;
|
||||
skipme.Push(l2);
|
||||
con.Push(l2);
|
||||
found++;
|
||||
}
|
||||
}
|
||||
while ( found > 0 );
|
||||
}
|
||||
while ( found > 0 );
|
||||
Vector3 lpos = (0,0,0);
|
||||
foreach ( c:con )
|
||||
lpos += SWWMUtility.UseLinePos(c);
|
||||
lpos /= con.Size();
|
||||
SWWMInterest.Spawn(self,lpos,theline:l,theexit:exittype);
|
||||
SWWMInterest.Spawn(self,lpos,theline:l,theexit:exittypes[i]);
|
||||
}
|
||||
// spawn loot
|
||||
if ( !deathmatch ) Chancebox.SpawnChanceboxes();
|
||||
|
|
|
@ -116,6 +116,13 @@ extend Class SWWMHandler
|
|||
let t = new("KoraxYeeted");
|
||||
t.ChangeStatNum(Thinker.STAT_USER);
|
||||
}
|
||||
// Archangelus instakill
|
||||
if ( (e.Thing.GetClassName() == "ArchangelusA") && (e.Thing.DamageType == 'Ynykron') )
|
||||
{
|
||||
// this will skip the second phase dialogue
|
||||
// (note that you can only have an Ynykron in this fight by cheating, tho)
|
||||
archangelus_zapped = true;
|
||||
}
|
||||
// Archangelus death
|
||||
if ( e.Thing.GetClassName() == "ArchangelusB" )
|
||||
{
|
||||
|
@ -128,6 +135,12 @@ 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') )
|
||||
{
|
||||
// this will trigger special dialogue on the next phase
|
||||
eviternatus_zapped = true;
|
||||
}
|
||||
if ( swwm_partytime )
|
||||
{
|
||||
let pt = Actor.Spawn("PartyTime",e.Thing.pos);
|
||||
|
@ -264,6 +277,35 @@ extend Class SWWMHandler
|
|||
e.Thing.SetTag("$FN_FCAPTAIN");
|
||||
else if ( e.Thing.GetClassName() == "NightmareDemon" )
|
||||
e.Thing.SetTag("$FN_NDEMON");
|
||||
// eviternity 2 stuff
|
||||
else if ( e.Thing.GetClassName() == "FormerCorporal" )
|
||||
e.Thing.SetTag("$FN_FCORPORAL");
|
||||
else if ( e.Thing.GetClassName() == "AstralArachnotron" )
|
||||
e.Thing.SetTag("$FN_ASTRALARACH");
|
||||
else if ( e.Thing.GetClassName() == "AstralCacodemon" )
|
||||
e.Thing.SetTag("$FN_ASTRAL");
|
||||
else if ( e.Thing.GetClassName() == "Veilimp" )
|
||||
e.Thing.SetTag("$FN_VEILIMP");
|
||||
else if ( (e.Thing.GetClassName() == "GoldenAstralCaco")
|
||||
|| (e.Thing.GetClassName() == "GoldenAstralCacoBoss") )
|
||||
e.Thing.SetTag("$FN_ASTRALGOLD");
|
||||
else if ( e.Thing.GetClassName() == "DukeOfHell" )
|
||||
e.Thing.SetTag("$FN_DUKE");
|
||||
else if ( e.Thing.GetClassName() == "AstralBabycaco" )
|
||||
e.Thing.SetTag("$FN_ASTRALBABY");
|
||||
else if ( e.Thing.GetClassName() == "NAC" )
|
||||
e.Thing.SetTag("$FN_NAC");
|
||||
else if ( e.Thing.GetClassName() == "AstralMancubus" )
|
||||
e.Thing.SetTag("$FN_ASTRALFATSO");
|
||||
else if ( (e.Thing.GetClassName() == "NecromenaceA")
|
||||
|| (e.Thing.GetClassName() == "NecromenaceB")
|
||||
|| (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");
|
||||
// doom vacation stuff
|
||||
else if ( indoomvacation )
|
||||
{
|
||||
|
|
|
@ -101,6 +101,7 @@ Class SWWMOneLiner : HUDMessageBase
|
|||
hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
|
||||
ss = (Screen.GetWidth()/hs,Screen.GetHeight()/hs);
|
||||
}
|
||||
ymargin += 10;
|
||||
if ( whichline == "" ) return; // don't draw empty strings
|
||||
// split so it can fit
|
||||
if ( !l ) l = mSmallFont.BreakLines(whichline,int(min(ss.x,ss.y/.5625)*.5));
|
||||
|
@ -593,6 +594,67 @@ Class SWWMDialogueTrigger : SWWMNonInteractiveActor abstract
|
|||
}
|
||||
|
||||
Class SWWMDialogueTriggerGOTCHAEND : SWWMDialogueTrigger {}
|
||||
Class SWWMDialogueTriggerSpcEV2BCD : SWWMNonInteractiveActor
|
||||
{
|
||||
Actor thecaco;
|
||||
int spcstate;
|
||||
|
||||
// this one is very special, yup
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
// the one singular astral cacodemon in this map
|
||||
// needed for everything
|
||||
foreach ( c:AllActorClasses )
|
||||
{
|
||||
if ( c.GetClassName() != "AstralCacodemon" ) continue;
|
||||
thecaco = Actor(ThinkerIterator.Create(c).Next());
|
||||
break;
|
||||
}
|
||||
if ( !thecaco )
|
||||
{
|
||||
Destroy();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
if ( !thecaco || (thecaco.Health <= 0) )
|
||||
{
|
||||
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2D");
|
||||
Destroy();
|
||||
return;
|
||||
}
|
||||
double dist;
|
||||
switch ( spcstate )
|
||||
{
|
||||
case 0:
|
||||
// check that the player is close to the astral cacodemon
|
||||
dist = (thecaco.pos.xy-players[consoleplayer].mo.pos.xy).length();
|
||||
if ( dist < 1024 )
|
||||
{
|
||||
spcstate++;
|
||||
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2B");
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
// wait until the astral caco leaves its spawn position
|
||||
dist = (thecaco.pos.xy-thecaco.spawnpoint.xy).length();
|
||||
if ( dist > 64 ) spcstate++;
|
||||
break;
|
||||
case 2:
|
||||
// check that the player is close to where the astral cacodemon originally was
|
||||
dist = (thecaco.spawnpoint.xy-players[consoleplayer].mo.pos.xy).length();
|
||||
if ( dist < 1024 )
|
||||
{
|
||||
spcstate++;
|
||||
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2C");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Class SWWMDialogueTriggerEV2J : SWWMDialogueTrigger {}
|
||||
|
||||
// I'm just doing this as an experiment, don't mind me
|
||||
|
||||
|
|
|
@ -843,7 +843,6 @@ Class FuckingInvinciball : Inventory
|
|||
{
|
||||
if ( pickup && !deathmatch ) return false;
|
||||
if ( pickup && ((Owner.player == players[consoleplayer]) || bBigPowerup) ) Owner.A_StartSound(UseSound,CHAN_ITEMEXTRA,CHANF_OVERLAP);
|
||||
Owner.A_StartSound("misc/sundowner",CHAN_POWERUPEXTRA);
|
||||
let i = InvinciballPower(Owner.FindInventory("InvinciballPower"));
|
||||
if ( i )
|
||||
{
|
||||
|
@ -853,7 +852,11 @@ Class FuckingInvinciball : Inventory
|
|||
if ( Owner is 'Demolitionist' )
|
||||
Demolitionist(Owner).lastbump *= 1.1;
|
||||
}
|
||||
else Owner.GiveInventory("InvinciballPower",1);
|
||||
else
|
||||
{
|
||||
Owner.GiveInventory("InvinciballPower",1);
|
||||
SWWMHandler.AddOneliner("invinciball",2,40);
|
||||
}
|
||||
SWWMUtility.AchievementProgressInc("sunny",1,Owner.player);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -57,6 +57,18 @@ extend Class DemolitionistMenu
|
|||
c_minute = 9;
|
||||
c_tz = "+09";
|
||||
}
|
||||
else if ( SWWMUtility.IsEviternityTwo() )
|
||||
{
|
||||
// June 11th 2150, 04:09 +09
|
||||
// (June 11th 2150, 04:09 JST)
|
||||
// Epoch: 5694174540
|
||||
c_year = 2150;
|
||||
c_month = 5;
|
||||
c_day = 10;
|
||||
c_hour = 4;
|
||||
c_minute = 9;
|
||||
c_tz = "+09";
|
||||
}
|
||||
else // Doom
|
||||
{
|
||||
// June 6th 2148, 18:37 EDT
|
||||
|
|
|
@ -24,6 +24,7 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
// saves time
|
||||
bool nrftl = false;
|
||||
bool eviternity = false;
|
||||
bool eviternitwo = false;
|
||||
bool hexdd = false;
|
||||
String missionstr;
|
||||
let stats = SWWMStats.Find(players[consoleplayer]);
|
||||
|
@ -32,7 +33,20 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
int clus = level.cluster;
|
||||
if ( clus == 11 ) nrftl = true;
|
||||
eviternity = SWWMUtility.IsEviternity();
|
||||
if ( eviternity )
|
||||
eviternitwo = SWWMUtility.IsEviternityTwo();
|
||||
if ( eviternitwo )
|
||||
{
|
||||
// clusters in eviternity 2 have to be remapped
|
||||
if ( clus == 5 ) clus = 1;
|
||||
else if ( (clus == 6) || (clus == 13) ) clus = 2;
|
||||
else if ( (clus == 7) || (clus == 14) ) clus = 3;
|
||||
else if ( (clus == 8) || (clus == 15) ) clus = 4;
|
||||
else if ( (clus == 9) || (clus == 16) ) clus = 5;
|
||||
else if ( (clus == 10) || (clus == 17) ) clus = 6;
|
||||
else if ( (clus == 11) || (clus == 12) || (clus == 18) || (clus == 19) ) clus = 7;
|
||||
missionstr = String.Format("$SWWM_MISSION_EVITERNITYII%d",clus);
|
||||
}
|
||||
else if ( eviternity )
|
||||
{
|
||||
// we have to do some heavy lifting here because episodes don't match clusters
|
||||
if ( level.levelnum <= 5 ) clus = 1;
|
||||
|
@ -48,6 +62,8 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
// naive method to guess if this is sigil
|
||||
else if ( (clus == 5) && (level.mapname.Left(2) == "E5") )
|
||||
missionstr = String.Format("$SWWM_MISSION_SIGIL");
|
||||
else if ( (clus == 6) && (level.mapname.Left(2) == "E6") )
|
||||
missionstr = String.Format("$SWWM_MISSION_SIGIL2");
|
||||
else missionstr = String.Format("$SWWM_MISSION_DOOM%d",clus);
|
||||
int csiz = stats.clustervisit.Size();
|
||||
if ( (csiz > 0) && stats.secretdone[csiz-1] )
|
||||
|
@ -61,11 +77,11 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
for ( int i=0; i<csiz; i++ )
|
||||
{
|
||||
// also include sigil
|
||||
if ( !eviternity && (stats.clustervisit[i] >= 5) && (stats.clustervisit[i] != 25) ) continue;
|
||||
if ( !eviternity && !eviternitwo && (stats.clustervisit[i] >= 5) && (stats.clustervisit[i] != 25) && (stats.clustervisit[i] != 26) ) continue;
|
||||
fromdoomone = true;
|
||||
break;
|
||||
}
|
||||
if ( !eviternity && (clus == 5) && fromdoomone )
|
||||
if ( !eviternity && !eviternitwo && (clus == 5) && fromdoomone )
|
||||
missionstr = "$SWWM_MISSION_DOOM5_FROMDOOM1";
|
||||
if ( StringTable.Localize(missionstr) ~== missionstr.Mid(1) )
|
||||
missionstr = "$SWWM_MISSION_NONE";
|
||||
|
@ -76,8 +92,8 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
if ( (stats.clustervisit[i] == clus) && !firstskip )
|
||||
continue;
|
||||
firstskip = true;
|
||||
String xstr = String.Format(eviternity?"$SWWM_MISSION_EVITERNITY%d":"$SWWM_MISSION_DOOM%d",stats.clustervisit[i]);
|
||||
if ( !eviternity && (stats.clustervisit[i] == 5) && fromdoomone )
|
||||
String xstr = String.Format(eviternitwo?"$SWWM_MISSION_EVITERNITYII%d":eviternity?"$SWWM_MISSION_EVITERNITY%d":"$SWWM_MISSION_DOOM%d",stats.clustervisit[i]);
|
||||
if ( !eviternity && !eviternitwo && (stats.clustervisit[i] == 5) && fromdoomone )
|
||||
xstr = "$SWWM_MISSION_DOOM5_FROMDOOM1";
|
||||
if ( stats.secretdone[i] )
|
||||
{
|
||||
|
@ -89,6 +105,18 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
continue;
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,xstr));
|
||||
}
|
||||
if ( eviternitwo )
|
||||
{
|
||||
// prepend all mission briefings from Eviternity
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY6")));
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY5")));
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY4_SECRET")));
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY8")));
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY7")));
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY3")));
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY2")));
|
||||
mtext.Push(new("DemolitionistMenuTextBox").Init(master,StringTable.Localize("$SWWM_MISSION_EVITERNITY1")));
|
||||
}
|
||||
}
|
||||
else if ( (gameinfo.gametype&GAME_Heretic) && SWWMUtility.IsKnownMap() )
|
||||
{
|
||||
|
@ -155,23 +183,23 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
break;
|
||||
case MK_LEFT:
|
||||
// cycle mission texts
|
||||
if ( mtext.Size() > 1 )
|
||||
if ( (mtext.Size() > 1) && (sel < (mtext.Size()-1)) )
|
||||
{
|
||||
master.MenuSound("menu/demoscroll");
|
||||
sel--;
|
||||
if ( sel < 0 ) sel = mtext.Size()-1;
|
||||
mtext[sel].smofs = mtext[sel].ofs = 0;
|
||||
sel++;
|
||||
mtext[sel].smofs = 0.;
|
||||
mtext[sel].ofs = 0;
|
||||
drag = false; // just in case
|
||||
}
|
||||
break;
|
||||
case MK_RIGHT:
|
||||
// cycle mission texts
|
||||
if ( mtext.Size() > 1 )
|
||||
if ( (mtext.Size() > 1) && (sel > 0) )
|
||||
{
|
||||
master.MenuSound("menu/demoscroll");
|
||||
sel++;
|
||||
if ( sel >= mtext.Size() ) sel = 0;
|
||||
mtext[sel].smofs = mtext[sel].ofs = 0;
|
||||
sel--;
|
||||
mtext[sel].smofs = 0.;
|
||||
mtext[sel].ofs = 0;
|
||||
drag = false; // just in case
|
||||
}
|
||||
break;
|
||||
|
@ -193,23 +221,23 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
break;
|
||||
}
|
||||
// cycle mission texts
|
||||
if ( mtext.Size() > 1 )
|
||||
if ( (mtext.Size() > 1) && (sel > 0) )
|
||||
{
|
||||
master.MenuSound("menu/demoscroll");
|
||||
sel--;
|
||||
if ( sel < 0 ) sel = mtext.Size()-1;
|
||||
mtext[sel].smofs = mtext[sel].ofs;
|
||||
mtext[sel].smofs = 0.;
|
||||
mtext[sel].ofs = 0;
|
||||
drag = false; // just in case
|
||||
}
|
||||
break;
|
||||
case MB_RIGHT:
|
||||
// cycle mission texts
|
||||
if ( mtext.Size() > 1 )
|
||||
if ( (mtext.Size() > 1) && (sel < (mtext.Size()-1)) )
|
||||
{
|
||||
master.MenuSound("menu/demoscroll");
|
||||
sel++;
|
||||
if ( sel >= mtext.Size() ) sel = 0;
|
||||
mtext[sel].smofs = mtext[sel].ofs;
|
||||
mtext[sel].smofs = 0.;
|
||||
mtext[sel].ofs = 0;
|
||||
drag = false; // just in case
|
||||
}
|
||||
break;
|
||||
|
@ -285,7 +313,7 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
|
|||
if ( mtext.Size() <= 1 ) return;
|
||||
double xx = master.ws.x-(mtext[sel].scrollbar?11:3);
|
||||
double yy = master.ws.y-25;
|
||||
String str = String.Format("%d \cf/\c- %d",sel+1,mtext.Size());
|
||||
String str = String.Format("%d \cf/\c- %d",mtext.Size()-sel,mtext.Size());
|
||||
Screen.DrawText(master.mTinyFont,Font.CR_FIRE,(master.origin.x+xx)-master.mTinyFont.StringWidth(str),master.origin.y+yy,str,DTA_VirtualWidthF,master.ss.x,DTA_VirtualHeightF,master.ss.y,DTA_KeepRatio,true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ Class DemolitionistSecretTab : DemolitionistMenuTab
|
|||
String str = StringTable.Localize("$SWWM_KIRINPOEM");
|
||||
l = master.mSmallFont.BreakLines(str,600);
|
||||
}
|
||||
else if ( (gameinfo.gametype&GAME_Heretic) || SWWMUtility.IsEviternity() )
|
||||
else if ( (gameinfo.gametype&GAME_Heretic) || SWWMUtility.IsEviternity() || SWWMUtility.IsEviternityTwo() )
|
||||
{
|
||||
img = TexMan.CheckForTexture("graphics/KBase/Drawing_Ibuki.png");
|
||||
sub = StringTable.Localize("$SWWM_CUTIECLUB");
|
||||
|
|
|
@ -44,7 +44,7 @@ Class SWWMHelpMenu : GenericMenu
|
|||
pagehdr[i] = StringTable.Localize("$SWWM_HELP_STORY");
|
||||
if ( gameinfo.gametype&GAME_Heretic ) pagetxt[i] = mSmallFont.BreakLines(StringTable.Localize("$SWWM_HELP_STORYHERETIC"),600);
|
||||
else if ( gameinfo.gametype&GAME_Hexen ) pagetxt[i] = mSmallFont.BreakLines(StringTable.Localize("$SWWM_HELP_STORYHEXEN"),600);
|
||||
else if ( SWWMUtility.IsEviternity() ) pagetxt[i] = mSmallFont.BreakLines(StringTable.Localize("$SWWM_HELP_STORYEVITERNITY"),600);
|
||||
else if ( SWWMUtility.IsEviternity() || SWWMUtility.IsEviternityTwo() ) pagetxt[i] = mSmallFont.BreakLines(StringTable.Localize("$SWWM_HELP_STORYEVITERNITY"),600);
|
||||
else pagetxt[i] = mSmallFont.BreakLines(StringTable.Localize("$SWWM_HELP_STORYDOOM"),600);
|
||||
break;
|
||||
case PAGE_DEMO:
|
||||
|
|
|
@ -584,7 +584,7 @@ Class SWWMLoreLibrary : SWWMStaticThinker
|
|||
else if ( text ~== "SWWM_LORETXT_MARISA" )
|
||||
text = "SWWM_LORETXT_MARISA2"; // post-invasion update
|
||||
}
|
||||
if ( (gameinfo.gametype&GAME_Raven) || SWWMUtility.IsEviternity() || (mlog && (mlog.year >= 2150) && (mlog.month >= 5)) )
|
||||
if ( (gameinfo.gametype&GAME_Raven) || SWWMUtility.IsEviternity() || SWWMUtility.IsEviternityTwo() || (mlog && (mlog.year >= 2150) && (mlog.month >= 5)) )
|
||||
{
|
||||
if ( text ~== "SWWM_LORETXT_AKARILABS" )
|
||||
text = "SWWM_LORETXT_AKARILABS2"; // demo won, akari project announced
|
||||
|
|
|
@ -50,6 +50,7 @@ extend Class SWWMUtility
|
|||
if ( gameinfo.gametype&GAME_DOOM )
|
||||
{
|
||||
if ( IsEviternity() ) return true;
|
||||
if ( IsEviternityTwo() ) return true;
|
||||
if ( IsUltDoom2() ) return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -73,6 +74,18 @@ extend Class SWWMUtility
|
|||
return false;
|
||||
}
|
||||
|
||||
// detect eviternity 2 (naive method)
|
||||
static bool IsEviternityTwo()
|
||||
{
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( cls.GetClassName() != "EviternatusAnta" )
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// detect doom vacation
|
||||
static bool InDoomVacation()
|
||||
{
|
||||
|
|
|
@ -41,6 +41,8 @@ extend Class SWWMUtility
|
|||
basetag = "SPECTRE";
|
||||
break;
|
||||
case 'LostSoul':
|
||||
case 'LostSoulEvit2':
|
||||
case 'LostSoulCount':
|
||||
basetag = "LOST";
|
||||
break;
|
||||
case 'Cacodemon':
|
||||
|
@ -78,6 +80,8 @@ extend Class SWWMUtility
|
|||
basetag = "SPIDER";
|
||||
break;
|
||||
case 'Cyberdemon':
|
||||
case 'CyberdemonEvit2':
|
||||
case 'CyberdemonMAP24':
|
||||
basetag = "CYBER";
|
||||
break;
|
||||
case 'SWWMBossBrain':
|
||||
|
@ -223,6 +227,46 @@ extend Class SWWMUtility
|
|||
case 'NightmareDemon':
|
||||
basetag = "NDEMON";
|
||||
break;
|
||||
// eviternity 2
|
||||
case 'FormerCorporal':
|
||||
basetag = "FCORPORAL";
|
||||
break;
|
||||
case 'AstralArachnotron':
|
||||
basetag = "ASTRALARACH";
|
||||
break;
|
||||
case 'AstralCacodemon':
|
||||
basetag = "ASTRAL";
|
||||
break;
|
||||
case 'Veilimp':
|
||||
basetag = "VEILIMP";
|
||||
break;
|
||||
case 'GoldenAstralCaco':
|
||||
case 'GoldenAstralCacoBoss':
|
||||
basetag = "ASTRALGOLD";
|
||||
break;
|
||||
case 'DukeOfHell':
|
||||
basetag = "DUKE";
|
||||
break;
|
||||
case 'AstralBabyCaco':
|
||||
basetag = "ASTRALBABY";
|
||||
break;
|
||||
case 'NAC':
|
||||
basetag = "NAC";
|
||||
break;
|
||||
case 'AstralMancubus':
|
||||
basetag = "ASTRALFATSO";
|
||||
break;
|
||||
case 'NecromenaceA':
|
||||
case 'NecromenaceB':
|
||||
case 'NecromenaceC':
|
||||
case 'NecromenaceD':
|
||||
basetag = "NECROMENACE";
|
||||
break;
|
||||
case 'EviternatusAnta':
|
||||
case 'EviternatusBete':
|
||||
case 'EviternatusCeph':
|
||||
basetag = "EVITERNATUS";
|
||||
break;
|
||||
}
|
||||
if ( basetag == "" ) return a.GetTag(defstr);
|
||||
String funtag = "FN_"..basetag.."_FUN";
|
||||
|
@ -263,6 +307,11 @@ extend Class SWWMUtility
|
|||
if ( a == 'StealthRevenant' ) return 'Revenant';
|
||||
if ( a == 'StealthShotgunGuy' ) return 'ShotgunGuy';
|
||||
if ( a == 'StealthZombieMan' ) return 'ZombieMan';
|
||||
// eviternity 2 hackery
|
||||
if ( a.GetClassName() == 'LostSoulEvit2' ) return 'LostSoul';
|
||||
if ( a.GetClassName() == 'LostSoulCount' ) return 'LostSoul';
|
||||
if ( a.GetClassName() == 'CyberdemonEvit2' ) return 'Cyberdemon';
|
||||
if ( a.GetClassName() == 'CyberdemonMAP24' ) return 'Cyberdemon';
|
||||
// heretic monsters
|
||||
if ( a == 'Sorcerer2' ) return 'Sorcerer1';
|
||||
if ( a == 'HereticImpLeader' ) return 'HereticImp';
|
||||
|
|
|
@ -676,4 +676,15 @@ extend Class SWWMUtility
|
|||
// is the point behind both lines?
|
||||
return (Level.PointOnLineSide(p,a) && Level.PointOnLineSide(p,b));
|
||||
}
|
||||
|
||||
static bool SameSpecial( Line a, Line b )
|
||||
{
|
||||
if ( a.special != b.special ) return false;
|
||||
for ( int i=0; i<5; i++ )
|
||||
{
|
||||
if ( a.args[i] != b.args[i] )
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue