diff --git a/code/datums/components/stationloving.dm b/code/datums/components/stationloving.dm index b0425dcd1f6..7a51b02a5af 100644 --- a/code/datums/components/stationloving.dm +++ b/code/datums/components/stationloving.dm @@ -148,6 +148,8 @@ return FALSE if (is_station_level(destination_turf.z)) return TRUE + if(atom_to_check.onSyndieBase()) + return TRUE var/area/destination_area = destination_turf.loc if (is_centcom_level(destination_turf.z)) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 29018c44df8..8ed452b4ad7 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -462,9 +462,9 @@ return TRUE /** - * Is the atom in any of the centcom syndicate areas + * Is the atom in any of the syndicate areas * - * Either in the syndie base on centcom, or any of their shuttles + * Either in the syndie base, or any of their shuttles * * Also used in gamemode code for win conditions */ @@ -473,7 +473,7 @@ if(!current_turf) return FALSE - if(!is_centcom_level(current_turf.z))//if not, don't bother + if(!is_reserved_level(current_turf.z))//if not, don't bother return FALSE if(istype(current_turf.loc, /area/shuttle/syndicate) || istype(current_turf.loc, /area/centcom/syndicate_mothership) || istype(current_turf.loc, /area/shuttle/assault_pod)) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 8d3d0eb2396..7a332fa8c50 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -1017,6 +1017,10 @@ GLOBAL_PROTECT(admin_verbs_poll) if(!check_rights(R_ADMIN)) return + if(SSticker.current_state != GAME_STATE_PLAYING) + to_chat(usr, span_warning("The game hasnt started yet!")) + return + var/list/choices = LAZY_TEMPLATE_KEY_LIST_ALL() var/choice = tgui_input_list(usr, "Key?", "Lazy Loader", choices) if(!choice) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/syndicate_nuke.dm b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/syndicate_nuke.dm index a541322ab47..58a4aa16e61 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/syndicate_nuke.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/syndicate_nuke.dm @@ -6,7 +6,7 @@ if(DETONATION_HIT_STATION) // And it was detonated by nuke ops if(length(get_antag_minds(/datum/antagonist/nukeop))) - if(is_infiltrator_docked_at_centcom()) + if(is_infiltrator_docked_at_syndiebase()) // And the ops escaped, they won! return /datum/cinematic/nuke/ops_victory else diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index 8922094c5e6..eb48839047f 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -361,7 +361,7 @@ /datum/team/nuclear/proc/get_result() var/shuttle_evacuated = EMERGENCY_ESCAPED_OR_ENDGAMED var/disk_rescued = is_disk_rescued() - var/syndies_didnt_escape = !is_infiltrator_docked_at_centcom() + var/syndies_didnt_escape = !is_infiltrator_docked_at_syndiebase() var/team_is_dead = are_all_operatives_dead() var/station_was_nuked = GLOB.station_was_nuked var/station_nuke_source = GLOB.station_nuke_source @@ -494,8 +494,15 @@ return common_part + disk_report + challenge_report /// Returns whether or not syndicate operatives escaped. -/proc/is_infiltrator_docked_at_centcom() +/proc/is_infiltrator_docked_at_syndiebase() var/obj/docking_port/mobile/infiltrator/infiltrator_port = SSshuttle.getShuttle("syndicate") - var/obj/docking_port/stationary/transit/infiltrator_dock = locate() in infiltrator_port.loc - return infiltrator_port && (is_centcom_level(infiltrator_port.z) || infiltrator_dock) + var/datum/lazy_template/nukie_base/nukie_template = GLOB.lazy_templates[LAZY_TEMPLATE_KEY_NUKIEBASE] + if(!nukie_template) + return FALSE // if its not even loaded, cant be docked + + for(var/datum/turf_reservation/loaded_area as anything in nukie_template.reservations) + var/infiltrator_turf = get_turf(infiltrator_port) + if(infiltrator_turf in loaded_area.reserved_turfs) + return TRUE + return FALSE diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index db2efb37551..d52cd67491e 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -49,7 +49,7 @@ . = ..() if(!.) return FALSE - if(!is_centcom_level(z)) + if(!is_reserved_level(z)) to_chat(user, span_warning("Pods are one way!")) return FALSE return TRUE