From ca0811a724140e7af43d9bd19073346fe028e098 Mon Sep 17 00:00:00 2001 From: stephen001 Date: Mon, 7 Apr 2008 00:47:52 +0000 Subject: [PATCH] Moved the tazer recharger to a seperate file, as a clean-up demo. --- main-src/Code/!atoms.dm | 8 +---- main-src/Code/Machinery/recharger.dm | 47 ++++++++++++++++++++++++++++ main-src/Code/items.dm | 45 -------------------------- main-src/spacestation13.dme | 2 ++ 4 files changed, 50 insertions(+), 52 deletions(-) create mode 100644 main-src/Code/Machinery/recharger.dm diff --git a/main-src/Code/!atoms.dm b/main-src/Code/!atoms.dm index 724e546..1aa0299 100644 --- a/main-src/Code/!atoms.dm +++ b/main-src/Code/!atoms.dm @@ -2867,13 +2867,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov var/speed = 10.0 var/capacity = null flags = 320.0 - anchored = 1.0 -/obj/machinery/recharger - name = "recharger" - icon = 'stationobjs.dmi' - icon_state = "recharger0" - var/obj/item/weapon/gun/energy/charging = null - anchored = 1.0 + anchored = 1.0 /obj/machinery/recon name = "1-Person Reconaissance Pod" icon = 'escapepod.dmi' diff --git a/main-src/Code/Machinery/recharger.dm b/main-src/Code/Machinery/recharger.dm new file mode 100644 index 0000000..819bd25 --- /dev/null +++ b/main-src/Code/Machinery/recharger.dm @@ -0,0 +1,47 @@ +/** + * Recharger -- A recharger is a piece of Machinery that re-supplys tazers and lazers. + * + * TODO: Need seriously improved documentation on this object. Most of the procs and + * variables seem to live elsewhere, need a project decision on how these cases + * get documented and referenced. + */ +obj + machinery + recharger + anchored = 1.0 + icon = 'stationobjs.dmi' + icon_state = "recharger0" + name = "recharger" + + var + obj/item/weapon/gun/energy/charging = null + + attackby(obj/item/weapon/G as obj, mob/user as mob) + if (src.charging) + return + if (istype(G, /obj/item/weapon/gun/energy)) + user.drop_item() + G.loc = src + src.charging = G + + attack_hand(mob/user as mob) + src.add_fingerprint(user) + if (src.charging) + src.charging.update_icon() + src.charging.loc = src.loc + src.charging = null + + attack_paw(mob/user as mob) + if ((ticker && ticker.mode == "monkey")) + return src.attack_hand(user) + + process() + if (src.charging && ! (stat & NOPOWER) ) + if (src.charging.charges < 10) + src.charging.charges++ + src.icon_state = "recharger1" + use_power(250) + else + src.icon_state = "recharger2" + else + src.icon_state = "recharger0" diff --git a/main-src/Code/items.dm b/main-src/Code/items.dm index dd7dc57..04d8bf6 100644 --- a/main-src/Code/items.dm +++ b/main-src/Code/items.dm @@ -51,58 +51,13 @@ return /obj/proc/hear_talk(mob/M as mob, text) - - return - -/obj/machinery/recharger/process() - - if (src.charging && ! (stat & NOPOWER) ) - if (src.charging.charges < 10) - src.charging.charges++ - src.icon_state = "recharger1" - use_power(250) - - else - src.icon_state = "recharger2" - else - src.icon_state = "recharger0" - return - -/obj/machinery/recharger/attack_paw(mob/user as mob) - - if ((ticker && ticker.mode == "monkey")) - return src.attack_hand(user) - return - -/obj/machinery/recharger/attack_hand(mob/user as mob) - - src.add_fingerprint(user) - if (src.charging) - src.charging.update_icon() - src.charging.loc = src.loc - src.charging = null - return - -/obj/machinery/recharger/attackby(obj/item/weapon/G as obj, mob/user as mob) - - if (src.charging) - return - if (istype(G, /obj/item/weapon/gun/energy)) - user.drop_item() - G.loc = src - src.charging = G - return return /obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) new /obj/item/weapon/sheet/metal( src.loc ) //SN src = null del(src) - return - return - return /obj/item/weapon/table_parts/attack_self(mob/user as mob) diff --git a/main-src/spacestation13.dme b/main-src/spacestation13.dme index 661e6d5..56d4861 100644 --- a/main-src/spacestation13.dme +++ b/main-src/spacestation13.dme @@ -13,6 +13,7 @@ AUTO_FILE_DIR: ON // BEGIN_FILE_DIR #define FILE_DIR . #define FILE_DIR "Code" +#define FILE_DIR "Code\Machinery" #define FILE_DIR "Icons" #define FILE_DIR "Interface" // END_FILE_DIR @@ -61,5 +62,6 @@ AUTO_FILE_DIR: ON #include "Code\vote.dm" #include "Code\weap_sat.dm" #include "Code\weapons.dm" +#include "Code\Machinery\recharger.dm" // END_INCLUDE