[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:
SkyratBot
2020-12-31 21:08:07 +01:00
committed by GitHub
co-authored by Qustinnus Azarak
parent 898121f9cd
commit d7f054b035
155 changed files with 614 additions and 1609 deletions
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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)
+4 -14
View File
@@ -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)
+1 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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(
+25
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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