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:
NanakoAC
2017-01-04 03:14:07 +02:00
committed by skull132
parent 6be52bb7dc
commit 75b540c061
10 changed files with 110 additions and 20 deletions
+4 -5
View File
@@ -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))
+10 -1
View File
@@ -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