[MIRROR] Allows admins to spawn mob-like objects for shenanigans (#5825)

* Allows admins to spawn mob-like objects for shenanigans (#36153)

This is basically extracting the functionality of the animation spell into an admin verb.

Please excuse the browser.dm code, this is more of a stepping stone towards the more complicated popup needed for custom ERTs.

cl Naksu
admin: Admins can now easily spawn mobs that look like objects. Googly eyes optional!
/cl

* Allows admins to spawn mob-like objects for shenanigans
This commit is contained in:
CitadelStationBot
2018-03-06 04:04:12 -06:00
committed by Poojawa
parent 811b188742
commit d95be2e261
5 changed files with 162 additions and 4 deletions
@@ -101,15 +101,19 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
var/destroy_objects = 0
var/knockdown_people = 0
var/static/mutable_appearance/googly_eyes = mutable_appearance('icons/mob/mob.dmi', "googly_eyes")
var/overlay_googly_eyes = TRUE
var/idledamage = TRUE
gold_core_spawnable = NO_SPAWN
/mob/living/simple_animal/hostile/mimic/copy/Initialize(mapload, obj/copy, mob/living/creator, destroy_original = 0)
/mob/living/simple_animal/hostile/mimic/copy/Initialize(mapload, obj/copy, mob/living/creator, destroy_original = 0, no_googlies = FALSE)
. = ..()
if (no_googlies)
overlay_googly_eyes = FALSE
CopyObject(copy, creator, destroy_original)
/mob/living/simple_animal/hostile/mimic/copy/Life()
..()
if(!target && !ckey) //Objects eventually revert to normal if no one is around to terrorize
if(idledamage && !target && !ckey) //Objects eventually revert to normal if no one is around to terrorize
adjustBruteLoss(1)
for(var/mob/living/M in contents) //a fix for animated statues from the flesh to stone spell
death()
@@ -143,7 +147,8 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
icon_state = O.icon_state
icon_living = icon_state
copy_overlays(O)
add_overlay(googly_eyes)
if (overlay_googly_eyes)
add_overlay(googly_eyes)
if(isstructure(O) || ismachinery(O))
health = (anchored * 50) + 50
destroy_objects = 1