Adds two Fun verbs for admins

- Mass Zombie Infection - gives all humans a zombie infection organ to
all humans, which will make them reanimate on death.

- Polymorph All - This applies a bolt of change to all living mobs.
Slightly laggy.
This commit is contained in:
Jack Edge
2016-06-02 00:29:56 +01:00
parent 9db2f57f36
commit a35a0d3306
2 changed files with 63 additions and 1 deletions
+3 -1
View File
@@ -94,7 +94,9 @@ var/list/admin_verbs_fun = list(
/client/proc/forceEvent,
/client/proc/bluespace_artillery,
/client/proc/admin_change_sec_level,
/client/proc/toggle_nuke
/client/proc/toggle_nuke,
/client/proc/mass_zombie_infection,
/client/proc/polymorph_all
)
var/list/admin_verbs_spawn = list(
/datum/admins/proc/spawn_atom, /*allows us to spawn instances*/
+60
View File
@@ -992,3 +992,63 @@ var/list/datum/outfit/custom_outfits = list() //Admin created outfits
for(var/obj/machinery/shuttle_manipulator/M in machines)
M.ui_interact(usr)
/client/proc/mass_zombie_infection()
set category = "Fun"
set name = "Mass Zombie Infection"
set desc = "Infects all humans with a latent organ that will zombify \
them on death."
if(!holder)
return
var/confirm = alert(src, "Please confirm you want to add latent zombie organs in all humans?", "Confirm Zombies", "Yes", "No")
if(confirm != "Yes")
return
for(var/mob/living/carbon/human/H in mob_list)
new /obj/item/organ/body_egg/zombie_infection(H)
message_admins("[key_name_admin(usr)] added a latent zombie infection to all humans.")
log_admin("[key_name(usr)] added a latent zombie infection to all humans.")
feedback_add_details("admin_verb","MZI")
/client/proc/polymorph_all()
set category = "Fun"
set name = "Polymorph All"
set desc = "Applies the effects of the bolt of change to every single mob."
if(!holder)
return
var/confirm = alert(src, "Please confirm you want polymorph all mobs?", "Confirm Polymorph", "Yes", "No")
if(confirm != "Yes")
return
var/keep_name = alert(src, "Do you want mobs to retain their names?", "Keep The Names?", "Yes", "No")
var/list/mobs = shuffle(living_mob_list.Copy()) // might change while iterating
var/who_did_it = key_name_admin(usr)
spawn(5) // let other things clear this tick
for(var/mob/living/M in mobs)
CHECK_TICK
if(!M || !M.name || !M.real_name)
continue
M.audible_message("<span class='italics'>...wabbajack...wabbajack...</span>")
playsound(M.loc, 'sound/magic/Staff_Change.ogg', 50, 1, -1)
var/name = M.name
var/real_name = M.real_name
var/mob/living/new_mob = wabbajack(M)
if(keep_name == "Yes" && new_mob)
new_mob.name = name
new_mob.real_name = real_name
message_admins("Mass polymorph started by [who_did_it] is complete.")
message_admins("[key_name_admin(usr)] started polymorphed all living mobs.")
log_admin("[key_name(usr)] polymorphed all living mobs.")
feedback_add_details("admin_verb","MASSWABBAJACK")