From 0fa8609786de1db36582110367309ab52a656b1f Mon Sep 17 00:00:00 2001 From: stephen001 Date: Thu, 19 Jun 2008 00:13:14 +0000 Subject: [PATCH] More splitting up of code. Barrier seems to be CTF only, so I figured a CTF folder would be good for containing it. Perhaps we could do Mode-Specific\CTF ? Portal seems more like an Effect, so it went in Effects. --- Code/!atoms.dm | 15 -------------- Code/CTF/barrier.dm | 13 ++++++++++++ Code/Effects/portal.dm | 46 ++++++++++++++++++++++++++++++++++++++++++ Code/items.dm | 44 ---------------------------------------- spacestation13.dme | 2 ++ 5 files changed, 61 insertions(+), 59 deletions(-) create mode 100644 Code/CTF/barrier.dm create mode 100644 Code/Effects/portal.dm diff --git a/Code/!atoms.dm b/Code/!atoms.dm index ab4b8cd..5ffae3c 100644 --- a/Code/!atoms.dm +++ b/Code/!atoms.dm @@ -465,13 +465,6 @@ var/a_level = 0.0 var/screen = 1.0 var/owner = null -/obj/barrier - name = "barrier" - icon = 'stationobjs.dmi' - icon_state = "barrier" - opacity = 1 - density = 1 - anchored = 1.0 /obj/beam name = "beam" /obj/beam/a_laser @@ -2462,14 +2455,6 @@ Total SMES charging rate should not exceed total power generation rate, or an ov icon = 'screen1.dmi' icon_state = "arrow" layer = 16.0 -/obj/portal - name = "portal" - icon = 'stationobjs.dmi' - icon_state = "portal" - density = 1 - var/obj/target = null - anchored = 1.0 - /obj/rack name = "rack" icon = 'Icons.dmi' diff --git a/Code/CTF/barrier.dm b/Code/CTF/barrier.dm new file mode 100644 index 0000000..a1a1d6e --- /dev/null +++ b/Code/CTF/barrier.dm @@ -0,0 +1,13 @@ +/obj/barrier + anchored = 1.0 + density = 1 + icon = 'stationobjs.dmi' + icon_state = "barrier" + name = "barrier" + opacity = 1 + + New() + var/t = 1800 + if (ctf) + t = round(ctf.barriertime * 600) + spawn(t) del(src) diff --git a/Code/Effects/portal.dm b/Code/Effects/portal.dm new file mode 100644 index 0000000..f8a056b --- /dev/null +++ b/Code/Effects/portal.dm @@ -0,0 +1,46 @@ +/obj/portal + anchored = 1.0 + density = 1 + icon = 'stationobjs.dmi' + icon_state = "portal" + name = "portal" + var/obj/target = null + + New() + spawn(300) del(src) + + Bumped(atom/movable/M) + spawn(0) src.teleport(M) + + HasEntered(atom/movable/AM) + spawn(0) src.teleport(AM) + + proc/teleport(atom/movable/M) + if (M.anchored) + return + if (src.icon_state == "portal1") + return + if (!(src.target)) + del(src) + return + var/obj/effects/sparks/O = new /obj/effects/sparks(src.target) + O.dir = pick(1, 2, 4, 8) + spawn(0) + O.Life() + return + if (istype(M, /atom/movable)) + var/tx = src.target.x + rand(-5.0, 5) + var/ty = src.y + rand(-5.0, 5) + if (prob(10)) + src.icon_state = "portal1" + if (ismob(M)) + M.ex_act(2) + else + M.ex_act(1) + if (rand(1, 1000) <= 10) + if (istype(M, /mob)) + M:client_mob() << ("\red You see a fainting blue light.") + M.loc = null + else + M.loc = locate(tx, ty, src.target.z) + diff --git a/Code/items.dm b/Code/items.dm index 8fcfa50..4154239 100644 --- a/Code/items.dm +++ b/Code/items.dm @@ -5517,50 +5517,6 @@ new /obj/item/weapon/sheet/metal(src.loc) del(src) -/obj/barrier/New() - var/t = 1800 - if (ctf) - t = round(ctf.barriertime * 600) - spawn(t) del(src) - -/obj/portal/Bumped(atom/movable/M) - spawn(0) src.teleport(M) - -/obj/portal/HasEntered(atom/movable/AM) - spawn(0) src.teleport(AM) - -/obj/portal/New() - spawn(300) del(src) - -/obj/portal/proc/teleport(atom/movable/M) - if (M.anchored) - return - if (src.icon_state == "portal1") - return - if (!( src.target )) - del(src) - return - var/obj/effects/sparks/O = new /obj/effects/sparks( src.target ) - O.dir = pick(1, 2, 4, 8) - spawn(0) - O.Life() - return - if (istype(M, /atom/movable)) - var/tx = src.target.x + rand(-5.0, 5) - var/ty = src.y + rand(-5.0, 5) - if (prob(10)) - src.icon_state = "portal1" - if (ismob(M)) - M.ex_act(2) - else - M.ex_act(1) - if (rand(1, 1000) <= 10) - if (istype(M, /mob)) - M:client_mob() << ("\red You see a fainting blue light.") - M.loc = null - else - M.loc = locate(tx, ty, src.target.z) - /mob/attackby(obj/item/weapon/W, mob/user) var/shielded = 0 for(var/obj/item/weapon/shield/S in src) diff --git a/spacestation13.dme b/spacestation13.dme index 60b42c0..40fbcb9 100644 --- a/spacestation13.dme +++ b/spacestation13.dme @@ -133,6 +133,8 @@ #include "Code\Machinery\Power\turbine.dm" #include "Code\mob\ai.dm" #include "Code\mob\drone.dm" +#include "Code\CTF\barrier.dm" +#include "Code\Effects\portal.dm" #include "Code\Effects\water.dm" // END_INCLUDE