mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-21 04:57:57 +01:00
Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29
# Conflicts: # _maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm # _maps/RandomRuins/SpaceRuins/garbagetruck2.dmm # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # _maps/map_files/tramstation/tramstation.dmm # code/_onclick/hud/new_player.dm # code/datums/components/squashable.dm # code/datums/diseases/advance/symptoms/heal.dm # code/datums/diseases/chronic_illness.dm # code/datums/status_effects/buffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/stamcrit.dm # code/game/machinery/computer/crew.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/wall_mounted.dm # code/game/turfs/closed/indestructible.dm # code/modules/admin/view_variables/filterrific.dm # code/modules/antagonists/heretic/influences.dm # code/modules/cargo/orderconsole.dm # code/modules/client/preferences.dm # code/modules/events/space_vines/vine_mutations.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/carbon/human/death.dm # code/modules/mob/living/carbon/human/species_types/jellypeople.dm # code/modules/mob/living/damage_procs.dm # code/modules/mob/living/living.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mob_spawn/mob_spawn.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/projectiles/guns/ballistic/launchers.dm # code/modules/projectiles/guns/energy/laser.dm # code/modules/reagents/chemistry/machinery/chem_dispenser.dm # code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/medicine_reagents.dm # code/modules/surgery/healing.dm # code/modules/unit_tests/designs.dm # icons/mob/inhands/items_lefthand.dmi # icons/mob/inhands/items_righthand.dmi # tgui/packages/tgui/interfaces/ChemDispenser.tsx
This commit is contained in:
@@ -264,7 +264,7 @@
|
||||
// If we ain't starting, deal a tad bit of brute, as a treat
|
||||
// Note, we attempt to process 10 times a second, so over 7 seconds this'll deal 14 brute
|
||||
if(!before_work)
|
||||
victim.adjustBruteLoss(0.2)
|
||||
victim.adjust_brute_loss(0.2)
|
||||
return TRUE
|
||||
|
||||
/datum/status_effect/choke/tick(seconds_between_ticks)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
SIGNAL_HANDLER
|
||||
|
||||
// How much time is left in the duration, in seconds.
|
||||
var/time_left = (duration - world.time) / 10
|
||||
var/time_left = duration / 10
|
||||
var/direction = move_args[MOVE_ARG_DIRECTION]
|
||||
var/new_dir
|
||||
|
||||
|
||||
@@ -124,8 +124,8 @@
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/incapacitating/unconscious/tick(seconds_between_ticks)
|
||||
if(owner.getStaminaLoss())
|
||||
owner.adjustStaminaLoss(-0.3) //reduce stamina loss by 0.3 per tick, 6 per 2 seconds
|
||||
if(owner.get_stamina_loss())
|
||||
owner.adjust_stamina_loss(-0.3) //reduce stamina loss by 0.3 per tick, 6 per 2 seconds
|
||||
|
||||
|
||||
//SLEEPING
|
||||
@@ -233,10 +233,10 @@
|
||||
to_chat(carbon_owner, span_notice("You feel your fitness improving!"))
|
||||
|
||||
if(health_ratio > 0.8) // only heals minor physical damage
|
||||
need_mob_update += owner.adjustBruteLoss(-0.4 * sleep_quality * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
|
||||
need_mob_update += owner.adjustFireLoss(-0.4 * sleep_quality * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
|
||||
need_mob_update += owner.adjustToxLoss(-0.2 * sleep_quality * seconds_between_ticks, updating_health = FALSE, forced = TRUE, required_biotype = MOB_ORGANIC)
|
||||
need_mob_update += owner.adjustStaminaLoss(min(-0.4 * sleep_quality * seconds_between_ticks, -0.4 * HEALING_SLEEP_DEFAULT * seconds_between_ticks), updating_stamina = FALSE)
|
||||
need_mob_update += owner.adjust_brute_loss(-0.4 * sleep_quality * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
|
||||
need_mob_update += owner.adjust_fire_loss(-0.4 * sleep_quality * seconds_between_ticks, updating_health = FALSE, required_bodytype = BODYTYPE_ORGANIC)
|
||||
need_mob_update += owner.adjust_tox_loss(-0.2 * sleep_quality * seconds_between_ticks, updating_health = FALSE, forced = TRUE, required_biotype = MOB_ORGANIC)
|
||||
need_mob_update += owner.adjust_stamina_loss(min(-0.4 * sleep_quality * seconds_between_ticks, -0.4 * HEALING_SLEEP_DEFAULT * seconds_between_ticks), updating_stamina = FALSE)
|
||||
if(need_mob_update)
|
||||
owner.updatehealth()
|
||||
// Drunkenness gets reduced by 0.3% per tick (6% per 2 seconds)
|
||||
@@ -336,9 +336,9 @@
|
||||
qdel(src)
|
||||
return
|
||||
var/need_mob_update
|
||||
need_mob_update = owner.adjustBruteLoss(0.04 * seconds_between_ticks, updating_health = FALSE)
|
||||
need_mob_update += owner.adjustFireLoss(0.04 * seconds_between_ticks, updating_health = FALSE)
|
||||
need_mob_update += owner.adjustToxLoss(0.08 * seconds_between_ticks, updating_health = FALSE, forced = TRUE)
|
||||
need_mob_update = owner.adjust_brute_loss(0.04 * seconds_between_ticks, updating_health = FALSE)
|
||||
need_mob_update += owner.adjust_fire_loss(0.04 * seconds_between_ticks, updating_health = FALSE)
|
||||
need_mob_update += owner.adjust_tox_loss(0.08 * seconds_between_ticks, updating_health = FALSE, forced = TRUE)
|
||||
if(need_mob_update)
|
||||
owner.updatehealth()
|
||||
|
||||
@@ -416,7 +416,7 @@
|
||||
new /obj/effect/temp_visual/bleed(get_turf(owner))
|
||||
|
||||
/datum/status_effect/stacking/saw_bleed/threshold_cross_effect()
|
||||
owner.adjustBruteLoss(bleed_damage)
|
||||
owner.adjust_brute_loss(bleed_damage)
|
||||
new /obj/effect/temp_visual/bleed/explode(get_turf(owner))
|
||||
for(var/splatter_dir in GLOB.alldirs)
|
||||
owner.create_splatter(splatter_dir)
|
||||
@@ -528,7 +528,7 @@
|
||||
wasting_effect.alpha = 255
|
||||
animate(wasting_effect, alpha = 0, time = 32)
|
||||
playsound(owner, 'sound/effects/curse/curse5.ogg', 20, TRUE, -1)
|
||||
owner.adjustFireLoss(0.75)
|
||||
owner.adjust_fire_loss(0.75)
|
||||
|
||||
if(curse_flags & CURSE_GRASPING)
|
||||
if(effect_next_activation > world.time)
|
||||
@@ -1073,8 +1073,7 @@
|
||||
/datum/status_effect/midas_blight/tick(seconds_between_ticks)
|
||||
var/mob/living/carbon/human/victim = owner
|
||||
// We're transmuting blood, time to lose some.
|
||||
if(victim.blood_volume > BLOOD_VOLUME_SURVIVE + 50 && !HAS_TRAIT(victim, TRAIT_NOBLOOD))
|
||||
victim.blood_volume -= 5 * seconds_between_ticks
|
||||
victim.adjust_blood_volume(-5 * seconds_between_ticks, minimum = BLOOD_VOLUME_SURVIVE + 50)
|
||||
// This has been hell to try and balance so that you'll actually get anything out of it
|
||||
victim.reagents.add_reagent(/datum/reagent/gold/cursed, amount = seconds_between_ticks * goldscale, no_react = TRUE)
|
||||
var/current_gold_amount = victim.reagents.get_reagent_amount(/datum/reagent/gold, type_check = REAGENT_SUB_TYPE)
|
||||
|
||||
@@ -231,21 +231,21 @@
|
||||
// SKYRAT EDIT CHANGE END - ALCOHOL_PROCESSING
|
||||
|
||||
// Over 81, we will gain constant toxloss
|
||||
if(drunk_value >= 83.4)
|
||||
owner.adjustToxLoss(1)
|
||||
if(drunk_value >= 81)
|
||||
owner.adjust_tox_loss(1)
|
||||
if(owner.stat == CONSCIOUS && prob(5))
|
||||
to_chat(owner, span_warning("Maybe you should lie down for a bit..."))
|
||||
|
||||
// Over 91, we gain even more toxloss, brain damage, and have a chance of dropping into a long sleep
|
||||
if(drunk_value >= 91)
|
||||
owner.adjustToxLoss(1)
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.4)
|
||||
owner.adjust_tox_loss(1)
|
||||
owner.adjust_organ_loss(ORGAN_SLOT_BRAIN, 0.4)
|
||||
if(owner.stat == CONSCIOUS)
|
||||
attempt_to_blackout()
|
||||
|
||||
// And finally, over 100 - let's be honest, you shouldn't be alive by now.
|
||||
if(drunk_value >= 103.4)
|
||||
owner.adjustToxLoss(2)
|
||||
if(drunk_value >= 101)
|
||||
owner.adjust_tox_loss(2)
|
||||
|
||||
/datum/status_effect/inebriated/drunk/proc/attempt_to_blackout()
|
||||
/* SKYRAT EDIT REMOVAL - Blackout drunk begone
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
return
|
||||
|
||||
if(total_damage >= minimum_before_tox_damage)
|
||||
owner.adjustToxLoss(toxin_damage_per_second * seconds_between_ticks)
|
||||
owner.adjust_tox_loss(toxin_damage_per_second * seconds_between_ticks)
|
||||
|
||||
total_damage -= remove_per_second * seconds_between_ticks
|
||||
if(total_damage <= 0)
|
||||
|
||||
@@ -47,12 +47,12 @@
|
||||
if(time_until_stoppage > ATTACK_STAGE_THREE)
|
||||
if(SPT_PROB(5, seconds_between_ticks))
|
||||
owner.playsound_local(owner, 'sound/effects/singlebeat.ogg', 25, FALSE, use_reverb = FALSE)
|
||||
owner.adjustStaminaLoss(5)
|
||||
owner.adjust_stamina_loss(5)
|
||||
|
||||
if(time_until_stoppage <= ATTACK_STAGE_TWO && time_until_stoppage > ATTACK_STAGE_THREE) //This coughing gets replaced with worse coughing, no need to stack it.
|
||||
if(SPT_PROB(10, seconds_between_ticks))
|
||||
owner.emote("cough")
|
||||
owner.adjustStaminaLoss(10)
|
||||
owner.adjust_stamina_loss(10)
|
||||
oxyloss_sum += 4
|
||||
|
||||
if(time_until_stoppage <= ATTACK_STAGE_THREE) //At this point, we start with chat messages and make it clear that something is very wrong.
|
||||
@@ -69,7 +69,7 @@
|
||||
if(SPT_PROB(8, seconds_between_ticks))
|
||||
to_chat(owner, span_danger("You feel very weak and dizzy..."))
|
||||
owner.adjust_confusion_up_to(6 SECONDS, 10 SECONDS)
|
||||
owner.adjustStaminaLoss(20)
|
||||
owner.adjust_stamina_loss(20)
|
||||
owner.emote("cough")
|
||||
oxyloss_sum += 8
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
to_chat(owner, span_userdanger("It feels like you're shutting down..."))
|
||||
owner.adjust_dizzy_up_to(4 SECONDS, 10 SECONDS)
|
||||
owner.adjust_eye_blur_up_to(4 SECONDS, 20 SECONDS)
|
||||
owner.adjustStaminaLoss(20)
|
||||
owner.adjust_stamina_loss(20)
|
||||
|
||||
if(SPT_PROB(5, seconds_between_ticks))
|
||||
owner.emote("cough")
|
||||
@@ -94,8 +94,8 @@
|
||||
owner.Paralyze(1 SECONDS)
|
||||
oxyloss_sum += 3
|
||||
|
||||
if(owner.getOxyLoss() < OXYLOSS_MAXIMUM) //A bad enough roll on the verge of passing out might still push you over into unconciousness for a few seconds...?
|
||||
owner.adjustOxyLoss(oxyloss_sum)
|
||||
if(owner.get_oxy_loss() < OXYLOSS_MAXIMUM) //A bad enough roll on the verge of passing out might still push you over into unconciousness for a few seconds...?
|
||||
owner.adjust_oxy_loss(oxyloss_sum)
|
||||
|
||||
if(time_until_stoppage <= 0)
|
||||
if(owner.stat == CONSCIOUS)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
/datum/status_effect/rust_corruption/tick(seconds_between_ticks)
|
||||
if(issilicon(owner) || isbot(owner))
|
||||
owner.adjustBruteLoss(10 * seconds_between_ticks)
|
||||
owner.adjust_brute_loss(10 * seconds_between_ticks)
|
||||
return
|
||||
owner.adjust_disgust(5 * seconds_between_ticks)
|
||||
owner.reagents?.remove_all(0.75 * seconds_between_ticks)
|
||||
|
||||
@@ -60,18 +60,18 @@
|
||||
var/totaldamage = 0 //total damage done to this unfortunate soul
|
||||
|
||||
if(iscarbon(owner))
|
||||
totaldamage += owner.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_between_ticks)
|
||||
totaldamage += owner.adjustToxLoss(rand(1, 2) * 0.5 * seconds_between_ticks)
|
||||
totaldamage += owner.adjust_brute_loss(rand(2, 4) * 0.5 * seconds_between_ticks)
|
||||
totaldamage += owner.adjust_tox_loss(rand(1, 2) * 0.5 * seconds_between_ticks)
|
||||
|
||||
if(isanimal_or_basicmob(owner))
|
||||
|
||||
var/need_mob_update
|
||||
need_mob_update = totaldamage += owner.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_between_ticks, updating_health = FALSE)
|
||||
need_mob_update += totaldamage += owner.adjustToxLoss(rand(1, 2) * 0.5 * seconds_between_ticks, updating_health = FALSE)
|
||||
need_mob_update = totaldamage += owner.adjust_brute_loss(rand(2, 4) * 0.5 * seconds_between_ticks, updating_health = FALSE)
|
||||
need_mob_update += totaldamage += owner.adjust_tox_loss(rand(1, 2) * 0.5 * seconds_between_ticks, updating_health = FALSE)
|
||||
if(need_mob_update)
|
||||
owner.updatehealth()
|
||||
|
||||
if(totaldamage >= 0) // AdjustBruteLoss returns a negative value on successful damage adjustment
|
||||
if(totaldamage >= 0) // adjust_brute_loss returns a negative value on successful damage adjustment
|
||||
our_slime.balloon_alert(our_slime, "not food!")
|
||||
our_slime.stop_feeding()
|
||||
return
|
||||
@@ -95,4 +95,4 @@
|
||||
our_slime.adjust_nutrition(-1 * 1.8 * totaldamage) //damage is already modified by seconds_between_ticks
|
||||
|
||||
//Heal yourself.
|
||||
our_slime.adjustBruteLoss(-1.5 * seconds_between_ticks)
|
||||
our_slime.adjust_brute_loss(-1.5 * seconds_between_ticks)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
if(seconds_in_nograv >= 3 MINUTES)
|
||||
// This has some interesting side effects with gravitum or similar negating effects that may be worth nothing
|
||||
owner.adjustStaminaLoss(-1 * stamina_heal_per_tick)
|
||||
owner.adjust_stamina_loss(-1 * stamina_heal_per_tick)
|
||||
owner.AdjustAllImmobility(-1 * stun_heal_per_tick)
|
||||
// For comparison: Ephedrine heals 4 stamina per tick / 2 per second
|
||||
// and Nicotine heals 5 seconds of stun per tick / 2.5 per second
|
||||
@@ -74,8 +74,8 @@
|
||||
|
||||
var/minutes_active = round(seconds_active / (1 MINUTES))
|
||||
// Sit at a passive amount of stamina damage depending on how long it's been
|
||||
if(!the_spacer.getStaminaLoss())
|
||||
the_spacer.adjustStaminaLoss(min(25, 5 * minutes_active))
|
||||
if(!the_spacer.get_stamina_loss())
|
||||
the_spacer.adjust_stamina_loss(min(25, 5 * minutes_active))
|
||||
// Max disgust increases over time as well
|
||||
max_disgust = min(DISGUST_LEVEL_VERYGROSS + 5, initial(max_disgust) + 5 * minutes_active)
|
||||
// And your lungs can't really handle it good
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
|
||||
// This should be in on apply but we need it to happen AFTER being added to the mob
|
||||
// (Because we need to wait until the status effect is in their status effect list, or we'll add two)
|
||||
if(owner.getStaminaLoss() < 162) // SKYRAT EDIT CHANGE
|
||||
if(owner.get_stamina_loss() < 120)
|
||||
// Puts you a little further into the initial stamcrit, makes stamcrit harder to outright counter with chems.
|
||||
owner.adjustStaminaLoss(30, FALSE)
|
||||
owner.adjust_stamina_loss(30, FALSE)
|
||||
|
||||
// Same
|
||||
RegisterSignal(owner, COMSIG_LIVING_ADJUST_STAMINA_DAMAGE, PROC_REF(update_diminishing_return))
|
||||
@@ -80,5 +80,5 @@
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(owner.maxHealth - owner.getStaminaLoss() > owner.crit_threshold)
|
||||
if(owner.maxHealth - owner.get_stamina_loss() > owner.crit_threshold)
|
||||
qdel(src)
|
||||
|
||||
Reference in New Issue
Block a user