From 83e228cbcb58ee5991ef08a74fc93ff7a6d1050f Mon Sep 17 00:00:00 2001 From: S34N <12197162+S34NW@users.noreply.github.com> Date: Tue, 24 May 2022 14:26:36 +0100 Subject: [PATCH] Minor refactor of spawners, fixed rogue drone and carp events not spawning mobs (#17849) * lessens the use of GLOB.landmarks_list * delete redundant blob icon * Apply suggestions from code review Co-authored-by: moxian * review part 2 * aa review Co-authored-by: moxian --- code/_globalvars/mapping.dm | 2 +- code/controllers/subsystem/ticker.dm | 10 +- .../revenant/revenant_spawn_event.dm | 19 +-- code/game/gamemodes/nuclear/nuclear.dm | 12 +- code/game/gamemodes/nuclear/nuclearbomb.dm | 6 +- code/game/objects/effects/landmarks.dm | 8 +- .../admin/verbs/infiltratorteam_syndicate.dm | 7 +- code/modules/admin/verbs/one_click_antag.dm | 74 +++++------ code/modules/admin/verbs/striketeam.dm | 120 +++++++++--------- .../admin/verbs/striketeam_syndicate.dm | 4 +- code/modules/events/blob.dm | 3 - code/modules/events/carp_migration.dm | 6 +- code/modules/events/rogue_drones.dm | 6 +- code/modules/events/slaughterevent.dm | 19 +-- code/modules/events/traders.dm | 6 +- .../modules/mob/living/silicon/ai/latejoin.dm | 20 ++- icons/effects/spawner_icons.dmi | Bin 59651 -> 58218 bytes 17 files changed, 130 insertions(+), 192 deletions(-) diff --git a/code/_globalvars/mapping.dm b/code/_globalvars/mapping.dm index 5ccbd4a4bc9..dd3cfc86951 100644 --- a/code/_globalvars/mapping.dm +++ b/code/_globalvars/mapping.dm @@ -35,7 +35,7 @@ GLOBAL_LIST_EMPTY(tdomeadmin) GLOBAL_LIST_EMPTY(aroomwarp) GLOBAL_LIST_EMPTY(prisonsecuritywarp) //prison security goes to these GLOBAL_LIST_EMPTY(prisonwarped) //list of players already warped -GLOBAL_LIST_EMPTY(blobstart) +GLOBAL_LIST_EMPTY(nukedisc_respawn) GLOBAL_LIST_EMPTY(ninjastart) GLOBAL_LIST_EMPTY(carplist) //list of all carp-spawn landmarks GLOBAL_LIST_EMPTY(syndicateofficer) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 21b5c44dd20..0426f088842 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -237,12 +237,10 @@ SUBSYSTEM_DEF(ticker) Master.SetRunLevel(RUNLEVEL_GAME) // Generate the list of empty playable AI cores in the world - for(var/obj/effect/landmark/start/S in GLOB.landmarks_list) - if(S.name != "AI") + for(var/obj/effect/landmark/start/ai/A in GLOB.landmarks_list) + if(locate(/mob/living) in get_turf(A)) continue - if(locate(/mob/living) in S.loc) - continue - GLOB.empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S)) + GLOB.empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(A)) // Setup pregenerated newsfeeds @@ -259,7 +257,7 @@ SUBSYSTEM_DEF(ticker) // Delete starting landmarks (not AI ones because we need those for AI-ize) for(var/obj/effect/landmark/start/S in GLOB.landmarks_list) - if(S.name != "AI") + if(!istype(S, /obj/effect/landmark/start/ai)) qdel(S) SSdbcore.SetRoundStart() diff --git a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm index 40f6ac3398c..07f888586ae 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm @@ -28,22 +28,11 @@ var/datum/mind/player_mind = new /datum/mind(key_of_revenant) player_mind.active = 1 var/list/spawn_locs = list() - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/L = thing - if(isturf(L.loc)) - switch(L.name) - if("revenantspawn") - spawn_locs += L.loc - if(!spawn_locs) //If we can't find any revenant spawns, try the carp spawns - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/L = thing - if(isturf(L.loc)) - switch(L.name) - if("carpspawn") - spawn_locs += L.loc - if(!spawn_locs) //If we can't find either, just spawn the revenant at the player's location + for(var/obj/effect/landmark/spawner/rev/R in GLOB.landmarks_list) + spawn_locs += get_turf(R) + if(!spawn_locs) //If we can't find a good place, just spawn the revenant at the player's location spawn_locs += get_turf(player_mind.current) - if(!spawn_locs) //If we can't find THAT, then just retry + if(!spawn_locs) //If we can't find THAT, then give up kill() return var/mob/living/simple_animal/revenant/revvie = new /mob/living/simple_animal/revenant/(pick(spawn_locs)) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 0835c97cf17..9cd8a0c5dae 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -94,14 +94,12 @@ var/list/turf/synd_spawn = list() - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/A = thing - if(A.name == "Syndicate-Spawn") - synd_spawn += get_turf(A) - qdel(A) - continue + for(var/obj/effect/landmark/spawner/syndie/S in GLOB.landmarks_list) + synd_spawn += get_turf(S) + qdel(S) + continue - var/obj/effect/landmark/nuke_spawn = locate("landmark*Nuclear-Bomb") + var/obj/effect/landmark/nuke_spawn = get_turf(locate(/obj/effect/landmark/spawner/nuclear_bomb)) var/nuke_code = rand(10000, 99999) var/leader_selected = 0 diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 3beb0b2bb2d..658333bebb4 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -546,15 +546,15 @@ GLOBAL_VAR(bomb_set) STOP_PROCESSING(SSobj, src) return ..() - if(GLOB.blobstart.len > 0) + if(length(GLOB.nukedisc_respawn)) GLOB.poi_list.Remove(src) - var/obj/item/disk/nuclear/NEWDISK = new(pick(GLOB.blobstart)) + var/obj/item/disk/nuclear/NEWDISK = new(pick(GLOB.nukedisc_respawn)) transfer_fingerprints_to(NEWDISK) message_admins("[src] has been destroyed at ([diskturf.x], [diskturf.y], [diskturf.z] - JMP). Moving it to ([NEWDISK.x], [NEWDISK.y], [NEWDISK.z] - JMP).") log_game("[src] has been destroyed in ([diskturf.x], [diskturf.y], [diskturf.z]). Moving it to ([NEWDISK.x], [NEWDISK.y], [NEWDISK.z]).") return QDEL_HINT_HARDDEL_NOW else - error("[src] was supposed to be destroyed, but we were unable to locate a blobstart landmark to spawn a new one.") + error("[src] was supposed to be destroyed, but we were unable to locate a nukedisc_respawn landmark to spawn a new one.") return QDEL_HINT_LETMELIVE // Cancel destruction unless forced. #undef NUKE_INTACT diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 7b83282a333..66668881064 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -79,12 +79,12 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/awaystart) //Without this away mission spawner_list = GLOB.xeno_spawn return ..() -/obj/effect/landmark/spawner/blob - name = "blobstart" - icon_state = "Blob" +/obj/effect/landmark/spawner/blob //todo: rename this and cause mapping pain + name = "nukedisc_respawn" + icon_state = "Nuke_disk" /obj/effect/landmark/spawner/blob/Initialize(mapload) - spawner_list = GLOB.blobstart + spawner_list = GLOB.nukedisc_respawn return ..() /obj/effect/landmark/spawner/late diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm index 9f4222e0a73..dd125159134 100644 --- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm +++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm @@ -66,15 +66,12 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0) var/list/sit_spawns = list() var/list/sit_spawns_leader = list() - var/list/sit_spawns_mgmt = list() for(var/thing in GLOB.landmarks_list) var/obj/effect/landmark/L = thing - if(L.name == "Syndicate-Infiltrator") + if(istype(L, /obj/effect/landmark/spawner/syndicate_infiltrator)) sit_spawns += L - if(L.name == "Syndicate-Infiltrator-Leader") + if(istype(L, /obj/effect/landmark/spawner/syndicate_infiltrator_leader)) sit_spawns_leader += L - if(L.name == "Syndicate-Infiltrator-Admin") - sit_spawns_mgmt += L var/num_spawned = 1 var/team_leader = null diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 3a7f48e6df8..3cf8215fc36 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -473,51 +473,37 @@ var/teamTwoMembers = 5 var/datum/character_save/S = new S.randomise() - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/L = thing - if(L.name == "tdome1") - if(teamOneMembers<=0) - break + for(var/obj/effect/landmark/L in GLOB.tdome1) + if(!teamOneMembers) + break + var/mob/living/carbon/human/newMember = new(get_turf(L)) + S.copy_to(newMember) + newMember.dna.ready_dna(newMember) + while((!theghost || !theghost.client) && candidates.len) + theghost = pick(candidates) + candidates.Remove(theghost) + if(!theghost) + qdel(newMember) + break + newMember.key = theghost.key + teamOneMembers-- + to_chat(newMember, "You are a member of the GREEN Thunderdome team! Gear up and help your team destroy the red team!") - var/mob/living/carbon/human/newMember = new(L.loc) - - S.copy_to(newMember) - - newMember.dna.ready_dna(newMember) - - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - - if(!theghost) - qdel(newMember) - break - - newMember.key = theghost.key - teamOneMembers-- - to_chat(newMember, "You are a member of the GREEN Thunderdome team! Gear up and help your team destroy the red team!") - - if(L.name == "tdome2") - if(teamTwoMembers<=0) - break - - var/mob/living/carbon/human/newMember = new(L.loc) - - S.copy_to(newMember) - - newMember.dna.ready_dna(newMember) - - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - - if(!theghost) - qdel(newMember) - break - - newMember.key = theghost.key - teamTwoMembers-- - to_chat(newMember, "You are a member of the RED Thunderdome team! Gear up and help your team destroy the green team!") + for(var/obj/effect/landmark/L in GLOB.tdome2) + if(!teamTwoMembers) + break + var/mob/living/carbon/human/newMember = new(get_turf(L)) + S.copy_to(newMember) + newMember.dna.ready_dna(newMember) + while((!theghost || !theghost.client) && candidates.len) + theghost = pick(candidates) + candidates.Remove(theghost) + if(!theghost) + qdel(newMember) + break + newMember.key = theghost.key + teamTwoMembers-- + to_chat(newMember, "You are a member of the RED Thunderdome team! Gear up and help your team destroy the green team!") else return 0 return 1 diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index c2158f41656..3654b717611 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -39,7 +39,7 @@ GLOBAL_VAR_INIT(sent_strike_team, 0) // Find ghosts willing to be DS var/image/source = image('icons/obj/cardboard_cutout.dmi', "cutout_deathsquad") var/list/commando_ghosts = pollCandidatesWithVeto(src, usr, COMMANDOS_POSSIBLE, "Join the DeathSquad?",, 21, 60 SECONDS, TRUE, GLOB.role_playtime_requirements[ROLE_DEATHSQUAD], TRUE, FALSE, source = source) - if(!commando_ghosts.len) + if(!length(commando_ghosts)) to_chat(usr, "Nobody volunteered to join the DeathSquad.") return @@ -49,79 +49,73 @@ GLOBAL_VAR_INIT(sent_strike_team, 0) var/commando_number = COMMANDOS_POSSIBLE //for selecting a leader var/is_leader = TRUE // set to FALSE after leader is spawned - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/L = thing + for(var/obj/effect/landmark/spawner/syndicate_commando/L in GLOB.landmarks_list) if(commando_number <= 0) break - if(L.name == "Commando") + if(!length(commando_ghosts)) + break - if(!commando_ghosts.len) - break + var/use_ds_borg = FALSE + var/mob/ghost_mob = pick(commando_ghosts) + commando_ghosts -= ghost_mob + if(!ghost_mob || !ghost_mob.key || !ghost_mob.client) + continue - var/use_ds_borg = FALSE - var/mob/ghost_mob = pick(commando_ghosts) - commando_ghosts -= ghost_mob - if(!ghost_mob || !ghost_mob.key || !ghost_mob.client) - continue + if(!is_leader) + var/new_dstype = alert(ghost_mob.client, "Select Deathsquad Type.", "DS Character Generation", "Organic", "Cyborg") + if(new_dstype == "Cyborg") + use_ds_borg = TRUE - if(!is_leader) - var/new_dstype = alert(ghost_mob.client, "Select Deathsquad Type.", "DS Character Generation", "Organic", "Cyborg") - if(new_dstype == "Cyborg") - use_ds_borg = TRUE + if(!ghost_mob || !ghost_mob.key || !ghost_mob.client) // Have to re-check this due to the above alert() call + continue - if(!ghost_mob || !ghost_mob.key || !ghost_mob.client) // Have to re-check this due to the above alert() call - continue + if(use_ds_borg) + var/mob/living/silicon/robot/deathsquad/R = new(get_turf(L)) + var/rnum = rand(1, 1000) + var/borgname = "Epsilon [rnum]" + R.name = borgname + R.custom_name = borgname + R.real_name = R.name + R.mind = new + R.mind.current = R + R.mind.set_original_mob(R) + R.mind.assigned_role = SPECIAL_ROLE_DEATHSQUAD + R.mind.special_role = SPECIAL_ROLE_DEATHSQUAD + R.mind.offstation_role = TRUE + if(!(R.mind in SSticker.minds)) + SSticker.minds += R.mind + SSticker.mode.traitors += R.mind + R.key = ghost_mob.key + if(nuke_code) + R.mind.store_memory("Nuke Code: [nuke_code].") + R.mind.store_memory("Mission: [input].") + to_chat(R, "You are a Special Operations cyborg, in the service of Central Command. \nYour current mission is: [input]") + else + var/mob/living/carbon/human/new_commando = create_death_commando(L, is_leader) + new_commando.mind.key = ghost_mob.key + new_commando.key = ghost_mob.key + new_commando.internal = new_commando.s_store + new_commando.update_action_buttons_icon() + if(nuke_code) + new_commando.mind.store_memory("Nuke Code: [nuke_code].") + new_commando.mind.store_memory("Mission: [input].") + to_chat(new_commando, "You are a Special Ops [is_leader ? "TEAM LEADER" : "commando"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") - if(use_ds_borg) - var/mob/living/silicon/robot/deathsquad/R = new() - R.forceMove(get_turf(L)) - var/rnum = rand(1,1000) - var/borgname = "Epsilon [rnum]" - R.name = borgname - R.custom_name = borgname - R.real_name = R.name - R.mind = new - R.mind.current = R - R.mind.set_original_mob(R) - R.mind.assigned_role = SPECIAL_ROLE_DEATHSQUAD - R.mind.special_role = SPECIAL_ROLE_DEATHSQUAD - R.mind.offstation_role = TRUE - if(!(R.mind in SSticker.minds)) - SSticker.minds += R.mind - SSticker.mode.traitors += R.mind - R.key = ghost_mob.key - if(nuke_code) - R.mind.store_memory("Nuke Code: [nuke_code].") - R.mind.store_memory("Mission: [input].") - to_chat(R, "You are a Special Operations cyborg, in the service of Central Command. \nYour current mission is: [input]") - else - var/mob/living/carbon/human/new_commando = create_death_commando(L, is_leader) - new_commando.mind.key = ghost_mob.key - new_commando.key = ghost_mob.key - new_commando.internal = new_commando.s_store - new_commando.update_action_buttons_icon() - if(nuke_code) - new_commando.mind.store_memory("Nuke Code: [nuke_code].") - new_commando.mind.store_memory("Mission: [input].") - to_chat(new_commando, "You are a Special Ops [is_leader ? "TEAM LEADER" : "commando"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [input]") - - is_leader = FALSE - commando_number-- + is_leader = FALSE + commando_number-- //Spawns the rest of the commando gear. - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/L = thing - if(L.name == "Commando_Manual") - //new /obj/item/gun/energy/pulse_rifle(L.loc) - var/obj/item/paper/P = new(L.loc) - P.info = "

Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
#1 Work as a team.
#2 Accomplish your objective at all costs.
#3 Leave no witnesses.
You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.

In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.

Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
To make the device functional:
#1 Place bomb in designated detonation zone
#2 Extend and anchor bomb (attack with hand).
#3 Insert Nuclear Auth. Disk into slot.
#4 Type numeric code into keypad ([nuke_code]).
Note: If you make a mistake press R to reset the device.
#5 Press the E button to log onto the device.
You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
Note: Toggle off the SAFETY.
Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
Note: THE BOMB IS STILL SET AND WILL DETONATE
Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.

The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]

Good luck, soldier!

" - P.name = "Spec. Ops Manual" - P.icon = "pamphlet-ds" - var/obj/item/stamp/centcom/stamp = new - P.stamp(stamp) - qdel(stamp) + for(var/obj/effect/landmark/spawner/commando_manual/L in GLOB.landmarks_list) + //new /obj/item/gun/energy/pulse_rifle(L.loc) + var/obj/item/paper/P = new(L.loc) + P.info = "

Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
#1 Work as a team.
#2 Accomplish your objective at all costs.
#3 Leave no witnesses.
You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.

In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.

Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
To make the device functional:
#1 Place bomb in designated detonation zone
#2 Extend and anchor bomb (attack with hand).
#3 Insert Nuclear Auth. Disk into slot.
#4 Type numeric code into keypad ([nuke_code]).
Note: If you make a mistake press R to reset the device.
#5 Press the E button to log onto the device.
You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
Note: Toggle off the SAFETY.
Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
Note: THE BOMB IS STILL SET AND WILL DETONATE
Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.

The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]

Good luck, soldier!

" + P.name = "Spec. Ops Manual" + P.icon = "pamphlet-ds" + var/obj/item/stamp/centcom/stamp = new + P.stamp(stamp) + qdel(stamp) for(var/thing in GLOB.landmarks_list) var/obj/effect/landmark/L = thing diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 766660b6a15..a49283d4ed1 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -47,7 +47,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0) // Find ghosts willing to be SST var/image/I = new('icons/obj/cardboard_cutout.dmi', "cutout_commando") var/list/commando_ghosts = pollCandidatesWithVeto(src, usr, SYNDICATE_COMMANDOS_POSSIBLE, "Join the Syndicate Strike Team?",, 21, 60 SECONDS, TRUE, GLOB.role_playtime_requirements[ROLE_DEATHSQUAD], TRUE, FALSE, source = I) - if(!commando_ghosts.len) + if(!length(commando_ghosts)) to_chat(usr, "Nobody volunteered to join the SST.") return @@ -62,7 +62,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0) if(L.name == "Syndicate-Commando") - if(!commando_ghosts.len) + if(!length(commando_ghosts)) break var/mob/ghost_mob = pick(commando_ghosts) diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm index 53cea98bfd5..edd563fbfe9 100644 --- a/code/modules/events/blob.dm +++ b/code/modules/events/blob.dm @@ -10,9 +10,6 @@ log_and_message_admins("Warning: Could not spawn any mobs for event Blob") /datum/event/blob/start() - var/turf/T = pick(GLOB.blobstart) - if(!T) - return kill() INVOKE_ASYNC(src, .proc/make_blob) /datum/event/blob/proc/make_blob() diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index fb02033b802..60d3e7e37b5 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -30,10 +30,8 @@ /datum/event/carp_migration/proc/spawn_fish(num_groups, group_size_min = 3, group_size_max = 5) var/list/spawn_locations = list() - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/C = thing - if(C.name == "carpspawn") - spawn_locations.Add(C.loc) + for(var/thing in GLOB.carplist) + spawn_locations.Add(get_turf(thing)) spawn_locations = shuffle(spawn_locations) num_groups = min(num_groups, spawn_locations.len) diff --git a/code/modules/events/rogue_drones.dm b/code/modules/events/rogue_drones.dm index e069fb4e5c8..82512f8f2f4 100644 --- a/code/modules/events/rogue_drones.dm +++ b/code/modules/events/rogue_drones.dm @@ -5,10 +5,8 @@ /datum/event/rogue_drone/start() var/list/possible_spawns = list() - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/C = thing - if(C.name == "carpspawn") //spawn them at the same place as carp - possible_spawns.Add(C) + for(var/thing in GLOB.carplist) + possible_spawns.Add(thing) var/num = rand(2, 12) for(var/i = 0, i < num, i++) diff --git a/code/modules/events/slaughterevent.dm b/code/modules/events/slaughterevent.dm index dc2d42675f9..b3c5ecd289f 100644 --- a/code/modules/events/slaughterevent.dm +++ b/code/modules/events/slaughterevent.dm @@ -18,22 +18,11 @@ var/datum/mind/player_mind = new /datum/mind(key_of_slaughter) player_mind.active = TRUE var/list/spawn_locs = list() - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/L = thing - if(isturf(L.loc)) - switch(L.name) - if("revenantspawn") - spawn_locs += L.loc - if(!spawn_locs) //If we can't find any revenant spawns, try the carp spawns - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/L = thing - if(isturf(L.loc)) - switch(L.name) - if("carpspawn") - spawn_locs += L.loc - if(!spawn_locs) //If we can't find either, just spawn the revenant at the player's location + for(var/obj/effect/landmark/spawner/rev/L in GLOB.landmarks_list) + spawn_locs += get_turf(L) + if(!spawn_locs) //If we can't find a good place, just spawn the revenant at the player's location spawn_locs += get_turf(player_mind.current) - if(!spawn_locs) //If we can't find THAT, then just retry + if(!spawn_locs) //If we can't find THAT, then give up kill() return var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(pick(spawn_locs)) diff --git a/code/modules/events/traders.dm b/code/modules/events/traders.dm index cd522243b5e..2bb6f3adf2d 100644 --- a/code/modules/events/traders.dm +++ b/code/modules/events/traders.dm @@ -24,10 +24,8 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol")) return var/list/spawnlocs = list() - for(var/thing in GLOB.landmarks_list) - var/obj/effect/landmark/landmark = thing - if(landmark.name == "traderstart_[station]") - spawnlocs += get_turf(landmark) + for(var/obj/effect/landmark/spawner/soltrader/S in GLOB.landmarks_list) + spawnlocs += get_turf(S) if(!spawnlocs.len) return diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 51bb1435fe4..722b656d56d 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -33,28 +33,24 @@ GLOBAL_LIST_EMPTY(empty_playable_ai_cores) // Delete the old AI shell qdel(src) -// TODO: Move away from the insane name-based landmark system /mob/living/silicon/ai/proc/moveToAILandmark() var/obj/loc_landmark - for(var/obj/effect/landmark/start/sloc in GLOB.landmarks_list) - if(sloc.name != "AI") + for(var/obj/effect/landmark/start/ai/A in GLOB.landmarks_list) + if(locate(/mob/living) in get_turf(A)) continue - if(locate(/mob/living) in sloc.loc) - continue - loc_landmark = sloc + loc_landmark = A if(!loc_landmark) for(var/obj/effect/landmark/tripai in GLOB.landmarks_list) if(tripai.name == "tripai") - if(locate(/mob/living) in tripai.loc) + if(locate(/mob/living) in get_turf(tripai)) continue loc_landmark = tripai if(!loc_landmark) - to_chat(src, "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone.") - for(var/obj/effect/landmark/start/sloc in GLOB.landmarks_list) - if(sloc.name == "AI") - loc_landmark = sloc + to_chat(src, "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone.") //lol what is this message + for(var/obj/effect/landmark/start/ai/A in GLOB.landmarks_list) + loc_landmark = A - forceMove(loc_landmark.loc) + forceMove(get_turf(loc_landmark)) view_core() // Before calling this, make sure an empty core exists, or this will no-op diff --git a/icons/effects/spawner_icons.dmi b/icons/effects/spawner_icons.dmi index 42d592b3e677a927e5af592141b7524522b98849..82b1097fcaf032d3c0f740f4472b75f12311e5f8 100644 GIT binary patch delta 41454 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 delta 42898 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