Merge branch 'master' of https://github.com/PolarisSS13/Polaris into FishingFtWorldServer

This commit is contained in:
Mechoid
2019-05-03 21:44:53 -07:00
344 changed files with 11620 additions and 7580 deletions
@@ -12,6 +12,7 @@
var/list/data = null
var/volume = 0
var/metabolism = REM // This would be 0.2 normally
var/list/filtered_organs = list() // Organs that will slow the processing of this chemical.
var/mrate_static = FALSE //If the reagent should always process at the same speed, regardless of species, make this TRUE
var/ingest_met = 0
var/touch_met = 0
@@ -69,6 +70,22 @@
// Metabolism
removed *= active_metab.metabolism_speed
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.species.has_organ[O_HEART])
var/obj/item/organ/internal/heart/Pump = H.internal_organs_by_name[O_HEART]
if(!Pump)
removed *= 0.1
else if(Pump.standard_pulse_level == PULSE_NONE) // No pulse normally means chemicals process a little bit slower than normal.
removed *= 0.8
else // Otherwise, chemicals process as per percentage of your current pulse, or, if you have no pulse but are alive, by a miniscule amount.
removed *= max(0.1, H.pulse / Pump.standard_pulse_level)
if(filtered_organs && filtered_organs.len)
for(var/organ_tag in filtered_organs)
var/obj/item/organ/internal/O = H.internal_organs_by_name[organ_tag]
if(O && !O.is_broken() && prob(max(0, O.max_damage - O.damage)))
removed *= 0.8
if(ingest_met && (active_metab.metabolism_class == CHEM_INGEST))
removed = ingest_met
if(touch_met && (active_metab.metabolism_class == CHEM_TOUCH))
@@ -966,6 +966,14 @@
for(var/obj/effect/decal/cleanable/blood/B in T)
qdel(B)
/datum/reagent/sterilizine/touch_mob(var/mob/living/L, var/amount)
if(istype(L))
if(istype(L, /mob/living/simple_mob/slime))
var/mob/living/simple_mob/slime/S = L
S.adjustToxLoss(rand(15, 25) * amount) // Does more damage than water.
S.visible_message("<span class='warning'>[S]'s flesh sizzles where the fluid touches it!</span>", "<span class='danger'>Your flesh burns in the fluid!</span>")
remove_self(amount)
/datum/reagent/leporazine
name = "Leporazine"
id = "leporazine"
@@ -9,6 +9,7 @@
reagent_state = LIQUID
color = "#CF3600"
metabolism = REM * 0.25 // 0.05 by default. Hopefully enough to get some help, or die horribly, whatever floats your boat
filtered_organs = list(O_LIVER, O_KIDNEYS)
var/strength = 4 // How much damage it deals per unit
/datum/reagent/toxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -272,6 +273,7 @@
color = "#669900"
metabolism = REM
strength = 3
mrate_static = TRUE
/datum/reagent/toxin/zombiepowder/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
..()
@@ -171,7 +171,9 @@
return
var/cycle_time = injtime*0.33 //33% of the time slept between 5u doses
var/warmup_time = cycle_time //If the target is another mob, this gets overwritten
var/warmup_time = 0 //0 for containers
if(ismob(target))
warmup_time = cycle_time //If the target is another mob, this gets overwritten
if(ismob(target) && target != user)
warmup_time = injtime*0.66 // Otherwise 66% of the time is warmup
@@ -200,14 +202,14 @@
var/trans = 0
var/contained = reagentlist()
while(reagents.total_volume)
if(ismob(target))
if(ismob(target))
while(reagents.total_volume)
trans += reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD)
else
trans += reagents.trans_to_obj(target, amount_per_transfer_from_this)
update_icon()
if(!reagents.total_volume || !do_after(user,cycle_time,target))
break
update_icon()
if(!reagents.total_volume || !do_after(user,cycle_time,target))
break
else
trans += reagents.trans_to_obj(target, amount_per_transfer_from_this)
if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT)
mode = SYRINGE_DRAW