mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 20:57:23 +01:00
[MIRROR] Mime care package (#12773)
Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
co-authored by
Guti
Cameron Lennox
parent
fef241645b
commit
1128c0cd18
@@ -0,0 +1,28 @@
|
||||
/datum/spell/aoe_turf/conjure/invisible_box
|
||||
name = "Invisible box"
|
||||
desc = "The mime's performance transmutates a box into physical reality."
|
||||
cast_sound = null
|
||||
charge_max = 30 SECONDS
|
||||
duration = 50 SECONDS
|
||||
charge_max = 300
|
||||
override_base = "grey"
|
||||
hud_state = "box"
|
||||
school = "mime"
|
||||
|
||||
/datum/spell/aoe_turf/conjure/invisible_box/cast(list/targets, mob/user)
|
||||
if(!HAS_MIND_TRAIT(user, TRAIT_MIMING))
|
||||
to_chat(user, "Your performance is not good enough!")
|
||||
return
|
||||
|
||||
var/obj/item/storage/box/mime/mimebox = new /obj/item/storage/box/mime(get_turf(user))
|
||||
user.put_in_any_hand_if_possible(mimebox)
|
||||
mimebox.alpha = 255
|
||||
addtimer(CALLBACK(src, PROC_REF(cleanup_box), mimebox), duration)
|
||||
|
||||
/datum/spell/aoe_turf/conjure/invisible_box/proc/cleanup_box(obj/item/storage/box/box)
|
||||
if(QDELETED(box) || !istype(box))
|
||||
return
|
||||
|
||||
for(var/obj/thing in box)
|
||||
thing.forceMove(get_turf(thing))
|
||||
qdel(box)
|
||||
@@ -0,0 +1,23 @@
|
||||
/datum/spell/aoe_turf/conjure/invisible_chair
|
||||
name = "Invisible chair"
|
||||
desc = "The mime's performance transmutates a chair into physical reality."
|
||||
invocation_type = SpI_EMOTE
|
||||
invocation = "pulls out an invisible chair and sits down."
|
||||
charge_max = 30 SECONDS
|
||||
cast_sound = null
|
||||
duration = 25 SECONDS
|
||||
override_base = "grey"
|
||||
hud_state = "chair"
|
||||
school = "mime"
|
||||
|
||||
/datum/spell/aoe_turf/conjure/invisible_chair/cast(list/targets, mob/user)
|
||||
if(!HAS_MIND_TRAIT(user, TRAIT_MIMING))
|
||||
to_chat(user, "Your performance is not good enough!")
|
||||
return
|
||||
|
||||
var/obj/structure/bed/chair/mime/chair = new /obj/structure/bed/chair/mime(get_turf(user))
|
||||
chair.set_dir(user.dir)
|
||||
chair.buckle_mob(user)
|
||||
|
||||
if(duration)
|
||||
QDEL_IN(chair, duration)
|
||||
@@ -441,3 +441,28 @@
|
||||
..()
|
||||
to_chat(user, span_warning("[src] suddenly feels very warm!"))
|
||||
empulse(src, 1, 1, 1, 1)
|
||||
|
||||
/obj/item/spellbook/oneuse/mime
|
||||
name = "Guide to Mimery Vol 0"
|
||||
desc = "The missing entry into the legendary saga. Unfortunately it doesn't teach you anything."
|
||||
icon_state ="bookmime"
|
||||
|
||||
/obj/item/spellbook/oneuse/mime/mimery
|
||||
name = "Guide to Dank Mimery"
|
||||
desc = "Teaches three classic pantomime routines, allowing a practiced mime to conjure invisible objects into corporeal existence. One use only."
|
||||
spell = /datum/spell/aoe_turf/conjure/forcewall/mime
|
||||
spellname = ""
|
||||
|
||||
/obj/item/spellbook/oneuse/mime/mimery/onlearned(mob/user)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/human = user
|
||||
var/datum/spell/chair = new /datum/spell/aoe_turf/conjure/invisible_chair
|
||||
var/datum/spell/box = new /datum/spell/aoe_turf/conjure/invisible_box
|
||||
human.add_spell(chair)
|
||||
human.add_spell(box)
|
||||
var/datum/action/innate/vow_of_silence/vow = locate() in human.actions
|
||||
if(!vow && human.mind)
|
||||
vow = new(human.mind)
|
||||
vow.Grant(human)
|
||||
to_chat(user, span_warning("The book disappears into thin air."))
|
||||
qdel(src)
|
||||
|
||||
Reference in New Issue
Block a user