Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Human vs human more automated gamemode and UPP changes #6966

Merged
merged 143 commits into from
Nov 8, 2024
Merged
Show file tree
Hide file tree
Changes from 139 commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
9676fa0
eh
uuuuhuuuu Jul 13, 2024
a184b87
Merge branch 'master' of https://github.com/cuberound/cmss13
uuuuhuuuu Jul 13, 2024
444b74c
ehm
uuuuhuuuu Jul 16, 2024
98fa1ae
Merge branch 'master' of https://github.com/cuberound/cmss13
uuuuhuuuu Jul 16, 2024
2a78285
ehm
uuuuhuuuu Jul 16, 2024
b412fdb
Merge branch 'cmss13-devs:master' into master
cuberound Jul 18, 2024
d2d0c64
Merge branch 'cmss13-devs:master' into master
cuberound Aug 9, 2024
920c4a3
Merge branch 'cmss13-devs:master' into master
cuberound Aug 10, 2024
0b4cf17
Merge branch 'cmss13-devs:master' into master
cuberound Aug 17, 2024
b577e7b
automated hvh round
uuuuhuuuu Aug 17, 2024
a6d4375
finishing touches
uuuuhuuuu Aug 17, 2024
5401df5
adds jobs to all upp roles
uuuuhuuuu Aug 17, 2024
c80e026
hmmm
uuuuhuuuu Aug 17, 2024
f823661
Update code/__DEFINES/mode.dm
cuberound Aug 17, 2024
10f0705
latejoin otions
uuuuhuuuu Aug 17, 2024
10b4583
latejoin UI
uuuuhuuuu Aug 18, 2024
dd97592
whitelists
uuuuhuuuu Aug 18, 2024
b520a47
finishing touches
uuuuhuuuu Aug 18, 2024
d86b14d
UPP spawners
uuuuhuuuu Aug 18, 2024
4e8c620
some cleanup
uuuuhuuuu Aug 18, 2024
0cc21d6
cleanup of maps
uuuuhuuuu Aug 18, 2024
8c29b56
fixes Destroys on the spawners
uuuuhuuuu Aug 18, 2024
9adbfc1
latejoin fix
uuuuhuuuu Aug 18, 2024
656f2f5
slight vendor changes
uuuuhuuuu Aug 18, 2024
b195b97
motion detector fix
uuuuhuuuu Aug 18, 2024
8e674ed
they spawn naked
uuuuhuuuu Aug 18, 2024
cee4519
eh
uuuuhuuuu Aug 18, 2024
41c8f2c
Updating vendors
SerheyKr Aug 18, 2024
aa9a74b
Merge pull request #1 from SerheyKr/human-vs-human-vendors-presets-up…
cuberound Aug 18, 2024
8a39046
Automatic changelog for PR #1 [ci skip]
github-actions[bot] Aug 18, 2024
d8bdf7a
Merge branch 'master' of https://github.com/cuberound/cmss13 into hum…
uuuuhuuuu Aug 18, 2024
b6aa770
ehm
uuuuhuuuu Aug 18, 2024
83a1605
getting stuck
uuuuhuuuu Aug 18, 2024
ba8cebf
bare ass upp
uuuuhuuuu Aug 18, 2024
263afc2
missing icon
uuuuhuuuu Aug 18, 2024
cb2df06
uniforms and boots for officers
uuuuhuuuu Aug 18, 2024
2e8b171
Removing HEAP mags
SerheyKr Aug 18, 2024
2e38a7c
Adding Riot shotgun and it`s ammo to UPP vendor
SerheyKr Aug 18, 2024
1abcd53
Merge pull request #2 from SerheyKr/Removing-HEAP-mags-from-UPP-vendors
cuberound Aug 18, 2024
309ccc1
paygrade and shotguns
uuuuhuuuu Aug 18, 2024
7273e7a
hm
uuuuhuuuu Aug 19, 2024
52d2457
fixes spawning
uuuuhuuuu Aug 19, 2024
d9d766b
cleanup
uuuuhuuuu Aug 19, 2024
05bf256
fixes roles and makes vendors work again
uuuuhuuuu Aug 19, 2024
3f4f4bc
medic fix
uuuuhuuuu Aug 19, 2024
a6fc566
fixes loudouts hopefuly
uuuuhuuuu Aug 19, 2024
15ae94a
flag inheritance fix
uuuuhuuuu Aug 19, 2024
a1f1418
this is not nice but works
uuuuhuuuu Aug 19, 2024
49832d9
hm
uuuuhuuuu Aug 19, 2024
0c98827
Fixing UPP weapon vendor and adding medic headset to UPP medic
SerheyKr Aug 19, 2024
9fa8606
Merge pull request #3 from SerheyKr/Fixing-UPP-weapon-vendor-and-addi…
cuberound Aug 19, 2024
5e68b52
Merge branch 'human-vs-human-gamemode' of https://github.com/cuberoun…
uuuuhuuuu Aug 19, 2024
0c2adf4
Fixing UPP weapon vendor #2. Removing points from UPP cargo vendor
SerheyKr Aug 19, 2024
0df75ac
Merge pull request #4 from SerheyKr/Fixing-UPP-weapon-vendor-#2.-Remo…
cuberound Aug 19, 2024
f6ec0b9
overwatch!
uuuuhuuuu Aug 20, 2024
b4833da
overwatch and squads
uuuuhuuuu Aug 20, 2024
ec51c3f
Merge branch 'human-vs-human-gamemode' of https://github.com/cuberoun…
uuuuhuuuu Aug 20, 2024
6b24ab6
upp overwatch
uuuuhuuuu Aug 20, 2024
eb55162
typo fix
uuuuhuuuu Aug 20, 2024
b66c002
Adding UPP console stuff
SerheyKr Aug 20, 2024
d2619bd
squad consoles spawned during runtime get linked to ow consoles
uuuuhuuuu Aug 20, 2024
372caf5
eh
uuuuhuuuu Aug 20, 2024
2ad352b
Merge pull request #8 from SerheyKr/Adding-UPP-console-stuff
cuberound Aug 20, 2024
e139361
Removing Large General Pouch from UPP accessories
SerheyKr Aug 20, 2024
eafc50e
Update overwatch.dm
SerheyKr Aug 20, 2024
ef27ded
Merge pull request #9 from SerheyKr/Removing-Large-General-Pouch-from…
cuberound Aug 20, 2024
34fe436
I can not even copy
uuuuhuuuu Aug 20, 2024
7cfbf63
mistakes made by copy
uuuuhuuuu Aug 21, 2024
7ba076c
Some minor stuff
SerheyKr Aug 21, 2024
a0b2f41
Merge pull request #10 from SerheyKr/Some-minor-stuff
cuberound Aug 21, 2024
2de490c
Merge branch 'human-vs-human-gamemode' of https://github.com/cuberoun…
uuuuhuuuu Aug 21, 2024
bc4ab9e
Some refactoring
SerheyKr Aug 22, 2024
e247e31
Update squads.dm
SerheyKr Aug 22, 2024
b7f318d
Update squads.dm
SerheyKr Aug 22, 2024
a4bcf5d
Update squads.dm
SerheyKr Aug 22, 2024
1c64446
Fixing UPP aSL icon
SerheyKr Aug 22, 2024
cfb15b4
Merge pull request #14 from SerheyKr/Some-refactoring
cuberound Aug 22, 2024
c143f85
cleanup
uuuuhuuuu Aug 22, 2024
c1fde9b
CONFLICTS!
uuuuhuuuu Aug 22, 2024
d8d08ee
solves destruction of supply drop pads
uuuuhuuuu Aug 22, 2024
80ba771
doc and cargo tech added and adjusted
uuuuhuuuu Aug 22, 2024
cff5995
okey I have resolved the conflicts as best as I could
uuuuhuuuu Aug 22, 2024
63b4a26
moves conscript
uuuuhuuuu Aug 22, 2024
5dbf514
commissar
uuuuhuuuu Aug 23, 2024
86d8f39
renames spec to spec
uuuuhuuuu Aug 23, 2024
bee84d4
removed dupe
uuuuhuuuu Aug 23, 2024
797a0f3
faction restricted ds equip and faction medevacs
uuuuhuuuu Aug 23, 2024
2643798
C instead of c...
uuuuhuuuu Aug 23, 2024
0417d88
m
uuuuhuuuu Aug 23, 2024
54abc87
adds medevac to upp medic vendor
uuuuhuuuu Aug 23, 2024
64454ba
Merge branch 'master' into human-vs-human-gamemode
cuberound Aug 23, 2024
90a80fe
solves merge conflict properly
uuuuhuuuu Aug 23, 2024
5e558ab
faction dependant fulton
uuuuhuuuu Aug 23, 2024
93f2f40
area light update
uuuuhuuuu Aug 30, 2024
5d418ac
Update code/modules/mob/new_player/new_player.dm
cuberound Sep 19, 2024
5b8efe0
Update code/game/jobs/job/marine/squads.dm
cuberound Sep 19, 2024
e374f32
fixes
uuuuhuuuu Sep 24, 2024
7600739
single latter var removal
uuuuhuuuu Sep 24, 2024
64841dc
Merge branch 'master' into human-vs-human-gamemode
cuberound Sep 24, 2024
228d07b
null on Destroy
uuuuhuuuu Sep 24, 2024
005baa2
ehm
uuuuhuuuu Sep 24, 2024
91041c5
adds colours to character setup
uuuuhuuuu Sep 25, 2024
f7087ff
colouring finished
uuuuhuuuu Sep 25, 2024
7b7b5a2
adds binoculars to everyone
uuuuhuuuu Sep 25, 2024
0fd6800
Merge branch 'master' into human-vs-human-gamemode
cuberound Oct 7, 2024
636614e
Merge branch 'master' into human-vs-human-gamemode
cuberound Oct 8, 2024
ee9c58e
Merge branch 'master' into human-vs-human-gamemode
cuberound Oct 9, 2024
5802180
makes spawners work for latejoins
uuuuhuuuu Oct 9, 2024
248df20
Merge branch 'human-vs-human-gamemode' of https://github.com/cuberoun…
uuuuhuuuu Oct 9, 2024
221b30e
destroy solved
uuuuhuuuu Oct 9, 2024
ab010d7
ehm
uuuuhuuuu Oct 9, 2024
09ea4e4
now it solves destroy issues
uuuuhuuuu Oct 9, 2024
f764a22
spawner minor fix
uuuuhuuuu Oct 11, 2024
efbe77d
renames squads
uuuuhuuuu Oct 11, 2024
9cdcf4e
works now
uuuuhuuuu Oct 11, 2024
ca59850
it is a hack but hack that the rest is supposed to be like
uuuuhuuuu Oct 11, 2024
a0c82b6
it is a hack but hack that the rest is supposed to be like
uuuuhuuuu Oct 11, 2024
5e59aec
reduces jobs back to 1
uuuuhuuuu Oct 11, 2024
466dd9f
solves lobby menu
uuuuhuuuu Oct 16, 2024
f8f9b10
squad name change
uuuuhuuuu Oct 23, 2024
c90f06d
readds raider stuff removed on accident (I hope)
uuuuhuuuu Oct 23, 2024
b399d2d
removes unwanted button
uuuuhuuuu Oct 23, 2024
f6e3a54
Merge branch 'master' into human-vs-human-gamemode
cuberound Oct 26, 2024
7f61061
fixes error caused by changed defines
uuuuhuuuu Oct 26, 2024
869b53a
fixes double define
uuuuhuuuu Oct 26, 2024
801ca02
Merge branch 'master' into human-vs-human-gamemode
cuberound Oct 27, 2024
df0642e
var rename
uuuuhuuuu Oct 27, 2024
eb6f637
Merge branch 'master' into human-vs-human-gamemode
cuberound Oct 27, 2024
7e8404b
Merge branch 'master' into human-vs-human-gamemode
cuberound Oct 28, 2024
aa0c800
fix
uuuuhuuuu Oct 28, 2024
1fa4f5b
solves the squad issues
uuuuhuuuu Nov 1, 2024
a998bcf
removes bad undefined
uuuuhuuuu Nov 1, 2024
125bd98
fix
uuuuhuuuu Nov 1, 2024
42034ee
Merge branch 'master' into human-vs-human-gamemode
cuberound Nov 1, 2024
3d3493d
work in progress
uuuuhuuuu Nov 1, 2024
8e0388a
gets rid of needless upp count marines
uuuuhuuuu Nov 4, 2024
85a9a30
Update code/modules/mob/new_player/new_player.dm
cuberound Nov 4, 2024
e73ae07
Update code/__DEFINES/mode.dm
cuberound Nov 4, 2024
fc9ec9a
removed needless init of UPP console
uuuuhuuuu Nov 4, 2024
e4c4d4b
sets OB back to null
uuuuhuuuu Nov 4, 2024
a0ad04e
better OB handler
uuuuhuuuu Nov 4, 2024
1dadf23
Merge branch 'master' into human-vs-human-gamemode
cuberound Nov 5, 2024
dec0711
updated gamemode flags
uuuuhuuuu Nov 5, 2024
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/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -280,11 +280,16 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_UPP_MAY_GENERAL "UPP General Leytenant"
#define JOB_UPP_LT_GENERAL "UPP General Polkovnik"
#define JOB_UPP_GENERAL "UPP General Armii"
#define SQUAD_UPP_1 "Akula"
#define SQUAD_UPP_2 "Bizon"
#define SQUAD_UPP_3 "Chayka"
#define SQUAD_UPP_4 "Delfin"
#define SQUAD_UPP_5 "UPPKdo"

#define JOB_UPP_COMBAT_SYNTH "UPP Combat Synthetic"
#define JOB_UPP_SUPPORT_SYNTH "UPP Support Synthetic"

#define UPP_JOB_LIST list(JOB_UPP, JOB_UPP_ENGI, JOB_UPP_MEDIC, JOB_UPP_SPECIALIST, JOB_UPP_LEADER, JOB_UPP_POLICE, JOB_UPP_LT_OFFICER, JOB_UPP_LT_DOKTOR, JOB_UPP_SRLT_OFFICER, JOB_UPP_KPT_OFFICER, JOB_UPP_KOL_OFFICER, JOB_UPP_COMBAT_SYNTH)
#define UPP_JOB_LIST list(JOB_UPP, JOB_UPP_ENGI, JOB_UPP_MEDIC, JOB_UPP_SPECIALIST, JOB_UPP_LEADER, JOB_UPP_POLICE, JOB_UPP_LT_OFFICER, JOB_UPP_LT_DOKTOR, JOB_UPP_SUPPLY, JOB_UPP_SRLT_OFFICER, JOB_UPP_KPT_OFFICER, JOB_UPP_KOL_OFFICER, JOB_UPP_SUPPORT_SYNTH,JOB_UPP_COMMISSAR)
#define UPP_JOB_GRUNT_LIST list(JOB_UPP, JOB_UPP_ENGI, JOB_UPP_MEDIC, JOB_UPP_SPECIALIST, JOB_UPP_LEADER, JOB_UPP_POLICE, JOB_UPP_CREWMAN)

#define JOB_UPP_COMMANDO "UPP Junior Kommando"
Expand Down
14 changes: 13 additions & 1 deletion code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -128,16 +128,26 @@ GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFIC
//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_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_KOL_OFFICER, JOB_UPP_COMMISSAR))
GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, 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))
GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, 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))
GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE))
GLOBAL_LIST_INIT(ROLES_POLICE_ANTAG, list(JOB_UPP_POLICE))
GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH))
GLOBAL_LIST_INIT(ROLES_ENGINEERING_ANTAG, list())
GLOBAL_LIST_INIT(ROLES_REQUISITION, list(JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION))
GLOBAL_LIST_INIT(ROLES_REQUISITION_ANTAG, list(JOB_UPP_SUPPLY))
GLOBAL_LIST_INIT(ROLES_MEDICAL, list(JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR))
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_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_WO, list(JOB_WO_CO, JOB_WO_XO, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, 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))



//Groundside roles
GLOBAL_LIST_INIT(ROLES_XENO, list(JOB_XENOMORPH_QUEEN, JOB_XENOMORPH))
GLOBAL_LIST_INIT(ROLES_WHITELISTED, list(JOB_SYNTH_SURVIVOR, JOB_CO_SURVIVOR, JOB_PREDATOR))
Expand All @@ -149,6 +159,8 @@ GLOBAL_LIST_INIT(ROLES_GROUND, GLOB.ROLES_XENO + ROLES_SPECIAL + ROLES_WHITELIST
GLOBAL_LIST_INIT(ROLES_DISTRESS_SIGNAL, GLOB.ROLES_USCM + GLOB.ROLES_GROUND)
GLOBAL_LIST_INIT(ROLES_FACTION_CLASH, ROLES_USCM + JOB_PREDATOR)

GLOBAL_LIST_INIT(ROLES_CM_VS_UPP, ROLES_USCM + UPP_JOB_LIST)


GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE))
//Role lists used for switch() checks in show_blurb_uscm(). Cosmetic, determines ex. "Engineering, USS Almayer", "2nd Bat. 'Falling Falcons'" etc.
Expand Down
4 changes: 4 additions & 0 deletions code/controllers/subsystem/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,10 @@ SUBSYSTEM_DEF(minimaps)
minimap_flags = MINIMAP_FLAG_USCM
marker_flags = MINIMAP_FLAG_USCM

/datum/action/minimap/upp
minimap_flags = MINIMAP_FLAG_UPP
marker_flags = MINIMAP_FLAG_UPP

/datum/action/minimap/observer
minimap_flags = MINIMAP_FLAG_ALL
marker_flags = NONE
Expand Down
43 changes: 25 additions & 18 deletions code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
/datum/faction/upp/modify_hud_holder(image/holder, mob/living/carbon/human/H)
var/hud_icon_state
var/obj/item/card/id/ID = H.get_idcard()
var/datum/squad/squad = H.assigned_squad
var/_role
if(H.mind)
_role = H.job
Expand Down Expand Up @@ -63,14 +64,17 @@
/datum/faction/upp/get_antag_guns_snowflake_equipment()
return list(
list("PRIMARY FIREARMS", 0, null, null, null),
list("Type 71 Pulse Rifle", 20, /obj/item/weapon/gun/rifle/type71, null, VENDOR_ITEM_RECOMMENDED),
list("Type 71 Pulse Rifle Carbine", 20, /obj/item/weapon/gun/rifle/type71/carbine, null, VENDOR_ITEM_REGULAR),
list("Type 64 Submachinegun", 20, /obj/item/weapon/gun/smg/bizon/upp, null, VENDOR_ITEM_REGULAR),
list("Type 71 Pulse Rifle", 30, /obj/item/weapon/gun/rifle/type71, null, VENDOR_ITEM_REGULAR),
list("Type 71 Pulse Rifle Carbine", 30, /obj/item/weapon/gun/rifle/type71/carbine, null, VENDOR_ITEM_REGULAR),
list("Type 23 Riot Shotgun", 20, /obj/item/weapon/gun/shotgun/type23, null, VENDOR_ITEM_REGULAR),


list("PRIMARY AMMUNITION", 0, null, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 5, /obj/item/ammo_magazine/smg/bizon, null, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (5.45x39mm)", 15, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (5.45x39mm)", 5, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_REGULAR),
list("Type 64 Helical Magazine (7.62x19mm)", 5, /obj/item/ammo_magazine/smg/bizon, null, VENDOR_ITEM_REGULAR),
list("Handful of Heavy Buckshot Shells (8g)", 5, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot, null, VENDOR_ITEM_REGULAR),

list("SIDEARMS", 0, null, null, null),
list("Type 73 Pistol", 15, /obj/item/weapon/gun/pistol/t73, null, VENDOR_ITEM_REGULAR),
Expand All @@ -86,6 +90,7 @@
list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Burst Fire Assembly", 15, /obj/item/attachable/burstfire_assembly, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 15, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
list("Magnetic Harness", 20, /obj/item/attachable/magnetic_harness, null, VENDOR_ITEM_REGULAR),
list("Laser Sight", 15, /obj/item/attachable/lasersight, null, VENDOR_ITEM_REGULAR),
list("Rail Flashlight", 5, /obj/item/attachable/flashlight, null, VENDOR_ITEM_REGULAR),
list("Red-Dot Sight", 15, /obj/item/attachable/reddot, null, VENDOR_ITEM_REGULAR),
Expand All @@ -102,27 +107,29 @@
/datum/faction/upp/get_antag_guns_sorted_equipment()
return list(
list("PRIMARY FIREARMS", -1, null, null),
list("Type 64 Submachinegun", 20, /obj/item/weapon/gun/smg/bizon/upp, VENDOR_ITEM_REGULAR),
list("Type 71 Pulse Rifle", 20, /obj/item/weapon/gun/rifle/type71, VENDOR_ITEM_REGULAR),
list("Type 71 Pulse Rifle Carbine", 20, /obj/item/weapon/gun/rifle/type71/carbine, VENDOR_ITEM_REGULAR),
list("Type 71 Pulse Rifle", 20, /obj/item/weapon/gun/rifle/type71, null, VENDOR_ITEM_REGULAR),
list("Type 71 Pulse Rifle Carbine", 20, /obj/item/weapon/gun/rifle/type71/carbine, null, VENDOR_ITEM_REGULAR),
list("Type 64 Submachinegun", 20, /obj/item/weapon/gun/smg/bizon/upp, null, VENDOR_ITEM_REGULAR),
list("Type 23 Riot Shotgun", 20, /obj/item/weapon/gun/shotgun/type23, null, VENDOR_ITEM_REGULAR),

list("PRIMARY AMMUNITION", -1, null, null),
list("Type 64 Helical Magazine (7.62x19mm)", 60, /obj/item/ammo_magazine/smg/bizon, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71, VENDOR_ITEM_REGULAR),
list("Type 71 AP Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71/ap, null, VENDOR_ITEM_REGULAR),
list("Type 71 Magazine (5.45x39mm)", 60, /obj/item/ammo_magazine/rifle/type71, null, VENDOR_ITEM_RECOMMENDED),
list("Type 64 Helical Magazine (7.62x19mm)", 60, /obj/item/ammo_magazine/smg/bizon, null, VENDOR_ITEM_REGULAR),
list("Handful of Heavy Buckshot Shells (8g)", 60, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot, null, VENDOR_ITEM_REGULAR),

list("SIDEARMS", -1, null, null),
list("Type 73 Pistol", 20, /obj/item/weapon/gun/pistol/t73, VENDOR_ITEM_REGULAR),
list("NP02 Pistol", 20, /obj/item/weapon/gun/pistol/np92, VENDOR_ITEM_REGULAR),
list("ZHNK-72 Revolver", 20, /obj/item/weapon/gun/revolver/upp, VENDOR_ITEM_REGULAR),
list("Type 73 Pistol", 20, /obj/item/weapon/gun/pistol/t73, null, VENDOR_ITEM_REGULAR),
list("NP02 Pistol", 20, /obj/item/weapon/gun/pistol/np92, null, VENDOR_ITEM_REGULAR),
list("ZHNK-72 Revolver", 20, /obj/item/weapon/gun/revolver/upp, null, VENDOR_ITEM_REGULAR),
Nanu308 marked this conversation as resolved.
Show resolved Hide resolved

list("SIDEARM AMMUNITION", -1, null, null),
list("Type 73 Magazine (7.62x25mm Tokarev)", 40, /obj/item/ammo_magazine/pistol/t73, VENDOR_ITEM_REGULAR),
list("ZHNK-72 Speed Loader (7.62x38mmR)", 40, /obj/item/ammo_magazine/revolver/upp, VENDOR_ITEM_REGULAR),
list("NP92 Magazine (9x18mm Makarov)", 40, /obj/item/ammo_magazine/pistol/np92, VENDOR_ITEM_REGULAR),
list("Type 73 Magazine (7.62x25mm Tokarev)", 40, /obj/item/ammo_magazine/pistol/t73, null, VENDOR_ITEM_REGULAR),
list("NP92 Magazine (9x18mm Makarov)", 40, /obj/item/ammo_magazine/pistol/np92, null, VENDOR_ITEM_REGULAR),
list("ZHNK-72 Speed Loader (7.62x38mmR)", 40, /obj/item/ammo_magazine/revolver/upp, null, VENDOR_ITEM_REGULAR),

list("UTILITIES", -1, null, null),
list("M94 Marking Flare Pack", 20, /obj/item/storage/box/m94, VENDOR_ITEM_RECOMMENDED),
list("Smoke Grenade", 5, /obj/item/explosive/grenade/smokebomb, VENDOR_ITEM_REGULAR),
list("Type 80 Bayonet", 40, /obj/item/attachable/bayonet/upp, VENDOR_ITEM_REGULAR),
list("M94 Marking Flare Pack", 20, /obj/item/storage/box/m94, null, VENDOR_ITEM_REGULAR),
list("Smoke Grenade", 5, /obj/item/explosive/grenade/smokebomb, null, VENDOR_ITEM_REGULAR),
list("Type 80 Bayonet", 40, /obj/item/attachable/bayonet/upp, null, VENDOR_ITEM_REGULAR),
)
16 changes: 16 additions & 0 deletions code/game/gamemodes/extended/cm_vs_upp.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/datum/game_mode/extended/faction_clash/cm_vs_upp
name = "Faction Clash UPP CM"
config_tag = "Faction Clash UPP CM"
flags_round_type = MODE_THUNDERSTORM|MODE_FACTION_CLASH
toggleable_flags = MODE_NO_SNIPER_SENTRY|MODE_NO_ATTACK_DEAD|MODE_NO_STRIPDRAG_ENEMY|MODE_STRONG_DEFIBS|MODE_BLOOD_OPTIMIZATION|MODE_NO_COMBAT_CAS
taskbar_icon = 'icons/taskbar/gml_hvh.png'

/datum/game_mode/extended/faction_clash/cm_vs_upp/get_roles_list()
return GLOB.ROLES_CM_VS_UPP

/datum/game_mode/extended/faction_clash/cm_vs_upp/post_setup()
. = ..()
SSweather.force_weather_holder(/datum/weather_ss_map_holder/faction_clash)
for(var/area/area in GLOB.all_areas)
area.base_lighting_alpha = 150
area.update_base_lighting()
4 changes: 3 additions & 1 deletion code/game/jobs/job/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

var/minimum_playtime_as_job = 3 HOURS

var/gear_preset //Gear preset name used for this job
var/datum/equipment_preset/gear_preset //Gear preset name used for this job
var/list/gear_preset_whitelist = list()//Gear preset name used for council snowflakes ;)

//For generating entry messages
Expand All @@ -39,6 +39,8 @@
var/job_options
/// If TRUE, this job will spawn w/ a cryo emergency kit during evac/red alert
var/gets_emergency_kit = TRUE
/// Under what faction menu the job gets displayed in lobby
var/faction_menu = FACTION_NEUTRAL //neutral to cover uscm jobs for now as loads of them are under civil and stuff mainly ment for other faction

/datum/job/New()
. = ..()
Expand Down
131 changes: 90 additions & 41 deletions code/game/jobs/job/marine/squads.dm
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
// Whether the squad is available for squad management
var/locked = FALSE
/// Whether it is visible in overwatch
var/active = FALSE
var/active = TRUE //this var in fact looks COMPLEATLY useless as visibility in overwatch is also determined by faction
/// Which faction the squad is in
var/faction = FACTION_MARINE

Expand Down Expand Up @@ -261,33 +261,41 @@
usable = TRUE
omni_squad_vendor = TRUE
faction = FACTION_UPP
radio_freq = UPP_FREQ
roles_cap = list(
JOB_UPP_ENGI = 3,
JOB_UPP_MEDIC = 4,
JOB_UPP_SPECIALIST = 1,
JOB_UPP_LEADER = 1,
)

/datum/squad/upp/one
name = "UPPS1"
name = SQUAD_UPP_1
equipment_color = "#e61919"
chat_color = "#e67d7d"

/datum/squad/upp/twp
name = "UPPS2"
name = SQUAD_UPP_2
equipment_color = "#ffc32d"
chat_color = "#ffe650"

/datum/squad/upp/three
name = "UPPS3"
name = SQUAD_UPP_3
equipment_color = "#c864c8"
chat_color = "#ff96ff"

/datum/squad/upp/four
name = "UPPS4"
name = SQUAD_UPP_4
equipment_color = "#4148c8"
chat_color = "#828cff"

/datum/squad/upp/kdo
name = "UPPKdo"
name = SQUAD_UPP_5
equipment_color = "#c47a50"
chat_color = "#c47a50"
squad_type = "Team"
locked = TRUE
usable = FALSE

//###############################
/datum/squad/pmc
Expand Down Expand Up @@ -522,6 +530,25 @@
squad_leader = target_mob
SStracking.set_leader(tracking_id, target_mob)
SStracking.start_tracking("marine_sl", target_mob)

if(JOB_UPP_ENGI)
assignment = JOB_SQUAD_ENGI
id_card.claimedgear = FALSE
if(JOB_UPP_MEDIC)
assignment = JOB_SQUAD_MEDIC
id_card.claimedgear = FALSE
if(JOB_UPP_SPECIALIST)
assignment = JOB_SQUAD_SPECIALIST
if(JOB_UPP_LEADER)
if(squad_leader && GET_DEFAULT_ROLE(squad_leader.job) != JOB_UPP_LEADER) //field promoted SL
var/old_lead = squad_leader
demote_squad_leader() //replaced by the real one
SStracking.start_tracking(tracking_id, old_lead)
assignment = squad_type + " Leader"
squad_leader = target_mob
SStracking.set_leader(tracking_id, target_mob)
SStracking.start_tracking("marine_sl", target_mob)

if(JOB_MARINE_RAIDER)
assignment = JOB_MARINE_RAIDER
if(name == JOB_MARINE_RAIDER)
Expand Down Expand Up @@ -595,7 +622,7 @@
//gracefully remove a marine from squad system, alive, dead or otherwise
/datum/squad/proc/forget_marine_in_squad(mob/living/carbon/human/target_mob)
if(target_mob.assigned_squad.squad_leader == target_mob)
if(GET_DEFAULT_ROLE(target_mob.job) != JOB_SQUAD_LEADER) //a field promoted SL, not a real one
if(GET_DEFAULT_ROLE(target_mob.job) != JOB_SQUAD_LEADER || GET_DEFAULT_ROLE(target_mob.job) != JOB_UPP_LEADER) //a field promoted SL, not a real one
demote_squad_leader()
else
target_mob.assigned_squad.squad_leader = null
Expand Down Expand Up @@ -625,39 +652,60 @@
SStracking.stop_tracking("marine_sl", old_lead)

squad_leader = null
switch(GET_DEFAULT_ROLE(old_lead.job))
if(JOB_SQUAD_SPECIALIST)
old_lead.comm_title = "Spc"
if(JOB_SQUAD_ENGI)
old_lead.comm_title = "ComTech"
if(JOB_SQUAD_MEDIC)
old_lead.comm_title = "HM"
if(JOB_SQUAD_TEAM_LEADER)
old_lead.comm_title = "FTL"
if(JOB_SQUAD_SMARTGUN)
old_lead.comm_title = "SG"
if(JOB_SQUAD_LEADER)
if(!leader_killed)
old_lead.comm_title = "Sgt"
if(JOB_MARINE_RAIDER)
old_lead.comm_title = "Op."
if(JOB_MARINE_RAIDER_SL)
old_lead.comm_title = "TL."
if(JOB_MARINE_RAIDER_CMD)
old_lead.comm_title = "CMD."
else
old_lead.comm_title = "RFN"

if(GET_DEFAULT_ROLE(old_lead.job) != JOB_SQUAD_LEADER || !leader_killed)
var/obj/item/device/radio/headset/almayer/marine/R = old_lead.get_type_in_ears(/obj/item/device/radio/headset/almayer/marine)
if(R)
for(var/obj/item/device/encryptionkey/squadlead/acting/key in R.keys)
R.keys -= key
qdel(key)
R.recalculateChannels()
var/obj/item/card/id/card = old_lead.get_idcard()
if(card)
card.access -= ACCESS_MARINE_LEADER
switch(faction)
if (FACTION_UPP)
switch(GET_DEFAULT_ROLE(old_lead.job))
if(JOB_UPP_SPECIALIST)
old_lead.comm_title = "Spec"
if(JOB_UPP_ENGI)
old_lead.comm_title = "Sapper"
if(JOB_UPP_MEDIC)
old_lead.comm_title = "Med"
if(JOB_UPP_LEADER)
if(!leader_killed)
old_lead.comm_title = "MSzh"
else
old_lead.comm_title = "Sld"
if(GET_DEFAULT_ROLE(old_lead.job) != JOB_UPP_LEADER || !leader_killed)
var/obj/item/device/radio/headset/headset = old_lead.get_type_in_ears(/obj/item/device/radio/headset/distress/UPP)
if(headset)
for(var/obj/item/device/encryptionkey/upp/command/acting/key in headset.keys)
headset.keys -= key
qdel(key)
headset.recalculateChannels()
if (FACTION_MARINE)
switch(GET_DEFAULT_ROLE(old_lead.job))
if(JOB_SQUAD_SPECIALIST)
old_lead.comm_title = "Spc"
if(JOB_SQUAD_ENGI)
old_lead.comm_title = "ComTech"
if(JOB_SQUAD_MEDIC)
old_lead.comm_title = "HM"
if(JOB_SQUAD_TEAM_LEADER)
old_lead.comm_title = "FTL"
if(JOB_SQUAD_SMARTGUN)
old_lead.comm_title = "SG"
if(JOB_SQUAD_LEADER)
if(!leader_killed)
old_lead.comm_title = "Sgt"
if(JOB_MARINE_RAIDER)
old_lead.comm_title = "Op."
if(JOB_MARINE_RAIDER_SL)
old_lead.comm_title = "TL."
if(JOB_MARINE_RAIDER_CMD)
old_lead.comm_title = "CMD."
else
old_lead.comm_title = "RFN"
if(GET_DEFAULT_ROLE(old_lead.job) != JOB_SQUAD_LEADER || !leader_killed)
var/obj/item/device/radio/headset/almayer/marine/headset = old_lead.get_type_in_ears(/obj/item/device/radio/headset/almayer/marine)
if(headset)
for(var/obj/item/device/encryptionkey/squadlead/acting/key in headset.keys)
headset.keys -= key
qdel(key)
headset.recalculateChannels()
var/obj/item/card/id/card = old_lead.get_idcard()
if(card)
card.access -= ACCESS_MARINE_LEADER
REMOVE_TRAITS_IN(old_lead, TRAIT_SOURCE_SQUAD_LEADER)
old_lead.hud_set_squad()
old_lead.update_inv_head() //updating marine helmet leader overlays
Expand Down Expand Up @@ -778,7 +826,8 @@
//moved the main proc for ft management from human.dm here to make it support both examine and squad info way to edit fts
/datum/squad/proc/manage_fireteams(mob/living/carbon/human/target_mob)
var/obj/item/card/id/ID = target_mob.get_idcard()
if(!ID || !(ID.rank in GLOB.ROLES_MARINES))

if(!ID || ((!(ID.rank in GLOB.ROLES_MARINES) && faction == FACTION_MARINE) || (!(ID.rank in GLOB.ROLES_MARINES_ANTAG) && faction == FACTION_UPP)))
return
if(ID.rank == JOB_SQUAD_LEADER || squad_leader == target_mob) //if SL/aSL are chosen
var/choice = tgui_input_list(squad_leader, "Manage Fireteams and Team leaders.", "Fireteams Management", list("Cancel", "Unassign Fireteam 1 Leader", "Unassign Fireteam 2 Leader", "Unassign Fireteam 3 Leader", "Unassign all Team Leaders"))
Expand Down
Loading
Loading