Skip to content

Commit

Permalink
Merge branch 'master' into removeikus-stimpointikus
Browse files Browse the repository at this point in the history
  • Loading branch information
TheManWithNoHands authored Jan 23, 2025
2 parents b4b2e68 + 12a9623 commit afa885b
Show file tree
Hide file tree
Showing 314 changed files with 13,795 additions and 12,476 deletions.
1 change: 1 addition & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ name: Mark stale issues and pull requests
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:

jobs:
stale:
Expand Down
9 changes: 8 additions & 1 deletion code/__DEFINES/chemistry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,12 @@
#define ALCOHOL_METABOLISM AMOUNT_PER_TIME(1, 5 SECONDS)
#define RAPID_METABOLISM AMOUNT_PER_TIME(1, 2 SECONDS)

// Factor of how fast mob nutrition decreases
/// How fast mob nutrition normally decreases
#define HUNGER_FACTOR 0.05
/// Additional mob nutrition cost when regenerating blood
#define BLOOD_NUTRITION_COST 0.25
/// Additional mob nutrition cost when cold
#define COLD_NUTRITION_COST 1

// Nutrition levels
#define NUTRITION_MAX 550
Expand Down Expand Up @@ -132,6 +136,7 @@
#define PROPERTY_CARDIOTOXIC "cardiotoxic"
#define PROPERTY_NEUROTOXIC "neurotoxic"
#define PROPERTY_HYPERMETABOLIC "hypermetabolic"
#define PROPERTY_IGNITING "igniting"
//Neutral
#define PROPERTY_NUTRITIOUS "nutritious"
#define PROPERTY_KETOGENIC "ketogenic"
Expand Down Expand Up @@ -325,3 +330,5 @@
#define INCENDIARY_SHARDS_MAX_REDUCTION 2
#define HORNET_SHARDS_MAX_REDUCTION 2
#define NEURO_SHARDS_MAX_REDUCTION 2

#define LEVEL_TO_POTENCY_MULTIPLIER 0.5
2 changes: 2 additions & 0 deletions code/__DEFINES/equipment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,8 @@ GLOBAL_LIST_INIT(slot_to_contained_sprite_shorthand, list(
#define ACCESSORY_SLOT_PONCHO "Ponchos"
#define ACCESSORY_SLOT_TROPHY "Trophy"
#define ACCESSORY_SLOT_MASK "Mask"
#define ACCESSORY_SLOT_WRIST_L "Left wrist"
#define ACCESSORY_SLOT_WRIST_R "Right wrist"

/// Used for uniform armor inserts.
#define ACCESSORY_SLOT_ARMOR_C "Chest armor"
Expand Down
3 changes: 1 addition & 2 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ GLOBAL_LIST_INIT(job_squad_roles, JOB_SQUAD_ROLES_LIST)

#define JOB_MESS_SERGEANT "Mess Technician"
#define JOB_SYNTH "Synthetic"
#define JOB_SHIP_SYNTH "Ship Operations Synthetic"
#define JOB_SYNTH_K9 "Synthetic K9"
#define JOB_WORKING_JOE "Working Joe"

Expand Down Expand Up @@ -228,7 +227,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_WY_GOON_LEAD "WY Corporate Security Lead"
#define JOB_WY_GOON_RESEARCHER "WY Research Consultant"

#define ROLES_WY_GOONS list(JOB_WY_GOON_LEAD, JOB_WY_GOON_TECH, JOB_WY_GOON)
#define ROLES_WY_GOONS list(JOB_WY_GOON_LEAD, JOB_WY_GOON_TECH, JOB_WY_GOON, JOB_WY_GOON_RESEARCHER)

//---- Contractors ----//
#define JOB_CONTRACTOR "VAIPO Mercenary"
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/minimap.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#define MINIMAP_FLAG_XENO (1<<0)
#define MINIMAP_FLAG_USCM (1<<1)
#define MINIMAP_FLAG_PMC (1<<2)
#define MINIMAP_FLAG_WY (1<<2)
#define MINIMAP_FLAG_UPP (1<<3)
#define MINIMAP_FLAG_CLF (1<<4)
#define MINIMAP_FLAG_YAUTJA (1<<5)
Expand Down
4 changes: 2 additions & 2 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,12 @@
GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANK_CREW, JOB_DROPSHIP_CREW_CHIEF, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN))

//Marine roles
#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANK_CREW, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_SHIP_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_TANK_CREW, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO))
GLOBAL_LIST_INIT(ROLES_CIC_ANTAG, list(JOB_UPP_SRLT_OFFICER, JOB_UPP_KPT_OFFICER, JOB_UPP_CO_OFFICER, JOB_UPP_COMMISSAR))
GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_SEA, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_TANK_CREW, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT))
GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT_ANTAG, list(JOB_UPP_CREWMAN, JOB_UPP_PILOT))
GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_SHIP_SYNTH, JOB_WORKING_JOE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH))
GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH))
GLOBAL_LIST_INIT(ROLES_MISC_ANTAG, list(JOB_UPP_COMBAT_SYNTH, JOB_UPP_SUPPORT_SYNTH, JOB_UPP_JOE))
GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE))
GLOBAL_LIST_INIT(ROLES_POLICE_ANTAG, list(JOB_UPP_POLICE))
Expand Down
4 changes: 2 additions & 2 deletions code/__DEFINES/pred.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#define SD_TYPE_BIG 0
#define SD_TYPE_SMALL 1

#define PRED_MASK_TYPE_MAX 19
#define PRED_MASK_ACCESSORY_TYPE_MAX 1
#define PRED_MASK_TYPE_MAX 20
#define PRED_MASK_ACCESSORY_TYPE_MAX 3
#define PRED_ARMOR_TYPE_MAX 8
#define PRED_GREAVE_TYPE_MAX 4
3 changes: 3 additions & 0 deletions code/__DEFINES/tgui.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,6 @@
#define DETAIL_LEVEL_HEALTHANALYSER 0
#define DETAIL_LEVEL_BODYSCAN 1
#define DETAIL_LEVEL_FULL 2

#define UI_MODE_MINIMAL 1
#define UI_MODE_CLASSIC 0
9 changes: 8 additions & 1 deletion code/__DEFINES/vendors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,15 @@
#define MARINE_CAN_BUY_DRESS "dress"
#define CIVILIAN_CAN_BUY_BACKPACK "civilian_backpack"
#define CIVILIAN_CAN_BUY_UTILITY "civilian_utility"
#define CIVILIAN_CAN_BUY_UNIFORM "civilian_uniform"
#define CIVILIAN_CAN_BUY_SUIT "civilian_suit"
#define CIVILIAN_CAN_BUY_HAT "civilian_hat"
#define CIVILIAN_CAN_BUY_GLASSES "civilian_glasses"
#define CIVILIAN_CAN_BUY_SHOES "civilian_shoes"
#define CIVILIAN_CAN_BUY_GLOVES "civilian_gloves"
#define CIVILIAN_CAN_BUY_ACCESSORY "civilian_accessory"

#define MARINE_CAN_BUY_ALL list(MARINE_CAN_BUY_UNIFORM = 1, MARINE_CAN_BUY_SHOES = 1, MARINE_CAN_BUY_HELMET = 1, MARINE_CAN_BUY_ARMOR = 1, MARINE_CAN_BUY_GLOVES = 1, MARINE_CAN_BUY_EAR = 1, MARINE_CAN_BUY_BACKPACK = 1, MARINE_CAN_BUY_POUCH = 2, MARINE_CAN_BUY_BELT = 1, MARINE_CAN_BUY_GLASSES = 1, MARINE_CAN_BUY_MASK = 1, MARINE_CAN_BUY_ESSENTIALS = 1, MARINE_CAN_BUY_SECONDARY = 1, MARINE_CAN_BUY_ATTACHMENT = 1, MARINE_CAN_BUY_MRE = 1, MARINE_CAN_BUY_ACCESSORY = 1, MARINE_CAN_BUY_COMBAT_SHOES = 1, MARINE_CAN_BUY_COMBAT_HELMET = 1, MARINE_CAN_BUY_COMBAT_ARMOR = 1, MARINE_CAN_BUY_KIT = 1, MARINE_CAN_BUY_DRESS = 99)
#define MARINE_CAN_BUY_ALL list(MARINE_CAN_BUY_UNIFORM = 1, MARINE_CAN_BUY_SHOES = 1, MARINE_CAN_BUY_HELMET = 1, MARINE_CAN_BUY_ARMOR = 1, MARINE_CAN_BUY_GLOVES = 1, MARINE_CAN_BUY_EAR = 1, MARINE_CAN_BUY_BACKPACK = 1, MARINE_CAN_BUY_POUCH = 2, MARINE_CAN_BUY_BELT = 1, MARINE_CAN_BUY_GLASSES = 1, MARINE_CAN_BUY_MASK = 1, MARINE_CAN_BUY_ESSENTIALS = 1, MARINE_CAN_BUY_SECONDARY = 1, MARINE_CAN_BUY_ATTACHMENT = 1, MARINE_CAN_BUY_MRE = 1, MARINE_CAN_BUY_ACCESSORY = 1, MARINE_CAN_BUY_COMBAT_SHOES = 1, MARINE_CAN_BUY_COMBAT_HELMET = 1, MARINE_CAN_BUY_COMBAT_ARMOR = 1, MARINE_CAN_BUY_KIT = 1, MARINE_CAN_BUY_DRESS = 99, CIVILIAN_CAN_BUY_UNIFORM = 5, CIVILIAN_CAN_BUY_SUIT = 5, CIVILIAN_CAN_BUY_HAT = 5, CIVILIAN_CAN_BUY_GLASSES = 2, CIVILIAN_CAN_BUY_SHOES = 2, CIVILIAN_CAN_BUY_GLOVES = 2, CIVILIAN_CAN_BUY_ACCESSORY = 5)

#define MARINE_TOTAL_BUY_POINTS 45
#define MARINE_TOTAL_SNOWFLAKE_POINTS 120
Expand Down
4 changes: 2 additions & 2 deletions code/controllers/subsystem/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,7 @@ SUBSYSTEM_DEF(minimaps)
faction = allowed_flags == MINIMAP_FLAG_XENO ? XENO_HIVE_NORMAL : FACTION_MARINE

if(is_xeno && xeno.hive.see_humans_on_tacmap && targeted_ztrait != ZTRAIT_MARINE_MAIN_SHIP)
allowed_flags |= MINIMAP_FLAG_USCM|MINIMAP_FLAG_PMC|MINIMAP_FLAG_UPP|MINIMAP_FLAG_CLF
allowed_flags |= MINIMAP_FLAG_USCM|MINIMAP_FLAG_WY|MINIMAP_FLAG_UPP|MINIMAP_FLAG_CLF
targeted_ztrait = ZTRAIT_MARINE_MAIN_SHIP
map_holder = null

Expand Down Expand Up @@ -1080,7 +1080,7 @@ SUBSYSTEM_DEF(minimaps)
if(FACTION_CLF)
return MINIMAP_FLAG_CLF
if(FACTION_PMC)
return MINIMAP_FLAG_PMC
return MINIMAP_FLAG_WY
if(FACTION_YAUTJA)
return MINIMAP_FLAG_YAUTJA
if(XENO_HIVE_CORRUPTED)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/ammo/bullet/lever_action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
/datum/ammo/bullet/lever_action/xm88
name = ".458 SOCOM round"

damage = 104
damage = 80
penetration = ARMOR_PENETRATION_TIER_2
accuracy = HIT_ACCURACY_TIER_1
shell_speed = AMMO_SPEED_TIER_6
Expand Down
2 changes: 1 addition & 1 deletion code/datums/ammo/shrapnel.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
flags_ammo_behavior = AMMO_STOPPED_BY_COVER
shell_speed = AMMO_SPEED_TIER_1
damage = 30
penetration = ARMOR_PENETRATION_TIER_10 //molten metal pierces your armor
penetration = ARMOR_PENETRATION_TIER_4

/datum/ammo/bullet/shrapnel/incendiary/set_bullet_traits()
. = ..()
Expand Down
22 changes: 12 additions & 10 deletions code/datums/ammo/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
flags_ammo_behavior = AMMO_XENO|AMMO_IGNORE_RESIST
spit_cost = 25
var/effect_power = XENO_NEURO_TIER_4
var/drain_power = 2
var/datum/callback/neuro_callback

shell_speed = AMMO_SPEED_TIER_3
Expand All @@ -37,21 +38,21 @@

neuro_callback = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(apply_neuro))

/proc/apply_neuro(mob/living/M, power, insta_neuro = FALSE, drain_stims = FALSE, drain_medchems = FALSE)
/proc/apply_neuro(mob/living/M, power, drain, insta_neuro = FALSE, drain_stims = FALSE, drain_medchems = FALSE)
if(skillcheck(M, SKILL_ENDURANCE, SKILL_ENDURANCE_MAX) && !insta_neuro)
M.visible_message(SPAN_DANGER("[M] withstands the neurotoxin!"))
return //endurance 5 makes you immune to weak neurotoxin
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(drain_stims)
for(var/datum/reagent/generated/stim in H.reagents.reagent_list)
H.reagents.remove_reagent(stim.id, power, TRUE)
H.reagents.remove_reagent(stim.id, drain, TRUE)
if(H.chem_effect_flags & CHEM_EFFECT_RESIST_NEURO || H.species.flags & NO_NEURO)
H.visible_message(SPAN_DANGER("[M] shrugs off the neurotoxin!"))
return //species like zombies or synths are immune to neurotoxin
if(drain_medchems)
for(var/datum/reagent/medical/med in H.reagents.reagent_list)
H.reagents.remove_reagent(med.id, power, TRUE)
H.reagents.remove_reagent(med.id, drain, TRUE)

if(!isxeno(M))
if(insta_neuro)
Expand Down Expand Up @@ -95,10 +96,10 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.status_flags & XENO_HOST)
neuro_callback.Invoke(H, effect_power, TRUE, TRUE, TRUE)
neuro_callback.Invoke(H, effect_power, drain_power, TRUE, TRUE, TRUE)
return

neuro_callback.Invoke(M, effect_power, FALSE, TRUE, TRUE)
neuro_callback.Invoke(M, effect_power, drain_power, FALSE, TRUE, TRUE)

/datum/ammo/xeno/toxin/medium //Spitter
name = "neurotoxic spatter"
Expand All @@ -111,12 +112,13 @@
name = "neurotoxic spit"
spit_cost = 50
effect_power = 2
drain_power = 4

accuracy = HIT_ACCURACY_TIER_5*2
max_range = 6 - 1

/datum/ammo/xeno/toxin/queen/on_hit_mob(mob/M,obj/projectile/P)
neuro_callback.Invoke(M, effect_power, TRUE, FALSE, FALSE)
neuro_callback.Invoke(M, effect_power, drain_power, TRUE, TRUE, FALSE)

/datum/ammo/xeno/toxin/shotgun
name = "neurotoxic droplet"
Expand All @@ -142,7 +144,7 @@

/datum/ammo/xeno/acid
name = "acid spit"
icon_state = "xeno_acid"
icon_state = "xeno_acid_weak"
sound_hit = "acid_hit"
sound_bounce = "acid_bounce"
damage_type = BURN
Expand All @@ -166,7 +168,7 @@

/datum/ammo/xeno/acid/spatter
name = "acid spatter"

icon_state = "xeno_acid_strong"
damage = 30
max_range = 6

Expand All @@ -179,7 +181,7 @@

/datum/ammo/xeno/acid/praetorian
name = "acid splash"

icon_state = "xeno_acid_strong"
accuracy = HIT_ACCURACY_TIER_10 + HIT_ACCURACY_TIER_5
max_range = 8
damage = 30
Expand All @@ -191,7 +193,7 @@

/datum/ammo/xeno/acid/prae_nade // Used by base prae's acid nade
name = "acid scatter"

icon_state = "xeno_acid_normal"
flags_ammo_behavior = AMMO_ACIDIC|AMMO_XENO|AMMO_STOPPED_BY_COVER
accuracy = HIT_ACCURACY_TIER_5
accurate_range = 32
Expand Down
4 changes: 2 additions & 2 deletions code/datums/browser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@

/datum/browser/proc/get_header()
head_content += "<link rel='stylesheet' type='text/css' href='[common_asset.get_url_mappings()[stylesheet]]'>"
head_content += "<link rel='stylesheet' type='text/css' href='[other_asset.get_url_mappings()["search.js"]]'>"
head_content += "<link rel='stylesheet' type='text/css' href='[other_asset.get_url_mappings()["loading.gif"]]'>"

for (var/file in stylesheets)
Expand All @@ -77,6 +76,7 @@

for (var/file in scripts)
head_content += "<script type='text/javascript' src='[SSassets.transport.get_asset_url(file)]'></script>"
head_content += "<script type='text/javascript' src='[other_asset.get_url_mappings()["search.js"]]'></script>"

var/title_attributes = "class='uiTitle'"
if (title_image)
Expand All @@ -88,7 +88,7 @@
<head>
[head_content]
</head>
<body scroll=auto>
<body scroll=auto onload='selectFilterField()'>
<div class='uiWrapper'>
[title ? "<div class='uiTitleWrapper'><div [title_attributes]><tt>[title]</tt></div><div class='uiTitleButtons'>[title_buttons]</div></div>" : ""]
<div class='uiContent'>
Expand Down
6 changes: 5 additions & 1 deletion code/datums/effects/neurotoxin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
var/chat_cd = 0
/// Stamina damage per tick. Major balance number.
var/stam_dam = 7
/// Stimulant drain per tick.
var/stim_drain = 2

/datum/effects/neurotoxin/New(atom/thing, mob/from = null)
..(thing, from, effect_name)
Expand All @@ -44,7 +46,9 @@
// General effects
affected_mob.last_damage_data = cause_data
affected_mob.apply_stamina_damage(stam_dam)
affected_mob.make_dizzy(12)
affected_mob.make_dizzy(8)
for(var/datum/reagent/generated/stim in affected_mob.reagents.reagent_list)
affected_mob.reagents.remove_reagent(stim.id, stim_drain, TRUE)

// Effect levels (shit that doesn't stack)
switch(duration)
Expand Down
20 changes: 18 additions & 2 deletions code/datums/factions/pmc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,32 @@
switch(_role)
if(JOB_PMC_DIRECTOR)
hud_icon_state = "sd"
if(JOB_PMC_LEADER, JOB_PMC_LEAD_INVEST)
if(JOB_PMC_LEADER)
hud_icon_state = "ld"
if(JOB_PMC_LEAD_INVEST)
hud_icon_state = "inv"
if(JOB_PMC_DOCTOR)
hud_icon_state = "td"
if(JOB_PMC_ENGINEER)
hud_icon_state = "ct"
if(JOB_PMC_MEDIC, JOB_PMC_INVESTIGATOR)
if(JOB_PMC_MEDIC)
hud_icon_state = "md"
if(JOB_PMC_INVESTIGATOR)
hud_icon_state = "mi"
if(JOB_PMC_SYNTH)
hud_icon_state = "syn"
if(JOB_PMC_XENO_HANDLER)
hud_icon_state = "handler"
if(JOB_PMC_GUNNER)
hud_icon_state = "sg"
if(JOB_PMC_DETAINER)
hud_icon_state = "mp"
if(JOB_PMC_CREWMAN)
hud_icon_state = "crew"
if(JOB_PMC_SNIPER)
hud_icon_state = "spec"
if(JOB_PMC_STANDARD)
hud_icon_state = "gun"
if(hud_icon_state)
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "pmc_[hud_icon_state]")

Expand Down
17 changes: 9 additions & 8 deletions code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
name = "Union of Progressive Peoples"
faction_tag = FACTION_UPP

/datum/faction/upp/modify_hud_holder(image/holder, mob/living/carbon/human/H)
/datum/faction/upp/modify_hud_holder(image/holder, mob/living/carbon/human/human)
var/hud_icon_state
var/obj/item/card/id/ID = H.get_idcard()
var/obj/item/card/id/ID = human.get_idcard()
var/default_color = FALSE //so squad units get red icons as survs and ERT
var/datum/squad/squad = H.assigned_squad
var/datum/squad/squad = human.assigned_squad

var/_role
if(H.mind)
_role = H.job
if(human.mind)
_role = human.job
else if(ID)
_role = ID.rank
switch(_role)
Expand Down Expand Up @@ -57,11 +57,12 @@
if(JOB_UPP_COMMISSAR)
hud_icon_state = "commi"
if(hud_icon_state)
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "upp_background")
var/image/rank_icon_image = image('icons/mob/hud/marine_hud.dmi', H, "upp_[hud_icon_state]")
holder.overlays += image('icons/mob/hud/marine_hud.dmi', human, "upp_background")
var/image/rank_icon_image = image('icons/mob/hud/marine_hud.dmi', human, "upp_[hud_icon_state]")
if(istype(squad))
human.langchat_color = human.assigned_squad.chat_color
rank_icon_image.color = squad.equipment_color
var/image/squad_circle = image('icons/mob/hud/marine_hud.dmi', H, "upp_squad_circle")
var/image/squad_circle = image('icons/mob/hud/marine_hud.dmi', human, "upp_squad_circle")
squad_circle.color = squad.equipment_color
holder.overlays += squad_circle
else
Expand Down
Loading

0 comments on commit afa885b

Please sign in to comment.