From 12f798390f31802141a5648c951377f1b0ec321b Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 16 Jun 2020 07:26:09 +0100 Subject: [PATCH 1/5] Minor refactor to wireless eguns --- code/game/atoms_movable.dm | 1 + .../mission_code/UO71-terrorspiders.dm | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 70926d7ba2b..908fa397c06 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -278,6 +278,7 @@ return 1 /atom/movable/proc/onTransitZ(old_z,new_z) + SEND_SIGNAL(src, COMSIG_MOVABLE_Z_CHANGED, old_z, new_z) for(var/item in src) // Notify contents of Z-transition. This can be overridden if we know the items contents do not care. var/atom/movable/AM = item AM.onTransitZ(old_z,new_z) diff --git a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm index b41ec901573..92aa6e61770 100644 --- a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm +++ b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm @@ -191,26 +191,28 @@ origin_tech = null selfcharge = 1 can_charge = 0 - var/inawaymission = 1 + var/inawaymission = TRUE -/obj/item/gun/energy/laser/awaymission_aeg/process() +/obj/item/gun/energy/laser/awaymission_aeg/Initialize(mapload) + RegisterSignal(src, list(COMSIG_MOVABLE_Z_CHANGED), .proc/updateZ) + // Force update it incase it spawns outside an away mission and shouldnt be charged + updateZ() + return ..() + +/obj/item/gun/energy/laser/awaymission_aeg/proc/updateZ() var/turf/my_loc = get_turf(src) if(is_away_level(my_loc.z)) - if(inawaymission) - return ..() if(ismob(loc)) to_chat(loc, "Your [src] activates, starting to draw power from a nearby wireless power source.") - inawaymission = 1 + inawaymission = TRUE else if(inawaymission) if(ismob(loc)) to_chat(loc, "Your [src] deactivates, as it is out of range from its power source.") cell.charge = 0 - inawaymission = 0 + inawaymission = FALSE update_icon() - - /obj/item/reagent_containers/glass/beaker/terror_black_toxin name = "beaker 'Black Terror Venom'" From f11b5f7d7af3ce0aa58579617544653f86d65941 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 16 Jun 2020 07:48:26 +0100 Subject: [PATCH 2/5] Farie change --- code/modules/awaymissions/mission_code/UO71-terrorspiders.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm index 92aa6e61770..08989d1716e 100644 --- a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm +++ b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm @@ -194,10 +194,10 @@ var/inawaymission = TRUE /obj/item/gun/energy/laser/awaymission_aeg/Initialize(mapload) + . = ..() RegisterSignal(src, list(COMSIG_MOVABLE_Z_CHANGED), .proc/updateZ) // Force update it incase it spawns outside an away mission and shouldnt be charged updateZ() - return ..() /obj/item/gun/energy/laser/awaymission_aeg/proc/updateZ() var/turf/my_loc = get_turf(src) From 0b72f4eb8001eb780b1b1c7296fc9637e8f7f630 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 16 Jun 2020 08:45:10 +0100 Subject: [PATCH 3/5] Forgot this --- code/modules/awaymissions/mission_code/UO71-terrorspiders.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm index 08989d1716e..f396b57e3ee 100644 --- a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm +++ b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm @@ -199,6 +199,11 @@ // Force update it incase it spawns outside an away mission and shouldnt be charged updateZ() +/obj/item/gun/energy/laser/awaymission_aeg/process() + // Only call the self-recharge proc if inside an away mission + if(inawaymission) + ..() + /obj/item/gun/energy/laser/awaymission_aeg/proc/updateZ() var/turf/my_loc = get_turf(src) if(is_away_level(my_loc.z)) From 6c465c84dc779cb6d94691eba2156f2e24feb840 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 16 Jun 2020 14:39:58 +0100 Subject: [PATCH 4/5] Use onTransitZ --- code/game/atoms_movable.dm | 1 - .../mission_code/UO71-terrorspiders.dm | 22 +++++++------------ 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 908fa397c06..70926d7ba2b 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -278,7 +278,6 @@ return 1 /atom/movable/proc/onTransitZ(old_z,new_z) - SEND_SIGNAL(src, COMSIG_MOVABLE_Z_CHANGED, old_z, new_z) for(var/item in src) // Notify contents of Z-transition. This can be overridden if we know the items contents do not care. var/atom/movable/AM = item AM.onTransitZ(old_z,new_z) diff --git a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm index f396b57e3ee..8f562846e87 100644 --- a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm +++ b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm @@ -191,31 +191,25 @@ origin_tech = null selfcharge = 1 can_charge = 0 - var/inawaymission = TRUE + // Selfcharge is enabled and disabled, and used as the away mission tracker + selfcharge = TRUE /obj/item/gun/energy/laser/awaymission_aeg/Initialize(mapload) . = ..() - RegisterSignal(src, list(COMSIG_MOVABLE_Z_CHANGED), .proc/updateZ) // Force update it incase it spawns outside an away mission and shouldnt be charged - updateZ() + onTransitZ(new_z=loc.z) -/obj/item/gun/energy/laser/awaymission_aeg/process() - // Only call the self-recharge proc if inside an away mission - if(inawaymission) - ..() - -/obj/item/gun/energy/laser/awaymission_aeg/proc/updateZ() - var/turf/my_loc = get_turf(src) - if(is_away_level(my_loc.z)) +/obj/item/gun/energy/laser/awaymission_aeg/onTransitZ(old_z, new_z) + if(is_away_level(new_z)) if(ismob(loc)) to_chat(loc, "Your [src] activates, starting to draw power from a nearby wireless power source.") - inawaymission = TRUE + selfcharge = TRUE else - if(inawaymission) + if(selfcharge) if(ismob(loc)) to_chat(loc, "Your [src] deactivates, as it is out of range from its power source.") cell.charge = 0 - inawaymission = FALSE + selfcharge = FALSE update_icon() /obj/item/reagent_containers/glass/beaker/terror_black_toxin From fd209c5bc4f42338a11d14b0402d1131cea4b592 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 16 Jun 2020 20:51:17 +0100 Subject: [PATCH 5/5] Gamebreaking bug must be fixed --- code/modules/awaymissions/mission_code/UO71-terrorspiders.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm index 8f562846e87..f06a9a37f9c 100644 --- a/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm +++ b/code/modules/awaymissions/mission_code/UO71-terrorspiders.dm @@ -197,7 +197,7 @@ /obj/item/gun/energy/laser/awaymission_aeg/Initialize(mapload) . = ..() // Force update it incase it spawns outside an away mission and shouldnt be charged - onTransitZ(new_z=loc.z) + onTransitZ(new_z = loc.z) /obj/item/gun/energy/laser/awaymission_aeg/onTransitZ(old_z, new_z) if(is_away_level(new_z))