mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 05:00:55 +01:00
Transferred body eggs to new organs system
This commit is contained in:
@@ -400,6 +400,7 @@ var/list/TYPES_SHORTCUTS = list(
|
||||
/obj/machinery/portable_atmospherics = "PORT_ATMOS",
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/missile_rack = "MECHA_MISSILE_RACK",
|
||||
/obj/item/mecha_parts/mecha_equipment = "MECHA_EQUIP",
|
||||
/obj/item/organ/internal = "ORGAN_INT",
|
||||
)
|
||||
|
||||
var/global/list/g_fancy_list_of_types = null
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
/client/proc/manipulate_organs(mob/living/carbon/C in world)
|
||||
set name = "Manipulate Organs"
|
||||
set category = "Debug"
|
||||
var/operation = input("Select organ operation.", "Organ Manipulation", "cancel") in list("add organ", "add implant", "drop organ/implant", "remove organ/implant", "cancel")
|
||||
|
||||
var/list/organs = list()
|
||||
switch(operation)
|
||||
if("add organ")
|
||||
for(var/path in typesof(/obj/item/organ/internal) - /obj/item/organ/internal)
|
||||
var/dat = replacetext("[path]", "/obj/item/organ/internal/", ":")
|
||||
organs[dat] = path
|
||||
|
||||
var/obj/item/organ/internal/organ = input("Select organ type:", "Organ Manipulation", null) in organs
|
||||
organ = organs[organ]
|
||||
organ = new organ
|
||||
organ.Insert(C)
|
||||
|
||||
if("add implant")
|
||||
for(var/path in typesof(/obj/item/weapon/implant) - /obj/item/weapon/implant)
|
||||
var/dat = replacetext("[path]", "/obj/item/weapon/implant/", ":")
|
||||
organs[dat] = path
|
||||
|
||||
var/obj/item/weapon/implant/organ = input("Select implant type:", "Organ Manipulation", null) in organs
|
||||
organ = organs[organ]
|
||||
organ = new organ
|
||||
organ.implant(C)
|
||||
|
||||
if("drop organ/implant", "remove organ/implant")
|
||||
for(var/obj/item/organ/internal/I in C.internal_organs)
|
||||
organs["[I] ([I.type])"] = I
|
||||
|
||||
for(var/obj/item/weapon/implant/I in C)
|
||||
organs["[I] ([I.type])"] = I
|
||||
|
||||
var/obj/item/organ = input("Select organ/implant:", "Organ Manipulation", null) in organs
|
||||
organ = organs[organ]
|
||||
if(!organ) return
|
||||
var/obj/item/organ/internal/O
|
||||
var/obj/item/weapon/implant/I
|
||||
|
||||
if(isorgan(organ))
|
||||
O = organ
|
||||
O.Remove(C)
|
||||
else
|
||||
I = organ
|
||||
I.removed(C)
|
||||
|
||||
organ.loc = get_turf(C)
|
||||
|
||||
if(operation == "remove organ/implant")
|
||||
qdel(organ)
|
||||
else if(I) // Put the implant in case.
|
||||
var/obj/item/weapon/implantcase/case = new(get_turf(C))
|
||||
case.imp = I
|
||||
I.loc = case
|
||||
@@ -159,6 +159,8 @@ var/intercom_range_display_status = 0
|
||||
src.verbs += /client/proc/print_pointers
|
||||
src.verbs += /client/proc/count_movable_instances
|
||||
src.verbs += /client/proc/cmd_show_at_list
|
||||
src.verbs += /client/proc/cmd_show_at_list
|
||||
src.verbs += /client/proc/manipulate_organs
|
||||
//src.verbs += /client/proc/cmd_admin_rejuvenate
|
||||
|
||||
feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
Reference in New Issue
Block a user