Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into arousal-bad
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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>")
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user