diff --git a/code/__DEFINES/global.dm b/code/__DEFINES/global.dm index 52ed291b657..4197e95d48f 100644 --- a/code/__DEFINES/global.dm +++ b/code/__DEFINES/global.dm @@ -66,16 +66,12 @@ GLOBAL_DATUM(lobby_mobs_location, /turf) //Spawnpoints. GLOBAL_LIST_EMPTY(latejoin) -GLOBAL_LIST_EMPTY(latejoin_gateway) GLOBAL_LIST_EMPTY(latejoin_cryo) -GLOBAL_LIST_EMPTY(latejoin_cryo_command) GLOBAL_LIST_EMPTY(latejoin_cyborg) -GLOBAL_LIST_EMPTY(latejoin_merchant) GLOBAL_LIST_EMPTY(latejoin_living_quarters_lift) GLOBAL_LIST_EMPTY(kickoffsloc) GLOBAL_LIST_EMPTY(virtual_reality_spawn) -GLOBAL_LIST_EMPTY(asteroid_spawn) // Asteroid "Dungeons" spawn at these. GLOBAL_LIST_EMPTY(tdome1) GLOBAL_LIST_EMPTY(tdome2) GLOBAL_LIST_EMPTY(tdomeobserve) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 2e9edd7d8b8..c58b867c6fd 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -26,7 +26,9 @@ GLOBAL_LIST_EMPTY(topic_commands_names) GLOBAL_PROTECT(topic_commands_names) /// List of all landmarks. -GLOBAL_LIST_EMPTY(landmarks_list) +GLOBAL_LIST_EMPTY_TYPED(landmarks_list, /obj/effect/landmark) +/// List of all ruin landmarks. +GLOBAL_LIST_EMPTY_TYPED(ruin_landmarks, /obj/effect/landmark/ruin) /// Assoc list of force spawnpoints for event maps. GLOBAL_LIST_EMPTY(force_spawnpoints) /// List of all jobstypes, minus borg, merchant and AI. @@ -121,10 +123,6 @@ GLOBAL_DATUM_INIT(cameranet, /datum/visualnet/camera, new) /// Escape locations for Nar'Sie. Escape shuttles, generally. GLOBAL_LIST_EMPTY(escape_list) -/// Escape exits for universe states. -GLOBAL_LIST_EMPTY(endgame_exits) -/// Safe spawns for universe states. -GLOBAL_LIST_EMPTY(endgame_safespawns) GLOBAL_LIST_INIT(syndicate_access, list(ACCESS_MAINT_TUNNELS, ACCESS_SYNDICATE, ACCESS_EXTERNAL_AIRLOCKS)) diff --git a/code/controllers/subsystems/initialization/map_finalization.dm b/code/controllers/subsystems/initialization/map_finalization.dm index 619921acabf..4f0e2035e74 100644 --- a/code/controllers/subsystems/initialization/map_finalization.dm +++ b/code/controllers/subsystems/initialization/map_finalization.dm @@ -18,9 +18,6 @@ SUBSYSTEM_DEF(finalize) load_space_ruin() - if(GLOB.config.dungeon_chance > 0) - place_dungeon_spawns() - if(GLOB.config.generate_asteroid) time = world.time SSatlas.current_map.generate_asteroid() @@ -66,49 +63,6 @@ SUBSYSTEM_DEF(finalize) SSatlas.current_map.restricted_levels.Add(world.maxz) QDEL_NULL(maploader) -/datum/controller/subsystem/finalize/proc/place_dungeon_spawns() - var/map_directory = "maps/dungeon_spawns/" - var/list/files = flist(map_directory) - var/start_time = world.time - var/dungeons_placed = 0 - var/dmm_suite/maploader = new - - var/dungeon_chance = GLOB.config.dungeon_chance - - log_subsystem_mapfinalization("Attempting to create asteroid dungeons for [length(GLOB.asteroid_spawn)] different areas, with [length(files) - 1] possible dungeons, with a [dungeon_chance]% chance to spawn a dungeon per area.") - - for(var/turf/spawn_location in GLOB.asteroid_spawn) - - if(length(files) <= 0) //Sanity - log_subsystem_mapfinalization("There aren't enough dungeon map files to fill the entire dungeon map. There may be less dungeons than expected.") - break - - if(prob(dungeon_chance)) - - var/chosen_dungeon = pick(files) - - if(!dd_hassuffix(chosen_dungeon,".dmm")) //Don't read anything that isn't a map file - files -= chosen_dungeon - log_subsystem_mapfinalization_error("ALERT: [chosen_dungeon] is not a .dmm file! Skipping!") - continue - - var/map_file = file("[map_directory][chosen_dungeon]") - - if(isfile(map_file)) //Sanity - log_subsystem_mapfinalization("Loading dungeon '[chosen_dungeon]' at coordinates [spawn_location.x], [spawn_location.y], [spawn_location.z].") - maploader.load_map(map_file,spawn_location.x,spawn_location.y,spawn_location.z) - dungeons_placed += 1 - else - log_subsystem_mapfinalization_error("ERROR: Something weird happened with the file: [chosen_dungeon].") - log_mapping("ERROR: Something weird happened with the file: [chosen_dungeon].") - - if(dd_hassuffix(chosen_dungeon,"_unique.dmm")) //Unique dungeons should only spawn once. - files -= chosen_dungeon - - log_subsystem_mapfinalization("Loaded [dungeons_placed] asteroid dungeons in [(world.time - start_time)/10] seconds.") - - qdel(maploader) - /datum/controller/subsystem/finalize/proc/generate_contact_report() if(!selected_mission) return diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index da8fa88d0e3..04f2efde15e 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -583,11 +583,7 @@ SUBSYSTEM_DEF(jobs) if(spawnpos && istype(spawnpos)) if(spawnpos.check_job_spawning(rank)) if(istype(spawnpos, /datum/spawnpoint/cryo) && (rank in command_positions)) - var/datum/spawnpoint/cryo/C = spawnpos - if(length(C.command_turfs)) - H.forceMove(pick(C.command_turfs)) - else - H.forceMove(pick(spawnpos.turfs)) + H.forceMove(pick(spawnpos.turfs)) else H.forceMove(pick(spawnpos.turfs)) . = spawnpos.msg diff --git a/code/game/gamemodes/endgame/supermatter_cascade/portal.dm b/code/game/gamemodes/endgame/supermatter_cascade/portal.dm index 00ea39992ee..e4f45ab6fe4 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/portal.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/portal.dm @@ -30,16 +30,7 @@ if(!(A.singuloCanEat())) return 0 - if (istype(A, /mob/living/)) - var/mob/living/L = A - if(L.buckled_to && istype(L.buckled_to,/obj/structure/bed/)) - var/turf/O = L.buckled_to - do_teleport(O, pick(GLOB.endgame_safespawns)) - L.forceMove(O.loc) - else - do_teleport(L, pick(GLOB.endgame_safespawns)) //dead-on precision - - else if (isturf(A)) + if (isturf(A)) var/turf/T = A var/dist = get_dist(T, src) if (dist <= consume_range && T.density) diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm index 9a72d4e226d..87c0c2b9bdc 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm @@ -60,7 +60,6 @@ var/global/universe_has_ended = 0 PlayerSet() - new /obj/singularity/narsie/large/exit(pick(GLOB.endgame_exits)) var/time = rand(30, 60) LOG_DEBUG("universal_state/cascade: Announcing to world in [time] seconds.") LOG_DEBUG("universal_state/cascade: Ending universe in [(time SECONDS + 5 MINUTES)/10] seconds.") diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index b33611bde0b..7808e348e10 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -2,113 +2,111 @@ name = "landmark" icon = 'icons/mob/screen/generic.dmi' icon_state = "x2" - anchored = 1.0 - unacidable = 1 - simulated = 0 - invisibility = 101 - var/delete_me = 0 + anchored = TRUE + unacidable = TRUE + simulated = FALSE + invisibility = INVISIBILITY_ABSTRACT layer = ABOVE_HUMAN_LAYER -/obj/effect/landmark/New() - ..() - tag = text("landmark*[]", name) - do_landmark_effect() - return 1 - -/obj/effect/landmark/proc/do_landmark_effect() - switch(name) //some of these are probably obsolete - if("start") - GLOB.newplayer_start = get_turf(loc) - delete_me = 1 - return - if("JoinLate") - GLOB.latejoin += loc - delete_me = 1 - return - if("KickoffLocation") - GLOB.kickoffsloc += loc - delete_me = 1 - return - if("JoinLateGateway") - GLOB.latejoin_gateway += loc - delete_me = 1 - return - if("JoinLateCryo") - GLOB.latejoin_cryo += loc - delete_me = 1 - return - if("JoinLateCryoCommand") - GLOB.latejoin_cryo_command += loc - delete_me = 1 - if("JoinLateLift") - GLOB.latejoin_living_quarters_lift += loc - delete_me = 1 - return - if("JoinLateCyborg") - GLOB.latejoin_cyborg += loc - delete_me = 1 - return - if("JoinLateMerchant") - GLOB.latejoin_merchant += loc - delete_me = 1 - return - if("tdome1") - GLOB.tdome1 += loc - if("tdome2") - GLOB.tdome2 += loc - if("tdomeadmin") - GLOB.tdomeadmin += loc - if("tdomeobserve") - GLOB.tdomeobserve += loc - if("endgame_exit") - GLOB.endgame_safespawns += loc - delete_me = 1 - return - if("bluespacerift") - GLOB.endgame_exits += loc - delete_me = 1 - return - if("asteroid spawn") - GLOB.asteroid_spawn += loc - delete_me = 1 - return - if("skrell_entry") - dream_entries += loc - delete_me = 1 - return - if("virtual_reality_spawn") - GLOB.virtual_reality_spawn += loc - delete_me = 1 - return - - GLOB.landmarks_list += src - -/obj/effect/landmark/proc/delete() - delete_me = 1 - -/obj/effect/landmark/Initialize() +INITIALIZE_IMMEDIATE(/obj/effect/landmark) +/obj/effect/landmark/Initialize(mapload) . = ..() - if(delete_me) - qdel(src) + tag = text("landmark*[]", name) + GLOB.landmarks_list += src /obj/effect/landmark/Destroy() GLOB.landmarks_list -= src + tag = null . = ..() - GC_TEMPORARY_HARDDEL +/*####################### + LATEJOIN LANDMARKS +#######################*/ + +/** + * # Latejoin marker + * + * Used to indicate where players spawn if they are latejoining + */ +/obj/effect/landmark/latejoin + invisibility = INVISIBILITY_ABSTRACT + +/obj/effect/landmark/latejoin/Initialize() + ..() + GLOB.latejoin += get_turf(src) + return INITIALIZE_HINT_QDEL + +/** + * # Latejoin cyborg marker + * + * Used to indicate where players spawn if they are latejoining + */ +/obj/effect/landmark/latejoincyborg + invisibility = INVISIBILITY_ABSTRACT + +/obj/effect/landmark/latejoincyborg/Initialize() + ..() + GLOB.latejoin_cyborg += get_turf(src) + return INITIALIZE_HINT_QDEL + +/** + * # Latejoin cryo marker + */ +/obj/effect/landmark/latejoincryo + invisibility = INVISIBILITY_ABSTRACT + +/obj/effect/landmark/latejoincryo/Initialize() + ..() + GLOB.latejoin_cryo += get_turf(src) + return INITIALIZE_HINT_QDEL + +/** + * # Latejoin lift marker + */ +/obj/effect/landmark/latejoinlift + invisibility = INVISIBILITY_ABSTRACT + +/obj/effect/landmark/latejoinlift/Initialize() + . = ..() + GLOB.latejoin_living_quarters_lift += get_turf(src) + return INITIALIZE_HINT_QDEL + + + +/** + * # Start marker + * + * The position at which the player mob is moved after the spawn sync happened, based on the job/role + * + * The match is done based on the `name` property, *you must set the name* + */ /obj/effect/landmark/start - name = "start" + name = "start (rename me to match the job title)" //This is checked in the maplint `tools\maplint\lints\startmarker_unset.yml` file, if you change the name here, do there too icon = 'icons/mob/screen/generic.dmi' icon_state = "x" - anchored = 1.0 - invisibility = 101 -/obj/effect/landmark/start/New() - ..() +/obj/effect/landmark/start/Initialize(mapload) + . = ..() tag = "start*[name]" - return 1 +///Used for spawn sync, all mobs at roundstart are moved to this as they are equipped, before being sent to their final position +/obj/effect/landmark/newplayer_start + name = "newplayer start" +/obj/effect/landmark/newplayer_start/Initialize(mapload) + ..() + if(GLOB.newplayer_start) + stack_trace("There must be one, and only one, /obj/effect/landmark/newplayer_start effect in any single server session!") + else + GLOB.newplayer_start = get_turf(src) + + return INITIALIZE_HINT_QDEL + +/** + * # Lobby mob location marker + * + * Where the mobs that are seeing the lobby screen are located, only one is allowed to exist at a time + */ /obj/effect/landmark/lobby_mobs_location name = "lobby_mobs_location" anchored = TRUE @@ -128,123 +126,66 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/lobby_mobs_location) return INITIALIZE_HINT_QDEL +/** + * # Skrell SROM (dreaming) marker + * + * Used to indicate where the SROM is located + */ +/obj/effect/landmark/skrell_srom + invisibility = INVISIBILITY_ABSTRACT -//Costume spawner landmarks -/obj/effect/landmark/costume/New() //costume spawner, selects a random subclass and disappears +/obj/effect/landmark/skrell_srom/Initialize() + ..() + dream_entries += get_turf(src) + return INITIALIZE_HINT_QDEL - var/list/options = typesof(/obj/effect/landmark/costume) - var/PICK= options[rand(1,options.len)] - new PICK(src.loc) - delete_me = 1 +/** + * # Virtual reality spawn marker + * + * Used to indicate where the VR spawn is located + */ +/obj/effect/landmark/virtual_reality_spawn + invisibility = INVISIBILITY_ABSTRACT -//SUBCLASSES. Spawn a bunch of items and disappear likewise -/obj/effect/landmark/costume/chicken/New() - new /obj/item/clothing/suit/chickensuit(src.loc) - new /obj/item/clothing/head/chicken(src.loc) - new /obj/item/reagent_containers/food/snacks/egg(src.loc) - delete_me = 1 +/obj/effect/landmark/virtual_reality_spawn/Initialize() + ..() + GLOB.virtual_reality_spawn += get_turf(src) + return INITIALIZE_HINT_QDEL -/obj/effect/landmark/costume/gladiator/New() - new /obj/item/clothing/under/gladiator(src.loc) - new /obj/item/clothing/head/helmet/gladiator(src.loc) - delete_me = 1 +/*########################## + THUNDERDOME LANDMARKS +##########################*/ +/obj/effect/landmark/thunderdome1 + invisibility = INVISIBILITY_ABSTRACT -/obj/effect/landmark/costume/madscientist/New() - new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) - new /obj/item/clothing/head/flatcap(src.loc) - new /obj/item/clothing/suit/storage/toggle/labcoat(src.loc) - new /obj/item/clothing/glasses/regular(src.loc) - delete_me = 1 +/obj/effect/landmark/thunderdome1/Initialize() + ..() + GLOB.tdome1 += get_turf(src) + return INITIALIZE_HINT_QDEL -/obj/effect/landmark/costume/elpresidente/New() - new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) - new /obj/item/clothing/head/flatcap(src.loc) - new /obj/item/clothing/mask/smokable/cigarette/cigar/havana(src.loc) - new /obj/item/clothing/shoes/jackboots(src.loc) - delete_me = 1 +/obj/effect/landmark/thunderdome2 + invisibility = INVISIBILITY_ABSTRACT -/obj/effect/landmark/costume/maid/New() - new /obj/item/clothing/under/skirt/(src.loc) - var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears ) - new CHOICE(src.loc) - new /obj/item/clothing/glasses/sunglasses/blindfold(src.loc) - delete_me = 1 +/obj/effect/landmark/thunderdome2/Initialize() + ..() + GLOB.tdome2 += get_turf(src) + return INITIALIZE_HINT_QDEL -/obj/effect/landmark/costume/butler/New() - new /obj/item/clothing/suit/wcoat(src.loc) - new /obj/item/clothing/under/suit_jacket(src.loc) - new /obj/item/clothing/head/that(src.loc) - delete_me = 1 +/obj/effect/landmark/thunderdomeadmin + invisibility = INVISIBILITY_ABSTRACT -/obj/effect/landmark/costume/scratch/New() - new /obj/item/clothing/gloves/white(src.loc) - new /obj/item/clothing/shoes/sneakers(src.loc) - new /obj/item/clothing/under/suit_jacket/white(src.loc) - delete_me = 1 +/obj/effect/landmark/thunderdomeadmin/Initialize() + ..() + GLOB.tdomeadmin += get_turf(src) + return INITIALIZE_HINT_QDEL -/obj/effect/landmark/costume/highlander/New() - new /obj/item/clothing/under/kilt(src.loc) - new /obj/item/clothing/head/beret/red(src.loc) - delete_me = 1 +/obj/effect/landmark/thunderdomeobserve + invisibility = INVISIBILITY_ABSTRACT -/obj/effect/landmark/costume/prig/New() - new /obj/item/clothing/suit/wcoat(src.loc) - new /obj/item/clothing/glasses/monocle(src.loc) - var/CHOICE= pick( /obj/item/clothing/head/bowler, /obj/item/clothing/head/that) - new CHOICE(src.loc) - new /obj/item/clothing/shoes/sneakers/black(src.loc) - new /obj/item/cane(src.loc) - new /obj/item/clothing/under/sl_suit(src.loc) - new /obj/item/clothing/mask/fakemoustache(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/nightowl/New() - new /obj/item/clothing/under/owl(src.loc) - new /obj/item/clothing/mask/gas/owl_mask(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/waiter/New() - new /obj/item/clothing/under/waiter(src.loc) - new /obj/item/clothing/head/rabbitears(src.loc) - new /obj/item/clothing/accessory/apron/random(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/pirate/New() - new /obj/item/clothing/suit/pirate(src.loc) - var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana/pirate) - new CHOICE(src.loc) - new /obj/item/clothing/glasses/eyepatch(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/commie/New() - new /obj/item/clothing/head/ushanka/grey(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/holiday_priest/New() - new /obj/item/clothing/suit/holidaypriest(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/cutewitch/New() - new /obj/item/clothing/under/sundress(src.loc) - new /obj/item/clothing/head/witchwig(src.loc) - new /obj/item/staff/broom(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/fakewizard/New() - new /obj/item/clothing/suit/wizrobe/fake(src.loc) - new /obj/item/clothing/head/wizard/fake(src.loc) - new /obj/item/staff/(src.loc) - delete_me = 1 - -/obj/effect/landmark/costume/sexymime/New() - new /obj/item/clothing/mask/gas/sexymime(src.loc) - new /obj/item/clothing/under/sexymime(src.loc) - delete_me = 1 - -/obj/effect/landmark/dungeon_spawn - name = "asteroid spawn" - icon = 'icons/1024x1024.dmi' - icon_state = "yellow" +/obj/effect/landmark/thunderdomeobserve/Initialize() + ..() + GLOB.tdomeobserve += get_turf(src) + return INITIALIZE_HINT_QDEL /obj/effect/landmark/distress_team_equipment name = "distress equipment" @@ -253,11 +194,13 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/lobby_mobs_location) name = "force spawnpoint" var/job_tag = "Anyone" -/obj/effect/landmark/force_spawnpoint/do_landmark_effect() - LAZYINITLIST(GLOB.force_spawnpoints) - LAZYADD(GLOB.force_spawnpoints[job_tag], loc) +/obj/effect/landmark/force_spawnpoint/Initialize() + . = ..() + LAZYADD(GLOB.force_spawnpoints[job_tag], get_turf(src)) -var/list/ruin_landmarks = list() +/obj/effect/landmark/force_spawnpoint/Destroy() + LAZYREMOVE(GLOB.force_spawnpoints[job_tag], get_turf(src)) + . = ..() /obj/effect/landmark/ruin var/datum/map_template/ruin/ruin_template @@ -266,13 +209,21 @@ var/list/ruin_landmarks = list() name = "ruin_[sequential_id(/obj/effect/landmark/ruin)]" ..(loc) ruin_template = my_ruin_template - ruin_landmarks |= src + GLOB.ruin_landmarks |= src /obj/effect/landmark/ruin/Destroy() - ruin_landmarks -= src + GLOB.ruin_landmarks -= src ruin_template = null . = ..() +/*######################### + OVERMAP ENTRY POINTS +#########################*/ +/** + * # Entry point landmarks + * + * These landmarks are used to mark the entry points for ship weapons + */ /obj/effect/landmark/entry_point name = "entry point landmark" icon_state = "dir_arrow" @@ -287,6 +238,10 @@ var/list/ruin_landmarks = list() SSshuttle.entry_points_to_initialize += src name += " [x], [y]" +/obj/effect/landmark/entry_point/Destroy() + ..() + return QDEL_HINT_LETMELIVE + /obj/effect/landmark/entry_point/proc/get_candidate() var/obj/effect/overmap/visitable/sector = GLOB.map_sectors["[z]"] if(!sector) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 0f6a3a72879..047b3810089 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -41,7 +41,10 @@ var/corpseidicon = null //For setting it to be a gold, silver, centcomm etc ID /obj/effect/landmark/corpse/Initialize() - . = ..() + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/effect/landmark/corpse/LateInitialize() createCorpse() /obj/effect/landmark/corpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it. diff --git a/code/modules/client/preferences_spawnpoints.dm b/code/modules/client/preferences_spawnpoints.dm index 8ca37bdc9f1..ebf88dbd1e6 100644 --- a/code/modules/client/preferences_spawnpoints.dm +++ b/code/modules/client/preferences_spawnpoints.dm @@ -31,12 +31,10 @@ display_name = "Cryogenic Storage" msg = "has completed cryogenic revival" disallow_job = list("Cyborg", "Merchant") - var/list/command_turfs = list() /datum/spawnpoint/cryo/New() ..() turfs = GLOB.latejoin_cryo - command_turfs = GLOB.latejoin_cryo_command /datum/spawnpoint/cryo/after_join(mob/victim) if(!istype(victim)) diff --git a/code/modules/ghostroles/spawner/base.dm b/code/modules/ghostroles/spawner/base.dm index 8b71cfdf95f..1ad20f8d659 100644 --- a/code/modules/ghostroles/spawner/base.dm +++ b/code/modules/ghostroles/spawner/base.dm @@ -31,6 +31,7 @@ var/list/spawnpoints = null //List of the applicable spawnpoints (by name) - Use loc_type: GS_LOC_POS var/landmark_name = null //Alternatively you can specify a landmark name - Use loc_type: GS_LOC_POS + var/landmark_type = null //Specify a landmark type to look for, instead of the name, this takes precedence over landmark_name var/loc_type = GS_LOC_POS @@ -148,10 +149,13 @@ spawnpoints -= spawnpoint //Set the spawnpoint at the bottom of the list. spawnpoints += spawnpoint return T - if(!isnull(landmark_name)) + if(!isnull(landmark_name) || !isnull(landmark_type)) var/list/possible_landmarks = list() for(var/obj/effect/landmark/landmark in GLOB.landmarks_list) - if(landmark.name == landmark_name) + if(landmark_type) + if(istype(landmark, landmark_type)) + possible_landmarks += landmark + else if(landmark.name == landmark_name) possible_landmarks += landmark if(length(possible_landmarks)) var/obj/effect/landmark/L = pick(possible_landmarks) diff --git a/code/modules/ghostroles/spawner/human/visitor.dm b/code/modules/ghostroles/spawner/human/visitor.dm index 15f4d0c5a3d..e571b942126 100644 --- a/code/modules/ghostroles/spawner/human/visitor.dm +++ b/code/modules/ghostroles/spawner/human/visitor.dm @@ -4,7 +4,7 @@ tags = list("External") enabled = FALSE - landmark_name = "JoinLate" + landmark_type = /obj/effect/landmark/latejoin req_perms = null max_count = 1 diff --git a/code/modules/maps/helper_landmarks.dm b/code/modules/maps/helper_landmarks.dm index 2ba49eaa049..fcad7ade34d 100644 --- a/code/modules/maps/helper_landmarks.dm +++ b/code/modules/maps/helper_landmarks.dm @@ -7,16 +7,20 @@ name = "clear turf" icon = 'icons/effects/landmarks.dmi' icon_state = "clear" - delete_me = TRUE /obj/effect/landmark/clear/Initialize() + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/effect/landmark/clear/LateInitialize() var/turf/simulated/wall/W = get_turf(src) if(istype(W)) W.dismantle_wall(TRUE, TRUE) var/turf/simulated/mineral/M = W if(istype(M)) M.GetDrilled() - . = ..() + + qdel(src) //Our job here is done //Applies fire act to the turf /obj/effect/landmark/scorcher @@ -26,7 +30,12 @@ var/temp = T0C + 3000 /obj/effect/landmark/scorcher/Initialize() + ..() + return INITIALIZE_HINT_LATELOAD //This assures that everything under the marker has loaded before burning it + +/obj/effect/landmark/scorcher/LateInitialize() var/turf/simulated/T = get_turf(src) if(istype(T)) T.fire_act(temp) - . = ..() + + qdel(src) //Our job here is done diff --git a/code/unit_tests/create_and_destroy.dm b/code/unit_tests/create_and_destroy.dm index a27655652d1..c11b01a6270 100644 --- a/code/unit_tests/create_and_destroy.dm +++ b/code/unit_tests/create_and_destroy.dm @@ -167,6 +167,9 @@ GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) // do_spread sleeps and tries to addtimer after the src is qdeleted ignore += typesof(/obj/effect/plant) + // Cannot be deleted + ignore += typesof(/obj/effect/landmark/entry_point) + /* * END EXCLUSIONS OF THE TEST */ diff --git a/html/changelogs/fluffyghost-landmarksrefactorharddel.yml b/html/changelogs/fluffyghost-landmarksrefactorharddel.yml new file mode 100644 index 00000000000..7f39fa49a77 --- /dev/null +++ b/html/changelogs/fluffyghost-landmarksrefactorharddel.yml @@ -0,0 +1,59 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed some landmarks harddels." + - refactor: "Refactored various landmarks in their own subtype instead of using a name-based switch system." diff --git a/maps/aurora/aurora-1_centcomm.dmm b/maps/aurora/aurora-1_centcomm.dmm index acd1d6c7ab0..3475e8fb1df 100644 --- a/maps/aurora/aurora-1_centcomm.dmm +++ b/maps/aurora/aurora-1_centcomm.dmm @@ -729,7 +729,6 @@ /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) "abC" = ( -/obj/effect/landmark/costume, /obj/structure/table/rack/holorack, /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_theatre) @@ -5364,9 +5363,7 @@ name = "adjusted light fixture"; pixel_y = -16 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/unsimulated/floor{ icon_state = "dark_preview" }, @@ -9009,9 +9006,7 @@ /turf/simulated/floor/plating, /area/shuttle/skipjack) "cik" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -9382,9 +9377,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -10682,9 +10675,6 @@ }, /area/shuttle/skipjack) "dnS" = ( -/obj/effect/landmark{ - name = "skrell_entry" - }, /turf/simulated/floor/exoplanet/barren, /area/centcom/shared_dream) "dob" = ( @@ -12645,9 +12635,7 @@ /area/centcom/bar) "ePj" = ( /obj/structure/disposalpipe/segment, -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /obj/structure/bed/stool/chair/folding{ @@ -13180,9 +13168,7 @@ /area/antag/ninja) "fgI" = ( /obj/structure/bed/stool/chair/folding, -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /turf/unsimulated/floor{ icon_state = "white" @@ -15292,9 +15278,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -16882,9 +16866,7 @@ /area/centcom/control) "hJZ" = ( /obj/structure/disposalpipe/segment, -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /obj/structure/bed/stool/chair/folding, @@ -21471,9 +21453,7 @@ icon_state = "door_open"; name = "elevator door" }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/unsimulated/floor{ icon_state = "dark_preview" }, @@ -21909,9 +21889,7 @@ /turf/unsimulated/floor/plating, /area/tdome/tdomeobserve) "lvy" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -23184,9 +23162,7 @@ /turf/simulated/floor/plating, /area/shuttle/merchant) "mks" = ( -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /obj/structure/bed/stool/chair/folding{ @@ -24756,9 +24732,6 @@ }, /area/centcom/legion/hangar5) "nkX" = ( -/obj/effect/landmark{ - name = "start" - }, /turf/simulated/floor/holofloor/space, /area/centcom/start) "nli" = ( @@ -25520,9 +25493,7 @@ name = "elevator Button"; pixel_y = 31 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/unsimulated/floor{ icon_state = "dark_preview" }, @@ -26036,9 +26007,6 @@ /turf/simulated/floor/plating, /area/merchant_station/warehouse) "nXw" = ( -/obj/effect/landmark{ - name = "skrell_entry" - }, /turf/simulated/floor/grass, /area/centcom/shared_dream) "nXL" = ( @@ -26301,9 +26269,7 @@ /turf/unsimulated/floor, /area/antag/mercenary) "ohC" = ( -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /obj/structure/bed/stool/chair/folding{ dir = 1 @@ -29688,9 +29654,7 @@ }, /area/antag/raider) "qKr" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -33464,9 +33428,7 @@ /turf/unsimulated/floor, /area/centcom/control) "tBQ" = ( -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/unsimulated/floor{ icon_state = "dark_preview" }, @@ -36144,9 +36106,6 @@ }, /area/centcom/control) "vxP" = ( -/obj/effect/landmark{ - name = "skrell_entry" - }, /turf/simulated/floor/beach/water/pool{ icon_state = "seashallow"; name = "ocean" @@ -37008,9 +36967,7 @@ }, /area/antag/mercenary) "vZo" = ( -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /obj/structure/bed/stool/chair/folding, @@ -38178,9 +38135,6 @@ }, /area/antag/mercenary) "wGy" = ( -/obj/effect/landmark{ - name = "skrell_entry" - }, /turf/simulated/floor/snow, /area/centcom/shared_dream) "wGA" = ( @@ -38209,9 +38163,7 @@ /turf/simulated/floor/shuttle/dark_blue, /area/shuttle/escape) "wGT" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, diff --git a/maps/aurora/aurora-3_sublevel.dmm b/maps/aurora/aurora-3_sublevel.dmm index 32a8b35b38e..2880713775b 100644 --- a/maps/aurora/aurora-3_sublevel.dmm +++ b/maps/aurora/aurora-3_sublevel.dmm @@ -3,7 +3,6 @@ /turf/unsimulated/chasm_mask, /area/mine/unexplored) "aab" = ( -/obj/effect/landmark/dungeon_spawn, /turf/unsimulated/chasm_mask, /area/mine/unexplored) "aad" = ( diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index aa72e8e69ef..1dfdbe3ae7c 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -4021,9 +4021,6 @@ /area/engineering/drone_fabrication) "aib" = ( /obj/machinery/alarm/north, -/obj/effect/landmark{ - name = "JoinLateCyborg" - }, /turf/simulated/floor/plating, /area/engineering/drone_fabrication) "aic" = ( @@ -6061,9 +6058,6 @@ /obj/structure/sign/nosmoking_2{ pixel_y = -32 }, -/obj/effect/landmark{ - name = "JoinLateCyborg" - }, /turf/simulated/floor/plating, /area/engineering/drone_fabrication) "amq" = ( @@ -27271,9 +27265,6 @@ dir = 4; icon_state = "tube_empty" }, -/obj/effect/landmark{ - name = "JoinLateCyborg" - }, /turf/simulated/floor/tiled, /area/bridge/ailobby) "aVY" = ( @@ -28915,9 +28906,6 @@ /obj/machinery/computer/cryopod{ pixel_y = 28 }, -/obj/effect/landmark{ - name = "JoinLateCryoCommand" - }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cryo) "aYQ" = ( @@ -29643,9 +29631,6 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cryo) "bai" = ( -/obj/effect/landmark{ - name = "JoinLateCryoCommand" - }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cryo) "baj" = ( @@ -37622,9 +37607,6 @@ /turf/simulated/floor/tiled, /area/assembly/chargebay) "bpn" = ( -/obj/effect/landmark{ - name = "JoinLateCyborg" - }, /obj/effect/floor_decal/industrial/warning{ dir = 4 }, @@ -44654,22 +44636,14 @@ /turf/simulated/floor/plating, /area/crew_quarters/sleep/main) "bEG" = ( -/obj/effect/landmark{ - name = "JoinLateCryo" - }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, +/obj/effect/landmark/latejoincryo, +/obj/effect/landmark/latejoincryo, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/main) "bEH" = ( -/obj/effect/landmark{ - name = "JoinLateCryo" - }, +/obj/effect/landmark/latejoincryo, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, +/obj/effect/landmark/latejoincryo, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/main) "bEI" = ( @@ -49545,7 +49519,6 @@ }, /area/crew_quarters/kitchen/freezer) "bRi" = ( -/obj/effect/landmark/costume/chicken, /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood{ pixel_x = -2; @@ -61824,7 +61797,6 @@ /turf/simulated/floor/plating, /area/maintenance/medbay) "kQn" = ( -/obj/effect/landmark/costume/commie, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/cabinet, /turf/simulated/floor/wood, @@ -63469,7 +63441,6 @@ /area/engineering/engineering_hallway_main) "nXe" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/costume/gladiator, /obj/structure/closet/cabinet, /turf/simulated/floor/wood, /area/maintenance/bar) @@ -64046,7 +64017,6 @@ /turf/simulated/floor/tiled/white, /area/medical/pharmacy) "oZN" = ( -/obj/effect/landmark/costume/pirate, /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood{ pixel_x = -2; @@ -66054,7 +66024,6 @@ /turf/simulated/floor/reinforced, /area/security/nuke_storage) "szC" = ( -/obj/effect/landmark/costume/elpresidente, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/cabinet, /turf/simulated/floor/wood, diff --git a/maps/aurora/aurora-5_interstitial.dmm b/maps/aurora/aurora-5_interstitial.dmm index 4e07360c84b..15809aa78de 100644 --- a/maps/aurora/aurora-5_interstitial.dmm +++ b/maps/aurora/aurora-5_interstitial.dmm @@ -7886,7 +7886,6 @@ /turf/simulated/floor/plating, /area/maintenance/medbay_virology) "FK" = ( -/obj/effect/landmark/dungeon_spawn, /turf/unsimulated/chasm_mask, /area/mine/unexplored) "FP" = ( diff --git a/maps/aurora/aurora-6_surface.dmm b/maps/aurora/aurora-6_surface.dmm index 3117674003f..eb4520adfc7 100644 --- a/maps/aurora/aurora-6_surface.dmm +++ b/maps/aurora/aurora-6_surface.dmm @@ -2333,9 +2333,6 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) @@ -2745,9 +2742,6 @@ /turf/simulated/floor/tiled, /area/hallway/secondary/entry/dock) "cgw" = ( -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) @@ -8001,9 +7995,6 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) @@ -9567,9 +9558,6 @@ d2 = 2; icon_state = "0-2" }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/machinery/camera/network/civilian_surface{ c_tag = "Surface - Cryogenic Storage"; pixel_x = -4 @@ -10251,9 +10239,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) @@ -10811,9 +10796,6 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) @@ -14594,9 +14576,6 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) @@ -22124,9 +22103,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/obj/effect/landmark{ - name = "KickoffLocation" - }, /obj/effect/floor_decal/corner/dark_blue{ dir = 5 }, @@ -23965,9 +23941,6 @@ d2 = 2; icon_state = "1-2" }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) @@ -25210,9 +25183,6 @@ /obj/machinery/computer/cryopod{ pixel_y = 32 }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/cryo) diff --git a/maps/away_sites_testing/away_sites_testing-1.dmm b/maps/away_sites_testing/away_sites_testing-1.dmm index 8cb8ceccd0f..2f663123f06 100644 --- a/maps/away_sites_testing/away_sites_testing-1.dmm +++ b/maps/away_sites_testing/away_sites_testing-1.dmm @@ -13,15 +13,11 @@ /turf/simulated/floor/tiled, /area/space) "e" = ( -/obj/effect/landmark/start{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/tiled, /area/space) "V" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /turf/simulated/floor/tiled, /area/space) diff --git a/maps/event/generic_dock/generic_dock-1.dmm b/maps/event/generic_dock/generic_dock-1.dmm index f8d712fd47a..0590ab654e5 100644 --- a/maps/event/generic_dock/generic_dock-1.dmm +++ b/maps/event/generic_dock/generic_dock-1.dmm @@ -1306,9 +1306,7 @@ name = "adjusted light fixture"; pixel_y = -16 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/unsimulated/floor{ icon_state = "dark_preview" }, @@ -1543,9 +1541,6 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /turf/unsimulated/floor, /area/centcom/spawning) "aMJ" = ( @@ -1559,9 +1554,6 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /turf/unsimulated/floor, /area/centcom/spawning) "aMN" = ( @@ -2064,9 +2056,7 @@ /turf/simulated/floor/shuttle/black, /area/shuttle/escape) "aWv" = ( -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /turf/unsimulated/floor{ icon_state = "white" @@ -2812,9 +2802,7 @@ }, /area/centcom/holding) "bMw" = ( -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -3092,9 +3080,7 @@ /turf/unsimulated/floor, /area/centcom/holding) "cik" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -3271,9 +3257,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -4411,9 +4395,7 @@ /turf/simulated/floor/shuttle/dark_blue, /area/supply/dock) "ear" = ( -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /turf/unsimulated/floor{ icon_state = "white" @@ -4480,9 +4462,7 @@ }, /area/centcom/control) "egh" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -6492,9 +6472,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -10303,9 +10281,7 @@ /turf/unsimulated/floor/plating, /area/tdome/tdomeobserve) "lvy" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -11569,9 +11545,6 @@ /turf/unsimulated/floor/plating, /area/centcom/checkpoint/aft) "nkX" = ( -/obj/effect/landmark{ - name = "start" - }, /turf/simulated/floor/holofloor/space, /area/centcom/start) "nli" = ( @@ -11942,9 +11915,7 @@ name = "elevator Button"; pixel_y = 31 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/unsimulated/floor{ icon_state = "dark_preview" }, @@ -12159,9 +12130,7 @@ /turf/unsimulated/floor/plating, /area/centcom/specops) "nYH" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -13563,9 +13532,7 @@ /turf/unsimulated/floor, /area/centcom/holding) "pZw" = ( -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -14022,9 +13989,7 @@ /turf/simulated/floor/shuttle/dark_blue, /area/shuttle/transport1) "qKr" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -15345,9 +15310,7 @@ /area/centcom/specops) "tgZ" = ( /obj/structure/disposalpipe/segment, -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -15555,9 +15518,7 @@ /turf/unsimulated/floor, /area/centcom/control) "tBQ" = ( -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/unsimulated/floor{ icon_state = "dark_preview" }, @@ -16903,9 +16864,7 @@ /area/centcom/specops) "wbd" = ( /obj/structure/disposalpipe/segment, -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -17359,9 +17318,7 @@ /turf/simulated/floor/shuttle/dark_blue, /area/shuttle/escape) "wGT" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, diff --git a/maps/event/idris_cruise/idris_cruise-1.dmm b/maps/event/idris_cruise/idris_cruise-1.dmm index 419b0fb66ce..878465b9a40 100644 --- a/maps/event/idris_cruise/idris_cruise-1.dmm +++ b/maps/event/idris_cruise/idris_cruise-1.dmm @@ -2704,9 +2704,6 @@ }, /area/cruise/aft_p) "bVv" = ( -/obj/effect/landmark{ - name = "start" - }, /obj/effect/decal/fake_object{ desc = "A multidimensional translocation portal meant to fling idiots very far across stellar distances. That can not mean you, surely."; icon = 'icons/effects/224x224.dmi'; @@ -14028,9 +14025,7 @@ }, /area/cruise/fore_s) "liU" = ( -/obj/effect/landmark{ - name = "virtual_reality_spawn" - }, +/obj/effect/landmark/virtual_reality_spawn, /obj/structure/sign/securearea{ desc = "A warning sign which declares the door to be one way! Don't get trapped."; name = "\improper ONE WAY DOOR"; @@ -22342,9 +22337,7 @@ }, /area/cruise/pool) "scE" = ( -/obj/effect/landmark{ - name = "virtual_reality_spawn" - }, +/obj/effect/landmark/virtual_reality_spawn, /turf/unsimulated/floor{ icon_state = "wood_preview" }, diff --git a/maps/event/rooftop/rooftop-1.dmm b/maps/event/rooftop/rooftop-1.dmm index af2a092bca0..e263d543b19 100644 --- a/maps/event/rooftop/rooftop-1.dmm +++ b/maps/event/rooftop/rooftop-1.dmm @@ -855,9 +855,6 @@ /turf/simulated/floor/lino, /area/city/mendell/interior) "en" = ( -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /turf/simulated/floor/lino, /area/city/mendell) "et" = ( @@ -981,9 +978,6 @@ /turf/simulated/floor/reinforced, /area/city/mendell) "eU" = ( -/obj/effect/landmark{ - name = "JoinLateCryo" - }, /obj/effect/decal/fake_object{ desc = "It's used to monitor rooms."; icon = 'icons/obj/monitors.dmi'; @@ -1952,9 +1946,7 @@ /obj/structure/bed/stool/chair/padded/black{ dir = 4 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/shuttle/black, /area/city/mendell) "jS" = ( @@ -1992,9 +1984,7 @@ /obj/structure/bed/stool/chair/padded/black{ dir = 8 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/shuttle/black, /area/city/mendell) "kj" = ( @@ -2015,9 +2005,7 @@ /turf/simulated/floor/shuttle/dark_blue, /area/city/mendell) "kt" = ( -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /obj/structure/bed/stool/chair/padded/black{ dir = 4 }, @@ -2197,9 +2185,7 @@ /obj/structure/bed/stool/chair/padded/black{ dir = 4 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/shuttle/dark_blue, /area/city/mendell) "lx" = ( @@ -2363,9 +2349,7 @@ /obj/structure/bed/stool/chair/padded/black{ dir = 8 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/shuttle/dark_blue, /area/city/mendell) "mv" = ( @@ -2414,9 +2398,7 @@ }, /area/city/mendell) "mK" = ( -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /obj/structure/bed/stool/chair/padded/black{ dir = 4 }, @@ -4671,9 +4653,7 @@ }, /area/city/mendell) "Aa" = ( -/obj/effect/landmark{ - name = "virtual_reality_spawn" - }, +/obj/effect/landmark/virtual_reality_spawn, /turf/unsimulated/floor{ icon_state = "wood_preview" }, @@ -4972,9 +4952,7 @@ /turf/simulated/floor/tiled/dark, /area/city/mendell) "Cc" = ( -/obj/effect/landmark{ - name = "virtual_reality_spawn" - }, +/obj/effect/landmark/virtual_reality_spawn, /obj/structure/sign/securearea{ desc = "A warning sign which declares the door to be one way! Don't get trapped."; name = "\improper ONE WAY DOOR"; diff --git a/maps/exoplanet_testing/exoplanet_testing-1.dmm b/maps/exoplanet_testing/exoplanet_testing-1.dmm index f05df784c63..c4bb32313b5 100644 --- a/maps/exoplanet_testing/exoplanet_testing-1.dmm +++ b/maps/exoplanet_testing/exoplanet_testing-1.dmm @@ -13,9 +13,7 @@ /turf/simulated/floor/tiled, /area/space) "e" = ( -/obj/effect/landmark/start{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/tiled, /area/space) "h" = ( @@ -23,9 +21,7 @@ /turf/simulated/floor/tiled, /area/space) "V" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /turf/simulated/floor/tiled, /area/space) diff --git a/maps/runtime/runtime-1.dmm b/maps/runtime/runtime-1.dmm index 265326a70dc..36736708264 100644 --- a/maps/runtime/runtime-1.dmm +++ b/maps/runtime/runtime-1.dmm @@ -1340,9 +1340,7 @@ /turf/simulated/floor/tiled/full, /area/storage/primary) "dq" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /turf/simulated/floor/plating, /area/construction) "dr" = ( diff --git a/maps/runtime/runtime-2.dmm b/maps/runtime/runtime-2.dmm index 29da52760da..e6566117608 100644 --- a/maps/runtime/runtime-2.dmm +++ b/maps/runtime/runtime-2.dmm @@ -1120,9 +1120,7 @@ }, /area/turret_protected/ai_upload_foyer) "UT" = ( -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /turf/simulated/floor/tiled, /area/construction/storage) "Vd" = ( diff --git a/maps/runtime/runtime-9.dmm b/maps/runtime/runtime-9.dmm index c29edcc781a..c0745670ad2 100644 --- a/maps/runtime/runtime-9.dmm +++ b/maps/runtime/runtime-9.dmm @@ -6,13 +6,20 @@ /obj/effect/shuttle_landmark/runtime/transit, /turf/space, /area/space) +"j" = ( +/turf/unsimulated/wall/steel, +/area/space) +"S" = ( +/obj/effect/landmark/newplayer_start, +/turf/unsimulated/floor, +/area/space) (1,1,1) = {" -a -a -a -a -a +j +j +j +j +j a a a @@ -265,11 +272,11 @@ a a "} (2,1,1) = {" -a -a -a -a -a +j +j +j +j +j a a a @@ -522,11 +529,11 @@ a a "} (3,1,1) = {" -a -a -a -a -a +j +j +S +j +j a a a @@ -779,11 +786,11 @@ a a "} (4,1,1) = {" -a -a -a -a -a +j +j +j +j +j a a a @@ -1036,11 +1043,11 @@ a a "} (5,1,1) = {" -a -a -a -a -a +j +j +j +j +j a a a diff --git a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm index 6beeaa2927e..6450a2c1dff 100644 --- a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm +++ b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm @@ -320,9 +320,7 @@ pixel_y = 32 }, /obj/machinery/atmospherics/unary/vent_pump/on, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/tiled, /area/horizon/crew_quarters/cryo/living_quarters_lift) "any" = ( @@ -12306,9 +12304,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/effect/landmark{ - name = "JoinLateLift" - }, +/obj/effect/landmark/latejoinlift, /obj/structure/disposalpipe/junction{ dir = 8; icon_state = "pipe-j2" @@ -16717,9 +16713,7 @@ c_tag = "Second Deck - Living Quarters Lift"; dir = 1 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /turf/simulated/floor/tiled, /area/horizon/crew_quarters/cryo/living_quarters_lift) "lEq" = ( @@ -18086,9 +18080,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/effect/landmark{ - name = "JoinLate" - }, +/obj/effect/landmark/latejoin, /obj/machinery/firealarm/south, /turf/simulated/floor/tiled, /area/horizon/crew_quarters/cryo/living_quarters_lift) @@ -29734,9 +29726,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/xenoarch_atrium) "usu" = ( -/obj/effect/landmark{ - name = "JoinLateLift" - }, +/obj/effect/landmark/latejoinlift, /obj/structure/disposalpipe/junction{ dir = 8; icon_state = "pipe-j2" @@ -31613,9 +31603,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/effect/landmark{ - name = "JoinLateLift" - }, +/obj/effect/landmark/latejoinlift, /obj/structure/disposalpipe/junction{ dir = 8; icon_state = "pipe-j2" diff --git a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm index c02071ff8af..41a6958e781 100644 --- a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm +++ b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm @@ -13270,9 +13270,7 @@ /turf/simulated/floor/tiled/full, /area/hallway/engineering/rust) "gcS" = ( -/obj/effect/landmark{ - name = "JoinLateCyborg" - }, +/obj/effect/landmark/latejoincyborg, /obj/machinery/computer/cryopod/robot{ pixel_x = -32 }, @@ -14696,9 +14694,7 @@ /turf/simulated/floor/grass, /area/horizon/hydroponics/garden) "gFs" = ( -/obj/effect/landmark{ - name = "JoinLateCyborg" - }, +/obj/effect/landmark/latejoincyborg, /obj/effect/floor_decal/corner/mauve/diagonal, /obj/effect/floor_decal/spline/plain{ dir = 1 diff --git a/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm b/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm index 4111a7109a4..5c3d7f90f12 100644 --- a/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm +++ b/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm @@ -15476,9 +15476,7 @@ /turf/simulated/floor/tiled, /area/horizon/hallway/deck_three/primary/central) "kTG" = ( -/obj/effect/landmark{ - name = "JoinLateCryo" - }, +/obj/effect/landmark/latejoincryo, /obj/effect/floor_decal/corner/dark_green/diagonal, /turf/simulated/floor/tiled, /area/horizon/crew_quarters/fitness/changing) diff --git a/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm b/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm index 73e6f3245b3..e00650ce8ea 100644 --- a/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm +++ b/maps/sccv_horizon/sccv_horizon-4_centcomm.dmm @@ -14048,9 +14048,7 @@ /area/centcom/suppy) "aNS" = ( /obj/structure/bed/stool/chair, -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -14059,9 +14057,7 @@ /area/tdome/tdomeobserve) "aNT" = ( /obj/structure/bed/stool/chair, -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /turf/unsimulated/floor{ icon_state = "white" @@ -14176,6 +14172,7 @@ /turf/unsimulated/floor, /area/centcom/spawning) "aOg" = ( +/obj/effect/landmark/newplayer_start, /turf/unsimulated/floor, /area/centcom/start) "aOi" = ( @@ -14344,9 +14341,7 @@ "aOJ" = ( /obj/structure/bed/stool/chair, /obj/structure/disposalpipe/segment, -/obj/effect/landmark{ - name = "tdomeobserve" - }, +/obj/effect/landmark/thunderdomeobserve, /obj/effect/floor_decal/corner/blue/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -14864,9 +14859,7 @@ /turf/simulated/floor, /area/tdome/tdome2) "aPV" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -14874,9 +14867,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/tdome/tdome2) "aPW" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -14906,9 +14897,7 @@ /turf/simulated/floor, /area/tdome/tdome1) "aQb" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -14916,9 +14905,7 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/tdome/tdome1) "aQc" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -15024,9 +15011,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -15036,9 +15021,7 @@ /obj/machinery/recharger{ pixel_y = 4 }, -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, @@ -15222,9 +15205,7 @@ /turf/simulated/floor/tiled/dark, /area/supply/dock) "aQM" = ( -/obj/effect/landmark{ - name = "tdome2" - }, +/obj/effect/landmark/thunderdome2, /obj/machinery/camera/network/thunder{ c_tag = "Thunderdome - Red Team"; invisibility = 101 @@ -15245,9 +15226,7 @@ /turf/simulated/floor/bluegrid, /area/tdome) "aQP" = ( -/obj/effect/landmark{ - name = "tdome1" - }, +/obj/effect/landmark/thunderdome1, /obj/machinery/camera/network/thunder{ c_tag = "Green Team"; invisibility = 101 @@ -15306,12 +15285,6 @@ }, /turf/unsimulated/floor, /area/centcom/spawning) -"aQX" = ( -/obj/effect/landmark{ - name = "start" - }, -/turf/unsimulated/floor, -/area/centcom/start) "aQY" = ( /obj/structure/grille, /obj/structure/window/shuttle/scc_space_ship/cardinal, @@ -15581,9 +15554,7 @@ /obj/structure/bed/stool/chair{ dir = 1 }, -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -15594,9 +15565,7 @@ /obj/structure/bed/stool/chair{ dir = 1 }, -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /turf/unsimulated/floor{ icon_state = "white" @@ -15614,9 +15583,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment, -/obj/effect/landmark{ - name = "tdomeadmin" - }, +/obj/effect/landmark/thunderdomeadmin, /obj/effect/floor_decal/corner/orange/diagonal, /obj/effect/decal/fake_object/light_source/invisible, /turf/unsimulated/floor{ @@ -19623,7 +19590,6 @@ name = "external airlock"; opacity = 0; permit_ao = 0; - dir = 2; pixel_x = -16; pixel_y = -16 }, @@ -21374,9 +21340,7 @@ /turf/unsimulated/floor, /area/centcom/legion/hangar5) "bep" = ( -/obj/structure/closet/secure_closet/kitchen_cabinet/standard{ - req_access = null - }, +/obj/structure/closet/secure_closet/kitchen_cabinet/standard, /obj/structure/sign/poster{ pixel_y = 32 }, @@ -32079,7 +32043,6 @@ desc = "The distant cityscape of Mendell City."; icon = 'icons/effects/props/holodeck/biesel/32x32.dmi'; icon_state = "blue"; - layer = 2.03; name = "blue lights"; pixel_x = -8; pixel_y = 11 @@ -32556,7 +32519,6 @@ /turf/simulated/floor/holofloor/wood, /area/horizon/holodeck/source_sauna) "bIP" = ( -/obj/effect/landmark/costume, /obj/structure/table/rack/holorack, /obj/effect/floor_decal/spline/fancy/wood/cee, /turf/simulated/floor/holofloor/wood, @@ -33697,9 +33659,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 10 }, -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /turf/simulated/floor/exoplanet/grass/grove, /area/centcom/shared_dream) "bNa" = ( @@ -33735,9 +33695,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 9 }, -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /obj/effect/floor_decal/spline/plain/corner, /turf/simulated/floor/exoplanet/grass/grove, /area/centcom/shared_dream) @@ -34207,7 +34165,6 @@ desc = "The distant cityscape of Mendell City."; icon = 'icons/effects/props/holodeck/biesel/32x32.dmi'; icon_state = "blink"; - layer = 2.03; name = "flashing lights"; pixel_x = 7; pixel_y = 14 @@ -34722,9 +34679,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 6 }, -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /obj/structure/flora/ausbushes/fullgrass, /turf/simulated/floor/exoplanet/grass/grove, /area/centcom/shared_dream) @@ -35007,9 +34962,7 @@ /obj/effect/floor_decal/spline/plain/corner{ dir = 8 }, -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /obj/effect/floor_decal/spline/plain/corner, /obj/structure/flora/ausbushes/lavendergrass, /turf/simulated/floor/exoplanet/grass/grove, @@ -36294,9 +36247,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 5 }, -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /turf/simulated/floor/exoplanet/grass/grove, /area/centcom/shared_dream) "kAM" = ( @@ -36554,9 +36505,7 @@ /area/template_noop) "lok" = ( /obj/effect/floor_decal/spline/plain/cee, -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /obj/structure/flora/ausbushes/fullgrass, /turf/simulated/floor/exoplanet/grass/grove, /area/centcom/shared_dream) @@ -37050,7 +36999,6 @@ desc = "The distant cityscape of Mendell City."; icon = 'icons/effects/props/holodeck/biesel/32x32.dmi'; icon_state = "red"; - layer = 2.03; name = "red lights"; pixel_x = 7; pixel_y = 14 @@ -37233,7 +37181,6 @@ name = "external airlock"; opacity = 0; permit_ao = 0; - dir = 2; pixel_x = -16; pixel_y = -16 }, @@ -38104,7 +38051,6 @@ /turf/simulated/floor/bluegrid, /area/horizon/holodeck/source_trinary) "qHU" = ( -/obj/effect/landmark/costume, /obj/structure/table/rack/holorack, /obj/effect/floor_decal/spline/fancy/wood/cee{ dir = 1 @@ -39605,9 +39551,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 5 }, -/obj/effect/landmark{ - name = "skrell_entry" - }, +/obj/effect/landmark/skrell_srom, /obj/structure/flora/ausbushes/ppflowers, /turf/simulated/floor/exoplanet/grass/grove, /area/centcom/shared_dream) @@ -40480,17 +40424,17 @@ aaa aNQ aNQ aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aNQ aNQ aNQ @@ -40737,21 +40681,21 @@ aaa aNQ cst aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aNQ +aNQ +aNQ +aNQ aNQ "} (3,1,1) = {" @@ -40994,21 +40938,21 @@ aaa aNQ aNQ aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aNQ +aNQ aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg +aNQ aNQ "} (4,1,1) = {" @@ -41250,22 +41194,22 @@ aaa aaa aaa aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aNQ +aNQ +aNQ aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg aNQ "} (5,1,1) = {" @@ -41507,22 +41451,22 @@ aaa aaa aaa aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aNQ +aNQ +aNQ aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg aNQ "} (6,1,1) = {" @@ -41764,23 +41708,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (7,1,1) = {" aab @@ -42021,23 +41965,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (8,1,1) = {" aab @@ -42278,23 +42222,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (9,1,1) = {" aab @@ -42535,23 +42479,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aQX -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (10,1,1) = {" aab @@ -42792,23 +42736,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (11,1,1) = {" aab @@ -43049,23 +42993,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (12,1,1) = {" aab @@ -43306,23 +43250,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (13,1,1) = {" aab @@ -43563,23 +43507,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (14,1,1) = {" aab @@ -43820,23 +43764,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (15,1,1) = {" aab @@ -44077,23 +44021,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (16,1,1) = {" aab @@ -44334,23 +44278,23 @@ aaa aaa aaa aaa -aNQ -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aOg -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (17,1,1) = {" aab @@ -44591,23 +44535,23 @@ aaa aaa aaa aaa -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ -aNQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa "} (18,1,1) = {" aab diff --git a/tools/maplint/lints/startmarker_unset.yml b/tools/maplint/lints/startmarker_unset.yml new file mode 100644 index 00000000000..4bfea474017 --- /dev/null +++ b/tools/maplint/lints/startmarker_unset.yml @@ -0,0 +1,5 @@ +help: Start markers must have a name set in-map +/obj/effect/landmark/start: + banned_variables: + name: + deny: ["start (rename me to match the job title)"]