Merge pull request #14310 from Hatterhat/robo-surgery

[READY] robo-limb surgery tiers
This commit is contained in:
silicons
2021-03-12 19:40:02 -07:00
committed by GitHub
5 changed files with 63 additions and 29 deletions

View File

@@ -809,22 +809,22 @@
research_icon_state = "surgery_chest"
/datum/design/surgery/healing/brute_upgrade
name = "Tend Wounds (Brute) Upgrade"
name = "Tend Wounds (Brute) Upgrade I"
surgery = /datum/surgery/healing/brute/upgraded
id = "surgery_heal_brute_upgrade"
/datum/design/surgery/healing/brute_upgrade_2
name = "Tend Wounds (Brute) Upgrade"
name = "Tend Wounds (Brute) Upgrade II"
surgery = /datum/surgery/healing/brute/upgraded/femto
id = "surgery_heal_brute_upgrade_femto"
/datum/design/surgery/healing/burn_upgrade
name = "Tend Wounds (Burn) Upgrade"
name = "Tend Wounds (Burn) Upgrade I"
surgery = /datum/surgery/healing/burn/upgraded
id = "surgery_heal_burn_upgrade"
/datum/design/surgery/healing/burn_upgrade_2
name = "Tend Wounds (Burn) Upgrade"
name = "Tend Wounds (Burn) Upgrade II"
surgery = /datum/surgery/healing/brute/upgraded/femto
id = "surgery_heal_burn_upgrade_femto"
@@ -835,16 +835,26 @@
id = "surgery_heal_combo"
/datum/design/surgery/healing/combo_upgrade
name = "Tend Wounds (Mixture) Upgrade"
name = "Tend Wounds (Mixture) Upgrade I"
surgery = /datum/surgery/healing/combo/upgraded
id = "surgery_heal_combo_upgrade"
/datum/design/surgery/healing/combo_upgrade_2
name = "Tend Wounds (Mixture) Upgrade"
name = "Tend Wounds (Mixture) Upgrade II"
desc = "A surgical procedure that repairs both bruises and burns faster than their individual counterparts. It is more effective than both the individual surgeries."
surgery = /datum/surgery/healing/combo/upgraded/femto
id = "surgery_heal_combo_upgrade_femto"
/datum/design/surgery/healing/robot_upgrade
name = "Repair Robotic Limbs Upgrade"
surgery = /datum/surgery/robot_healing/upgraded
id = "surgery_heal_robo_upgrade"
/datum/design/surgery/healing/robot_upgrade_2
name = "Repair Robotic Limbs Upgrade II"
surgery = /datum/surgery/robot_healing/upgraded/femto
id = "surgery_heal_robo_upgrade_femto"
/datum/design/surgery/surgery_toxinhealing
name = "Body Rejuvenation"
desc = "A surgical procedure that helps deal with oxygen deprecation, and treat toxic damaged. Works on corpses and alive alike without chemicals."

View File

@@ -116,6 +116,14 @@
design_ids = list("surgery_heal_brute_upgrade","surgery_heal_burn_upgrade")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
/datum/techweb_node/adv_surgery
id = "adv_surgery"
display_name = "Advanced Surgery"
description = "When simple medicine doesn't cut it."
prereq_ids = list("imp_wt_surgery")
design_ids = list("surgery_revival", "surgery_lobotomy", "surgery_heal_brute_upgrade_femto","surgery_heal_burn_upgrade_femto","surgery_heal_robo_upgrade","surgery_heal_combo", "surgery_toxinhealing", "organbox", "surgery_adv_dissection")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
/datum/techweb_node/advance_surgerytools
id = "advance_surgerytools"
display_name = "Advanced Surgery Tools"
@@ -124,20 +132,12 @@
design_ids = list("drapes", "retractor_adv", "surgicaldrill_adv", "scalpel_adv", "bonesetter", "surgical_tape")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
/datum/techweb_node/adv_surgery
id = "adv_surgery"
display_name = "Advanced Surgery"
description = "When simple medicine doesn't cut it."
prereq_ids = list("imp_wt_surgery")
design_ids = list("surgery_revival", "surgery_lobotomy", "surgery_heal_brute_upgrade_femto","surgery_heal_burn_upgrade_femto", "surgery_heal_combo", "surgery_toxinhealing", "organbox", "surgery_adv_dissection")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
/datum/techweb_node/exp_surgery
id = "exp_surgery"
display_name = "Experimental Surgery"
description = "When evolution isn't fast enough."
prereq_ids = list("adv_surgery")
design_ids = list("surgery_pacify","surgery_vein_thread","surgery_muscled_veins","surgery_nerve_splice","surgery_nerve_ground","surgery_ligament_hook","surgery_ligament_reinforcement","surgery_viral_bond", "surgery_exp_dissection", "surgery_heal_combo_upgrade")
design_ids = list("surgery_pacify","surgery_vein_thread","surgery_muscled_veins","surgery_nerve_splice","surgery_nerve_ground","surgery_ligament_hook","surgery_ligament_reinforcement","surgery_viral_bond", "surgery_exp_dissection","surgery_heal_robo_upgrade_femto","surgery_heal_combo_upgrade")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
/datum/techweb_node/alien_surgery

View File

@@ -394,7 +394,7 @@
name = "smithed katana blade"
finishingitem = /obj/item/swordhandle
finalitem = /obj/item/melee/smith/twohand/katana
icon_state = "katana"
icon_state = "katana-s"
/obj/item/smithing/katanablade/startfinish()

View File

@@ -169,7 +169,6 @@
/***************************COMBO***************************/
/datum/surgery/healing/combo
/datum/surgery/healing/combo
name = "Tend Wounds (Mixture, Basic)"
replaced_by = /datum/surgery/healing/combo/upgraded

View File

@@ -1,9 +1,9 @@
//Almost copypaste of tend wounds, with some changes
/datum/surgery/robot_healing
name = "Repair robotic limbs (basic)"
name = "Repair Robotic Limbs"
desc = "A surgical procedure that provides repairs and maintenance to robotic limbs. Is slightly more efficient when the patient is severely damaged."
replaced_by = /datum/surgery
steps = list(/datum/surgery_step/mechanic_open,
/datum/surgery_step/pry_off_plating,
/datum/surgery_step/cut_wires,
@@ -14,8 +14,28 @@
possible_locs = list(BODY_ZONE_CHEST)
requires_bodypart_type = 0 //You can do this on anyone, but it won't really be useful on people without augments.
ignore_clothes = TRUE
var/healing_step_type
var/antispam = FALSE
var/healing_step_type = /datum/surgery_step/robot_heal/basic
/datum/surgery/robot_healing/basic
name = "Repair Robotic Limbs (Basic)"
replaced_by = /datum/surgery/robot_healing/upgraded
healing_step_type = /datum/surgery_step/robot_heal/basic
desc = "A surgical procedure that provides basic repairs and maintenance to a patient's robotic limbs. Heals slightly more when the patient is severely injured."
/datum/surgery/robot_healing/upgraded
name = "Repair Robotic Limbs (Adv.)"
requires_tech = TRUE
replaced_by = /datum/surgery/robot_healing/upgraded/femto
healing_step_type = /datum/surgery_step/robot_heal/upgraded
desc = "A surgical procedure that provides advanced repairs and maintenance to a patient's robotic limbs. Heals more when the patient is severely injured."
/datum/surgery/robot_healing/upgraded/femto
name = "Repair Robotic Limbs (Exp.)"
requires_tech = TRUE
replaced_by = null // as good as it gets
healing_step_type = /datum/surgery_step/robot_heal/upgraded/femto
desc = "A surgical procedure that provides experimental repairs and maintenance to a patient's robotic limbs. Heals considerably more when the patient is severely injured."
/datum/surgery/robot_healing/New(surgery_target, surgery_location, surgery_bodypart)
..()
@@ -35,26 +55,21 @@
var/healsburn = FALSE
var/brutehealing = 0
var/burnhealing = 0
var/missinghpbonus = 0 //heals an extra point of damager per X missing damage of type (burn damage for burn healing, brute for brute). Smaller Number = More Healing!
var/missinghpbonus = 0 //heals an extra point of damage per X missing damage of type (burn damage for burn healing, brute for brute). Smaller Number = More Healing!
/datum/surgery_step/robot_heal/tool_check(mob/user, obj/item/tool)
if(implement_type == TOOL_WELDER && !tool.tool_use_check(user, 1))
return FALSE
return TRUE
/datum/surgery/robot_healing/can_start(mob/user, mob/living/carbon/target, obj/item/tool)
var/possible = FALSE
/datum/surgery/robot_healing/can_start(mob/user, mob/living/carbon/target, obj/item/tool) // hey delta? why is the check for this all the way down here
for(var/obj/item/bodypart/B in target.bodyparts)
if(B.is_robotic_limb())
possible = TRUE
break
if(!possible)
return FALSE
return TRUE
return ..()
/datum/surgery_step/robot_heal/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/woundtype
if(implement_type == TOOL_WELDER)
if(implement_type == TOOL_WELDER)
healsbrute = TRUE
healsburn = FALSE
woundtype = "dents"
@@ -133,3 +148,13 @@
brutehealing = 10
burnhealing = 10
missinghpbonus = 15
/datum/surgery_step/robot_heal/upgraded
brutehealing = 10
burnhealing = 10
missinghpbonus = 10
/datum/surgery_step/robot_heal/upgraded/femto
brutehealing = 10
burnhealing = 10
missinghpbonus = 5