This commit is contained in:
Putnam
2020-01-10 17:57:03 -08:00
438 changed files with 5922 additions and 6464 deletions
@@ -19,7 +19,7 @@
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
implements = list(/obj/item/reagent_containers/syringe = 100, /obj/item/pen = 30)
time = 50
chems_needed = list("zombiepowder", "rezadone")
chems_needed = list(/datum/reagent/toxin/zombiepowder, /datum/reagent/medicine/rezadone)
require_all_chems = FALSE
/datum/surgery_step/bionecrosis/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -20,7 +20,7 @@
name = "viral bond"
implements = list(TOOL_CAUTERY = 100, TOOL_WELDER = 50, /obj/item = 30) // 30% success with any hot item.
time = 100
chems_needed = list("spaceacillin","virusfood","formaldehyde")
chems_needed = list(/datum/reagent/medicine/spaceacillin, /datum/reagent/consumable/virus_food,/datum/reagent/toxin/formaldehyde)
/datum/surgery_step/viral_bond/tool_check(mob/user, obj/item/tool)
if(implement_type == TOOL_WELDER || implement_type == /obj/item)
+2 -3
View File
@@ -172,9 +172,8 @@
var/total_damage = brute + burn
if(total_damage > can_inflict)
var/excess = total_damage - can_inflict
brute = round(brute * (excess / total_damage),DAMAGE_PRECISION)
burn = round(burn * (excess / total_damage),DAMAGE_PRECISION)
brute = round(brute * (max_damage / total_damage),DAMAGE_PRECISION)
burn = round(burn * (max_damage / total_damage),DAMAGE_PRECISION)
brute_dam += brute
burn_dam += burn
+5 -37
View File
@@ -287,51 +287,19 @@
. = "ffc905"
/mob/living/carbon/proc/Digitigrade_Leg_Swap(swap_back)
var/body_plan_changed = FALSE
for(var/X in bodyparts)
var/obj/item/bodypart/O = X
var/obj/item/bodypart/N
if((!O.use_digitigrade && swap_back == FALSE) || (O.use_digitigrade && swap_back == TRUE))
if(O.body_part == LEG_LEFT)
if(swap_back == TRUE)
N = new /obj/item/bodypart/l_leg
else
N = new /obj/item/bodypart/l_leg/digitigrade
else if(O.body_part == LEG_RIGHT)
if(swap_back == TRUE)
N = new /obj/item/bodypart/r_leg
else
N = new /obj/item/bodypart/r_leg/digitigrade
if(!N)
continue
body_plan_changed = TRUE
O.drop_limb(1)
qdel(O)
N.attach_limb(src)
if((O.body_part == LEG_LEFT || O.body_part == LEG_RIGHT) && ((!O.use_digitigrade && !swap_back) || (O.use_digitigrade && swap_back)))
O.use_digitigrade = swap_back ? NOT_DIGITIGRADE : FULL_DIGITIGRADE
O.update_limb(FALSE, src)
if(body_plan_changed && ishuman(src))
if(ishuman(src))
var/mob/living/carbon/human/H = src
if(H.w_uniform)
var/obj/item/clothing/under/U = H.w_uniform
if(U.mutantrace_variation)
if(swap_back)
U.suit_style = NORMAL_SUIT_STYLE
else
U.suit_style = DIGITIGRADE_SUIT_STYLE
H.update_inv_w_uniform()
H.update_inv_w_uniform()
if(H.shoes)
var/obj/item/clothing/shoes/S = H.shoes
if(swap_back)
S.adjusted = NORMAL_STYLE
else
S.adjusted = ALT_STYLE
H.update_inv_shoes()
if(H.wear_suit)
var/obj/item/clothing/suit/S = H.wear_suit
if(swap_back)
S.adjusted = NORMAL_STYLE
else
S.adjusted = ALT_STYLE
H.update_inv_wear_suit()
/mob/living/carbon/proc/get_body_parts_flags()
+1 -1
View File
@@ -12,7 +12,7 @@
/datum/surgery_step/embalming
name = "embalming body"
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35)
chems_needed = list("drying_agent", "sterilizine")
chems_needed = list(/datum/reagent/drying_agent, /datum/reagent/space_cleaner/sterilizine)
require_all_chems = FALSE
/datum/surgery_step/embalming/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+3 -3
View File
@@ -22,7 +22,7 @@
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
repeatable = TRUE
time = 75
chems_needed = list("synthtissue")
chems_needed = list(/datum/reagent/synthtissue)
var/obj/item/organ/chosen_organ
var/health_restored = 10
@@ -41,7 +41,7 @@
chosen_organ = organs[chosen_organ]
if(!chosen_organ)
return -1
if(!target.reagents.has_reagent("synthtissue"))
if(!target.reagents.has_reagent(/datum/reagent/synthtissue))
to_chat(user, "<span class='notice'>There's no synthtissue available for use on [chosen_organ]</span>")
return -1
var/datum/reagent/synthtissue/Sf = locate(/datum/reagent/synthtissue) in target.reagents.reagent_list
@@ -58,7 +58,7 @@
health_restored += (Sf.data["grown_volume"]/10)
user.visible_message("[user] begins to graft synthtissue onto [chosen_organ].</span>")
target.reagents.remove_reagent("synthtissue", 10)
target.reagents.remove_reagent(/datum/reagent/synthtissue, 10)
/datum/surgery_step/graft_synthtissue/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
user.visible_message("[user] successfully grafts synthtissue to [chosen_organ].", "<span class='notice'>You succeed in grafting 10u of the synthflesh to the [chosen_organ].</span>")
+1 -1
View File
@@ -42,5 +42,5 @@
/obj/item/organ/appendix/prepare_eat()
var/obj/S = ..()
if(inflamed)
S.reagents.add_reagent("bad_food", 5)
S.reagents.add_reagent(/datum/reagent/toxin/bad_food, 5)
return S
@@ -32,7 +32,7 @@
. = ..()
if(!owner || . & EMP_PROTECT_SELF)
return
owner.reagents.add_reagent("bad_food", poison_amount / severity)
owner.reagents.add_reagent(/datum/reagent/toxin/bad_food, poison_amount / severity)
to_chat(owner, "<span class='warning'>You feel like your insides are burning.</span>")
+2 -2
View File
@@ -247,5 +247,5 @@ obj/item/organ/heart/cybernetic/upgraded/on_life()
min_next_adrenaline = world.time + rand(250, 600) //anywhere from 4.5 to 10 minutes
to_chat(owner, "<span class='userdanger'>You feel yourself dying, but you refuse to give up!</span>")
owner.heal_overall_damage(15, 15)
if(owner.reagents.get_reagent_amount("ephedrine") < 20)
owner.reagents.add_reagent("ephedrine", 10)
if(owner.reagents.get_reagent_amount(/datum/reagent/medicine/ephedrine) < 20)
owner.reagents.add_reagent(/datum/reagent/medicine/ephedrine, 10)
+7 -9
View File
@@ -33,14 +33,12 @@
if(filterToxins && !HAS_TRAIT(owner, TRAIT_TOXINLOVER))
//handle liver toxin filtration
for(var/I in C.reagents.reagent_list)
var/datum/reagent/pickedreagent = I
if(istype(pickedreagent, /datum/reagent/toxin))
var/thisamount = C.reagents.get_reagent_amount(initial(pickedreagent.id))
if (thisamount <= toxTolerance && thisamount)
C.reagents.remove_reagent(initial(pickedreagent.id), 1)
else
damage += (thisamount*toxLethality)
for(var/datum/reagent/toxin/T in C.reagents.reagent_list)
var/thisamount = C.reagents.get_reagent_amount(T.type)
if (thisamount && thisamount <= toxTolerance)
C.reagents.remove_reagent(T.type, 1)
else
damage += (thisamount*toxLethality)
//metabolize reagents
C.reagents.metabolize(C, can_overdose=TRUE)
@@ -56,7 +54,7 @@
/obj/item/organ/liver/prepare_eat()
var/obj/S = ..()
S.reagents.add_reagent("iron", 5)
S.reagents.add_reagent(/datum/reagent/iron, 5)
return S
//Just in case
+7 -7
View File
@@ -69,7 +69,7 @@
var/heat_level_3_damage = HEAT_GAS_DAMAGE_LEVEL_3
var/heat_damage_type = BURN
var/crit_stabilizing_reagent = "epinephrine"
var/crit_stabilizing_reagent = /datum/reagent/medicine/epinephrine
@@ -301,13 +301,13 @@
var/bz_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/bz])
if(bz_pp > BZ_trip_balls_min)
H.hallucination += 10
H.reagents.add_reagent("bz_metabolites",5)
H.reagents.add_reagent(/datum/reagent/bz_metabolites,5)
if(prob(33))
H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 150)
else if(bz_pp > 0.01)
H.hallucination += 5
H.reagents.add_reagent("bz_metabolites",1)
H.reagents.add_reagent(/datum/reagent/bz_metabolites,1)
// Tritium
@@ -331,15 +331,15 @@
H.adjustFireLoss(nitryl_pp/4)
gas_breathed = breath_gases[/datum/gas/nitryl]
if (gas_breathed > gas_stimulation_min)
H.reagents.add_reagent("no2",1)
H.reagents.add_reagent(/datum/reagent/nitryl,1)
breath_gases[/datum/gas/nitryl]-=gas_breathed
// Stimulum
gas_breathed = breath_gases[/datum/gas/stimulum]
if (gas_breathed > gas_stimulation_min)
var/existing = H.reagents.get_reagent_amount("stimulum")
H.reagents.add_reagent("stimulum", max(0, 5 - existing))
var/existing = H.reagents.get_reagent_amount(/datum/reagent/stimulum)
H.reagents.add_reagent(/datum/reagent/stimulum, max(0, 5 - existing))
breath_gases[/datum/gas/stimulum]-=gas_breathed
// Miasma
@@ -459,7 +459,7 @@
/obj/item/organ/lungs/prepare_eat()
var/obj/S = ..()
S.reagents.add_reagent("salbutamol", 5)
S.reagents.add_reagent(/datum/reagent/medicine/salbutamol, 5)
return S
/obj/item/organ/lungs/plasmaman
@@ -173,7 +173,7 @@
name = "appendix"
icon_state = "appendix"
icon = 'icons/obj/surgery.dmi'
list_reagents = list("nutriment" = 5)
list_reagents = list(/datum/reagent/consumable/nutriment = 5)
foodtype = RAW | MEAT | GROSS