From 1585d1c2be0bb483ca979d579b816fb1c6adb1c5 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 26 Apr 2021 23:32:33 -0700 Subject: [PATCH] fixes --- code/__HELPERS/yelling.dm | 37 ++++++++++--------- code/modules/mining/equipment/survival_pod.dm | 2 +- .../modules/mob/living/living_active_parry.dm | 1 - .../projectiles/ammunition/energy/stun.dm | 3 +- .../{ballistic => energy}/laser_gatling.dm | 1 - .../reagents/reagent_containers/spray.dm | 5 +-- 6 files changed, 23 insertions(+), 26 deletions(-) rename code/modules/projectiles/guns/{ballistic => energy}/laser_gatling.dm (99%) diff --git a/code/__HELPERS/yelling.dm b/code/__HELPERS/yelling.dm index e9a2697c87..cf8ca52417 100644 --- a/code/__HELPERS/yelling.dm +++ b/code/__HELPERS/yelling.dm @@ -6,7 +6,7 @@ stop = TRUE return ..() -/datum/yelling_wavefill/proc/run(atom/source, dist = 50) +/datum/yelling_wavefill/proc/run_wavefill(atom/source, dist = 50) collected = list() do_run(source, dist) // gc @@ -14,6 +14,7 @@ collected = null // blatantly copied from wave explosion code +// check explosion2.dm for what this does and how it works. /datum/yelling_wavefill/proc/do_run(atom/source, dist) var/list/edges = list(source = (NORTH|SOUTH|EAST|WEST)) var/list/powers = list(source = dist) @@ -34,24 +35,8 @@ var/list/turf/diagonal_powers = list() var/list/turf/diagonal_powers_max = list() - while(edges.len) - // process cardinals - for(var/i in edges) - T = i - power = powers[T] - dir = edges[T] - RUN_YELL(T, power, dir) - powers_returned[T] = returned - if(returned) - // get hearing atoms - else - continue - - // diagonal power calc when multiple things hit one diagonal #define CALCULATE_DIAGONAL_POWER(existing, adding, maximum) min(maximum, existing + adding) - // diagonal hitting cardinal expansion #define CALCULATE_DIAGONAL_CROSS_POWER(existing, adding) max(existing, adding) - // insanity define to mark the next set of cardinals. #define CARDINAL_MARK(ndir, cdir, edir) \ if(edir & cdir) { \ expanding = get_step(T,ndir); \ @@ -79,6 +64,22 @@ DIAGONAL_SUBSTEP(turn(ndir, 90), turn(cdir, 90), edir); \ DIAGONAL_SUBSTEP(turn(ndir, -90), turn(cdir, -90), edir); \ }; + + while(edges.len) + // to_chat(world, "DEBUG: cycle start edges [english_list_assoc(edges)]") + + // process cardinals + for(var/i in edges) + T = i + power = powers[T] + dir = edges[T] + RUN_YELL(T, power, dir) + powers_returned[T] = returned + if(returned) + // get hearing atoms + else + continue + CARDINAL_MARK(NORTH, NORTH, dir) CARDINAL_MARK(SOUTH, SOUTH, dir) CARDINAL_MARK(EAST, EAST, dir) @@ -129,6 +130,6 @@ /proc/yelling_wavefill(atom/source, dist = 50) var/datum/yelling_wavefill/Y = new - Y.run(source, dist) + Y.run_wavefill(source, dist) return Y.collected || list() diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index fff971c953..777f1bfc3b 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -299,7 +299,7 @@ /obj/item/energy_katana, /obj/item/hierophant_club, /obj/item/his_grace, - /obj/item/gun/ballistic/minigun, + /obj/item/gun/energy/minigun, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/gun/magic/staff/chaos, /obj/item/gun/magic/staff/spellblade, diff --git a/code/modules/mob/living/living_active_parry.dm b/code/modules/mob/living/living_active_parry.dm index 32bc5fd59d..57866bacbe 100644 --- a/code/modules/mob/living/living_active_parry.dm +++ b/code/modules/mob/living/living_active_parry.dm @@ -230,7 +230,6 @@ var/list/determined = determine_parry_method(TRUE, TRUE) if(!islist(determined)) return FALSE - var/method = determined[1] var/datum/block_parry_data/data = return_block_parry_datum(determined[2]) if(!data.parry_automatic_enabled) return FALSE diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index aa889c10bf..cb7f80d949 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -10,7 +10,7 @@ e_cost = 100 /obj/item/ammo_casing/energy/electrode/hos - projectile_type = /obj/item/projectile/energy/electrode/hos + projectile_type = /obj/item/projectile/energy/electrode/security/hos e_cost = 100 /obj/item/ammo_casing/energy/electrode/spec @@ -20,7 +20,6 @@ fire_sound = 'sound/weapons/gunshot.ogg' e_cost = 100 - /obj/item/ammo_casing/energy/electrode/old e_cost = 1000 diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm similarity index 99% rename from code/modules/projectiles/guns/ballistic/laser_gatling.dm rename to code/modules/projectiles/guns/energy/laser_gatling.dm index 2abb7b720f..716cc6f31d 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -90,7 +90,6 @@ update_icon() user.update_inv_back() - /obj/item/gun/energy/minigun name = "laser gatling gun" desc = "An advanced laser cannon with an incredible rate of fire. Requires a bulky backpack power source to use." diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 3f62829b32..de4151a82d 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -76,6 +76,8 @@ var/wait_step = CEILING(spray_delay * INVERSE(range), world.tick_lag) var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src), stream_mode, wait_step, range, stream_mode? 1 : range) var/turf/T = get_turf(src) + if(!T) + return log_reagent("SPRAY: [key_name(usr)] fired [src] ([REF(src)]) [COORD(T)] at [A] ([REF(A)]) [COORD(A)] (chempuff: [D.reagents.log_list()])") D.create_reagents(amount_per_transfer_from_this, NONE, NO_REAGENTS_VALUE) if(stream_mode) @@ -83,9 +85,6 @@ else reagents.trans_to(D, amount_per_transfer_from_this, 1/range) D.color = mix_color_from_reagents(D.reagents.reagent_list) - var/turf/T = get_turf(src) - if(!T) - return last_spray = world.time D.run(A)