mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
[MIRROR] Refactors monkeys into a species (#2379)
* Refactors monkeys into a species * aaa Co-authored-by: Qustinnus <Floydje123@hotmail.com> Co-authored-by: Azarak <azarak10@gmail.com>
This commit is contained in:
co-authored by
Qustinnus
Azarak
parent
898121f9cd
commit
d7f054b035
@@ -9,7 +9,7 @@
|
||||
/datum/surgery_step/fold_cortex,
|
||||
/datum/surgery_step/close)
|
||||
possible_locs = list(BODY_ZONE_HEAD)
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
bioware_target = BIOWARE_CORTEX
|
||||
|
||||
/datum/surgery/advanced/bioware/cortex_folding/can_start(mob/user, mob/living/carbon/target)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/datum/surgery_step/imprint_cortex,
|
||||
/datum/surgery_step/close)
|
||||
possible_locs = list(BODY_ZONE_HEAD)
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
bioware_target = BIOWARE_CORTEX
|
||||
|
||||
/datum/surgery/advanced/bioware/cortex_imprint/can_start(mob/user, mob/living/carbon/target)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/datum/surgery_step/lobotomize,
|
||||
/datum/surgery_step/close)
|
||||
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_HEAD)
|
||||
requires_bodypart_type = 0
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/datum/surgery_step/pacify,
|
||||
/datum/surgery_step/close)
|
||||
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_HEAD)
|
||||
requires_bodypart_type = 0
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/datum/surgery_step/viral_bond,
|
||||
/datum/surgery_step/close)
|
||||
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
|
||||
/datum/surgery/advanced/viral_bonding/can_start(mob/user, mob/living/carbon/target)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/datum/surgery/amputation
|
||||
name = "Amputation"
|
||||
steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/saw, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/sever_limb)
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD)
|
||||
requires_bodypart_type = 0
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/datum/surgery_step/filter_blood,
|
||||
/datum/surgery_step/close)
|
||||
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
requires_bodypart_type = TRUE
|
||||
ignore_clothes = FALSE
|
||||
|
||||
@@ -1017,3 +1017,12 @@
|
||||
QDEL_NULL(current_gauze)
|
||||
SEND_SIGNAL(src, COMSIG_BODYPART_GAUZE_DESTROYED)
|
||||
*/
|
||||
|
||||
|
||||
///Proc to turn bodypart into another.
|
||||
/obj/item/bodypart/proc/change_bodypart(obj/item/bodypart/new_type)
|
||||
var/mob/living/carbon/our_owner = owner //dropping nulls the limb
|
||||
drop_limb(TRUE)
|
||||
var/obj/item/bodypart/new_part = new new_type()
|
||||
new_part.attach_limb(our_owner, TRUE)
|
||||
qdel(src)
|
||||
|
||||
@@ -143,21 +143,11 @@
|
||||
L.change_bodypart_status(BODYPART_ROBOTIC)
|
||||
. = L
|
||||
|
||||
/mob/living/carbon/monkey/newBodyPart(zone, robotic, fixed_icon)
|
||||
/mob/living/carbon/human/newBodyPart(zone, robotic, fixed_icon)
|
||||
var/obj/item/bodypart/L
|
||||
switch(zone)
|
||||
if(BODY_ZONE_L_ARM)
|
||||
L = new /obj/item/bodypart/l_arm/monkey()
|
||||
if(BODY_ZONE_R_ARM)
|
||||
L = new /obj/item/bodypart/r_arm/monkey()
|
||||
if(BODY_ZONE_HEAD)
|
||||
L = new /obj/item/bodypart/head/monkey()
|
||||
if(BODY_ZONE_L_LEG)
|
||||
L = new /obj/item/bodypart/l_leg/monkey()
|
||||
if(BODY_ZONE_R_LEG)
|
||||
L = new /obj/item/bodypart/r_leg/monkey()
|
||||
if(BODY_ZONE_CHEST)
|
||||
L = new /obj/item/bodypart/chest/monkey()
|
||||
var/datum/species/species = dna.species
|
||||
var/obj/item/bodypart/selected_type = species.bodypart_overides[zone]
|
||||
L = new selected_type()
|
||||
if(L)
|
||||
L.update_limb(fixed_icon, src)
|
||||
if(robotic)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/datum/surgery_step/fix_brain,
|
||||
/datum/surgery_step/close)
|
||||
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_HEAD)
|
||||
requires_bodypart_type = 0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/surgery/cavity_implant
|
||||
name = "Cavity implant"
|
||||
steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/incise, /datum/surgery_step/handle_cavity, /datum/surgery_step/close)
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/surgery/eye_surgery
|
||||
name = "Eye surgery"
|
||||
steps = list(/datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/fix_eyes, /datum/surgery_step/close)
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_PRECISE_EYES)
|
||||
requires_bodypart_type = 0
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/datum/surgery/gastrectomy
|
||||
name = "Gastrectomy"
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
requires_real_bodypart = TRUE
|
||||
steps = list(/datum/surgery_step/incise,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/datum/surgery/hepatectomy
|
||||
name = "Hepatectomy"
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
requires_real_bodypart = TRUE
|
||||
steps = list(/datum/surgery_step/incise,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/surgery/implant_removal
|
||||
name = "Implant removal"
|
||||
steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/extract_implant, /datum/surgery_step/close)
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
|
||||
|
||||
/datum/surgery_step/replace_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
if(NOAUGMENTS in target.dna.species.species_traits)
|
||||
to_chat(user, "<span class='warning'>[target] cannot be augmented!</span>")
|
||||
return -1
|
||||
if(istype(tool, /obj/item/organ_storage) && istype(tool.contents[1], /obj/item/bodypart))
|
||||
tool = tool.contents[1]
|
||||
var/obj/item/bodypart/aug = tool
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/datum/surgery/organ_manipulation
|
||||
name = "Organ manipulation"
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD)
|
||||
requires_real_bodypart = 1
|
||||
steps = list(
|
||||
|
||||
@@ -85,3 +85,28 @@
|
||||
new_tail.spines = spines
|
||||
*/
|
||||
//SKYRAT EDIT REMOVAL END
|
||||
|
||||
/obj/item/organ/tail/monkey
|
||||
name = "monkey tail"
|
||||
desc = "A severed monkey tail. Does not look like a banana."
|
||||
tail_type = "Monkey"
|
||||
icon_state = "severedmonkeytail"
|
||||
|
||||
//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION
|
||||
/*
|
||||
/obj/item/organ/tail/monkey/Insert(mob/living/carbon/human/H, special = 0, drop_if_replaced = TRUE)
|
||||
..()
|
||||
if(istype(H))
|
||||
if(!("tail_monkey" in H.dna.species.mutant_bodyparts))
|
||||
H.dna.species.mutant_bodyparts |= "tail_monkey"
|
||||
H.dna.features["tail_monkey"] = tail_type
|
||||
H.update_body()
|
||||
|
||||
/obj/item/organ/tail/monkey/Remove(mob/living/carbon/human/H, special = 0)
|
||||
..()
|
||||
if(istype(H))
|
||||
H.dna.features["tail_monkey"] = "None"
|
||||
H.dna.species.mutant_bodyparts -= "tail_monkey"
|
||||
H.update_body()
|
||||
*/
|
||||
//SKYRAT EDIT REMOVAL END
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/surgery/prosthetic_replacement
|
||||
name = "Prosthetic replacement"
|
||||
steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/add_prosthetic)
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD)
|
||||
requires_bodypart = FALSE //need a missing limb
|
||||
requires_bodypart_type = 0
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/datum/surgery_step/revive,
|
||||
/datum/surgery_step/close)
|
||||
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_HEAD)
|
||||
requires_bodypart_type = 0
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/datum/surgery_step/stomach_pump,
|
||||
/datum/surgery_step/close)
|
||||
|
||||
target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
|
||||
target_mobtypes = list(/mob/living/carbon/human)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
requires_bodypart_type = TRUE
|
||||
ignore_clothes = FALSE
|
||||
|
||||
Reference in New Issue
Block a user