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

UPP Operations #108

Merged
merged 87 commits into from
Mar 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
ab0460d
1
AndroBetel Feb 5, 2024
5783ce2
2
AndroBetel Feb 5, 2024
291f22e
3
AndroBetel Feb 5, 2024
2e8071a
4 (damn)
AndroBetel Feb 7, 2024
a652357
5
AndroBetel Feb 7, 2024
1786007
random ass table removal
AndroBetel Feb 7, 2024
09a0a1d
debug messages GONE
AndroBetel Feb 7, 2024
9ec0804
Delete upp_shuttle.dmm
AndroBetel Feb 7, 2024
a6afaff
piping
AndroBetel Feb 7, 2024
75f7033
Update chapaev.dmm
AndroBetel Feb 7, 2024
3d09b0b
Merge branch 'master' into upp_ship
FslashN Feb 7, 2024
9e77b5a
set_faction
AndroBetel Feb 7, 2024
b8eea16
Merge branch 'upp_ship' of https://github.com/AndroBetel/PvE-CMSS13 i…
AndroBetel Feb 7, 2024
809cb77
final tweaks and oversight fixes
AndroBetel Feb 7, 2024
695035f
shottie_tweak
AndroBetel Feb 7, 2024
e29f100
erm
AndroBetel Feb 8, 2024
54220f7
check should not fail....
AndroBetel Feb 8, 2024
0cf870c
Update dropshipupp_side.dmi
AndroBetel Feb 8, 2024
c1ede9c
Update staffofficer.dm
AndroBetel Feb 8, 2024
1ca95a7
Update squad_prep.dm
AndroBetel Feb 8, 2024
f7f20fd
language_fixes_and_tweaks
AndroBetel Feb 8, 2024
9e5b867
Merge branch 'master' into upp_ship
FslashN Feb 8, 2024
938c037
Update emote.dm
AndroBetel Feb 8, 2024
903b8cd
Merge branch 'upp_ship' of https://github.com/AndroBetel/PvE-CMSS13 i…
AndroBetel Feb 8, 2024
90538bf
Update emote.dm
AndroBetel Feb 9, 2024
02175b9
Update emote.dm
AndroBetel Feb 9, 2024
db5685f
upp clothes+some more map tweaks
AndroBetel Feb 9, 2024
73b5187
Update chapaev.dmm
AndroBetel Feb 9, 2024
5c02cb6
Update chapaev.dmm
AndroBetel Feb 9, 2024
afb0784
Update upp.dm
AndroBetel Feb 9, 2024
7a4a102
rock's review part 1
AndroBetel Feb 9, 2024
b61022d
rock's review part1
AndroBetel Feb 9, 2024
840de31
morrow review
AndroBetel Feb 10, 2024
e6e2761
morrow review cleanup
AndroBetel Feb 10, 2024
8c1df27
oops
AndroBetel Feb 10, 2024
fce37e5
oops
AndroBetel Feb 10, 2024
be373e5
updated sprites by amory
AndroBetel Feb 10, 2024
5efb563
tweaks tweaks tweaks
AndroBetel Feb 11, 2024
b32d20e
Update chapaev.dmm
AndroBetel Feb 11, 2024
59a8d60
Update chapaev.dmm
AndroBetel Feb 11, 2024
779bc9b
Update chapaev.dmm
AndroBetel Feb 11, 2024
28d54a2
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AndroBetel Feb 13, 2024
dbdaa63
conflicts
AndroBetel Feb 13, 2024
941f057
Update uniform_0.dmi
AndroBetel Feb 13, 2024
38f2a9e
hopefully last commit
AndroBetel Feb 14, 2024
5693dcb
Update Sulaco.dm
AndroBetel Feb 14, 2024
f08aee5
manifest_fix
AndroBetel Feb 14, 2024
99a6815
oops+erm
AndroBetel Feb 15, 2024
e3097ae
minimap_fix
AndroBetel Feb 15, 2024
2b99eda
Update minimap.dm
AndroBetel Feb 15, 2024
90889d9
machinegunner assistant rp
AndroBetel Feb 15, 2024
5875a68
Update chapaev.dmm
AndroBetel Feb 15, 2024
befa185
Update chapaev.dmm
AndroBetel Feb 15, 2024
13657b9
we're naval infantry
AndroBetel Feb 16, 2024
3d7e6cd
fixes
AndroBetel Feb 16, 2024
f8d72bc
Update strata_decals.dm
AndroBetel Feb 16, 2024
6659be9
rank updates
AndroBetel Feb 16, 2024
1f2e332
Update ties.dm
AndroBetel Feb 16, 2024
1ccc795
Merge branch 'master' into upp_ship
AndroBetel Feb 16, 2024
36d6851
Update upp.dm
AndroBetel Feb 16, 2024
cf21351
Merge branch 'upp_ship' of https://github.com/AndroBetel/PvE-CMSS13 i…
AndroBetel Feb 16, 2024
67b6444
Update ties.dmi
AndroBetel Feb 16, 2024
e7d7f02
minmap fix
AndroBetel Feb 17, 2024
2d1f86e
adds_ammo_rack
AndroBetel Feb 17, 2024
41a96fc
reflavors_ammo_rack
AndroBetel Feb 17, 2024
c8afc64
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AndroBetel Feb 18, 2024
17c420f
conflict
AndroBetel Feb 18, 2024
3ae6ec2
lil tweak
AndroBetel Feb 21, 2024
2908fbe
actually its fine like this
AndroBetel Feb 21, 2024
0e4ca97
nu uh
AndroBetel Feb 21, 2024
fb7c5fe
Merge branch 'master' into upp_ship
AndroBetel Feb 21, 2024
4e6e1b7
maptweaks
AndroBetel Feb 22, 2024
7a23b6b
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AndroBetel Feb 26, 2024
e3492cb
fixsxsx
AndroBetel Feb 26, 2024
01c2d3f
Update uniform_0.dmi
AndroBetel Feb 26, 2024
c721398
review1
AndroBetel Feb 26, 2024
c36dc3d
review2
AndroBetel Feb 26, 2024
6686f8f
no more polyglotism business
AndroBetel Feb 26, 2024
0e36adb
erm
AndroBetel Feb 26, 2024
7a9a766
review3
AndroBetel Feb 27, 2024
661cc92
upp_g8
AndroBetel Feb 27, 2024
d05ad08
upptableflag
AndroBetel Feb 27, 2024
e527d47
Merge branch 'master' of https://github.com/PvE-CMSS13/PvE-CMSS13 int…
AndroBetel Feb 28, 2024
13589ab
conflicts damn
AndroBetel Feb 28, 2024
58032d1
soulful names
AndroBetel Mar 1, 2024
dacb405
Update backpack.dm
AndroBetel Mar 1, 2024
d005270
Merge branch 'master' into upp_ship
FslashN Mar 4, 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: 7 additions & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,17 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_UPP_FLIGHT 235
#define ACCESS_UPP_RESEARCH 236

#define ACCESS_UPP_SQUAD_ONE 237
#define ACCESS_UPP_SQUAD_TWO 238

#define ACCESS_UPP_COMMANDO 239
#define ACCESS_UPP_LEADERSHIP 240
///Senior leadership, the highest ranks
#define ACCESS_UPP_SENIOR_LEAD 241

#define ACCESS_UPP_MEDPREP 242
#define ACCESS_UPP_MACHINEGUN 243
#define ACCESS_UPP_TLPREP 244
//=================================================

//Colonial Liberation Front access levels (260-289)
Expand Down Expand Up @@ -196,6 +202,7 @@ most of them are tied into map-placed objects. This should be reworked in the fu

///All access levels associated with UPP
#define ACCESS_LIST_UPP_ALL "UPP (ALL)"
#define ACCESS_LIST_UPP_PLATOON "UPP (Platoon)"

///Generic/basic access to CLF stuff
#define ACCESS_LIST_CLF_BASE "CLF (Basic)"
Expand Down
8 changes: 8 additions & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#define SQUAD_MARINE_INTEL "Intel"
#define SQUAD_SOF "SOF"
#define SQUAD_CBRN "CBRN"
#define SQUAD_UPP "Red Dawn"

// Job name defines
#define JOB_SQUAD_MARINE "Rifleman"
Expand All @@ -24,6 +25,13 @@
#define JOB_SQUAD_ROLES /datum/timelock/squad
#define JOB_SQUAD_ROLES_LIST list(JOB_SQUAD_MARINE, JOB_SQUAD_LEADER, JOB_SQUAD_ENGI, JOB_SQUAD_MEDIC, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_TEAM_LEADER)

#define JOB_SQUAD_MARINE_UPP "UPP Rifleman"
#define JOB_SQUAD_LEADER_UPP "UPP Platoon Sergeant"
#define JOB_SQUAD_MEDIC_UPP "UPP Sanitar"
#define JOB_SQUAD_TEAM_LEADER_UPP "UPP Squad Sergeant"
#define JOB_SQUAD_SMARTGUN_UPP "UPP Machinegunner"
#define JOB_SO_UPP "UPP Platoon Commander"

var/global/list/job_squad_roles = JOB_SQUAD_ROLES_LIST

#define JOB_COLONIST "Colonist"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ GLOBAL_LIST_INIT(all_minimap_flags, bitfield2list(MINIMAP_FLAG_ALL))
#define MINIMAP_SQUAD_FOXTROT "#fe7b2e"
#define MINIMAP_SQUAD_SOF "#400000"
#define MINIMAP_SQUAD_INTEL "#053818"
#define MINIMAP_SQUAD_UPP "#B22222"

#define MINIMAP_ICON_BACKGROUND_CIVILIAN "#7D4820"
#define MINIMAP_ICON_BACKGROUND_CIC "#3f3f3f"
Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ var/global/list/ROLES_ENGINEERING = list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH,
var/global/list/ROLES_REQUISITION = list(JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION)
var/global/list/ROLES_MEDICAL = list(JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR)
var/global/list/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)
var/global/list/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)
var/global/list/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, SQUAD_UPP)

//Groundside roles
var/global/list/ROLES_XENO = list(JOB_XENOMORPH_QUEEN, JOB_XENOMORPH)
Expand All @@ -139,6 +139,7 @@ var/global/list/ROLES_FACTION_CLASH = ROLES_USCM + JOB_PREDATOR

var/global/list/ROLES_UNASSIGNED = list(JOB_SQUAD_MARINE)
var/global/list/ROLES_AI = list(JOB_SO, JOB_SQUAD_LEADER, JOB_SQUAD_MEDIC, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MARINE)
var/global/list/ROLES_AI_UPP = list(JOB_SO_UPP, JOB_SQUAD_LEADER_UPP, JOB_SQUAD_MEDIC_UPP, JOB_SQUAD_TEAM_LEADER_UPP, JOB_SQUAD_SMARTGUN_UPP, JOB_SQUAD_MARINE_UPP)
var/global/list/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)
//Role lists used for switch() checks in show_blurb_uscm(). Cosmetic, determines ex. "Engineering, USS Almayer", "2nd Bat. 'Falling Falcons'" etc.
#define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@
#define DROPSHIP_MIDWAY "dropship_midway"
#define DROPSHIP_ALAMO "dropship_alamo"
#define DROPSHIP_NORMANDY "dropship_normandy"
#define DROPSHIP_UPP "dropship_upp"

#define ALMAYER_DROPSHIP_LZ1 "almayer-hangar-lz1"
#define ALMAYER_DROPSHIP_LZ2 "almayer-hangar-lz2"
Expand Down
9 changes: 9 additions & 0 deletions code/controllers/subsystem/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ SUBSYSTEM_DEF(mapping)

/datum/controller/subsystem/mapping/proc/Loadship(list/errorList, name, path, files, list/traits, list/default_traits, silent = FALSE, override_map_path = "maps/")
LoadGroup(errorList, name, path, files, traits, default_traits, silent, override_map_path = override_map_path)
GLOB.gamemode_roles["Distress Signal: Lowpop"] = GLOB.platoon_to_role_list[MAIN_SHIP_PLATOON]

/datum/controller/subsystem/mapping/proc/Loadground(list/errorList, name, path, files, list/traits, list/default_traits, silent = FALSE, override_map_path = "maps/")
LoadGroup(errorList, name, path, files, traits, default_traits, silent, override_map_path = override_map_path)
Expand Down Expand Up @@ -339,3 +340,11 @@ SUBSYSTEM_DEF(mapping)
if(!MC)
return MAIN_SHIP_DEFAULT_NAME
return MC.map_name

/datum/controller/subsystem/mapping/proc/get_main_ship_platoon()
if(!configs)
return MAIN_SHIP_DEFAULT_PLATOON
var/datum/map_config/MC = configs[SHIP_MAP]
if(!MC)
return MAIN_SHIP_DEFAULT_PLATOON
return MC.platoon
30 changes: 15 additions & 15 deletions code/controllers/subsystem/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ SUBSYSTEM_DEF(minimaps)
/proc/get_tacmap_data_png(faction)
var/list/map_list

if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID)
map_list = GLOB.uscm_flat_tacmap_data
else if(faction == XENO_HIVE_NORMAL)
map_list = GLOB.xeno_flat_tacmap_data
Expand All @@ -402,7 +402,7 @@ SUBSYSTEM_DEF(minimaps)
* * faction: FACTION_MARINE or XENO_HIVE_NORMAL
*/
/proc/get_unannounced_tacmap_data_png(faction)
if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID )
return GLOB.uscm_unannounced_map
else if(faction == XENO_HIVE_NORMAL)
return GLOB.xeno_unannounced_map
Expand All @@ -418,7 +418,7 @@ SUBSYSTEM_DEF(minimaps)
/proc/get_tacmap_data_svg(faction)
var/list/map_list

if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID )
map_list = GLOB.uscm_svg_tacmap_data
else if(faction == XENO_HIVE_NORMAL)
map_list = GLOB.xeno_svg_tacmap_data
Expand All @@ -443,9 +443,9 @@ SUBSYSTEM_DEF(minimaps)
return

var/is_observer = user.faction == FACTION_NEUTRAL && isobserver(user)
if(is_observer || user.faction == FACTION_MARINE)
if(is_observer || (user.faction in FACTION_LIST_HUMANOID))
// Send marine maps
var/datum/flattened_tacmap/latest = get_tacmap_data_png(FACTION_MARINE)
var/datum/flattened_tacmap/latest = get_tacmap_data_png(user.faction)
if(latest)
SSassets.transport.send_assets(user.client, latest.asset_key)
var/datum/flattened_tacmap/unannounced = get_unannounced_tacmap_data_png(FACTION_MARINE)
Expand All @@ -471,7 +471,7 @@ SUBSYSTEM_DEF(minimaps)
* * Returns a boolean value, TRUE if the operation was successful, FALSE if it was not (on cooldown generally).
*/
/datum/tacmap/drawing/proc/distribute_current_map_png(faction)
if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID)
if(!COOLDOWN_FINISHED(GLOB, uscm_flatten_map_icon_cooldown))
return FALSE
COOLDOWN_START(GLOB, uscm_flatten_map_icon_cooldown, flatten_map_cooldown_time)
Expand All @@ -493,7 +493,7 @@ SUBSYSTEM_DEF(minimaps)
if(!client || !client.mob)
continue
var/mob/client_mob = client.mob
if(client_mob.faction == faction)
if(client_mob.faction in FACTION_LIST_HUMANOID )
faction_clients += client
else if(client_mob.faction == FACTION_NEUTRAL && isobserver(client_mob))
faction_clients += client
Expand All @@ -510,7 +510,7 @@ SUBSYSTEM_DEF(minimaps)
var/flat_tacmap_png = SSassets.transport.get_asset_url(flat_tacmap_key)
var/datum/flattened_tacmap/new_flat = new(flat_tacmap_png, flat_tacmap_key)

if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID )
GLOB.uscm_unannounced_map = new_flat
else //if(faction == XENO_HIVE_NORMAL)
GLOB.xeno_unannounced_map = new_flat
Expand All @@ -528,7 +528,7 @@ SUBSYSTEM_DEF(minimaps)
/datum/tacmap/drawing/proc/store_current_svg_coords(faction, svg_coords, ckey)
var/datum/svg_overlay/svg_store_overlay = new(svg_coords, ckey)

if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID )
GLOB.uscm_svg_tacmap_data += svg_store_overlay
else if(faction == XENO_HIVE_NORMAL)
GLOB.xeno_svg_tacmap_data += svg_store_overlay
Expand Down Expand Up @@ -729,7 +729,7 @@ SUBSYSTEM_DEF(minimaps)
old_map = get_tacmap_data_png(faction)
current_svg = get_tacmap_data_svg(faction)

var/use_live_map = faction == FACTION_MARINE && skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT) || is_xeno
var/use_live_map = skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT) || is_xeno

if(use_live_map && !map_holder)
var/level = SSmapping.levels_by_trait(targeted_ztrait)
Expand Down Expand Up @@ -807,9 +807,9 @@ SUBSYSTEM_DEF(minimaps)

data["isXeno"] = is_xeno
data["canViewTacmap"] = is_xeno
data["canViewCanvas"] = faction == FACTION_MARINE || faction == XENO_HIVE_NORMAL
data["canViewCanvas"] = (faction in FACTION_LIST_HUMANOID) || faction == XENO_HIVE_NORMAL

if(faction == FACTION_MARINE && skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT) || faction == XENO_HIVE_NORMAL && isqueen(user))
if(skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT) || faction == XENO_HIVE_NORMAL && isqueen(user))
data["canDraw"] = TRUE
data["canViewTacmap"] = TRUE

Expand Down Expand Up @@ -898,7 +898,7 @@ SUBSYSTEM_DEF(minimaps)
if(!istype(params["image"], /list)) // potentially very serious?
return FALSE

if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID)
GLOB.uscm_flat_tacmap_data += new_current_map
else if(faction == XENO_HIVE_NORMAL)
GLOB.xeno_flat_tacmap_data += new_current_map
Expand All @@ -907,14 +907,14 @@ SUBSYSTEM_DEF(minimaps)
current_svg = get_tacmap_data_svg(faction)
old_map = get_tacmap_data_png(faction)

if(faction == FACTION_MARINE)
if(faction in FACTION_LIST_HUMANOID )
AndroBetel marked this conversation as resolved.
Show resolved Hide resolved
COOLDOWN_START(GLOB, uscm_canvas_cooldown, canvas_cooldown_time)
var/mob/living/carbon/human/human_leader = user
for(var/datum/squad/current_squad in RoleAuthority.squads)
current_squad.send_maptext("Tactical map update in progress...", "Tactical Map:")
human_leader.visible_message(SPAN_BOLDNOTICE("Tactical map update in progress..."))
playsound_client(human_leader.client, "sound/effects/sos-morse-code.ogg")
notify_ghosts(header = "Tactical Map", message = "The USCM tactical map has been updated.", ghost_sound = "sound/effects/sos-morse-code.ogg", notify_volume = 80, action = NOTIFY_USCM_TACMAP, enter_link = "uscm_tacmap=1", enter_text = "View", source = owner)
notify_ghosts(header = "Tactical Map", message = "The [faction] tactical map has been updated.", ghost_sound = "sound/effects/sos-morse-code.ogg", notify_volume = 80, action = NOTIFY_USCM_TACMAP, enter_link = "uscm_tacmap=1", enter_text = "View", source = owner)

else if(faction == XENO_HIVE_NORMAL)
var/mutable_appearance/appearance = mutable_appearance(icon('icons/mob/hud/actions_xeno.dmi'), "toggle_queen_zoom")
Expand Down
17 changes: 17 additions & 0 deletions code/datums/ammo/bullet/shotgun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,23 @@
scatter = SCATTER_AMOUNT_TIER_1
bonus_projectiles_amount = 0

/datum/ammo/bullet/shotgun/heavy/buckshot/special
bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy/buckshot/spread/special
bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_8
accurate_range = 8
max_range = 8
damage = 75
penetration = 0
shell_speed = AMMO_SPEED_TIER_2
damage_armor_punch = 0
pen_armor_punch = 0

/datum/ammo/bullet/shotgun/heavy/buckshot/spread/special
name = "additional superheavy buckshot"
accurate_range = 8
max_range = 8
damage = 100

//basically the same
/datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath
name = "dragon's breath shell"
Expand Down
5 changes: 5 additions & 0 deletions code/datums/ammo/bullet/sniper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,11 @@
damage = 80
penetration = ARMOR_PENETRATION_TIER_10

/datum/ammo/bullet/sniper/upp_pve
name = "high-power sniper bullet"
damage = 180
penetration = ARMOR_PENETRATION_TIER_4

/datum/ammo/bullet/sniper/anti_materiel
name = "anti-materiel sniper bullet"

Expand Down
4 changes: 2 additions & 2 deletions code/datums/ammo/bullet/special_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,6 @@
accuracy_var_low = PROJECTILE_VARIANCE_TIER_8
accuracy_var_high = PROJECTILE_VARIANCE_TIER_6
accurate_range = 14
damage = 35
penetration= ARMOR_PENETRATION_TIER_6
damage = 45
penetration = ARMOR_PENETRATION_TIER_2
shrapnel_chance = SHRAPNEL_CHANCE_TIER_2
4 changes: 0 additions & 4 deletions code/datums/datacore.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ GLOBAL_DATUM_INIT(data_core, /datum/datacore, new)
departments += marines_by_squad
var/list/manifest_out = list()
for(var/datum/data/record/t in GLOB.data_core.general)
if(t.fields["mob_faction"] != FACTION_MARINE) //we process only USCM humans
continue
var/name = t.fields["name"]
var/rank = t.fields["rank"]
var/squad = t.fields["squad"]
Expand Down Expand Up @@ -98,8 +96,6 @@ GLOBAL_DATUM_INIT(data_core, /datum/datacore, new)
var/list/squad_sublists = ROLES_SQUAD_ALL.Copy() //Are there any marines in the squad?

for(var/datum/data/record/t in GLOB.data_core.general)
if(t.fields["mob_faction"] != FACTION_MARINE) //we process only USCM humans
continue

var/name = t.fields["name"]
var/rank = t.fields["rank"]
Expand Down
35 changes: 34 additions & 1 deletion code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
hud_icon_state = "sl"
if(JOB_UPP_POLICE)
hud_icon_state = "mp"
if(JOB_UPP_LT_OFFICER)
if(JOB_UPP_LT_OFFICER, JOB_SO)
hud_icon_state = "lt"
if(JOB_UPP_SRLT_OFFICER)
hud_icon_state = "slt"
Expand Down Expand Up @@ -56,6 +56,39 @@
if(hud_icon_state)
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "upp_[hud_icon_state]")

//UPP PVE PLATOON
var/datum/squad/squad = H.assigned_squad
if(istype(squad, /datum/squad/marine/upp))
var/squad_clr = H.assigned_squad.equipment_color
switch(GET_DEFAULT_ROLE(_role))
if(JOB_SQUAD_MEDIC) hud_icon_state = "med"
if(JOB_SQUAD_SMARTGUN) hud_icon_state = "gun"
if(JOB_SQUAD_TEAM_LEADER) hud_icon_state = "tl"
if(JOB_SQUAD_LEADER) hud_icon_state = "leader_a"
if(squad.fireteam_leaders["SQ1"] == H || squad.fireteam_leaders["SQ2"] == H)
H.langchat_styles = "langchat_smaller_bolded"
else
H.langchat_styles = initial(H.langchat_styles)
H.langchat_color = H.assigned_squad.chat_color

if(!hud_icon_state) hud_icon_state = H.rank_fallback
if(hud_icon_state)
var/image/IMG = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad")
if(squad_clr)
IMG.color = squad_clr
else
IMG.color = "#5A934A"
holder.overlays += IMG
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[hud_icon_state]")
if(H.assigned_squad && H.assigned_fireteam)
var/image/IMG2 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[H.assigned_fireteam]")
IMG2.color = squad_clr
holder.overlays += IMG2
if(H.assigned_squad.fireteam_leaders[H.assigned_fireteam] == H)
var/image/IMG3 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_ftl")
IMG3.color = squad_clr
holder.overlays += IMG3

/datum/faction/upp/get_antag_guns_snowflake_equipment()
return list(
list("PRIMARY FIREARMS", 0, null, null, null),
Expand Down
4 changes: 4 additions & 0 deletions code/datums/map_config.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@

var/nightmare_path

var/platoon
/// If truthy this is config for a round overriden map: search for override maps in data/, instead of using a path in maps/
var/override_map

Expand Down Expand Up @@ -360,6 +361,9 @@
if(json["nightmare_path"])
nightmare_path = json["nightmare_path"]

if(json["platoon"])
platoon = json["platoon"]

if(islist(json["environment_traits"]))
environment_traits = json["environment_traits"]
else if(!isnull(json["environment_traits"]))
Expand Down
11 changes: 9 additions & 2 deletions code/datums/paygrades/factions/upp/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
paygrade = "UE0"
name = "Conscript"
pay_multiplier = 0.05
prefix = "Cnscr."

/datum/paygrade/upp/ue1
paygrade = "UE1"
Expand All @@ -16,8 +17,8 @@

/datum/paygrade/upp/ue2
paygrade = "UE2"
name = "Private First Class"
prefix = "PFC."
name = "Efreitor"
prefix = "Efr."
pay_multiplier = 0.2

/datum/paygrade/upp/ue3
Expand All @@ -44,6 +45,12 @@
prefix = "MSzh."
pay_multiplier = 0.9

/datum/paygrade/upp/ue7
paygrade = "UE7"
name = "Starshina"
prefix = "Strsh."
pay_multiplier = 1 //here comes the moneyyy

//UPP Commandos
/datum/paygrade/upp/uc1
paygrade = "UC1"
Expand Down
Loading
Loading