Allows admin test dummies to spawn with custom outfit and appearance (#31074)

* Allows admin test dummies to spawn with custom item

* Fix

* Fix

* Fix

* Seperating this out

* Tweaks

* Tweaks

* Tweaks

* Tweaks

* Order fix

* Alert box now

* Rearranging

Co-authored-by: kanef <kanef9x@protonmail.com>
This commit is contained in:
kane-f
2021-10-16 08:46:42 +01:00
committed by GitHub
parent 5c2eed6ff3
commit 4462ab5c9d
2 changed files with 36 additions and 2 deletions

View File

@@ -784,6 +784,7 @@ var/global/floorIsLava = 0
if(check_rights(R_FUN,0))
dat += {"
<A href='?src=\ref[src];secretsfun=spawnselfdummy'>Spawn yourself as a Test Dummy</A><BR>
<A href='?src=\ref[src];secretsfun=spawnselfdummyoutfit'>Spawn yourself as a Test Dummy with a Custom Outfit</A><BR>
<BR>
<BR>
"}

View File

@@ -3936,8 +3936,6 @@
if("spawnselfdummy")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","TD")
message_admins("[key_name_admin(usr)] spawned himself as a Test Dummy.")
log_admin("[key_name_admin(usr)] spawned himself as a Test Dummy.")
var/newname = ""
newname = copytext(sanitize(input("Before you step out as an embodied god, what name do you wish for?", "Choose your name.", "Admin") as null|text),1,MAX_NAME_LEN)
if (!newname)
@@ -3955,6 +3953,41 @@
T.turf_animation('icons/effects/96x96.dmi',"beamin",-WORLD_ICON_SIZE,0,MOB_LAYER+1,'sound/misc/adminspawn.ogg',anim_plane = MOB_PLANE)
D.name = newname
D.real_name = newname
message_admins("[key_name_admin(usr)] spawned themself as a Test Dummy.")
log_admin("[key_name_admin(usr)] spawned themself as a Test Dummy.")
usr.client.cmd_assume_direct_control(D)
if("spawnselfdummyoutfit")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","TDO")
var/newname = ""
newname = copytext(sanitize(input("Before you step out as an embodied god, what name do you wish for?", "Choose your name.", "Admin") as null|text),1,MAX_NAME_LEN)
if (!newname)
newname = "Admin"
var/choice = alert("Edit appearance on spawn?", "Admin", "Yes", "No")
var/list/outfits = (typesof(/datum/outfit/) - /datum/outfit/ - /datum/outfit/striketeam/)
var/outfit_type = input(usr,"Outfit Type","Equip Outfit","") as null|anything in outfits
if(!outfit_type || !ispath(outfit_type))
return
var/turf/T = get_turf(usr)
var/mob/living/carbon/human/dummy/D = new /mob/living/carbon/human/dummy(T)
var/obj/item/weapon/card/id/admin/admin_id = new(D)
admin_id.registered_name = newname
var/datum/outfit/concrete_outfit = new outfit_type
concrete_outfit.equip(D, TRUE)
var/obj/item/I = D.get_item_by_slot(slot_wear_id)
qdel(I)
var/obj/item/IT = D.get_item_by_slot(slot_ears)
qdel(IT)
D.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(D), slot_ears)
D.equip_to_slot_or_del(admin_id, slot_wear_id)
T.turf_animation('icons/effects/96x96.dmi',"beamin",-WORLD_ICON_SIZE,0,MOB_LAYER+1,'sound/misc/adminspawn.ogg',anim_plane = MOB_PLANE)
D.name = newname
D.real_name = newname
if(choice == "Yes")
D.pick_gender(usr)
D.pick_appearance(usr)
message_admins("[key_name_admin(usr)] spawned themself as a Test Dummy wearing \a [concrete_outfit.outfit_name] outfit.")
log_admin("[key_name_admin(usr)] spawned themself as a Test Dummy wearing \a [concrete_outfit.outfit_name] outfit.")
usr.client.cmd_assume_direct_control(D)
//False flags and bait below. May cause mild hilarity or extreme pain. Now in one button