mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-07 06:48:44 +00:00
## About The Pull Request Adds a new wizard event - Magical Rain This selects a random reagent from a curtailed list that is rained down on the station. The only safe spaces are in maintenance and containers like lockers. Of course the wizard is not directly affected by the reagent, although side effects may still apply. For example, if it is raining lube, it will cause turfs to get slippery which can slip the wizard. You can also collect the rain in containers, which might be funny or useful depending on what it is. (Alcoholics love booze rain) I did have to trim down the list of reagents since there are over +700 and most of them do nothing to mobs/turfs when they `TOUCH`. The list is ~50 reagents that are: ```dm // most medicine do nothing when it comes into contact with turfs or mobs (via TOUCH) except for a few var/list/allowed_medicine = list( /datum/reagent/medicine/c2/synthflesh, /datum/reagent/medicine/adminordrazine, /datum/reagent/medicine/strange_reagent, // include a random medicine pick(subtypesof(/datum/reagent/medicine)), ) GLOB.wizard_rain_reagents |= allowed_medicine // One randomized type is allowed so the whitelist isn't spammed with subtypes GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/glitter)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/carpet)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/mutationtoxin)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/plantnutriment)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/uranium)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/luminescent_fluid)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/impurity)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent/drug)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/water)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/fuel)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/colorful_reagent)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/ants)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/lube)) GLOB.wizard_rain_reagents |= pick(typesof(/datum/reagent/space_cleaner)) // lots of toxins do nothing so we need to be picky var/list/allowed_toxins = list( /datum/reagent/toxin/itching_powder, /datum/reagent/toxin/polonium, // radiation /datum/reagent/toxin/mutagen, // all the acids /datum/reagent/toxin/acid, /datum/reagent/toxin/acid/fluacid, /datum/reagent/toxin/acid/nitracid, // include a random toxin pick(subtypesof(/datum/reagent/toxin)), ) GLOB.wizard_rain_reagents |= allowed_toxins // too many food & drinks so blacklist most of them var/list/allowed_food_drinks = list( /datum/reagent/consumable/ethanol/wizz_fizz, /datum/reagent/consumable/condensedcapsaicin, /datum/reagent/consumable/frostoil, // include a random food or drink pick(subtypesof(/datum/reagent/consumable)), // include a random regular drink (vodka, wine, beer, etc.) pick(/obj/machinery/chem_dispenser/drinks/beer::beer_dispensable_reagents), ) GLOB.wizard_rain_reagents |= allowed_food_drinks var/list/allowed_exotic_reagents = list( // fire /datum/reagent/clf3, /datum/reagent/phlogiston, /datum/reagent/napalm, // cosmetic /datum/reagent/hair_dye, /datum/reagent/barbers_aid, /datum/reagent/baldium, /datum/reagent/mulligan, /datum/reagent/growthserum, // op shit /datum/reagent/romerol, /datum/reagent/gondola_mutation_toxin, /datum/reagent/metalgen, /datum/reagent/flightpotion, /datum/reagent/eigenstate, /datum/reagent/magillitis, /datum/reagent/pax, /datum/reagent/gluttonytoxin, /datum/reagent/aslimetoxin, // misc /datum/reagent/blood, /datum/reagent/hauntium, /datum/reagent/copper, ) GLOB.wizard_rain_reagents |= allowed_exotic_reagents // add a few randomized reagents not listed above so they at least have a chance GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent)) GLOB.wizard_rain_reagents |= pick(subtypesof(/datum/reagent)) ``` ## Why It's Good For The Game More interesting effects for weather. The wizard events are always supposed to be silly and wacky, so having stuff like raining ants or booze is hilarious. Several OP chems are included like napalm, strange reagent, and flight potion which can lead to some chaos. ## Changelog 🆑 add: Add wizard magical rain event. A random reagent is selected to rain down across the station. The only places to escape are in maintenance and inside containers such as lockers. The wizard is not directly affected by the reagent, but the side effects might still apply. (ie. raining lube, will make the floors slippery, which can slip the wizard) /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com>