mirror of
https://github.com/cybergirlvannie/OpenSS13.git
synced 2026-07-13 16:52:24 +01:00
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.
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user