Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
14aa0a7
init
Git-Nivrak Sep 9, 2025
6ae534c
tabs
Git-Nivrak Sep 9, 2025
41f2e26
beret desc
Git-Nivrak Sep 9, 2025
9fe5f22
Fixes
Git-Nivrak Sep 9, 2025
1c02820
Update squads.dm
Git-Nivrak Sep 10, 2025
9326851
Update squads.dm
Git-Nivrak Sep 11, 2025
af472b5
a
Git-Nivrak Sep 11, 2025
7e8f86d
adds ratio balancing, headsets are now self setting
Git-Nivrak Sep 13, 2025
6c9f852
fix
Git-Nivrak Sep 13, 2025
f2fa8d6
stages squad distribution, more fixes
Git-Nivrak Sep 13, 2025
13949aa
Increase SG count
Git-Nivrak Sep 13, 2025
74073fc
Linter stuff
Git-Nivrak Sep 13, 2025
7f112e6
Update ticker.dm
Git-Nivrak Sep 13, 2025
2fde53f
Update USS_Almayer.dmm
Git-Nivrak Sep 13, 2025
71541af
Fixup maps in TGM format
Git-Nivrak Sep 13, 2025
abe3e54
Bunch of fixes
Git-Nivrak Sep 13, 2025
2039af9
stripe sprites
Git-Nivrak Sep 13, 2025
360ad9c
Fixup maps in TGM format
Git-Nivrak Sep 13, 2025
de9cdbe
Adds missing SL slot
Git-Nivrak Sep 13, 2025
1b33f3b
Six squad leaders, actually
Git-Nivrak Sep 13, 2025
1df3de7
Colors, More access fixes, Orbit menu and crew manifest, Encryption keys
Git-Nivrak Sep 13, 2025
620b789
Fix crew manifest ordering and colors
Git-Nivrak Sep 13, 2025
f9b36fc
colon
Git-Nivrak Sep 13, 2025
bf76c83
Update USS_Almayer.dmm
Git-Nivrak Sep 13, 2025
7d94fac
Update squads.dm
Git-Nivrak Sep 13, 2025
54a51f7
Colors
Git-Nivrak Sep 13, 2025
4cc6f79
Background colors
Git-Nivrak Sep 13, 2025
30459a1
squad item missing icons
thwompa Sep 14, 2025
271d1d6
Merge pull request #24 from thwompa/ass-map-thwomping
Git-Nivrak Sep 14, 2025
9b63034
Limits medic and ct to 1 on support squads
Git-Nivrak Sep 14, 2025
6071b9e
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Sep 14, 2025
b34fffb
color that exists
Git-Nivrak Sep 14, 2025
c02910d
radio colors
Git-Nivrak Sep 14, 2025
a05ed70
Bunch of stuff (expand)
Git-Nivrak Sep 15, 2025
7d23458
Fixes tracker, icon problems, adds squad designation information
Git-Nivrak Sep 15, 2025
9261fe5
edit the file on the actual repo this time
Git-Nivrak Sep 15, 2025
3fe4bd3
tango
thwompa Sep 15, 2025
10e7c1b
map and landmarks
thwompa Sep 15, 2025
46ef057
Expand
Git-Nivrak Sep 16, 2025
3d8a01a
Improves distribution, adds some lights
Git-Nivrak Sep 16, 2025
1e3b684
Fixup maps in TGM format
Git-Nivrak Sep 16, 2025
6cf7a13
Priority input, Headset fixes
Git-Nivrak Sep 17, 2025
316f164
TGUI linters and tracker sprites
Git-Nivrak Sep 18, 2025
3260bc4
Update scarves.dmi
Git-Nivrak Sep 18, 2025
cb02262
Kilo opens at 80 clients, Oscar at 120
Git-Nivrak Sep 18, 2025
858e49b
typo
Git-Nivrak Sep 18, 2025
90380a9
Unlocks squads based on pop
Git-Nivrak Sep 18, 2025
e0e2658
Fixes slots
Git-Nivrak Sep 18, 2025
77dc784
remove debug messages
Git-Nivrak Sep 18, 2025
5af7a89
Expand
Git-Nivrak Sep 20, 2025
8a11ac3
Fixes access in ammo vendors
Git-Nivrak Sep 20, 2025
b41c241
Update USS_Almayer.dmm
Git-Nivrak Sep 20, 2025
aab6cc8
Fixup maps in TGM format
Git-Nivrak Sep 20, 2025
d9e598e
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Sep 20, 2025
947f25f
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Dec 2, 2025
6dd9a26
Update squads.dm
Git-Nivrak Dec 2, 2025
d1b660e
fix
Git-Nivrak Dec 8, 2025
21aa360
Access stuff
Git-Nivrak Dec 18, 2025
24bce99
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Dec 18, 2025
8eef791
Remove vend x offset
Git-Nivrak Dec 18, 2025
3b50d1e
Add missing trackers
Git-Nivrak Dec 18, 2025
81239ff
Track LZ by default for SLs
Git-Nivrak Dec 22, 2025
e93cae4
Colors and chairs
Git-Nivrak Dec 22, 2025
8bebdb1
Tacmap colors
Git-Nivrak Dec 22, 2025
1c4aadb
Fixup maps in TGM format
Git-Nivrak Dec 22, 2025
aa7914c
Makes it so you can log into both consoles
Git-Nivrak Dec 22, 2025
2fc8da2
Increase pop locks a bit
Git-Nivrak Dec 22, 2025
9dc240f
Update USS_Almayer.dmm
Git-Nivrak Dec 22, 2025
bf28809
Allow setting primary and secondary through central overwatch
Git-Nivrak Dec 23, 2025
b38332b
Merge branch 'ass3' of https://github.com/thwompa/cmss13 into ass3
thwompa Dec 24, 2025
31dc1a9
tweaks oscar color for readability
thwompa Dec 25, 2025
2997a17
oscar colors
thwompa Dec 25, 2025
a7228cb
floor tile sprite color fixes
thwompa Dec 25, 2025
edc6134
Allows people to opt out of squads
Git-Nivrak Dec 25, 2025
c8ab61e
Fix ghost roles taking up space
Git-Nivrak Dec 25, 2025
0702d8a
delete them as well afterwards
Git-Nivrak Dec 25, 2025
dcede86
better
Git-Nivrak Dec 25, 2025
469f550
Merge pull request #32 from thwompa/colours
Git-Nivrak Dec 26, 2025
5035bd4
This one is for the CIC players
Git-Nivrak Dec 26, 2025
70735e7
Brings IOs back from the dead
Git-Nivrak Dec 26, 2025
5614dea
For real this time
Git-Nivrak Dec 26, 2025
c6ad3fe
prevent foxtrot edge cases
Git-Nivrak Dec 27, 2025
9b4e8f7
Fixes #10664
Git-Nivrak Dec 27, 2025
c54a12d
Fix #10670
Git-Nivrak Dec 27, 2025
b218092
Fixes #11364
Git-Nivrak Dec 27, 2025
affa208
Overwatch qol
Git-Nivrak Dec 27, 2025
a6ad75f
No more 5x XO consoles
Git-Nivrak Dec 28, 2025
e20831a
Possible fix to foxtrot spawn
Git-Nivrak Dec 28, 2025
5330b11
Better fix hopefully?
Git-Nivrak Dec 28, 2025
9ee98ec
canteen access and ow
thwompa Dec 28, 2025
9be5645
Even more failsafes
Git-Nivrak Dec 28, 2025
1bcbf6c
shooting in the dark out here
Git-Nivrak Dec 28, 2025
b100bac
Perhaps this fixes it
Git-Nivrak Dec 29, 2025
91fca19
Update role_authority.dm
Git-Nivrak Dec 29, 2025
c844ef1
I promise it works now
Git-Nivrak Dec 29, 2025
0fc520b
Might as well fix that
Git-Nivrak Dec 29, 2025
3ba8c0f
Merge pull request #34 from thwompa/canteenfix
Git-Nivrak Dec 29, 2025
6cfb867
revert that
Git-Nivrak Dec 29, 2025
6c230d0
Fixup maps in TGM format
Git-Nivrak Dec 29, 2025
3deafde
much awesomer canteen
thwompa Dec 29, 2025
8404637
Merge pull request #36 from thwompa/canteenLINT
Git-Nivrak Dec 29, 2025
5db514a
Fixup maps in TGM format
Git-Nivrak Dec 29, 2025
6561943
Update USS_Almayer.dmm
Git-Nivrak Dec 29, 2025
cf0e9b3
Update USS_Almayer.dmm
thwompa Dec 29, 2025
29d2e75
review
thwompa Dec 29, 2025
cd79b2c
fixes
thwompa Dec 29, 2025
139cb15
Merge pull request #37 from thwompa/canteen-access
Git-Nivrak Dec 29, 2025
ddb4df6
Fixup maps in TGM format
Git-Nivrak Dec 29, 2025
6754d67
This was a bad idea I think
Git-Nivrak Dec 29, 2025
8a09764
Update USS_Almayer.dmm
Git-Nivrak Dec 29, 2025
ddccee7
Can't have nice things
Git-Nivrak Dec 29, 2025
5e81ca5
Fix non multiz ladders
Git-Nivrak Dec 29, 2025
78d1ac9
port
thwompa Dec 29, 2025
350c540
Merge pull request #38 from thwompa/kitcheng
Git-Nivrak Dec 29, 2025
f3006c0
ladders again
Git-Nivrak Dec 29, 2025
48e03b2
and cic map again
Git-Nivrak Dec 29, 2025
fe4331e
Fixup maps in TGM format
Git-Nivrak Dec 29, 2025
953317a
Deduplicate that
Git-Nivrak Dec 29, 2025
7f88789
Update USS_Almayer.dmm
Git-Nivrak Dec 29, 2025
5fdce55
mug rack
Git-Nivrak Dec 29, 2025
95965eb
Fixup maps in TGM format
Git-Nivrak Dec 29, 2025
08ecd24
Update hybrisa_props.dm
Git-Nivrak Dec 29, 2025
e468b11
canteen tweaks and also removes mre from utility vendor
thwompa Dec 30, 2025
cb9d46d
Merge pull request #40 from thwompa/kitchen-additions
Git-Nivrak Dec 30, 2025
570c038
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Dec 30, 2025
51b1d72
Fixup maps in TGM format
Git-Nivrak Dec 30, 2025
3dccbaa
Actually give them the new colors
Git-Nivrak Dec 30, 2025
a333880
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Dec 31, 2025
32ce955
Update USS_Almayer.dmm
Git-Nivrak Jan 1, 2026
2f1680b
Update USS_Almayer.dmm
Git-Nivrak Jan 1, 2026
40ca226
misc fixes
thwompa Jan 4, 2026
6dbe818
more tweeks
thwompa Jan 4, 2026
28953bf
tweeo
thwompa Jan 4, 2026
5413627
Merge pull request #41 from thwompa/doors
Git-Nivrak Jan 5, 2026
292d400
Fixup maps in TGM format
Git-Nivrak Jan 5, 2026
001b519
Fix this for the tgui say users
Git-Nivrak Jan 6, 2026
1514401
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Jan 7, 2026
66d4a39
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Jan 7, 2026
bf1607d
Update USS_Almayer.dmm
Git-Nivrak Jan 7, 2026
23a1af6
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Jan 23, 2026
a1ccbc2
deconflict
Jan 24, 2026
a3d6966
Fixup maps in TGM format
Jan 24, 2026
2b9a2e0
Update constants.ts
Git-Nivrak Jan 24, 2026
04fdeb1
sprite review
thwompa Jan 24, 2026
e731a10
map review
thwompa Jan 24, 2026
70819c1
Merge pull request #42 from thwompa/ass-review
Git-Nivrak Jan 24, 2026
1100991
review
Git-Nivrak Jan 25, 2026
71c88f2
apc fix
thwompa Jan 25, 2026
ee4074c
Merge pull request #43 from thwompa/ass-review
Git-Nivrak Jan 26, 2026
87b9dbb
LordWhyIsItNotSorted
MistChristmas Jan 27, 2026
019fc5e
Merge pull request #44 from MistChristmas/M10
Git-Nivrak Jan 28, 2026
87b09e1
Merge remote-tracking branch 'upstream/master' into ass3
hry-gh Feb 3, 2026
d6941e2
review
Git-Nivrak Feb 5, 2026
a8b3c27
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Feb 20, 2026
01c2cc7
Merge remote-tracking branch 'upstream/master' into ass3
Git-Nivrak Feb 25, 2026
fef7b6e
Merge remote-tracking branch 'upstream/master' into ass4
ori-disillusion-mirnov Jun 27, 2026
1b44423
sprite fixes
ori-disillusion-mirnov Jun 27, 2026
0bd8097
Fixup maps in TGM format
ori-disillusion-mirnov Jun 27, 2026
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
2 changes: 1 addition & 1 deletion code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ most of them are tied into map-placed objects. This should be reworked in the fu

#define ACCESS_MARINE_ALPHA 15
#define ACCESS_MARINE_BRAVO 16
#define ACCESS_MARINE_CHARLIE 17
#define ACCESS_MARINE_SUPPORT 17
#define ACCESS_MARINE_DELTA 18

#define ACCESS_MARINE_COMMAND 19
Expand Down
7 changes: 7 additions & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#define SQUAD_MARINE_3 "Charlie"
#define SQUAD_MARINE_4 "Delta"
#define SQUAD_MARINE_5 "Echo"
#define SQUAD_MARINE_6 "Kilo"
#define SQUAD_MARINE_7 "Oscar"
#define SQUAD_MARINE_CRYO "Foxtrot"
#define SQUAD_MARINE_INTEL "Intel"
#define SQUAD_SOF "SOF"
Expand All @@ -16,6 +18,11 @@
#define SQUAD_SOLAR "Solar Devils"
#define SQUAD_ARMY "US Army"

// Squad Roles
#define SQUAD_ROLE_ASSAULT "Assault"
#define SQUAD_ROLE_SUPPORT "Support"
#define SQUAD_ROLE_SECURITY "Security"

// Job name defines
#define JOB_SQUAD_MARINE "Rifleman"
#define JOB_SQUAD_LEADER "Squad Leader"
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ GLOBAL_LIST_INIT(all_minimap_flags, bitfield2list(MINIMAP_FLAG_ALL))
#define MINIMAP_DRAWING_YELLOW "#FFFF00"
#define MINIMAP_DRAWING_PURPLE "#A020F0"
#define MINIMAP_DRAWING_BLUE "#0000FF"
#define MINIMAP_DRAWING_TEAL "#059e96"
#define MINIMAP_DRAWING_LIME "#d6ffb2"

//Turf colors
#define MINIMAP_BLACK "#111111d0"
Expand Down Expand Up @@ -81,6 +83,8 @@ GLOBAL_LIST_INIT(all_minimap_flags, bitfield2list(MINIMAP_FLAG_ALL))
#define MINIMAP_SQUAD_CHARLIE "#76418a"
#define MINIMAP_SQUAD_DELTA "#0c0cae"
#define MINIMAP_SQUAD_ECHO "#00b043"
#define MINIMAP_SQUAD_KILO "#059e96"
#define MINIMAP_SQUAD_OSCAR "#d6ffb2"
#define MINIMAP_SQUAD_FOXTROT "#fe7b2e"
#define MINIMAP_SQUAD_SOF "#400000"
#define MINIMAP_SQUAD_ARMY "#349c30"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@
#define TRACKER_CSL "_csl" // Charlie Squad Leader
#define TRACKER_DSL "_dsl" // Delta Squad Leader
#define TRACKER_ESL "_esl" // Echo Squad Leader
#define TRACKER_KSL "_ksl" // Kilo Squad Leader
#define TRACKER_OSL "_osl" // Oscar Squad Leader
#define TRACKER_FSL "_fsl" // Cryo Squad Leader
#define TRACKER_ISL "_isl" // Intel Squad Leader

Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(ROLES_MEDICAL, list(JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_FI
GLOBAL_LIST_INIT(ROLES_MEDICAL_ANTAG, list(JOB_UPP_LT_DOKTOR))
GLOBAL_LIST_INIT(ROLES_MARINES, list(JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE))
GLOBAL_LIST_INIT(ROLES_MARINES_ANTAG, list(JOB_UPP, JOB_UPP_ENGI, JOB_UPP_MEDIC, JOB_UPP_SPECIALIST, JOB_UPP_LEADER))
GLOBAL_LIST_INIT(ROLES_SQUAD_ALL, list(SQUAD_MARINE_1, SQUAD_MARINE_2, SQUAD_MARINE_3, SQUAD_MARINE_4, SQUAD_MARINE_5, SQUAD_MARINE_CRYO, SQUAD_MARINE_INTEL))
GLOBAL_LIST_INIT(ROLES_SQUAD_ALL, list())
GLOBAL_LIST_INIT(ROLES_WO, list(JOB_WO_CO, JOB_WO_XO, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_WARDEN, JOB_WO_POLICE, JOB_WO_PILOT, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION, JOB_WO_CMO, JOB_WO_DOCTOR, JOB_WO_RESEARCHER, JOB_WO_SQUAD_MARINE, JOB_WO_SQUAD_MEDIC, JOB_WO_SQUAD_ENGINEER, JOB_WO_SQUAD_SMARTGUNNER, JOB_WO_SQUAD_SPECIALIST, JOB_WO_SQUAD_LEADER, JOB_XENOMORPH_QUEEN))
/// Roles not intended to be spawned.
GLOBAL_LIST_INIT(ROLES_NOSPAWN, list(JOB_POLICE_HG))
Expand Down
20 changes: 6 additions & 14 deletions code/controllers/subsystem/communications.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,9 @@ Radiochat range: 1441 to 1489 (most devices refuse to be tune to other frequency
#define CHARLIE_FREQ 1493
#define DELTA_FREQ 1494
#define ECHO_FREQ 1495
#define CRYO_FREQ 1496
#define KILO_FREQ 1496
#define OSCAR_FREQ 1497
#define CRYO_FREQ 1498

//Civilian channels
#define COLONY_FREQ 1469
Expand Down Expand Up @@ -189,18 +191,6 @@ GLOBAL_LIST_INIT(radiochannels, list(
RADIO_CHANNEL_JTAC = JTAC_FREQ,
RADIO_CHANNEL_INTEL = INTEL_FREQ,

SQUAD_MARINE_1 = ALPHA_FREQ,
SQUAD_MARINE_2 = BRAVO_FREQ,
SQUAD_MARINE_3 = CHARLIE_FREQ,
SQUAD_MARINE_4 = DELTA_FREQ,
SQUAD_MARINE_5 = ECHO_FREQ,
SQUAD_MARINE_CRYO = CRYO_FREQ,
SQUAD_SOF = SOF_FREQ,
SQUAD_CBRN = CBRN_FREQ,
SQUAD_FORECON = FORECON_FREQ,
SQUAD_SOLAR = SOF_FREQ,
SQUAD_ARMY = ARMY_FREQ,

RADIO_CHANNEL_ALAMO = DS1_FREQ,
RADIO_CHANNEL_NORMANDY = DS2_FREQ,
RADIO_CHANNEL_SAIPAN = DS3_FREQ,
Expand Down Expand Up @@ -261,7 +251,7 @@ GLOBAL_LIST_INIT(radiochannels, list(
#define FAX_RESP_FREQS list(FAX_WY_FREQ, FAX_USCM_HC_FREQ, FAX_USCM_PVST_FREQ)

//Depts - used for colors in headset.dm, as well as deciding what the marine comms tower can listen into
#define DEPT_FREQS list(COMM_FREQ, MED_FREQ, ENG_FREQ, SEC_FREQ, SENTRY_FREQ, ALPHA_FREQ, BRAVO_FREQ, CHARLIE_FREQ, DELTA_FREQ, ECHO_FREQ, CRYO_FREQ, REQ_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ)
#define DEPT_FREQS list(COMM_FREQ, MED_FREQ, ENG_FREQ, SEC_FREQ, SENTRY_FREQ, ALPHA_FREQ, BRAVO_FREQ, CHARLIE_FREQ, DELTA_FREQ, ECHO_FREQ, KILO_FREQ, OSCAR_FREQ, CRYO_FREQ, REQ_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ)

//Bonus frequencies for special survivor factions
#define SURVIVOR_FREQS list(SOF_FREQ, ARMY_FREQ)
Expand Down Expand Up @@ -332,6 +322,8 @@ SUBSYSTEM_DEF(radio)
"[CHARLIE_FREQ]" = "charlieradio",
"[DELTA_FREQ]" = "deltaradio",
"[ECHO_FREQ]" = "echoradio",
"[KILO_FREQ]" = "kiloradio",
"[OSCAR_FREQ]" = "oscarradio",
"[CRYO_FREQ]" = "cryoradio",
"[CBRN_FREQ]" = "hcradio",
"[FORECON_FREQ]" = "hcradio",
Expand Down
10 changes: 10 additions & 0 deletions code/controllers/subsystem/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1831,6 +1831,16 @@ SUBSYSTEM_DEF(minimaps)
active_mouse_icon = 'icons/ui_icons/minimap_mouse/draw_blue.dmi'
color = MINIMAP_DRAWING_BLUE

/atom/movable/screen/minimap_tool/draw_tool/teal
screen_loc = "14,12"
active_mouse_icon = 'icons/ui_icons/minimap_mouse/draw_blue.dmi'
color = MINIMAP_DRAWING_TEAL

/atom/movable/screen/minimap_tool/draw_tool/lime
screen_loc = "14,11"
active_mouse_icon = 'icons/ui_icons/minimap_mouse/draw_green.dmi'
color = MINIMAP_DRAWING_LIME

/atom/movable/screen/minimap_tool/draw_tool/erase
icon_state = "erase"
desc = "Drag to erase freely, middle click to erase a dot. Middle click this button to unselect."
Expand Down
10 changes: 6 additions & 4 deletions code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,10 @@ SUBSYSTEM_DEF(ticker)
var/roles_to_roll = null
if(length(mode.roles_to_roll))
roles_to_roll = mode.roles_to_roll
GLOB.RoleAuthority.setup_candidates_and_roles(roles_to_roll) //Distribute jobs
var/list/random_players = shuffle(GLOB.player_list)
GLOB.RoleAuthority.setup_candidates_and_roles(roles_to_roll, random_players) //Distribute jobs
if(mode.flags_round_type & MODE_NEW_SPAWN)
create_characters() // Create and equip characters
create_characters(random_players) // Create and equip characters
else
old_create_characters() //Create player characters and transfer them
equip_characters()
Expand Down Expand Up @@ -404,17 +405,17 @@ SUBSYSTEM_DEF(ticker)

world.Reboot()

/datum/controller/subsystem/ticker/proc/create_characters()
/datum/controller/subsystem/ticker/proc/create_characters(list/random_players)
if(!GLOB.RoleAuthority)
return

var/list/random_players = shuffle(GLOB.player_list)
for(var/mob/new_player/player in random_players)
if(!player || !player.ready || !player.mind || !player.job)
continue

INVOKE_ASYNC(src, PROC_REF(spawn_and_equip_char), player)


/datum/controller/subsystem/ticker/proc/spawn_and_equip_char(mob/new_player/player)
var/datum/job/J = GLOB.RoleAuthority.roles_for_mode[player.job]

Expand Down Expand Up @@ -470,6 +471,7 @@ SUBSYSTEM_DEF(ticker)
msg_admin_niche("NEW PLAYER: <b>[key_name(player, 1, 1, 0)]</b>. IP: [player.lastKnownIP], CID: [player.computer_id]")
if(C.player_data && C.player_data.playtime_loaded && ((round(C.get_total_human_playtime() DECISECONDS_TO_HOURS, 0.1)) <= 5))
msg_sea(("NEW PLAYER: <b>[key_name(player, 0, 1, 0)]</b> only has [(round(C.get_total_human_playtime() DECISECONDS_TO_HOURS, 0.1))] hours as a human. Current role: [get_actual_job_name(player)] - Current location: [get_area(player)]"), TRUE)

if(captainless)
for(var/mob/M in GLOB.player_list)
if(!istype(M,/mob/new_player))
Expand Down
2 changes: 2 additions & 0 deletions code/datums/components/tacmap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
/atom/movable/screen/minimap_tool/draw_tool/blue,
/atom/movable/screen/minimap_tool/draw_tool/green,
/atom/movable/screen/minimap_tool/draw_tool/black,
/atom/movable/screen/minimap_tool/draw_tool/teal,
/atom/movable/screen/minimap_tool/draw_tool/lime,
/atom/movable/screen/minimap_tool/draw_tool/erase,
/atom/movable/screen/minimap_tool/label,
/atom/movable/screen/minimap_tool/clear,
Expand Down
16 changes: 8 additions & 8 deletions code/game/area/almayer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -782,8 +782,8 @@
icon_state = "bravo"
fake_zlevel = 2 // lowerdeck

/area/almayer/squads/charlie
name = "\improper Squad Charlie Preparation"
/area/almayer/squads/support
name = "\improper Support Squad Preparation"
icon_state = "charlie"
fake_zlevel = 2 // lowerdeck

Expand All @@ -792,14 +792,14 @@
icon_state = "delta"
fake_zlevel = 2 // lowerdeck

/area/almayer/squads/alpha_bravo_shared
name = "\improper Alpha Bravo Equipment Preparation"
icon_state = "ab_shared"
/area/almayer/squads/platoon1_shared
name = "\improper 1st Platoon Equipment Preparation"
icon_state = "p1_shared"
fake_zlevel = 2 // lowerdeck

/area/almayer/squads/charlie_delta_shared
name = "\improper Charlie Delta Equipment Preparation"
icon_state = "cd_shared"
/area/almayer/squads/platoon2_shared
name = "\improper 2nd Platoon Equipment Preparation"
icon_state = "p2_shared"
fake_zlevel = 2 // lowerdeck

/area/almayer/squads/req
Expand Down
8 changes: 7 additions & 1 deletion code/game/gamemodes/cm_initialize.dm
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,16 @@ Additional game mode variables.
surv_starting_num = clamp((GLOB.readied_players/CONFIG_GET(number/surv_number_divider)), 2, 8) //this doesn't run
marine_starting_num = length(GLOB.player_list) - xeno_starting_num - surv_starting_num
for(var/datum/squad/target_squad in GLOB.RoleAuthority.squads)
if(target_squad)
if(!target_squad)
continue

if(target_squad.dynamic_scaling)
target_squad.roles_cap[JOB_SQUAD_ENGI] = engi_slot_formula(marine_starting_num)
target_squad.roles_cap[JOB_SQUAD_MEDIC] = medic_slot_formula(marine_starting_num)

if(target_squad.pop_lock && target_squad.pop_lock < length(GLOB.clients))
target_squad.roles_cap = target_squad.initial_roles_cap

for(var/i in GLOB.RoleAuthority.roles_by_name)
var/datum/job/J = GLOB.RoleAuthority.roles_by_name[i]
if(J.scaled)
Expand Down
8 changes: 4 additions & 4 deletions code/game/jobs/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
ACCESS_MARINE_TL_PREP,
ACCESS_MARINE_ALPHA,
ACCESS_MARINE_BRAVO,
ACCESS_MARINE_CHARLIE,
ACCESS_MARINE_SUPPORT,
ACCESS_MARINE_DELTA,
ACCESS_MARINE_PILOT,
ACCESS_MARINE_DROPSHIP,
Expand Down Expand Up @@ -338,7 +338,7 @@
ACCESS_MARINE_KITCHEN,
)
if(7)//Squads
return list(ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)
return list(ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_SUPPORT, ACCESS_MARINE_DELTA)
if(8)//Civilian
return list(
ACCESS_CIVILIAN_PUBLIC,
Expand Down Expand Up @@ -431,8 +431,8 @@
return "Alpha Squad"
if(ACCESS_MARINE_BRAVO)
return "Bravo Squad"
if(ACCESS_MARINE_CHARLIE)
return "Charlie Squad"
if(ACCESS_MARINE_SUPPORT)
return "Support Squads"
if(ACCESS_MARINE_DELTA)
return "Delta Squad"
if(ACCESS_MARINE_CARGO)
Expand Down
18 changes: 18 additions & 0 deletions code/game/jobs/job/marine/marine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,24 @@
if(!Check_WO())
current_human.nutrition = rand(NUTRITION_VERYLOW, NUTRITION_LOW) //Start hungry for the default marine.

/datum/job/marine/proc/calculate_extra_slots(latejoin, slots)
var/extra_slots = 0

for(var/datum/squad/target_squad in GLOB.RoleAuthority.squads)
if(!target_squad)
continue

if(target_squad.pop_lock && target_squad.pop_lock < length(GLOB.clients))
target_squad.roles_cap = target_squad.initial_roles_cap

if(target_squad.dynamic_scaling)
if(latejoin)
target_squad.roles_cap[title] = slots
else
extra_slots += target_squad.roles_cap[title]

return extra_slots

/datum/timelock/squad
name = "Squad Roles"

Expand Down
25 changes: 2 additions & 23 deletions code/game/jobs/job/marine/squad/engineer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

/datum/job/marine/engineer/set_spawn_positions(count)
for(var/datum/squad/target_squad in GLOB.RoleAuthority.squads)
if(target_squad)
if(target_squad && target_squad.dynamic_scaling)
target_squad.roles_cap[title] = engi_slot_formula(count)

/datum/job/marine/engineer/get_total_positions(latejoin=0)
Expand All @@ -20,12 +20,7 @@
else
total_positions_so_far = slots

if(latejoin)
for(var/datum/squad/target_squad in GLOB.RoleAuthority.squads)
if(target_squad)
target_squad.roles_cap[title] = slots

return (slots*4)
return slots * 2 + calculate_extra_slots(latejoin, slots)

/datum/job/marine/engineer/whiskey
title = JOB_WO_SQUAD_ENGINEER
Expand All @@ -40,19 +35,3 @@ AddTimelock(/datum/job/marine/engineer, list(
name = JOB_SQUAD_ENGI
icon_state = "engi_spawn"
job = /datum/job/marine/engineer

/obj/effect/landmark/start/marine/engineer/alpha
icon_state = "engi_spawn_alpha"
squad = SQUAD_MARINE_1

/obj/effect/landmark/start/marine/engineer/bravo
icon_state = "engi_spawn_bravo"
squad = SQUAD_MARINE_2

/obj/effect/landmark/start/marine/engineer/charlie
icon_state = "engi_spawn_charlie"
squad = SQUAD_MARINE_3

/obj/effect/landmark/start/marine/engineer/delta
icon_state = "engi_spawn_delta"
squad = SQUAD_MARINE_4
28 changes: 12 additions & 16 deletions code/game/jobs/job/marine/squad/leader.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@
gear_preset = /datum/equipment_preset/uscm/leader
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are responsible for the men and women of your squad.</a> Make sure they are on task, working together, and communicating. You are also in charge of communicating with command and letting them know about the situation first hand. Keep out of harm's way."

/datum/job/marine/leader/get_total_positions(latejoin=0)
var/extra_slots = 0

for(var/datum/squad/target_squad in GLOB.RoleAuthority.squads)
if(!target_squad)
continue

if(target_squad.pop_lock && target_squad.pop_lock < length(GLOB.clients))
target_squad.roles_cap = target_squad.initial_roles_cap
extra_slots++
return extra_slots + spawn_positions

/datum/job/marine/leader/whiskey
title = JOB_WO_SQUAD_LEADER
flags_startup_parameters = ROLE_ADD_TO_SQUAD
Expand All @@ -20,19 +32,3 @@ AddTimelock(/datum/job/marine/leader, list(
name = JOB_SQUAD_LEADER
icon_state = "leader_spawn"
job = /datum/job/marine/leader

/obj/effect/landmark/start/marine/leader/alpha
icon_state = "leader_spawn_alpha"
squad = SQUAD_MARINE_1

/obj/effect/landmark/start/marine/leader/bravo
icon_state = "leader_spawn_bravo"
squad = SQUAD_MARINE_2

/obj/effect/landmark/start/marine/leader/charlie
icon_state = "leader_spawn_charlie"
squad = SQUAD_MARINE_3

/obj/effect/landmark/start/marine/leader/delta
icon_state = "leader_spawn_delta"
squad = SQUAD_MARINE_4
Loading
Loading