mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 05:23:22 +01:00
Miscellaneous bugfixes (#1385)
Fixes footstep sounds, they weren't defined. I redefined them for all floors. Also changed a few, notably carpets and bare plating have different sounds from what they used to. And all the various holodeck terrains should have correct sounds now too Fixes bicaridine and internal bleeding interactions. It was never really working before because the internal wounds could never be removed. Slightly rebalanced some values with bicaridine and internal bleeding. Adds short doafter and visible message to engiborg inflatable dispenser
This commit is contained in:
@@ -581,7 +581,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
var/updatehud
|
||||
for(var/datum/wound/W in wounds)
|
||||
// wounds can disappear after 10 minutes at the earliest
|
||||
if(W.damage <= 0 && W.created + 10 * 10 * 60 <= world.time)
|
||||
if(W.damage <= 0 && W.created + 6000 <= world.time)
|
||||
wounds -= W
|
||||
continue
|
||||
// let the GC handle the deletion of the wound
|
||||
@@ -590,13 +590,12 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
updatehud = 1//If there are any wounds with damage to heal, then we'll update health huds
|
||||
|
||||
// Internal wounds get worse over time. Low temperatures (cryo) stop them.
|
||||
if(W.internal && owner.bodytemperature >= 170)
|
||||
if(W.damage && W.internal && owner.bodytemperature >= 170)
|
||||
var/bicardose = owner.reagents.get_reagent_amount("bicaridine")
|
||||
var/inaprovaline = owner.reagents.get_reagent_amount("inaprovaline")
|
||||
if(!(W.can_autoheal() || (bicardose && inaprovaline))) //bicaridine and inaprovaline stop internal wounds from growing bigger with time, unless it is so small that it is already healing
|
||||
W.open_wound(0.1 * wound_update_accuracy)
|
||||
if(bicardose >= 30) //overdose of bicaridine begins healing IB
|
||||
W.damage = max(0, W.damage - 0.2)
|
||||
W.open_wound(0.09 * wound_update_accuracy)
|
||||
|
||||
|
||||
owner.vessel.remove_reagent("blood", wound_update_accuracy * W.damage/40) //line should possibly be moved to handle_blood, so all the bleeding stuff is in one place.
|
||||
if(prob(1 * wound_update_accuracy))
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
// helper lists
|
||||
var/tmp/list/desc_list = list()
|
||||
var/tmp/list/damage_list = list()
|
||||
@@ -166,6 +165,16 @@
|
||||
desc = desc_list[current_stage]
|
||||
src.min_damage = damage_list[current_stage]
|
||||
|
||||
//Internal wounds should vanish if damage reaches 0
|
||||
if (internal && damage <= 0)
|
||||
//Wounds can't clean themselves up. Instead we'll set vars that will make the organ delete us
|
||||
internal = 0
|
||||
bleed_timer = 0
|
||||
damage = 0
|
||||
created = -6000//Wounds only disappear after 10 mins
|
||||
//These vars will cause this wound to be removed and GC'd next tick
|
||||
|
||||
|
||||
// return amount of healing still leftover, can be used for other wounds
|
||||
return amount
|
||||
|
||||
|
||||
Reference in New Issue
Block a user