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:
nevimer
2025-11-29 22:49:21 -05:00
1185 changed files with 39068 additions and 32028 deletions
+1 -1
View File
@@ -157,7 +157,7 @@
carbon_occupant.set_eye_blur_if_lower(rand(10 SECONDS, 20 SECONDS))
hittarget_living.add_splatter_floor(small_drip = FALSE)
hittarget_living.adjustBruteLoss(200)
hittarget_living.adjust_brute_loss(200)
log_combat(src, hittarget_living, "rammed into", null, "injuring all passengers and killing the [hittarget_living]")
dump_mobs(TRUE)
playsound(src, 'sound/vehicles/car_crash.ogg', 100)
+1 -1
View File
@@ -35,7 +35,7 @@
return
var/mob/living/carbon/human/rammed = bumped
rammed.Paralyze(100)
rammed.adjustStaminaLoss(30)
rammed.adjust_stamina_loss(30)
rammed.apply_damage(rand(20,35), BRUTE)
if(!crash_all)
rammed.throw_at(get_edge_target_turf(bumped, dir), 4, 3)
+4 -4
View File
@@ -598,6 +598,10 @@
if(length(occupants))
process_occupants(seconds_per_tick)
process_constant_power_usage(seconds_per_tick)
//Diagnostic HUD updates
diag_hud_set_mechhealth()
diag_hud_set_mechcell()
diag_hud_set_mechstat()
/obj/vehicle/sealed/mecha/proc/process_overclock_effects(seconds_per_tick)
if(!overclock_mode && overclock_temp > 0)
@@ -697,10 +701,6 @@
else if (checking == src)
break // all good
checking = checking.loc
//Diagnostic HUD updates
diag_hud_set_mechhealth()
diag_hud_set_mechcell()
diag_hud_set_mechstat()
/obj/vehicle/sealed/mecha/proc/process_constant_power_usage(seconds_per_tick)
if(mecha_flags & LIGHTS_ON && !use_energy(light_power_drain * seconds_per_tick))
@@ -208,14 +208,14 @@
to_chat(crushed_victim, span_userdanger("The tremors from [chassis] landing sends you flying!"))
var/fly_away_direction = get_dir(chassis, crushed_victim)
crushed_victim.throw_at(get_edge_target_turf(crushed_victim, fly_away_direction), 4, 3)
crushed_victim.adjustBruteLoss(15)
crushed_victim.adjust_brute_loss(15)
continue
to_chat(crushed_victim, span_userdanger("[chassis] crashes down on you from above!"))
if(crushed_victim.stat != CONSCIOUS)
crushed_victim.investigate_log("has been gibbed by a falling Savannah Ivanov mech.", INVESTIGATE_DEATHS)
crushed_victim.gib(DROP_ALL_REMAINS)
continue
crushed_victim.adjustBruteLoss(80)
crushed_victim.adjust_brute_loss(80)
/**
* ## abort_skyfall
@@ -116,10 +116,10 @@
"patient_health" = patient.health/patient.maxHealth,
"patient_state" = patient_state,
"core_temp" = core_temp,
"brute_loss" = patient.getBruteLoss(),
"burn_loss" = patient.getFireLoss(),
"toxin_loss" = patient.getToxLoss(),
"oxygen_loss" = patient.getOxyLoss(),
"brute_loss" = patient.get_brute_loss(),
"burn_loss" = patient.get_fire_loss(),
"toxin_loss" = patient.get_tox_loss(),
"oxygen_loss" = patient.get_oxy_loss(),
)
data["contained_reagents"] = get_reagent_data(patient.reagents.reagent_list)
data["has_brain_damage"] = patient.get_organ_loss(ORGAN_SLOT_BRAIN) != 0
@@ -147,7 +147,7 @@
log_message("[patient] no longer detected - Life support functions disabled.", LOG_MECHA)
STOP_PROCESSING(SSobj, src)
patient = null
ex_patient.adjustOxyLoss(-2 * seconds_per_tick)
ex_patient.adjust_oxy_loss(-2 * seconds_per_tick)
ex_patient.AdjustStun(-4 SECONDS * seconds_per_tick)
ex_patient.AdjustKnockdown(-4 SECONDS * seconds_per_tick)
ex_patient.AdjustParalyzed(-4 SECONDS * seconds_per_tick)
@@ -190,7 +190,7 @@
target.visible_message(span_danger("[chassis] is drilling [target] with [src]!"), \
span_userdanger("[chassis] is drilling you with [src]!"))
log_combat(user, target, "drilled", "[name]", "Combat mode: [user.combat_mode ? "On" : "Off"])(DAMTYPE: [uppertext(damtype)])")
if(target.stat == DEAD && target.getBruteLoss() >= (target.maxHealth * 2))
if(target.stat == DEAD && target.get_brute_loss() >= (target.maxHealth * 2))
log_combat(user, target, "gibbed", name)
if(LAZYLEN(target.butcher_results) || LAZYLEN(target.guaranteed_butcher_results))
SEND_SIGNAL(src, COMSIG_MECHA_DRILL_MOB, chassis, target)
@@ -197,13 +197,13 @@
unbuckle_mob(disabled)
disabled.throw_at(throw_target, 2, 3)
disabled.Knockdown(10 SECONDS)
disabled.adjustStaminaLoss(40)
disabled.adjust_stamina_loss(40)
if(isliving(bumped_atom))
var/mob/living/ramtarget = bumped_atom
throw_target = get_edge_target_turf(ramtarget, pick(GLOB.cardinals))
ramtarget.throw_at(throw_target, 2, 3)
ramtarget.Knockdown(8 SECONDS)
ramtarget.adjustStaminaLoss(35)
ramtarget.adjust_stamina_loss(35)
visible_message(span_danger("[src] crashes into [ramtarget], sending [disabled] and [ramtarget] flying!"))
else
visible_message(span_danger("[src] crashes into [bumped_atom], sending [disabled] flying!"))
+6 -6
View File
@@ -94,9 +94,9 @@
return
next_crash = world.time + 10
rider.adjustStaminaLoss(instability*6)
rider.adjust_stamina_loss(instability*6)
playsound(src, 'sound/effects/bang.ogg', 40, TRUE)
if(!iscarbon(rider) || rider.getStaminaLoss() >= 100 || grinding || iscarbon(bumped_thing))
if(!iscarbon(rider) || rider.get_stamina_loss() >= 100 || grinding || iscarbon(bumped_thing))
var/atom/throw_target = get_edge_target_turf(rider, pick(GLOB.cardinals))
unbuckle_mob(rider)
if((istype(bumped_thing, /obj/machinery/disposal/bin)))
@@ -108,7 +108,7 @@
rider.throw_at(throw_target, 3, 2)
var/head_slot = rider.get_item_by_slot(ITEM_SLOT_HEAD)
if(!head_slot || !(istype(head_slot,/obj/item/clothing/head/helmet) || istype(head_slot,/obj/item/clothing/head/utility/hardhat)))
rider.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5)
rider.adjust_organ_loss(ORGAN_SLOT_BRAIN, 5)
rider.updatehealth()
visible_message(span_danger("[src] crashes into [bumped_thing], sending [rider] flying!"))
rider.Paralyze(8 SECONDS)
@@ -133,8 +133,8 @@
return
var/mob/living/skater = buckled_mobs[1]
skater.adjustStaminaLoss(instability*0.3)
if(skater.getStaminaLoss() >= 100)
skater.adjust_stamina_loss(instability*0.3)
if(skater.get_stamina_loss() >= 100)
obj_flags = CAN_BE_HIT
playsound(src, 'sound/effects/bang.ogg', 20, TRUE)
unbuckle_mob(skater)
@@ -157,7 +157,7 @@
playsound(location, 'sound/items/trayhit/trayhit2.ogg', 40)
victim.apply_damage(damage = 25, damagetype = BRUTE, def_zone = victim.get_random_valid_zone(even_weights = TRUE), wound_bonus = 20)
victim.Paralyze(1.5 SECONDS)
skater.adjustStaminaLoss(instability)
skater.adjust_stamina_loss(instability)
victim.visible_message(span_danger("[victim] straight up gets grinded into the ground by [skater]'s [src]! Radical!"))
addtimer(CALLBACK(src, PROC_REF(grind)), 0.1 SECONDS)
+5 -5
View File
@@ -340,8 +340,8 @@
return
var/mob/living/rider = owner
var/turf/landing_turf = get_step(vehicle.loc, vehicle.dir)
rider.adjustStaminaLoss(vehicle.instability* 0.75)
if (rider.getStaminaLoss() >= 100)
rider.adjust_stamina_loss(vehicle.instability* 0.75)
if (rider.get_stamina_loss() >= 100)
vehicle.obj_flags &= ~CAN_BE_HIT
playsound(src, 'sound/effects/bang.ogg', 20, TRUE)
vehicle.unbuckle_mob(rider)
@@ -379,8 +379,8 @@
var/obj/vehicle/ridden/scooter/skateboard/board = vehicle_target
var/mob/living/rider = owner
rider.adjustStaminaLoss(board.instability)
if (rider.getStaminaLoss() >= 100)
rider.adjust_stamina_loss(board.instability)
if (rider.get_stamina_loss() >= 100)
playsound(src, 'sound/effects/bang.ogg', 20, vary = TRUE)
board.unbuckle_mob(rider)
rider.Paralyze(50)
@@ -390,7 +390,7 @@
span_userdanger("You smack against the board, hard."),
)
rider.emote("scream")
rider.adjustBruteLoss(10) // thats gonna leave a mark
rider.adjust_brute_loss(10) // thats gonna leave a mark
return
rider.visible_message(
span_danger("[rider] misses the landing and falls on [rider.p_their()] face!"),
+1 -1
View File
@@ -77,7 +77,7 @@
user.visible_message(span_suicide("[user] forgot [user.p_they()] isn't actually a janicart! That's a paddlin'!"))
if(user.mind?.get_skill_level(/datum/skill/cleaning) >= SKILL_LEVEL_LEGENDARY) //Janny janny janny janny janny
playsound(src, 'sound/effects/adminhelp.ogg', 50, TRUE, -1)
user.adjustOxyLoss(200)
user.adjust_oxy_loss(200)
user.death(FALSE)
/obj/item/key/lasso