From 87e3687bf2da3cde0cf85e6a0646baffc05133c0 Mon Sep 17 00:00:00 2001 From: spessbandit <55415991+spessbandit@users.noreply.github.com> Date: Mon, 7 Oct 2019 12:17:11 -0400 Subject: [PATCH] Adds custom arcade game text for Halloween and Christmas. (#46795) * Adds special arcade enemies for Halloween and Christmas. Moves arcade stuff to json file in preparation to add more eventually. * adds custom weaponry * fixes bug --- code/__DEFINES/misc.dm | 2 +- code/game/machinery/computer/arcade.dm | 29 +++- strings/arcade.json | 207 +++++++++++++++++++++++++ 3 files changed, 229 insertions(+), 9 deletions(-) create mode 100644 strings/arcade.json diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index f4e78300ef2..b1a4532ce30 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -393,7 +393,7 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE)) #define ION_FILE "ion_laws.json" #define PIRATE_NAMES_FILE "pirates.json" #define REDPILL_FILE "redpill.json" - +#define ARCADE_FILE "arcade.json" //Fullscreen overlay resolution in tiles. #define FULLSCREEN_OVERLAY_RESOLUTION_X 15 diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index a32f5999408..64b043c8ad7 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -137,19 +137,31 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( var/gameover = FALSE var/blocked = FALSE //Player cannot attack/heal while set var/turtle = 0 + var/list/weapons = list() /obj/machinery/computer/arcade/battle/Reset() var/name_action var/name_part1 var/name_part2 - name_action = pick("Defeat ", "Annihilate ", "Save ", "Strike ", "Stop ", "Destroy ", "Robust ", "Romance ", "Pwn ", "Own ", "Ban ") + if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) + name_action = pick_list(ARCADE_FILE, "rpg_action_halloween") + name_part1 = pick_list(ARCADE_FILE, "rpg_adjective_halloween") + name_part2 = pick_list(ARCADE_FILE, "rpg_enemy_halloween") + weapons = strings(ARCADE_FILE, "rpg_weapon_halloween") + else if(SSevents.holidays && SSevents.holidays[CHRISTMAS]) + name_action = pick_list(ARCADE_FILE, "rpg_action_xmas") + name_part1 = pick_list(ARCADE_FILE, "rpg_adjective_xmas") + name_part2 = pick_list(ARCADE_FILE, "rpg_enemy_xmas") + weapons = strings(ARCADE_FILE, "rpg_weapon_xmas") + else + name_action = pick_list(ARCADE_FILE, "rpg_action") + name_part1 = pick_list(ARCADE_FILE, "rpg_adjective") + name_part2 = pick_list(ARCADE_FILE, "rpg_enemy") + weapons = strings(ARCADE_FILE, "rpg_weapon") - name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Cuban ", "the Evil ", "the Dread King ", "the Space ", "Lord ", "the Great ", "Duke ", "General ") - name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon", "Uhangoid", "Vhakoid", "Peteoid", "slime", "Griefer", "ERPer", "Lizard Man", "Unicorn", "Bloopers") - - enemy_name = replacetext((name_part1 + name_part2), "the ", "") - name = (name_action + name_part1 + name_part2) + enemy_name = ("The " + name_part1 + " " + name_part2) + name = (name_action + " " + enemy_name) /obj/machinery/computer/arcade/battle/ui_interact(mob/user) . = ..() @@ -180,7 +192,8 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( if (href_list["attack"]) blocked = TRUE var/attackamt = rand(2,6) - temp = "You attack for [attackamt] damage!" + var/weapon = pick(weapons) + temp = "You attack with a [weapon] for [attackamt] damage!" playsound(loc, 'sound/arcade/hit.ogg', 50, TRUE, extrarange = -3, falloff = 10) updateUsrDialog() if(turtle > 0) @@ -209,7 +222,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( else if (href_list["charge"]) blocked = TRUE var/chargeamt = rand(4,7) - temp = "You regain [chargeamt] points" + temp = "You regain [chargeamt] points." playsound(loc, 'sound/arcade/mana.ogg', 50, TRUE, extrarange = -3, falloff = 10) player_mp += chargeamt if(turtle > 0) diff --git a/strings/arcade.json b/strings/arcade.json new file mode 100644 index 00000000000..ce8f4a8d290 --- /dev/null +++ b/strings/arcade.json @@ -0,0 +1,207 @@ +{ + "rpg_adjective": [ + "Anguished", + "Automatic", + "Cuban", + "Duke", + "Dread King", + "Evil", + "Farmer", + "General", + "Great", + "Griffing", + "Lord", + "Professor", + "Space" + ], + + "rpg_adjective_halloween": [ + "Bloodthirsty", + "Cadaverous", + "Chilling", + "Demented", + "Demonic", + "Deranged", + "Dread", + "Eldritch", + "Ghastly", + "Ghoulish", + "Grim", + "Gruesome", + "Hideous", + "Killer", + "Lurking", + "Macabre", + "Machete-Wielding", + "Maggoty", + "Malevolent", + "Maniacal", + "Morbid", + "Phantasmic", + "Possessed", + "Putrefying", + "Spooky", + "Repulsive", + "Terrifying", + "Undead" + ], + + "rpg_adjective_xmas": [ + "Bleak Midwinter", + "Blustery", + "Frostbitten", + "Jolly", + "Icy", + "Naughty", + "Snowbound", + "Tinselly", + "Yuletide" + ], + + "rpg_action": [ + "Annihilate", + "Ban", + "Defeat", + "Destroy", + "Mutilate", + "Own", + "Pwn", + "Pulverize", + "Robust", + "Romance", + "Save", + "Stop", + "Strike", + "Valid", + "Yeet" + ], + + "rpg_action_halloween": [ + "Amputate", + "Behead", + "Beware", + "Butcher", + "Dismember", + "Exorcise", + "Frighten", + "Horrify", + "Scare", + "Scythe", + "Slay", + "Spook", + "Vanquish" + ], + + "rpg_action_xmas": [ + "Freeze", + "Jingle", + "Nutcrack", + "Regift", + "Stuff", + "Unwrap", + "Wassail" + ], + + "rpg_enemy": [ + "Administrator", + "Bloopers", + "Crushulon", + "Ectoplasm", + "ERPer", + "Felinid", + "Griefer", + "Kobold", + "Lizard Man", + "Mecha-Gondola", + "Peteoid", + "Slime", + "Syndie", + "Uhangoid", + "Unicorn", + "Tunnel Clown", + "Vhakoid" + ], + + "rpg_enemy_halloween": [ + "Artificer", + "Banshee", + "Bogeyman", + "Chimera", + "Clown", + "Corpse", + "Cryptid", + "Dullahan", + "Gibdo", + "Goblin King", + "Graverobber", + "Headless Horseman", + "Juggernaut", + "Necromancer", + "Poltergeist", + "Reaper", + "Shoggoth", + "Skeleton", + "Tarantula", + "Tomato", + "Vampire", + "Wendigo", + "Werewolf", + "Wraith", + "Zombie" + ], + + "rpg_enemy_xmas": [ + "Abominable Snowman", + "Der Klown", + "Elf", + "Festivus Pole", + "Ghost of Your Future", + "Grinch", + "Krampus", + "Little Drummer Boy", + "Scrooge", + "Stalking Stocking", + "Yeti", + "Yuki-Onna" + ], + + "rpg_weapon": [ + "baseball bat", + "bike horn", + "broken bottle", + "chef's knife", + "claymore", + "crowbar", + "curator's whip", + "fire axe", + "fire extinguisher", + "full oxygen tank", + "glass shard", + "liz o' nine tails", + "null rod", + "potted plant", + "rolling pin", + "screwdriver", + "stunprod", + "toolbox" + ], + + "rpg_weapon_halloween": [ + "chainsaw", + "lit jack-o-lantern", + "machete", + "silver dagger", + "skeleton femur", + "wooden stake" + ], + + "rpg_weapon_xmas": [ + "box cutter", + "Christmas-light garrotte", + "sharpened icicle", + "sprig of mistletoe", + "thrown snowball", + "whole Christmas tree" + ] + +}