From 9c8adbb8cf35b455d35aafe72c0d150f855da884 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Mon, 30 Mar 2020 12:03:39 -0400 Subject: [PATCH 1/2] Slow your roll, turrets --- code/_helpers/mobs.dm | 35 -------------------------- code/game/machinery/portable_turret.dm | 13 ++++++++++ 2 files changed, 13 insertions(+), 35 deletions(-) diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index 9320c29272..04b8ede203 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -1,38 +1,3 @@ -/atom/movable/proc/get_mob() - return - -/obj/mecha/get_mob() - return occupant - -/obj/vehicle/train/get_mob() - return buckled_mobs - -/mob/get_mob() - return src - -/mob/living/bot/mulebot/get_mob() - if(load && istype(load, /mob/living)) - return list(src, load) - return src - -/proc/mobs_in_view(var/range, var/source) - var/list/mobs = list() - for(var/atom/movable/AM in view(range, source)) - var/M = AM.get_mob() - if(M) - mobs += M - - return mobs - -/proc/mobs_in_xray_view(var/range, var/source) - var/list/mobs = list() - for(var/atom/movable/AM in orange(range, source)) - var/M = AM.get_mob() - if(M) - mobs += M - - return mobs - proc/random_hair_style(gender, species = SPECIES_HUMAN) var/h_style = "Bald" diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 56fa5c75a0..98cade735d 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -701,8 +701,21 @@ var/list/targets = list() //list of primary targets var/list/secondarytargets = list() //targets that are least important + var/list/seenturfs = list() + for(var/turf/T in oview(world.view, src)) + seenturfs += T + + for(var/mob in player_list) + var/mob/M = mob + if(M.z != z) //Skip + continue + if(get_turf(M) in seenturfs) + assess_and_assign(mob, targets, secondarytargets) + + /* This was dumb. Why do this and then check line of sight later? for(var/mob/M in mobs_in_xray_view(world.view, src)) assess_and_assign(M, targets, secondarytargets) + */ if(!tryToShootAt(targets)) if(!tryToShootAt(secondarytargets)) // if no valid targets, go for secondary targets From 5877e7c994e2261a934f70eceeb698d657ae985a Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Thu, 2 Apr 2020 20:07:46 -0400 Subject: [PATCH 2/2] Update portable_turret.dm --- code/game/machinery/portable_turret.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 98cade735d..b67f3738bd 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -705,7 +705,7 @@ for(var/turf/T in oview(world.view, src)) seenturfs += T - for(var/mob in player_list) + for(var/mob in living_mob_list) var/mob/M = mob if(M.z != z) //Skip continue @@ -1151,4 +1151,4 @@ #undef TURRET_PRIORITY_TARGET #undef TURRET_SECONDARY_TARGET -#undef TURRET_NOT_TARGET \ No newline at end of file +#undef TURRET_NOT_TARGET