mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
i ded pls nerf: Combat Beakers (#23708)
* reagent splash now different from touch * arghhghghg * hghg * FUCK THE BOTANY OORAH * only botany smoke affected * Update code/modules/reagents/chemistry/reagents/drugs.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/toxins.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/pyrotechnic.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * removing REAGENT_SPLASH, cleaning up * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> --------- Co-authored-by: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
This commit is contained in:
co-authored by
Nathan Winters
S34N
parent
d6693f86a1
commit
b4c52d70da
@@ -741,8 +741,7 @@
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/fliptonium/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume)
|
||||
if(method == REAGENT_INGEST || method == REAGENT_TOUCH)
|
||||
M.SpinAnimation(speed = 12, loops = -1, parallel = FALSE)
|
||||
M.SpinAnimation(speed = 12, loops = -1, parallel = FALSE)
|
||||
..()
|
||||
|
||||
/datum/reagent/fliptonium/on_mob_delete(mob/living/M)
|
||||
|
||||
@@ -211,61 +211,6 @@
|
||||
M.germ_level = max(M.germ_level - 20, 0) // Reduces the mobs germ level, too
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/silver_sulfadiazine
|
||||
name = "Silver Sulfadiazine"
|
||||
id = "silver_sulfadiazine"
|
||||
description = "This antibacterial compound is used to treat burn victims."
|
||||
reagent_state = LIQUID
|
||||
color = "#F0DC00"
|
||||
metabolization_rate = 3
|
||||
harmless = FALSE //toxic if ingested, and I am NOT going to account for the difference
|
||||
taste_description = "burn cream"
|
||||
|
||||
/datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
update_flags |= M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/medicine/silver_sulfadiazine/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume, show_message = 1)
|
||||
if(iscarbon(M))
|
||||
if(method == REAGENT_TOUCH)
|
||||
M.adjustFireLoss(-volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='notice'>The silver sulfadiazine soothes your burns.</span>")
|
||||
if(method == REAGENT_INGEST)
|
||||
M.adjustToxLoss(0.5*volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='warning'>You feel sick...</span>")
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/styptic_powder
|
||||
name = "Styptic Powder"
|
||||
id = "styptic_powder"
|
||||
description = "Styptic (aluminum sulfate) powder helps control bleeding and heal physical wounds."
|
||||
reagent_state = LIQUID
|
||||
color = "#FF9696"
|
||||
metabolization_rate = 3
|
||||
harmless = FALSE
|
||||
taste_description = "wound cream"
|
||||
|
||||
/datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
update_flags |= M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/medicine/styptic_powder/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume, show_message = 1)
|
||||
if(iscarbon(M))
|
||||
if(method == REAGENT_TOUCH)
|
||||
M.adjustBruteLoss(-volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='notice'>The styptic powder stings like hell as it closes some of your wounds!</span>")
|
||||
M.emote("scream")
|
||||
if(method == REAGENT_INGEST)
|
||||
M.adjustToxLoss(0.5*volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='warning'>You feel gross!</span>")
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/salglu_solution
|
||||
name = "Saline-Glucose Solution"
|
||||
id = "salglu_solution"
|
||||
@@ -288,7 +233,49 @@
|
||||
H.blood_volume += 1
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/medicine/synthflesh
|
||||
/datum/reagent/medicine/heal_on_apply
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/proc/heal_external_limb(obj/item/organ/external/organ, volume)
|
||||
return
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/proc/heal_overall_damage(mob/living/M, volume)
|
||||
return
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/proc/splash_human(mob/living/carbon/human/H, volume)
|
||||
var/turf_volume = max(0, (volume - 100) / 3)
|
||||
volume = volume - turf_volume
|
||||
|
||||
var/volume_per_bodypart = volume / length(H.bodyparts)
|
||||
|
||||
for(var/obj/item/organ/external/organ in H.bodyparts)
|
||||
if(!get_location_accessible(H, organ.limb_name))
|
||||
turf_volume += volume_per_bodypart
|
||||
continue
|
||||
|
||||
heal_external_limb(organ, volume_per_bodypart)
|
||||
|
||||
H.updatehealth(reason = "[id] splashed")
|
||||
H.UpdateDamageIcon()
|
||||
|
||||
if(turf_volume > 0)
|
||||
reaction_turf(get_turf(H), turf_volume)
|
||||
|
||||
return volume
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume, show_message = 1)
|
||||
if(!iscarbon(M))
|
||||
return ..()
|
||||
|
||||
if(ishuman(M) && volume >= 20 && method == REAGENT_TOUCH)
|
||||
var/applied_volume = splash_human(M, volume)
|
||||
return ..(M, method, applied_volume, show_message)
|
||||
|
||||
if(method == REAGENT_TOUCH)
|
||||
heal_overall_damage(M, volume)
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/synthflesh
|
||||
name = "Synthflesh"
|
||||
id = "synthflesh"
|
||||
description = "A resorbable microfibrillar collagen and protein mixture that can rapidly heal injuries when applied topically."
|
||||
@@ -297,26 +284,95 @@
|
||||
penetrates_skin = TRUE
|
||||
taste_description = "blood"
|
||||
|
||||
/datum/reagent/medicine/synthflesh/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume, show_message = 1)
|
||||
if(iscarbon(M))
|
||||
if(method == REAGENT_TOUCH)
|
||||
M.adjustBruteLoss(-1.5 * volume)
|
||||
M.adjustFireLoss(-1.5 * volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='notice'>The synthetic flesh integrates itself into your wounds, healing you.</span>")
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(HAS_TRAIT_FROM(H, TRAIT_HUSK, BURN) && H.getFireLoss() <= UNHUSK_DAMAGE_THRESHOLD && (H.reagents.get_reagent_amount("synthflesh") + volume >= SYNTHFLESH_UNHUSK_AMOUNT))
|
||||
H.cure_husk(BURN)
|
||||
// Could be a skeleton or a golem or sth, avoid phrases like "burnt flesh" and "burnt skin"
|
||||
H.visible_message("<span class='nicegreen'>The squishy liquid coats [H]'s burns. [H] looks a lot healthier!</span>")
|
||||
..()
|
||||
/datum/reagent/medicine/heal_on_apply/synthflesh/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume, show_message = 1)
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(ishuman(H) && HAS_TRAIT_FROM(H, TRAIT_HUSK, BURN) && H.getFireLoss() <= UNHUSK_DAMAGE_THRESHOLD && H.reagents.get_reagent_amount("synthflesh") + volume >= SYNTHFLESH_UNHUSK_AMOUNT)
|
||||
H.cure_husk(BURN)
|
||||
// Could be a skeleton or a golem or sth, avoid phrases like "burnt flesh" and "burnt skin"
|
||||
H.visible_message("<span class='nicegreen'>The squishy liquid coats [H]'s burns. [H] looks a lot healthier!</span>")
|
||||
|
||||
/datum/reagent/medicine/synthflesh/reaction_turf(turf/T, volume) //let's make a mess!
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='notice'>The synthetic flesh integrates itself into your wounds, healing you.</span>")
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/synthflesh/heal_external_limb(obj/item/organ/external/organ, volume)
|
||||
organ.heal_damage(1.5 * volume, 1.5 * volume, updating_health = FALSE)
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/synthflesh/heal_overall_damage(mob/living/M, volume)
|
||||
M.adjustBruteLoss(-1.5 * volume)
|
||||
M.adjustFireLoss(-1.5 * volume)
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/synthflesh/reaction_turf(turf/T, volume) //let's make a mess!
|
||||
if(volume >= 5 && !isspaceturf(T))
|
||||
new /obj/effect/decal/cleanable/blood/gibs/cleangibs(T)
|
||||
playsound(T, 'sound/effects/splat.ogg', 50, 1, -3)
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/styptic_powder
|
||||
name = "Styptic Powder"
|
||||
id = "styptic_powder"
|
||||
description = "Styptic (aluminum sulfate) powder helps control bleeding and heal physical wounds."
|
||||
reagent_state = LIQUID
|
||||
color = "#FF9696"
|
||||
metabolization_rate = 3
|
||||
harmless = FALSE
|
||||
taste_description = "wound cream"
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/styptic_powder/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
update_flags |= M.adjustBruteLoss(-2 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/styptic_powder/heal_external_limb(obj/item/organ/external/organ, volume)
|
||||
organ.heal_damage(volume, 0, updating_health = FALSE)
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/styptic_powder/heal_overall_damage(mob/living/M, volume)
|
||||
M.adjustBruteLoss(-volume)
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/styptic_powder/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume, show_message = 1)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='notice'>The styptic powder stings like hell as it closes some of your wounds!</span>")
|
||||
M.emote("scream")
|
||||
|
||||
if(method == REAGENT_INGEST)
|
||||
M.adjustToxLoss(0.5 * volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='warning'>You feel gross!</span>")
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/silver_sulfadiazine
|
||||
name = "Silver Sulfadiazine"
|
||||
id = "silver_sulfadiazine"
|
||||
description = "This antibacterial compound is used to treat burn victims."
|
||||
reagent_state = LIQUID
|
||||
color = "#F0DC00"
|
||||
metabolization_rate = 3
|
||||
harmless = FALSE //toxic if ingested, and I am NOT going to account for the difference
|
||||
taste_description = "burn cream"
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/silver_sulfadiazine/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
update_flags |= M.adjustFireLoss(-2 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/silver_sulfadiazine/heal_external_limb(obj/item/organ/external/organ, volume)
|
||||
organ.heal_damage(0, volume, updating_health = FALSE)
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/silver_sulfadiazine/heal_overall_damage(mob/living/M, volume)
|
||||
M.adjustFireLoss(-volume)
|
||||
|
||||
/datum/reagent/medicine/heal_on_apply/silver_sulfadiazine/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume, show_message = 1)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='notice'>The silver sulfadiazine soothes your burns.</span>")
|
||||
|
||||
if(method == REAGENT_INGEST)
|
||||
M.adjustToxLoss(0.5 * volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='warning'>You feel sick...</span>")
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/charcoal
|
||||
name = "Charcoal"
|
||||
id = "charcoal"
|
||||
|
||||
@@ -251,9 +251,8 @@
|
||||
fireflash_sm(T, radius, 4500 + volume * 500, 350)
|
||||
|
||||
/datum/reagent/clf3/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume)
|
||||
if(method == REAGENT_TOUCH || method == REAGENT_INGEST)
|
||||
M.adjust_fire_stacks(10)
|
||||
M.IgniteMob()
|
||||
M.adjust_fire_stacks(10)
|
||||
M.IgniteMob()
|
||||
if(method == REAGENT_INGEST)
|
||||
M.adjustFireLoss(min(max(15, volume * 2.5), 90))
|
||||
to_chat(M, "<span class='warning'>It burns!</span>")
|
||||
|
||||
@@ -1233,10 +1233,9 @@
|
||||
|
||||
/datum/reagent/ants/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) //NOT THE ANTS
|
||||
if(iscarbon(M))
|
||||
if(method == REAGENT_TOUCH || method==REAGENT_INGEST)
|
||||
to_chat(M, "<span class='warning'>OH SHIT ANTS!!!!</span>")
|
||||
M.emote("scream")
|
||||
M.adjustBruteLoss(4)
|
||||
to_chat(M, "<span class='warning'>OH SHIT ANTS!!!!</span>")
|
||||
M.emote("scream")
|
||||
M.adjustBruteLoss(4)
|
||||
|
||||
/datum/reagent/teslium //Teslium. Causes periodic shocks, and makes shocks against the target much more effective.
|
||||
name = "Teslium"
|
||||
|
||||
Reference in New Issue
Block a user