Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Nihisohel committed Apr 5, 2024
2 parents d744a41 + d647f3b commit 10deb4f
Show file tree
Hide file tree
Showing 277 changed files with 137,880 additions and 1,433 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/__game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ block( \
#define MAP_RUNTIME "USS Runtime"
#define MAP_LV522_CHANCES_CLAIM "LV-522 Chance's Claim" // Highpop Only
#define MAP_NEW_VARADERO "New Varadero"//ice colony underground but as its own map
#define MAP_NEW_VARADERO_REPAIRED "New Varadero Repaired"
#define MAP_CHINOOK "Chinook 91 GSO" //admin level
#define MAP_DERELICT_ALMAYER "Derelict Almayer"

Expand Down
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
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals/atom/signals_gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@
#define COMSIG_GUN_BEFORE_FIRE "gun_before_fire"
#define COMPONENT_CANCEL_GUN_BEFORE_FIRE (1<<0) //continue full-auto/burst attempts
#define COMPONENT_HARD_CANCEL_GUN_BEFORE_FIRE (1<<1) //hard stop firing

/// Called when IFF is toggled on or off
#define COMSIG_GUN_IFF_TOGGLED "gun_iff_toggled"
5 changes: 5 additions & 0 deletions code/__DEFINES/dropships.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,8 @@
#define DROPSHIP_MIN_AUTO_DELAY 10 SECONDS
#define DROPSHIP_AUTO_RETRY_COOLDOWN 20 SECONDS
#define DROPSHIP_MEDEVAC_COOLDOWN 20 SECONDS

//Hatches states
#define SHUTTLE_DOOR_BROKEN -1
#define SHUTTLE_DOOR_UNLOCKED 0
#define SHUTTLE_DOOR_LOCKED 1
16 changes: 16 additions & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
#define SQUAD_MARINE_INTEL "Intel"
#define SQUAD_SOF "SOF"
#define SQUAD_CBRN "CBRN"
#define SQUAD_UPP "Red Dawn"
#define SQUAD_LRRP "Snake Eaters"

// Job name defines
#define JOB_SQUAD_MARINE "Rifleman"
Expand All @@ -24,6 +26,20 @@
#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"

#define JOB_SQUAD_TEAM_LEADER_FORECON "FORECON Assistant Squad Leader"
#define JOB_SQUAD_LEADER_FORECON "FORECON Squad Leader"
#define JOB_SQUAD_MEDIC_FORECON "FORECON Squad Corpsman"
#define JOB_SQUAD_RTO "Radio Telephone Operator"
#define JOB_SQUAD_MARINE_FORECON "FORECON Rifleman"
#define JOB_SQUAD_SMARTGUN_FORECON "FORECON Smartgunner"

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
1 change: 1 addition & 0 deletions code/__DEFINES/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
#define TRACKER_CO "track_co"
#define TRACKER_XO "track_xo"
#define TRACKER_CL "track_cl"
#define TRACKER_PLTCO "track_pltco"

#define TRACKER_ASL "_asl" // Alpha Squad Leader
#define TRACKER_BSL "_bsl" // Bravo Squad Leader
Expand Down
6 changes: 4 additions & 2 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ var/global/list/ROLES_POLICE = list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
var/global/list/ROLES_ENGINEERING = list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_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_MARINES = list(JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE, JOB_SQUAD_RTO)
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, SQUAD_LRRP)

//Groundside roles
var/global/list/ROLES_XENO = list(JOB_XENOMORPH_QUEEN, JOB_XENOMORPH)
Expand All @@ -139,6 +139,8 @@ 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_AI_FORECON = list(JOB_SQUAD_LEADER_FORECON, JOB_SQUAD_MEDIC_FORECON, JOB_SQUAD_TEAM_LEADER_FORECON, JOB_SQUAD_SMARTGUN_FORECON, JOB_SQUAD_MARINE_FORECON, JOB_SQUAD_RTO)
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
2 changes: 2 additions & 0 deletions code/__DEFINES/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@
#define DROPSHIP_MIDWAY "dropship_midway"
#define DROPSHIP_ALAMO "dropship_alamo"
#define DROPSHIP_NORMANDY "dropship_normandy"
#define DROPSHIP_UPP "dropship_upp"
#define DROPSHIP_CYCLONE "dropship_cyclone"

#define ALMAYER_DROPSHIP_LZ1 "almayer-hangar-lz1"
#define ALMAYER_DROPSHIP_LZ2 "almayer-hangar-lz2"
Expand Down
5 changes: 3 additions & 2 deletions code/__DEFINES/subsystems.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,9 @@
#define SS_INIT_DATABASE -27
#define SS_INIT_ENTITYMANAGER -28
#define SS_INIT_PLAYTIME -29
#define SS_INIT_PREDSHIPS -30
#define SS_INIT_OBJECTIVES -31
#define SS_INIT_STICKY -30
#define SS_INIT_PREDSHIPS -31
#define SS_INIT_OBJECTIVES -32
#define SS_INIT_MINIMAP -34
#define SS_INIT_STATPANELS -98
#define SS_INIT_CHAT -100 //Should be last to ensure chat remains smooth during init.
Expand Down
19 changes: 18 additions & 1 deletion code/__DEFINES/tgs.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// tgstation-server DMAPI

#define TGS_DMAPI_VERSION "7.0.2"
#define TGS_DMAPI_VERSION "7.1.1"

// All functions and datums outside this document are subject to change with any version and should not be relied on.

Expand Down Expand Up @@ -50,6 +50,13 @@

#endif

#ifndef TGS_FILE2TEXT_NATIVE
#ifdef file2text
#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You can fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses
#endif
#define TGS_FILE2TEXT_NATIVE file2text
#endif

// EVENT CODES

/// Before a reboot mode change, extras parameters are the current and new reboot mode enums.
Expand Down Expand Up @@ -490,6 +497,16 @@
/world/proc/TgsChatChannelInfo()
return

/**
* Trigger an event in TGS. Requires TGS version >= 6.3.0. Returns [TRUE] if the event was triggered successfully, [FALSE] otherwise. This function may sleep!
*
* event_name - The name of the event to trigger
* parameters - Optional list of string parameters to pass as arguments to the event script. The first parameter passed to a script will always be the running game's directory followed by these parameters.
* wait_for_completion - If set, this function will not return until the event has run to completion.
*/
/world/proc/TgsTriggerEvent(event_name, list/parameters, wait_for_completion = FALSE)
return

/*
The MIT License
Expand Down
10 changes: 5 additions & 5 deletions code/__DEFINES/xeno_ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@

#define OPEN_TURF_PENALTY 1
#define DOOR_PENALTY 3
#define OBJECT_PENALTY 20
#define HUMAN_PENALTY 4
#define XENO_PENALTY 20
#define VEHICLE_PENALTY 25
#define OBJECT_PENALTY 20
#define FIRE_PENALTY 25
#define SENTRY_PENALTY 25
#define VEHICLE_PENALTY 25
#define WINDOW_FRAME_PENALTY 25
#define BARRICADE_PENALTY 50
#define WALL_PENALTY 50
#define FIRE_PENALTY 25
#define WALL_PENALTY 100

/*
PROBABILITY CALCULATIONS ARE HERE
Expand Down Expand Up @@ -90,7 +90,7 @@ PROBABILITY CALCULATIONS ARE HERE


/// Special blockers for pathfinding or obstacle handling
#define XENO_AI_SPECIAL_BLOCKERS list(/obj/flamer_fire, /obj/vehicle/multitile, /turf/open/space)
#define XENO_AI_SPECIAL_BLOCKERS list(/obj/flamer_fire, /obj/vehicle/multitile, /turf/open/space, /turf/open/gm/river)

// Friend-or-foe universal check
#define IS_SAME_HIVENUMBER(A,B) (A.hivenumber == B.hivenumber)
2 changes: 1 addition & 1 deletion code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@
var/obj/item/card/id/ID = A
if(ID.registered_name == oldname)
ID.registered_name = newname
ID.name = "[newname]'s ID Card ([ID.assignment])"
ID.name = "[newname]'s [ID.card_name] ([ID.assignment])"
if(!search_pda) break
search_id = 0
return 1
Expand Down
6 changes: 6 additions & 0 deletions code/_onclick/hud/fullscreen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@
else
client.remove_from_screen(screen)

/mob/proc/get_maximum_view_range()
if(!client)
return world.view

var/offset = max(abs(client.pixel_x), abs(client.pixel_y))
return client.view + offset / 32

/atom/movable/screen/fullscreen
icon = 'icons/mob/hud/screen1_full.dmi'
Expand Down
2 changes: 2 additions & 0 deletions code/controllers/configuration/entries/general.dm
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,8 @@ This maintains a list of ip addresses that are able to bypass topic filtering.

/datum/config_entry/string/round_results_webhook_url

/datum/config_entry/string/important_log_channel

/// InfluxDB v2 Host to connect to for sending statistics (over HTTP API)
/datum/config_entry/string/influxdb_host
/// InfluxDB v2 Bucket to send staistics to
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 )
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
7 changes: 4 additions & 3 deletions code/controllers/subsystem/pathfinding.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,11 @@ SUBSYSTEM_DEF(xeno_pathfinding)
/datum/controller/subsystem/xeno_pathfinding/proc/check_special_blockers(mob/living/carbon/xenomorph/xeno, turf/checking_turf)
var/list/pass_back = list()

pass_back += (checking_turf.type in XENO_AI_SPECIAL_BLOCKERS) ? checking_turf : list()
for(var/spec_blocker in XENO_AI_SPECIAL_BLOCKERS)
pass_back += istype(checking_turf, spec_blocker) ? checking_turf : list()

for(var/atom/checked_atom as anything in checking_turf)
pass_back += (checked_atom.type in XENO_AI_SPECIAL_BLOCKERS) ? checked_atom : list()
for(var/atom/checked_atom as anything in checking_turf)
pass_back += istype(checked_atom, spec_blocker) ? checked_atom : list()

return pass_back

Expand Down
Loading

0 comments on commit 10deb4f

Please sign in to comment.