Hellblazer partially implemented, doesn't shoot yet.

Various lore adjustments.
Various bugfixes (mostly related to bouncing projectiles and others).
Divided language files for easier maintenance.
Corrected the 1.150 XSG bullet model so it looks more realistic.
Extra language strings (vanilla obituaries).
Added a replacement gib sound (I'm sorry).
Tease the fact Strife support might happen (don't get your hopes up).
Activating things with your balls is optional now (disabled by default).
Added some extra voice lines for "jammed" doors (has lock number, but no key exists for it), not used yet.
This commit is contained in:
Mari the Deer 2020-04-15 21:45:23 +02:00
commit 4a59622978
68 changed files with 4056 additions and 2367 deletions

View file

@ -88,7 +88,7 @@ it would enter mass production and sell like hotcakes.
### Symnatek
A manufacturer of construction tools and heavy machinery. More popular than
Mixom (at least outside the US), despite most people not even knowing its name.
Mixom (at least in Australia), despite most people not even knowing its name.
Also makes basic military equipment, such as knives and other close combat
weapons.
@ -103,8 +103,8 @@ most known for its work on fusion energy... and for its weapons (of course).
A small weapons shop run by members of the Unissix family of warriors. While
mostly specialized in blades and hammers and whatnot, sometimes they've done
firearms by request. It is run by Unissix Bokurou Azadeku, who also leads the
"Unissix Tournaments", a yearly gladiatorial sporting event.
firearms by request. It is led by Unissix Bokurou Azadeku, who also organizes
the "Unissix Tournaments", a gladiatorial sporting event.
---
@ -170,7 +170,7 @@ doesn't succeed (UnSX 5).
### J.A. Tachmek-Smith
A man who, if all reports are true, would be over ten thousand years old.
A man who, if all reports are true, would be over six thousand years old.
Claims to be the "true king of Egypt", among other things. He's also the
founder and head of research at Tach-Engine Technologies, and a notable
philanthropist.
@ -351,7 +351,7 @@ even seems to have some level of sentience.
An odd and unexplainable material that combusts violently when ignited or
struck. A single gram of the stuff has the explosive yield of a standard-issue
hand grenade, which makes it very useful in the creation small bombs. It's
hand grenade, which makes it very useful in the creation of small bombs. It's
rumored that such devices could have been used for the assasination of a
certain rich Japanese family.
@ -456,7 +456,7 @@ the goddess Anakauser. Its members include:
bunnies, and home of Ix Xeuriges, co-founder of the coalition and creator
of the many gates connecting these worlds.
- Unukugoshuenike: Giant crystal planet, home of the Goshun.
- Mishe (former): Destroyed homeworld of the Mishe race.
- Unuenishe (former): Destroyed homeworld of the Mishe race.
- Kryudon: Third most populated system, also from the Andromeda galaxy.
- Lok: Dark, fog-covered planet, home of the Lokans and the Rokana.
- Kayo: Overpopulated planet-city, homeworld of the Kyon.
@ -558,7 +558,7 @@ Main UnSX timeline:
- 1980: Janus Locke Hoodth is born.
- 1985: Taro Miyamoto is born.
- 1987: Dr. Häzel Hoodth dies tragically, becoming a ghoul of Kereshnovka.
- 1992: Misa Unissix is born.
- 1992: Unissix Bokurou Azadeku is born.
- 1993: Saya Miyamoto is born.
- 2001: The Union Aerospace Armed Forces is formed.
- 2003: Onoke Mansion Murders.
@ -567,7 +567,7 @@ Main UnSX timeline:
whole days. Several reports of strange happenings are made.
- 2006: Ashley's band, "The Black Rat's Coven" is formed. Its initial members
are Ashley, Maruku Sarahabinaku, Py Kisun and William Dusk.
- 2007: The "Ghoul hunt" begins after a high-ranking UAAF official is murdered
- 2007: The "Ghoul hunt" begins after a high-ranking UAAF officer is murdered
by the creatures during a business visit to the Imanaki HQ.
- 2008: At the peak of the Ghoul hunt, an envoy of the Anarukon people is
attacked while attempting to kidnap Manakei. The demonic heir is lost once
@ -586,7 +586,8 @@ Main UnSX timeline:
- 2015: The UAAF rebrands itself as the UAC, having found quite a lot of
interest in what they recovered from Imanaki.
- 2017: Saya creates the first Maidbot.
- 2016: Zanaveth II and Misa Unissix get married.
- 2016: Zanaveth II and Unissix Bokurou Azadeku meet during one of her research
trips, they get married on the same day.
- 2018: Empty Episode One. Second major incident in the town of Kereshnovka. A
rogue AI known as SUSAN surfaces on the northern seas, assumes control of
Russia's missile systems.
@ -594,8 +595,6 @@ Main UnSX timeline:
advanced computing power to run thirty parallel instances of Crysis and a
500-player Minecraft server. This lasts for several months, allowing things
to mostly return to normal for a while, including the Tokyo Olympics.
Following a concert of Ashley's band, she meets Yui Miyamoto and they start
dating. Not long after, they get married.
- 2021: The "Luna Event" happens. The first contact between humans and a
non-hostile alien race, the Nukuri, who had been observing our race for
centuries from a hidden research facility on the Moon, and had noticed the
@ -607,11 +606,12 @@ Main UnSX timeline:
Nukuri.
- 2024: Zanaveth II arrives on Earth, befriends Saya. With her help, Saya's
Maidbot is migrated to the Nekuronbot AI framework, further enhancing her
personality.
personality. Saya and Maidbot start dating.
- 2025: First expedition to Mars, led by the UAC.
- 2027: William Dusk leaves Ashley's band, but not before hurting her deeply by
escaping with her granddaughter Lyra. He is replaced as drummer by the
goddess Mykka.
goddess Mykka. Following a concert in Japan, she meets Yui Miyamoto and they
start dating. The two get married only a few days after the fact.
- 2029: Forx Aeronautics is founded, singlehandedly "fixes the economy" of the
UK.
- 2032: Joint expedition with the Nukuri to Sedna, revealing a gateway that
@ -627,6 +627,10 @@ Main UnSX timeline:
- 2054: Ryuji Miyamoto passes away.
- 2066: Elena "Ellen" Yanikov XVI is born.
- 2068: The Nukuri go through their seventh world war in their home planet.
Zanaveth II and her wife move to Sankaideriha for the time being.
- 2070: Ashley invites Saya to Sankaideriha, they come across Zanaveth II and
her wife there, the "hot springs incident" happens. Saya agrees to take care
of their child while they stay there.
- 2073: World War 3 starts thanks to a very negatively received post on social
media from the president of the US regarding the Nukuri.
- 2074: In an act of desperation, the US sells Texas back to Mexico in order to
@ -643,11 +647,11 @@ Main UnSX timeline:
- 2091: Taro Miyamoto finds Ibuki, who had become a sort of living legend among
wastelanders for her various feats, he also comes across Ellen, who casually
asks him out on a date. Ibuki is brought back to Japan. As promised, Saya
immediately shoves her face into Ibuki's chest.
immediately shoves her face into Ibuki's chest, they start dating afterwards.
- 2095: Taro and Ellen get married.
- 2097: Empty Episode Two. The Earth is invaded by a mysterious humanoid entity
named Uruk'Anth, who claims to be the Abrahamic God. He reactivates SUSAN and
leaves. Russia and China are both entirely taken over by it.
named Uruk'Anth, who claims to be the Abrahamic God. He reactivates SUSAN.
Russia and China are both entirely taken over by it.
- 2099: Empty Episode 3. A lone child manages to take down SUSAN.
- 2100: The reconstruction of the United States begins.
- 2104: The 7th Nukuri World War ends abruptly after the Mishe founders of the
@ -657,6 +661,7 @@ Main UnSX timeline:
due to her outstanding work on the subject following her graduation at the
University of Nos-Kora.
- 2110: John "BIGSHOT" Gunns is born.
- 2120: Zanaveth III enrolls at the University of Nos-Kora.
- 2128: Zanaveth II becomes CEO of Nekuratek.
- 2137: The United States are reformed, now called "Union States".
- 2140: Zanaveth III graduates in "Pancake Engineering" at the University of
@ -674,16 +679,16 @@ Main UnSX timeline:
with stopping the invasion by reaching the gate they used to enter our world,
and closing it shut. Seeing an opportunity to compete against the UAC, Akari
Labs deploys the first Demolitionist, and gives them the same mission. After
the victory against the Icon of Sin, the invasion ends, but some demons still
remain, so without even being given a moment to rest, the marine's sent on
another mission. Months later, and despite having been thoroughly reformed,
the UAC still hasn't learned anything, and another invasion happens. The now
legendary "Doom marine" is sent there, Plutonia begins.
the victory against the Icon of Sin, the invasion ends. Saya rewards the
Demolitionist with a maidbot body, and a date. Months later, and despite
having been thoroughly reformed, the UAC still hasn't learned anything, and
another invasion happens. The "Doom marine" is sent there, Plutonia begins.
- 2149: An UAC-owned ship en route to the Jupiter base is hijacked, Demon
reinforcements arrive. The marine manages to fight them off again
(Evilution). After the incident he is decomissioned, and the Doom episodes
are classified. Zanaveth III attempts to take over the world while it's still
recovering from the invasion, fails (Total Madness: It Always Gets Better).
are classified. Zanaveth III sneaks into Earth and attempts to take over the
world while it's still recovering from the invasion, fails in the most
ridiculous way imaginable (Total Madness: It Always Gets Better).
- 2150: UAC president Ian Kelliher announces that the company will place all
its efforts into repairing the damages done to Earth, though there isn't much
hope for this to be finished before the turn of the century. When Saya finds
@ -705,10 +710,11 @@ Main UnSX timeline:
sorcerer who had taken over the land. A month later, following a
recommendation from Ashley Knox, the second contact with the Anarukon
happens, this time all going peacefully. Saya Miyamoto meets Kirin Xanai,
their marriage brings forth an alliance between the humans and the Anarukon.
Two weeks after the wedding, a second exploration is initiated, with the
Demolitionist deployed into a realm known as Cronos in order to defeat an
associate of the old sorcerer from their previous mission.
just one week after they met, their marriage brings forth an alliance between
the humans and the Anarukon. Two weeks after the wedding, a second
exploration is initiated, with the Demolitionist deployed into a realm known
as Cronos in order to defeat an associate of the old sorcerer from their
previous mission.
- 2173: Third major exploration, with the Demolitionist taking part on a rebel
uprising in a world dominated by a cult known as the Order of the One God.
- 2174: The prophecy of Mr. BIG SHOT comes true as the "Great Face In The Sky"
@ -733,10 +739,10 @@ Main UnSX timeline:
on Saya's birthday party the week after.
- 2191: Saya and her creations move in with Kirin, she leaves the leadership of
Akari Labs to her brother Taro.
- 2193: All damage from the Hell Invasion of 2148 is finally repaired.
- 2200: Earth joins the X'Animen Coalition, now known as the "United Aligned
Worlds".
- 2201: The UAC files for bankrupcy.
- 2207: All damage from the Hell Invasion of 2148 is finally repaired.
- 2201: The UAC files for bankruptcy.
- 2214: The Vortex Rikers crashes on planet Na Pali, Unreal begins.
- 2215: The NEG is formed in anticipation of the coming Skaarj invasion.
- 2216: The Seven Day Siege happens, the Skaarj are defeated.
@ -753,8 +759,7 @@ Main UnSX timeline:
the Necris invasion of 2304, the corporation is dissolved.
- 2320: A group of billionaires buy an entire island and turn it into an arena.
The "Battle Royale" boom starts.
- 2407: Unissix Bokurou Azadeku devises the "Unissix Tournaments". UnSX 1
begins.
- 2407: Misa Unissix devises the "Unissix Tournaments". UnSX 1 begins.
- 2409: The first tournament ends with Raik L Raikishionen, prime minister of
the Nukuri Unified Government, as champion.
- 2411: UnSX 2. Members of the Dark Alliance attempt to take over the Bleaknet.
@ -769,12 +774,12 @@ Main UnSX timeline:
group of archaeologists studying some ancient alien ruins send out a distress
signal, something has clearly gone wrong, and they're being attacked by an
unidentified hostile force. A team of mercenaries is sent.
- 2425: Fourth Unissix Tournament.
- 2430: The Fifth and last Unissix Tournament. Misa grows tired of the whole
thing.
- 2448: UnSX 4. A team of mercenaries from various allied worlds manages to
- 2424: UnSX 4. A team of mercenaries from various allied worlds manages to
take down Ososkuro. Before the finishing blow could be dealt, Nuoma appears
and convinces them to spare him, then takes Ososkuro back to their homeland.
- 2425: Fourth Unissix Tournament.
- 2430: The Fifth and last Unissix Tournament. Unissix Bokurou Azadeku grows
tired of the whole thing.
- 2459: Nuoma accidentally reveals her true form to the people of Kruon. The
feared "fall of the empire" doesn't happen, she is still revered as a worthy
leader. Despite all that, she decides to pass the title of overlord to her
@ -803,7 +808,7 @@ Main UnSX timeline:
Disconnected events that are hard to place in time:
- ????: Twenty years after the fall of the Order of the One God, a message is
- ????: 25 years after the fall of the Order of the One God, a message is
received from an old ruined complex beyond the seas. A declaration of war
from the "Church of the Dreadful Lady". A single, well trained mercenary puts
an end to their plans, but the true mastermind behind it all manages to flee.

View file

@ -4,7 +4,9 @@ Fundamental things:
- Silver Bullet
- Ynykron
- Wallbuster
- Custom intermission
Not so fundamental things:
- Chanceboxes
Extra things:
- Art for custom intermission
@ -19,6 +21,8 @@ Extra things:
- Keen replacement (need ideas)
- Mod trailer video
- Summonable Ibuki companion sub-mod
Very extra things:
- Strife support
- Rewrite all the game's dialogue
- Rewrite all the shop systems and other things

View file

@ -1,6 +1,6 @@
Most of the work here is original, but there are some notable exceptions:
- Default player voices are edited from the Fallout 4 Japanese dub.
* Special Thanks to Gargorias for Player Comments and Head Tracking, which was of great help for tracking down all these lines.
* Special Thanks to Gargorias for Player Comments and Head Tracking (https://www.nexusmods.com/fallout4/mods/22166), which was of great help for tracking down all these lines.
- Many sounds have been mixed and matched and filtered and whatnot from the following games:
* Fallout New Vegas
* Fallout 4
@ -28,3 +28,4 @@ Most of the work here is original, but there are some notable exceptions:
- Terrain splashes for Doom by MagicWazard.
- Intermission fanart:
* Substance20 (@S20TBL)
* Captain J (@Jho7835)

View file

@ -37,3 +37,4 @@ server int swwm_revivecooldown = 30; // cooldown after using a revive, in secon
user int swwm_intertype = 0; // 0 - standard bg
// 1 - fanart
// 2 - 4komas
server bool swwm_balluse = false; // lead ball can "press" switches remotely

705
language.def_base Normal file
View file

@ -0,0 +1,705 @@
// English (odd personal GB/US mix, I kinda have a problem with that)
[default]
SWWM_MODVER = "0.1a";
// tags, pickups
T_PUSHER = "Pusher";
I_PUSHER = "\"Pusher\" Microfusion Rotary Hammer";
T_DEEPIMPACT = "Deep Impact";
I_DEEPIMPACT = "\"Deep Impact\" Airblaster";
T_EXPLODIUM = "Explodium Gun";
T_SPREADGUN = "Spreadgun";
I_SPREADGUN = "\"Rhino Stopper\" Spreadgun";
T_WALLBUSTER = "Wallbuster";
I_WALLBUSTER = "\"Wallbuster\" Heavy Perforator Shotgun";
T_EVISCERATOR = "Eviscerator";
I_EVISCERATOR = "\"Eviscerator\" High Load Flechette Cannon";
T_HELLBLAZER = "Hellblazer";
I_HELLBLAZER = "\"Hellblazer\" Rocket Launcher";
T_SPARKSTER = "Biospark Carbine";
I_SPARKSTER = "Model S-5 Biospark Carbine";
T_SILVERBULLET = "Silver Bullet JET";
T_CANDYGUN = "Candy Gun";
I_CANDYGUN = "\"Taste the Sweetness\" Candy Gun";
T_YNYKRON = "Ynykron Artifact";
T_REDSHELL = "Shell";
T_REDSHELLS = "Shells";
T_GREENSHELL = "Slug";
T_GREENSHELLS = "Slugs";
T_WHITESHELL = "Dragon's Breath Round";
T_WHITESHELLS = "Dragon's Breath Rounds";
T_BLUESHELL = "Kinylum Saltshot Round";
T_BLUESHELLS = "Kinylum Saltshot Rounds";
T_BLACKSHELL = "Napalm Round";
T_BLACKSHELLS = "Napalm Rounds";
T_PURPLESHELL = "Lead Ball Round";
T_PURPLESHELLS = "Lead Ball Rounds";
T_GOLDSHELL = "Golden Shell";
T_GOLDSHELLS = "Golden Shells";
T_EVISHELL = "Eviscerator Shell";
T_EVISHELLS = "Eviscerator Shells";
I_EVISHELLPAK = "Eviscerator 6-Pack";
T_HELLMISSILES = "Hellblazer Missiles";
T_HELLCLUSTERS = "Hellblazer Crackshots";
T_HELLBURNINATORS = "Hellblazer Ravagers";
T_HELLNUKES = "Hellblazer Warheads";
T_HELLMISSILE = "Hellblazer Missile";
T_HELLCLUSTER = "Hellblazer Crackshot";
T_HELLBURNINATOR = "Hellblazer Ravager";
T_HELLNUKE = "Hellblazer Warhead";
T_HELLMISSILEMAG = "Hellblazer Missile Mag";
T_HELLCLUSTERMAG = "Hellblazer Crackshot Mag";
T_HELLBURNINATORMAG = "Hellblazer Ravager Mag";
T_HELLNUKEMAG = "Hellblazer Warhead Mag";
T_SPARKUNIT = "Biospark Unit";
T_XSBMAG = "1.150 XSB Magazine";
T_CANDYMAG = "Candy Gun Magazine";
T_CANDYSPARE = "Candy Gun Spare";
T_YNYKRONAMMO = "Crystal Box";
T_BLASTSUIT = "Blast Suit";
T_EMBIGGENER = "Hammerspace Embiggener";
T_FABRICATOR1 = "Ammo Fabricator (Common)";
T_FABRICATOR2 = "Ammo Fabricator (Rare)";
T_FABRICATOR3 = "Ammo Fabricator (Very Rare)";
T_FABRICATOR4 = "Ammo Fabricator (Super Rare)";
T_LOOTBOX1 = "Chancebox (Common)";
T_LOOTBOX2 = "Chancebox (Rare)";
T_LOOTBOX3 = "Chancebox (Very Rare)";
T_LOOTBOX4 = "Chancebox (Super Rare)";
T_GHOSTARTI = "Ghost Artifact";
T_GRAVITYS = "Gravity Suppressor";
T_TETRAHEALTH = "Health Tetrahedron";
T_CUBEHEALTH = "Health Cube";
T_INVINCIBALL = "Fuckin' Invinciball";
T_LAMP = "Lämp";
I_LAMP = "Companion Lamp";
T_MOTH = "Moth";
T_WMOTH = "White Moth";
T_MASHIRO = "Mashiro";
T_NUGGETH = "Health Nugget";
T_NUGGETA = "Armor Nugget";
T_OMNISIGHT = "Omnisight";
I_OMNISIGHT = "Omnisight Mapping Unit";
T_RAGEKIT = "Ragekit";
T_REFRESHER = "Refresher";
T_SANDWICH = "Grilled Cheese Sandwich";
T_WARARMOR = "War Armor";
T_FROGGY = "Froggy Chair";
// colored tags for keys
T_REDCARD = "\cgRed Keycard\c-";
T_BLUECARD = "\chBlue Keycard\c-";
T_YELLOWCARD = "\ckYellow Keycard\c-";
T_REDSKULL = "\cgRed Skull Key\c-";
T_BLUESKULL = "\chBlue Skull Key\c-";
T_YELLOWSKULL = "\ckYellow Skull Key\c-";
T_YELLOWKEY = "\ckYellow Key\c-";
T_GREENKEY = "\cdGreen Key\c-";
T_BLUEKEY = "\chBlue Key\c-";
T_REDKEY = "\cgRed Key\c-";
T_KEYSTEEL = "\cuSteel Key\c-";
T_KEYCAVE = "\ceCave Key\c-";
T_KEYAXE = "\ccAxe Key\c-";
T_KEYFIRE = "\cgFire Key\c-";
T_KEYEMERALD = "\cdEmerald Key\c-";
T_KEYDUNGEON = "\ccDungeon Key\c-";
T_KEYSILVER = "\cjSilver Key\c-";
T_KEYRUSTED = "\cbRusted Key\c-";
T_KEYHORN = "\coHorn Key\c-";
T_KEYSWAMP = "\cpSwamp Key\c-";
T_KEYCASTLE = "\cxCastle Key\c-";
// shortened doom key pickup messages
GOTBLUECARD = "Blue Keycard";
GOTYELWCARD = "Yellow Keycard";
GOTREDCARD = "Red Keycard";
GOTBLUESKUL = "Blue Skull Key";
GOTYELWSKUL = "Yellow Skull Key";
GOTREDSKUL = "Red Skull Key";
// edited vanilla pickup messages
TXT_DEFAULTPICKUPMSG = "Unidentified Item";
// other edited messages
ENDGAME = "This will trigger the crash handler.\n"
"\n"
"Press Y or N.";
QUITMSG = "You really want to go?\n"
"What a shame...";
QUITMSG1 = "Wow, don't just go and leave,\n"
"there's still a lot of stuff to do!";
QUITMSG2 = "Oh, you're going now?\n"
"Well, see you around, then.";
QUITMSG3 = "Thanks for playing SWWM GZ.\n"
"I hope to see you again soon.";
QUITMSG4 = "<See you again, have a nice day>";
QUITMSG5 = "Ah, fun time is over, I guess...";
QUITMSG6 = "Hey Icarus, when are you going\n"
"to play Hexmas? I'm still waiting.";
QUITMSG7 = "Don't go now, or Saya will talk\n"
"shit about you on Twitter dot com.";
QUITMSG8 = "Do you know who ate all the donuts?";
QUITMSG9 = "Before you go, lemme say somethin':\n"
"TERFs can fuck off.";
QUITMSG10 = "Don't go now, there's a scary moth\n"
"girl waiting in the darkness!";
QUITMSG11 = "Let me guess. You blew yourself\n"
"up again, Icarus?";
QUITMSG12 = "Yeah, I'd need a break after\n"
"all that too...";
QUITMSG13 = "See you later\n"
"Space Cowboy...";
QUITMSG14 = "To be continued?";
E1TEXT =
"You still have no idea how you ended\n"
"up in the old UAC Phobos Base, but\n"
"there's no time to think about that.\n"
"You need to find a way back to Earth,\n"
"to fulfill your mission of stopping\n"
"the invasion from Hell.\n"
"\n"
"As you step into the Phobos Anomaly\n"
"portal, you are suddenly ambushed and\n"
"stripped of all your items. Damn...\n"
"\n"
"After an emergency reboot, you find\n"
"yourself in the Deimos Base. Didn't it\n"
"disappear along with the whole moon itself?\n"
"\n"
"Well, whatever. You can sense demons\n"
"nearby, and there's no way you'll let\n"
"any of them stay alive...\n"
"\n"
"[To be continued]";
E2TEXT =
"The Cyberdemon standing atop the tower\n"
"falls by your hand. \"Well, another one\n"
"bites the dust\", you say to yourself.\n"
"\n"
"As you get ready to ask for a recall, you\n"
"take a look beyond the horizon and see...\n"
"\"...Hell?\"\n"
"\n"
"The moon is floating above the endless\n"
"plains of the demon's homeworld, casting\n"
"a large shadow over many cities. Things\n"
"sure are getting interesting...\n"
"\n"
"You decide to pass on that call and\n"
"prepare to drop down. Perhaps you can\n"
"deal some extra damage to these bastards\n"
"before going back to Earth...\n"
"\n"
"[To be continued]\n";
E3TEXT =
"As you splatter the Spiderdemon's brains\n"
"all over the walls, you see a portal\n"
"form at the center of the arena. It seems\n"
"to connect straight to Earth. \"Huh, so \n"
"that's how they got in\", you say, \"Well,\n"
"time to put an end to this\".\n"
"\n"
"You cross the boundary and find yourself\n"
"at the very epicenter of the invasion zone.\n"
"There is death and destruction filling the\n"
"streets, and some sick bastard even went\n"
"and mutilated a poor little bunny, ugh...\n"
"\n"
"Yeah, those demons are soooooo dead...\n"
"\n"
"[To be continued]\n";
E4TEXT =
"Another spider, another set of brains\n"
"caking the walls. As you make your way out\n"
"of the city, you come across a human soldier.\n"
"\n"
"It's the Doom Marine, he's angrily holding\n"
"the head of the bunny you saw before, and\n"
"mumbling something... you can hear the name\n"
"\"Daisy\", and something along the lines of\n"
"\"They'll to pay for this\"...\n"
"\n"
"Following the orders you were given, you\n"
"decide to leave him alone and continue with\n"
"your mission.\n"
"\n"
"[To be continued]\n";
C1TEXT =
"As you make your way through the demon\n"
"infested starport, you begin to notice\n"
"something's very odd. The architecture\n"
"and technology of the place are being\n"
"twisted by those bastards, a gross\n"
"mixture of flesh and metal. Ew...\n"
"\n"
"Ahead, you see a fortified zone. If you\n"
"blast it all to bits, the way should be\n"
"clear to the innermost part of the station,\n"
"and there you should find the auxiliary\n"
"switch that's keeping the remaining\n"
"survivors trapped in here.\n"
"\n"
"You're going to save those people, and\n"
"no demon bastard is going to stop you.";
C2TEXT =
"You receive a transmission from Saya:\n"
"\"Demo-chan, you did it! We can now\n"
"evacuate all the folks around here, and\n"
"bring them to a safe spot. At last!\"\n"
"\n"
"You sit down and relax. That sure was\n"
"some hard work, you think... but before\n"
"you get comfortable, another transmission\n"
"comes in.\n"
"\n"
"\"Hey, sorry to interrupt but, we just found\n"
"out where those fuckers are coming out of.\n"
"If it's not much asking, could you move your\n"
"shiny metal butt over there and yeet those\n"
"assholes back into Hell? Pretty please?\"\n"
"\n"
"Well, so much for taking a break...";
C3TEXT =
"There's the portal... but you don't see any\n"
"way to close it up from here, so you give\n"
"Saya a call.\n"
"\n"
"\"Oh, yeah, about that... well from the info\n"
"I got, turns out there really is no direct way\n"
"to get rid of it from here, so you'll have to\n"
"go to Hell, literally, then find whoever's\n"
"in charge of the stuff and, you know, maybe\n"
"ask him nicely, if you know what I mean.\"\n"
"\n"
"Jumping through, you prepare for the worst.\n"
"You're going straight into demon territory,\n"
"it's not going to be pretty, that's for sure.";
C4TEXT =
"You watch as the Icon of Sin, the true mastermind\n"
"behind the Hell invasion, gets absolutely wrecked\n"
"by a direct blast to his exposed brains.\n"
"\n"
"As he falls, the various armies under his control\n"
"immediately drop dead. You did it, the invasion\n"
"is over! A message from Saya soon follows.\n"
"\n"
"\"Hey, Demo-chan, congrats. Looks like you beat\n"
"the UAC's errand boy at this race, huh. Well, I\n"
"guess it's time for you to come back home. We've\n"
"got a shitload of work left to do, you know,\n"
"rebuilding Earth and all...\"";
C5TEXT =
"What is this place? It appears to be part of Hell,\n"
"but these structures are all man-made...\n"
"\n"
"Wait... is this... a Nazi fortress?";
C6TEXT =
"Damn, you still can't leave this place. Oh well,\n"
"maybe it's time to just blaze on through, I guess...";
HE1TEXT =
"After beating up those crazy laughing heads,\n"
"you see the gates open to this \"Hell's Maw\"\n"
"that the Sidhe kept talking about.\n"
"\n"
"If this is where these monsters came from,\n"
"then you'll have to go right on through and wipe\n"
"this whole place clean.\n"
"\n"
"That D'Sparil is sure going to be salty as all\n"
"heck when he sees what you do to his precious\n"
"undead legions...";
HE2TEXT =
"Those big buff creatures were no match for\n"
"you, and as the last of them falls to the\n"
"ground, you see the gateways they guarded\n"
"open up. Where could they be leading to?\n"
"\n"
"As you step through, you find yourself\n"
"in an odd place. You have a feeling that\n"
"this is it, D'Sparil's home turf. Time\n"
"to track down that dastardly sorcerer\n"
"and put an end to all this madness.";
HE3TEXT =
"With the death of D'Sparil, all of the\n"
"various creatures under his command slowly\n"
"burn to ashes, their screams of pain\n"
"resonating all over the crystal dome,\n"
"causing it to shatter.\n"
"\n"
"You quickly enter the portal back home,\n"
"before the whole thing comes crashing\n"
"down on you.\n"
"\n"
"Now, with that guy out of the way, you\n"
"can finally return home and see what\n"
"exactly Saya is planning to \"reward\"\n"
"you with...\n"
"\n"
"Unless... Someone decides to give\n"
"you a sudden change of plans...";
HE4TEXT =
"Somehow, you didn't get transported back\n"
"to Parthoris when you crossed that portal.\n"
"\"Well that's not very nice\", you think.\n"
"\n"
"Some third party, probably another Serpent\n"
"Rider, must have tampered with it in\n"
"retaliation for you defeating D'Sparil.\n"
"\n"
"Whatever, you will find the way home,\n"
"even if you have to kill a thousand more\n"
"of these stupid monsters.";
HE5TEXT =
"With the death of the last Maulotaur,\n"
"once again you see the gates open to\n"
"another world. You can't really see\n"
"where they lead to, but it doesn't matter\n"
"anymore. You can keep going forever, if\n"
"you have to.\n"
"\n"
"The desire to know what Saya has planned\n"
"for you back home gives you the strength\n"
"to push forward no matter what.\n"
"\n"
"\"I'll go through hell again if I have to,\n"
"I'll do anything for my beloved Sayacchi!\"";
TXT_HEXEN_CLUS1MSG =
"After dealing with the many puzzles of the\n"
"seven portals, you're finally out into\n"
"another of the realms of Cronos. Harsh\n"
"wilderness, barren wastelands and smelly\n"
"swamps await you beyond, and surely even\n"
"more annoying puzzles.\n"
"\n"
"You are greeted by a familiar sight, it's\n"
"that ugly bastard Korax taunting you\n"
"again...";
TXT_HEXEN_CLUS2MSG =
"A tiny-ass dragon. Not even comparable to\n"
"the ones from that game Saya loves so much,\n"
"that was barely even a challenge...\n"
"After effortlessly fighting through the\n"
"hypostyle, you walk towards the portal.\n"
"\n"
"On the other side, you find yourself\n"
"standing atop a tall tower, and from down\n"
"below you can hear some ominous chanting.\n"
"Doesn't seem like the friendliest place...\n"
"\n"
"As you walk towards the bottom, you once\n"
"again come across that ugly-ass face.\n"
"\n"
"Oh great, what bullshit is he going to\n"
"spout now?";
TXT_HEXEN_CLUS3MSG =
"Down goes that damn bastard. He sure gave\n"
"you one hell of a hard time, with that\n"
"stupid invulnerability spell he kept\n"
"using constantly.\n"
"\n"
"Walking past the steaming remains of\n"
"yet another of Korax's fallen minions,\n"
"you enter the portal, and reach some\n"
"sort of castle. Bland looking towers and\n"
"walls of stone surrounding some sort of\n"
"tall spire at the center, casting a large\n"
"shadow over the whole place.\n"
"\n"
"Maybe it's time to be true to your name\n"
"and do some demolition work...";
TXT_HEXEN_CLUS4MSG =
"Well that was fun, you think, after once\n"
"again tearing apart more of Korax's pesky\n"
"little minions. Now, where the hell are you?\n"
"\n"
"This place stinks of death. Is this...\n"
"a graveyard?";
TXT_HEXEN_WIN1MSG =
"Crossing the final portal, you feel an immense\n"
"force slingshot you across many dimensions.\n"
"\n"
"As your speedometer barely reaches the \"Plaid\"\n"
"indicator, you suddenly come to a full stop,\n"
"the remaining force making you crash into a\n"
"nearby wall.\n"
"\n"
"You find yourself in some strange room, with\n"
"a very bright light at the center. It is\n"
"emanating from some sort of altar.";
TXT_HEXEN_WIN2MSG =
"Getting closer, you can see it. This thing is\n"
"supposed to be the source of Korax's power?\n"
"You wonder if maybe you can take this fine\n"
"shiny ball and bring it back home with you.\n"
"Saya would probably be interested in studying\n"
"it, maybe.\n"
"\n"
"After shoving it into your Hammerspace\n"
"container, you notice someone sitting at a\n"
"table nearby, playing some odd variation of\n"
"chess... or at least that's what it looks like.\n"
"\n"
"With a deep, guttural voice, he begins to speak\n"
"to you...";
TXT_HEXEN_WIN3MSG =
"\"Well played, mortal, you've conquered\n"
"this board, but your mission is far from\n"
"over. One more Rider remains... and he\n"
"will not rest until he's avenged his\n"
"fallen comrades.\"\n"
"\n"
"You laugh. \"If he's anything like the\n"
"others, I'll make him beg for mercy before\n"
"dinner time. Now if you'll excuse me, I've\n"
"got a fine lady waiting for me back home.\"";
// Re-tagged monsters
FN_ZOMBIE = "Zomb";
FN_SHOTGUN = "Baldy";
FN_HEAVY = "Annoyance";
FN_IMP = "Simp";
FN_DEMON = "Pinky";
FN_SPECTRE = "Fuzzy";
FN_LOST = "Skully";
FN_CACO = "Caco";
FN_HELL = "Brownie";
FN_BARON = "Mr. Gruh";
FN_ARACH = "Babby";
FN_PAIN = "Ass Pain";
FN_REVEN = "AAAAAAAAA";
FN_MANCU = "He Thicc";
FN_ARCH = "Pls No";
FN_SPIDER = "Mama Spooder";
FN_CYBER = "Dat Ass";
FN_WOLFSS = "Mein Lieben";
CC_ZOMBIE = "Zomb";
CC_SHOTGUN = "Baldy";
CC_HEAVY = "Annoyance";
CC_IMP = "Simp";
CC_DEMON = "Pinky";
CC_LOST = "Skully";
CC_CACO = "Caco";
CC_HELL = "Brownie";
CC_BARON = "Mr. Gruh";
CC_ARACH = "Babby";
CC_PAIN = "Ass Pain";
CC_REVEN = "AAAAAAAAA";
CC_MANCU = "He Thicc";
CC_ARCH = "Pls No";
CC_SPIDER = "Mama Spooder";
CC_CYBER = "Dat Ass";
CC_HERO = "You!";
FN_DOG = "Goodest Boy";
FN_CHICKEN = "Clucker";
FN_BEAST = "Друг";
FN_CLINK = "Slashy";
FN_DSPARIL = "Oh He Mad";
FN_HERETICIMP = "Flying Pest";
FN_IRONLICH = "Jolly Lad";
FN_BONEKNIGHT = "Rattle Me Bones";
FN_MINOTAUR = "Buff";
FN_MUMMY = "Mummy";
FN_MUMMYLEADER = "Big Mummy";
FN_SNAKE = "Snek";
FN_WIZARD = "Yer a Wizard, Harry";
FN_FIREDEMON = "Hot Stuff";
FN_DEMON1 = "Big Lizard";
FN_ETTIN = "Double Boi";
FN_CENTAUR = "Shield Idiot";
FN_SLAUGHTAUR = "Shield Idioter";
FN_BISHOP = "Hoodie";
FN_ICEGUY = "Cool Stuff";
FN_SERPENT = "Swamp Snek";
FN_WRAITH = "Ded";
FN_DRAGON = "Buy Skyrim";
FN_KORAX = "Ugly Stinky Boi";
FN_FBOSS = "Buff Boi";
FN_MBOSS = "Magic Boi";
FN_CBOSS = "Holy Boi";
FN_HERESIARCH = "Oh Lawd He Comin'";
// obituaries
O_PUSHER = "%k opened some air holes into %o.";
O_DEEPIMPACT = "%o was impacted deeply by %k.";
O_EXPLODIUM = "%k inflicted severe knee explosions onto %o.";
O_SPREADGUN_RED = "%k gave %o a mouthful of shot.";
O_SPREADGUN_GREEN = "%o got slugged by %k.";
O_SPREADGUN_WHITE = "%k burninated %o.";
O_SPREADGUN_BLUE = "%k made %o very salty.";
O_SPREADGUN_BLACK = "%k set %o on fire along with everything around %h.";
O_SPREADGUN_PURPLE = "%o was conked by %k's lead ball.";
O_SPREADGUN_GOLD = "%o ate up %k's golden blast.";
O_WALLBUSTER = "%k gave %o a mighty busting.";
O_EVISCERATOR = "%o was eviscerated by %k.";
O_HELLRAZER = "%k blasted %o into burning bits.";
O_SPARKSTER = "%o got sparked hard by %k.";
O_SILVERBULLET = "%o could not ignore the girth of %k's bullets.";
O_CANDYGUN = "%k made %o taste the sweetness (and death).";
O_YNYKRON = "%o was instantly removed by %k.";
O_YNYKRONALT = "%o was spaghettified by %k.";
O_POUND = "%o was very impressed by %k's landing.";
O_DASH = "%o was discombobulated by a very fast moving %k.";
O_JUMP = "%o was stepped on %k.";
O_MELEE = "%o was K.O.'d by %k.";
O_MOTH = "%%o was assaulted by %s's moths.";
O_MOTH2 = "%o was assaulted by moths.";
O_MASHIRO1 = "%o should have kept the lights on.";
O_MASHIRO2 = "%o now belongs to Mashiro.";
O_MASHIRO3 = "%o made a terrible mistake.";
O_MASHIRO4 = "%o mysteriously disappeared.";
O_MASHIRO5 = "%o is now part of a live-action recreation of Layers of White.";
O_MASHIRO6 = "%o angered the wrong moth.";
O_MASHIRO7 = "%o and Mashiro are now TOGETHER FOREVER.";
// edited vanilla obituaries
OB_SUICIDE = "%o commited suikoden.";
OB_FALLING = "%o sprained everything.";
OB_CRUSH = "%o was pancaked.";
OB_EXIT = "%o was not allowed to leave.";
OB_WATER = "%o somehow managed to drown.";
OB_SLIME = "%o got slimed.";
OB_LAVA = "%o overheated";
OB_BARREL = "%o got barreled.";
OB_SPLASH = "%o got a bit too close there.";
OB_R_SPLASH = "%o was rawket'd.";
OB_ROCKET = "%o ate a rocket.";
OB_KILLEDSELF = "%o self-destructed.";
OB_VOODOO = "%o violated the laws of causality.";
OB_MPTELEFRAG = "%k overwrote %o.";
OB_MONTELEFRAG = "%o was overwritten.";
OB_DEFAULT = "%o is ded.";
OB_MPDEFAULT = "%o got fragged by %k.";
OB_FRIENDLY1 = "%k blasted a friend.";
OB_FRIENDLY2 = "%k did it again.";
OB_FRIENDLY3 = "%k really should stop teamkilling.";
OB_FRIENDLY4 = "%k definitely has lost it.";
OB_UNDEADHIT = "%o got a very bony smackdown.";
OB_IMPHIT = "%o was scratched to death.";
OB_CACOHIT = "%o was eaten by a floating meatball.";
OB_DEMONHIT = "%o got chomp'd.";
OB_SPECTREHIT = "%o got stealthily chomp'd.";
OB_BARONHIT = "%o was spanked by a big demon boy.";
OB_KNIGHTHIT = "%o was spanked by a not so big demon boy.";
OB_ZOMBIE = "%o was shot down by a mere zomb.";
OB_SHOTGUY = "%o was filled with holes.";
OB_VILE = "%o gives this map 1000 points off.";
OB_UNDEAD = "%o could not avoid the above mentioned baseball shooting.";
OB_FATSO = "%o got down with the thiccness.";
OB_CHAINGUY = "%o hates this map already.";
OB_SKULL = "%o was headbutted.";
OB_IMP = "%o didn't dodge that fireball.";
OB_CACO = "%o tasted the spicy meatball.";
OB_BARON = "%o was bruised by green plasma.";
OB_KNIGHT = "%o was bruised by green plasma.";
OB_SPIDER = "%o ate all those bullets.";
OB_BABY = "%o angered the spider bab.";
OB_CYBORG = "%o didn't follow the protip.";
OB_WOLFSS = "%o was pelted by blondies.";
OB_DOG = "%o angered the doggo.";
OB_CHICKEN = "%o got the PECK.";
OB_BEAST = "%o got flamed by a big friend.";
OB_CLINK = "%o was slashed by a slashy thing.";
OB_DSPARIL1 = "%o ate that big lizard's fire.";
OB_DSPARIL1HIT = "%o got a nasty bite from that big lizard.";
OB_DSPARIL2 = "%o was zip zapped by D'Sparil.";
OB_DSPARIL2HIT = "%o was zap smacked by D'Sparil.";
OB_HERETICIMP = "%o ate a tiny fireball.";
OB_HERETICIMPHIT = "%o was clawed by a tiny pest.";
OB_IRONLICH = "%o didn't understand what was so funny.";
OB_IRONLICHHIT = "%o probably shouldn't have gotten close to those teeth.";
OB_BONEKNIGHT = "%o was axed a question.";
OB_BONEKNIGHTHIT = "%o got boned.";
OB_MINOTAUR = "%o was exploded by a buff bull.";
OB_MINOTAURHIT = "%o was hammered by a buff bull.";
OB_MUMMY = "%o got pummeled by sentient toilet paper.";
OB_MUMMYLEADER = "%o got screamed at.";
OB_SNAKE = "%o was ded by snek.";
OB_WIZARD = "%o got magick'd.";
OB_WIZARDHIT = "%o had a close encounter with a feckin' wizard.";
OB_FIREDEMON = "%o was fired.";
OB_DEMON1 = "%o ate a big lizard's fireball.";
OB_DEMON2 = "%o ate a big lizard's snotball.";
OB_ETTIN = "%o got smashed by a double boi.";
OB_CENTAUR = "%o got slashed by a shield idiot.";
OB_SLAUGHTAURHIT = "%o got slashed by a shield idioter.";
OB_SLAUGHTAUR = "%o got blasted by a shield idioter.";
OB_BISHOP = "%o was magick'd by a hoodie boi.";
OB_ICEGUY = "%o chills out.";
OB_SERPENTHIT = "%o found the swamp monster.";
OB_SERPENT = "%o ate swamp monster goo.";
OB_WRAITH = "%o was deaded very ded.";
OB_WRAITHHIT = "%o got succ from the ded.";
OB_DRAGON = "%o buys Skyrim.";
OB_KORAX = "%o got a smackdown from the ugly bastard.";
OB_FBOSS = "%o was green'd by the fighty boi's Lame Sword.";
OB_MBOSS = "%o was assploded by the magic boi's Explodey Staff.";
OB_CBOSS = "%o was ghosted by the holy boi's Ghostpenis.";
OB_HERESIARCH = "%o saw that coming.";
// misc
D_BLASTSUIT = "The Blast Suit broke down.";
D_GHOSTARTI = "The Ghost Artifact ran out of energy.";
D_GRAVITYS = "The Gravity Suppressor is out of power.";
D_LAMP = "The Lamp ran out of oil.";
D_INVINCIBALL = "You are no longer invincible.";
D_RAGEKIT = "The Ragekit has ragequit.";
D_REFRESHER = "The Refresher boost has ended.";
D_WARARMOR = "The War Armor is no more.";
SWWM_URDED = "Demolitionist Unit \"%s\" has fallen";
SWWM_URDED2 = "Press \cfUse\c- to restart from the most recent save";
SWWM_URDED3 = "...or press \cfFire\c- to attempt an emergency reboot";
SWWM_REFAIL = "EMERGENCY REBOOT FAILED - NOT ENOUGH AUXILIARY POWER AVAILABLE";
D_REFAIL = "The Emergency Reboot System has recharged completely.";
SWWM_LQUOTE = "\"";
SWWM_RQUOTE = "\"";
D_FROGGY1 = "\cjA small price to pay...\c-";
D_FROGGY2 = "\cj... for \cdFroggy Chair\cj.\c-";
// targetter
SWWM_OVERKILL = "Overkill";
SWWM_MULTIKILL = "Multi Kill";
SWWM_SPREEKILL = "Untouchable";
SWWM_BOSSKILL = "Boss Kill";
SWWM_MAX = "MAX";
SWWM_EXIT = "Exit: ";
SWWM_NEXIT = "Exit";
SWWM_SEXIT = "Secret Exit";
SWWM_LEG = "Legendary ";
SWWM_LEGPREFIX = "L";
// score messages
SWWM_FINDSECRET = "\cf%s\cf found a secret. +%d\c-";
SWWM_FINDKEY = "\cf%s\cf got the %s\cf. +%d\c-";
SWWM_LASTSECRET = "\cf%s\cf found the last secret. +%d\c-";
SWWM_LASTITEM = "\cf%s\cf got the last item. +%d\c-";
SWWM_LASTMONSTER = "\cf%s\cf killed the last monster. +%d\c-";
SWWM_NEWLORE = "New entries have been added to the Library.";
// intermission tips
SWWM_NINTERTIP = "30";
SWWM_INTERTIP = "Tip #%d:";
SWWM_INTERTIP1 = "The Demolitionist is immune to drowning, poison and even fall damage (excluding instant kill pits, e.g. in Hexen).";
SWWM_INTERTIP2 = "The Explodium Gun's altfire has an explosive yield proportional to the bullets left in the mag.";
SWWM_INTERTIP3 = "Your fuel regenerates over time, but the more you use the impulsor, the longer this will take.";
SWWM_INTERTIP4 = "The Pusher has a chance to slip off your hands on altfire if it doesn't land a hit, however as a ranged attack it may still be effective.";
SWWM_INTERTIP5 = "Spare copies of items will be stashed away in your inventory if they can't be immediately used, this even includes health and armor.";
SWWM_INTERTIP6 = "The Omnisight makes it easy to track down keys and secret exits in maps.";
SWWM_INTERTIP7 = "True to its name, the Wallbuster's tertiary fire can be used to completely obliterate doors and other obstacles.";
SWWM_INTERTIP8 = "The Eviscerator can easily clear entire rooms and corridors, but keep in mind that some of the shrapnel might bounce right back at you if you're not careful.";
SWWM_INTERTIP9 = "When on the move, the Silver Bullet's jet compensators will reduce most of the recoil from firing, but will also deal some damage if you're not wearing armor.";
SWWM_INTERTIP10 = "Just like other energy weapons of similar function, the Sparkster's primary and secondary fires can be combined with deadly results.";
SWWM_INTERTIP11 = "The Lämp has a chance to attract a rare type of moth that is much more aggressive than others in its attacks.";
SWWM_INTERTIP12 = "Most healing items will auto-activate if you're about to die, though sometimes they may not be enough to really save you... unless it's a Grilled Cheese Sandwich.";
SWWM_INTERTIP13 = "The Ynykron Artifact will instantly kill everything you aim it at, unless it's really unkillable, though usually that's only the case for gods. You're not planning on going after any gods, right?";
SWWM_INTERTIP14 = "Do not be deceived by the Candy Gun, it may seem like a simple recolor, but it is A LOT stronger than your starting weapon.";
SWWM_INTERTIP15 = "The Ragekit will greatly increase the strength of your melee attacks and reduce incoming damage, but it'll also make you scream, all the time.";
SWWM_INTERTIP16 = "You can share items with other players in multiplayer using the trading tab in your Demolitionist menu. Items that won't fit in the destination inventory will not be traded.";
SWWM_INTERTIP17 = "The Demolitionist Menu is very helpful, do not forget to bind a key to open it.";
SWWM_INTERTIP18 = "All weapons have a quick melee attack available through a dedicated button. With one-handed weapons you will perform a punch, and with two-handed ones a bash.";
SWWM_INTERTIP19 = "With the right combination of dashing, boosting and wall jumping, it is perfectly possible to remain in the air for extended periods of time.";
SWWM_INTERTIP20 = "In multiplayer, any keys you pick up will be immediately shared with other players.";
SWWM_INTERTIP21 = "Aim for a high score! The more enemies you kill the better. Don't forget to put that cash to use at the in-game store when you can.";
SWWM_INTERTIP22 = "Although chance boxes may sound like a terrible idea, there is a high probability of obtaining very valuable items for a much lower cost.";
SWWM_INTERTIP23 = "With proper timing, you can use your quick melee attack to deflect projectiles and bullets. It is even possible to return these to the sender, with increased damage if you're under the effects of a Ragekit.";
SWWM_INTERTIP24 = "Did you know that Saya really hates the UAC?\n\nWhat? You already knew that? Geez, then I have no idea what else to tell you.";
SWWM_INTERTIP25 = "You can dash into enemies to push them out of the way. Some smaller ones may die immediately from the impact and go flying.";
SWWM_INTERTIP26 = "If you do an air dash straight towards the ground, you might land with enough force to cause a shockwave, pushing away most enemies around you.";
SWWM_INTERTIP27 = "You can press switches and open doors by punching them. This can also be done with the Lead Ball ammunition from the Spreadgun, with the exception of exit switches.";
SWWM_INTERTIP28 = "The fire from the Spreadgun's Napalm rounds will spread around to nearby enemies (or yourself). Remember, if you're on fire, stop, drop and roll... or just spin around, it works the same.";
SWWM_INTERTIP29 = "Incendiary ammunition is ineffective underwater, for obvious reasons.";
SWWM_INTERTIP30 = "My girlfriends are really cute. Sorry, I had to say it.";
// intermission fanart
SWWM_FANART = "Art: ";
SWWM_NFANART = "2";
SWWM_FANART1 = "S20TBL.jpg;Substance20 (@S20_TBL)";
SWWM_FANART2 = "CaptainJ.png;Captain J (@Jho7835)";
// intermission 4komas (TBD)

File diff suppressed because it is too large Load diff

280
language.def_menu Normal file
View file

@ -0,0 +1,280 @@
// English (odd personal GB/US mix, I kinda have a problem with that)
[default]
// keybinds
SWWM_KEYS = "SWWM GZ Bindings";
SWWM_PRIMARYFIRE = "Primary Fire";
SWWM_SECONDARYFIRE = "Secondary Fire";
SWWM_RELOADFIRE = "Reload";
SWWM_ZOOMFIRE = "Tertiary Fire / Zoom";
SWWM_MELEE = "Melee Attack";
SWWM_DASH = "Dash";
SWWM_GESTURE1 = "Point Down";
SWWM_GESTURE2 = "Thumbs Up";
SWWM_GESTURE3 = "Victory";
SWWM_KBASE = "Demolitionist Menu";
// mod menu
SWWM_MTITLE = "SWWM GZ Options";
SWWM_PTITLE = "Player Options";
SWWM_VOICETYPE = "Demolitionist Voice Pack";
SWWM_MUTELEVEL = "Voice Muting Level";
SWWM_MUTENONE = "None";
SWWM_MUTECOMBAT = "Combat Comments";
SWWM_MUTEINTER = "Interaction Comments";
SWWM_MUTELINERS = "Map Start Oneliners";
SWWM_MUTEALL = "Everything";
SWWM_OTITLE = "Visual Options";
SWWM_FLASH = "Screen Flash Strength";
SWWM_HUDMARGIN = "HUD Margin";
SWWM_MAXMSG = "Max Messages";
SWWM_MAXMSGBIG = "Max Messages (Extended)";
SWWM_MAXPICK = "Max Pickup Messages";
SWWM_CHATLEN = "Chat Message Duration";
SWWM_MSGLEN = "General Message Duration";
SWWM_PICKLEN = "Pickup Message Duration";
SWWM_ITITLE = "Item Options";
SWWM_ARMORUSE = "Automatically Use Armor";
SWWM_HEALTHUSE = "Automatically Use Health";
SWWM_AMMOUSE = "Automatically Use Fabricators";
SWWM_CTITLE = "Multiplayer Options";
SWWM_SKEYS = "Share Keys";
SWWM_SVARMORUSE = "Enforce Armor Auto-Use";
SWWM_SVHEALTHUSE = "Enforce Health Auto-Use";
SWWM_SVAMMOUSE = "Enforce Fabricator Auto-Use";
SWWM_MCREDS = "SWWM GZ Credits";
SWWM_CLEAD = "Development Lead:";
SWWM_CASSETS = "Additional Assets:";
SWWM_CMUSIC = "Music Tracks Used:";
SWWM_CFANART = "Intermission Fanart:";
SWWM_CPATRON = "Patreon Backers:";
SWWM_CTHANK = "Special Thanks:";
SWWM_CDRAGON2 = "(For being a good pet dragon)";
SWWM_CLUCY2 = "(For the Tewi font, which I've used for many many years)";
SWWM_CKEKS2 = "(For libeye, assistance with exception handling code)";
SWWM_CSLEDGE2 = "(For lore reasons that encouraged me to take part in the Doom modiverse)";
SWWM_CSPY2 = "(For being so enthusiastic about everything in this mod)";
SWWM_CINSP1 = "Combine Kegan, HyperUltra64, TerminusEst13, Yholl and friends";
SWWM_CINSP2 = "(For inspiration and also for being really cool people)";
SWWM_CCOMMUNITY1 = "All my amazing friends from the Doom community";
SWWM_CCOMMUNITY2 = "(For helping me keep this whole thing rolling, and for all the time we've spent together)";
SWWM_CCOMMUNITY3 = "(Here's to many more years of Dooming. Stay awesome, everyone!)";
SWWM_CDEVS1 = "Randi, Graf, Rachael, Mental, dpJudas and the rest of the GZDoom dev team";
SWWM_CDEVS2 = "(For their work on the source port that brought back my faith in modding. You guys rock!)";
SWWM_FORCEDISABLE = "Force Disable";
SWWM_USERSET = "User Set";
SWWM_FORCEENABLE = "Force Enable";
SWWM_6DOF = "6DOF Flight";
SWWM_TARGET = "Show Healthbars";
SWWM_TARGETTAG = "Show Monster Names";
SWWM_DAMNUMS = "Show Damage/Heal Numbers";
SWWM_SCORENUMS = "Show Score Numbers";
SWWM_SCOREBONUS = "Show Score Bonuses";
SWWM_EARBUSTER = "Reduce Wallbuster Loudness";
SWWM_SHADERS = "Use Screen Shaders";
SWWM_OTHERVOICE = "Co-op Voice";
SWWM_REVIVE = "Emergency Reboot System";
SWWM_REVIVECOOLDOWN = "Reboot Cooldown";
SWWM_UNLIMITED = "Unlimited";
SWWM_INTERTYPE = "Intermission Art";
SWWM_INTERDEF = "N/A";
SWWM_INTERART = "Fanart";
SWWM_INTER4KOMA = "4Koma";
SWWM_BALLUSE = "Lead Balls can activate switches";
TOOLTIP_SWWM_VOICETYPE = "Sets the voice pack for the player.";
TOOLTIP_SWWM_MUTEVOICE = "Control what gets muted, if you'd rather have a more silent protagonist.";
TOOLTIP_SWWM_FLASHSTRENGTH = "Screen flashes usually happen when firing some weapons, you can lower this if these effects are harmful for you.";
TOOLTIP_SWWM_HUDMARGIN = "Margin around HUD elements, in (scaled) pixels.";
TOOLTIP_SWWM_MAXSHOWN = "Maximum messages (not lines) shown in the top left part of the HUD.";
TOOLTIP_SWWM_MAXSHOWNBIG = "Like the option above, but when the chat prompt is open.";
TOOLTIP_SWWM_MAXPICKUP = "Maximum pickup messages visible at any time.";
TOOLTIP_SWWM_CHATDURATION = "Duration of chat messages in seconds.";
TOOLTIP_SWWM_MSGDURATION = "Duration of obituaries and other messages in seconds.";
TOOLTIP_SWWM_PICKDURATION = "Duration of pickup messages in seconds.";
TOOLTIP_SWWM_SHAREKEYS = "When this is enabled, picking up a key item will send a copy to all other players.";
TOOLTIP_SWWM_AUTOUSEARMOR = "When enabled, new armor items are automatically worn when picked up, and spare armors will be automatically used when needed.";
TOOLTIP_SWWM_AUTOUSEHEALTH = "When enabled, health items are automatically used if they can heal (including spares). This excludes Refreshers since they count as powerups, and always autoactivate on fatal damage.";
TOOLTIP_SWWM_AUTOUSEAMMO = "When enabled, ammo fabricators are automatically used on pickup. This excludes Tier 4 fabricators since they count as powerups.";
TOOLTIP_SWWM_ENFORCEAUTOUSEARMOR = "Enforce a specific armor auto-use setting for all players, or respects per-player settings.";
TOOLTIP_SWWM_ENFORCEAUTOUSEHEALTH = "Enforce a specific health auto-use setting for all players, or respects per-player settings.";
TOOLTIP_SWWM_ENFORCEAUTOUSEAMMO = "Enforce a specific ammo fabricator auto-use setting for all players, or respects per-player settings.";
TOOLTIP_SWWM_FLY6DOF = "Enable 6DOF movement when flying. Disable if this feature causes any discomfort.";
TOOLTIP_SWWM_TARGETER = "Show enemy/player healthbars. Disable if you'd prefer to use another mod for this, such as Target Spy.";
TOOLTIP_SWWM_TARGETTAGS = "Show enemy names above their healthbars.";
TOOLTIP_SWWM_HEALTHNUMS = "Show damage/healing numbers. Disable if you'd prefer to use another mod for this, such as DamNums.";
TOOLTIP_SWWM_SCORENUMS = "Show score kill numbers.";
TOOLTIP_SWWM_SCOREBONUS = "Show additional bonus strings above score numbers (e.g.: multikill counters).";
TOOLTIP_SWWM_EARBUSTER = "The Wallbuster's firing sounds may be painfully loud at times. This setting will limit the loudness to something more bearable.";
TOOLTIP_SWWM_SHADERS = "Use postprocess shaders for things like powerups and the Silver Bullet scope. You can disable this if you'd prefer something lighter on the eyes.";
TOOLTIP_SWWM_OTHERVOICE = "Allows you to hear other player's voice lines, provided you're close enough.";
TOOLTIP_SWWM_REVIVE = "Allows the player to get back up after dying by pressing Fire. Has a configurable cooldown.";
TOOLTIP_SWWM_REVIVECOOLDOWN = "Time in seconds of downtime after using a reboot, where if you die again, you can't get back up. Set to 0 to allow unlimited reboots.";
TOOLTIP_SWWM_INTERTYPE = "Choose what to display in the background during intermissions.";
TOOLTIP_SWWM_BALLUSE = "Lead Ball projectiles can remotely activate use switches (excluding exits). Potentially OP.";
// knowledge base
SWWM_COMINGSOON = "(coming soon)";
SWWM_MISSTAB = "Mission";
SWWM_STATTAB = "Stats";
SWWM_STATUPTIME = "Uptime: ";
SWWM_STATONFOOT = "Distance on Foot: ";
SWWM_STATFLIGHT = "Distance in Air: ";
SWWM_STATBOOST = "Times Boosted: ";
SWWM_STATDASH = "Times Dashed: ";
SWWM_STATSTOMP = "Times Stomped: ";
SWWM_STATFUEL = "Total Fuel Usage: ";
SWWM_STATSPEED = "Top Speed: ";
SWWM_STATAIRTIME = "Longest Air Time: ";
SWWM_STATKILLS = "Total Kills: ";
SWWM_STATDEATHS = "Total Deaths: ";
SWWM_STATDDEALT = "Total Damage Dealt: ";
SWWM_STATTDEALT = "Highest Damage Dealt: ";
SWWM_STATDTAKEN = "Total Damage Taken: ";
SWWM_STATTTAKEN = "Highest Damage Taken: ";
SWWM_STATMKILL = "Highest Kill Combo: ";
SWWM_STATSKILL = "Longest Untouchable Spree: ";
SWWM_STATFAVWEAP = "Favorite Weapon: ";
SWWM_STATHISCORE = "Highest Score: ";
SWWM_INVTAB = "Inventory";
SWWM_INVFAIL = "You can't use this right now";
SWWM_INVNDROP = "You can't drop this";
SWWM_NOINV = "(inventory is empty)";
SWWM_KEYTAB = "Keychain";
SWWM_NOKEYS = "(no keys found)";
SWWM_KBASETAB = "Library";
SWWM_STORETAB = "Store";
SWWM_STOREFULL = "You can't hold more of that";
SWWM_STOREMUNS = "You don't have enough money";
SWWM_NOSTORE = "(no items left to buy)";
SWWM_TRADETAB = "Trading";
SWWM_TRADEFULL = "They can't hold more of that";
SWWM_NOTRADE = "(no units found nearby for trade)";
SWWM_TRADETO = "Sent to";
SWWM_TRADEFROM = "Received from";
SWWM_NOTRADEHIST = "(no trades found in history)";
SWWM_MSGSENT = "You sent %dx %s to %s.";
SWWM_MSGRECV = "%s sent you %dx %s.";
SWWM_CHATTAB = "Chat Log";
SWWM_NOCHAT = "(chat history is empty)";
SWWM_SECRETTAB = "Secret";
SWWM_TODEMO = "To Demo-chan, from Ibuki and Saya \cg♥\c-";
SWWM_MAINCONTROLS = "Press F1 to see controls";
SWWM_LOREUNSEL = "(no entry chosen)";
SWWM_LORETAB0 = "Items";
SWWM_LORETAB1 = "People";
SWWM_LORETAB2 = "Lore";
SWWM_HELPTAB = "Help";
SWWM_HELPTXT =
"\cxDemolitionist Menu - Basic Controls\c-\n"
"\cx---------------------------------\c-\n"
"\n"
"\cf%s:\c- Open/Close Demolitionist menu\n"
"\cfPageUp/PageDown:\c- Switch tabs\n"
"\cfF1:\c- Open/Close help tab\n"
"\n"
"\cxMission Tab - Controls\c-\n"
"\cx--------------------\c-\n"
"\n"
"\cfUp/Down:\c- Scroll\n"
"\n"
"\cxInventory Tab - Controls\c-\n"
"\cx----------------------\c-\n"
"\n"
"\cfArrow Keys:\c- Navigate\n"
"\cfEnter/Left Click:\c- Use selected item\n"
"\cfBackspace/Right Click:\c- Drop selected item\n"
"\n"
"\cxKeychain Tab - Controls\c-\n"
"\cx---------------------\c-\n"
"\n"
"\cfArrow Keys:\c- Navigate\n"
"\n"
"\cxLibrary Tab - Controls (Main)\c-\n"
"\cx---------------------------\c-\n"
"\n"
"\cfUp/Down:\c- Scroll through entries\n"
"\cfLeft/Right:\c- Switch category\n"
"\cfEnter/Left Click:\c- Open entry\n"
"\n"
"\cxLibrary Tab - Controls (Entry Open)\c-\n"
"\cx---------------------------------\c-\n"
"\n"
"\cfUp/Down:\c- Scroll\n"
"\cfBackspace:\c- Return to entry list\n"
"\n"
"\cxStore Tab - Controls\c-\n"
"\cx------------------\c-\n"
"\n"
"\cfArrow Keys:\c- Navigate\n"
"\cfEnter/Left Click:\c- Buy\n"
//"\cfBackspace/Right Click:\c- Sell\n"
"\n"
"\cxTrading Tab - Controls (Main)\c-\n"
"\cx---------------------------\c-\n"
"\n"
"\cfUp/Down:\c- Navigate\n"
"\cfEnter/Left Click:\c- Select recipient\n"
"\cfBackspace:\c- History\n"
"\n"
"\cxTrading Tab - Controls (Trade)\c-\n"
"\cx----------------------------\c-\n"
"\n"
"\cfArrow Keys:\c- Navigate\n"
"\cfEnter/Left Click:\c- Send item\n"
"\cfBackspace:\c- Return\n"
"\n"
"\cxTrading Tab - Controls (History)\c-\n"
"\cx------------------------------\c-\n"
"\n"
"\cfUp/Down:\c- Scroll\n"
"\cfBackspace:\c- Return\n"
"\n"
"\cxChat Log Tab - Controls\c-\n"
"\cx---------------------\c-\n"
"\n"
"\cfUp/Down:\c- Scroll";
// mission entries
SWWM_MISSION_DOOM =
"Welcome to your first mission, Demolitionist. I'll be very direct here, the situation is very fucked. Things don't look good at all. Those fucking UAC idiots have done their worst and now we're paying for it. FUCK... THE... UAC... Seriously. If that damn brat Kelliher 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"
"It all happened so fast that... we didn't really have much time to prepare for it. Half of Earth got entirely taken over now. It's all mostly just the western countries, with the epicenter on Union States territory, where you'll be deployed. What pisses me off the most is that I can't get in touch with the Lunar Capital, it's like they're actively ignoring us or something. Fucking hell, it could have been our chance to contact the Nukuri and ask for help, but nope, we're on our own. We... have to do our best to fight these damn things, all by ourselves. That's where you come in.\n"
"\n"
"It is your mission to put an end to this, there are people out there fighting, we don't know how many, who still haven't been evacuated. It's Hell on Earth thanks to the amazing and great UAC shoving their stinky-ass fingers into what they shouldn't. Do they even know... How many of my friends I've lost... all the thousands, tens of thousands or even more, that just... couldn't make it. WW3 was nothing compared to this. It's just... ugh... And the fucker has the BALLS to just go and act like everything's fine and will be fixed soon. I want to punch that smug bastard... damn it.\n"
"\n"
"*sigh*\n"
"\n"
"Enough grieving... it's all about the mission now. I seriously don't have much faith on the UAC's so-called \"problem solver\", but WE can do it. Me and a couple others have joined up to make this happen, you're going to save those people. It'll be hard, I know, but you can do it, that's why I built you. If there's even a chance that you'll succeed, I want to tell you that I will personally reward you, Demo-chan. I'm not going to give you any details, I want it to be a surprise.\n"
"\n"
"We haven't been able to provide you with all the available equipment, there was no time for that. Instead, be on the lookout for strategically placed supplies along the way (hopefully the demons won't touch the stuff). I know that sounds kind of videogamey, and if I hear you complain you can eat my pants, I wasn't the one who made that decision. Whatever.\n"
"\n"
"You are our last hope, so fight, Demo-chan, fight for those you want to protect, for all of us... Make those bastards pay.\n"
"\n"
"Saya out.";
SWWM_MISSION_HERETIC =
"Welcome to your second mission, Demolitionist. While things have calmed down over here, we've been able to resume our work on the Akari Project. 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 Parthoris, 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"
"Here's the situation: This place was divided in seven kingdoms, and all was good™ until some evildoer wizard of sorts popped up and brainwashed everyone. The only ones who resisted were the elves, the Sidhe (how do you even pronounce that). I don't like where this is going already, and I would hate to see a repeat of what we went through, so you're here to put a stop to it.\n"
"\n"
"Your objective is a man called D'Sparil. He's a member of a triad of crazy-ass evil sorcerers called the \"Serpent Riders\". Guy's tall, wears red robes, and talks backwards, can't miss him. He commands armies of undead and shit, nothing you can't deal with, I'm sure. First of all, you'll need to make contact with the Sidhe survivors, see if you can gather any more information on where to go and what to do. Maybe once it's all over we can probably form an alliance or something, and hopefully they won't be pissed that we use wooden furniture.\n"
"\n"
"I'm sure, that once you come back you'll want to transfer over to your maidbot body again, so I'll be working on a couple \"extensions\" there to make things more... \"fun\", if you catch my drift. Oh, I'm in the mood for something long... and hard... right now, yes...\n"
"\n"
"So... uh... horniness aside, I'm sorry that we couldn't give you all your stuff. I'm taking the blame this time, I think I screwed something up with the deployment and it got scattered all over the place. It's possible that the locals may have moved it around so... good luck finding it all.\n"
"\n"
"Go get 'em, Demo-chan. Kick some wizard ass.\n"
"\n"
"Saya out.";
SWWM_MISSION_HEXEN =
"Welcome to your... ah screw this.\n"
"\n"
"Heya, Demo-chan. It's time for another adventure! Remember that wizard you beat up last time? We've tracked down the next big baddie buddy of his, and you're gonna kick his ass too, oh yeah.\n"
"\n"
"Welcome to Cronos. This place used to be nice, until that guy came in stomping around with his armies. Like the wizard dude, this fucker even got some of the locals on their side. Your target is called Korax, like the raven, huh, y'know, \"Corvus Corax\"... ah, forget it.\n"
"\n"
"So the thing is, I'd like you to step in and take him out. Do NOT listen to anything he says, as I bet he'll probably try to get to you too. He's big, ugly, and doesn't look much like the type who'd be capable of riding a serpent, so maybe... he's the one who gets a riding... oh wait no, that doesn't sound very... UGH... baaaaad mental image, holy fuck. Where are Ibuki's tiddies when you need 'em, they're the best at making me forget about everything.\n"
"\n"
"I know you'll want a nice reward for this so, here's what I have in mind. How about some more of that \"fun\" we had last time, hm? You, me, maybe Ibuki and Maidbot too... and I wonder... if Kirin-kun also... hnnn... and then... *heavy breathing*\n"
"\n"
"OK, wow... phew. Saya, focus. No hornyposting on mission statments, not again. Anyway, bad-ish news??? We got a mixup on the ammo stuff and instead we got these weirdass \"Fabricator\" things from that nerdo. They do provide ammo, at least. As usual, your equipment will be strategically placed here and there, since we couldn't just... send you in with ALL of it at once, again. I don't know why nerdo boy insists on doing things like this. Does he really want everything to be so... ugh... videogamey?\n"
"\n"
"Well, whatever. Go, Demo-chan, show 'em what you got!\n"
"\n"
"Saya out.";
SWWM_MISSION_NONE = "(no mission briefing available)";

4
language.def_strife Normal file
View file

@ -0,0 +1,4 @@
// English (odd personal GB/US mix, I kinda have a problem with that)
[default]
// Strife mission texts
// Strife dialogue texts

251
language.def_voice Normal file
View file

@ -0,0 +1,251 @@
// English (odd personal GB/US mix, I kinda have a problem with that)
[default]
// voice name
SWWM_VOICENAME_DEFAULT = "Demolitionist";
// new weapon received
SWWM_SUBS_DEFAULT_NGETWEAPON = "13";
SWWM_SUBS_DEFAULT_GETWEAPON1 = "Not bad... Not bad at all...";
SWWM_SUBS_DEFAULT_GETWEAPON2 = "Good find...";
SWWM_SUBS_DEFAULT_GETWEAPON3 = "Mine now...";
SWWM_SUBS_DEFAULT_GETWEAPON4 = "Nice...";
SWWM_SUBS_DEFAULT_GETWEAPON5 = "Bingo...";
SWWM_SUBS_DEFAULT_GETWEAPON6 = "Hell yeah...";
SWWM_SUBS_DEFAULT_GETWEAPON7 = "Excellent...";
SWWM_SUBS_DEFAULT_GETWEAPON8 = "Yes...";
SWWM_SUBS_DEFAULT_GETWEAPON9 = "There we go...";
SWWM_SUBS_DEFAULT_GETWEAPON10 = "Perfect...";
SWWM_SUBS_DEFAULT_GETWEAPON11 = "I like it...";
SWWM_SUBS_DEFAULT_GETWEAPON12 = "That looks nice...";
SWWM_SUBS_DEFAULT_GETWEAPON13 = "It's probably worth a fortune...";
// locked door
SWWM_SUBS_DEFAULT_NLOCKED = "4";
SWWM_SUBS_DEFAULT_LOCKED1 = "Don't have the key.";
SWWM_SUBS_DEFAULT_LOCKED2 = "Only opens with a key.";
SWWM_SUBS_DEFAULT_LOCKED3 = "Would need the key.";
SWWM_SUBS_DEFAULT_LOCKED4 = "Locked tight.";
// jammed door (strife)
SWWM_SUBS_DEFAULT_NJAMMED = "4";
SWWM_SUBS_DEFAULT_JAMMED1 = "It's stuck.";
SWWM_SUBS_DEFAULT_JAMMED2 = "No use.";
SWWM_SUBS_DEFAULT_JAMMED3 = "Jammed.";
SWWM_SUBS_DEFAULT_JAMMED4 = "Useless.";
// puzzle item failure
SWWM_SUBS_DEFAULT_NPUZZFAIL = "6";
SWWM_SUBS_DEFAULT_PUZZFAIL1 = "Damn.";
SWWM_SUBS_DEFAULT_PUZZFAIL2 = "Damn it.";
SWWM_SUBS_DEFAULT_PUZZFAIL3 = "No good.";
SWWM_SUBS_DEFAULT_PUZZFAIL4 = "Nope.";
SWWM_SUBS_DEFAULT_PUZZFAIL5 = "Uh uh.";
SWWM_SUBS_DEFAULT_PUZZFAIL6 = "Hmmm.";
// puzzle item success
SWWM_SUBS_DEFAULT_NPUZZSUCC = "5";
SWWM_SUBS_DEFAULT_PUZZSUCC1 = "Nice.";
SWWM_SUBS_DEFAULT_PUZZSUCC2 = "That's it.";
SWWM_SUBS_DEFAULT_PUZZSUCC3 = "Got it.";
SWWM_SUBS_DEFAULT_PUZZSUCC4 = "Yes.";
SWWM_SUBS_DEFAULT_PUZZSUCC5 = "Sweet.";
// first enemy encounter (20 seconds cooldown since all enemies dead)
SWWM_SUBS_DEFAULT_NFIGHTSTART = "21";
SWWM_SUBS_DEFAULT_FIGHTSTART1 = "Here we go again.";
SWWM_SUBS_DEFAULT_FIGHTSTART2 = "Let's get this show on the road.";
SWWM_SUBS_DEFAULT_FIGHTSTART3 = "Time to die.";
SWWM_SUBS_DEFAULT_FIGHTSTART4 = "Bring it on.";
SWWM_SUBS_DEFAULT_FIGHTSTART5 = "You are all going to die.";
SWWM_SUBS_DEFAULT_FIGHTSTART6 = "I've been spoiling for a fight.";
SWWM_SUBS_DEFAULT_FIGHTSTART7 = "Let's do this.";
SWWM_SUBS_DEFAULT_FIGHTSTART8 = "Time to get crazy! Kill 'em all!";
SWWM_SUBS_DEFAULT_FIGHTSTART9 = "You really don't want to start a fight with me.";
SWWM_SUBS_DEFAULT_FIGHTSTART10 = "Let's get on with it.";
SWWM_SUBS_DEFAULT_FIGHTSTART11 = "Kill!";
SWWM_SUBS_DEFAULT_FIGHTSTART12 = "This won't be hard.";
SWWM_SUBS_DEFAULT_FIGHTSTART13 = "Let's do it.";
SWWM_SUBS_DEFAULT_FIGHTSTART14 = "Let's do this.";
SWWM_SUBS_DEFAULT_FIGHTSTART15 = "Let's just get this over with.";
SWWM_SUBS_DEFAULT_FIGHTSTART16 = "Well, this will be an interesting challenge.";
SWWM_SUBS_DEFAULT_FIGHTSTART17 = "Okay. Let's get started.";
SWWM_SUBS_DEFAULT_FIGHTSTART18 = "Oh, this is just what I need right now...";
SWWM_SUBS_DEFAULT_FIGHTSTART19 = "Time to put on a show.";
SWWM_SUBS_DEFAULT_FIGHTSTART20 = "I'm putting you down.";
SWWM_SUBS_DEFAULT_FIGHTSTART21 = "Oh, good. Here I was afraid I'd have nothing to do.";
// played at map start
SWWM_SUBS_DEFAULT_NMAPSTART = "14";
SWWM_SUBS_DEFAULT_MAPSTART1 = "Ugh... this place smells horrible.";
SWWM_SUBS_DEFAULT_MAPSTART2 = "Okay, let's get to work.";
SWWM_SUBS_DEFAULT_MAPSTART3 = "Let's hurry this up.";
SWWM_SUBS_DEFAULT_MAPSTART4 = "This place is all kinds of strange.";
SWWM_SUBS_DEFAULT_MAPSTART5 = "I was born ready.";
SWWM_SUBS_DEFAULT_MAPSTART6 = "It's a hard world. I do what I have to.";
SWWM_SUBS_DEFAULT_MAPSTART7 = "No robot is superior to me.";
SWWM_SUBS_DEFAULT_MAPSTART8 = "I've seen better.";
SWWM_SUBS_DEFAULT_MAPSTART9 = "Okay. Let's head in.";
SWWM_SUBS_DEFAULT_MAPSTART10 = "I don't want any trouble. I'm just passing through.";
SWWM_SUBS_DEFAULT_MAPSTART11 = "Sorry to keep you waiting.";
SWWM_SUBS_DEFAULT_MAPSTART12 = "I'll do my best.";
SWWM_SUBS_DEFAULT_MAPSTART13 = "Just so we're clear: Anything good I find is mine.";
SWWM_SUBS_DEFAULT_MAPSTART14 = "I bet the food here is terrible.";
// every time a secret is found
SWWM_SUBS_DEFAULT_NFINDSECRET = "13";
SWWM_SUBS_DEFAULT_FINDSECRET1 = "Yeah, yeah, I'm the best.";
SWWM_SUBS_DEFAULT_FINDSECRET2 = "It's true. I do know my shit.";
SWWM_SUBS_DEFAULT_FINDSECRET3 = "What can I say? I'm good at what I do.";
SWWM_SUBS_DEFAULT_FINDSECRET4 = "It was no big deal.";
SWWM_SUBS_DEFAULT_FINDSECRET5 = "No trouble at all.";
SWWM_SUBS_DEFAULT_FINDSECRET6 = "It was easy.";
SWWM_SUBS_DEFAULT_FINDSECRET7 = "Thanks to me, yes.";
SWWM_SUBS_DEFAULT_FINDSECRET8 = "It was a walk in the park.";
SWWM_SUBS_DEFAULT_FINDSECRET9 = "It was a piece of cake.";
SWWM_SUBS_DEFAULT_FINDSECRET10 = "I still got it.";
SWWM_SUBS_DEFAULT_FINDSECRET11 = "I did good work, didn't I?";
SWWM_SUBS_DEFAULT_FINDSECRET12 = "Wow, that's pretty lucky!";
SWWM_SUBS_DEFAULT_FINDSECRET13 = "Yeah, well, I am pretty awesome.";
// frag taunts
SWWM_SUBS_DEFAULT_NSCOREKILL = "27";
SWWM_SUBS_DEFAULT_SCOREKILL1 = "Good riddance.";
SWWM_SUBS_DEFAULT_SCOREKILL2 = "One down.";
SWWM_SUBS_DEFAULT_SCOREKILL3 = "Goodbye.";
SWWM_SUBS_DEFAULT_SCOREKILL4 = "Heh! You can't stop me.";
SWWM_SUBS_DEFAULT_SCOREKILL5 = "What a loser.";
SWWM_SUBS_DEFAULT_SCOREKILL6 = "We're done.";
SWWM_SUBS_DEFAULT_SCOREKILL7 = "Bye.";
SWWM_SUBS_DEFAULT_SCOREKILL8 = "Dead as can be.";
SWWM_SUBS_DEFAULT_SCOREKILL9 = "Another job done.";
SWWM_SUBS_DEFAULT_SCOREKILL10 = "The pleasure was all mine.";
SWWM_SUBS_DEFAULT_SCOREKILL11 = "How about something a little more challenging next time?";
SWWM_SUBS_DEFAULT_SCOREKILL12 = "I'm glad that's over with.";
SWWM_SUBS_DEFAULT_SCOREKILL13 = "Well, it's over. That's that.";
SWWM_SUBS_DEFAULT_SCOREKILL14 = "Ugh. Just... go away.";
SWWM_SUBS_DEFAULT_SCOREKILL15 = "Get lost.";
SWWM_SUBS_DEFAULT_SCOREKILL16 = "Is that all?";
SWWM_SUBS_DEFAULT_SCOREKILL17 = "Is that the best you can do?";
SWWM_SUBS_DEFAULT_SCOREKILL18 = "You annoy me.";
SWWM_SUBS_DEFAULT_SCOREKILL19 = "Going to have to try harder than that.";
SWWM_SUBS_DEFAULT_SCOREKILL20 = "What? That it?";
SWWM_SUBS_DEFAULT_SCOREKILL21 = "Get outta here.";
SWWM_SUBS_DEFAULT_SCOREKILL22 = "My pleasure.";
SWWM_SUBS_DEFAULT_SCOREKILL23 = "Out of my way.";
SWWM_SUBS_DEFAULT_SCOREKILL24 = "Get outta my way.";
SWWM_SUBS_DEFAULT_SCOREKILL25 = "Want some more?";
SWWM_SUBS_DEFAULT_SCOREKILL26 = "Done and done.";
SWWM_SUBS_DEFAULT_SCOREKILL27 = "It's done.";
// getting hurt by monsters
SWWM_SUBS_DEFAULT_NGETHIT = "18";
SWWM_SUBS_DEFAULT_GETHIT1 = "Whatever...";
SWWM_SUBS_DEFAULT_GETHIT2 = "*sigh*";
SWWM_SUBS_DEFAULT_GETHIT3 = "Hm hmm.";
SWWM_SUBS_DEFAULT_GETHIT4 = "Bitch.";
SWWM_SUBS_DEFAULT_GETHIT5 = "Asshole...";
SWWM_SUBS_DEFAULT_GETHIT6 = "You annoy me.";
SWWM_SUBS_DEFAULT_GETHIT7 = "Up yours.";
SWWM_SUBS_DEFAULT_GETHIT8 = "You got my attention.";
SWWM_SUBS_DEFAULT_GETHIT9 = "I'm ending this right now.";
SWWM_SUBS_DEFAULT_GETHIT10 = "You're a pain in the ass.";
SWWM_SUBS_DEFAULT_GETHIT11 = "That's bullshit.";
SWWM_SUBS_DEFAULT_GETHIT12 = "Are you serious?";
SWWM_SUBS_DEFAULT_GETHIT13 = "Going to have to try harder than that.";
SWWM_SUBS_DEFAULT_GETHIT14 = "Get outta here.";
SWWM_SUBS_DEFAULT_GETHIT15 = "And now it's your turn.";
SWWM_SUBS_DEFAULT_GETHIT16 = "Time to shut you up for good.";
SWWM_SUBS_DEFAULT_GETHIT17 = "You're not leaving here in one piece.";
SWWM_SUBS_DEFAULT_GETHIT18 = "You're obviously upset...";
// getting hurt by friendlies
SWWM_SUBS_DEFAULT_NFRIENDHIT = "7";
SWWM_SUBS_DEFAULT_FRIENDHIT1 = "Are you ticked off at me?";
SWWM_SUBS_DEFAULT_FRIENDHIT2 = "Are you serious?";
SWWM_SUBS_DEFAULT_FRIENDHIT3 = "What? Why?";
SWWM_SUBS_DEFAULT_FRIENDHIT4 = "That's awfully rude.";
SWWM_SUBS_DEFAULT_FRIENDHIT5 = "Sorry, what?";
SWWM_SUBS_DEFAULT_FRIENDHIT6 = "Not very friendly, are you?";
SWWM_SUBS_DEFAULT_FRIENDHIT7 = "Whoa, whoa. Easy there.";
// hurting a friendly
SWWM_SUBS_DEFAULT_NHITFRIEND = "3";
SWWM_SUBS_DEFAULT_HITFRIEND1 = "I... sorry.";
SWWM_SUBS_DEFAULT_HITFRIEND2 = "I'm sorry.";
SWWM_SUBS_DEFAULT_HITFRIEND3 = "Sorry.";
// greeting another player
SWWM_SUBS_DEFAULT_NGREET = "7";
SWWM_SUBS_DEFAULT_GREET1 = "Hi.";
SWWM_SUBS_DEFAULT_GREET2 = "Hey there.";
SWWM_SUBS_DEFAULT_GREET3 = "Hey.";
SWWM_SUBS_DEFAULT_GREET4 = "Hey.";
SWWM_SUBS_DEFAULT_GREET5 = "Hey.";
SWWM_SUBS_DEFAULT_GREET6 = "Well hello.";
SWWM_SUBS_DEFAULT_GREET7 = "Hi there.";
// ragekit
SWWM_SUBS_DEFAULT_NRAGEKIT = "6";
SWWM_SUBS_DEFAULT_RAGEKIT1 = "AAAAAAAAAAAAAAAAAAAAAA!!!!!";
SWWM_SUBS_DEFAULT_RAGEKIT2 = "FFFFFFUUUUUUUUUUUCKKKK!!!";
SWWM_SUBS_DEFAULT_RAGEKIT3 = "FUCKFUCKFUCCKKKK!!";
SWWM_SUBS_DEFAULT_RAGEKIT4 = "AAAAAAAAAARGH!!!!";
SWWM_SUBS_DEFAULT_RAGEKIT5 = "KILLLLL!!!!";
SWWM_SUBS_DEFAULT_RAGEKIT6 = "RAAAARGH!!! BRING IT!!!";
// --- comebacks for korax hub lines ---
// "Greetings mortal, are you ready to die?"
SWWM_SUBS_DEFAULT_NKORAXGREET = "13";
SWWM_SUBS_DEFAULT_KORAXGREET1 = "Oh boy. That's it. I'm outta here";
SWWM_SUBS_DEFAULT_KORAXGREET2 = "Great... That's just great.";
SWWM_SUBS_DEFAULT_KORAXGREET3 = "I don't want whatever you're selling.";
SWWM_SUBS_DEFAULT_KORAXGREET4 = "You're... not really my type.";
SWWM_SUBS_DEFAULT_KORAXGREET5 = "The first word that comes to my mind is 'ugly'.";
SWWM_SUBS_DEFAULT_KORAXGREET6 = "You look like something that was left in the fridge for too long.";
SWWM_SUBS_DEFAULT_KORAXGREET7 = "I can see coming here was a mistake.";
SWWM_SUBS_DEFAULT_KORAXGREET8 = "I'm not comfortable being watched so closely.";
SWWM_SUBS_DEFAULT_KORAXGREET9 = "Nice attitude...";
SWWM_SUBS_DEFAULT_KORAXGREET10 = "I could ask you the same question.";
SWWM_SUBS_DEFAULT_KORAXGREET11 = "I was about to ask you the same thing.";
SWWM_SUBS_DEFAULT_KORAXGREET12 = "I'm just looking for the mayonnaise. Maybe you could grab it for me. Second shelf, right next to the pudding.";
SWWM_SUBS_DEFAULT_KORAXGREET13 = "I'm here to pick up an order. Two large pepperoni and a calzone. Name is 'Fuck you'.";
// "My servants can smell your blood, human"
SWWM_SUBS_DEFAULT_NKORAXBLOOD = "13";
SWWM_SUBS_DEFAULT_KORAXBLOOD1 = "Creep.";
SWWM_SUBS_DEFAULT_KORAXBLOOD2 = "That's good to know.";
SWWM_SUBS_DEFAULT_KORAXBLOOD3 = "Whatever you say.";
SWWM_SUBS_DEFAULT_KORAXBLOOD4 = "I don't think so.";
SWWM_SUBS_DEFAULT_KORAXBLOOD5 = "Um... yeah... I don't think so...";
SWWM_SUBS_DEFAULT_KORAXBLOOD6 = "If you say so.";
SWWM_SUBS_DEFAULT_KORAXBLOOD7 = "I don't care.";
SWWM_SUBS_DEFAULT_KORAXBLOOD8 = "Whatever. Not like I care anyway.";
SWWM_SUBS_DEFAULT_KORAXBLOOD9 = "I don't really give a shit.";
SWWM_SUBS_DEFAULT_KORAXBLOOD10 = "Like I give a shit...";
SWWM_SUBS_DEFAULT_KORAXBLOOD11 = "I think you're confusing me with someone who gives a shit.";
SWWM_SUBS_DEFAULT_KORAXBLOOD12 = "I'm not so sure about that.";
SWWM_SUBS_DEFAULT_KORAXBLOOD13 = "Just shut up.";
// "You have played this game too long, mortal, I think I shall remove you from the board"
SWWM_SUBS_DEFAULT_NKORAXGAME = "14";
SWWM_SUBS_DEFAULT_KORAXGAME1 = "I really don't care.";
SWWM_SUBS_DEFAULT_KORAXGAME2 = "Go fuck yourself.";
SWWM_SUBS_DEFAULT_KORAXGAME3 = "Oh, go cough up a hairball.";
SWWM_SUBS_DEFAULT_KORAXGAME4 = "Not gonna happen.";
SWWM_SUBS_DEFAULT_KORAXGAME5 = "Your threats don't scare me.";
SWWM_SUBS_DEFAULT_KORAXGAME6 = "Not a chance.";
SWWM_SUBS_DEFAULT_KORAXGAME7 = "I don't take kindly to threats.";
SWWM_SUBS_DEFAULT_KORAXGAME8 = "Anything else I should know?";
SWWM_SUBS_DEFAULT_KORAXGAME9 = "Shut up...";
SWWM_SUBS_DEFAULT_KORAXGAME10 = "No one talks to me like that. Screw you.";
SWWM_SUBS_DEFAULT_KORAXGAME11 = "You won't talk when you're dead.";
SWWM_SUBS_DEFAULT_KORAXGAME12 = "I'd like to see you try.";
SWWM_SUBS_DEFAULT_KORAXGAME13 = "Oh, please try.";
SWWM_SUBS_DEFAULT_KORAXGAME14 = "I don't know what you're talking about, and I don't care.";
// "Worship me and I may be yet merciful, then again, maybe not"
SWWM_SUBS_DEFAULT_NKORAXWORSHIP = "11";
SWWM_SUBS_DEFAULT_KORAXWORSHIP1 = "What?";
SWWM_SUBS_DEFAULT_KORAXWORSHIP2 = "What a scumbag...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP3 = "Pompous ass...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP4 = "Someone's a little full of himself.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP5 = "So full of yourself...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP6 = "I've heard enough of your bullshit.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP7 = "Blah, blah, blah...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP8 = "What? I can't hear you over this ringing in my ears.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP9 = "You must think I'm an idiot.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP10 = "Do I look like an idiot?";
SWWM_SUBS_DEFAULT_KORAXWORSHIP11 = "You have an awfully high opinion of yourself.";
// "Are you strong enough to face your own masters?"
SWWM_SUBS_DEFAULT_NKORAXMASTERS = "9";
SWWM_SUBS_DEFAULT_KORAXMASTERS1 = "Can we move this along? I've got places to be.";
SWWM_SUBS_DEFAULT_KORAXMASTERS2 = "I don't appreciate people telling me what to do.";
SWWM_SUBS_DEFAULT_KORAXMASTERS3 = "Uh... yes, that's right.";
SWWM_SUBS_DEFAULT_KORAXMASTERS4 = "Suppose I've got nothing better to do.";
SWWM_SUBS_DEFAULT_KORAXMASTERS5 = "I'm asking myself the same thing.";
SWWM_SUBS_DEFAULT_KORAXMASTERS6 = "None of your damn business.";
SWWM_SUBS_DEFAULT_KORAXMASTERS7 = "Yes, I am.";
SWWM_SUBS_DEFAULT_KORAXMASTERS8 = "That's none of your business.";
SWWM_SUBS_DEFAULT_KORAXMASTERS9 = "Just shut up already...";

686
language.es_base Normal file
View file

@ -0,0 +1,686 @@
// Castillian Spanish
[es]
// tags, pickups
I_PUSHER = "Taladro Percutor de Microfusión \"Pusher\"";
I_DEEPIMPACT = "Pistola de Aire \"Deep Impact\"";
T_EXPLODIUM = "Pistola de Explodium";
T_SPREADGUN = "Trabuco";
I_SPREADGUN = "Trabuco \"Rhino Stopper\"";
I_WALLBUSTER = "Escopeta Pesada Perforadora \"Wallbuster\"";
I_EVISCERATOR = "Cañón de Flechettes de Carga Pesada \"Eviscerator\"";
I_HELLBLAZER = "Lanzacohetes \"Hellblazer\"";
T_SPARKSTER = "Carabina Biospark";
I_SPARKSTER = "Carabina Biospark Modelo S-5";
T_SILVERBULLET = "Silver Bullet JET";
T_CANDYGUN = "Pistola Caramelo";
I_CANDYGUN = "Pistola Caramelo \"Taste the Sweetness\"";
T_YNYKRON = "Artefacto Ynykron";
T_REDSHELL = "Cartucho";
T_REDSHELLS = "Cartuchos";
T_GREENSHELL = "Slug";
T_GREENSHELLS = "Slugs";
T_WHITESHELL = "Cartucho Dragon's Breath";
T_WHITESHELLS = "Cartuchos Dragon's Breath";
T_BLUESHELL = "Cartucho de Sal de Kinylum";
T_BLUESHELLS = "Cartucho de Sal de Kinylum";
T_BLACKSHELL = "Cartucho de Napalm";
T_BLACKSHELLS = "Cartuchos de Napalm";
T_PURPLESHELL = "Cartucho de Bola de Plomo";
T_PURPLESHELLS = "Cartuchos de Bola de Plomo";
T_GOLDSHELL = "Cartucho Dorado";
T_GOLDSHELLS = "Cartuchos Dorados";
T_EVISHELL = "Proyectil de Eviscerator";
T_EVISHELLS = "Proyectiles de Eviscerator";
I_EVISHELLPAK = "Pack de Seis para Eviscerator";
T_HELLMISSILES = "Misiles Hellblazer";
T_HELLCLUSTERS = "Estalladores Hellblazer";
T_HELLBURNINATORS = "Ruinadores Hellblazer";
T_HELLNUKES = "Cabezas Nucleares Hellblazer";
T_HELLMISSILE = "Misil Hellblazer";
T_HELLCLUSTER = "Estallador Hellblazer";
T_HELLBURNINATOR = "Ruinador Hellblazer";
T_HELLNUKE = "Cabeza Nuclear Hellblazer";
T_HELLMISSILEMAG = "Cargador de Misiles Hellblazer";
T_HELLCLUSTERMAG = "Cargador de Estalladores Hellblazer";
T_HELLBURNINATORMAG = "Cargador de Ruinadores Hellblazer";
T_HELLNUKEMAG = "Cargador de Cabezas Nucleares Hellblazer";
T_SPARKUNIT = "Unidad Biospark";
T_XSBMAG = "Cargador 1.150 XSB";
T_CANDYMAG = "Cargador de Pistola Caramelo";
T_CANDYSPARE = "Repuesto de Pistola Caramelo";
T_YNYKRONAMMO = "Contenedor de Cristal";
T_BLASTSUIT = "Chaleco Antiexplosivos";
T_EMBIGGENER = "Ensanchecedor de Hammerspace";
T_FABRICATOR1 = "Fabricador de Munición (Común)";
T_FABRICATOR2 = "Fabricador de Munición (Raro)";
T_FABRICATOR3 = "Fabricador de Munición (Muy Raro)";
T_FABRICATOR4 = "Fabricador de Munición (Super Raro)";
T_LOOTBOX1 = "Caja Afortunada (Común)";
T_LOOTBOX2 = "Caja Afortunada (Rara)";
T_LOOTBOX3 = "Caja Afortunada (Muy Rara)";
T_LOOTBOX4 = "Caja Afortunada (Super Rara)";
T_GHOSTARTI = "Artefacto Fantasma";
T_GRAVITYS = "Supresor de Gravedad";
T_TETRAHEALTH = "Tetraedro de Salud";
T_CUBEHEALTH = "Cubo de Salud";
T_INVINCIBALL = "Fuckin' Invincibola";
T_LAMP = "Lämpara";
I_LAMP = "Lámpara Compañera";
T_MOTH = "Polilla";
T_WMOTH = "Polilla Blanca";
T_MASHIRO = "Mashiro";
T_NUGGETH = "Pepita de Salud";
T_NUGGETA = "Pepita de Armadura";
T_OMNISIGHT = "Omnivisión";
I_OMNISIGHT = "Unidad de Mapeado Omnivisión";
T_REFRESHER = "Refrescador";
T_SANDWICH = "Sandwich de Queso a la Plancha";
T_WARARMOR = "Armadura de Guerra";
T_FROGGY = "Silla Rana";
// colored tags for keys
T_REDCARD = "\cgTarjeta Llave Roja\c-";
T_BLUECARD = "\chTarjeta Llave Azul\c-";
T_YELLOWCARD = "\ckTarjeta Llava Amarilla\c-";
T_REDSKULL = "\cgCalavera Llave Roja\c-";
T_BLUESKULL = "\chCalavera Llave Azul\c-";
T_YELLOWSKULL = "\ckCalavera Llave Amarilla\c-";
T_YELLOWKEY = "\ckLlave Amarilla\c-";
T_GREENKEY = "\cdLlave Verde\c-";
T_BLUEKEY = "\chLlave Azul\c-";
T_REDKEY = "\cgLlave Roja\c-";
T_KEYSTEEL = "\cuLlave de Acero\c-";
T_KEYCAVE = "\ceLlave de la Caverna\c-";
T_KEYAXE = "\ccLlave de Hacha\c-";
T_KEYFIRE = "\cgLlave de Fuego\c-";
T_KEYEMERALD = "\cdLlave Esmeralda\c-";
T_KEYDUNGEON = "\ccLlave del Calabozo\c-";
T_KEYSILVER = "\cjLlave de Plata\c-";
T_KEYRUSTED = "\cbLlave Oxidada\c-";
T_KEYHORN = "\coLlave de Cuerno\c-";
T_KEYSWAMP = "\cpLlave del Pantano\c-";
T_KEYCASTLE = "\cxLlave del Castillo\c-";
// shortened doom key pickup messages
GOTBLUECARD = "Tarjeta Llave Azul";
GOTYELWCARD = "Tarjeta Llave Amarilla";
GOTREDCARD = "Tarjeta Llave Roja";
GOTBLUESKUL = "Calavera Llave Azul";
GOTYELWSKUL = "Calavera Llave Amarilla";
GOTREDSKUL = "Calavera Llave Roja";
// edited vanilla pickup messages
TXT_DEFAULTPICKUPMSG = "Item No Identificado";
// other edited messages
ENDGAME = "Esto activará el handler de crasheo.\n"
"\n"
"Pulsa Y ó N.";
QUITMSG = "¿En serio quieres irte?\n"
"Pues que pena...";
QUITMSG1 = "Wow, pero no te vayas aun,\n"
"¡quedan muchas cosas que hacer!";
QUITMSG2 = "¿Oh, te marchas ya? Pues nada,\n"
"nos vemos luego, supongo.";
QUITMSG3 = "Gracias por jugar a SWWM GZ.\n"
"Espero volverte a ver pronto.";
QUITMSG5 = "Ah, se acabó la diversión, supongo...";
QUITMSG6 = "Eh, Icarus, ¿cuando piensas ponerte a\n"
"jugar a Hexmas? Aun estoy esperando.";
QUITMSG7 = "No te vayas ahora, o Saya se pondrá a\n"
"hablar mal de ti en Twitter punto com.";
QUITMSG8 = "¿Sabes quien se ha comido todos los donuts?";
QUITMSG9 = "Antes de irte, déjame decir algo:\n"
"Las TERFs pueden irse a la mierda.";
QUITMSG10 = "No te vayas, ¡hay una terrorífica chica\n"
"polilla esperando en la oscuridad!";
QUITMSG11 = "Deja que adivine. ¿Te has vuelto a\n"
"reventar a ti mismo otra vez, Icarus?";
QUITMSG12 = "Sí, yo tambíen necesitaría un descanso\n"
"despues de todo eso...";
QUITMSG14 = "¿Continuará?";
E1TEXT =
"Sigues sin tener ni idea de como has\n"
"ido a parar a la vieja base de Fobos\n"
"de la UAC, pero no hay tiempo para\n"
"pensar en eso. Debes encontrar la\n"
"forma de regresar a la Tierra, para\n"
"cumplir to misión de detener la\n"
"invasión del Infierno.\n"
"\n"
"Traspasando el portal de la Anomalía\n"
"de Fobos, sufres una emboscada y te\n"
"despojan de todas tus cosas. Mierda...\n"
"\n"
"Tras un reinicio de emergencia, ves\n"
"que estás en la base de Deimos. ¿No\n"
"habia desaparecido todo incluyendo la\n"
"propia luna?"
"\n"
"Bueno, da igual. Puedes sentir demonios\n"
"cerca, y de ninguna manera vas a\n"
"permitir que sigan con vida...\n"
"\n"
"[Continuará]";
E2TEXT =
"El Ciberdemonio en la cima de la torre\n"
"cae por tu mano. \"Bueno, otro más a\n"
"criar malvas\n, te dices.\n"
"\n"
"Mientras te preparas para pedir un\n"
"rescate, echas un vistazo hacia el\n"
"horizonte y ves...\n"
"\"¿...el Infierno?\"\n"
"\n"
"La luna flota sobre las interminables\n"
"llanuras del hogar de los demonios,\n"
"proyectando una gigantesca sombra sobre\n"
"sus varias ciudades. Las cosas desde\n"
"luego se están poniendo interesantes...\n"
"\n"
"Decides pasar de hacer esa llamada y te\n"
"preparas para bajar. A lo mejor puedes\n"
"causar algo de daño extra a esos\n"
"bastardos antes de volver a la Tierra...\n"
"\n"
"[Continuará]";
E3TEXT =
"Al estampar los sesos del Demonio\n"
"Arácnido contra las paredes, ves como un\n"
"portal se forma en el centro de la arena.\n"
"Parece conectar directamente con la Tierra.\n"
"\"Vaya, o sea que así es como vinieron\",\n"
"piensas, \"Bueno, es hora de poner fin a\n"
"esto\".\n"
"\n"
"Cruzando el portal apareces en el mismísmo\n"
"epicentro de la zona de invasión. Muerte y\n"
"destrucción llenan las calles, y algún\n"
"sádico bastardo parece haber mutilado\n"
"un pobre conejito, ugh...\n"
"\n"
"Sí, esos demonios van a estar MUY muertos...\n"
"\n"
"[Continuará]";
E4TEXT =
"Otra araña, otro montón de sesos estampados\n"
"contra las paredes. Al salir de la ciudad\n"
"te encuentras con un soldado humano.\n"
"\n"
"Es el Marine de Doom, y está furioso,\n"
"sujentando la cabeza de conejo que viste\n"
"antes. Susurra algo... puedes oir un nombre,\n"
"\"Daisy\", y algo así como \"Pagarán por\n"
"esto\"...\n"
"\n"
"Sigiendo las órdenes que te han dado,\n"
"decides no molestarlo y continuar la misión.\n"
"\n"
"[Continuará]";
C1TEXT =
"A medida que te abres paso a través del\n"
"puerto estelar infestado, empiezas a notar\n"
"algo raro. La arquitectura y tecnología de\n"
"este lugar están siendo retorcidas por\n"
"esos bastardos, en una asquerosa mezcla\n"
"de carne y metal. Puaj...\n"
"\n"
"Más adelante, ves una zona fortificada.\n"
"Si te lo cargas todo, el camino estaría\n"
"libre hacia la zona más profunda de la\n"
"estación, y allá deberías encontrar el\n"
"interruptor auxiliar que mantiene a los\n"
"supervivientes restantes atrapados aquí.\n"
"\n"
"Vas a salvar a esa gente, y ningún\n"
"bastardo demoníaco te va a detener.";
C2TEXT =
"Recibes una transmisión de Saya:\n"
"\"Demo-chan, ¡lo lograste! Ya podemos\n"
"evacuar a toda la peña de por aquí, y\n"
"llevarlos a un sitio seguro. ¡Por fin!\n"
"\n"
"Tomas asiento y te relajas. Vaya si ha\n"
"sido duro el trabajo, piensas... pero\n"
"antes de poder acomodarte, llega otra\n"
"transmisión.\n"
"\n"
"\"Oye, perdón por interrumpir pero, acabamos\n"
"de descubrir de donde salen los hijos de\n"
"perra esos. Si no es mucho pedir, ¿podrías\n"
"mover ese brillante culito metálico p'allá\n"
"y mandar a esos capullos de vuelta al\n"
"Infierno? ¿Porfi?\"\n"
"\n"
"Bueno, se acabó el descanso...";
C3TEXT =
"Ahí está el portal... pero no ves una forma\n"
"de cerrarlo desde aquí, así que le das un\n"
"toque a Saya.\n"
"\n"
"\"Oh, sí, eso... bueno por la info que tengo,\n"
"resulta que no hay una forma directa de\n"
"deshacerse de esta cosa desde este lado, así\n"
"que vas a tener que irte al Infierno,\n"
"literalmente, y luego encontrar a quien esté\n"
"a cargo de todo el tinglado y, ya sabes,\n"
"a lo mejor si se lo pides educadamente,\n"
"tu ya me entiendes.\"\n"
"\n"
"Saltando a través, te preparas para lo peor.\n"
"Te estás adentrando de lleno en territorio\n"
"demoníaco, no va a ser bonito, ciertamente.";
C4TEXT =
"Ves como el Icono del Pecado, la mente maestra tras\n"
"la invasión del Infierno, se va a tomar por culo\n"
"con el topetazo que le has dado en todos los sesos.\n"
"\n"
"Al caer, sus varios ejércitos immediatamente caen\n"
"muertos. ¡Lo lograste, la invasión ha terminado!\n"
"En ese momento, te llega un mensaje de Saya.\n"
"\n"
"\nEh, Demo-chan, enhorabuena. Parece que le has\n"
"ganado la carrera al recadero de la UAC. Bueno,\n"
"supongo que es hora de que vuelvas a casa. Aun\n"
"tenemos mucho trabajo que hacer, sabes,\n"
"reconstruyendo la Tierra y tal...\"";
C5TEXT =
"¿Que es este sitio? Parece ser parte del Infierno,\n"
"pero estas estructuras son todas hechas por la\n"
"mano del hombre...\n"
"\n"
"Espera... esto es... ¿una fortaleza Nazi?";
C6TEXT =
"Mierda, todavía no puedes salir de aquí. Bueno,\n"
"tal vez sea hora de pisar el acelerador...";
HE1TEXT =
"Tras cargarte esas cabezas locas que no paraban\n"
"de reirse, puedes ver abrirse las puertas de la\n"
"tal \"Boca del Infierno\" de la que los Sidhe\n"
"no paraban de hablar.\n"
"\n"
"Si de aquí es de donde vienen esos monstruos,\n"
"entonces vas a abrirte paso para adentro y\n"
"hacer limpieza general.\n"
"\n"
"Ese D'Sparil seguro que se va a poner a echar\n"
"humo cuando vea lo que haces con sus preciadas\n"
"legiones de no muertos...";
HE2TEXT =
"Esas criaturas tó cachas no fueron rival para\n"
"ti, y al caer la última al suelo, ves como\n"
"los portales que guardaban se abren. ¿A donde\n"
"pueden llevar?\n"
"\n"
"Pasando a través, llegas a un extraño lugar.\n"
"Tienes la sensación de que es justo aquí\n"
"mismo, donde D'Sparil se encuentra. Hora de\n"
"buscar a ese sucio hechicero y poner fin\n"
"a toda esta locura.";
HE3TEXT =
"Con la muerte de D'Sparil, todas las\n"
"criaturas varias bajo su comando son\n"
"reducidas lentamente a cenizas, sus gritos\n"
"de dolor resonando por toda la cúpula de\n"
"cristal, haciéndola estallar.\n"
"\n"
"Rápidamente cruzas el portal a casa, antes\n"
"de que se te venga todo encima.\n"
"\n"
"Ahora, con ese tipejo fuera de juego, por\n"
"fin puedes volver a casa y ver que es\n"
"exactamente esa \"recompensa\" que Saya\n"
"planea darte...\n"
"\n"
"A menos que... alguien decida hacerte\n"
"cambiar de planes...";
HE4TEXT =
"Por alguna razón, no fuiste de vuelta a\n"
"Parthoris cuando cruzaste el portal.\n"
"\"Vaya, eso no ha estado nada bien\",\n"
"piensas.\n"
"\n"
"Algún tercero, probablemente otro Jinete\n"
"de Serpiente, ha debido manipular el\n"
"portal como venganza por derrotar a\n"
"D'Sparil.\n"
"\n"
"Es igual, encontrarás el camino de vuelta\n"
"a casa, aunque tengas que matar a mil más\n"
"de estos estúpidos monstruos.";
HE5TEXT =
"Con la muerte del último Maulotauro, una\n"
"vez más ves como los portales se abren\n"
"a otro mundo. No puedes ver realmente\n"
"a donde te van a llevar, pero eso ya no\n"
"importa. Puedes seguir así para siempre,\n"
"si hace falta.\n"
"\n"
"El deseo de saber que tiene Saya planeado\n"
"para ti cuando vuelvas te da fuerzas para\n"
"seguir adelante pase lo que pase.\n"
"\n"
"\"¡Volvería a cruzar el infierno si hiciera\n"
"falta, haría lo que fuera por mi amada Sayacchi!\"";
TXT_HEXEN_CLUS1MSG =
"Tras lidiar con los muchos acertijos de los\n"
"siete portales, finalmente estás en otro de\n"
"los submundos de Cronos. Crueles desiertos,\n"
"áridos yermos y apestosas ciénagas te esperan\n"
"más adelante, y seguramente más de esos molestos\n"
"acertijos.\n"
"\n"
"Te encuentras con algo familiar, es ese asqueroso\n"
"bastardo de Korax, burlándose de ti otra vez...";
TXT_HEXEN_CLUS2MSG =
"Un pedazo de trozo de cacho de dragón en miniatura.\n"
"Ni comparación tiene con los del juego ese que le\n"
"gusta tanto a Saya, eso ni siquiera ha sido un\n"
"desafío...\n"
"Tras abrirte paso sin esfuerzo por el hipóstilo,\n"
"te diriges al portal.\n"
"\n"
"Ya en el otro lado, te encuentras en la cima de\n"
"una alta torre, y desde abajo puedes oir unos\n"
"cánticos siniestros. No parece ser un sitio\n"
"muy amigable...\n"
"\n"
"Al descender, te encuentras de nuevo con ese\n"
"careto horrendo.\n"
"\n"
"Oh perfecto, ¿que chorradas va a soltar ahora?";
TXT_HEXEN_CLUS3MSG =
"A la porra el bastardo ese. Vaya si te ha\n"
"dado trabajo, con ese estúpido hechizo de\n"
"invulnerabilidad que no paraba de usar\n"
"constantemente.\n"
"\n"
"Pasando de los restos humeantes de otro\n"
"más de los discípulos de Korax derrotados,\n"
"entras por el portal, y llegas hasta una\n"
"especie de castillo. Grises torres y paredes\n"
"de piedra rodeando una enorme torre central,\n"
"que proyecta una enorme sombra sobre todo el\n"
"lugar.\n"
"\n"
"A lo mejor es hora de hacer honor a tu nombre\n"
"y hacer algún que otro trabajo de demolición...";
TXT_HEXEN_CLUS4MSG =
"Bueno eso estuvo bien, piensas, tras una vez\n"
"más destrozar otros odiosos discípulos de Korax.\n"
"Y ahora, ¿Donde puñetas estás?\n"
"\n"
"Este sitio apesta a muerte. Es... ¿un cementerio?";
TXT_HEXEN_WIN1MSG =
"Cruzando el último portal, sientes como una\n"
"enorme fuerza te catapulta a través de varias\n"
"dimensiones.\n"
"\n"
"Tras casi pasar tu velocímetro por el indicador\n"
"de \"Cuadros\", frenas de repente, con la fuerza\n"
"restante haciendo que te estampes contra una\n"
"pared cercana.\n"
"\n"
"Estás en una extraña sala, con una brillante\n"
"luz en el centro. Parece venir de una especie\n"
"de altar.";
TXT_HEXEN_WIN2MSG =
"Al acercarte, puedes verla. ¿Se supone que esta\n"
"cosa es la fuente del poder de Korax? Te\n"
"preguntas si tal vez puedas tomar esta bonita\n"
"bola brillante y llevártela de vuelta a casa.\n"
"Quizá pueda que a Saya le interese estudiarla.\n"
"\n"
"Despues de meterla en el contenedor de\n"
"Hammerspace, te das cuenta de que hay alguien\n"
"sentado en una mesa cercana, jugando a una\n"
"extraña forma de ajedrez... o al menos eso es\n"
"lo que parece.\n"
"\n"
"Con una voz profunda y gutural, comienza a\n"
"hablar contigo...";
TXT_HEXEN_WIN3MSG =
"\"Bien jugado, mortal, has conquistado este\n"
"tablero, pero tu misión lejos queda de\n"
"haber terminado. Hay aun otro Jinete...\n"
"quien no descansará hasta haber vengado a\n"
"sus camaradas.\"\n"
"\n"
"Te ries. \"Si es como los otros, le haré\n"
"suplicar clemencia antes de que llegue la\n"
"hora de cenar. Ahora si me disculpas, hay\n"
"una bella dama que me espera en casa.\"";
// Re-tagged monsters
FN_ZOMBIE = "Zombi";
FN_SHOTGUN = "Calvito";
FN_HEAVY = "Tocacojones";
FN_DEMON = "Rosita";
FN_SPECTRE = "Borroncito";
FN_LOST = "Calaverita";
FN_CACO = "Tomatín";
FN_HELL = "Marroncito";
FN_BARON = "Señor Gruñón";
FN_ARACH = "Ñiño";
FN_PAIN = "Dolor de Culo";
FN_SPIDER = "Mami Araña";
FN_CYBER = "Madre Mía Que Culazo";
FN_WOLFSS = "Votante de VOX";
CC_ZOMBIE = "Zombi";
CC_SHOTGUN = "Calvito";
CC_HEAVY = "Tocacojones";
CC_DEMON = "Rosita";
CC_LOST = "Calaverita";
CC_CACO = "Tomatín";
CC_HELL = "Marroncito";
CC_BARON = "Señor Gruñón";
CC_ARACH = "Ñiño";
CC_PAIN = "Dolor de Culo";
CC_SPIDER = "Mami Araña";
CC_CYBER = "Madre Mía Que Culazo";
CC_HERO = "¡Tú!";
FN_DOG = "Perrete";
FN_CHICKEN = "Gallina";
FN_CLINK = "Rasguñitos";
FN_DSPARIL = "El Brujo Ese";
FN_HERETICIMP = "Bicho con Alas";
FN_IRONLICH = "Risitas";
FN_BONEKNIGHT = "Huesitos";
FN_MINOTAUR = "Tó Ciclao";
FN_MUMMY = "Momia";
FN_MUMMYLEADER = "Momia Grandota";
FN_SNAKE = "Culebrilla";
FN_WIZARD = "Eres Un Mago, Harry";
FN_FIREDEMON = "Bicho Ardiente";
FN_DEMON1 = "Lagarto Grandote";
FN_ETTIN = "Perrito Doble";
FN_CENTAUR = "Idiota con Escudo";
FN_SLAUGHTAUR = "Superidiota con Escudo";
FN_BISHOP = "Encapuchao Volador";
FN_ICEGUY = "Bicho de Hielo";
FN_SERPENT = "Bicho del Pantano";
FN_WRAITH = "Pariente de Fraga";
FN_DRAGON = "Compra Skyrim";
FN_KORAX = "El Tío Feo Ese";
FN_FBOSS = "Tío Ciclao";
FN_MBOSS = "Tío Mágico";
FN_CBOSS = "Tío Santurrón";
FN_HERESIARCH = "Hostia Puta";
// obituaries
O_PUSHER = "%k le abrió unos agujeros de ventilación a %o.";
O_DEEPIMPACT = "%o fue impactad@[ao_esp] profundamente por %k.";
O_EXPLODIUM = "%k inflingió explosiones de rodilla severas a %o.";
O_SPREADGUN_RED = "%k le dió a %o un bocado de perdigones.";
O_SPREADGUN_GREEN = "%o fue sluggead@[ao_esp] por %k.";
O_SPREADGUN_WHITE = "%k incendificó a %o.";
O_SPREADGUN_BLUE = "%k puso a %o muy salad@[ao_esp].";
O_SPREADGUN_BLACK = "%k prendió fuego a %o y todo lo que había a su alrededor.";
O_SPREADGUN_PURPLE = "A %o le salió un chichón con la bola de plomo de %k.";
O_SPREADGUN_GOLD = "%o se tragó la explosión dorada de %k.";
O_WALLBUSTER = "%k ha destrozado a %o pero bien.";
O_EVISCERATOR = "%o fue descuartizad@[ao_esp] por %k.";
O_HELLRAZER = "%k reventó a %o en cachitos humeantes.";
O_SPARKSTER = "%o fue bien chispead@[ao_esp] por %k.";
O_SILVERBULLET = "%o no pudo ignorar el grosor de las balas de %k.";
O_CANDYGUN = "%k hizo probar a %o un sabor dulce (de muerte).";
O_YNYKRON = "%o fue borrad@[ao_esp] instantáneamente por %k.";
O_YNYKRONALT = "%o fue espaguetificad@[ao_esp] por %k.";
O_POUND = "%o se llevó una gran impresión del aterrizaje de %k.";
O_DASH = "%o fue descuajeringad@[ao_esp] a todo gas por %k.";
O_JUMP = "%o fue pisotead@[ao_esp] por %k.";
O_MELEE = "%o fue noquead@[ao_esp] por %k.";
O_MOTH = "%%o fue asaltad@[ao_esp] por las polillas de %s.";
O_MOTH2 = "%o fue asaltad@[ao_esp] por polillas.";
O_MASHIRO1 = "%o debería haber dejado la luz encendida.";
O_MASHIRO2 = "%o ahora pertenece a Mashiro.";
O_MASHIRO3 = "%o ha cometido un error terrible.";
O_MASHIRO4 = "%o desapareció misteriosamente.";
O_MASHIRO5 = "%o es ahora parte de una recreación en vivo de Layers of White.";
O_MASHIRO6 = "%o enfureció a la polilla equivocada.";
O_MASHIRO7 = "%o y Mashiro están ahora junt@[ao_esp]s PARA SIEMPRE.";
// edited vanilla obituaries
OB_SUICIDE = "%o se hizo un sudoku.";
OB_FALLING = "%o se partió las patas.";
OB_CRUSH = "%o se chafó.";
OB_EXIT = "%o no pudo salir.";
OB_WATER = "%o se ahogó no sé como.";
OB_SLIME = "%o fue moquead@[ao_esp].";
OB_LAVA = "%o se sobrecalentó";
OB_BARREL = "%o fue barrilead@[ao_esp].";
OB_SPLASH = "%o casi que se puso demasiado cerca de eso.";
OB_R_SPLASH = "%o hizo un Icarus.";
OB_ROCKET = "%o se comió un cohete.";
OB_KILLEDSELF = "%o se autodestruyó.";
OB_VOODOO = "%o violó las leyes de la causalidad.";
OB_MPTELEFRAG = "%k sobreescribió a %o.";
OB_MONTELEFRAG = "%o fue sobreescrit@[ao_esp].";
OB_DEFAULT = "%o hizo plaf.";
OB_MPDEFAULT = "%k se ha cargado a %o.";
OB_FRIENDLY1 = "%k se carga a un colega.";
OB_FRIENDLY2 = "%k lo vuelve a hacer.";
OB_FRIENDLY3 = "%k debería parar de hacer teamkill.";
OB_FRIENDLY4 = "%k definitivamente ha perdido la chaveta.";
OB_UNDEADHIT = "%o recibió un tortazo huesudo.";
OB_IMPHIT = "%o fue arañad@[ao_esp] hasta morir.";
OB_CACOHIT = "%o fue comid@[ao_esp] por una albóndiga flotante.";
OB_DEMONHIT = "%o fue mordisquead@[ao_esp].";
OB_SPECTREHIT = "%o fue mordiquead@[ao_esp] sigilosamente.";
OB_BARONHIT = "%o fue azotad@[ao_esp] por un demonio tocho.";
OB_KNIGHTHIT = "%o fue azotad@[ao_esp] por un demonio no tan tocho.";
OB_ZOMBIE = "%o fue acribillad@[ao_esp] por un simple zombi.";
OB_SHOTGUY = "%o fue agujeread@[ao_esp].";
OB_VILE = "%o le resta 1000 puntos a este mapa.";
OB_UNDEAD = "%o no pudo evitar el anteriormente mencionado disparo de béisbol.";
OB_FATSO = "%o fue víctima de la gordura.";
OB_CHAINGUY = "%o ya odia este mapa.";
OB_SKULL = "%o fue cabezonead@[ao_esp].";
OB_IMP = "%o no esquivó esa bola de fuego.";
OB_CACO = "%o probó la albóndiga picante.";
OB_BARON = "%o fue churruscad@[ao_esp] por plasma verde.";
OB_KNIGHT = "%o fue churruscad@[ao_esp] por plasma verde.";
OB_SPIDER = "%o se comió todas esas balas.";
OB_BABY = "%o hizo enfadar al ñiño araña.";
OB_CYBORG = "%o no siguió el consejo.";
OB_WOLFSS = "%o fue tiroteado por rubitos.";
OB_DOG = "%o hizo enfadar al perrete.";
OB_CHICKEN = "%o recibió el PICO.";
OB_BEAST = "%o fue flambead@[ao_esp] por un amigo grandote.";
OB_CLINK = "%o fue acuchillad@[ao_esp] por una cosa cortante.";
OB_DSPARIL1 = "%o se comió el fuego del lagarto grande ese.";
OB_DSPARIL1HIT = "%o se llevó un buen mordisco del lagarto grande ese.";
OB_DSPARIL2 = "%o fue chisporrotead@[ao_esp] por D'Sparil.";
OB_DSPARIL2HIT = "%o fue chisporrazotad@[ao_esp] por D'Sparil.";
OB_HERETICIMP = "%o se comió la bolita de fuego.";
OB_HERETICIMPHIT = "%o fue arañad@[ao_esp] por un bicharraco enano.";
OB_IRONLICH = "%o no pilló el chiste.";
OB_IRONLICHHIT = "%o probablemente no debería haberse acercado tanto a esos dientes.";
OB_BONEKNIGHT = "%o se llevó un hachazo.";
OB_BONEKNIGHTHIT = "%o comió hueso.";
OB_MINOTAUR = "%o fue reventad@[ao_esp] por un toro ciclao.";
OB_MINOTAURHIT = "%o fue mazad@[ao_esp] por un toro ciclado.";
OB_MUMMY = "%o fue aporread@[ao_esp] por un ente de papel de culo.";
OB_MUMMYLEADER = "%o se comió el grito ese.";
OB_SNAKE = "%o fue serpentead@[ao_esp].";
OB_WIZARD = "%o se hizo chocapic.";
OB_WIZARDHIT = "%o tuvo un encuentro íntimo con un puñetero mago.";
OB_FIREDEMON = "%o se quemó.";
OB_DEMON1 = "%o se comió la bola de fuego de un lagarto grandote.";
OB_DEMON2 = "%o se comió los mocos de un lagarto grandote.";
OB_ETTIN = "%o se llevó un coscorrón del perrito doble.";
OB_CENTAUR = "%o fue acuchillad@[ao_esp] por un idiota con escudo.";
OB_SLAUGHTAURHIT = "%o fue acuchillad@[ao_esp] por un muy idiota con escudo.";
OB_SLAUGHTAUR = "%o se comió un disparo del muy idiota con escudo.";
OB_BISHOP = "%o se comió toda la magia del encapuchao.";
OB_ICEGUY = "%o tiene frío.";
OB_SERPENTHIT = "%o encontró la cosa del pantano.";
OB_SERPENT = "%o comió moco de cosa del pantano.";
OB_WRAITH = "%o la palmó mucho.";
OB_WRAITHHIT = "%o fue succionad@[ao_esp] por los muertos.";
OB_DRAGON = "%o compra Skyrim.";
OB_KORAX = "%o se llevó una hostia tremenda del bicho feo ese.";
OB_FBOSS = "%o fue verdeado por la espada esa del tío ciclao.";
OB_MBOSS = "%o fue reventado por la varita explosiva esa del tío mágico.";
OB_CBOSS = "%o fue fantasmado por la verga fantasma del tío santurrón.";
OB_HERESIARCH = "%o lo vió venir.";
// misc
D_BLASTSUIT = "El Chaleco Antiexplosivos se ha roto.";
D_GHOSTARTI = "El Artefacto Fantasma se ha agotado.";
D_GRAVITYS = "El Supresor de Gravedad se ha agotado.";
D_LAMP = "La Lámpara se ha quedado sin aceite.";
D_INVINCIBALL = "Ya no eres invencible.";
D_RAGEKIT = "El Ragekit ha hecho ragequit.";
D_REFRESHER = "El boost del Refrescador ha terminado.";
D_WARARMOR = "La Armadura de Guerra ya no da para más.";
SWWM_URDED = "La Unidad Demolicionista \"%s\" ha caído";
SWWM_URDED2 = "Pulsa \cfUsar\c- para reiniciar desde la última partida guardada";
SWWM_URDED3 = "...o pulsa \cfDisparar\c- para intentar un reinicio de emergencia";
SWWM_REFAIL = "REINICIO DE EMERGENCIA FALLIDO - NO HAY SUFICIENTE POTENCIA AUXILIAR DISPONIBLE";
D_REFAIL = "El Sistema de Reinicio de Emergencia se ha recargado completamente.";
D_FROGGY1 = "\cjUn pequeño precio a pagar...\c-";
D_FROGGY1 = "\cj... por una \cdSilla Rana\cj.\c-";
// targetter
SWWM_MULTIKILL = "Racha";
SWWM_SPREEKILL = "Intocable";
SWWM_BOSSKILL = "Jefazo";
SWWM_EXIT = "Salida: ";
SWWM_NEXIT = "Salida";
SWWM_SEXIT = "Salida Secreta";
SWWM_LEG = " Legendario";
SWWM_LEGPREFIX = "R";
// score messages
SWWM_FINDSECRET = "\cf%s\cf encontró un secreto. +%d\c-";
SWWM_FINDKEY = "\cf%s\cf obtuvo la %s\cf. +%d\c-";
SWWM_LASTSECRET = "\cf%s\cf encontró el último secreto. +%d\c-";
SWWM_LASTITEM = "\cf%s\cf obtuvo el último item. +%d\c-";
SWWM_LASTMONSTER = "\cf%s\cf mató al último enemigo. +%d\c-";
SWWM_NEWLORE = "Hay nuevas entradas disponibles en la Bibilioteca.";
// intermission tips
SWWM_INTERTIP = "Consejo #%d:";
SWWM_INTERTIP1 = "La Demolicionista es inmune al ahogamiento, veneno e incluso daño por caída (excluyendo hoyos de muerte instantánea, por ejemplo en Hexen).";
SWWM_INTERTIP2 = "El fuego secundario de la Pistola de Explodium tiene una carga explosiva proporcional al número de balas restantes en el cargador.";
SWWM_INTERTIP3 = "Tu combustible se regenera con el tiempo, pero cuanto más uses el propulsor, más tardará.";
SWWM_INTERTIP4 = "El Pusher puede resbalarse de tus manos con el fuego secundario si no le da a nada, sin embargo esto puede ser efectivo como ataque a distancia.";
SWWM_INTERTIP5 = "Se guardarán copias extra de items en tu inventario si no pueden ser usados inmediatamente, esto incluye hasta salud y armadura.";
SWWM_INTERTIP6 = "La Omnivisión facilita encontrar llaves y salidas secretas en los mapas.";
SWWM_INTERTIP7 = "Tal como su nombre indica, el fuego terciario de la Wallbuster puede cargarse paredes y otros obstáculos.";
SWWM_INTERTIP8 = "El Eviscerator puede despejar salas y pasillos enteros, pero ten en cuenta que los fragmentos pueden rebotarte de vuelta si no tienes cuidado.";
SWWM_INTERTIP9 = "Mientras caminas, los jets compensadores del Silver Bullet reducirán la mayoría del retroceso al disparar, pero puede que hagan algo de daño si no llevas armadura.";
SWWM_INTERTIP10 = "Al igual que otras armas de energía de funcionamiento similar, los fuegos primario y secundario del Sparkster se pueden combinar con resultados letales.";
SWWM_INTERTIP11 = "La Lämpara puede atraer un tipo poco común de polilla que es mucho más agresiva que otras en sus ataques.";
SWWM_INTERTIP12 = "La mayoría de items de salud se autoactivan si estás a punto de morir, aunque a veces puede que no sea suficiente para salvarte... A menos que sea un Sandwich de Queso a la Plancha.";
SWWM_INTERTIP13 = "El Artefacto Ynykron mata instantáneamente todo lo que tengas en el punto de mira, a menos que sea realmente indestructible, aunque normalmente eso solo puede ser si es un dios. ¿No estarás pensando en enfrentarte a algún dios, verdad?";
SWWM_INTERTIP14 = "No te dejes engañar por la Pistola Caramelo, puede parecer solo un recoloreado, pero es MUCHO MÁS fuerte que tu arma inicial.";
SWWM_INTERTIP15 = "El Ragekit potenciará enormemente la fuerza de tus ataques a melé y reducirá el daño recibido, pero también te hará gritar, todo el rato.";
SWWM_INTERTIP16 = "Puedes compartir items con otros en multijugador en la pestaña de intercambio de tu Menú de Demolicionista. Los items que no quepan en su inventario no serán intercambiados.";
SWWM_INTERTIP17 = "El Menú de Demolicionista es muy útil, no te olvides de asignar una tecla para abrirlo.";
SWWM_INTERTIP18 = "Todas las armas tienen un ataque rápido a melé disponible a través de un botón dedicado. Con armas a una mano darás un puñetazo, con armas a dos manos golpearás con ellas.";
SWWM_INTERTIP19 = "Con la combinación adecuada de esprintar, impulsar, y saltar por las paredes, es perfectamente posible mantenerse en el aire durante largos periodos de tiempo.";
SWWM_INTERTIP20 = "En multijugador, cualquier llave que recojas será compartida inmediatemente con otros jugadores.";
SWWM_INTERTIP21 = "¡Aumenta tu puntuación! Cuantos más enemigos elimines, mejor. No te olvides de hacer uso de esos puntos en la tienda in-game cuando puedas.";
SWWM_INTERTIP22 = "Aunque las cajas afortunadas no suenen a muy buena idea, hay muchas probabilidades de que te toquen items muy valiosos a un coste mucho más reducido.";
SWWM_INTERTIP23 = "Con el ritmo adecuado, puedes usar el ataque rápido a melé para desviar proyectiles y balas. Incluso es posible mandarlas de vuelta a su dueño, con daño incrementado si te encuentras bajo los efectos de un Ragekit.";
SWWM_INTERTIP24 = "¿Sabías que Saya realmente odia la UAC?\n\n¿Que? ¿Ya sabías eso? Vaya, pues entonces ya no se me ocurre que otra cosa contarte.";
SWWM_INTERTIP25 = "Puedes esprintar contra enemigos para empujarlos fuera de tu camino. Los más débiles puede que mueran inmediatamente por el impacto y salgan volando.";
SWWM_INTERTIP26 = "Si haces un sprint en el aire apuntando directamente al suelo, puede que aterrices con la fuerca suficiente para causar una onda de choque, apartando a la mayoría de enemigos a tu alrededor.";
SWWM_INTERTIP27 = "Puedes activar objetos y abrir puertas a puñetazos. Esto también se puede hacer con la munición de Bola de Plomo del Trabuco, a excepción de los botones de salida.";
SWWM_INTERTIP28 = "Las llamas de los cartuchos de Napalm del Trabuco se extenderán a otros enemigos cercanos (o a ti). Recuerda, si estás ardiendo, tírate al suelo y rueda... o ponte a dar vueltas, funciona igual.";
SWWM_INTERTIP29 = "La munición incendiaria es inefectiva bajo el agua, por razones obvias.";
SWWM_INTERTIP30 = "Mis novias son muy cuquis. Lo siento, es que tenía que decirlo.";
// intermission fanart
SWWM_FANART = "Arte: ";
// intermission 4komas (TBD)

File diff suppressed because it is too large Load diff

277
language.es_menu Normal file
View file

@ -0,0 +1,277 @@
// Castillian Spanish
[es]
// keybinds
SWWM_KEYS = "Controles de SWWM GZ";
SWWM_PRIMARYFIRE = "Fuego Primario";
SWWM_SECONDARYFIRE = "Fuego Secundario";
SWWM_RELOADFIRE = "Recargar";
SWWM_ZOOMFIRE = "Fuego Terciario / Zoom";
SWWM_MELEE = "Ataque a Melé";
SWWM_DASH = "Esprintar";
SWWM_GESTURE1 = "Apuntar Abajo";
SWWM_GESTURE2 = "Pulgar Arriba";
SWWM_GESTURE3 = "Victoria";
SWWM_KBASE = "Menú de Demolicionista";
// mod menu
SWWM_MTITLE = "Opciones de SWWM GZ";
SWWM_PTITLE = "Opciones de Jugador";
SWWM_VOICETYPE = "Pack de Voz de Demolicionista";
SWWM_MUTELEVEL = "Nivel de Muteo de Voz";
SWWM_MUTENONE = "Ninguno";
SWWM_MUTECOMBAT = "Comentarios de Combate";
SWWM_MUTEINTER = "Comentarios de Interacción";
SWWM_MUTELINERS = "Frases de Inicio de Mapa";
SWWM_MUTEALL = "Todo";
SWWM_OTITLE = "Opciones Visuales";
SWWM_FLASH = "Intensidad de Destellos en pantalla";
SWWM_HUDMARGIN = "Margen del HUD";
SWWM_MAXMSG = "Mensajes Máximos";
SWWM_MAXMSGBIG = "Mensajes Máximos (extendido)";
SWWM_MAXPICK = "Mensajes de Item Máximos";
SWWM_CHATLEN = "Duración de Mensajes de Chat";
SWWM_MSGLEN = "Duración de Mensajes Generales";
SWWM_PICKLEN = "Duración de Mensajes de Item";
SWWM_ITITLE = "Opciones de Items";
SWWM_ARMORUSE = "Usar Armadura Automaticamente";
SWWM_HEALTHUSE = "Usar Salud Automaticamente";
SWWM_AMMOUSE = "Usar Fabricadores Automaticamente";
SWWM_CTITLE = "Opciones de Multijugador";
SWWM_SKEYS = "Compartir Llaves";
SWWM_SVARMORUSE = "Forzar Auto-Uso de Armadura";
SWWM_SVHEALTHUSE = "Forzar Auto-Uso de Salud";
SWWM_SVAMMOUSE = "Forzar Auto-Uso de Fabricadores";
SWWM_MCREDS = "Créditos de SWWM GZ";
SWWM_CLEAD = "Desarrollo Principal:";
SWWM_CASSETS = "Assets Adicionales:";
SWWM_CMUSIC = "Música Usada:";
SWWM_CFANART = "Fanart de Intermisión:";
SWWM_CPATRON = "Mecenas de Patreon:";
SWWM_CTHANK = "Agradecimientos Especiales:";
SWWM_CDRAGON2 = "(Por ser un buen dragón mascota)";
SWWM_CLUCY2 = "(Por la fuente Tewi, que he seguido usando todos estos años)";
SWWM_CKEKS2 = "(Por libeye, asistencia con el código de manejo de excepciones)";
SWWM_CSLEDGE2 = "(Por razones de lore que me animaron a tomar parte en el modiverso de Doom)";
SWWM_CSPY2 = "(Por el nivel de entusiasmo mostrado por todo en este mod)";
SWWM_CINSP1 = "Combine Kegan, HyperUltra64, TerminusEst13, Yholl y amigos";
SWWM_CINSP2 = "(Por servir de inspiración y por ser gente muy molona)";
SWWM_CCOMMUNITY1 = "Todo mi super colegueo de la comunidad de Doom";
SWWM_CCOMMUNITY2 = "(Por ayudarme a seguir trabajando en esto, y por todo el tiempo que hemos compartido)";
SWWM_CCOMMUNITY3 = "(Por muchos más años de Doom. ¡Os adoro!)";
SWWM_CDEVS1 = "Randi, Graf, Rachael, Mental, dpJudas y el resto del equipo de desarrollo de GZDoom";
SWWM_CDEVS2 = "(Por su trabajo en el source port que me ha devuelto la fe en el modding. ¡Sois la caña!)";
SWWM_FORCEDISABLE = "Forzar Desactivado";
SWWM_USERSET = "Elegido por Usuario";
SWWM_FORCEENABLE = "Forzar Activado";
SWWM_6DOF = "Vuelo con 6DOF";
SWWM_TARGET = "Mostrar Barras de Salud";
SWWM_TARGETTAG = "Mostrar Nombres de Enemigos";
SWWM_DAMNUMS = "Mostrar Números de Daño/Cura";
SWWM_SCORENUMS = "Mostrar Números de Puntuación";
SWWM_SCOREBONUS = "Mostrar Bonificaciones de Puntuación";
SWWM_EARBUSTER = "Reducir Estruendo del Wallbuster";
SWWM_SHADERS = "Usar Shaders de Pantalla";
SWWM_OTHERVOICE = "Voz en Cooperativo";
SWWM_REVIVE = "Sistema de Reinicio de Emergencia";
SWWM_REVIVECOOLDOWN = "Tiempo de recarga de Reinicio";
SWWM_UNLIMITED = "Ilimitado";
SWWM_INTERTYPE = "Arte de Intermisión";
SWWM_BALLUSE = "Las Bolas de Plomo activan botones";
TOOLTIP_SWWM_VOICETYPE = "Selecciona el pack de voz para el jugador.";
TOOLTIP_SWWM_MUTEVOICE = "Controla lo que se mutea, si prefieres tener un protagonista más silencioso.";
TOOLTIP_SWWM_FLASHSTRENGTH = "Los destellos en pantalla suelen ocurrir al disparar algunas armas, puedes reducirlo si este tipo de effectos te causan malestar.";
TOOLTIP_SWWM_HUDMARGIN = "Margen alrededor de los elementos del HUD, en píxeles (escalados).";
TOOLTIP_SWWM_MAXSHOWN = "Número máximo de mensajes (no líneas individuales) mostrados en la parte superior izquierda del HUD.";
TOOLTIP_SWWM_MAXSHOWNBIG = "Igual que la opción anterior, pero cuando la barra de chat está activa.";
TOOLTIP_SWWM_MAXPICKUP = "Numero máximo de mensajes de recogida de items visibles en todo momento.";
TOOLTIP_SWWM_CHATDURATION = "Duración de los mensajes de chat en segundos.";
TOOLTIP_SWWM_MSGDURATION = "Duración de los obituarios y otros mensajes en segundos.";
TOOLTIP_SWWM_PICKDURATION = "Duración de los mensajes de recogida de items en segundos.";
TOOLTIP_SWWM_SHAREKEYS = "Cuando esto está activado, recoger una llave envía una copia a todos los otros jugadores.";
TOOLTIP_SWWM_AUTOUSEARMOR = "Cuando esto está activado, las armaduras nuevas se equipan automáticamente al recoger, y las copias extra se usarán automáticamente cuando sea necesario.";
TOOLTIP_SWWM_AUTOUSEHEALTH = "Cuando esto está activado, los items de salud se usan automáticamente si pueden curar (incluyendo copias extra). Esto excluye los Refrescadores ya que cuentan como powerups, y siempre se activan automáticamente al recibir daño fatal.";
TOOLTIP_SWWM_AUTOUSEAMMO = "Cuando esto está activado, los fabricadores de munición se usan automáticamente al recoger. Esto excluye los fabricadores de Tier 4 ya que cuentan como powerups.";
TOOLTIP_SWWM_ENFORCEAUTOUSEARMOR = "Fuerza una opción específica de auto-uso de armadura para todos los jugadores, o respeta la opción de cada uno.";
TOOLTIP_SWWM_ENFORCEAUTOUSEHEALTH = "Fuerza una opción específica de auto-uso de salud para todos los jugadores, o respeta la opción de cada uno.";
TOOLTIP_SWWM_ENFORCEAUTOUSEAMMO = "Fuerza una opción específica de auto-uso de fabricadores para todos los jugadores, o respeta la opción de cada uno.";
TOOLTIP_SWWM_FLY6DOF = "Habilita el movimiento con seis ángulos de libertad al volar. Desactiva la opción si esto te causa incomodidad.";
TOOLTIP_SWWM_TARGETER = "Muestra barras de vida de enemigos y jugadores. Desactiva la opción si prefieres usar otro mod para esto, por ejemplo Target Spy.";
TOOLTIP_SWWM_TARGETTAGS = "Muestra nombres encima de las barras de vida.";
TOOLTIP_SWWM_HEALTHNUMS = "Muestra números de daño/curación. Desactiva la opción si prefieres usar otro mod para esto, por ejemplo DamNums.";
TOOLTIP_SWWM_SCORENUMS = "Muestra números de puntuación con cada baja.";
TOOLTIP_SWWM_SCOREBONUS = "Muestra textos de bonificación extra sobre los puntos (ej.: contadores de multikill).";
TOOLTIP_SWWM_EARBUSTER = "Los sonidos de disparo del Wallbuster pueden a veces ser dolorosamente estridentes. Esta opción limitará la intensidad a un valor más soportable.";
TOOLTIP_SWWM_SHADERS = "Usa shaders de postprocesado para cosas como powerups y la mira del Silver Bullet. Puedes desactivar esto si prefieres algo más ligero para la vista.";
TOOLTIP_SWWM_OTHERVOICE = "Te permite oír los comentarios de voz de otros jugadores, si estás lo suficientemente cerca.";
TOOLTIP_SWWM_REVIVE = "Permite al jugador volver a levantarse tras morir pulsando Fuego. Tiene un cooldown configurable.";
TOOLTIP_SWWM_REVIVECOOLDOWN = "Tiempo en segundos tras reiniciar, durante el cual si mueres otra vez, no puedes volver a levantarte. Pon a 0 para permitir reinicios ilimitados.";
TOOLTIP_SWWM_INTERTYPE = "Elige qué mostrar de fondo durante intermisiones.";
TOOLTIP_SWWM_BALLUSE = "Los proyectiles de Bola de Plomo pueden activar botones usables remotamente (excluyendo salidas). Potencialmente roto.";
// knowledge base
SWWM_COMINGSOON = "(próximamente)";
SWWM_MISSTAB = "Misión";
SWWM_STATTAB = "Stats";
SWWM_STATUPTIME = "Tiempo Activo: ";
SWWM_STATONFOOT = "Distancia a Pie: ";
SWWM_STATFLIGHT = "Distancia en Aire: ";
SWWM_STATBOOST = "Veces Impulsado: ";
SWWM_STATDASH = "Veces Esprintado: ";
SWWM_STATSTOMP = "Veces Impactado: ";
SWWM_STATFUEL = "Uso Total de Combustible: ";
SWWM_STATSPEED = "Velocidad Punta: ";
SWWM_STATAIRTIME = "Mayor Tiempo en Aire: ";
SWWM_STATKILLS = "Bajas Enemigas Totales: ";
SWWM_STATDEATHS = "Muertes Totales: ";
SWWM_STATDDEALT = "Daño Total Infligido: ";
SWWM_STATTDEALT = "Mayor Daño Infligido: ";
SWWM_STATDTAKEN = "Daño Total Recibido: ";
SWWM_STATTTAKEN = "Mayor Daño Recibido: ";
SWWM_STATMKILL = "Mayor Racha: ";
SWWM_STATSKILL = "Mayor Racha Intocable: ";
SWWM_STATFAVWEAP = "Arma Favorita: ";
SWWM_STATHISCORE = "Puntuación Máxima: ";
SWWM_INVTAB = "Inventario";
SWWM_INVFAIL = "No puedes usar esto ahora";
SWWM_INVNDROP = "No puedes tirar esto";
SWWM_NOINV = "(inventario vacío)";
SWWM_KEYTAB = "Llavero";
SWWM_NOINV = "(ninguna llave encontrada)";
SWWM_KBASETAB = "Biblioteca";
SWWM_STORETAB = "Tienda";
SWWM_STOREFULL = "No puedes llevar más de eso";
SWWM_STOREMUNS = "No tienes suficiente dinero";
SWWM_NOSTORE = "(no queda nada que comprar)";
SWWM_TRADETAB = "Intercambio";
SWWM_TRADEFULL = "No puede llevar más de eso";
SWWM_NOTRADE = "(no hay unidades con las que intercambiar)";
SWWM_TRADETO = "Enviado a";
SWWM_TRADEFROM = "Recibido de";
SWWM_NOTRADEHIST = "(no hay intercambios en el historial)";
SWWM_MSGSENT = "Has enviado %dx %s a %s.";
SWWM_MSGRECV = "%s te ha enviado %dx %s.";
SWWM_CHATTAB = "Hist. de Chat";
SWWM_NOCHAT = "(historial de chat vacío)";
SWWM_SECRETTAB = "Secreto";
SWWM_TODEMO = "Para Demo-chan, de parte de Ibuki y Saya \cg♥\c-";
SWWM_MAINCONTROLS = "Pulsa F1 para ver controles";
SWWM_LOREUNSEL = "(ninguna entrada elegida)";
SWWM_LORETAB0 = "Items";
SWWM_LORETAB1 = "Gente";
SWWM_LORETAB2 = "Lore";
SWWM_HELPTAB = "Ayuda";
SWWM_HELPTXT =
"\cxMenú de Demolicionista - Controles Básicos\c-\n"
"\cx----------------------------------------\c-\n"
"\n"
"\cf%s:\c- Abrir/Cerrar menú de Demolicionista\n"
"\cfRePág/AvPág:\c- Cambiar pestaña\n"
"\cfF1:\c- Abrir/Cerrar pestaña de ayuda\n"
"\n"
"\cxPestaña de Misión - Controles\c-\n"
"\cx---------------------------\c-\n"
"\n"
"\cfArriba/Abajo:\c- Scroll\n"
"\n"
"\cxPestaña de Inventario - Controles\c-\n"
"\cx-------------------------------\c-\n"
"\n"
"\cfFlechas:\c- Navegar\n"
"\cfEnter/Click Izdo.:\c- Usar item seleccionado\n"
"\cfRetroceso/Click Dcho.:\c- Descartar item seleccionado\n"
"\n"
"\cxPestaña de Llavero - Controles\c-\n"
"\cx----------------------------\c-\n"
"\n"
"\cfFlechas:\c- Navegar\n"
"\n"
"\cxPestaña de Biblioteca - Controles (Principal)\c-\n"
"\cx-------------------------------------------\c-\n"
"\n"
"\cfArriba/Abajo:\c- Scroll por entradas\n"
"\cfLeft/Right:\c- Cambiar categoría\n"
"\cfEnter/Click Izdo.:\c- Abrir entrada\n"
"\n"
"\cxPestaña de Biblioteca - Controles (Entrada Abierta)\c-\n"
"\cx-------------------------------------------------\c-\n"
"\n"
"\cfArriba/Abajo:\c- Scroll\n"
"\cfRetroceso:\c- Volver a lista de entradas\n"
"\n"
"\cxPestaña de Tienda - Controles\c-\n"
"\cx---------------------------\c-\n"
"\n"
"\cfFlechas:\c- Navegar\n"
"\cfEnter/Click Izdo.:\c- Comprar\n"
//"\cfRetroceso/Click Dcho.:\c- Vender\n"
"\n"
"\cxPestaña de Intercambio - Controles (Principal)\c-\n"
"\cx---------------------------\c-\n"
"\n"
"\cfArriba/Abajo:\c- Navegar\n"
"\cfEnter/Click Izdo.:\c- Elegir destinatario\n"
"\cfRetroceso:\c- Historial\n"
"\n"
"\cxPestaña de Intercambio - Controles (Intercambio)\c-\n"
"\cx----------------------------\c-\n"
"\n"
"\cfFlechas:\c- Navegar\n"
"\cfEnter/Click Izdo.:\c- Enviar item\n"
"\cfRetroceso:\c- Volver\n"
"\n"
"\cxPestaña de Intercambio - Controles (Historial)\c-\n"
"\cx------------------------------\c-\n"
"\n"
"\cfArriba/Abajo:\c- Scroll\n"
"\cfRetroceso:\c- Volver\n"
"\n"
"\cxPestaña de Historial de Chat - Controles\c-\n"
"\cx---------------------\c-\n"
"\n"
"\cfArriba/Abajo:\c- Scroll";
// mission entries
SWWM_MISSION_DOOM =
"Bienvenida a tu primera misión, Demolicionista. Seré franca, la situación es jodida. La cosa no pinta bien, para nada. Esos putos cazurros de la UAC la han liado parda y ahora lo estamos pagando. PUTA... MIERDA... LA UAC... en serio. Si el niñato ese de Kelliher no me hubiera bloqueado, es que lo ponía a parir ya, ni te imaginas COMO de cabreada estoy ahora mismo...\n"
"\n"
"Todo pasó tan rápido que... ni tuvimos tiempo de prepararnos. Ya se han ventilado media Tierra. Bueno exactamente todos los paises del oeste, con epicentro en el territorio de la Unión de Estados, donde te vamos a mandar. Lo que más me repatina es que no puedo contactactar con la Capital Lunar, es como si nos estuvieran ignorando a propósito. Hostia puta, podría haber sido nuestra oportunidad para contactar con los Nukuri y pedir ayuda, pero nada, estamos solos. Tenemos... que hacer todo lo que podamos para luchar contra estas cosas, por nuestra cuenta. Ahí es donde entras en escena.\n"
"\n"
"Es tu misión poner fin a esto, hay gente ahí luchando, no sabemos cuanta, que no ha sido evacuada. Es el Infierno en la Tierra gracias a que las asombrosas y grandes mentes de la UAC metieran sus sucias pezuñas donde no les conviene. Acaso saben... cuantos de mis amigos he perdido... los miles... decenas de miles o más, que... no han podido. Comparado con esto la Tercera Guerra Mundial no fue nada. Es que... ugh... y el muy capullo tiene los SANTOS COJONES de ir por ahí haciendo como que todo va bien y que se va a arreglar pronto. Es que le metía una hostia así al bastardo engreído ese... joder.\n"
"\n"
"*suspiro*\n"
"\n"
"Basta de lamentarse... lo importante ahora es la misión. En serio, no tengo mucha fé en ese tal \"solucionador de problemas\" de la UAC, pero NOSOTROS sí que podemos hacerlo. Nos hemos juntado yo y unos cuantos otros para hacerlo posible, vas a salvar a esa gente. Será difícil, lo sé, pero puedes hacerlo, por eso te he creado. Si hay una posibilidad de que lo consigas, quiero decirte que te recompensaré personalmente, Demo-chan. No te voy a dar detalles, quiero que sea una sorpresa.\n"
"\n"
"No hemos podido proveerte de todo el equipamiento disponible, no hay tiempo. En vez de eso, vete fijando por si encuentras provisiones colocadas estratégicamente por el camino (si hay suerte los demonios no tocarán nada). Se que suena muy a videojuego, y si te oigo quejarte me puedes comer los calzones, la decisión no fue mía. Pues eso.\n"
"\n"
"Eres nuestra última esperanza, así que lucha, Demo-chan, lucha por aquellos que quieres proteger, por todos nosotros... Haz que esos bastardos lo paguen.\n"
"\n"
" — Saya";
SWWM_MISSION_HERETIC =
"Bienvenida a tu segunda misión, Demolicionista. Mientras se calma un poco la cosa por aquí, hemos podido retomar nuestro trabajo en el Proyecto Akari. 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 Parthoris, 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"
"Esta es la situación: El tal lugar está dividido en siete reinos, y todo iba bien™ hasta que un mago maloso y tal salió por ahí y le hizo un lavado cerebral a todo dios. Los únicos que resistieron fueron los elfos, los Sidhe (como puñetas se pronuncia eso). No me gusta como pinta todo esto, y no quiero un refrito de lo que nos pasó a nosotros, así que estás aquí para pararlo.\n"
"\n"
"Tu objetivo es un tal D'Sparil. Es miembro de una tríada de magos malosos chiflados que se llaman \"Jinetes de Serpiente\". El tío es más bien alto, encapuchado en rojo, y habla al revés, más fácil no puede ser. Manda sobre ejércitos de no muertos y otras mierdas, nada de lo que no puedas encargarte, seguro. Lo primero, necesitarás contactar con los supervivientes Sidhe, ver si puedes conseguir más información de donde ir y que hacer. A lo mejor cuando se acabe todo esto podemos formar una alianza o algo, y espero que no se cabreen porque usamos muebles de madera.\n"
"\n"
"Estoy segura, que cuando te vengas de vuelta vas a querer cambiarte a tu cuerpo de maidbot otra vez, asi que estaré trabajando en unas cuantas \"extensiones\" ahí para hacer las cosas más... \"divertidas\", si pillas lo que digo. Oh, sí, se me antoja algo largo... y duro... ahora mismo, sí...\n"
"\n"
"Bueno... uh... calenturas aparte, perdona que no te pudieramos dar todas las cosas. La culpa es mía, creo que la he liado con algo de la distribución y se fue todo a tirar por ahí. Es posible que los lugareños hayan movido algunas cosas... asi que buena suerte encontrándolo todo.\n"
"\n"
"A por ellos, Demo-chan. Párteles el culo a esos magos maleantes.\n"
"\n"
" — Saya";
SWWM_MISSION_HEXEN =
"Bienvenida a tu... ah ya me he cansado.\n"
"\n"
"Holis, Demo-chan. ¡Es hora de otra aventura! ¿Te acuerdas del brujo ese al que dejaste KO? Pues acabamos de localizar al siguiente colega maloso que tiene, y le vas a partir el culo pero bien, oh sí.\n"
"\n"
"Bienvenida a Cronos. Este sitio tenía buena pinta, hasta que el tío ese vino todo pisoteando con sus ejércitos. Como el brujales ese, el muy capullo también consiguió poner a algunos de los de aquí de su lado. Tu objetivo se llama Korax, como el cuervo, eh, ya sabes, \"Corvus Corax\"... ah, olvídalo.\n"
"\n"
"Pues la cosa es que, me gustaría que fueras para ahí y lo quitaras de en medio. NO hagas caso de cualquier mierda que te suelte, que seguro que también te intentará comer el tarro. Es grande, feucho, y no tiene mucha pinta de poder montar en una serpiente, asi que a lo mejor... es que lo montan a él... oh espera no, no suena muy... UGH... dios la imagen mental, mierda joder. Donde están los pechotes de Ibuki cuando los necesitas, son lo mejor para hacerme olvidar todo.\n"
"\n"
"Se que querrás una buena recompensa por esto asi que, esto es lo que tengo en mente. ¿Que tal un poco más de \"diversión\" como la última vez, eh? Tú, yo, tal vez Ibuki y Maidbot tambien... y no se... si Kirin-kun también... hnnn... y luego... *jadeando*\n"
"\n"
"OK, wow... uf. Saya, concéntrate. Nada de hornyposting en los mensajes de misión, otra vez no. Ah y luego, noticias algo asi como que ¿¿¿malas??? Nos hemos metido en un lío con lo de las municiones y nos han mandado estos cachivaches, estos \"Fabricadores\" del friki ese. Al menos te dan munición. Como siempre, tus cosas andarán por ahí colocadas estratégicamente, ya que no pudimos... mandarte con todo encima, como siempre. No sé por qué el muy friki insiste en hacerlo todo así. ¿Es que por qué se empeñará en que todo tenga que ser... ugh... como un videojuego?\n"
"\n"
"Bueno, pues eso. Anda, Demo-chan, ¡enséñales lo que sabes hacer!\n"
"\n"
" — Saya";
SWWM_MISSION_NONE = "(no hay instrucciones de misión disponibles)";

230
language.es_voice Normal file
View file

@ -0,0 +1,230 @@
// Castillian Spanish
[es]
// voice name
SWWM_VOICENAME_DEFAULT = "Demolicionista";
// new weapon received
SWWM_SUBS_DEFAULT_GETWEAPON1 = "No está mal... No está mal para nada...";
SWWM_SUBS_DEFAULT_GETWEAPON2 = "Buena pesca...";
SWWM_SUBS_DEFAULT_GETWEAPON3 = "Ahora es mío...";
SWWM_SUBS_DEFAULT_GETWEAPON4 = "Bien...";
SWWM_SUBS_DEFAULT_GETWEAPON5 = "Bingo...";
SWWM_SUBS_DEFAULT_GETWEAPON6 = "Toma ya...";
SWWM_SUBS_DEFAULT_GETWEAPON7 = "Excelente...";
SWWM_SUBS_DEFAULT_GETWEAPON8 = "Sí...";
SWWM_SUBS_DEFAULT_GETWEAPON9 = "Eso es...";
SWWM_SUBS_DEFAULT_GETWEAPON10 = "Perfecto...";
SWWM_SUBS_DEFAULT_GETWEAPON11 = "Me gusta...";
SWWM_SUBS_DEFAULT_GETWEAPON12 = "Tiene buena pinta...";
SWWM_SUBS_DEFAULT_GETWEAPON13 = "Probablemente cueste una fortuna...";
// locked door
SWWM_SUBS_DEFAULT_LOCKED1 = "No tengo la llave.";
SWWM_SUBS_DEFAULT_LOCKED2 = "Solo abre con una llave.";
SWWM_SUBS_DEFAULT_LOCKED3 = "Necesitaría la llave.";
SWWM_SUBS_DEFAULT_LOCKED4 = "Cerrado a cal y canto.";
// jammed door (strife)
SWWM_SUBS_DEFAULT_NJAMMED = "4";
SWWM_SUBS_DEFAULT_JAMMED1 = "Está atrancada.";
SWWM_SUBS_DEFAULT_JAMMED2 = "Nada.";
SWWM_SUBS_DEFAULT_JAMMED3 = "Atrancada.";
SWWM_SUBS_DEFAULT_JAMMED4 = "Es inútil.";
// puzzle item failure
SWWM_SUBS_DEFAULT_PUZZFAIL1 = "Maldición.";
SWWM_SUBS_DEFAULT_PUZZFAIL2 = "Maldita sea.";
SWWM_SUBS_DEFAULT_PUZZFAIL3 = "No bueno.";
SWWM_SUBS_DEFAULT_PUZZFAIL4 = "Pues no.";
// puzzle item success
SWWM_SUBS_DEFAULT_PUZZSUCC1 = "Bien.";
SWWM_SUBS_DEFAULT_PUZZSUCC2 = "Eso es.";
SWWM_SUBS_DEFAULT_PUZZSUCC3 = "Lo tengo.";
SWWM_SUBS_DEFAULT_PUZZSUCC4 = "Sí.";
SWWM_SUBS_DEFAULT_PUZZSUCC5 = "Mola.";
// first enemy encounter (20 seconds cooldown since all enemies dead)
SWWM_SUBS_DEFAULT_FIGHTSTART1 = "Ya estamos otra vez.";
SWWM_SUBS_DEFAULT_FIGHTSTART2 = "Que empiece el espectáculo.";
SWWM_SUBS_DEFAULT_FIGHTSTART3 = "Hora de morir.";
SWWM_SUBS_DEFAULT_FIGHTSTART4 = "Ven a por mí.";
SWWM_SUBS_DEFAULT_FIGHTSTART5 = "Vais a morir todos.";
SWWM_SUBS_DEFAULT_FIGHTSTART6 = "Ya tenía ganas de pelea.";
SWWM_SUBS_DEFAULT_FIGHTSTART7 = "Vamos con esto.";
SWWM_SUBS_DEFAULT_FIGHTSTART8 = "¡Hora de matar! ¡Matarlos a todos!";
SWWM_SUBS_DEFAULT_FIGHTSTART9 = "En serio que no querrías empezar una pelea conmigo.";
SWWM_SUBS_DEFAULT_FIGHTSTART10 = "Vamos al asunto.";
SWWM_SUBS_DEFAULT_FIGHTSTART11 = "¡Matar!";
SWWM_SUBS_DEFAULT_FIGHTSTART12 = "Esto no será dificil.";
SWWM_SUBS_DEFAULT_FIGHTSTART13 = "Vamos allá.";
SWWM_SUBS_DEFAULT_FIGHTSTART14 = "Hagamos esto.";
SWWM_SUBS_DEFAULT_FIGHTSTART15 = "Acabemos con esto.";
SWWM_SUBS_DEFAULT_FIGHTSTART16 = "Bueno, esto será un desafío interesante.";
SWWM_SUBS_DEFAULT_FIGHTSTART17 = "OK. Empecemos con esto.";
SWWM_SUBS_DEFAULT_FIGHTSTART18 = "Oh, esto es justo lo que necesitaba ahora...";
SWWM_SUBS_DEFAULT_FIGHTSTART19 = "Hora de montar un espectáculo.";
SWWM_SUBS_DEFAULT_FIGHTSTART20 = "Te voy a eliminar.";
SWWM_SUBS_DEFAULT_FIGHTSTART21 = "Oh, bien. Y yo que me temía no tener nada que hacer..";
// played at map start
SWWM_SUBS_DEFAULT_MAPSTART1 = "Ugh... este sitio apesta.";
SWWM_SUBS_DEFAULT_MAPSTART2 = "OK, manos a la obra.";
SWWM_SUBS_DEFAULT_MAPSTART3 = "Arreando que es gerundio.";
SWWM_SUBS_DEFAULT_MAPSTART4 = "Este sitio tiene muy mala pinta.";
SWWM_SUBS_DEFAULT_MAPSTART5 = "Nací preparada.";
SWWM_SUBS_DEFAULT_MAPSTART6 = "La vida es dura, hago lo que tengo que hacer.";
SWWM_SUBS_DEFAULT_MAPSTART7 = "Ningún robot es mejor que yo.";
SWWM_SUBS_DEFAULT_MAPSTART8 = "Los he visto mejores.";
SWWM_SUBS_DEFAULT_MAPSTART9 = "OK. Vamos para allá.";
SWWM_SUBS_DEFAULT_MAPSTART10 = "No quiero problemas. Solo estoy de camino.";
SWWM_SUBS_DEFAULT_MAPSTART11 = "Siento haceros esperar.";
SWWM_SUBS_DEFAULT_MAPSTART12 = "Haré lo mejor que pueda.";
SWWM_SUBS_DEFAULT_MAPSTART13 = "Que quede claro: Todo lo bueno que encuentre es mío.";
SWWM_SUBS_DEFAULT_MAPSTART14 = "Seguro que la comida aquí es terrible.";
// every time a secret is found
SWWM_SUBS_DEFAULT_FINDSECRET1 = "Sí, sí, soy la mejor.";
SWWM_SUBS_DEFAULT_FINDSECRET2 = "Es verdad. Molo bastante.";
SWWM_SUBS_DEFAULT_FINDSECRET3 = "¿Que puedo decir? Se me da bien lo que hago.";
SWWM_SUBS_DEFAULT_FINDSECRET4 = "No ha sido para tanto.";
SWWM_SUBS_DEFAULT_FINDSECRET5 = "Ningún problema en absoluto.";
SWWM_SUBS_DEFAULT_FINDSECRET6 = "Fue facil.";
SWWM_SUBS_DEFAULT_FINDSECRET7 = "Gracias a mí, sí.";
SWWM_SUBS_DEFAULT_FINDSECRET8 = "Fue visto y no visto.";
SWWM_SUBS_DEFAULT_FINDSECRET9 = "Fue pan comido.";
SWWM_SUBS_DEFAULT_FINDSECRET10 = "Todavía tengo mi don.";
SWWM_SUBS_DEFAULT_FINDSECRET11 = "He hecho un buen trabajo, ¿verdad?";
SWWM_SUBS_DEFAULT_FINDSECRET12 = "Wow, ¡mira que suerte!";
SWWM_SUBS_DEFAULT_FINDSECRET13 = "Sí, bueno, soy bastante guay.";
// frag taunts
SWWM_SUBS_DEFAULT_SCOREKILL1 = "A tomar viento.";
SWWM_SUBS_DEFAULT_SCOREKILL2 = "Uno menos.";
SWWM_SUBS_DEFAULT_SCOREKILL3 = "Adiós.";
SWWM_SUBS_DEFAULT_SCOREKILL4 = "¡Heh! No puedes pararme.";
SWWM_SUBS_DEFAULT_SCOREKILL5 = "Perdedor.";
SWWM_SUBS_DEFAULT_SCOREKILL6 = "Se acabó lo nuestro.";
SWWM_SUBS_DEFAULT_SCOREKILL7 = "Chao.";
SWWM_SUBS_DEFAULT_SCOREKILL8 = "Bien muerto.";
SWWM_SUBS_DEFAULT_SCOREKILL9 = "Otro trabajo hecho.";
SWWM_SUBS_DEFAULT_SCOREKILL10 = "El placer ha sido mío.";
SWWM_SUBS_DEFAULT_SCOREKILL11 = "¿Que tal algo más desafiante la próxima vez?";
SWWM_SUBS_DEFAULT_SCOREKILL12 = "Me alegro de que se haya terminado.";
SWWM_SUBS_DEFAULT_SCOREKILL13 = "Bueno, se acabó. Ya está.";
SWWM_SUBS_DEFAULT_SCOREKILL14 = "Ugh. Déjame en paz.";
SWWM_SUBS_DEFAULT_SCOREKILL15 = "Piérdete.";
SWWM_SUBS_DEFAULT_SCOREKILL16 = "¿Eso es todo?";
SWWM_SUBS_DEFAULT_SCOREKILL17 = "¿Eso es lo mejor que puedes hacer?";
SWWM_SUBS_DEFAULT_SCOREKILL18 = "Molestas.";
SWWM_SUBS_DEFAULT_SCOREKILL19 = "Vas a tener que esforzarte más.";
SWWM_SUBS_DEFAULT_SCOREKILL20 = "¿Que? ¿Ya está?";
SWWM_SUBS_DEFAULT_SCOREKILL21 = "Fuera de aquí.";
SWWM_SUBS_DEFAULT_SCOREKILL22 = "Un placer.";
SWWM_SUBS_DEFAULT_SCOREKILL23 = "Fuera de mi camino.";
SWWM_SUBS_DEFAULT_SCOREKILL24 = "Quita de en medio.";
SWWM_SUBS_DEFAULT_SCOREKILL25 = "¿Quieres más?";
SWWM_SUBS_DEFAULT_SCOREKILL26 = "Hecho y hecho.";
SWWM_SUBS_DEFAULT_SCOREKILL27 = "Hecho.";
// getting hurt by monsters
SWWM_SUBS_DEFAULT_GETHIT1 = "Pues vale...";
SWWM_SUBS_DEFAULT_GETHIT2 = "*suspiro*";
SWWM_SUBS_DEFAULT_GETHIT4 = "Perra.";
SWWM_SUBS_DEFAULT_GETHIT5 = "Capullo...";
SWWM_SUBS_DEFAULT_GETHIT6 = "Molestas.";
SWWM_SUBS_DEFAULT_GETHIT7 = "Que te den.";
SWWM_SUBS_DEFAULT_GETHIT8 = "Tienes toda mi atención.";
SWWM_SUBS_DEFAULT_GETHIT9 = "Voy a acabar con esto ahora mismo.";
SWWM_SUBS_DEFAULT_GETHIT10 = "Mira que eres cansino.";
SWWM_SUBS_DEFAULT_GETHIT11 = "Eso no ha valido.";
SWWM_SUBS_DEFAULT_GETHIT12 = "¿En serio?";
SWWM_SUBS_DEFAULT_GETHIT13 = "Vas a tener que esforzarte más.";
SWWM_SUBS_DEFAULT_GETHIT14 = "Fuera de aquí.";
SWWM_SUBS_DEFAULT_GETHIT15 = "Y ahora es tu turno.";
SWWM_SUBS_DEFAULT_GETHIT16 = "Hora de hacerte callar de una vez por todas.";
SWWM_SUBS_DEFAULT_GETHIT17 = "No vas a salir de aquí de una pieza.";
SWWM_SUBS_DEFAULT_GETHIT18 = "Parece que estás enfadado...";
// getting hurt by friendlies
SWWM_SUBS_DEFAULT_FRIENDHIT1 = "¿Te has enfadado conmigo?";
SWWM_SUBS_DEFAULT_FRIENDHIT2 = "¿En serio?";
SWWM_SUBS_DEFAULT_FRIENDHIT3 = "¿Que? ¿Por que?";
SWWM_SUBS_DEFAULT_FRIENDHIT4 = "Eso no ha sido muy educado.";
SWWM_SUBS_DEFAULT_FRIENDHIT5 = "Perdona, ¿que?";
SWWM_SUBS_DEFAULT_FRIENDHIT6 = "No eres muy amigable, ¿verdad?";
SWWM_SUBS_DEFAULT_FRIENDHIT7 = "Eh, eh. Tranquilidad.";
// hurting a friendly
SWWM_SUBS_DEFAULT_HITFRIEND1 = "Lo... siento.";
SWWM_SUBS_DEFAULT_HITFRIEND2 = "Lo siento.";
SWWM_SUBS_DEFAULT_HITFRIEND3 = "Perdón.";
// greeting another player
SWWM_SUBS_DEFAULT_GREET1 = "Hola.";
SWWM_SUBS_DEFAULT_GREET2 = "Hola que tal.";
SWWM_SUBS_DEFAULT_GREET3 = "Ey.";
SWWM_SUBS_DEFAULT_GREET4 = "Ey.";
SWWM_SUBS_DEFAULT_GREET5 = "Ey.";
SWWM_SUBS_DEFAULT_GREET6 = "Ey hola.";
SWWM_SUBS_DEFAULT_GREET7 = "Buenas.";
// ragekit
SWWM_SUBS_DEFAULT_RAGEKIT1 = "¡¡¡¡¡AAAAAAAAAAAAAAAAAAAAAA!!!!!";
SWWM_SUBS_DEFAULT_RAGEKIT2 = "¡¡¡JODEEEEEEEEERRRRRRRRRRR!!!";
SWWM_SUBS_DEFAULT_RAGEKIT3 = "¡¡JODERJODERJODERR!!";
SWWM_SUBS_DEFAULT_RAGEKIT4 = "¡¡¡¡AAAAAAAAAARGH!!!!";
SWWM_SUBS_DEFAULT_RAGEKIT5 = "¡¡¡¡MATARRRRRRR!!!!";
SWWM_SUBS_DEFAULT_RAGEKIT6 = "¡¡¡RAAAARGH!!! ¡¡¡VENGAAAA!!!";
// --- comebacks for korax hub lines ---
// "Greetings mortal, are you ready to die?"
SWWM_SUBS_DEFAULT_KORAXGREET1 = "Oh vaya. Ya está. Yo me largo.";
SWWM_SUBS_DEFAULT_KORAXGREET2 = "Bien... todo muy bien.";
SWWM_SUBS_DEFAULT_KORAXGREET3 = "No quiero lo que sea que me estés vendiendo.";
SWWM_SUBS_DEFAULT_KORAXGREET4 = "La verdad... no eres mi tipo.";
SWWM_SUBS_DEFAULT_KORAXGREET5 = "La primera palabra que tengo en mente es 'feo'.";
SWWM_SUBS_DEFAULT_KORAXGREET6 = "Pareces como algo que quedó en la nevera demasiado tiempo.";
SWWM_SUBS_DEFAULT_KORAXGREET7 = "Veo que venir aquí fue un error.";
SWWM_SUBS_DEFAULT_KORAXGREET8 = "Me incomoda que me miren tan de cerca.";
SWWM_SUBS_DEFAULT_KORAXGREET9 = "Buena actitud...";
SWWM_SUBS_DEFAULT_KORAXGREET10 = "Te podría preguntar lo mismo.";
SWWM_SUBS_DEFAULT_KORAXGREET11 = "Te iba a preguntar lo mismo.";
SWWM_SUBS_DEFAULT_KORAXGREET12 = "Solo busco la mayonesa. A lo mejor me la puedes dar. Segundo estante, justo al lado del flan.";
SWWM_SUBS_DEFAULT_KORAXGREET13 = "Vengo a recoger un pedido. Dos de peperoni grandes y un calzone. A nombre de 'Jódete'.";
// "My servants can smell your blood, human"
SWWM_SUBS_DEFAULT_KORAXBLOOD1 = "Pervertido.";
SWWM_SUBS_DEFAULT_KORAXBLOOD2 = "Interesante saberlo.";
SWWM_SUBS_DEFAULT_KORAXBLOOD3 = "Lo que tú digas.";
SWWM_SUBS_DEFAULT_KORAXBLOOD4 = "Pues no creo yo.";
SWWM_SUBS_DEFAULT_KORAXBLOOD5 = "Um... sí... no lo creo...";
SWWM_SUBS_DEFAULT_KORAXBLOOD6 = "Si tú lo dices.";
SWWM_SUBS_DEFAULT_KORAXBLOOD7 = "Me da igual.";
SWWM_SUBS_DEFAULT_KORAXBLOOD8 = "Lo que sea. Tampoco es que me importe.";
SWWM_SUBS_DEFAULT_KORAXBLOOD9 = "Me importa un cagao.";
SWWM_SUBS_DEFAULT_KORAXBLOOD10 = "Como si me importara una mierda...";
SWWM_SUBS_DEFAULT_KORAXBLOOD11 = "Creo que me confundes con alguien a quien le importara una mierda.";
SWWM_SUBS_DEFAULT_KORAXBLOOD12 = "No estoy tan segura de eso.";
SWWM_SUBS_DEFAULT_KORAXBLOOD13 = "Cállate ya.";
// "You have played this game too long, mortal, I think I shall remove you from the board"
SWWM_SUBS_DEFAULT_KORAXGAME1 = "Me da lo mismo.";
SWWM_SUBS_DEFAULT_KORAXGAME2 = "Vete a tomar por culo.";
SWWM_SUBS_DEFAULT_KORAXGAME3 = "Oh, vete a tomar por saco.";
SWWM_SUBS_DEFAULT_KORAXGAME4 = "No va a pasar.";
SWWM_SUBS_DEFAULT_KORAXGAME5 = "Tus amenazas no me asustan.";
SWWM_SUBS_DEFAULT_KORAXGAME6 = "Y una porra.";
SWWM_SUBS_DEFAULT_KORAXGAME7 = "No me gusta que me amenacen.";
SWWM_SUBS_DEFAULT_KORAXGAME8 = "¿Algo más que tenga que saber?";
SWWM_SUBS_DEFAULT_KORAXGAME9 = "Cállate...";
SWWM_SUBS_DEFAULT_KORAXGAME10 = "Nadie me habla así. Que te zurzan.";
SWWM_SUBS_DEFAULT_KORAXGAME11 = "No hablarás cuando estés muerto.";
SWWM_SUBS_DEFAULT_KORAXGAME12 = "Me gustaría verte intentarlo.";
SWWM_SUBS_DEFAULT_KORAXGAME13 = "Oh, inténtalo.";
SWWM_SUBS_DEFAULT_KORAXGAME14 = "No sé de que me hablas, y no me importa.";
// "Worship me and I may be yet merciful, then again, maybe not"
SWWM_SUBS_DEFAULT_KORAXWORSHIP1 = "¿Que?";
SWWM_SUBS_DEFAULT_KORAXWORSHIP2 = "Menudo idiota...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP3 = "Capullo presumido...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP4 = "Parece que a alguien se le ha inflado el ego.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP5 = "Tan ensimismado...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP6 = "Ya he oido bastantes chorradas tuyas.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP7 = "Bla, bla, bla...";
SWWM_SUBS_DEFAULT_KORAXWORSHIP8 = "¿Que? No te oigo con este zumbido en mis oidos.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP9 = "Debes de pensar que soy idiota.";
SWWM_SUBS_DEFAULT_KORAXWORSHIP10 = "¿Te parezco idiota?";
SWWM_SUBS_DEFAULT_KORAXWORSHIP11 = "Tienes una opinión bastante elevada de ti mismo.";
// "Are you strong enough to face your own masters?"
SWWM_SUBS_DEFAULT_KORAXMASTERS1 = "¿Podemos ir aligerando? Tengo sitios a los que ir.";
SWWM_SUBS_DEFAULT_KORAXMASTERS2 = "No me gusta que la gente me diga lo que tengo que hacer.";
SWWM_SUBS_DEFAULT_KORAXMASTERS3 = "Uh... sí, eso es.";
SWWM_SUBS_DEFAULT_KORAXMASTERS4 = "Supongo que no tengo nada mejor que hacer.";
SWWM_SUBS_DEFAULT_KORAXMASTERS5 = "Me estoy preguntando lo mismo.";
SWWM_SUBS_DEFAULT_KORAXMASTERS6 = "No es asunto tuyo.";
SWWM_SUBS_DEFAULT_KORAXMASTERS7 = "Sí, lo soy.";
SWWM_SUBS_DEFAULT_KORAXMASTERS8 = "Eso no es asunto tuyo.";
SWWM_SUBS_DEFAULT_KORAXMASTERS9 = "Por favor cállate ya...";

2
language.jp_lore Normal file
View file

@ -0,0 +1,2 @@
// Japanese (hopefully someone will help with this)
[jp]

2
language.jp_menu Normal file
View file

@ -0,0 +1,2 @@
// Japanese (hopefully someone will help with this)
[jp]

2
language.jp_voice Normal file
View file

@ -0,0 +1,2 @@
// Japanese (hopefully someone will help with this)
[jp]

View file

@ -52,6 +52,7 @@ OptionMenu "SWWMOptionMenu"
Option "$SWWM_HEALTHUSE", "swwm_autousehealth", "YesNo"
Option "$SWWM_AMMOUSE", "swwm_autouseammo", "YesNo"
Option "$SWWM_EARBUSTER", "swwm_earbuster", "YesNo"
Option "$SWWM_BALLUSE", "swwm_balluse", "YesNo"
StaticText " "
StaticText "$SWWM_CTITLE", "Gold"
Option "$SWWM_SKEYS", "swwm_sharekeys", "YesNo"

View file

@ -11,3 +11,754 @@ Model "Hellblazer"
FrameIndex XZW1 A 0 0
}
// translucent part
Model "Hellblazer"
{
Path "models"
Model 2 "Hellblazer1st_d.3d"
SurfaceSkin 2 4 "Hellblazer.png"
AngleOffset -90
Scale -0.005 0.0025 0.005
Offset -2 2 1
// Still / Deselect
FrameIndex XZWL S 2 0
FrameIndex XZWL T 2 1
FrameIndex XZWL U 2 2
FrameIndex XZWL V 2 3
FrameIndex XZWL W 2 4
FrameIndex XZWL X 2 5
FrameIndex XZWL Y 2 6
FrameIndex XZWL Z 2 7
FrameIndex XZWM A 2 8 // Select
FrameIndex XZWM B 2 9
FrameIndex XZWM C 2 10
FrameIndex XZWM D 2 11
FrameIndex XZWM E 2 12
FrameIndex XZWM F 2 13
FrameIndex XZWM G 2 14
FrameIndex XZWM H 2 15
// Fire
FrameIndex XZWM I 2 17
FrameIndex XZWM J 2 18
FrameIndex XZWM K 2 19
FrameIndex XZWM L 2 20
FrameIndex XZWM M 2 21
FrameIndex XZWM N 2 22
FrameIndex XZWM O 2 23
// AltFire
FrameIndex XZWM P 2 25
FrameIndex XZWM Q 2 26
FrameIndex XZWM R 2 27
FrameIndex XZWM S 2 28
FrameIndex XZWM T 2 29
FrameIndex XZWM U 2 30
FrameIndex XZWM V 2 31
// CycleStart/End
FrameIndex XZWM W 2 33
// Cycle1
FrameIndex XZWM X 2 37
FrameIndex XZWM Y 2 38
FrameIndex XZWM Z 2 39
FrameIndex XZWN A 2 40
// Cycle2
FrameIndex XZWN B 2 41
FrameIndex XZWN C 2 42
FrameIndex XZWN D 2 43
FrameIndex XZWN E 2 44
FrameIndex XZWN F 2 45
FrameIndex XZWN G 2 46
FrameIndex XZWN H 2 47
// Cycle3
FrameIndex XZWN I 2 48
FrameIndex XZWN J 2 49
FrameIndex XZWN K 2 50
FrameIndex XZWN L 2 51
FrameIndex XZWN M 2 52
FrameIndex XZWN N 2 53
FrameIndex XZWN O 2 54
FrameIndex XZWN P 2 55
FrameIndex XZWN Q 2 56
FrameIndex XZWN R 2 57
// Unload
FrameIndex XZWN S 2 59
FrameIndex XZWN T 2 60
FrameIndex XZWN U 2 61
FrameIndex XZWN V 2 62
FrameIndex XZWN W 2 63
FrameIndex XZWN X 2 64
FrameIndex XZWN Y 2 65
FrameIndex XZWN Z 2 66
FrameIndex XZWO A 2 67
FrameIndex XZWO B 2 68
FrameIndex XZWO C 2 69
FrameIndex XZWO D 2 70
FrameIndex XZWO E 2 71
FrameIndex XZWO F 2 72
FrameIndex XZWO G 2 73
FrameIndex XZWO H 2 74
FrameIndex XZWO I 2 75
FrameIndex XZWO J 2 76
FrameIndex XZWO K 2 77
FrameIndex XZWO L 2 78
FrameIndex XZWO M 2 79
FrameIndex XZWO N 2 80
FrameIndex XZWO O 2 81
FrameIndex XZWO P 2 82
FrameIndex XZWO Q 2 83
FrameIndex XZWO R 2 84
// Load
FrameIndex XZWO S 2 85
FrameIndex XZWO T 2 86
FrameIndex XZWO U 2 87
FrameIndex XZWO V 2 88
FrameIndex XZWO W 2 89
FrameIndex XZWO X 2 90
FrameIndex XZWO Y 2 91
FrameIndex XZWO Z 2 92
FrameIndex XZWP A 2 93
FrameIndex XZWP B 2 94
FrameIndex XZWP C 2 95
FrameIndex XZWP D 2 96
FrameIndex XZWP E 2 97
FrameIndex XZWP F 2 98
FrameIndex XZWP G 2 99
FrameIndex XZWP H 2 100
FrameIndex XZWP I 2 101
FrameIndex XZWP J 2 102
FrameIndex XZWP K 2 103
FrameIndex XZWP L 2 104
FrameIndex XZWP M 2 105
FrameIndex XZWP N 2 106
FrameIndex XZWP O 2 107
FrameIndex XZWP P 2 108
FrameIndex XZWP Q 2 109
FrameIndex XZWP R 2 110
FrameIndex XZWP S 2 111
// Idle
FrameIndex XZWP T 2 113
FrameIndex XZWP U 2 114
FrameIndex XZWP V 2 115
FrameIndex XZWP W 2 116
FrameIndex XZWP X 2 117
FrameIndex XZWP Y 2 118
FrameIndex XZWP Z 2 119
FrameIndex XZWQ A 2 120
FrameIndex XZWQ B 2 121
FrameIndex XZWQ C 2 122
FrameIndex XZWQ D 2 123
FrameIndex XZWQ E 2 124
FrameIndex XZWQ F 2 125
FrameIndex XZWQ G 2 126
FrameIndex XZWQ H 2 127
FrameIndex XZWQ I 2 128
FrameIndex XZWQ J 2 129
// Melee
FrameIndex XZWQ K 2 131
FrameIndex XZWQ L 2 132
FrameIndex XZWQ M 2 133
FrameIndex XZWQ N 2 134
FrameIndex XZWQ O 2 135
FrameIndex XZWQ P 2 136
FrameIndex XZWQ Q 2 137
FrameIndex XZWQ R 2 138
FrameIndex XZWQ S 2 139
FrameIndex XZWQ T 2 140
FrameIndex XZWQ U 2 141
FrameIndex XZWQ V 2 142
FrameIndex XZWQ W 2 143
FrameIndex XZWQ X 2 144
FrameIndex XZWQ Y 2 145
FrameIndex XZWQ Z 2 146
FrameIndex XZWR A 2 147
FrameIndex XZWR B 2 148
FrameIndex XZWR C 2 149
FrameIndex XZWR D 2 150
}
Model "Hellblazer"
{
Path "models"
Model 1 "Hellblazer1st_d.3d"
SurfaceSkin 1 0 "DemoTags.png"
SurfaceSkin 1 1 "DemoArms.png"
SurfaceSkin 1 2 "DemoSoft.png"
SurfaceSkin 1 3 "Hellblazer.png"
AngleOffset -90
Scale -0.005 0.0025 0.005
Offset -2 2 1
////// MISSILES
SurfaceSkin 1 5 "HellblazerAmmo.png"
SurfaceSkin 1 6 "HellblazerAmmo.png"
SurfaceSkin 1 7 "HellblazerAmmo.png"
SurfaceSkin 1 8 "HellblazerAmmo.png"
// Still / Deselect
FrameIndex XZW2 A 1 0
FrameIndex XZW2 B 1 1
FrameIndex XZW2 C 1 2
FrameIndex XZW2 D 1 3
FrameIndex XZW2 E 1 4
FrameIndex XZW2 F 1 5
FrameIndex XZW2 G 1 6
FrameIndex XZW2 H 1 7
FrameIndex XZW2 I 1 8 // Select
FrameIndex XZW2 J 1 9
FrameIndex XZW2 K 1 10
FrameIndex XZW2 L 1 11
FrameIndex XZW2 M 1 12
FrameIndex XZW2 N 1 13
FrameIndex XZW2 O 1 14
FrameIndex XZW2 P 1 15
// Fire
FrameIndex XZW2 Q 1 17
FrameIndex XZW2 R 1 18
FrameIndex XZW2 S 1 19
FrameIndex XZW2 T 1 20
FrameIndex XZW2 U 1 21
FrameIndex XZW2 V 1 22
FrameIndex XZW2 W 1 23
// AltFire
FrameIndex XZW2 X 1 25
FrameIndex XZW2 Y 1 26
FrameIndex XZW2 Z 1 27
FrameIndex XZW3 A 1 28
FrameIndex XZW3 B 1 29
FrameIndex XZW3 C 1 30
FrameIndex XZW3 D 1 31
// CycleStart/End
FrameIndex XZW3 E 1 33
// Cycle1
FrameIndex XZW3 F 1 37
FrameIndex XZW3 G 1 38
FrameIndex XZW3 H 1 39
FrameIndex XZW3 I 1 40
// Unload
FrameIndex XZW3 J 1 59
FrameIndex XZW3 K 1 60
FrameIndex XZW3 L 1 61
FrameIndex XZW3 M 1 62
FrameIndex XZW3 N 1 63
FrameIndex XZW3 O 1 64
FrameIndex XZW3 P 1 65
FrameIndex XZW3 Q 1 66
FrameIndex XZW3 R 1 67
FrameIndex XZW3 S 1 68
FrameIndex XZW3 T 1 69
FrameIndex XZW3 U 1 70
FrameIndex XZW3 V 1 71
FrameIndex XZW3 W 1 72
FrameIndex XZW3 X 1 73
FrameIndex XZW3 Y 1 74
FrameIndex XZW3 Z 1 75
FrameIndex XZW4 A 1 76
FrameIndex XZW4 B 1 77
FrameIndex XZW4 C 1 78
FrameIndex XZW4 D 1 79
FrameIndex XZW4 E 1 80
FrameIndex XZW4 F 1 81
FrameIndex XZW4 G 1 82
FrameIndex XZW4 H 1 83
FrameIndex XZW4 I 1 84
// Load
FrameIndex XZW4 J 1 85
FrameIndex XZW4 K 1 86
FrameIndex XZW4 L 1 87
FrameIndex XZW4 M 1 88
FrameIndex XZW4 N 1 89
FrameIndex XZW4 O 1 90
FrameIndex XZW4 P 1 91
FrameIndex XZW4 Q 1 92
FrameIndex XZW4 R 1 93
FrameIndex XZW4 S 1 94
FrameIndex XZW4 T 1 95
FrameIndex XZW4 U 1 96
FrameIndex XZW4 V 1 97
FrameIndex XZW4 W 1 98
FrameIndex XZW4 X 1 99
FrameIndex XZW4 Y 1 100
FrameIndex XZW4 Z 1 101
FrameIndex XZW5 A 1 102
FrameIndex XZW5 B 1 103
FrameIndex XZW5 C 1 104
FrameIndex XZW5 D 1 105
FrameIndex XZW5 E 1 106
FrameIndex XZW5 F 1 107
FrameIndex XZW5 G 1 108
FrameIndex XZW5 H 1 109
FrameIndex XZW5 I 1 110
FrameIndex XZW5 J 1 111
// Idle
FrameIndex XZW5 K 1 113
FrameIndex XZW5 L 1 114
FrameIndex XZW5 M 1 115
FrameIndex XZW5 N 1 116
FrameIndex XZW5 O 1 117
FrameIndex XZW5 P 1 118
FrameIndex XZW5 Q 1 119
FrameIndex XZW5 R 1 120
FrameIndex XZW5 S 1 121
FrameIndex XZW5 T 1 122
FrameIndex XZW5 U 1 123
FrameIndex XZW5 V 1 124
FrameIndex XZW5 W 1 125
FrameIndex XZW5 X 1 126
FrameIndex XZW5 Y 1 127
FrameIndex XZW5 Z 1 128
FrameIndex XZW6 A 1 129
// Melee
FrameIndex XZW6 B 1 131
FrameIndex XZW6 C 1 132
FrameIndex XZW6 D 1 133
FrameIndex XZW6 E 1 134
FrameIndex XZW6 F 1 135
FrameIndex XZW6 G 1 136
FrameIndex XZW6 H 1 137
FrameIndex XZW6 I 1 138
FrameIndex XZW6 J 1 139
FrameIndex XZW6 K 1 140
FrameIndex XZW6 L 1 141
FrameIndex XZW6 M 1 142
FrameIndex XZW6 N 1 143
FrameIndex XZW6 O 1 144
FrameIndex XZW6 P 1 145
FrameIndex XZW6 Q 1 146
FrameIndex XZW6 R 1 147
FrameIndex XZW6 S 1 148
FrameIndex XZW6 T 1 149
FrameIndex XZW6 U 1 150
////// CRACKSHOTS
SurfaceSkin 1 5 "HellblazerAmmo_Cluster.png"
SurfaceSkin 1 6 ""
SurfaceSkin 1 7 "HellblazerAmmo_Cluster.png"
SurfaceSkin 1 8 ""
// Still / Deselect
FrameIndex XZW6 V 1 0
FrameIndex XZW6 W 1 1
FrameIndex XZW6 X 1 2
FrameIndex XZW6 Y 1 3
FrameIndex XZW6 Z 1 4
FrameIndex XZW7 A 1 5
FrameIndex XZW7 B 1 6
FrameIndex XZW7 C 1 7
FrameIndex XZW7 D 1 8 // Select
FrameIndex XZW7 E 1 9
FrameIndex XZW7 F 1 10
FrameIndex XZW7 G 1 11
FrameIndex XZW7 H 1 12
FrameIndex XZW7 I 1 13
FrameIndex XZW7 J 1 14
FrameIndex XZW7 K 1 15
// Fire
FrameIndex XZW7 L 1 17
FrameIndex XZW7 M 1 18
FrameIndex XZW7 N 1 19
FrameIndex XZW7 O 1 20
FrameIndex XZW7 P 1 21
FrameIndex XZW7 Q 1 22
FrameIndex XZW7 R 1 23
// AltFire
FrameIndex XZW7 S 1 25
FrameIndex XZW7 T 1 26
FrameIndex XZW7 U 1 27
FrameIndex XZW7 V 1 28
FrameIndex XZW7 W 1 29
FrameIndex XZW7 X 1 30
FrameIndex XZW7 Y 1 31
// CycleStart/End
FrameIndex XZW7 Z 1 33
// Cycle2
FrameIndex XZW8 A 0 41
FrameIndex XZW8 B 0 42
FrameIndex XZW8 C 0 43
FrameIndex XZW8 D 0 44
FrameIndex XZW8 E 0 45
FrameIndex XZW8 F 0 46
FrameIndex XZW8 G 0 47
// Unload
FrameIndex XZW8 H 1 59
FrameIndex XZW8 I 1 60
FrameIndex XZW8 J 1 61
FrameIndex XZW8 K 1 62
FrameIndex XZW8 L 1 63
FrameIndex XZW8 M 1 64
FrameIndex XZW8 N 1 65
FrameIndex XZW8 O 1 66
FrameIndex XZW8 P 1 67
FrameIndex XZW8 Q 1 68
FrameIndex XZW8 R 1 69
FrameIndex XZW8 S 1 70
FrameIndex XZW8 T 1 71
FrameIndex XZW8 U 1 72
FrameIndex XZW8 V 1 73
FrameIndex XZW8 W 1 74
FrameIndex XZW8 X 1 75
FrameIndex XZW8 Y 1 76
FrameIndex XZW8 Z 1 77
FrameIndex XZW9 A 1 78
FrameIndex XZW9 B 1 79
FrameIndex XZW9 C 1 80
FrameIndex XZW9 D 1 81
FrameIndex XZW9 E 1 82
FrameIndex XZW9 F 1 83
FrameIndex XZW9 G 1 84
// Load
FrameIndex XZW9 H 1 85
FrameIndex XZW9 I 1 86
FrameIndex XZW9 J 1 87
FrameIndex XZW9 K 1 88
FrameIndex XZW9 L 1 89
FrameIndex XZW9 M 1 90
FrameIndex XZW9 N 1 91
FrameIndex XZW9 O 1 92
FrameIndex XZW9 P 1 93
FrameIndex XZW9 Q 1 94
FrameIndex XZW9 R 1 95
FrameIndex XZW9 S 1 96
FrameIndex XZW9 T 1 97
FrameIndex XZW9 U 1 98
FrameIndex XZW9 V 1 99
FrameIndex XZW9 W 1 100
FrameIndex XZW9 X 1 101
FrameIndex XZW9 Y 1 102
FrameIndex XZW9 Z 1 103
FrameIndex XZWA A 1 104
FrameIndex XZWA B 1 105
FrameIndex XZWA C 1 106
FrameIndex XZWA D 1 107
FrameIndex XZWA E 1 108
FrameIndex XZWA F 1 109
FrameIndex XZWA G 1 110
FrameIndex XZWA H 1 111
// Idle
FrameIndex XZWA I 1 113
FrameIndex XZWA J 1 114
FrameIndex XZWA K 1 115
FrameIndex XZWA L 1 116
FrameIndex XZWA M 1 117
FrameIndex XZWA N 1 118
FrameIndex XZWA O 1 119
FrameIndex XZWA P 1 120
FrameIndex XZWA Q 1 121
FrameIndex XZWA R 1 122
FrameIndex XZWA S 1 123
FrameIndex XZWA T 1 124
FrameIndex XZWA U 1 125
FrameIndex XZWA V 1 126
FrameIndex XZWA W 1 127
FrameIndex XZWA X 1 128
FrameIndex XZWA Y 1 129
// Melee
FrameIndex XZWA Z 1 131
FrameIndex XZWB A 1 132
FrameIndex XZWB B 1 133
FrameIndex XZWB C 1 134
FrameIndex XZWB D 1 135
FrameIndex XZWB E 1 136
FrameIndex XZWB F 1 137
FrameIndex XZWB G 1 138
FrameIndex XZWB H 1 139
FrameIndex XZWB I 1 140
FrameIndex XZWB J 1 141
FrameIndex XZWB K 1 142
FrameIndex XZWB L 1 143
FrameIndex XZWB M 1 144
FrameIndex XZWB N 1 145
FrameIndex XZWB O 1 146
FrameIndex XZWB P 1 147
FrameIndex XZWB Q 1 148
FrameIndex XZWB R 1 149
FrameIndex XZWB S 1 150
////// RAVAGERS
SurfaceSkin 1 5 "HellblazerAmmo_Fire.png"
SurfaceSkin 1 6 ""
SurfaceSkin 1 7 "HellblazerAmmo_Fire.png"
SurfaceSkin 1 8 ""
// Still / Deselect
FrameIndex XZWB T 1 0
FrameIndex XZWB U 1 1
FrameIndex XZWB V 1 2
FrameIndex XZWB W 1 3
FrameIndex XZWB X 1 4
FrameIndex XZWB Y 1 5
FrameIndex XZWB Z 1 6
FrameIndex XZWC A 1 7
FrameIndex XZWC B 1 8 // Select
FrameIndex XZWC C 1 9
FrameIndex XZWC D 1 10
FrameIndex XZWC E 1 11
FrameIndex XZWC F 1 12
FrameIndex XZWC G 1 13
FrameIndex XZWC H 1 14
FrameIndex XZWC I 1 15
// Fire
FrameIndex XZWC J 1 17
FrameIndex XZWC K 1 18
FrameIndex XZWC L 1 19
FrameIndex XZWC M 1 20
FrameIndex XZWC N 1 21
FrameIndex XZWC O 1 22
FrameIndex XZWC P 1 23
// AltFire
FrameIndex XZWC Q 1 25
FrameIndex XZWC R 1 26
FrameIndex XZWC S 1 27
FrameIndex XZWC T 1 28
FrameIndex XZWC U 1 29
FrameIndex XZWC V 1 30
FrameIndex XZWC W 1 31
// CycleStart/End
FrameIndex XZWC X 1 33
// Cycle2
FrameIndex XZWC Y 1 41
FrameIndex XZWC Z 1 42
FrameIndex XZWD A 1 43
FrameIndex XZWD B 1 44
FrameIndex XZWD C 1 45
FrameIndex XZWD D 1 46
FrameIndex XZWD E 1 47
// Unload
FrameIndex XZWD F 1 59
FrameIndex XZWD G 1 60
FrameIndex XZWD H 1 61
FrameIndex XZWD I 1 62
FrameIndex XZWD J 1 63
FrameIndex XZWD K 1 64
FrameIndex XZWD L 1 65
FrameIndex XZWD M 1 66
FrameIndex XZWD N 1 67
FrameIndex XZWD O 1 68
FrameIndex XZWD P 1 69
FrameIndex XZWD Q 1 70
FrameIndex XZWD R 1 71
FrameIndex XZWD S 1 72
FrameIndex XZWD T 1 73
FrameIndex XZWD U 1 74
FrameIndex XZWD V 1 75
FrameIndex XZWD W 1 76
FrameIndex XZWD X 1 77
FrameIndex XZWD Y 1 78
FrameIndex XZWD Z 1 79
FrameIndex XZWE A 1 80
FrameIndex XZWE B 1 81
FrameIndex XZWE C 1 82
FrameIndex XZWE D 1 83
FrameIndex XZWE E 1 84
// Load
FrameIndex XZWE F 1 85
FrameIndex XZWE G 1 86
FrameIndex XZWE H 1 87
FrameIndex XZWE I 1 88
FrameIndex XZWE J 1 89
FrameIndex XZWE K 1 90
FrameIndex XZWE L 1 91
FrameIndex XZWE M 1 92
FrameIndex XZWE N 1 93
FrameIndex XZWE O 1 94
FrameIndex XZWE P 1 95
FrameIndex XZWE Q 1 96
FrameIndex XZWE R 1 97
FrameIndex XZWE S 1 98
FrameIndex XZWE T 1 99
FrameIndex XZWE U 1 100
FrameIndex XZWE V 1 101
FrameIndex XZWE W 1 102
FrameIndex XZWE X 1 103
FrameIndex XZWE Y 1 104
FrameIndex XZWE Z 1 105
FrameIndex XZWF A 1 106
FrameIndex XZWF B 1 107
FrameIndex XZWF C 1 108
FrameIndex XZWF D 1 109
FrameIndex XZWF E 1 110
FrameIndex XZWF F 1 111
// Idle
FrameIndex XZWF G 1 113
FrameIndex XZWF H 1 114
FrameIndex XZWF I 1 115
FrameIndex XZWF J 1 116
FrameIndex XZWF K 1 117
FrameIndex XZWF L 1 118
FrameIndex XZWF M 1 119
FrameIndex XZWF N 1 120
FrameIndex XZWF O 1 121
FrameIndex XZWF P 1 122
FrameIndex XZWF Q 1 123
FrameIndex XZWF R 1 124
FrameIndex XZWF S 1 125
FrameIndex XZWF T 1 126
FrameIndex XZWF U 1 127
FrameIndex XZWF V 1 128
FrameIndex XZWF W 1 129
// Melee
FrameIndex XZWF X 1 131
FrameIndex XZWF Y 1 132
FrameIndex XZWF Z 1 133
FrameIndex XZWG A 1 134
FrameIndex XZWG B 1 135
FrameIndex XZWG C 1 136
FrameIndex XZWG D 1 137
FrameIndex XZWG E 1 138
FrameIndex XZWG F 1 139
FrameIndex XZWG G 1 140
FrameIndex XZWG H 1 141
FrameIndex XZWG I 1 142
FrameIndex XZWG J 1 143
FrameIndex XZWG K 1 144
FrameIndex XZWG L 1 145
FrameIndex XZWG M 1 146
FrameIndex XZWG N 1 147
FrameIndex XZWG O 1 148
FrameIndex XZWG P 1 149
FrameIndex XZWG Q 1 150
////// WARHEADS
SurfaceSkin 1 5 "HellblazerAmmo_Nuke.png"
SurfaceSkin 1 6 ""
SurfaceSkin 1 7 ""
SurfaceSkin 1 8 "HellblazerAmmo_Nuke.png"
// Still / Deselect
FrameIndex XZWG R 1 0
FrameIndex XZWG S 1 1
FrameIndex XZWG T 1 2
FrameIndex XZWG U 1 3
FrameIndex XZWG V 1 4
FrameIndex XZWG W 1 5
FrameIndex XZWG X 1 6
FrameIndex XZWG Y 1 7
FrameIndex XZWG Z 1 8 // Select
FrameIndex XZWH A 1 9
FrameIndex XZWH B 1 10
FrameIndex XZWH C 1 11
FrameIndex XZWH D 1 12
FrameIndex XZWH E 1 13
FrameIndex XZWH F 1 14
FrameIndex XZWH G 1 15
// Fire
FrameIndex XZWH H 1 17
FrameIndex XZWH I 1 18
FrameIndex XZWH J 1 19
FrameIndex XZWH K 1 20
FrameIndex XZWH L 1 21
FrameIndex XZWH M 1 22
FrameIndex XZWH N 1 23
// AltFire
FrameIndex XZWH O 0 25
FrameIndex XZWH P 0 26
FrameIndex XZWH Q 0 27
FrameIndex XZWH R 0 28
FrameIndex XZWH S 0 29
FrameIndex XZWH T 0 30
FrameIndex XZWH U 0 31
// CycleStart/End
FrameIndex XZWH V 1 33
// Cycle3
FrameIndex XZWH W 1 48
FrameIndex XZWH X 1 49
FrameIndex XZWH Y 1 50
FrameIndex XZWH Z 1 51
FrameIndex XZWI A 1 52
FrameIndex XZWI B 1 53
FrameIndex XZWI C 1 54
FrameIndex XZWI D 1 55
FrameIndex XZWI E 1 56
FrameIndex XZWI F 1 57
// Unload
FrameIndex XZWI G 1 59
FrameIndex XZWI H 1 60
FrameIndex XZWI I 1 61
FrameIndex XZWI J 1 62
FrameIndex XZWI K 1 63
FrameIndex XZWI L 1 64
FrameIndex XZWI M 1 65
FrameIndex XZWI N 1 66
FrameIndex XZWI O 1 67
FrameIndex XZWI P 1 68
FrameIndex XZWI Q 1 69
FrameIndex XZWI R 1 70
FrameIndex XZWI S 1 71
FrameIndex XZWI T 1 72
FrameIndex XZWI U 1 73
FrameIndex XZWI V 1 74
FrameIndex XZWI W 1 75
FrameIndex XZWI X 1 76
FrameIndex XZWI Y 1 77
FrameIndex XZWI Z 1 78
FrameIndex XZWJ A 1 79
FrameIndex XZWJ B 1 80
FrameIndex XZWJ C 1 81
FrameIndex XZWJ D 1 82
FrameIndex XZWJ E 1 83
FrameIndex XZWJ F 1 84
// Load
FrameIndex XZWJ G 1 85
FrameIndex XZWJ H 1 86
FrameIndex XZWJ I 1 87
FrameIndex XZWJ J 1 88
FrameIndex XZWJ K 1 89
FrameIndex XZWJ L 1 90
FrameIndex XZWJ M 1 91
FrameIndex XZWJ N 1 92
FrameIndex XZWJ O 1 93
FrameIndex XZWJ P 1 94
FrameIndex XZWJ Q 1 95
FrameIndex XZWJ R 1 96
FrameIndex XZWJ S 1 97
FrameIndex XZWJ T 1 98
FrameIndex XZWJ U 1 99
FrameIndex XZWJ V 1 100
FrameIndex XZWJ W 1 101
FrameIndex XZWJ X 1 102
FrameIndex XZWJ Y 1 103
FrameIndex XZWJ Z 1 104
FrameIndex XZWK A 1 105
FrameIndex XZWK B 1 106
FrameIndex XZWK C 1 107
FrameIndex XZWK D 1 108
FrameIndex XZWK E 1 109
FrameIndex XZWK F 1 110
FrameIndex XZWK G 1 111
// Idle
FrameIndex XZWK H 1 113
FrameIndex XZWK I 1 114
FrameIndex XZWK J 1 115
FrameIndex XZWK K 1 116
FrameIndex XZWK L 1 117
FrameIndex XZWK M 1 118
FrameIndex XZWK N 1 119
FrameIndex XZWK O 1 120
FrameIndex XZWK P 1 121
FrameIndex XZWK Q 1 122
FrameIndex XZWK R 1 123
FrameIndex XZWK S 1 124
FrameIndex XZWK T 1 125
FrameIndex XZWK U 1 126
FrameIndex XZWK V 1 127
FrameIndex XZWK W 1 128
FrameIndex XZWK X 1 129
// Melee
FrameIndex XZWK Y 1 131
FrameIndex XZWK Z 1 132
FrameIndex XZWL A 1 133
FrameIndex XZWL B 1 134
FrameIndex XZWL C 1 135
FrameIndex XZWL D 1 136
FrameIndex XZWL E 1 137
FrameIndex XZWL F 1 138
FrameIndex XZWL G 1 139
FrameIndex XZWL H 1 140
FrameIndex XZWL I 1 141
FrameIndex XZWL J 1 142
FrameIndex XZWL K 1 143
FrameIndex XZWL L 1 144
FrameIndex XZWL M 1 145
FrameIndex XZWL N 1 146
FrameIndex XZWL O 1 147
FrameIndex XZWL P 1 148
FrameIndex XZWL Q 1 149
FrameIndex XZWL R 1 150
}

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -71,6 +71,10 @@ voice/default/locked1 sounds/voice/default/locked1.ogg
voice/default/locked2 sounds/voice/default/locked2.ogg
voice/default/locked3 sounds/voice/default/locked3.ogg
voice/default/locked4 sounds/voice/default/locked4.ogg
voice/default/jammed1 sounds/voice/default/jammed1.ogg
voice/default/jammed2 sounds/voice/default/jammed2.ogg
voice/default/jammed3 sounds/voice/default/jammed3.ogg
voice/default/jammed4 sounds/voice/default/jammed4.ogg
voice/default/lopain1 sounds/voice/default/lopain1.ogg
voice/default/lopain2 sounds/voice/default/lopain2.ogg
voice/default/lopain3 sounds/voice/default/lopain3.ogg
@ -560,6 +564,38 @@ eviscerator/shell2 sounds/eviscerator/visc_shell2.ogg
$random eviscerator/shell { eviscerator/shell1 eviscerator/shell2 }
eviscerator/casing sounds/eviscerator/visc_casing.ogg
hellblazer/select sounds/hellblazer/blaze_select.ogg
hellblazer/deselect sounds/hellblazer/blaze_deselect.ogg
hellblazer/fire sounds/hellblazer/blaze_fire.ogg
hellblazer/altfire sounds/hellblazer/blaze_altfire.ogg
hellblazer/meleestart sounds/hellblazer/blaze_meleestart.ogg
hellblazer/meleeend sounds/hellblazer/blaze_meleeend.ogg
hellblazer/idle sounds/hellblazer/blaze_idle.ogg
hellblazer/dustoff sounds/hellblazer/blaze_dustoff.ogg
hellblazer/shift sounds/hellblazer/blaze_shift.ogg
hellblazer/spin sounds/hellblazer/blaze_spin.ogg
hellblazer/open sounds/hellblazer/blaze_open.ogg
hellblazer/magout sounds/hellblazer/blaze_magout.ogg
hellblazer/magin sounds/hellblazer/blaze_magin.ogg
hellblazer/close sounds/hellblazer/blaze_close.ogg
hellblazer/hitm1 sounds/hellblazer/blaze_hitm1.ogg
hellblazer/hitm2 sounds/hellblazer/blaze_hitm2.ogg
hellblazer/hitm3 sounds/hellblazer/blaze_hitm3.ogg
$random hellblazer/hitm { hellblazer/hitm1 hellblazer/hitm2 hellblazer/hitm3 }
hellblazer/hitc1 sounds/hellblazer/blaze_hitc1.ogg
hellblazer/hitc2 sounds/hellblazer/blaze_hitc2.ogg
hellblazer/hitc3 sounds/hellblazer/blaze_hitc3.ogg
$random hellblazer/hitc { hellblazer/hitc1 hellblazer/hitc2 hellblazer/hitc3 }
hellblazer/hitcs1 sounds/hellblazer/blaze_hitcs1.ogg
hellblazer/hitcs2 sounds/hellblazer/blaze_hitcs2.ogg
hellblazer/hitcs3 sounds/hellblazer/blaze_hitcs3.ogg
$random hellblazer/hitcs { hellblazer/hitcs1 hellblazer/hitcs2 hellblazer/hitcs3 }
hellblazer/hitw1 sounds/hellblazer/blaze_hitw1.ogg
hellblazer/hitw2 sounds/hellblazer/blaze_hitw2.ogg
$random hellblazer/hitw { hellblazer/hitw1 hellblazer/hitw2 }
hellblazer/bounce sounds/hellblazer/blaze_bounce.ogg
hellblazer/fly sounds/hellblazer/blaze_fly.ogg
candygun/fire1 sounds/candygun/candy_fire1.ogg
candygun/fire2 sounds/candygun/candy_fire2.ogg
candygun/fire3 sounds/candygun/candy_fire3.ogg
@ -605,6 +641,7 @@ misc/chat2 sounds/menu/chatsnd.ogg
Chat sounds/menu/chatsnd.ogg // hexen what the fuck
misc/sundowner sounds/SUNDOWNER.ogg
misc/emone sounds/EMONE.ogg
misc/gibbed sounds/DEARGODWHY.ogg // probably the "sloppiest" gib sound I've ever heard. thanks, freedoom
misc/underwater sounds/general/uWater1a.ogg
misc/underslime sounds/general/uGoop1.ogg

BIN
sounds/DEARGODWHY.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -39,5 +39,5 @@ Texture "-noflat-",16,16
XScale 2
YScale 2
WorldPanning
Patch "chiptile", 0, 0
Patch "textures/chiptile.png", 0, 0
}

View file

@ -7,6 +7,27 @@ GameInfo
StatScreen_Single = "SWWMStatScreen_SP"
StatScreen_Coop = "SWWMStatScreen_Coop"
StatScreen_DM = "SWWMStatScreen_DM"
QuitSound = ""
QuitMessages = "$QUITMSG", "$QUITMSG1", "$QUITMSG2", "$QUITMSG3",
"$QUITMSG4", "$QUITMSG5", "$QUITMSG6", "$QUITMSG7",
"$QUITMSG8", "$QUITMSG9", "$QUITMSG10", "$QUITMSG11",
"$QUITMSG12", "$QUITMSG13", "$QUITMSG14", "$QUITMSG15"
ChatSound = "misc/chat"
IntermissionMusic = "music/DRAGONY.XM"
DefaultConversationMenuClass = "SWWMConversationMenu"
// precaching of frame-heavy objects
PrecacheClasses = "Demolitionist",
"DeepImpact",
"PusherWeapon",
"ExplodiumGun",
"Spreadgun",
"Wallbuster",
"Eviscerator",
"Hellblazer",
"Sparkster",
"SilverBullet",
"CandyGun",
"YnykronArtifact"
}
Map TITLEMAP "SWWM GZ - Title Map"

View file

@ -14,6 +14,7 @@ version "4.3"
#include "zscript/swwm_libeye/viewport.txt"
#include "zscript/swwm_coordutil.zsc"
#include "zscript/swwm_quaternion.zsc"
#include "zscript/swwm_crimesdlg.zsc"
// base code
#include "zscript/swwm_common.zsc"
#include "zscript/swwm_player.zsc"
@ -23,6 +24,7 @@ version "4.3"
#include "zscript/swwm_options.zsc"
#include "zscript/swwm_title.zsc"
#include "zscript/swwm_inter.zsc"
#include "zscript/swwm_strife.zsc"
// items
#include "zscript/swwm_health.zsc"
#include "zscript/swwm_armor.zsc"

View file

@ -1,12 +1,96 @@
// Imanaki Corp Hellfire Cannon Mk3, aka "Hellblazer" (from SWWM series, originally inspired by the Hellraiser from OMGWEAPONS)
// Slot 6, replaces Rocket Launcher, Phoenix Rod, Firestorm
// rockets
Class HellblazerMissile : Actor
{
}
Class HellblazerCrackshot : HellblazerMissile
{
}
Class HellblazerRavager : HellblazerMissile
{
}
Class HellblazerWarhead : HellblazerMissile
{
}
// grenades
Class HellblazerMissile2 : HellblazerMissile
{
}
Class HellblazerCrackshot2 : HellblazerCrackshot
{
}
Class HellblazerRavager2 : HellblazerRavager
{
}
Class HellblazerWarhead2 : HellblazerWarhead
{
}
Class Hellblazer : SWWMWeapon
{
int clipcount;
Class<Ammo> loadammo, nextammo;
Property ClipCount : clipcount;
transient ui TextureID WeaponBox, AmmoIcon;
transient ui Font TewiFont;
override void DrawWeapon( double TicFrac, double bx, double by, Vector2 hs, Vector2 ss )
{
if ( !TewiFont ) TewiFont = Font.GetFont('TewiShaded');
// DEBUG
Screen.DrawText(TewiFont,Font.CR_RED,bx-160,by-59,"NOT YET FULLY IMPLEMENTED",DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawText(TewiFont,Font.CR_RED,bx-160,by-46,String.Format("Loaded: %s",loadammo?GetDefaultByType(loadammo).GetTag():"(null)"),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawText(TewiFont,Font.CR_RED,bx-160,by-33,String.Format("Next: %s",nextammo?GetDefaultByType(nextammo).GetTag():"(null)"),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawText(TewiFont,Font.CR_RED,bx-160,by-20,String.Format("Clip: %d / %d",clipcount,LoadedCapacity()),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
// TODO the ammo display itself
}
action void A_HellblazerFire( int type = 0, bool bAlt = false )
{
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
static const Class<Actor> projs[] = {"HellblazerMissile","HellblazerCrackshot","HellblazerRavager","HellblazerWarhead",
"HellblazerMissile2","HellblazerCrackshot2","HellblazerRavager2","HellblazerWarhead2"};
A_StartSound(bAlt?"hellblazer/altfire":"hellblazer/fire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:(bAlt?1.7:.8));
A_AlertMonsters(bAlt?400:1200);
int qstr = bAlt?4:5;
A_QuakeEx(qstr,qstr,qstr,bAlt?4:12,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.12*qstr);
A_ZoomFactor(bAlt?.96:.93,ZOOM_INSTANT);
A_ZoomFactor(1.);
A_Recoil(bAlt?.3:.5);
invoker.clipcount = max(0,invoker.clipcount-1);
// TODO fire the stuff
}
override bool ReportHUDAmmo()
{
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
for ( int i=0; i<4; i++ ) if ( Owner.CountInv(types[i]) > 0 ) return true;
return (clipcount>0);
}
override bool CheckAmmo( int firemode, bool autoswitch, bool requireammo, int ammocount )
{
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
if ( (firemode == PrimaryFire) || (firemode == AltFire) )
{
if ( clipcount > 0 ) return true;
for ( int i=0; i<4; i++ ) if ( Owner.CountInv(types[i]) > 0 ) return true;
return false;
}
return Super.CheckAmmo(firemode,autoswitch,requireammo,ammocount);
}
override bool UsesAmmo( Class<Ammo> kind )
{
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
@ -14,6 +98,124 @@ Class Hellblazer : SWWMWeapon
return false;
}
action void A_GlassOverlay( StateLabel g )
{
if ( !player.FindPSprite(PSP_WEAPON+1) )
{
A_Overlay(PSP_WEAPON+1,g);
A_OverlayFlags(PSP_WEAPON+1,PSPF_RENDERSTYLE,true);
A_OverlayRenderStyle(PSP_WEAPON+1,STYLE_Add);
}
else player.SetPSprite(PSP_WEAPON+1,invoker.FindState(g));
}
action state A_JumpByAmmoType( StateLabel a, StateLabel b, StateLabel c, StateLabel d, StateLabel g, StateLabel o = null )
{
A_Overlay(-9999,o);
A_GlassOverlay(g);
if ( invoker.loadammo is "HellblazerMissiles" ) return invoker.FindState(a);
if ( invoker.loadammo is "HellblazerCrackshots" ) return invoker.FindState(b);
if ( invoker.loadammo is "HellblazerRavagers" ) return invoker.FindState(c);
if ( invoker.loadammo is "HellblazerWarheads" ) return invoker.FindState(d);
return invoker.FindState(a);
}
override void AttachToOwner( Actor other )
{
Super.AttachToOwner(other);
if ( !loadammo ) loadammo = "HellblazerMissiles";
nextammo = loadammo;
}
clearscope int LoadedCapacity() const
{
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
static const int typeclipcount[] = {6,3,3,2};
for ( int i=0; i<4; i++ )
{
if ( loadammo != types[i] ) continue;
let a = Owner.FindInventory(types[i]);
return min(a.Amount+clipcount,typeclipcount[i]);
break;
}
return 0;
}
action void A_PickNextAmmo()
{
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
int curidx = 0;
for ( int i=0; i<4; i++ )
{
if ( invoker.nextammo != types[i] ) continue;
curidx = (i+1)%4;
break;
}
Class<Ammo> oldammo = invoker.nextammo, newammo = null;
for ( int i=0; i<4; i++ )
{
int nidx = (i+curidx)%4;
if ( CountInv(types[nidx]) <= 0 ) continue;
newammo = types[nidx];
break;
}
if ( newammo != oldammo ) A_StartSound("misc/invchange",CHAN_WEAPONEXTRA,CHANF_UI|CHANF_LOCAL);
invoker.nextammo = newammo;
}
action void A_ZoomHold()
{
A_WeaponReady(WRF_NOFIRE);
if ( player.cmd.buttons&BT_ZOOM ) return;
player.SetPSPrite(PSP_WEAPON,invoker.FindState("Ready"));
}
action void A_SwapAmmo()
{
let amo = FindInventory(invoker.loadammo);
// if we're loading the same ammo type, we only need to remove the needed ammo
if ( invoker.loadammo == invoker.nextammo )
{
int takeamt = invoker.LoadedCapacity()-invoker.clipcount;
invoker.clipcount = invoker.LoadedCapacity();
if ( !sv_infiniteammo && !FindInventory('PowerInfiniteAmmo',true) )
amo.Amount = max(0,amo.Amount-takeamt);
return;
}
// re-add/drop any still loaded
int maxgiveamt = min(amo.MaxAmount-amo.Amount,invoker.clipcount);
int dropamt = invoker.clipcount-maxgiveamt;
if ( (dropamt > 0) && !sv_infiniteammo && !FindInventory('PowerInfiniteAmmo',true) ) amo.CreateTossable(dropamt);
amo.Amount = min(amo.MaxAmount,amo.Amount+invoker.clipcount);
// swap
invoker.clipcount = 0;
invoker.loadammo = invoker.nextammo;
invoker.clipcount = invoker.LoadedCapacity();
if ( !sv_infiniteammo && !FindInventory('PowerInfiniteAmmo',true) )
{
let namo = FindInventory(invoker.loadammo);
namo.Amount = max(0,namo.Amount-invoker.clipcount);
}
}
action void A_HellblazerReady()
{
static const Class<Ammo> types[] = {"HellblazerMissiles","HellblazerCrackshots","HellblazerRavagers","HellblazerWarheads"};
int flg = WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_ALLOWUSER1;
// can we fire?
bool canfire = (invoker.clipcount > 0);
for ( int i=0; i<4; i++ )
{
if ( CountInv(types[i]) <= 0 ) break;
canfire = true;
break;
}
if ( !canfire ) flg |= WRF_NOPRIMARY|WRF_NOSECONDARY;
A_WeaponReady(flg);
if ( player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK) )
invoker.CheckAmmo(EitherFire,true);
}
Default
{
Tag "$T_HELLBLAZER";
@ -21,6 +223,7 @@ Class Hellblazer : SWWMWeapon
Obituary "$O_HELLBLAZER";
Weapon.SlotNumber 6;
Weapon.SelectionOrder 1800;
Weapon.UpSound "hellblazer/select";
Stamina 90000;
Weapon.AmmoType1 "HellblazerMissiles";
Weapon.AmmoGive1 6;
@ -32,5 +235,359 @@ Class Hellblazer : SWWMWeapon
Spawn:
XZW1 A -1;
Stop;
Select:
XZW2 I 0
{
A_FullRaise();
return A_JumpByAmmoType("Select_1","Select_2","Select_3","Select_4","Select_G");
}
Select_1:
XZW2 IJKLMNOP 2;
Goto Ready_1;
Select_2:
XZW7 DEFGHIJK 2;
Goto Ready_2;
Select_3:
XZWC BCDEFGHI 2;
Goto Ready_3;
Select_4:
XZWG Z 2;
XZWH ABCDEFG 2;
Goto Ready_4;
Select_G:
XZWM ABCDEFGH 2;
Goto Ready_G;
Deselect:
XZW2 A 0
{
A_StartSound("hellblazer/deselect",CHAN_WEAPON,CHANF_OVERLAP);
return A_JumpByAmmoType("Deselect_1","Deselect_2","Deselect_3","Deselect_4","Deselect_G");
}
Deselect_1:
XZW2 ABCDEFGHI 2;
XZW2 I -1 A_FullLower();
Stop;
Deselect_2:
XZW6 VWXYZ 2;
XZW7 ABCD 2;
XZW7 I -1 A_FullLower();
Stop;
Deselect_3:
XZWB TUVWXYZ 2;
XZWC AB 2;
XZWC B -1 A_FullLower();
Stop;
Deselect_4:
XZWG RSTUVWXYZ 2;
XZWG Z -1 A_FullLower();
Stop;
Deselect_G:
XZWL STUVWXYZ 2;
XZWM A 2;
XZWM A 0;
Stop;
Ready:
XZW2 A 0 A_JumpByAmmoType("Ready_1","Ready_2","Ready_3","Ready_4","Ready_G");
Ready_1:
XZW2 A 1 A_HellblazerReady();
Wait;
Ready_2:
XZW6 V 1 A_HellblazerReady();
Wait;
Ready_3:
XZWB T 1 A_HellblazerReady();
Wait;
Ready_4:
XZWG R 1 A_HellblazerReady();
Wait;
Ready_G:
XZWL S 1;
Wait;
Fire:
XZW2 A 0
{
if ( invoker.clipcount <= 0 )
{
if ( CountInv(invoker.nextammo) <= 0 ) A_PickNextAmmo();
return A_JumpByAmmoType("Unload_1","Unload_2","Unload_3","Unload_4","Unload_G");
}
return A_JumpByAmmoType("Fire_1","Fire_2","Fire_3","Fire_4","Fire_G");
}
Fire_1:
XZW2 A 1 A_HellblazerFire(0);
XZW2 QRSTUVW 2;
Goto Cycle_1;
Fire_2:
XZW6 V 1 A_HellblazerFire(1);
XZW7 LMNOPQR 2;
Goto Cycle_2;
Fire_3:
XZWB T 1 A_HellblazerFire(2);
XZWC JKLMNOP 2;
Goto Cycle_3;
Fire_4:
XZWG R 1 A_HellblazerFire(3);
XZWH HIJKLMN 2;
Goto Cycle_4;
Fire_G:
XZWL S 1;
XZWM IJKLMNO 2;
Goto Ready_G; // state jump to cycling is done elsewhere
AltFire:
XZW2 A 0
{
if ( invoker.clipcount <= 0 )
{
if ( CountInv(invoker.nextammo) <= 0 ) A_PickNextAmmo();
return A_JumpByAmmoType("Unload_1","Unload_2","Unload_3","Unload_4","Unload_G");
}
return A_JumpByAmmoType("AltFire_1","AltFire_2","AltFire_3","AltFire_4","AltFire_G");
}
AltFire_1:
XZW2 A 1 A_HellblazerFire(0,true);
XZW2 XYZ 2;
XZW3 ABCD 2;
Goto Cycle_1;
AltFire_2:
XZW6 V 1 A_HellblazerFire(1,true);
XZW7 STUVWXY 2;
Goto Cycle_2;
AltFire_3:
XZWB T 1 A_HellblazerFire(2,true);
XZWC QRSTUVW 2;
Goto Cycle_3;
AltFire_4:
XZWG R 1 A_HellblazerFire(3,true);
XZWH OPQRSTU 2;
Goto Cycle_4;
AltFire_G:
XZWL S 1;
XZWM PQRSTUV 2;
Goto Ready_G; // state jump to cycling is done elsewhere
Cycle_1:
XZW2 A 3 A_GlassOverlay("Cycle_G1");
XZW3 E 3;
XZW3 FGHI 2;
XZW3 I 0;
XZW3 FE 3;
Goto Ready_1;
Cycle_2:
XZW6 V 3 A_GlassOverlay("Cycle_G2");
XZW7 Z 3;
XZW8 ABCDEFG 2;
XZW8 G 0;
XZW8 A 3;
XZW7 Z 3;
Goto Ready_2;
Cycle_3:
XZWB T 3 A_GlassOverlay("Cycle_G2");
XZWC X 3;
XZWC YZ 2;
XZWD ABCDE 2;
XZWD E 0;
XZWC YX 3;
Goto Ready_3;
Cycle_4:
XZWG R 3 A_GlassOverlay("Cycle_G3");
XZWH V 3;
XZWH WXYZ 2;
XZWI ABCDEF 2;
XZWI F 0;
XZWH WV 3;
Goto Ready_4;
Cycle_G1:
XZWL S 3 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWM W 3;
XZWM X 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZWM YZ 2;
XZWN A 2;
XZWN A 0 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWM XW 3;
Goto Ready_G;
Cycle_G2:
XZWL S 3 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWM W 3;
XZWN B 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZWN CD 2;
XZWN E 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZWN FGH 2;
XZWN H 0 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWN B 3;
XZWM W 3;
Goto Ready_G;
Cycle_G3:
XZWL S 3 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWM W 3;
XZWN I 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZWN JK 2;
XZWN L 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZWN MN 2;
XZWN O 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZWN PQR 2;
XZWN R 0 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWN I 3;
XZWM W 3;
Goto Ready_G;
Reload:
XZW2 A 2
{
if ( (invoker.clipcount >= invoker.LoadedCapacity()) && (invoker.loadammo == invoker.nextammo) )
return A_JumpByAmmoType("Idle_1","Idle_2","Idle_3","Idle_4","Idle_G");
return A_JumpByAmmoType("Unload_1","Unload_2","Unload_3","Unload_4","Unload_G");
}
Goto Ready;
Unload_1:
XZW2 A 2;
XZW3 JKLMNOPQRSTUVWXYZ 2;
XZW4 ABCDEFGHI 2;
XZW4 J 2
{
A_SwapAmmo();
return A_JumpByAmmoType("Load_1","Load_2","Load_3","Load_4","Load_G");
}
Goto Load_1;
Unload_2:
XZW6 V 2;
XZW8 HIJKLMNOPQRSTUVWXYZ 2;
XZW9 ABCDEFG 2;
XZW9 H 2
{
A_SwapAmmo();
return A_JumpByAmmoType("Load_1","Load_2","Load_3","Load_4","Load_G");
}
Goto Load_2;
Unload_3:
XZWB T 2;
XZWD FGHIJKLMNOPQRSTUVWXYZ 2;
XZWE ABCDE 2;
XZWE F 2
{
A_SwapAmmo();
return A_JumpByAmmoType("Load_1","Load_2","Load_3","Load_4","Load_G");
}
Goto Load_3;
Unload_4:
XZWG R 2;
XZWI GHIJKLMNOPQRSTUVWXYZ 2;
XZWJ ABCDEF 2;
XZWJ G 2
{
A_SwapAmmo();
return A_JumpByAmmoType("Load_1","Load_2","Load_3","Load_4","Load_G");
}
Goto Load_4;
Unload_G:
XZWL S 2 A_StartSound("hellblazer/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
XZWN STU 2;
XZWN V 2 A_StartSound("hellblazer/open",CHAN_WEAPON,CHANF_OVERLAP);
XZWN WXYZ 2;
XZWO ABCDEFGH 2;
XZWO I 2 A_StartSound("hellblazer/magout",CHAN_WEAPON,CHANF_OVERLAP);
XZWO JKLMNOPQRS 2;
Goto Load_G;
Load_1:
XZW4 JKLMNOPQRSTUVWXYZ 2;
XZW5 ABCDEFGHIJ 2;
Goto Ready_1;
Load_2:
XZW9 HIJKLMNOPQRSTUVWXYZ 2;
XZWA ABCDEFGH 2;
Goto Ready_2;
Load_3:
XZWE FGHIJKLMNOPQRSTUVWXYZ 2;
XZWF ABCDEF 2;
Goto Ready_3;
Load_4:
XZWJ GHIJKLMNOPQRSTUVWXYZ 2;
XZWK ABCDEFG 2;
Goto Ready_4;
Load_G:
XZWO STUVWXY 2;
XZWO Z 2 A_StartSound("hellblazer/magin",CHAN_WEAPON,CHANF_OVERLAP);
XZWP ABCDEFG 2;
XZWP H 2 A_StartSound("hellblazer/close",CHAN_WEAPON,CHANF_OVERLAP);
XZWP IJKL 2;
XZWP M 2 A_StartSound("hellblazer/meleestop",CHAN_WEAPON,CHANF_OVERLAP);
XZWP NOPQRS 2;
Goto Ready_G;
Idle_1:
XZW2 A 2;
XZW5 KLMNOPQRSTUVWXYZ 2;
XZW6 A 2;
Goto Ready_1;
Idle_2:
XZW6 V 2;
XZWA IJKLMNOPQRSTUVWXY 2;
Goto Ready_2;
Idle_3:
XZWB T 2;
XZWF GHIJKLMNOPQRSTUVW 2;
Goto Ready_3;
Idle_4:
XZWG R 2;
XZWK HIJKLMNOPQRSTUVWX 2;
Goto Ready_4;
Idle_G:
XZWL S 2 A_StartSound("hellblazer/idle",CHAN_WEAPON,CHANF_OVERLAP);
XZWP TUVWX 2;
XZWP Y 2 A_StartSound("hellblazer/dustoff",CHAN_WEAPON,CHANF_OVERLAP);
XZWP Z 2;
XZWQ ABCDEFGHIJ 2;
Goto Ready_G;
Zoom:
#### # 1
{
A_PickNextAmmo();
A_WeaponReady(WRF_NOFIRE);
}
#### # 1 A_ZoomHold();
Wait;
User1:
XZW2 A 0 A_JumpByAmmoType("User1_1","User1_2","User1_3","User1_4","User1_G");
User1_1:
XZW2 A 4;
XZW6 BCDE 3;
XZW6 FGH 1;
XZW6 IJK 2;
XZW6 LMNOPQRSTU 2;
Goto Ready_1;
User1_2:
XZW6 V 4;
XZWA Z 3;
XZWB ABC 3;
XZWB DEF 1;
XZWB GHI 2;
XZWB JKLMNOPQRS 2;
Goto Ready_2;
User1_3:
XZWB T 4;
XZWF XYZ 3;
XZWG A 3;
XZWG BCD 1;
XZWG EFG 2;
XZWG HIJKLMNOPQ 2;
Goto Ready_3;
User1_4:
XZWG R 4;
XZWK YZ 3;
XZWL AB 3;
XZWL CDE 1;
XZWL FGH 2;
XZWL IJKLMNOPQR 2;
Goto Ready_4;
User1_G:
XZWL S 4
{
A_StartSound("hellblazer/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
A_StartSound("demolitionist/wswing",CHAN_WEAPON,CHANF_OVERLAP);
}
XZWQ KLMN 3;
XZWQ OP 1;
XZWQ Q 1 A_Melee(75);
XZWQ RSTUV 2;
XZWQ W 2 A_StartSound("hellblazer/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZWQ XYZ 2;
XZWR ABCD 2;
Goto Ready_G;
}
}

View file

@ -64,6 +64,14 @@ Class SWWMUtility
return true;
return false;
}
// how the fuck is this not available to ZScript?
// copied from P_PointOnLineSidePrecise()
static int PointOnLineSide( Vector2 p, Line l )
{
if ( !l ) return 0;
return (((p.y-l.v1.p.y)*l.delta.x+(l.v1.p.x-p.x)*l.delta.y) > double.epsilon);
}
}
// Stats
@ -272,6 +280,8 @@ Class SWWMLoreLibrary : Thinker
text = "SWWM_LORETXT_HELL2"; // invasion was a thing of the past
else if ( text ~== "SWWM_LORETXT_NANA" )
text = "SWWM_LORETXT_NANA2"; // demo met nana
else if ( text ~== "SWWM_LORETXT_ZANAVETH3" )
text = "SWWM_LORETXT_ZANAVETH32"; // iagb happened
}
if ( gameinfo.gametype&GAME_Hexen )
{
@ -887,6 +897,17 @@ Class SWWMSmoke : Actor
}
}
Class SWWMHalfSmoke : SWWMSmoke
{
States
{
Spawn:
XSMK ACEGIKMOQS 1 A_SetTics(1+special1);
Stop;
}
}
Class SWWMSmallSmoke : SWWMSmoke
{
override void PostBeginPlay()

View file

@ -0,0 +1,2 @@
// TODO crimes_m dialogue system
// To be implemented once Strife support is a thing

View file

@ -168,7 +168,7 @@ Class EvisceratorChunk : Actor
else if ( BlockingLine )
{
HitNormal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
if ( !BlockingLine.sidedef[1] || (CurSector == BlockingLine.frontsector) )
if ( !SWWMUtility.PointOnLineSide(pos.xy,BlockingLine) )
HitNormal *= -1;
}
else if ( BlockingMobj )
@ -360,7 +360,7 @@ Class EvisceratorProj : Actor
else if ( BlockingLine )
{
spawnofs = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit()*4;
if ( !BlockingLine.sidedef[1] || (CurSector == BlockingLine.frontsector) )
if ( !SWWMUtility.PointOnLineSide(pos.xy,BlockingLine) )
spawnofs *= -1;
}
for ( int i=0; i<40; i++ )

View file

@ -895,7 +895,7 @@ Class SWWMStatusBar : BaseStatusBar
len = fnt.StringWidth(str);
xx = (ss.x-len)/2.;
yy = ss.y-48;
if ( (gametic%16) < 8 )
if ( ((demo.revivefail-level.maptime)%16) < 8 )
Screen.DrawText(fnt,Font.CR_RED,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
}
alph = clamp((demo.deadtimer-60)/60.,0.,1.);

View file

@ -181,7 +181,7 @@ Class PusherProjectile : Actor
else if ( BlockingLine )
{
HitNormal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
if ( !BlockingLine.sidedef[1] || (CurSector == BlockingLine.frontsector) )
if ( !SWWMUtility.PointOnLineSide(pos.xy,BlockingLine) )
HitNormal *= -1;
}
else if ( BlockingMobj )

View file

@ -9,7 +9,7 @@ Class OptionMenuItemSWWMVoiceOption : OptionMenuItemOptionBase
{
Super.Init(label,command,'',graycheck,center);
mCVar = CVar.FindCVar(mAction);
int lmp;
/*int lmp;
for ( lmp = Wads.FindLump("swwmvoicepack.txt"); lmp > 0; lmp = Wads.FindLump("swwmvoicepack.txt",lmp+1) )
{
Array<String> lst;
@ -21,7 +21,8 @@ Class OptionMenuItemSWWMVoiceOption : OptionMenuItemOptionBase
if ( (lst[i].Length() <= 0) || (lst[i].GetNextCodePoint(0) == 0) || (lst[i].Left(1) == "\n") || (lst[i].Left(1) == "#") ) continue;
types.Push(lst[i]);
}
}
}*/
types.Push("default");
return self;
}
@ -162,7 +163,7 @@ Class SWWMOptionMenu : OptionMenu
}
}
if ( !TewiFont ) TewiFont = Font.GetFont('Tewi');
if ( !MPlusFont ) MPlusFont = Font.GetFont('MPlus');
/*if ( !MPlusFont ) MPlusFont = Font.GetFont('MPlus');
if ( !lang ) lang = CVar.GetCVar('language',players[consoleplayer]);
Font fnt = TewiFont;
if ( lang.GetString() ~== "jp" ) fnt = MPlusFont;
@ -177,6 +178,6 @@ Class SWWMOptionMenu : OptionMenu
{
Screen.DrawText(fnt,Font.CR_WHITE,4*CleanXFac_1,ypos,lines.StringAt(i),DTA_CleanNoMove_1,true);
ypos += fnt.GetHeight()*CleanYFac_1;
}
}*/
}
}

View file

@ -982,7 +982,7 @@ Class Demolitionist : PlayerPawn
else if ( level.maptime > revivefail )
{
A_StartSound("menu/fail",CHAN_ITEM,CHANF_UI|CHANF_LOCAL);
revivefail = level.maptime+70;
revivefail = level.maptime+120;
}
}
}

View file

@ -1206,11 +1206,6 @@ Class CompanionLamp : Actor
if ( BlockingLine.flags&(Line.ML_BLOCKING|Line.ML_BLOCKEVERYTHING) ) return true;
return false;
}
private int WhichBlockingLineSide()
{
if ( !BlockingLine ) return 0;
return ((pos.y-BlockingLine.v1.p.y)*BlockingLine.delta.x+(BlockingLine.v1.p.x-pos.x)*BlockingLine.delta.y > double.epsilon);
}
override void Tick()
{
Super.Tick();
@ -1276,7 +1271,7 @@ Class CompanionLamp : Actor
{
// push away from wall
Vector3 normal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
if ( !WhichBlockingLineSide() ) normal *= -1;
if ( !SWWMUtility.PointOnLineSide(pos.xy,BlockingLine) ) normal *= -1;
vel += 4.*normal;
blocked = true;
}

View file

@ -409,7 +409,7 @@ Class DragonBreathArm : Actor
else if ( BlockingLine )
{
HitNormal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
if ( !BlockingLine.sidedef[1] || (CurSector == BlockingLine.frontsector) )
if ( !SWWMUtility.PointOnLineSide(pos.xy,BlockingLine) )
HitNormal *= -1;
}
else if ( BlockingMobj )
@ -924,7 +924,7 @@ Class OnFire : Actor
}
if ( !(i%2) )
{
let s = victim.Spawn("SWWMSmoke",pos);
let s = victim.Spawn("SWWMHalfSmoke",pos);
s.scale *= max(1.,1.6*mult);
s.alpha *= min(amount+30,100)*0.02;
s.vel = victim.vel*0.5+(cos(ang)*cos(pt),sin(ang)*cos(pt),-sin(pt))*FRandom[FlameT](.2,.6)*s.scale.x;
@ -1054,7 +1054,7 @@ Class OnFireTrail : Actor
}
if ( !Random[FlameT](0,int(40*(default.alpha-alpha))) && !((GetAge()+special1)%3) )
{
let s = Spawn("SWWMSmoke",pos);
let s = Spawn("SWWMHalfSmoke",pos);
s.vel = (FRandom[FlameT](-0.2,0.2),FRandom[FlameT](-0.2,0.2),FRandom[FlameT](-0.2,0.2));
s.vel += vel*0.3;
s.alpha *= alpha*4;
@ -1307,6 +1307,7 @@ Class TheBall : Actor
+BOUNCEONWALLS;
+BOUNCEONFLOORS;
+BOUNCEONCEILINGS;
+CANBOUNCEWATER;
+USEBOUNCESTATE;
+DONTBOUNCEONSKY;
+MISSILE;
@ -1454,13 +1455,9 @@ Class TheBall : Actor
else if ( BlockingLine )
{
HitNormal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
int wside = 1;
if ( !BlockingLine.sidedef[1] || (CurSector == BlockingLine.frontsector) )
{
wside = 0;
HitNormal *= -1;
}
if ( (oldvel.length() > 15) )
int wside = SWWMUtility.PointOnLineSide(pos.xy,BlockingLine);
if ( !wside ) HitNormal *= -1;
if ( (oldvel.length() > 15) && swwm_balluse )
{
int locknum = SWWMUtility.GetLineLock(BlockingLine);
// remotely activate unlocked lines (that aren't exits)
@ -1965,7 +1962,8 @@ Class Spreadgun : SWWMWeapon
else player.SetPSprite(PSP_WEAPON,invoker.FindState(firedstates[amidx]));
if ( !sv_infiniteammo && !FindInventory('PowerInfiniteAmmo',true) )
{
TakeInventory(invoker.nextammo,1);
let amo = FindInventory(invoker.nextammo);
if ( amo && (amo.Amount > 0) ) amo.Amount--;
}
A_Overlay(-9999,"LoadDummy");
}
@ -1979,7 +1977,16 @@ Class Spreadgun : SWWMWeapon
for ( int i=0; i<7; i++ )
{
if ( invoker.loadammo != types[i] ) continue;
if ( !GiveInventory(types[i],1) ) Spawn(types[i],Vec3Angle(5,angle,height/2));
let amo = FindInventory(types[i]);
if ( !amo )
{
amo = Inventory(Spawn(types[i]));
amo.AttachToOwner(self);
amo.Amount = 0;
}
if ( amo.Amount < amo.MaxAmount ) amo.Amount++;
else if ( !sv_infiniteammo && !FindInventory('PowerInfiniteAmmo',true) )
Spawn(types[i],Vec3Angle(5,angle,height/2));
break;
}
}

15
zscript/swwm_strife.zsc Normal file
View file

@ -0,0 +1,15 @@
// TODO Strife compatibility code
// TODO hijack vanilla dialogues and hook in crimes_m dialogue menu for them
Class SWWMConversationMenu : ConversationMenu
{
override int Init( StrifeDialogueNode CurNode, PlayerInfo player, int activereply )
{
return Super.Init(CurNode,player,activereply);
}
}
// TODO Sigil key item, replaces the drops from bosses
Class SWWMCompatSigil : Inventory
{
}

View file

@ -115,8 +115,8 @@ Class CandyBeam : Actor
Vector3 normal = -t.Results.HitVector, dir = t.Results.HitVector;
if ( t.Results.HitType == TRACE_HitWall )
{
normal = (t.Results.HitLine.delta.y,-t.Results.HitLine.delta.x,0).unit();
if ( t.Results.Side ) normal *= -1;
normal = (-t.Results.HitLine.delta.y,t.Results.HitLine.delta.x,0).unit();
if ( !t.Results.Side ) normal *= -1;
t.Results.HitLine.RemoteActivate(target,t.Results.Side,SPAC_Impact,t.Results.HitPos);
dir -= 2*normal*(dir dot normal);
}