diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 96bca3607d7..bba752ea6bb 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -145,7 +145,7 @@ proc/wabbajack(mob/living/M) var/mob/living/new_mob - var/randomize = pick("monkey","robot","slime","xeno","human","animal") + var/randomize = pick("monkey","robot","slime","xeno","human","beast","helpless animal") switch(randomize) if("monkey") new_mob = new /mob/living/carbon/monkey(M.loc) @@ -176,24 +176,29 @@ proc/wabbajack(mob/living/M) if("Drone") new_mob = new /mob/living/carbon/alien/humanoid/drone(M.loc) else new_mob = new /mob/living/carbon/alien/larva(M.loc) new_mob.universal_speak = 1*/ - if("animal") - var/animal = pick("parrot","corgi","crab","pug","cat","carp","bear","mushroom","tomato","mouse","chicken","cow","lizard","chick") + if("beast") + var/beast = pick("carp","bear","mushroom","statue") + switch(beast) + if("carp") new_mob = new /mob/living/simple_animal/hostile/carp(M.loc) + if("bear") new_mob = new /mob/living/simple_animal/hostile/bear(M.loc) + if("mushroom") new_mob = new /mob/living/simple_animal/hostile/mushroom(M.loc) + if("statue") new_mob = new /mob/living/simple_animal/hostile/statue(M.loc) + new_mob.universal_speak = 1 + if("helpless animal") + var/animal = pick("parrot","corgi","crab","pug","cat","tomato","mouse","chicken","cow","lizard","chick") switch(animal) if("parrot") new_mob = new /mob/living/simple_animal/parrot(M.loc) if("corgi") new_mob = new /mob/living/simple_animal/corgi(M.loc) if("crab") new_mob = new /mob/living/simple_animal/crab(M.loc) // if("pug") new_mob = new /mob/living/simple_animal/pug(M.loc) if("cat") new_mob = new /mob/living/simple_animal/cat(M.loc) - if("carp") new_mob = new /mob/living/simple_animal/hostile/carp(M.loc) - if("bear") new_mob = new /mob/living/simple_animal/hostile/bear(M.loc) - if("mushroom") new_mob = new /mob/living/simple_animal/hostile/mushroom(M.loc) if("tomato") new_mob = new /mob/living/simple_animal/tomato(M.loc) if("mouse") new_mob = new /mob/living/simple_animal/mouse(M.loc) if("chicken") new_mob = new /mob/living/simple_animal/chicken(M.loc) if("cow") new_mob = new /mob/living/simple_animal/cow(M.loc) if("lizard") new_mob = new /mob/living/simple_animal/lizard(M.loc) else new_mob = new /mob/living/simple_animal/chick(M.loc) - new_mob.universal_speak = 1 + new_mob.universal_speak = 1 if("human") new_mob = new /mob/living/carbon/human/human(M.loc) @@ -233,8 +238,20 @@ proc/wabbajack(mob/living/M) /obj/item/projectile/magic/animate/Bump(var/atom/change) . = ..() if(istype(change, /obj/item) || istype(change, /obj/structure) && !is_type_in_list(change, protected_objects)) - var/obj/O = change - new /mob/living/simple_animal/hostile/mimic/copy(O.loc, O, firer) + if(istype(change, /obj/structure/closet/statue)) + for(var/mob/living/carbon/human/H in change.contents) + var/mob/living/simple_animal/hostile/statue/S = new /mob/living/simple_animal/hostile/statue(change.loc) + S.name = "statue of [H.name]" + S.faction = "\ref[firer]" + S.icon = change.icon + if(H.mind) + H.mind.transfer_to(S) + S << "You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [firer.name], your creator." + del(H) + del(change) + else + var/obj/O = change + new /mob/living/simple_animal/hostile/mimic/copy(O.loc, O, firer) else if(istype(change, /mob/living/simple_animal/hostile/mimic/copy)) // Change our allegiance! var/mob/living/simple_animal/hostile/mimic/copy/C = change