From 2c74e287a940961145b219b0a6b4b3acf0ad09e6 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 13 Sep 2008 19:19:53 +0000 Subject: [PATCH] - Prefixed all names of CQ decorations with Chex after seeing some conflicts with PWADs. - Removed Chex Quest actors that were just unaltered duplicates of Doom's. - Added detection for Chex Quest 3 IWAD. - Cleaned up M_QuitGame because the code was almost incomprehensible and I wanted to add CQ3's new quit messages. - Added Chex Quest obituaries and a few other messages from CQ3. - Fixed: drawbar improperly clipped images when not in the top left quadrant. SVN r1219 (trunk) --- docs/rh-log.txt | 8 ++ src/d_main.cpp | 20 +++ src/d_main.h | 1 + src/g_shared/sbarinfo_display.cpp | 22 ++++ src/gi.cpp | 32 +++++ src/gstrings.h | 4 +- src/m_menu.cpp | 26 ++-- wadsrc/static/actors/chex/chexdecorations.txt | 117 ++++-------------- wadsrc/static/actors/chex/chexitems.txt | 1 + wadsrc/static/actors/chex/chexmonsters.txt | 6 + wadsrc/static/actors/chex/chexplayer.txt | 1 + wadsrc/static/actors/chex/chexweapons.txt | 66 +++++++++- wadsrc/static/language.enu | 39 ++++-- 13 files changed, 226 insertions(+), 117 deletions(-) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 70c62191f..875725ccd 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,12 @@ September 13, 2008 (Changes by Graf Zahl) +- Prefixed all names of CQ decorations with Chex after seeing some conflicts + with PWADs. +- Removed Chex Quest actors that were just unaltered duplicates of Doom's. +- Added detection for Chex Quest 3 IWAD. +- Cleaned up M_QuitGame because the code was almost incomprehensible and I + wanted to add CQ3's new quit messages. +- Added Chex Quest obituaries and a few other messages from CQ3. +- Fixed: drawbar improperly clipped images when not in the top left quadrant. - Fixed: Crouching no longer worked due to a bug introduced by the player input code. diff --git a/src/d_main.cpp b/src/d_main.cpp index 03f919aa1..791ee9cad 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -148,6 +148,7 @@ extern gameinfo_t StrifeGameInfo; extern gameinfo_t StrifeTeaserGameInfo; extern gameinfo_t StrifeTeaser2GameInfo; extern gameinfo_t ChexGameInfo; +extern gameinfo_t Chex3GameInfo; extern gameinfo_t PlutoniaGameInfo; extern gameinfo_t TNTGameInfo; @@ -234,6 +235,7 @@ const IWADInfo IWADInfos[NUM_IWAD_TYPES] = { "Freedoom \"Demo\"", "Freedoom1",MAKERGB(50,84,67), MAKERGB(198,220,209) }, { "FreeDM", "FreeDM", MAKERGB(50,84,67), MAKERGB(198,220,209) }, { "Chex(R) Quest", "Chex", MAKERGB(255,255,0), MAKERGB(0,192,0) }, + { "Chex(R) Quest 3", "Chex3", MAKERGB(255,255,0), MAKERGB(0,192,0) }, }; // PRIVATE DATA DEFINITIONS ------------------------------------------------ @@ -263,6 +265,7 @@ static const char *IWADNames[] = "freedoom1.wad", "freedm.wad", "chex.wad", + "chex3.wad", #ifdef unix "DOOM2.WAD", // Also look for all-uppercase names "PLUTONIA.WAD", @@ -281,6 +284,7 @@ static const char *IWADNames[] = "FREEDOOM1.WAD", "FREEDM.WAD", "CHEX.WAD", + "CHEX3.WAD", #endif NULL }; @@ -1360,6 +1364,7 @@ static void SetIWAD (const char *iwadpath, EIWADType type) { shareware, &SharewareGameInfo, doom }, // FreeDoom1 { commercial, &CommercialGameInfo, doom2 }, // FreeDM { registered, &ChexGameInfo, doom }, // Chex Quest + { registered, &Chex3GameInfo, doom }, // Chex Quest 3 }; D_AddFile (iwadpath); @@ -1406,6 +1411,9 @@ static EIWADType ScanIWAD (const char *iwad) { 'F','R','E','E','D','O','O','M' }, "W94_1", { 'P','O','S','S','H','0','M','0' }, + "CYCLA1", + "FLMBA1", + "MAPINFO", "E2M1","E2M2","E2M3","E2M4","E2M5","E2M6","E2M7","E2M8","E2M9", "E3M1","E3M2","E3M3","E3M4","E3M5","E3M6","E3M7","E3M8","E3M9", "DPHOOF","BFGGA0","HEADA1","CYBRA1", @@ -1430,6 +1438,9 @@ static EIWADType ScanIWAD (const char *iwad) Check_FreeDoom, Check_W94_1, Check_POSSH0M0, + Check_Cycla1, + Check_Flmba1, + Check_Mapinfo, Check_e2m1 }; int lumpsfound[NUM_CHECKLUMPS]; @@ -1543,6 +1554,15 @@ static EIWADType ScanIWAD (const char *iwad) } } } + else if (lumpsfound[Check_Cycla1] && lumpsfound[Check_Flmba1]) + { + if (!lumpsfound[Check_Mapinfo]) + { + // The original release won't work without its hacked custom EXE. + I_FatalError("Found an incompatible version of Chex Quest 3"); + } + return IWAD_ChexQuest3; + } else { for (i = Check_e2m1; i < NUM_CHECKLUMPS; i++) diff --git a/src/d_main.h b/src/d_main.h index a3532faf5..3a3094dcc 100644 --- a/src/d_main.h +++ b/src/d_main.h @@ -75,6 +75,7 @@ enum EIWADType IWAD_FreeDoom1, IWAD_FreeDM, IWAD_ChexQuest, + IWAD_ChexQuest3, NUM_IWAD_TYPES }; diff --git a/src/g_shared/sbarinfo_display.cpp b/src/g_shared/sbarinfo_display.cpp index 8f4e74de5..fc5e598ac 100644 --- a/src/g_shared/sbarinfo_display.cpp +++ b/src/g_shared/sbarinfo_display.cpp @@ -63,6 +63,7 @@ static FRandom pr_chainwiggle; //use the same method of chain wiggling as hereti EXTERN_CVAR(Int, fraglimit) EXTERN_CVAR(Int, screenblocks) EXTERN_CVAR(Bool, vid_fps) +EXTERN_CVAR(Bool, hud_scale) enum { @@ -989,6 +990,27 @@ void DSBarInfo::doCommands(SBarInfoBlock &block, int xOffset, int yOffset, int a } cr = cx + cw; } + // Fix the clipping for fullscreenoffsets. + if(block.fullScreenOffsets && y < 0) + { + cy = hud_scale ? SCREENHEIGHT + (cy*CleanYfac) : SCREENHEIGHT + cy; + cb = hud_scale ? SCREENHEIGHT + (cb*CleanYfac) : SCREENHEIGHT + cb; + } + else if(block.fullScreenOffsets && hud_scale) + { + cy *= CleanYfac; + cb *= CleanYfac; + } + if(block.fullScreenOffsets && x < 0) + { + cx = hud_scale ? SCREENWIDTH + (cx*CleanXfac) : SCREENWIDTH + cx; + cr = hud_scale ? SCREENWIDTH + (cr*CleanXfac) : SCREENWIDTH + cr; + } + else if(block.fullScreenOffsets && hud_scale) + { + cx *= CleanXfac; + cr *= CleanXfac; + } // Draw background if(cmd.special3 != 0) diff --git a/src/gi.cpp b/src/gi.cpp index 3740254f4..088c1a693 100644 --- a/src/gi.cpp +++ b/src/gi.cpp @@ -294,6 +294,38 @@ gameinfo_t ChexGameInfo = MAKERGB(95,175,87), }; +gameinfo_t Chex3GameInfo = +{ + GI_CHEX_QUEST, + "TITLEPIC", + "ENDPIC", + "VICTORY2", + "D_INTRO", + 5, + 0, + 200/35, + "misc/chat2", + "D_VICTOR", + "ENDPIC01", + "CREDIT", + "CREDIT", + "ENDPIC", + { { "HELP1", "CREDIT" } }, + "menu/quit1", + 2, + "FLOOR7_2", + &DoomBorder, + 0, + GAME_Chex, + 100, + "F_SKY1", + 24*FRACUNIT, + "xlat/doom.txt", + { "mapinfo/chex.txt", NULL }, + MAKERGB(63,125,57), + MAKERGB(95,175,87), +}; + gameinfo_t RetailGameInfo = { GI_MENUHACK_RETAIL, diff --git a/src/gstrings.h b/src/gstrings.h index 5abbea9e1..41e37dbc5 100644 --- a/src/gstrings.h +++ b/src/gstrings.h @@ -43,9 +43,9 @@ extern FStringTable GStrings; // QuitGame messages -#define NUM_QUITDOOMMESSAGES 15 +#define NUM_QUITDOOMMESSAGES 14 #define NUM_QUITSTRIFEMESSAGES 8 -#define NUM_QUITCHEXMESSAGES 2 +#define NUM_QUITCHEXMESSAGES 7 extern const char *endmsg[]; diff --git a/src/m_menu.cpp b/src/m_menu.cpp index 7b5e0693f..7261f396b 100644 --- a/src/m_menu.cpp +++ b/src/m_menu.cpp @@ -1995,21 +1995,27 @@ void M_QuitResponse(int ch) void M_QuitGame (int choice) { - // We pick index 0 which is language sensitive, - // or one at random, between 1 and maximum number. if (gameinfo.gametype & (GAME_DoomStrifeChex)) { int quitmsg = 0; if (gameinfo.gametype == GAME_Doom) - quitmsg = gametic % NUM_QUITDOOMMESSAGES; - else if (gameinfo.gametype == GAME_Strife) - quitmsg = gametic % NUM_QUITSTRIFEMESSAGES - 1; - else //Chex quest has 2 messages but one is more likely to show - quitmsg = (gametic % NUM_QUITCHEXMESSAGES + 6) > NUM_QUITCHEXMESSAGES ? NUM_QUITCHEXMESSAGES - 1 : (gametic % NUM_QUITCHEXMESSAGES + 6); - - if (quitmsg != 0 || gameinfo.gametype == GAME_Strife || gameinfo.gametype == GAME_Chex) { - EndString.Format("QUITMSG%d", quitmsg + (gameinfo.gametype == GAME_Doom ? 0 : (gameinfo.gametype == GAME_Chex ? NUM_QUITDOOMMESSAGES + NUM_QUITSTRIFEMESSAGES : NUM_QUITDOOMMESSAGES + 1))); + quitmsg = gametic % (NUM_QUITDOOMMESSAGES + 1); + } + else if (gameinfo.gametype == GAME_Strife) + { + quitmsg = gametic % (NUM_QUITSTRIFEMESSAGES + 1); + if (quitmsg != 0) quitmsg += NUM_QUITDOOMMESSAGES; + } + else + { + quitmsg = gametic % (NUM_QUITCHEXMESSAGES + 1); + if (quitmsg != 0) quitmsg += NUM_QUITDOOMMESSAGES + NUM_QUITSTRIFEMESSAGES; + } + + if (quitmsg != 0) + { + EndString.Format("QUITMSG%d", quitmsg); EndString.Format("%s\n\n%s", GStrings(EndString), GStrings("DOSY")); } else diff --git a/wadsrc/static/actors/chex/chexdecorations.txt b/wadsrc/static/actors/chex/chexdecorations.txt index 877df883e..29b0099c1 100644 --- a/wadsrc/static/actors/chex/chexdecorations.txt +++ b/wadsrc/static/actors/chex/chexdecorations.txt @@ -2,48 +2,33 @@ // Civilians ------------------------------------------------------------------ -actor Civilian1 : GreenTorch 45 +actor ChexCivilian1 : GreenTorch 45 { game Chex height 54 } -actor Civilian2 : ShortGreenTorch 56 +actor ChexCivilian2 : ShortGreenTorch 56 { game Chex height 54 } -actor Civilian3 : ShortRedTorch 57 +actor ChexCivilian3 : ShortRedTorch 57 { game Chex height 48 } -actor DeadChexWarrior : DeadMarine 15 -{ - game Chex -} - -actor DeadChexWarrior2 : GibbedMarine 10 -{ - game Chex -} - -actor DeadChexWarrior3 : GibbedMarineExtra 12 -{ - game Chex -} - // Landing Zone --------------------------------------------------------------- -actor LandingLight : Column 2028 +actor ChexLandingLight : Column 2028 { game Chex height 35 } -actor Spaceship : TechPillar 48 +actor ChexSpaceship : TechPillar 48 { game Chex height 52 @@ -51,61 +36,37 @@ actor Spaceship : TechPillar 48 // Trees and Plants ----------------------------------------------------------- -actor AppleTree : Stalagtite 47 +actor ChexAppleTree : Stalagtite 47 { game Chex height 92 } -actor BananaTree : BigTree 54 +actor ChexBananaTree : BigTree 54 { game Chex height 108 } -actor HangingFlowerPot : Meat2 50 -{ - game Chex -} - -actor HangingFlowerPot2 : Meat3 51 -{ - game Chex -} - -actor HangingFlowerPotNonSolid : HangingFlowerPot 59 -{ - game Chex - -SOLID - radius 20 -} - -actor HangingFlowerPot2NonSolid : HangingFlowerPot2 61 -{ - game Chex - -SOLID - radius 20 -} - -actor OrangeTree : TorchTree 43 +actor ChexOrangeTree : TorchTree 43 { game Chex height 92 } -actor SubmergedPlant : ShortGreenColumn 31 +actor ChexSubmergedPlant : ShortGreenColumn 31 { game Chex height 42 } -actor TallFlower : HeadsOnAStick 28 +actor ChexTallFlower : HeadsOnAStick 28 { game Chex height 25 } -actor TallFlower2 : DeadStick 25 +actor ChexTallFlower2 : DeadStick 25 { game Chex height 25 @@ -113,92 +74,66 @@ actor TallFlower2 : DeadStick 25 // Slime Fountain ------------------------------------------------------------- -actor SlimeFountain : BlueTorch 44 +actor ChexSlimeFountain : BlueTorch 44 { game Chex height 48 + States + { + Spawn: + TBLU ABCD 4 + Loop + } } // Cavern Decorations --------------------------------------------------------- -actor CavernBat : BloodyTwitch 49 -{ - game Chex - height 52 -} - -actor CavernBatNonSolid : CavernBat 63 -{ - game Chex - -SOLID - radius 20 -} - -actor CavernColumn : TallRedColumn 32 +actor ChexCavernColumn : TallRedColumn 32 { game Chex height 128 } -actor CavernStalactite : Meat5 53 -{ - game Chex - height 48 -} - -actor CavernStalagmite : TallGreenColumn 30 +actor ChexCavernStalagmite : TallGreenColumn 30 { game Chex height 60 } -actor NonSolidCavernStalactite : CavernStalactite 62 -{ - game Chex - -SOLID - radius 20 -} - // Misc. Props ---------------------------------------------------------------- -actor ChemicalBurner : EvilEye 41 +actor ChexChemicalBurner : EvilEye 41 { game Chex height 25 } -actor ChemicalFlask : Candlestick 34 +actor ChexChemicalFlask : Candlestick 34 { game Chex renderstyle translucent alpha 0.75 } -// Who's idea was it to put an invisible thing on E1M4? -actor DeadCycloptisCommonus : DeadDemon 21 -{ - game Chex -} - -actor FlagOnPole : SkullColumn 37 +actor ChexFlagOnPole : SkullColumn 37 { game Chex height 128 } -actor GasTank : Candelabra 35 +actor ChexGasTank : Candelabra 35 { game Chex height 36 } -actor LightColumn : ShortBlueTorch 55 +actor ChexLightColumn : ShortBlueTorch 55 { game Chex height 86 } -actor MineCart : ShortRedColumn 33 +actor ChexMineCart : ShortRedColumn 33 { game Chex height 30 diff --git a/wadsrc/static/actors/chex/chexitems.txt b/wadsrc/static/actors/chex/chexitems.txt index 0247672c0..bbdc68dea 100644 --- a/wadsrc/static/actors/chex/chexitems.txt +++ b/wadsrc/static/actors/chex/chexitems.txt @@ -53,6 +53,7 @@ actor SuperChexArmor : BlueArmor 2019 actor ComputerAreaMap : Allmap 2026 { game Chex + inventory.pickupmessage "$GOTCHEXMAP" } actor SlimeProofSuit : RadSuit 2025 diff --git a/wadsrc/static/actors/chex/chexmonsters.txt b/wadsrc/static/actors/chex/chexmonsters.txt index 3ee9f43f7..3941e8eb9 100644 --- a/wadsrc/static/actors/chex/chexmonsters.txt +++ b/wadsrc/static/actors/chex/chexmonsters.txt @@ -9,6 +9,7 @@ actor FlemoidusCommonus : ZombieMan 3004 { Game Chex DropItem "" + Obituary "$OB_COMMONUS" States { Missile: @@ -28,6 +29,7 @@ actor FlemoidusBipedicus : ShotgunGuy 9 { Game Chex DropItem "" + Obituary "$OB_BIPEDICUS" States { Missile: @@ -46,6 +48,8 @@ actor FlemoidusBipedicus : ShotgunGuy 9 actor ArmoredFlemoidusBipedicus : DoomImp 3001 { Game Chex + Obituary "$OB_BIPEDICUS2" + HitObituary "$OB_BIPEDICUS2" } //=========================================================================== @@ -57,6 +61,7 @@ actor ArmoredFlemoidusBipedicus : DoomImp 3001 actor FlemoidusCycloptisCommonus : Demon 3002 { Game Chex + Obituary "$OB_CYCLOPTIS" } //=========================================================================== @@ -71,6 +76,7 @@ actor Flembrane : BaronOfHell 3003 radius 44 height 100 speed 0 + Obituary "$OB_FLEMBRANE" States { Missile: diff --git a/wadsrc/static/actors/chex/chexplayer.txt b/wadsrc/static/actors/chex/chexplayer.txt index d9e654f4e..894e5cfc2 100644 --- a/wadsrc/static/actors/chex/chexplayer.txt +++ b/wadsrc/static/actors/chex/chexplayer.txt @@ -8,4 +8,5 @@ actor ChexPlayer : DoomPlayer player.startitem "MiniZorcher" player.startitem "Bootspoon" player.startitem "MiniZorchRecharge", 50 + player.damagescreencolor "60 b0 58" } diff --git a/wadsrc/static/actors/chex/chexweapons.txt b/wadsrc/static/actors/chex/chexweapons.txt index b3b183cdc..5c5458aa6 100644 --- a/wadsrc/static/actors/chex/chexweapons.txt +++ b/wadsrc/static/actors/chex/chexweapons.txt @@ -3,20 +3,20 @@ actor Bootspoon : Fist { game Chex - obituary "" + obituary "$OB_MPSPOON" } actor SuperBootspork : Chainsaw 2005 { game Chex - obituary "" + obituary "$OB_MPBOOTSPORK" Inventory.PickupMessage "$GOTSUPERBOOTSPORK" } actor MiniZorcher : Pistol { game Chex - obituary "" + obituary "$OP_MPZORCH" inventory.pickupmessage "$GOTMINIZORCHER" states { @@ -28,21 +28,21 @@ actor MiniZorcher : Pistol actor LargeZorcher : Shotgun 2001 { game Chex - obituary "" + obituary "$OP_MPZORCH" inventory.pickupmessage "$GOTLARGEZORCHER" } actor SuperLargeZorcher : SuperShotgun 82 { game Chex - obituary "" + obituary "$OB_MPMEGAZORCH" inventory.pickupmessage "$GOTSUPERLARGEZORCHER" } actor RapidZorcher : Chaingun 2002 { game Chex - obituary "" + obituary "$OB_MPRAPIDZORCH" inventory.pickupmessage "$GOTRAPIDZORCHER" } @@ -51,18 +51,72 @@ actor ZorchPropulsor : RocketLauncher 2003 game Chex obituary "" inventory.pickupmessage "$GOTZORCHPROPULSOR" + States + { + Fire: + MISG B 8 A_GunFlash + MISG B 12 A_FireCustomMissile("PropulsorMissile") + MISG B 0 A_ReFire + Goto Ready + } } +actor PropulsorMissile : Rocket +{ + -ROCKETTRAIL + -DEHEXPLOSION + RenderStyle Translucent + Obituary "$OB_MPPROPULSOR" + Alpha 0.75 +} + actor PhasingZorcher : PlasmaRifle 2004 { game Chex obituary "" inventory.pickupmessage "$GOTPHASINGZORCHER" + states + { + Fire: + PLSG A 0 A_GunFlash + PLSG A 3 A_FireCustomMissile("PhaseZorchMissile") + PLSG B 20 A_ReFire + Goto Ready + Flash: + PLSF A 0 A_Jump(128, 2) + PLSF A 4 Bright A_Light1 + Goto LightDone + PLSF B 4 Bright A_Light1 + Goto LightDone + } } +actor PhaseZorchMissile : PlasmaBall +{ + RenderStyle Translucent + Obituary "$OB_MPPHASEZORCH" + Alpha 0.75 +} + actor LAZDevice : BFG9000 2006 { game Chex obituary "" inventory.pickupmessage "$GOTLAZDEVICE" + states + { + Fire: + BFGG A 20 A_BFGsound + BFGG B 10 A_GunFlash + BFGG B 10 A_FireCustomMissile("LAZBall") + BFGG B 20 A_ReFire + Goto Ready + } +} + +actor LAZBall : BFGBall +{ + RenderStyle Translucent + Obituary "$OB_MPLAZ_BOOM" + Alpha 0.75 } diff --git a/wadsrc/static/language.enu b/wadsrc/static/language.enu index 04744dc8f..6ed7c0327 100644 --- a/wadsrc/static/language.enu +++ b/wadsrc/static/language.enu @@ -38,8 +38,13 @@ QUITMSG21 = "you can quit...\nbut you can't hide..."; QUITMSG22 = "whaaa, what's the matter?\nmommy says dinnertime?"; // Quit Chex messages -QUITMSG23 = "Don't give up now...do\nyou still wish to quit?"; -QUITMSG24 = "please don't leave, we\nneed your help!"; //7 times as likely to show +QUITMSG23 = "Don't quit now, there are still\nflemoids on the loose!"; +QUITMSG24 = "Don't give up -- the flemoids will\nget the upper hand!"; +QUITMSG25 = "Don't leave now.\nWe need your help!"; +QUITMSG26 = "I hope you're just taking a\nbreak for Chex(R) party mix."; +QUITMSG27 = "Don't quit now!\nWe need your help!"; +QUITMSG28 = "Don't abandon the\nIntergalactic Federation of Cereals!"; +QUITMSG29 = "The real Chex(R) Warrior\nwouldn't give up so fast!"; LOADNET = "you can't do load while in a net game!\n\npress a key."; QLOADNET = "you can't quickload during a netgame!\n\npress a key."; @@ -685,8 +690,6 @@ OB_TEMPLAR = "%o was vaporized by a Templar."; OB_REAVERHIT = "%o was sliced open by a Reaver."; OB_REAVER = "%o was shot down by a Reaver."; - - OB_MPFIST = "%o chewed on %k's fist."; OB_MPCHAINSAW = "%o was mowed over by %k's chainsaw."; OB_MPPISTOL = "%o was tickled by %k's pea shooter."; @@ -1351,9 +1354,11 @@ GOTCBLUEKEY = "Picked up a blue key."; GOTCYELLOWKEY = "Picked up a yellow key."; GOTCREDKEY = "Picked up a red key."; GOTFRUIT = "Picked up a bowl of fruit."; -GOTVEGETABLESNEED = "Picked up some needed vegetables!"; +GOTVEGETABLESNEED = "Vegetables are REALLY good for you!"; GOTVEGETABLES = "Picked up a bowl of vegetables."; -GOTSLIMESUIT = "Slimeproof Suit"; +GOTSLIMESUIT = "Found a Slime-Proof Suit"; +GOTCHEXMAP = "Found a Computer Area Map"; + GOTZORCHRECHARGE = "Picked up a mini zorch recharge."; GOTMINIZORCHPACK = "Picked up a mini zorch pack."; GOTPROPULSORRECHARGE = "Picked up a zorch propulsor recharge."; @@ -1363,13 +1368,14 @@ GOTPHASINGZORCHERPACK = "Picked up a phasing zorcher pack."; GOTLARGEZORCHERRECHARGE = "Picked up a large zorcher recharge."; GOTLARGEZORCHERPACK = "Picked up a large zorcher pack."; GOTZORCHPACK = "Picked up a Zorchpak!"; -GOTLAZDEVICE = "You got the LAZ Device!"; + +GOTLAZDEVICE = "You got the LAZ Device! Woot!"; GOTRAPIDZORCHER = "You got the Rapid Zorcher!"; GOTSUPERBOOTSPORK = "You got the Super Bootspork!"; GOTZORCHPROPULSOR = "You got the Zorch Propulsor!"; GOTPHASINGZORCHER = "You got the Phasing Zorcher!"; GOTLARGEZORCHER = "You got the Large Zorcher!"; -GOTSUPERLARGEZORCHER = "You got the Super Large Zorcher!"; +GOTSUPERLARGEZORCHER = "You got the Mega Zorcher!"; GOTMINIZORCHER = "Picked up a Mini Zorcher."; STSTR_CDQDON = "Invincible Mode ON"; @@ -1377,3 +1383,20 @@ STSTR_CDQDOFF = "Invincible Mode OFF"; STSTR_CFAADDED = "Zorch Added"; STSTR_CKFAADDED = "Super Zorch Added"; STSTR_CCHOPPERS = "... Eat Chex(R)!"; + +OB_COMMONUS = "%o was slimed by a flemoid."; +OB_BIPEDICUS = "%o was slimed by a bipedicus."; +OB_BIPEDICUS2 = "%o was slimed by an armored bipedicus."; +OB_CYCLOPTIS = "%o was slimed by a cycloptis."; +OB_FLEMBRANE = "%o was defeated by the Flembrane."; + +OB_MPSPOON = "%o was spoon fed by %k."; +OB_MPBOOTSPORK = "%o was thouroughly mixed with %k's bootspork."; +OB_MPZORCH = "%o was zorched by %k."; +OB_MPMEGAZORCH = "%o was hit by %k's mega-zorcher."; +OB_MPRAPIDZORCH = "%o was rapid zorched by %k."; +OB_MPPROPULSOR = "%o was zorched by %k's propulsor."; +OB_MPP_SPLASH = "%o was hit by %k's propulsor."; +OB_MPPHASEZORCH = "%o was phase zorched by %k."; +OB_MPLAZ_BOOM = "%o fell prey to %k's LAZ device."; +OB_MPLAZ_SPLASH = "%o was lazzed by %k.";