Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f309732
Tweaks the mortars ranges (#9549)
Nihisohel Jun 25, 2025
423c001
Automatic changelog for PR #9549 [ci skip]
cmss13-ci[bot] Jun 25, 2025
415af8e
Jungle Vines are now untrappable (#9388)
Willzadl Jun 25, 2025
7a12b1e
Automatic changelog for PR #9388 [ci skip]
cmss13-ci[bot] Jun 25, 2025
f6af128
Adds holocards to stasis bags (#9416)
SpypigDev Jun 25, 2025
e7b75ad
Automatic changelog for PR #9416 [ci skip]
cmss13-ci[bot] Jun 25, 2025
20428d5
[Re] Add Larva & Facehugger Roar emote cooldown. (#9588)
Venuska1117 Jun 25, 2025
f1b6867
Automatic changelog for PR #9588 [ci skip]
cmss13-ci[bot] Jun 25, 2025
c40a877
[Re] Gardener Drone: Changes and Improvements. (#9572)
Venuska1117 Jun 25, 2025
b5b2338
Automatic changelog for PR #9572 [ci skip]
cmss13-ci[bot] Jun 25, 2025
d3fb2e2
swaps the bodyguard beacon commandos off the deathsquad version (#9810)
Detective-Google Jun 25, 2025
7aa455c
Automatic changelog for PR #9810 [ci skip]
cmss13-ci[bot] Jun 25, 2025
47a993b
Removes burst from the custom m4ra (#9302)
Red-byte3D Jun 25, 2025
5aa2178
Automatic changelog for PR #9302 [ci skip]
cmss13-ci[bot] Jun 25, 2025
ee3cb62
Automatic changelog compile [ci skip]
cmss13-ci[bot] Jun 26, 2025
aa96eeb
fixes SMES terminal replace bug (#9790)
Detective-Google Jun 26, 2025
5a0adae
Fix caller overrides for OD2000 (#9772)
Drulikar Jun 26, 2025
f2a9caa
Automatic changelog for PR #9790 [ci skip]
cmss13-ci[bot] Jun 26, 2025
5d60567
Preserve previous primary potentate prospect (#9784)
FebrezeNinja Jun 26, 2025
46a6854
Automatic changelog for PR #9772 [ci skip]
cmss13-ci[bot] Jun 26, 2025
af38c10
Typo/grammar fixes, minor code improvements and blood spatters for Xe…
DarkLordCabbage Jun 26, 2025
7a7d28d
Automatic changelog for PR #9782 [ci skip]
cmss13-ci[bot] Jun 26, 2025
20350ea
Breaching charge direction fix (#9792)
JackieEstegado Jun 26, 2025
2f08715
Automatic changelog for PR #9792 [ci skip]
cmss13-ci[bot] Jun 26, 2025
41b3798
IASF insert & Hybrisa changes & Fixes. (#9062)
Zenith00000 Jun 26, 2025
7e2fc8e
Automatic changelog for PR #9062 [ci skip]
cmss13-ci[bot] Jun 26, 2025
7bceb3a
Spore Fruit Description Fix (#9816)
Venuska1117 Jun 26, 2025
03a7b39
Automatic changelog for PR #9816 [ci skip]
cmss13-ci[bot] Jun 26, 2025
72b36f7
Average-sized Pile of Fixes Regarding On_mobs, Addition Of New Briefc…
LC4492 Jun 26, 2025
236f8a8
Automatic changelog for PR #9546 [ci skip]
cmss13-ci[bot] Jun 26, 2025
303fcce
Project Fishbone P1: Medical Records TGUI (#9210)
SpypigDev Jun 26, 2025
c34d0c4
Automatic changelog for PR #9210 [ci skip]
cmss13-ci[bot] Jun 26, 2025
8d6a5b9
Fix a few ignored spacemandmm directives (#9764)
Drulikar Jun 26, 2025
fc79b51
Xeno tacmap is accessable off ovi during hijack ending + other xeno t…
private-tristan Jun 26, 2025
b7bf05d
Automatic changelog for PR #9757 [ci skip]
cmss13-ci[bot] Jun 26, 2025
90629d3
Automatic changelog compile [ci skip]
cmss13-ci[bot] Jun 27, 2025
660802a
UPP Ship Hull Window Fix + UPP APCs + UPP Prisoner Holding Cameras (#…
Ben10083 Jun 27, 2025
5f288df
Automatic changelog for PR #9349 [ci skip]
cmss13-ci[bot] Jun 27, 2025
7904f98
Merge branch 'master' into brute-final-touch
uuuuhuuuu Jun 27, 2025
eed4ebc
adressses kivis reqests
uuuuhuuuu Jun 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ It's best not to mess with the numbers of the regular access levels because
most of them are tied into map-placed objects. This should be reworked in the future.*/
//WE NEED TO REWORK THIS ONE DAY. Access levels make me cry - Apophis
#define ACCESS_MARINE_SENIOR 1
#define ACCESS_MARINE_DATABASE 2
#define ACCESS_MARINE_GENERAL 2
#define ACCESS_MARINE_BRIG 3
#define ACCESS_MARINE_ARMORY 4
#define ACCESS_MARINE_CMO 5
Expand Down Expand Up @@ -46,6 +46,11 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_MARINE_CHAPLAIN 38
#define ACCESS_MARINE_FIELD_DOC 39

/// Grants access to Marine record databases
#define ACCESS_MARINE_DATABASE 40
/// Grants administrator access to Marine record databases
#define ACCESS_MARINE_DATABASE_ADMIN 41

// AI Core Accesses
/// Used in temporary passes
#define ACCESS_MARINE_AI_TEMP 90
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,6 @@

/// From /mob/living/carbon/human/UnarmedAttack()
#define COMSIG_HUMAN_UNARMED_ATTACK "human_unarmed_attack"

/// From /mob/living/carbon/human/hud_set_holocard()
#define COMSIG_HUMAN_TRIAGE_CARD_UPDATED "human_triage_card_updated"
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,6 @@

/// From /mob/living/carbon/xenomorph/proc/do_evolve()
#define COMSIG_XENO_EVOLVE_TO_NEW_CASTE "xeno_evolve_to_new_caste"

/// From /mob/living/carbon/human/death(cause, gibbed)
#define COMSIG_XENO_REVEAL_TACMAP "xeno_reveal_tacmap"
19 changes: 19 additions & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,25 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
//-------- TWE --------//
#define JOB_TWE_REPRESENTATIVE "TWE Representative"

//IASF

#define JOB_TWE_IASF_PARA "IASF Paratrooper"
#define JOB_TWE_IASF_PARA_SNIPER "IASF Paratrooper (Marksman)"
#define JOB_TWE_IASF_PARA_PILOT "IASF Fleet Air Arm (Dropship Pilot)"
#define JOB_TWE_IASF_PARA_SMARTGUNNER "IASF Paratrooper (Smartgunner)"
#define JOB_TWE_IASF_PARA_SPECIALIST "IASF Paratrooper (Specialist)"
#define JOB_TWE_IASF_PARA_ENGI "IASF Paratrooper (Combat Engineer)"
#define JOB_TWE_IASF_PARA_MEDIC "IASF Paratrooper (Combat Medical Technician)"
#define JOB_TWE_IASF_PARA_SQUAD_LEADER "IASF Paratrooper (Squad Leader)"
#define JOB_TWE_IASF_PARA_LIEUTENANT "IASF Lieutenant"
#define JOB_TWE_IASF_PARA_CAPTAIN "IASF Captain"
#define JOB_TWE_IASF_PARA_MAJOR "IASF Major"
#define JOB_TWE_IASF_PARA_COMMANDER "IASF Commanding Officer"

#define JOB_TWE_IASF_PARA_SYNTH "IASF Support Synth"

#define TWE_IASF_JOB_LIST list(JOB_TWE_IASF_PARA, JOB_TWE_IASF_PARA_ENGI, JOB_TWE_IASF_PARA_MEDIC, JOB_TWE_IASF_PARA_PILOT, JOB_TWE_IASF_PARA_SMARTGUNNER, JOB_TWE_IASF_PARA_SPECIALIST, JOB_TWE_IASF_PARA_SNIPER , JOB_TWE_IASF_PARA_SQUAD_LEADER, JOB_TWE_IASF_PARA_LIEUTENANT, JOB_TWE_IASF_PARA_CAPTAIN, JOB_TWE_IASF_PARA_MAJOR, JOB_TWE_IASF_PARA_COMMANDER)

//RMC
#define JOB_TWE_RMC_RIFLEMAN "RMC Rifleman"
#define JOB_TWE_RMC_MARKSMAN "RMC Marksman"
Expand Down
23 changes: 12 additions & 11 deletions code/__DEFINES/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,18 @@
#define MOB_HUD_FACTION_WY 12
#define MOB_HUD_FACTION_HC 13
#define MOB_HUD_FACTION_TWE 14
#define MOB_HUD_FACTION_CLF 15
#define MOB_HUD_FACTION_PMC 16
#define MOB_HUD_FACTION_CMB 17
#define MOB_HUD_FACTION_NSPA 18
#define MOB_HUD_FACTION_PAP 19
#define MOB_HUD_FACTION_WO 20
#define MOB_HUD_HUNTER 21
#define MOB_HUD_HUNTER_CLAN 22
#define MOB_HUD_EXECUTE 23
#define MOB_HUD_NEW_PLAYER 24
#define MOB_HUD_SPYCAMS 25
#define MOB_HUD_FACTION_IASF 15
#define MOB_HUD_FACTION_CLF 16
#define MOB_HUD_FACTION_PMC 17
#define MOB_HUD_FACTION_CMB 18
#define MOB_HUD_FACTION_NSPA 19
#define MOB_HUD_FACTION_PAP 20
#define MOB_HUD_FACTION_WO 21
#define MOB_HUD_HUNTER 22
#define MOB_HUD_HUNTER_CLAN 23
#define MOB_HUD_EXECUTE 24
#define MOB_HUD_NEW_PLAYER 25
#define MOB_HUD_SPYCAMS 26

//for SL/FTL/LZ targeting on locator huds
#define TRACKER_SL "track_sl"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@ DEFINE_BITFIELD(whitelist_status, list(
#define FACTION_CONTRACTOR "VAI"
#define FACTION_MARSHAL "Colonial Marshal"
#define FACTION_NSPA "NSPA"
#define FACTION_IASF "Imperial Armed Space Force"
#define FACTION_PAP "People's Armed Police"
#define FACTION_HYPERDYNE "Hyperdyne Corporation"
#define FACTION_WY_DEATHSQUAD "WY Death Squad"
Expand Down Expand Up @@ -287,6 +288,7 @@ DEFINE_BITFIELD(whitelist_status, list(
#define FACTION_LIST_DUTCH list(FACTION_DUTCH)
#define FACTION_LIST_SURVIVOR_WY list(FACTION_SURVIVOR, FACTION_PMC, FACTION_WY)
#define FACTION_LIST_SURVIVOR_NSPA list(FACTION_SURVIVOR, FACTION_NSPA, FACTION_TWE)
#define FACTION_LIST_SURVIVOR_IASF list(FACTION_SURVIVOR, FACTION_IASF, FACTION_TWE)
#define FACTION_LIST_SURVIVOR_PAP list(FACTION_SURVIVOR, FACTION_PAP, FACTION_UPP)
#define FACTION_LIST_SURVIVOR_UPP list(FACTION_SURVIVOR, FACTION_UPP)
#define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY)
Expand Down
7 changes: 4 additions & 3 deletions code/controllers/subsystem/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -769,9 +769,10 @@ SUBSYSTEM_DEF(minimaps)
if(faction == FACTION_NEUTRAL && isobserver(user))
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)
if(is_xeno && xeno.hive.see_humans_on_tacmap)
if(targeted_ztrait != ZTRAIT_MARINE_MAIN_SHIP && !xeno.hive.need_round_end_check)
targeted_ztrait = ZTRAIT_MARINE_MAIN_SHIP
allowed_flags |= MINIMAP_FLAG_USCM|MINIMAP_FLAG_WY|MINIMAP_FLAG_UPP|MINIMAP_FLAG_CLF
targeted_ztrait = ZTRAIT_MARINE_MAIN_SHIP
map_holder = null

new_current_map = get_unannounced_tacmap_data_png(faction)
Expand Down Expand Up @@ -1048,7 +1049,7 @@ SUBSYSTEM_DEF(minimaps)
return UI_CLOSE

var/mob/living/carbon/xenomorph/xeno = user
if(!xeno.hive?.living_xeno_queen?.ovipositor)
if(!xeno.hive?.living_xeno_queen?.ovipositor && xeno.hive?.tacmap_requires_queen_ovi)
return UI_CLOSE

return UI_INTERACTIVE
Expand Down
2 changes: 2 additions & 0 deletions code/datums/ammo/bullet/pistol.dm
Original file line number Diff line number Diff line change
Expand Up @@ -285,3 +285,5 @@
penetration = 20
shrapnel_chance = SHRAPNEL_CHANCE_TIER_2

/datum/ammo/bullet/pistol/l54_custom
penetration= ARMOR_PENETRATION_TIER_3
2 changes: 1 addition & 1 deletion code/datums/ammo/bullet/smg.dm
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@
/datum/ammo/bullet/smg/p90/twe_ap
name = "armor-piercing submachinegun bullet"

damage = 26
damage = 20
accurate_range = 5
effective_range_max = 8
penetration = ARMOR_PENETRATION_TIER_4
Expand Down
5 changes: 5 additions & 0 deletions code/datums/ammo/rocket.dm
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,11 @@
INVOKE_ASYNC(src,PROC_REF(prime), null, projectile)

/datum/ammo/rocket/brute/proc/prime(atom/atom, obj/projectile/projectile)
if(istype(projectile.firer,/mob/living/carbon))
var/mob/living/carbon/firer = projectile.firer
firer.attack_log += "\[[time_stamp()]\] <font color='red'> [key_name(projectile.firer)] fired [name] on [atom]</font>"
msg_admin_niche("[key_name(firer, firer.client)] fired [src.name] on [atom.name] at ([atom.x],[atom.y],[atom.z]) [ADMIN_JMP(atom)] ")
log_game("[key_name(firer)] fired [src.name] on [atom.name] at ([atom.x],[atom.y],[atom.z])")
var/angle = projectile.angle
var/right_angle = (angle + 90 ) % 360
var/left_angle = (angle -90) % 360
Expand Down
20 changes: 10 additions & 10 deletions code/datums/datacore.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,15 @@ GLOBAL_DATUM_INIT(data_core, /datum/datacore, new)
record_medical.fields["id"] = id
record_medical.fields["name"] = target.real_name
record_medical.name = target.name
record_medical.fields["b_type"] = target.blood_type
record_medical.fields["mi_dis"] = "None"
record_medical.fields["mi_dis_d"] = "No minor disabilities have been declared."
record_medical.fields["ma_dis"] = "None"
record_medical.fields["ma_dis_d"] = "No major disabilities have been diagnosed."
record_medical.fields["alg"] = "None"
record_medical.fields["alg_d"] = "No allergies have been detected in this patient."
record_medical.fields["cdi"] = "None"
record_medical.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
record_medical.fields["blood_type"] = target.blood_type
record_medical.fields["minor_disability"] = "None"
record_medical.fields["minor_disability_details"] = "No minor disabilities have been declared."
record_medical.fields["major_disability"] = "None"
record_medical.fields["major_disability_details"] = "No major disabilities have been diagnosed."
record_medical.fields["allergies"] = "None"
record_medical.fields["allergies_details"] = "No allergies have been detected in this patient."
record_medical.fields["diseases"] = "None"
record_medical.fields["diseases_details"] = "No diseases have been diagnosed at the moment."
record_medical.fields["last_scan_time"] = null
record_medical.fields["last_scan_result"] = "No scan data on record" // body scanner results
record_medical.fields["autodoc_data"] = list()
Expand Down Expand Up @@ -156,7 +156,7 @@ GLOBAL_DATUM_INIT(data_core, /datum/datacore, new)
record_locked.fields["rank"] = target.job
record_locked.fields["age"] = target.age
record_locked.fields["sex"] = target.gender
record_locked.fields["b_type"] = target.b_type
record_locked.fields["blood_type"] = target.blood_type
record_locked.fields["species"] = target.get_species()
record_locked.fields["origin"] = target.origin
record_locked.fields["faction"] = target.personal_faction
Expand Down
8 changes: 8 additions & 0 deletions code/datums/effects/heal_over_time.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,11 @@
affected_mob.updatehealth()

return TRUE

/datum/effects/heal_over_time/Destroy()
if(affected_atom)
var/mob/living/carbon/xenomorph/xeno = affected_atom
if(istype(xeno))
xeno.balloon_alert(xeno, "our regeneration speed returns to normal.", text_color = "#17991b80")
playsound(xeno, 'sound/effects/squish_and_exhaust.ogg', 25, 1)
return ..()
8 changes: 8 additions & 0 deletions code/datums/effects/plasma_over_time.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,11 @@
affected_mob.gain_plasma(plasma_each_process)

return TRUE

/datum/effects/plasma_over_time/Destroy()
if(affected_atom)
var/mob/living/carbon/xenomorph/xeno = affected_atom
if(istype(xeno))
xeno.balloon_alert(xeno, "our plasma rush subsides.", text_color = "#1e6072")
playsound(xeno, 'sound/effects/squish_and_exhaust.ogg', 25, 1)
return ..()
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,21 @@

/datum/effects/gain_xeno_cooldown_reduction_on_slash/Destroy()
if(affected_atom)
var/mob/living/carbon/xenomorph/X = affected_atom
X.cooldown_reduction_percentage -= current_reduction
to_chat(X, SPAN_XENOWARNING("You feel your frenzy wanes! Your cooldowns are back to normal."))
if(X.cooldown_reduction_percentage < 0)
X.cooldown_reduction_percentage = 0
var/mob/living/carbon/xenomorph/xeno = affected_atom
xeno.cooldown_reduction_percentage -= current_reduction
to_chat(xeno, SPAN_XENOWARNING("We feel our frenzy wane! Our cooldowns are back to normal."))
xeno.balloon_alert(xeno, "we feel our frenzy wane!", text_color = "#99461780")
playsound(xeno, 'sound/effects/squish_and_exhaust.ogg', 25, 1)
if(xeno.cooldown_reduction_percentage < 0)
xeno.cooldown_reduction_percentage = 0

return ..()

/datum/effects/gain_xeno_cooldown_reduction_on_slash/proc/increase_cooldown_reduction()
SIGNAL_HANDLER
if(affected_atom && current_reduction < max_reduction_amount)
var/mob/living/carbon/xenomorph/X = affected_atom
var/mob/living/carbon/xenomorph/xeno = affected_atom
var/previous_reduction = current_reduction
current_reduction = min(current_reduction + reduction_amount_per_slash, max_reduction_amount)
var/delta = current_reduction - previous_reduction
X.cooldown_reduction_percentage += delta
xeno.cooldown_reduction_percentage += delta
2 changes: 2 additions & 0 deletions code/datums/effects/xeno_strains/xeno_speed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,6 @@
LAZYREMOVE(xeno.modifier_sources, effect_modifier_source)
if(effect_end_message)
to_chat(xeno, effect_end_message)
xeno.balloon_alert(xeno, "our speed fall back to normal.", text_color = "#5B248C")
playsound(xeno, 'sound/effects/squish_and_exhaust.ogg', 25, 1)
return ..()
2 changes: 1 addition & 1 deletion code/datums/elements/_element.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
/// Deactivates the functionality defines by the element on the given datum
/datum/element/proc/Detach(datum/source, force)
SIGNAL_HANDLER
SHOULD_CALL_PARENT(TRUE)

SEND_SIGNAL(source, COMSIG_ELEMENT_DETACH, src)
SHOULD_CALL_PARENT(TRUE)
UnregisterSignal(source, COMSIG_PARENT_QDELETING)

/datum/element/Destroy(force)
Expand Down
4 changes: 2 additions & 2 deletions code/datums/emergency_calls/bodyguard.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@
spawn_header_leader = "You are a Weyland-Yutani PMC Lead Investigator!"

/datum/emergency_call/wy_bodyguard/commando
equipment_preset = /datum/equipment_preset/pmc/commando/standard
equipment_preset_leader = /datum/equipment_preset/pmc/commando/leader
equipment_preset = /datum/equipment_preset/pmc/commando/standard/low_threat
equipment_preset_leader = /datum/equipment_preset/pmc/commando/leader/low_threat
spawn_header = "You are a Weyland-Yutani Commando!"
spawn_header_leader = "You are a Weyland-Yutani Commando Leader!"

Expand Down
41 changes: 41 additions & 0 deletions code/datums/factions/iasf.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/datum/faction/iasf
name = "TWE - Imperial Armed Space Force"
faction_tag = FACTION_IASF

/datum/faction/iasf/modify_hud_holder(image/holder, mob/living/carbon/human/human)
var/hud_icon_state
var/obj/item/card/id/dogtag/ID = human.get_idcard()
var/_role
if(human.mind)
_role = human.job
else if(ID)
_role = ID.rank
switch(_role)
if(JOB_TWE_IASF_PARA_LIEUTENANT)
hud_icon_state = "lieutenant"
if(JOB_TWE_IASF_PARA_SQUAD_LEADER)
hud_icon_state = "teamleader"
if(JOB_TWE_IASF_PARA_SNIPER)
hud_icon_state = "sniper"
if(JOB_TWE_IASF_PARA_MEDIC)
hud_icon_state = "medic"
if(JOB_TWE_IASF_PARA)
hud_icon_state = "rifleman"
if(JOB_TWE_IASF_PARA_SMARTGUNNER)
hud_icon_state = "smartgunner"
if(JOB_TWE_IASF_PARA_SPECIALIST)
hud_icon_state = "spec"
if(JOB_TWE_IASF_PARA_PILOT)
hud_icon_state = "pilot"
if(JOB_TWE_IASF_PARA_ENGI)
hud_icon_state = "engi"
if(JOB_TWE_IASF_PARA_CAPTAIN)
hud_icon_state = "commander"
if(JOB_TWE_IASF_PARA_MAJOR)
hud_icon_state = "major"
if (JOB_TWE_IASF_PARA_COMMANDER)
hud_icon_state = "commander"
if (JOB_TWE_IASF_PARA_SYNTH)
hud_icon_state = "synth"
if(hud_icon_state)
holder.overlays += image('icons/mob/hud/marine_hud.dmi', human, "iasf_[hud_icon_state]")
21 changes: 21 additions & 0 deletions code/datums/map_config.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@
var/list/synth_survivor_types_by_variant

var/list/CO_survivor_types
var/list/CO_survivor_types_by_variant

var/list/CO_insert_survivor_types
var/list/CO_insert_survivor_types_by_variant

var/list/defcon_triggers = list(5150, 4225, 2800, 1000, 0.0)

Expand Down Expand Up @@ -278,6 +282,23 @@
pathed_CO_survivor_types += CO_survivor_typepath
CO_survivor_types = pathed_CO_survivor_types.Copy()

if(islist(json["CO_insert_survivor_types"]))
CO_insert_survivor_types = json["CO_insert_survivor_types"]
else if ("CO_insert_survivor_types" in json)
log_world("map_config CO_insert_survivor_types is not a list!")
return

var/list/pathed_CO_insert_survivor_types = list()
for(var/CO_insert_surv_type in CO_insert_survivor_types)
var/CO_insert_survivor_typepath = CO_insert_surv_type
if(!ispath(CO_insert_survivor_typepath))
CO_insert_survivor_typepath = text2path(CO_insert_surv_type)
if(!ispath(CO_insert_survivor_typepath))
log_world("[CO_insert_surv_type] isn't a proper typepath, removing from CO_insert_survivor_types list")
continue
pathed_CO_insert_survivor_types += CO_insert_survivor_typepath
CO_insert_survivor_types = pathed_CO_insert_survivor_types.Copy()

if (islist(json["monkey_types"]))
monkey_types = list()
for(var/monkey in json["monkey_types"])
Expand Down
5 changes: 5 additions & 0 deletions code/datums/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list(
MOB_HUD_FACTION_WY = new /datum/mob_hud/faction/wy(),
MOB_HUD_FACTION_HC = new /datum/mob_hud/faction/hyperdyne(),
MOB_HUD_FACTION_TWE = new /datum/mob_hud/faction/twe(),
MOB_HUD_FACTION_IASF = new /datum/mob_hud/faction/iasf(),
MOB_HUD_FACTION_CLF = new /datum/mob_hud/faction/clf(),
MOB_HUD_FACTION_PMC = new /datum/mob_hud/faction/pmc(),
MOB_HUD_FACTION_CMB = new /datum/mob_hud/faction/cmb(),
Expand Down Expand Up @@ -216,6 +217,9 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list(
/datum/mob_hud/faction/twe
faction_to_check = FACTION_TWE

/datum/mob_hud/faction/iasf
faction_to_check = FACTION_IASF

/datum/mob_hud/faction/clf
faction_to_check = FACTION_CLF

Expand Down Expand Up @@ -798,6 +802,7 @@ GLOBAL_DATUM_INIT(hud_icon_hudfocus, /image, image('icons/mob/hud/marine_hud.dmi
/mob/living/carbon/human/hud_set_holocard()
var/image/holder = hud_list[HOLOCARD_HUD]
holder.icon_state = holo_card_color ? "holo_card_[holo_card_color]" : "hudblank"
SEND_SIGNAL(src, COMSIG_HUMAN_TRIAGE_CARD_UPDATED)

// Vampire Execute HUD
/mob/living/carbon/human/proc/update_execute_hud()
Expand Down
Loading
Loading