From 45b8010edfdbf2f06fbe37ade742d198ca6434c5 Mon Sep 17 00:00:00 2001 From: JimKil3 <47290811+JimKil3@users.noreply.github.com> Date: Tue, 19 Sep 2023 14:18:59 -0400 Subject: [PATCH] Oblivion Enforcer Admin Loadout (#22348) * enforcer stuff * the outfit * henri review * Update code/game/gamemodes/wizard/wizloadouts.dm * Update code/datums/outfits/outfit_admin.dm --------- Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> --- code/datums/outfits/outfit_admin.dm | 39 +++++++++++++++++++++++ code/game/gamemodes/wizard/artefact.dm | 19 +++++++++++ code/game/gamemodes/wizard/wizloadouts.dm | 3 +- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm index 7d69c82ae3b..50d034ba23e 100644 --- a/code/datums/outfits/outfit_admin.dm +++ b/code/datums/outfits/outfit_admin.dm @@ -1395,3 +1395,42 @@ mask = /obj/item/clothing/mask/breath/vox belt = /obj/item/tank/internals/emergency_oxygen/double/vox box = /obj/item/storage/box/survival_vox + +/datum/outfit/admin/enforcer + name = "Oblivion Enforcer" + + uniform = /obj/item/clothing/under/color/white/enforcer + shoes = /obj/item/clothing/shoes/white/enforcer + back = /obj/item/storage/backpack/satchel + id = /obj/item/card/id/data + //The hood on this gets enabled on the after-equip proc. + suit = /obj/item/clothing/suit/hooded/oblivion + gloves = /obj/item/clothing/gloves/color/white/supermatter_immune + mask = /obj/item/clothing/mask/gas/voice_modulator/oblivion + l_ear = /obj/item/radio/headset + suit_store = /obj/item/supermatter_halberd + r_pocket = /obj/item/tank/internals/emergency_oxygen/double + box = /obj/item/storage/box/wizard + + //The spells that the enforcer has. + var/list/spell_paths = list(/obj/effect/proc_holder/spell/aoe/conjure/summon_supermatter, + /obj/effect/proc_holder/spell/charge_up/bounce/lightning, /obj/effect/proc_holder/spell/summonitem) + +/datum/outfit/admin/enforcer/post_equip(mob/living/carbon/human/H) + . = ..() + + ADD_TRAIT(H, SM_HALLUCINATION_IMMUNE, MAGIC_TRAIT) + + H.real_name = "Unknown" //Enforcers sacrifice their name to Oblivion for their power + + for(var/spell_path in spell_paths) + var/S = new spell_path + H.mind.AddSpell(S) + + var/obj/item/clothing/suit/hooded/oblivion/robes = H.wear_suit + if(istype(robes)) + robes.ToggleHood() + + var/obj/item/card/id/I = H.wear_id + if(istype(I)) + apply_to_card(I, H, get_all_accesses(), "Oblivion Enforcer") diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index ec45a9d8525..7977631e32c 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -920,3 +920,22 @@ GLOBAL_LIST_EMPTY(multiverse) "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/mask.dmi' ) + +/obj/item/clothing/shoes/white/enforcer + name = "hypernobilium weave shoes" + desc = "They're surprisingly comfortable and designed to fit under an Oblivion Enforcer's robes." + magical = TRUE + +/obj/item/clothing/shoes/white/enforcer/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_SUPERMATTER_IMMUNE, ROUNDSTART_TRAIT) + +/obj/item/clothing/under/color/white/enforcer + name = "hypernobilium weave jumpsuit" + desc = "A close-fitting, breathable jumpsuit, tailored for the dirty work of an Oblivion Enforcer." + has_sensor = FALSE + magical = TRUE + +/obj/item/clothing/under/color/white/enforcer/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_SUPERMATTER_IMMUNE, ROUNDSTART_TRAIT) diff --git a/code/game/gamemodes/wizard/wizloadouts.dm b/code/game/gamemodes/wizard/wizloadouts.dm index c306c4f1e8a..417806505bb 100644 --- a/code/game/gamemodes/wizard/wizloadouts.dm +++ b/code/game/gamemodes/wizard/wizloadouts.dm @@ -109,7 +109,8 @@ allow you to pick up and throw supermatter slivers, which your halberd can cut from the engine.
\ Provides a Supermatter Halberd, Oblivion Enforcer robes, and an air tank, as well as Instant Summons, Lightning Bolt, and Summon Supermatter Crystal." items_path = list(/obj/item/supermatter_halberd, /obj/item/clothing/gloves/color/white/supermatter_immune, \ - /obj/item/clothing/suit/hooded/oblivion, /obj/item/clothing/mask/gas/voice_modulator/oblivion, /obj/item/tank/internals/emergency_oxygen/double) + /obj/item/clothing/suit/hooded/oblivion, /obj/item/clothing/mask/gas/voice_modulator/oblivion, /obj/item/tank/internals/emergency_oxygen/double, \ + /obj/item/clothing/under/color/white/enforcer, /obj/item/clothing/shoes/white/enforcer) spells_path = list(/obj/effect/proc_holder/spell/summonitem, /obj/effect/proc_holder/spell/charge_up/bounce/lightning, \ /obj/effect/proc_holder/spell/aoe/conjure/summon_supermatter) category = "Unique"