mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-15 10:04:30 +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:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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!"))
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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!"),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user