Skip to content

Commit

Permalink
Merge branch 'master' into project/fax_responders_tm
Browse files Browse the repository at this point in the history
  • Loading branch information
harryob committed Sep 24, 2024
2 parents db516d2 + ee7bc49 commit decaeab
Show file tree
Hide file tree
Showing 31 changed files with 177 additions and 49 deletions.
4 changes: 4 additions & 0 deletions code/__DEFINES/dcs/signals/atom/signals_obj.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
// Sent after the limb has taken damage
#define COMSIG_LIMB_TAKEN_DAMAGE "limb_taken_damage"

// From /datum/effects/bleeding/internal/process_mob() and /datum/effects/bleeding/external/process_mob()
#define COMSIG_BLEEDING_PROCESS "bleeding_process"
#define COMPONENT_BLEEDING_CANCEL (1<<0)

/// From /obj/effect/alien/weeds/Initialize()
#define COMSIG_WEEDNODE_GROWTH_COMPLETE "weednode_growth_complete"
/// From /obj/effect/alien/weeds/Initialize()
Expand Down
4 changes: 4 additions & 0 deletions code/datums/effects/bleeding.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@
if(affected_human.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING)
buffer_blood_loss = 0
return FALSE
if(SEND_SIGNAL(affected_human, COMSIG_BLEEDING_PROCESS, FALSE) & COMPONENT_BLEEDING_CANCEL)
return FALSE
affected_mob.drip(buffer_blood_loss)
buffer_blood_loss = 0

Expand Down Expand Up @@ -111,6 +113,8 @@
if(istype(affected_human))
if(affected_human.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING)
return FALSE
if(SEND_SIGNAL(affected_human, COMSIG_BLEEDING_PROCESS, TRUE) & COMPONENT_BLEEDING_CANCEL)
return FALSE

blood_loss = max(blood_loss, 0) // Bleeding shouldn't give extra blood even if its only 1 tick
affected_mob.blood_volume = max(affected_mob.blood_volume - blood_loss, 0)
Expand Down
12 changes: 12 additions & 0 deletions code/game/objects/effects/landmarks/landmarks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,18 @@
name = "Intelligence Officer late join"
job = JOB_INTEL

/obj/effect/landmark/late_join/police
name = "Military Police late join"
job = JOB_POLICE

/obj/effect/landmark/late_join/warden
name = "Military Warden late join"
job = JOB_WARDEN

/obj/effect/landmark/late_join/chief_police
name = "Chief Military Police late join"
job = JOB_CHIEF_POLICE

/obj/effect/landmark/late_join/Initialize(mapload, ...)
. = ..()
if(squad)
Expand Down
5 changes: 5 additions & 0 deletions code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@ GLOBAL_LIST_INIT(bgstate_options, list(
var/xeno_name_ban = FALSE
var/xeno_vision_level_pref = XENO_VISION_LEVEL_MID_NVG
var/playtime_perks = TRUE
var/show_queen_name = FALSE

var/stylesheet = "Modern"

Expand Down Expand Up @@ -448,6 +449,7 @@ GLOBAL_LIST_INIT(bgstate_options, list(
dat += "<b>Xeno postfix:</b> <a href='?_src_=prefs;preference=xeno_postfix;task=input'><b>[display_postfix]</b></a><br>"

dat += "<b>Enable Playtime Perks:</b> <a href='?_src_=prefs;preference=playtime_perks'><b>[playtime_perks? "Yes" : "No"]</b></a><br>"
dat += "<b>Show Queen Name:</b> <a href='?_src_=prefs;preference=show_queen_name'><b>[show_queen_name? "Yes" : "No"]</b></a><br>"
dat += "<b>Default Xeno Night Vision Level:</b> <a href='?_src_=prefs;preference=xeno_vision_level_pref;task=input'><b>[xeno_vision_level_pref]</b></a><br>"

var/tempnumber = rand(1, 999)
Expand Down Expand Up @@ -1859,6 +1861,9 @@ GLOBAL_LIST_INIT(bgstate_options, list(
if("playtime_perks")
playtime_perks = !playtime_perks

if("show_queen_name")
show_queen_name = !show_queen_name

if("be_special")
var/num = text2num(href_list["num"])
be_special ^= (1<<num)
Expand Down
3 changes: 3 additions & 0 deletions code/modules/client/preferences_savefile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@
S["xeno_postfix"] >> xeno_postfix
S["xeno_name_ban"] >> xeno_name_ban
S["playtime_perks"] >> playtime_perks
S["show_queen_name"] >> show_queen_name
S["xeno_vision_level_pref"] >> xeno_vision_level_pref
S["view_controller"] >> View_MC
S["observer_huds"] >> observer_huds
Expand Down Expand Up @@ -310,6 +311,7 @@
ghost_orbit = sanitize_inlist(ghost_orbit, GLOB.ghost_orbits, initial(ghost_orbit))
auto_observe = sanitize_integer(auto_observe, 0, 1, 1)
playtime_perks = sanitize_integer(playtime_perks, 0, 1, 1)
show_queen_name = sanitize_integer(show_queen_name, FALSE, TRUE, FALSE)
xeno_vision_level_pref = sanitize_inlist(xeno_vision_level_pref, list(XENO_VISION_LEVEL_NO_NVG, XENO_VISION_LEVEL_MID_NVG, XENO_VISION_LEVEL_FULL_NVG), XENO_VISION_LEVEL_MID_NVG)
hear_vox = sanitize_integer(hear_vox, FALSE, TRUE, TRUE)
hide_statusbar = sanitize_integer(hide_statusbar, FALSE, TRUE, FALSE)
Expand Down Expand Up @@ -428,6 +430,7 @@
S["xeno_name_ban"] << xeno_name_ban
S["xeno_vision_level_pref"] << xeno_vision_level_pref
S["playtime_perks"] << playtime_perks
S["show_queen_name"] << show_queen_name

S["view_controller"] << View_MC
S["observer_huds"] << observer_huds
Expand Down
1 change: 1 addition & 0 deletions code/modules/clothing/suits/marine_armor/_marine_armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@

/obj/item/clothing/suit/storage/marine/update_icon(mob/user)
var/image/I
overlays -= armor_overlays["lamp"]
armor_overlays["lamp"] = null
if(flags_marine_armor & ARMOR_LAMP_OVERLAY)
if(flags_marine_armor & ARMOR_LAMP_ON)
Expand Down
10 changes: 0 additions & 10 deletions code/modules/clothing/under/marine_uniform.dm
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,6 @@
worn_state = "upp_uniform"
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_UPP
suit_restricted = list(/obj/item/clothing/suit/storage/marine/faction/UPP, /obj/item/clothing/suit/gimmick/jason, /obj/item/clothing/suit/storage/snow_suit/soviet, /obj/item/clothing/suit/storage/snow_suit/survivor, /obj/item/clothing/suit/storage/webbing)
flags_jumpsuit = UNIFORM_SLEEVE_ROLLABLE

Expand Down Expand Up @@ -696,7 +695,6 @@
icon_state = "colonist"
worn_state = "colonist"
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_COLONIST

/obj/item/clothing/under/colonist/workwear
name = "grey workwear"
Expand Down Expand Up @@ -737,39 +735,34 @@
desc = "A stylish grey-green jumpsuit - standard issue for colonists. This version appears to have the symbol of the Colonial Liberation Front emblazoned in select areas."
icon_state = "clf_uniform"
worn_state = "clf_uniform"
sensor_faction = FACTION_CLF

/obj/item/clothing/under/colonist/ua_civvies
name = "\improper UA gray utility uniform"
desc = "A stylish gray jumpsuit - standard issue for UA civilian support personnel."
icon_state = "ua_civvies"
worn_state = "ua_civvies"
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE

/obj/item/clothing/under/colonist/wy_davisone
name = "\improper UA brown utility uniform"
desc = "A stylish brown jumpsuit - standard issue for UA civilian support personnel."
icon_state = "wy_davisone"
worn_state = "wy_davisone"
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE

/obj/item/clothing/under/colonist/white_service
name = "white service uniform"
desc = "A white dress shirt and tie with sleek pants. Standard clothing for anyone on professional business."
icon_state = "CO_service"
worn_state = "CO_service"
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE

/obj/item/clothing/under/colonist/wy_joliet_shopsteward
name = "steward utilities"
desc = "A stylish brown vest and shorts - uniforms like this are often worn by clerks and shop stewards."
icon_state = "wy_joliet_shopsteward"
worn_state = "wy_joliet_shopsteward"
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE

/obj/item/clothing/under/tshirt
name = "T-shirt parent object"
Expand All @@ -782,7 +775,6 @@
worn_state = "tshirt_w_br"
displays_id = FALSE
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE

/obj/item/clothing/under/tshirt/gray_blu
name = "gray T-shirt and jeans"
Expand All @@ -791,7 +783,6 @@
worn_state = "tshirt_gray_blu"
displays_id = FALSE
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE

/obj/item/clothing/under/tshirt/r_bla
name = "red T-shirt and black pants"
Expand All @@ -800,7 +791,6 @@
worn_state = "tshirt_r_bla"
displays_id = FALSE
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE

/obj/item/clothing/under/CM_uniform
name = "\improper Colonial Marshal uniform"
Expand Down
1 change: 0 additions & 1 deletion code/modules/clothing/under/under.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
armor_internaldamage = CLOTHING_ARMOR_NONE
w_class = SIZE_MEDIUM
blood_overlay_type = "uniform"
var/sensor_faction = FACTION_MARINE
var/has_sensor = UNIFORM_HAS_SENSORS // For the crew computer
var/sensor_mode = SENSOR_MODE_LOCATION
/*
Expand Down
2 changes: 1 addition & 1 deletion code/modules/cm_marines/vehicle_part_fabricator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
omnisentry_price += omnisentry_price_scale
icon_state = "drone_fab_active"
busy = TRUE
addtimer(CALLBACK(src, PROC_REF(do_build_part), part_type), 10 SECONDS)
addtimer(CALLBACK(src, PROC_REF(do_build_part), part_type), 3 SECONDS)

/obj/structure/machinery/part_fabricator/proc/do_build_part(part_type)
busy = FALSE
Expand Down
2 changes: 1 addition & 1 deletion code/modules/cm_preds/yaut_bracers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
var/charge = 1500
var/charge_max = 1500
/// The amount charged per process
var/charge_rate = 30
var/charge_rate = 60
/// Cooldown on draining power from APC
var/charge_cooldown = COOLDOWN_BRACER_CHARGE
var/cloak_timer = 0
Expand Down
7 changes: 3 additions & 4 deletions code/modules/cm_preds/yaut_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
armor_bio = CLOTHING_ARMOR_HIGH
armor_rad = CLOTHING_ARMOR_HIGH
armor_internaldamage = CLOTHING_ARMOR_HIGH
slowdown = 1
slowdown = 0.75
var/speed_timer = 0
item_state_slots = list(WEAR_JACKET = "fullarmor")
allowed = list(
Expand Down Expand Up @@ -277,12 +277,11 @@
flags_heat_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_LEGS|BODY_FLAG_ARMS|BODY_FLAG_FEET|BODY_FLAG_HANDS
flags_item = ITEM_PREDATOR
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_YAUTJA
siemens_coefficient = 0.9
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT

armor_melee = CLOTHING_ARMOR_LOW
armor_bullet = CLOTHING_ARMOR_LOW
armor_bullet = CLOTHING_ARMOR_MEDIUMLOW
armor_laser = CLOTHING_ARMOR_MEDIUM
armor_energy = CLOTHING_ARMOR_MEDIUM
armor_bomb = CLOTHING_ARMOR_MEDIUMHIGH
Expand All @@ -295,7 +294,7 @@
desc = "A set of very fine chainlink in a meshwork for comfort and utility."

armor_melee = CLOTHING_ARMOR_LOW
armor_bullet = CLOTHING_ARMOR_LOW
armor_bullet = CLOTHING_ARMOR_MEDIUM
armor_laser = CLOTHING_ARMOR_MEDIUMHIGH
armor_energy = CLOTHING_ARMOR_MEDIUMHIGH
armor_bomb = CLOTHING_ARMOR_HIGH
Expand Down
2 changes: 1 addition & 1 deletion code/modules/cm_preds/yaut_weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
w_class = SIZE_HUGE
edge = TRUE
sharp = IS_SHARP_ITEM_ACCURATE
flags_item = NOSHIELD|NODROP|DELONDROP|ITEM_PREDATOR
flags_item = NOSHIELD|NODROP|ITEM_PREDATOR
flags_equip_slot = NO_FLAGS
hitsound = 'sound/weapons/wristblades_hit.ogg'
attack_speed = 6
Expand Down
25 changes: 12 additions & 13 deletions code/modules/cm_tech/implements/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -271,26 +271,25 @@

/obj/item/clothing/accessory/health/research_plate/coagulator/on_attached(obj/item/clothing/S, mob/living/carbon/human/user)
. = ..()
if (user.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING)
return
user.chem_effect_flags |= CHEM_EFFECT_NO_BLEEDING
RegisterSignal(user, COMSIG_BLEEDING_PROCESS, PROC_REF(cancel_bleeding))
to_chat(user, SPAN_NOTICE("You feel tickling as you activate [src]."))

/obj/item/clothing/accessory/health/research_plate/coagulator/proc/cancel_bleeding()
SIGNAL_HANDLER
return COMPONENT_BLEEDING_CANCEL

/obj/item/clothing/accessory/health/research_plate/coagulator/on_removed(mob/living/carbon/human/user, obj/item/clothing/C)
. = ..()
if (user.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING)
user.chem_effect_flags &= CHEM_EFFECT_NO_BLEEDING
to_chat(user, SPAN_NOTICE("You feel [src] peeling off from your skin."))
attached_uni = null
to_chat(user, SPAN_NOTICE("You feel [src] peeling off from your skin."))
UnregisterSignal(user, COMSIG_BLEEDING_PROCESS)
attached_uni = null

/obj/item/clothing/accessory/health/research_plate/coagulator/on_removed_sig(mob/living/carbon/human/user, slot)
. = ..()
if(. == FALSE)
return
if(user.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING)
to_chat(user, SPAN_NOTICE("You feel [src] peeling off from your skin."))
user.chem_effect_flags &= CHEM_EFFECT_NO_BLEEDING
attached_uni = null
UnregisterSignal(user, COMSIG_BLEEDING_PROCESS)
attached_uni = null

/obj/item/clothing/accessory/health/research_plate/emergency_injector
name = "emergency chemical plate"
Expand Down Expand Up @@ -350,7 +349,7 @@
/obj/item/clothing/accessory/health/research_plate/emergency_injector/on_attached(obj/item/clothing/S, mob/living/carbon/human/user)
. = ..()
wearer = user
activation = new /datum/action/item_action/emergency_plate/inject_chemicals(src, attached_uni)
activation = new /datum/action/item_action/toggle/emergency_plate/inject_chemicals(src, attached_uni)
activation.give_to(wearer)

/obj/item/clothing/accessory/health/research_plate/emergency_injector/on_removed(mob/living/user, obj/item/clothing/C)
Expand All @@ -366,7 +365,7 @@
attached_uni = null

//Action buttons
/datum/action/item_action/emergency_plate/inject_chemicals/New(Target, obj/item/holder)
/datum/action/item_action/toggle/emergency_plate/inject_chemicals/New(Target, obj/item/holder)
. = ..()
name = "Inject Emergency Plate"
action_icon_state = "plate_research"
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/cmb.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_MARINE
return ..()

//*****************************************************************************************************/
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/colonist.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_COLONIST
return ..()

//*****************************************************************************************************/
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/contractor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_CONTRACTOR
return ..()

//*****************************************************************************************************/
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/other.dm
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_COLONIST
new_human.job = "Zombie"
new_human.faction = faction
return ..()
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/pmc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_PMC
return ..()


Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/royal_marines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_TWE
return ..()

//*****************************************************************************************************/
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/survivors/survivors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_COLONIST
return ..()

/*
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/synths.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_COLONIST
return ..()

/datum/equipment_preset/synth/survivor/medical_synth
Expand Down
1 change: 0 additions & 1 deletion code/modules/gear_presets/wy_goons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
var/obj/item/clothing/under/uniform = new_human.w_uniform
if(istype(uniform))
uniform.has_sensor = UNIFORM_HAS_SENSORS
uniform.sensor_faction = FACTION_WY
return ..()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,11 @@
var/obj/structure/window/framed/framed_window = structure_blocker
if(!framed_window.unslashable)
framed_window.deconstruct(disassembled = FALSE)
if(istype(structure_blocker, /obj/structure/fence))
var/obj/structure/fence/fence = structure_blocker
if(!fence.unslashable)
fence.health -= 50
fence.healthcheck()

if(structure_blocker.opacity)
blocked = TRUE
Expand Down
Loading

0 comments on commit decaeab

Please sign in to comment.