mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
- Object tree grouped a bit more.
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code. Effects contains objects which are either landmarks, triggers, spawners or decal. Screenshot: http://www.kamletos.si/new%20object%20tree.PNG I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -33,7 +33,7 @@ turf/space
|
||||
create_meteor(direction as num)
|
||||
set src in world
|
||||
|
||||
var/obj/meteor/M = new( src )
|
||||
var/obj/effects/meteor/M = new( src )
|
||||
walk(M, direction,10)
|
||||
|
||||
|
||||
@@ -515,7 +515,7 @@ mob
|
||||
fire_report()
|
||||
set category = "Debug"
|
||||
usr << "\b \red Fire Report"
|
||||
for(var/obj/hotspot/flame in world)
|
||||
for(var/obj/effects/hotspot/flame in world)
|
||||
usr << "[flame.x],[flame.y]: [flame.temperature]K, [flame.volume] L - [flame.loc:air:temperature]"
|
||||
|
||||
process_cycle()
|
||||
|
||||
@@ -45,7 +45,7 @@ turf
|
||||
return igniting
|
||||
|
||||
obj
|
||||
hotspot
|
||||
effects/hotspot
|
||||
//Icon for fire on turfs, also helps for nurturing small fires until they are full tile
|
||||
|
||||
anchored = 1
|
||||
|
||||
@@ -117,7 +117,7 @@ turf
|
||||
archived_cycle = 0
|
||||
current_cycle = 0
|
||||
|
||||
obj/hotspot/active_hotspot
|
||||
obj/effects/hotspot/active_hotspot
|
||||
|
||||
temperature_archived //USED ONLY FOR SOLIDS
|
||||
being_superconductive = 0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
log_admin("[key_name(usr)] has left build mode.")
|
||||
M.client.buildmode = 0
|
||||
M.client.show_popup_menus = 1
|
||||
for(var/obj/bmode/buildholder/H)
|
||||
for(var/obj/effects/bmode/buildholder/H)
|
||||
if(H.cl == M.client)
|
||||
del(H)
|
||||
else
|
||||
@@ -14,14 +14,14 @@
|
||||
M.client.buildmode = 1
|
||||
M.client.show_popup_menus = 0
|
||||
|
||||
var/obj/bmode/buildholder/H = new/obj/bmode/buildholder()
|
||||
var/obj/bmode/builddir/A = new/obj/bmode/builddir(H)
|
||||
var/obj/effects/bmode/buildholder/H = new/obj/effects/bmode/buildholder()
|
||||
var/obj/effects/bmode/builddir/A = new/obj/effects/bmode/builddir(H)
|
||||
A.master = H
|
||||
var/obj/bmode/buildhelp/B = new/obj/bmode/buildhelp(H)
|
||||
var/obj/effects/bmode/buildhelp/B = new/obj/effects/bmode/buildhelp(H)
|
||||
B.master = H
|
||||
var/obj/bmode/buildmode/C = new/obj/bmode/buildmode(H)
|
||||
var/obj/effects/bmode/buildmode/C = new/obj/effects/bmode/buildmode(H)
|
||||
C.master = H
|
||||
var/obj/bmode/buildquit/D = new/obj/bmode/buildquit(H)
|
||||
var/obj/effects/bmode/buildquit/D = new/obj/effects/bmode/buildquit(H)
|
||||
D.master = H
|
||||
|
||||
H.builddir = A
|
||||
@@ -34,15 +34,15 @@
|
||||
M.client.screen += D
|
||||
H.cl = M.client
|
||||
|
||||
/obj/bmode//Cleaning up the tree a bit
|
||||
/obj/effects/bmode//Cleaning up the tree a bit
|
||||
density = 1
|
||||
anchored = 1
|
||||
layer = 20
|
||||
dir = NORTH
|
||||
icon = 'buildmode.dmi'
|
||||
var/obj/bmode/buildholder/master = null
|
||||
var/obj/effects/bmode/buildholder/master = null
|
||||
|
||||
/obj/bmode/builddir
|
||||
/obj/effects/bmode/builddir
|
||||
icon_state = "build"
|
||||
screen_loc = "NORTH,WEST"
|
||||
Click()
|
||||
@@ -59,7 +59,7 @@
|
||||
dir = NORTH
|
||||
return
|
||||
|
||||
/obj/bmode/buildhelp
|
||||
/obj/effects/bmode/buildhelp
|
||||
icon = 'buildmode.dmi'
|
||||
icon_state = "buildhelp"
|
||||
screen_loc = "NORTH,WEST+1"
|
||||
@@ -97,29 +97,29 @@
|
||||
usr << "\blue ***********************************************************"
|
||||
return
|
||||
|
||||
/obj/bmode/buildquit
|
||||
/obj/effects/bmode/buildquit
|
||||
icon_state = "buildquit"
|
||||
screen_loc = "NORTH,WEST+3"
|
||||
|
||||
Click()
|
||||
togglebuildmode(master.cl.mob)
|
||||
|
||||
/obj/bmode/buildholder
|
||||
/obj/effects/bmode/buildholder
|
||||
density = 0
|
||||
anchored = 1
|
||||
var/client/cl = null
|
||||
var/obj/bmode/builddir/builddir = null
|
||||
var/obj/bmode/buildhelp/buildhelp = null
|
||||
var/obj/bmode/buildmode/buildmode = null
|
||||
var/obj/bmode/buildquit/buildquit = null
|
||||
var/obj/effects/bmode/builddir/builddir = null
|
||||
var/obj/effects/bmode/buildhelp/buildhelp = null
|
||||
var/obj/effects/bmode/buildmode/buildmode = null
|
||||
var/obj/effects/bmode/buildquit/buildquit = null
|
||||
var/atom/movable/throw_atom = null
|
||||
|
||||
/obj/bmode/buildmode
|
||||
/obj/effects/bmode/buildmode
|
||||
icon_state = "buildmode1"
|
||||
screen_loc = "NORTH,WEST+2"
|
||||
var/varholder = "name"
|
||||
var/valueholder = "derp"
|
||||
var/objholder = "/obj/closet"
|
||||
var/objholder = "/obj/station_objects/closet"
|
||||
|
||||
Click(location, control, params)
|
||||
var/list/pa = params2list(params)
|
||||
@@ -144,13 +144,13 @@
|
||||
if(1)
|
||||
return
|
||||
if(2)
|
||||
objholder = input(usr,"Enter typepath:" ,"Typepath","/obj/closet")
|
||||
var/list/removed_paths = list("/obj/bhole")
|
||||
objholder = input(usr,"Enter typepath:" ,"Typepath","/obj/station_objects/closet")
|
||||
var/list/removed_paths = list("/obj/effects/bhole")
|
||||
if(objholder in removed_paths)
|
||||
alert("That path is not allowed.")
|
||||
objholder = "/obj/closet"
|
||||
objholder = "/obj/station_objects/closet"
|
||||
else if (dd_hasprefix(objholder, "/mob") && !(usr.client.holder.rank in list("Game Master", "Game Admin", "Badmin")))
|
||||
objholder = "/obj/closet"
|
||||
objholder = "/obj/station_objects/closet"
|
||||
if(3)
|
||||
var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")
|
||||
|
||||
@@ -173,8 +173,8 @@
|
||||
|
||||
|
||||
/proc/build_click(var/mob/user, buildmode, location, control, params, var/obj/object)
|
||||
var/obj/bmode/buildholder/holder = null
|
||||
for(var/obj/bmode/buildholder/H)
|
||||
var/obj/effects/bmode/buildholder/holder = null
|
||||
for(var/obj/effects/bmode/buildholder/H)
|
||||
if(H.cl == user.client)
|
||||
holder = H
|
||||
break
|
||||
@@ -217,19 +217,19 @@
|
||||
else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left"))
|
||||
switch(holder.builddir.dir)
|
||||
if(NORTH)
|
||||
var/obj/window/reinforced/WIN = new/obj/window/reinforced(get_turf(object))
|
||||
var/obj/station_objects/window/reinforced/WIN = new/obj/station_objects/window/reinforced(get_turf(object))
|
||||
WIN.dir = NORTH
|
||||
if(SOUTH)
|
||||
var/obj/window/reinforced/WIN = new/obj/window/reinforced(get_turf(object))
|
||||
var/obj/station_objects/window/reinforced/WIN = new/obj/station_objects/window/reinforced(get_turf(object))
|
||||
WIN.dir = SOUTH
|
||||
if(EAST)
|
||||
var/obj/window/reinforced/WIN = new/obj/window/reinforced(get_turf(object))
|
||||
var/obj/station_objects/window/reinforced/WIN = new/obj/station_objects/window/reinforced(get_turf(object))
|
||||
WIN.dir = EAST
|
||||
if(WEST)
|
||||
var/obj/window/reinforced/WIN = new/obj/window/reinforced(get_turf(object))
|
||||
var/obj/station_objects/window/reinforced/WIN = new/obj/station_objects/window/reinforced(get_turf(object))
|
||||
WIN.dir = WEST
|
||||
if(NORTHWEST)
|
||||
var/obj/window/reinforced/WIN = new/obj/window/reinforced(get_turf(object))
|
||||
var/obj/station_objects/window/reinforced/WIN = new/obj/station_objects/window/reinforced(get_turf(object))
|
||||
WIN.dir = NORTHWEST
|
||||
if(2)
|
||||
if(pa.Find("left"))
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
#define CYBER 1
|
||||
#define SPELL 2
|
||||
|
||||
/obj/organstructure //used obj for the "contents" var
|
||||
/obj/effects/organstructure //used obj for the "contents" var
|
||||
name = "organs"
|
||||
|
||||
var/obj/item/weapon/cell/mainPowerCell = null //for ease of refernce for installed c. implants
|
||||
var/species = "mob" //for speaking in unknown languages purposes
|
||||
|
||||
var/obj/organ/limb/arms/arms = null
|
||||
var/obj/organ/limb/legs/legs = null
|
||||
var/obj/organ/chest/chest = null
|
||||
var/obj/effects/organ/limb/arms/arms = null
|
||||
var/obj/effects/organ/limb/legs/legs = null
|
||||
var/obj/effects/organ/chest/chest = null
|
||||
|
||||
proc/FindMainPowercell()
|
||||
if(chest) //priority goes to chest implant, if there is one
|
||||
@@ -20,7 +20,7 @@
|
||||
mainPowerCell = chest.cell
|
||||
return
|
||||
var/list/organs = GetAllContents()
|
||||
for(var/obj/organ/otherOrgan in organs) //otherwise, maybe some other organ fits the criteria?
|
||||
for(var/obj/effects/organ/otherOrgan in organs) //otherwise, maybe some other organ fits the criteria?
|
||||
if((otherOrgan.organType & CYBER) && otherOrgan.canExportPower && otherOrgan.cell)
|
||||
mainPowerCell = otherOrgan:cell
|
||||
return
|
||||
@@ -30,7 +30,7 @@
|
||||
proc/GetSpeciesName()
|
||||
var/list/speciesPresent = list()
|
||||
|
||||
for(var/obj/organ/organ in src) //only external organs count, since it's judging by the appearance
|
||||
for(var/obj/effects/organ/organ in src) //only external organs count, since it's judging by the appearance
|
||||
if(speciesPresent[organ.species])
|
||||
speciesPresent[organ.species]++
|
||||
else
|
||||
@@ -57,9 +57,9 @@
|
||||
proc/RecalculateStructure()
|
||||
var/list/organs = GetAllContents()
|
||||
|
||||
arms = locate(/obj/organ/limb/arms) in organs
|
||||
legs = locate(/obj/organ/limb/legs) in organs
|
||||
chest = locate(/obj/organ/chest) in organs
|
||||
arms = locate(/obj/effects/organ/limb/arms) in organs
|
||||
legs = locate(/obj/effects/organ/limb/legs) in organs
|
||||
chest = locate(/obj/effects/organ/chest) in organs
|
||||
|
||||
GetSpeciesName()
|
||||
FindMainPowercell()
|
||||
@@ -70,7 +70,7 @@
|
||||
set background = 1
|
||||
|
||||
var/list/organs = GetAllContents()
|
||||
for(var/obj/organ/organ in organs)
|
||||
for(var/obj/effects/organ/organ in organs)
|
||||
organ.ProcessOrgan()
|
||||
|
||||
return
|
||||
@@ -79,31 +79,31 @@
|
||||
..()
|
||||
RecalculateStructure()
|
||||
|
||||
/obj/organstructure/human
|
||||
/obj/effects/organstructure/human
|
||||
name = "human organs"
|
||||
|
||||
New()
|
||||
//new /obj/organ/limb/arms/human(src)
|
||||
//new /obj/organ/limb/legs/human(src)
|
||||
new /obj/organ/chest/human(src)
|
||||
//new /obj/effects/organ/limb/arms/human(src)
|
||||
//new /obj/effects/organ/limb/legs/human(src)
|
||||
new /obj/effects/organ/chest/human(src)
|
||||
..()
|
||||
|
||||
/obj/organstructure/cyber
|
||||
/obj/effects/organstructure/cyber
|
||||
name = "cyborg organs"
|
||||
|
||||
New()
|
||||
//new /obj/organ/limb/arms/cyber(src)
|
||||
//new /obj/organ/limb/legs/cyber(src)
|
||||
new /obj/organ/chest/cyber(src)
|
||||
//new /obj/effects/organ/limb/arms/cyber(src)
|
||||
//new /obj/effects/organ/limb/legs/cyber(src)
|
||||
new /obj/effects/organ/chest/cyber(src)
|
||||
..()
|
||||
|
||||
/obj/organ
|
||||
/obj/effects/organ
|
||||
name = "organ"
|
||||
|
||||
//All types
|
||||
var/organType = 0 //CYBER and SPELL go here
|
||||
var/species = "mob"
|
||||
var/obj/organstructure/rootOrganStructure = null
|
||||
var/obj/effects/organstructure/rootOrganStructure = null
|
||||
|
||||
New(location)
|
||||
..()
|
||||
@@ -111,10 +111,10 @@
|
||||
rootOrganStructure = FindRootStructure()
|
||||
|
||||
proc/FindRootStructure()
|
||||
if(istype(loc,/obj/organ))
|
||||
var/obj/organ/parent = loc
|
||||
if(istype(loc,/obj/effects/organ))
|
||||
var/obj/effects/organ/parent = loc
|
||||
return parent.FindRootStructure()
|
||||
else if(istype(loc,/obj/organstructure))
|
||||
else if(istype(loc,/obj/effects/organstructure))
|
||||
return loc
|
||||
return null
|
||||
|
||||
@@ -159,23 +159,23 @@
|
||||
active = 0
|
||||
return
|
||||
|
||||
/obj/organ/limb
|
||||
/obj/effects/organ/limb
|
||||
name = "limb"
|
||||
|
||||
/obj/organ/limb/arms
|
||||
/obj/effects/organ/limb/arms
|
||||
name = "arms"
|
||||
|
||||
var/minDamage = 5 //punching damage
|
||||
var/maxDamage = 5
|
||||
// var/strangleDelay = 1 //The code is a bit too complicated for that right now
|
||||
|
||||
/obj/organ/limb/arms/human
|
||||
/obj/effects/organ/limb/arms/human
|
||||
name = "human arms"
|
||||
species = "human"
|
||||
minDamage = 1
|
||||
maxDamage = 9
|
||||
|
||||
/obj/organ/limb/arms/cyber
|
||||
/obj/effects/organ/limb/arms/cyber
|
||||
name = "cyborg arms"
|
||||
species = "cyborg"
|
||||
organType = CYBER
|
||||
@@ -192,18 +192,18 @@
|
||||
maxDamage = 3
|
||||
|
||||
|
||||
/obj/organ/limb/legs
|
||||
/obj/effects/organ/limb/legs
|
||||
name = "legs"
|
||||
|
||||
var/moveRunDelay = 1 //not sure about how that works
|
||||
var/moveWalkDelay = 7
|
||||
//var/knockdownResist = 0
|
||||
|
||||
/obj/organ/limb/legs/human
|
||||
/obj/effects/organ/limb/legs/human
|
||||
name = "human legs"
|
||||
species = "human"
|
||||
|
||||
/obj/organ/limb/legs/cyber
|
||||
/obj/effects/organ/limb/legs/cyber
|
||||
name = "cyborg legs"
|
||||
species = "cyborg"
|
||||
organType = CYBER
|
||||
@@ -220,21 +220,21 @@
|
||||
moveWalkDelay = 10
|
||||
|
||||
|
||||
/obj/organ/chest
|
||||
/obj/effects/organ/chest
|
||||
name = "chest"
|
||||
var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later
|
||||
|
||||
/obj/organ/chest/human
|
||||
/obj/effects/organ/chest/human
|
||||
name = "human chest"
|
||||
species = "human"
|
||||
maxHealth = 100
|
||||
|
||||
New()
|
||||
..()
|
||||
new /obj/organ/limb/arms/human(src)
|
||||
new /obj/organ/limb/legs/human(src)
|
||||
new /obj/effects/organ/limb/arms/human(src)
|
||||
new /obj/effects/organ/limb/legs/human(src)
|
||||
|
||||
/obj/organ/chest/cyber
|
||||
/obj/effects/organ/chest/cyber
|
||||
name = "cyborg chest"
|
||||
species = "cyborg"
|
||||
organType = CYBER
|
||||
@@ -245,8 +245,8 @@
|
||||
..()
|
||||
cell = new /obj/item/weapon/cell/high(src)
|
||||
cell.charge = cell.maxcharge
|
||||
new /obj/organ/limb/arms/cyber(src)
|
||||
new /obj/organ/limb/legs/cyber(src)
|
||||
new /obj/effects/organ/limb/arms/cyber(src)
|
||||
new /obj/effects/organ/limb/legs/cyber(src)
|
||||
|
||||
Activate()
|
||||
..()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Disposal pipe construction
|
||||
|
||||
/obj/disposalconstruct
|
||||
/obj/station_objects/disposalconstruct
|
||||
|
||||
name = "disposal pipe segment"
|
||||
desc = "A huge pipe segment used for constructing disposal systems."
|
||||
@@ -88,11 +88,11 @@
|
||||
proc/dpipetype()
|
||||
switch(ptype)
|
||||
if(0,1)
|
||||
return /obj/disposalpipe/segment
|
||||
return /obj/station_objects/disposalpipe/segment
|
||||
if(2,3,4)
|
||||
return /obj/disposalpipe/junction
|
||||
return /obj/station_objects/disposalpipe/junction
|
||||
if(5)
|
||||
return /obj/disposalpipe/trunk
|
||||
return /obj/station_objects/disposalpipe/trunk
|
||||
return
|
||||
|
||||
|
||||
@@ -107,11 +107,11 @@
|
||||
user << "You can only attach the pipe if the floor plating is removed."
|
||||
return
|
||||
|
||||
var/obj/disposalpipe/CP = locate() in T
|
||||
var/obj/station_objects/disposalpipe/CP = locate() in T
|
||||
if(CP)
|
||||
update()
|
||||
var/pdir = CP.dpdir
|
||||
if(istype(CP, /obj/disposalpipe/broken))
|
||||
if(istype(CP, /obj/station_objects/disposalpipe/broken))
|
||||
pdir = CP.dir
|
||||
if(pdir & dpdir)
|
||||
user << "There is already a pipe at that location."
|
||||
@@ -139,7 +139,7 @@
|
||||
if(do_after(user, 20))
|
||||
update()
|
||||
var/pipetype = dpipetype()
|
||||
var/obj/disposalpipe/P = new pipetype(src.loc)
|
||||
var/obj/station_objects/disposalpipe/P = new pipetype(src.loc)
|
||||
P.base_icon_state = base_state
|
||||
P.dir = dir
|
||||
P.dpdir = dpdir
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
var/datum/gas_mixture/air_contents // internal reservoir
|
||||
var/mode = 1 // item mode 0=off 1=charging 2=charged
|
||||
var/flush = 0 // true if flush handle is pulled
|
||||
var/obj/disposalpipe/trunk/trunk = null // the attached pipe trunk
|
||||
var/obj/station_objects/disposalpipe/trunk/trunk = null // the attached pipe trunk
|
||||
var/flushing = 0 // true if flushing in progress
|
||||
|
||||
// create a new disposal
|
||||
@@ -307,7 +307,7 @@
|
||||
flushing = 1
|
||||
flick("disposal-flush", src)
|
||||
|
||||
var/obj/disposalholder/H = new() // virtual holder object which actually
|
||||
var/obj/station_objects/disposalholder/H = new() // virtual holder object which actually
|
||||
// travels through the pipes.
|
||||
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
|
||||
// called when holder is expelled from a disposal
|
||||
// should usually only occur if the pipe network is modified
|
||||
proc/expel(var/obj/disposalholder/H)
|
||||
proc/expel(var/obj/station_objects/disposalholder/H)
|
||||
|
||||
var/turf/target
|
||||
playsound(src, 'hiss.ogg', 50, 0, 0)
|
||||
@@ -432,7 +432,7 @@
|
||||
|
||||
flush()
|
||||
flick("toilet-flush", src)
|
||||
var/obj/disposalholder/H = new()
|
||||
var/obj/station_objects/disposalholder/H = new()
|
||||
H.init(src)
|
||||
sleep(10)
|
||||
playsound(src, 'disposalflush.ogg', 50, 0, 0)
|
||||
@@ -447,7 +447,7 @@
|
||||
// contents will be items flushed by the disposal
|
||||
// this allows the gas flushed to be tracked
|
||||
|
||||
/obj/disposalholder
|
||||
/obj/station_objects/disposalholder
|
||||
invisibility = 101
|
||||
var/datum/gas_mixture/gas = null // gas used to flush, will appear at exit point
|
||||
var/active = 0 // true if the holder is moving, otherwise inactive
|
||||
@@ -470,8 +470,8 @@
|
||||
var/mob/living/carbon/human/H = AM
|
||||
if(H.mutations & FAT) // is a human and fat?
|
||||
has_fat_guy = 1 // set flag on holder
|
||||
if(istype(AM, /obj/bigDelivery))
|
||||
var/obj/bigDelivery/T = AM
|
||||
if(istype(AM, /obj/effects/bigDelivery))
|
||||
var/obj/effects/bigDelivery/T = AM
|
||||
src.destinationTag = T.sortTag
|
||||
if(istype(AM, /obj/item/smallDelivery))
|
||||
var/obj/item/smallDelivery/T = AM
|
||||
@@ -495,7 +495,7 @@
|
||||
|
||||
// movement process, persists while holder is moving through pipes
|
||||
process()
|
||||
var/obj/disposalpipe/last
|
||||
var/obj/station_objects/disposalpipe/last
|
||||
while(active)
|
||||
if(has_fat_guy && prob(2)) // chance of becoming stuck per segment if contains a fat guy
|
||||
active = 0
|
||||
@@ -504,7 +504,7 @@
|
||||
|
||||
break
|
||||
sleep(1) // was 1
|
||||
var/obj/disposalpipe/curr = loc
|
||||
var/obj/station_objects/disposalpipe/curr = loc
|
||||
last = curr
|
||||
curr = curr.transfer(src)
|
||||
if(!curr)
|
||||
@@ -528,7 +528,7 @@
|
||||
return null
|
||||
|
||||
var/fdir = turn(dir, 180) // flip the movement direction
|
||||
for(var/obj/disposalpipe/P in T)
|
||||
for(var/obj/station_objects/disposalpipe/P in T)
|
||||
if(fdir & P.dpdir) // find pipe direction mask that matches flipped dir
|
||||
return P
|
||||
// if no matching pipe, return null
|
||||
@@ -536,7 +536,7 @@
|
||||
|
||||
// merge two holder objects
|
||||
// used when a a holder meets a stuck holder
|
||||
proc/merge(var/obj/disposalholder/other)
|
||||
proc/merge(var/obj/station_objects/disposalholder/other)
|
||||
for(var/atom/movable/AM in other)
|
||||
AM.loc = src // move everything in other holder to this one
|
||||
if(ismob(AM))
|
||||
@@ -566,7 +566,7 @@
|
||||
|
||||
// Disposal pipes
|
||||
|
||||
/obj/disposalpipe
|
||||
/obj/station_objects/disposalpipe
|
||||
icon = 'disposal.dmi'
|
||||
name = "disposal pipe"
|
||||
desc = "An underfloor disposal pipe."
|
||||
@@ -590,7 +590,7 @@
|
||||
// pipe is deleted
|
||||
// ensure if holder is present, it is expelled
|
||||
Del()
|
||||
var/obj/disposalholder/H = locate() in src
|
||||
var/obj/station_objects/disposalholder/H = locate() in src
|
||||
if(H)
|
||||
// holder was present
|
||||
H.active = 0
|
||||
@@ -618,15 +618,15 @@
|
||||
// transfer the holder through this pipe segment
|
||||
// overriden for special behaviour
|
||||
//
|
||||
proc/transfer(var/obj/disposalholder/H)
|
||||
proc/transfer(var/obj/station_objects/disposalholder/H)
|
||||
var/nextdir = nextdir(H.dir)
|
||||
H.dir = nextdir
|
||||
var/turf/T = H.nextloc()
|
||||
var/obj/disposalpipe/P = H.findpipe(T)
|
||||
var/obj/station_objects/disposalpipe/P = H.findpipe(T)
|
||||
|
||||
if(P)
|
||||
// find other holder in next loc, if inactive merge it with current
|
||||
var/obj/disposalholder/H2 = locate() in P
|
||||
var/obj/station_objects/disposalholder/H2 = locate() in P
|
||||
if(H2 && !H2.active)
|
||||
H.merge(H2)
|
||||
|
||||
@@ -665,7 +665,7 @@
|
||||
// called when there is a break in the pipe
|
||||
//
|
||||
|
||||
proc/expel(var/obj/disposalholder/H, var/turf/T, var/direction)
|
||||
proc/expel(var/obj/station_objects/disposalholder/H, var/turf/T, var/direction)
|
||||
|
||||
var/turf/target
|
||||
|
||||
@@ -723,11 +723,11 @@
|
||||
if(remains)
|
||||
for(var/D in cardinal)
|
||||
if(D & dpdir)
|
||||
var/obj/disposalpipe/broken/P = new(src.loc)
|
||||
var/obj/station_objects/disposalpipe/broken/P = new(src.loc)
|
||||
P.dir = D
|
||||
|
||||
src.invisibility = 101 // make invisible (since we won't delete the pipe immediately)
|
||||
var/obj/disposalholder/H = locate() in src
|
||||
var/obj/station_objects/disposalholder/H = locate() in src
|
||||
if(H)
|
||||
// holder was present
|
||||
H.active = 0
|
||||
@@ -807,7 +807,7 @@
|
||||
// called when pipe is cut with welder
|
||||
proc/welded()
|
||||
|
||||
var/obj/disposalconstruct/C = new (src.loc)
|
||||
var/obj/station_objects/disposalconstruct/C = new (src.loc)
|
||||
switch(base_icon_state)
|
||||
if("pipe-s")
|
||||
C.ptype = 0
|
||||
@@ -829,11 +829,11 @@
|
||||
|
||||
// *** TEST verb
|
||||
//client/verb/dispstop()
|
||||
// for(var/obj/disposalholder/H in world)
|
||||
// for(var/obj/station_objects/disposalholder/H in world)
|
||||
// H.active = 0
|
||||
|
||||
// a straight or bent segment
|
||||
/obj/disposalpipe/segment
|
||||
/obj/station_objects/disposalpipe/segment
|
||||
icon_state = "pipe-s"
|
||||
|
||||
New()
|
||||
@@ -850,7 +850,7 @@
|
||||
|
||||
|
||||
//a three-way junction with dir being the dominant direction
|
||||
/obj/disposalpipe/junction
|
||||
/obj/station_objects/disposalpipe/junction
|
||||
icon_state = "pipe-j1"
|
||||
|
||||
New()
|
||||
@@ -894,7 +894,7 @@
|
||||
return mask & (~setbit)
|
||||
|
||||
//a three-way junction that sorts objects
|
||||
/obj/disposalpipe/sortjunction
|
||||
/obj/station_objects/disposalpipe/sortjunction
|
||||
|
||||
desc = "An underfloor disposal pipe with a package sorting mechanism."
|
||||
icon_state = "pipe-j1s"
|
||||
@@ -936,15 +936,15 @@
|
||||
// so go with the flow to positive direction
|
||||
return posdir
|
||||
|
||||
transfer(var/obj/disposalholder/H)
|
||||
transfer(var/obj/station_objects/disposalholder/H)
|
||||
var/nextdir = nextdir(H.dir, H.destinationTag)
|
||||
H.dir = nextdir
|
||||
var/turf/T = H.nextloc()
|
||||
var/obj/disposalpipe/P = H.findpipe(T)
|
||||
var/obj/station_objects/disposalpipe/P = H.findpipe(T)
|
||||
|
||||
if(P)
|
||||
// find other holder in next loc, if inactive merge it with current
|
||||
var/obj/disposalholder/H2 = locate() in P
|
||||
var/obj/station_objects/disposalholder/H2 = locate() in P
|
||||
if(H2 && !H2.active)
|
||||
H.merge(H2)
|
||||
|
||||
@@ -960,7 +960,7 @@
|
||||
|
||||
|
||||
//a trunk joining to a disposal bin or outlet on the same turf
|
||||
/obj/disposalpipe/trunk
|
||||
/obj/station_objects/disposalpipe/trunk
|
||||
icon_state = "pipe-t"
|
||||
var/obj/linked // the linked obj/machinery/disposal or obj/disposaloutlet
|
||||
|
||||
@@ -981,7 +981,7 @@
|
||||
if (!D.trunk)
|
||||
D.trunk = src
|
||||
|
||||
var/obj/disposaloutlet/O = locate() in src.loc
|
||||
var/obj/station_objects/disposaloutlet/O = locate() in src.loc
|
||||
if(O)
|
||||
linked = O
|
||||
|
||||
@@ -992,13 +992,13 @@
|
||||
// if not entering from disposal bin,
|
||||
// transfer to linked object (outlet or bin)
|
||||
|
||||
transfer(var/obj/disposalholder/H)
|
||||
transfer(var/obj/station_objects/disposalholder/H)
|
||||
|
||||
if(H.dir == DOWN) // we just entered from a disposer
|
||||
return ..() // so do base transfer proc
|
||||
// otherwise, go to the linked object
|
||||
if(linked)
|
||||
var/obj/disposaloutlet/O = linked
|
||||
var/obj/station_objects/disposaloutlet/O = linked
|
||||
if(istype(O))
|
||||
O.expel(H) // expel at outlet
|
||||
else
|
||||
@@ -1017,7 +1017,7 @@
|
||||
return 0
|
||||
|
||||
// a broken pipe
|
||||
/obj/disposalpipe/broken
|
||||
/obj/station_objects/disposalpipe/broken
|
||||
icon_state = "pipe-b"
|
||||
dpdir = 0 // broken pipes have dpdir=0 so they're not found as 'real' pipes
|
||||
// i.e. will be treated as an empty turf
|
||||
@@ -1038,7 +1038,7 @@
|
||||
|
||||
// the disposal outlet machine
|
||||
|
||||
/obj/disposaloutlet
|
||||
/obj/station_objects/disposaloutlet
|
||||
name = "disposal outlet"
|
||||
desc = "An outlet for the pneumatic disposal system."
|
||||
icon = 'disposal.dmi'
|
||||
@@ -1056,7 +1056,7 @@
|
||||
|
||||
// expel the contents of the holder object, then delete it
|
||||
// called when the holder exits the outlet
|
||||
proc/expel(var/obj/disposalholder/H)
|
||||
proc/expel(var/obj/station_objects/disposalholder/H)
|
||||
|
||||
flick("outlet-open", src)
|
||||
playsound(src, 'warning-buzzer.ogg', 50, 0, 0)
|
||||
@@ -1091,7 +1091,7 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/decal/cleanable/blood/gibs/pipe_eject(var/direction)
|
||||
/obj/effects/decal/cleanable/blood/gibs/pipe_eject(var/direction)
|
||||
var/list/dirs
|
||||
if(direction)
|
||||
dirs = list( direction, turn(direction, -45), turn(direction, 45))
|
||||
@@ -1100,7 +1100,7 @@
|
||||
|
||||
src.streak(dirs)
|
||||
|
||||
/obj/decal/cleanable/robot_debris/gib/pipe_eject(var/direction)
|
||||
/obj/effects/decal/cleanable/robot_debris/gib/pipe_eject(var/direction)
|
||||
var/list/dirs
|
||||
if(direction)
|
||||
dirs = list( direction, turn(direction, -45), turn(direction, 45))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/bigDelivery
|
||||
/obj/effects/bigDelivery
|
||||
desc = "A big wrapped package."
|
||||
name = "large parcel"
|
||||
icon = 'storage.dmi'
|
||||
@@ -13,8 +13,8 @@
|
||||
attack_hand(mob/user as mob)
|
||||
if (src.wrapped) //sometimes items can disappear. For example, bombs. --rastaf0
|
||||
src.wrapped.loc = (get_turf(src.loc))
|
||||
if (istype(src.wrapped,/obj/closet))
|
||||
var/obj/closet/O = src.wrapped
|
||||
if (istype(src.wrapped,/obj/station_objects/closet))
|
||||
var/obj/station_objects/closet/O = src.wrapped
|
||||
O.welded = 0
|
||||
del(src)
|
||||
return
|
||||
@@ -70,19 +70,19 @@
|
||||
P.wrapped = O
|
||||
O.loc = P
|
||||
src.amount -= 1
|
||||
else if (istype(target, /obj/crate))
|
||||
var/obj/crate/O = target
|
||||
else if (istype(target, /obj/station_objects/crate))
|
||||
var/obj/station_objects/crate/O = target
|
||||
if (src.amount > 3)
|
||||
var/obj/bigDelivery/P = new /obj/bigDelivery(get_turf(O.loc))
|
||||
var/obj/effects/bigDelivery/P = new /obj/effects/bigDelivery(get_turf(O.loc))
|
||||
P.wrapped = O
|
||||
O.loc = P
|
||||
src.amount -= 3
|
||||
else
|
||||
user << "\blue You need more paper."
|
||||
else if (istype (target, /obj/closet))
|
||||
var/obj/closet/O = target
|
||||
else if (istype (target, /obj/station_objects/closet))
|
||||
var/obj/station_objects/closet/O = target
|
||||
if (src.amount > 3)
|
||||
var/obj/bigDelivery/P = new /obj/bigDelivery(get_turf(O.loc))
|
||||
var/obj/effects/bigDelivery/P = new /obj/effects/bigDelivery(get_turf(O.loc))
|
||||
P.wrapped = O
|
||||
O.close()
|
||||
O.welded = 1
|
||||
@@ -149,9 +149,9 @@
|
||||
user << "/blue You can only tag properly wrapped delivery packages!"
|
||||
*/
|
||||
attack(target as obj, mob/user as mob)
|
||||
if (istype(target, /obj/bigDelivery))
|
||||
if (istype(target, /obj/effects/bigDelivery))
|
||||
user << "\blue *TAGGED*"
|
||||
var/obj/bigDelivery/O = target
|
||||
var/obj/effects/bigDelivery/O = target
|
||||
O.sortTag = src.currTag
|
||||
else if (istype(target, /obj/item/smallDelivery))
|
||||
user << "\blue *TAGGED*"
|
||||
@@ -183,9 +183,9 @@
|
||||
flushing = 1
|
||||
flick("intake-closing", src)
|
||||
var/deliveryCheck = 0
|
||||
var/obj/disposalholder/H = new() // virtual holder object which actually
|
||||
var/obj/station_objects/disposalholder/H = new() // virtual holder object which actually
|
||||
// travels through the pipes.
|
||||
for(var/obj/bigDelivery/O in src)
|
||||
for(var/obj/effects/bigDelivery/O in src)
|
||||
deliveryCheck = 1
|
||||
if(O.sortTag == 0)
|
||||
O.sortTag = 1
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A )
|
||||
for (var/obj/C in src)
|
||||
@@ -29,7 +29,7 @@
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/diseasesplicer/M = new /obj/item/weapon/circuitboard/diseasesplicer( A )
|
||||
for (var/obj/C in src)
|
||||
@@ -34,7 +34,7 @@
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/diseasesplicer/M = new /obj/item/weapon/circuitboard/diseasesplicer( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/obj/proc_holder
|
||||
/obj/effects/proc_holder
|
||||
var/panel = "Debug"//What panel the proc holder needs to go on.
|
||||
|
||||
var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb for now
|
||||
var/list/spells = typesof(/obj/effects/proc_holder/spell) //needed for the badmin verb for now
|
||||
|
||||
/obj/proc_holder/spell
|
||||
/obj/effects/proc_holder/spell
|
||||
name = "Spell"
|
||||
desc = "A wizard spell"
|
||||
density = 0
|
||||
@@ -33,7 +33,7 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
|
||||
var/critfailchance = 0
|
||||
|
||||
/obj/proc_holder/spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
|
||||
/obj/effects/proc_holder/spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
|
||||
|
||||
if(!(src in usr.spell_list))
|
||||
usr << "\red You shouldn't have this spell! Something's wrong."
|
||||
@@ -74,7 +74,7 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
|
||||
return 1
|
||||
|
||||
/obj/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount
|
||||
/obj/effects/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount
|
||||
|
||||
switch(invocation_type)
|
||||
if("shout")
|
||||
@@ -86,12 +86,12 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
if("whisper")
|
||||
usr.whisper(invocation)
|
||||
|
||||
/obj/proc_holder/spell/New()
|
||||
/obj/effects/proc_holder/spell/New()
|
||||
..()
|
||||
|
||||
charge_counter = charge_max
|
||||
|
||||
/obj/proc_holder/spell/Click()
|
||||
/obj/effects/proc_holder/spell/Click()
|
||||
..()
|
||||
|
||||
if(!cast_check())
|
||||
@@ -99,15 +99,15 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
|
||||
choose_targets()
|
||||
|
||||
/obj/proc_holder/spell/proc/choose_targets(mob/user = usr) //depends on subtype - /targeted or /aoe_turf
|
||||
/obj/effects/proc_holder/spell/proc/choose_targets(mob/user = usr) //depends on subtype - /targeted or /aoe_turf
|
||||
return
|
||||
|
||||
/obj/proc_holder/spell/proc/start_recharge()
|
||||
/obj/effects/proc_holder/spell/proc/start_recharge()
|
||||
while(charge_counter < charge_max)
|
||||
sleep(1)
|
||||
charge_counter++
|
||||
|
||||
/obj/proc_holder/spell/proc/perform(list/targets, recharge = 1) //if recharge is started is important for the trigger spells
|
||||
/obj/effects/proc_holder/spell/proc/perform(list/targets, recharge = 1) //if recharge is started is important for the trigger spells
|
||||
before_cast(targets)
|
||||
invocation()
|
||||
spawn(0)
|
||||
@@ -119,7 +119,7 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
cast(targets)
|
||||
after_cast(targets)
|
||||
|
||||
/obj/proc_holder/spell/proc/before_cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/proc/before_cast(list/targets)
|
||||
if(overlay)
|
||||
for(var/atom/target in targets)
|
||||
var/location
|
||||
@@ -127,7 +127,7 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
location = target.loc
|
||||
else if(istype(target,/turf))
|
||||
location = target
|
||||
var/obj/overlay/spell = new /obj/overlay(location)
|
||||
var/obj/effects/overlay/spell = new /obj/effects/overlay(location)
|
||||
spell.icon = overlay_icon
|
||||
spell.icon_state = overlay_icon_state
|
||||
spell.anchored = 1
|
||||
@@ -135,7 +135,7 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
spawn(overlay_lifespan)
|
||||
del(spell)
|
||||
|
||||
/obj/proc_holder/spell/proc/after_cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/proc/after_cast(list/targets)
|
||||
for(var/atom/target in targets)
|
||||
var/location
|
||||
if(istype(target,/mob))
|
||||
@@ -158,13 +158,13 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
smoke.set_up(smoke_amt, 0, location) //no idea what the 0 is
|
||||
smoke.start()
|
||||
|
||||
/obj/proc_holder/spell/proc/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/proc/cast(list/targets)
|
||||
return
|
||||
|
||||
/obj/proc_holder/spell/proc/critfail(list/targets)
|
||||
/obj/effects/proc_holder/spell/proc/critfail(list/targets)
|
||||
return
|
||||
|
||||
/obj/proc_holder/spell/proc/revert_cast() //resets recharge or readds a charge
|
||||
/obj/effects/proc_holder/spell/proc/revert_cast() //resets recharge or readds a charge
|
||||
switch(charge_type)
|
||||
if("recharge")
|
||||
charge_counter = charge_max
|
||||
@@ -174,15 +174,15 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
return
|
||||
|
||||
|
||||
/obj/proc_holder/spell/targeted //can mean aoe for mobs (limited/unlimited number) or one target mob
|
||||
/obj/effects/proc_holder/spell/targeted //can mean aoe for mobs (limited/unlimited number) or one target mob
|
||||
var/max_targets = 1 //leave 0 for unlimited targets in range, 1 for one selectable target in range, more for limited number of casts (can all target one guy, depends on target_ignore_prev) in range
|
||||
var/target_ignore_prev = 1 //only important if max_targets > 1, affects if the spell can be cast multiple times at one person from one cast
|
||||
var/include_user = 0 //if it includes usr in the target list
|
||||
|
||||
/obj/proc_holder/spell/aoe_turf //affects all turfs in view or range (depends)
|
||||
/obj/effects/proc_holder/spell/aoe_turf //affects all turfs in view or range (depends)
|
||||
var/inner_radius = -1 //for all your ring spell needs
|
||||
|
||||
/obj/proc_holder/spell/targeted/choose_targets(mob/user = usr)
|
||||
/obj/effects/proc_holder/spell/targeted/choose_targets(mob/user = usr)
|
||||
var/list/targets = list()
|
||||
|
||||
switch(selection_type)
|
||||
@@ -250,7 +250,7 @@ var/list/spells = typesof(/obj/proc_holder/spell) //needed for the badmin verb f
|
||||
|
||||
return
|
||||
|
||||
/obj/proc_holder/spell/aoe_turf/choose_targets(mob/user = usr)
|
||||
/obj/effects/proc_holder/spell/aoe_turf/choose_targets(mob/user = usr)
|
||||
var/list/targets = list()
|
||||
|
||||
switch(selection_type)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/obj/proc_holder/spell/targeted/area_teleport
|
||||
/obj/effects/proc_holder/spell/targeted/area_teleport
|
||||
name = "Area teleport"
|
||||
desc = "This spell teleports you to a type of area of your selection."
|
||||
|
||||
var/randomise_selection = 0 //if it lets the usr choose the teleport loc or picks it from the list
|
||||
var/invocation_area = 1 //if the invocation appends the selected area
|
||||
|
||||
/obj/proc_holder/spell/targeted/area_teleport/perform(list/targets, recharge = 1)
|
||||
/obj/effects/proc_holder/spell/targeted/area_teleport/perform(list/targets, recharge = 1)
|
||||
var/thearea = before_cast(targets)
|
||||
if(!thearea || !cast_check(1))
|
||||
revert_cast()
|
||||
@@ -17,7 +17,7 @@
|
||||
cast(targets,thearea)
|
||||
after_cast(targets)
|
||||
|
||||
/obj/proc_holder/spell/targeted/area_teleport/before_cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/targeted/area_teleport/before_cast(list/targets)
|
||||
var/A = null
|
||||
|
||||
if(!randomise_selection)
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
return thearea
|
||||
|
||||
/obj/proc_holder/spell/targeted/area_teleport/cast(list/targets,area/thearea)
|
||||
/obj/effects/proc_holder/spell/targeted/area_teleport/cast(list/targets,area/thearea)
|
||||
for(var/mob/target in targets)
|
||||
var/list/L = list()
|
||||
for(var/turf/T in get_area_turfs(thearea.type))
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/proc_holder/spell/targeted/area_teleport/invocation(area/chosenarea = null)
|
||||
/obj/effects/proc_holder/spell/targeted/area_teleport/invocation(area/chosenarea = null)
|
||||
if(!invocation_area || !chosenarea)
|
||||
..()
|
||||
else
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/aoe_turf/conjure
|
||||
/obj/effects/proc_holder/spell/aoe_turf/conjure
|
||||
name = "Conjure"
|
||||
desc = "This spell conjures objs of the specified types in range."
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
var/list/newVars = list() //vars of the summoned objects will be replaced with those where they meet
|
||||
//should have format of list("emagged" = 1,"name" = "Wizard's Justicebot"), for example
|
||||
|
||||
/obj/proc_holder/spell/aoe_turf/conjure/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/aoe_turf/conjure/cast(list/targets)
|
||||
|
||||
for(var/turf/T in targets)
|
||||
if(T.density && !summon_ignore_density)
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/proc_holder/spell/aoe_turf/conjure/summonEdSwarm //test purposes
|
||||
/obj/effects/proc_holder/spell/aoe_turf/conjure/summonEdSwarm //test purposes
|
||||
name = "Dispense Wizard Justice"
|
||||
desc = "This spell dispenses wizard justice."
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/obj/proc_holder/spell/targeted/emplosion
|
||||
/obj/effects/proc_holder/spell/targeted/emplosion
|
||||
name = "Emplosion"
|
||||
desc = "This spell emplodes an area."
|
||||
|
||||
var/emp_heavy = 2
|
||||
var/emp_light = 3
|
||||
|
||||
/obj/proc_holder/spell/targeted/emplosion/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/targeted/emplosion/cast(list/targets)
|
||||
|
||||
for(var/mob/target in targets)
|
||||
empulse(target.loc, emp_heavy, emp_light)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/ethereal_jaunt
|
||||
/obj/effects/proc_holder/spell/targeted/ethereal_jaunt
|
||||
name = "Ethereal Jaunt"
|
||||
desc = "This spell creates your ethereal form, temporarily making you invisible and able to pass through walls."
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
|
||||
var/jaunt_duration = 50 //in deciseconds
|
||||
|
||||
/obj/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
|
||||
/obj/effects/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
|
||||
for(var/mob/target in targets)
|
||||
spawn(0)
|
||||
var/mobloc = get_turf(target.loc)
|
||||
var/obj/dummy/spell_jaunt/holder = new /obj/dummy/spell_jaunt( mobloc )
|
||||
var/obj/effects/dummy/spell_jaunt/holder = new /obj/effects/dummy/spell_jaunt( mobloc )
|
||||
var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc )
|
||||
animation.name = "water"
|
||||
animation.density = 0
|
||||
@@ -46,7 +46,7 @@
|
||||
del(animation)
|
||||
del(holder)
|
||||
|
||||
/obj/dummy/spell_jaunt
|
||||
/obj/effects/dummy/spell_jaunt
|
||||
name = "water"
|
||||
icon = 'effects.dmi'
|
||||
icon_state = "nothing"
|
||||
@@ -54,7 +54,7 @@
|
||||
density = 0
|
||||
anchored = 1
|
||||
|
||||
/obj/dummy/spell_jaunt/relaymove(var/mob/user, direction)
|
||||
/obj/effects/dummy/spell_jaunt/relaymove(var/mob/user, direction)
|
||||
if (!src.canmove) return
|
||||
var/turf/newLoc = get_step(src,direction)
|
||||
if(!(newLoc.flags & NOJAUNT))
|
||||
@@ -84,7 +84,7 @@
|
||||
src.canmove = 0
|
||||
spawn(2) src.canmove = 1
|
||||
|
||||
/obj/dummy/spell_jaunt/ex_act(blah)
|
||||
/obj/effects/dummy/spell_jaunt/ex_act(blah)
|
||||
return
|
||||
/obj/dummy/spell_jaunt/bullet_act(blah)
|
||||
/obj/effects/dummy/spell_jaunt/bullet_act(blah)
|
||||
return
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/explosion
|
||||
/obj/effects/proc_holder/spell/targeted/explosion
|
||||
name = "Explosion"
|
||||
desc = "This spell explodes an area."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
var/ex_light = 3
|
||||
var/ex_flash = 4
|
||||
|
||||
/obj/proc_holder/spell/targeted/explosion/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/targeted/explosion/cast(list/targets)
|
||||
|
||||
for(var/mob/target in targets)
|
||||
explosion(target.loc,ex_severe,ex_heavy,ex_light,ex_flash)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/genetic
|
||||
/obj/effects/proc_holder/spell/targeted/genetic
|
||||
name = "Genetic"
|
||||
desc = "This spell inflicts a set of mutations and disabilities upon the target."
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
6th bit - fat
|
||||
*/
|
||||
|
||||
/obj/proc_holder/spell/targeted/genetic/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/targeted/genetic/cast(list/targets)
|
||||
|
||||
for(var/mob/target in targets)
|
||||
target.mutations |= mutations
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/inflict_handler
|
||||
/obj/effects/proc_holder/spell/targeted/inflict_handler
|
||||
name = "Inflict Handler"
|
||||
desc = "This spell blinds and/or destroys/damages/heals and/or weakens/stuns the target."
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
var/destroys = "none" //can be "none", "gib" or "disintegrate"
|
||||
|
||||
/obj/proc_holder/spell/targeted/inflict_handler/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/targeted/inflict_handler/cast(list/targets)
|
||||
|
||||
for(var/mob/living/target in targets)
|
||||
switch(destroys)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/aoe_turf/knock
|
||||
/obj/effects/proc_holder/spell/aoe_turf/knock
|
||||
name = "Knock"
|
||||
desc = "This spell opens nearby doors and does not require wizard garb."
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
invocation_type = "whisper"
|
||||
range = 3
|
||||
|
||||
/obj/proc_holder/spell/aoe_turf/knock/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/aoe_turf/knock/cast(list/targets)
|
||||
for(var/turf/T in targets)
|
||||
for(var/obj/machinery/door/door in T.contents)
|
||||
spawn(1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/mind_transfer
|
||||
/obj/effects/proc_holder/spell/targeted/mind_transfer
|
||||
name = "Mind Transfer"
|
||||
desc = "This spell allows the user to switch bodies with a target."
|
||||
|
||||
@@ -22,7 +22,7 @@ Urist: I don't feel like figuring out how you store object spells so I'm leaving
|
||||
Make sure spells that are removed from spell_list are actually removed and deleted when mind transfering.
|
||||
Also, you never added distance checking after target is selected. I've went ahead and did that.
|
||||
*/
|
||||
/obj/proc_holder/spell/targeted/mind_transfer/cast(list/targets,mob/user = usr)
|
||||
/obj/effects/proc_holder/spell/targeted/mind_transfer/cast(list/targets,mob/user = usr)
|
||||
if(!targets.len)
|
||||
user << "No mind found."
|
||||
return
|
||||
@@ -61,7 +61,7 @@ Also, you never added distance checking after target is selected. I've went ahea
|
||||
|
||||
//SPELL LOSS BEGIN
|
||||
//NOTE: The caster must ALWAYS keep mind transfer, even when other spells are lost.
|
||||
var/obj/proc_holder/spell/targeted/mind_transfer/m_transfer = locate() in user.spell_list//Find mind transfer directly.
|
||||
var/obj/effects/proc_holder/spell/targeted/mind_transfer/m_transfer = locate() in user.spell_list//Find mind transfer directly.
|
||||
var/list/checked_spells = user.spell_list
|
||||
checked_spells -= m_transfer //Remove Mind Transfer from the list.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/projectile
|
||||
/obj/effects/proc_holder/spell/targeted/projectile
|
||||
name = "Projectile"
|
||||
desc = "This spell summons projectiles which try to hit the targets."
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/proj_trail_icon = 'wizard.dmi'
|
||||
var/proj_trail_icon_state = "trail"
|
||||
|
||||
var/proj_type = "/obj/proc_holder/spell/targeted" //IMPORTANT use only subtypes of this
|
||||
var/proj_type = "/obj/effects/proc_holder/spell/targeted" //IMPORTANT use only subtypes of this
|
||||
|
||||
var/proj_lingering = 0 //if it lingers or disappears upon hitting an obstacle
|
||||
var/proj_homing = 1 //if it follows the target
|
||||
@@ -21,16 +21,16 @@
|
||||
var/proj_lifespan = 15 //in deciseconds * proj_step_delay
|
||||
var/proj_step_delay = 1 //lower = faster
|
||||
|
||||
/obj/proc_holder/spell/targeted/projectile/cast(list/targets, mob/user = usr)
|
||||
/obj/effects/proc_holder/spell/targeted/projectile/cast(list/targets, mob/user = usr)
|
||||
|
||||
for(var/mob/target in targets)
|
||||
spawn(0)
|
||||
var/obj/proc_holder/spell/targeted/projectile
|
||||
var/obj/effects/proc_holder/spell/targeted/projectile
|
||||
if(istext(proj_type))
|
||||
var/projectile_type = text2path(proj_type)
|
||||
projectile = new projectile_type(user)
|
||||
if(istype(proj_type,/obj/proc_holder/spell))
|
||||
projectile = new /obj/proc_holder/spell/targeted/trigger(user)
|
||||
if(istype(proj_type,/obj/effects/proc_holder/spell))
|
||||
projectile = new /obj/effects/proc_holder/spell/targeted/trigger(user)
|
||||
projectile:linked_spells += proj_type
|
||||
projectile.icon = proj_icon
|
||||
projectile.icon_state = proj_icon_state
|
||||
@@ -62,7 +62,7 @@
|
||||
if(proj_trail && projectile)
|
||||
spawn(0)
|
||||
if(projectile)
|
||||
var/obj/overlay/trail = new /obj/overlay(projectile.loc)
|
||||
var/obj/effects/overlay/trail = new /obj/effects/overlay(projectile.loc)
|
||||
trail.icon = proj_trail_icon
|
||||
trail.icon_state = proj_trail_icon_state
|
||||
trail.density = 0
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
/obj/proc_holder/spell/targeted/trigger
|
||||
/obj/effects/proc_holder/spell/targeted/trigger
|
||||
name = "Trigger"
|
||||
desc = "This spell triggers another spell or a few."
|
||||
|
||||
var/list/linked_spells = list() //those are just referenced by the trigger spell and are unaffected by it directly
|
||||
var/list/starting_spells = list() //those are added on New() to contents from default spells and are deleted when the trigger spell is deleted to prevent memory leaks
|
||||
|
||||
/obj/proc_holder/spell/targeted/trigger/New()
|
||||
/obj/effects/proc_holder/spell/targeted/trigger/New()
|
||||
..()
|
||||
|
||||
for(var/spell in starting_spells)
|
||||
var/spell_to_add = text2path(spell)
|
||||
new spell_to_add(src) //should result in adding to contents, needs testing
|
||||
|
||||
/obj/proc_holder/spell/targeted/trigger/Del()
|
||||
/obj/effects/proc_holder/spell/targeted/trigger/Del()
|
||||
for(var/spell in contents)
|
||||
del(spell)
|
||||
|
||||
..()
|
||||
|
||||
/obj/proc_holder/spell/targeted/trigger/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/targeted/trigger/cast(list/targets)
|
||||
for(var/mob/target in targets)
|
||||
for(var/obj/proc_holder/spell/spell in contents)
|
||||
for(var/obj/effects/proc_holder/spell/spell in contents)
|
||||
spell.perform(list(target),0)
|
||||
for(var/obj/proc_holder/spell/spell in linked_spells)
|
||||
for(var/obj/effects/proc_holder/spell/spell in linked_spells)
|
||||
spell.perform(list(target),0)
|
||||
|
||||
return
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/turf_teleport
|
||||
/obj/effects/proc_holder/spell/targeted/turf_teleport
|
||||
name = "Turf Teleport"
|
||||
desc = "This spell teleports the target to the turf in range."
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/include_space = 0 //whether it includes space tiles in possible teleport locations
|
||||
var/include_dense = 0 //whether it includes dense tiles in possible teleport locations
|
||||
|
||||
/obj/proc_holder/spell/targeted/turf_teleport/cast(list/targets)
|
||||
/obj/effects/proc_holder/spell/targeted/turf_teleport/cast(list/targets)
|
||||
for(var/mob/target in targets)
|
||||
var/list/turfs = new/list()
|
||||
for(var/turf/T in range(target,outer_tele_radius))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/proc_holder/spell/targeted/projectile/magic_missile
|
||||
/obj/effects/proc_holder/spell/targeted/projectile/magic_missile
|
||||
name = "Magic Missile"
|
||||
desc = "This spell fires several, slow moving, magic projectiles at nearby targets."
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
proj_icon_state = "magicm"
|
||||
proj_name = "a magic missile"
|
||||
proj_lingering = 1
|
||||
proj_type = "/obj/proc_holder/spell/targeted/inflict_handler/magic_missile"
|
||||
proj_type = "/obj/effects/proc_holder/spell/targeted/inflict_handler/magic_missile"
|
||||
|
||||
proj_lifespan = 20
|
||||
proj_step_delay = 5
|
||||
@@ -23,11 +23,11 @@
|
||||
proj_trail_lifespan = 5
|
||||
proj_trail_icon_state = "magicmd"
|
||||
|
||||
/obj/proc_holder/spell/targeted/inflict_handler/magic_missile
|
||||
/obj/effects/proc_holder/spell/targeted/inflict_handler/magic_missile
|
||||
amt_weaken = 5
|
||||
amt_dam_fire = 10
|
||||
|
||||
/obj/proc_holder/spell/targeted/genetic/mutate
|
||||
/obj/effects/proc_holder/spell/targeted/genetic/mutate
|
||||
name = "Mutate"
|
||||
desc = "This spell causes you to turn into a hulk and gain laser vision for a short while."
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
mutations = LASER | HULK
|
||||
duration = 300
|
||||
|
||||
/obj/proc_holder/spell/targeted/inflict_handler/disintegrate
|
||||
/obj/effects/proc_holder/spell/targeted/inflict_handler/disintegrate
|
||||
name = "Disintegrate"
|
||||
desc = "This spell instantly kills somebody adjacent to you with the vilest of magick."
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
sparks_spread = 1
|
||||
sparks_amt = 4
|
||||
|
||||
/obj/proc_holder/spell/targeted/smoke
|
||||
/obj/effects/proc_holder/spell/targeted/smoke
|
||||
name = "Smoke"
|
||||
desc = "This spell spawns a cloud of choking smoke at your location and does not require wizard garb."
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
smoke_spread = 2
|
||||
smoke_amt = 10
|
||||
|
||||
/obj/proc_holder/spell/targeted/emplosion/disable_tech
|
||||
/obj/effects/proc_holder/spell/targeted/emplosion/disable_tech
|
||||
name = "Disable Tech"
|
||||
desc = "This spell disables all weapons, cameras and most other technology in range."
|
||||
charge_max = 400
|
||||
@@ -87,7 +87,7 @@
|
||||
emp_heavy = 5
|
||||
emp_light = 7
|
||||
|
||||
/obj/proc_holder/spell/targeted/turf_teleport/blink
|
||||
/obj/effects/proc_holder/spell/targeted/turf_teleport/blink
|
||||
name = "Blink"
|
||||
desc = "This spell randomly teleports you a short distance."
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
inner_tele_radius = 0
|
||||
outer_tele_radius = 6
|
||||
|
||||
/obj/proc_holder/spell/targeted/area_teleport/teleport
|
||||
/obj/effects/proc_holder/spell/targeted/area_teleport/teleport
|
||||
name = "Teleport"
|
||||
desc = "This spell teleports you to a type of area of your selection."
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
smoke_spread = 1
|
||||
smoke_amt = 5
|
||||
|
||||
/obj/proc_holder/spell/aoe_turf/conjure/forcewall
|
||||
/obj/effects/proc_holder/spell/aoe_turf/conjure/forcewall
|
||||
name = "Forcewall"
|
||||
desc = "This spell creates an unbreakable wall that lasts for 30 seconds and does not need wizard garb."
|
||||
|
||||
@@ -131,10 +131,10 @@
|
||||
invocation_type = "whisper"
|
||||
range = 0
|
||||
|
||||
summon_type = list("/obj/forcefield")
|
||||
summon_type = list("/obj/effects/forcefield")
|
||||
summon_lifespan = 300
|
||||
|
||||
/obj/proc_holder/spell/aoe_turf/conjure/carp
|
||||
/obj/effects/proc_holder/spell/aoe_turf/conjure/carp
|
||||
name = "Summon Bigger Carp"
|
||||
desc = "This spell conjures an elite carp."
|
||||
|
||||
@@ -145,9 +145,9 @@
|
||||
invocation_type = "shout"
|
||||
range = 1
|
||||
|
||||
summon_type = list("/obj/critter/spesscarp/elite")
|
||||
summon_type = list("/obj/effects/critter/spesscarp/elite")
|
||||
|
||||
/obj/proc_holder/spell/targeted/trigger/blind
|
||||
/obj/effects/proc_holder/spell/targeted/trigger/blind
|
||||
name = "Blind"
|
||||
desc = "This spell temporarily blinds a single person and does not require wizard garb."
|
||||
|
||||
@@ -158,17 +158,17 @@
|
||||
invocation_type = "whisper"
|
||||
message = "\blue Your eyes cry out in pain!"
|
||||
|
||||
starting_spells = list("/obj/proc_holder/spell/targeted/inflict_handler/blind","/obj/proc_holder/spell/targeted/genetic/blind")
|
||||
starting_spells = list("/obj/effects/proc_holder/spell/targeted/inflict_handler/blind","/obj/effects/proc_holder/spell/targeted/genetic/blind")
|
||||
|
||||
/obj/proc_holder/spell/targeted/inflict_handler/blind
|
||||
/obj/effects/proc_holder/spell/targeted/inflict_handler/blind
|
||||
amt_eye_blind = 10
|
||||
amt_eye_blurry = 20
|
||||
|
||||
/obj/proc_holder/spell/targeted/genetic/blind
|
||||
/obj/effects/proc_holder/spell/targeted/genetic/blind
|
||||
disabilities = 1
|
||||
duration = 300
|
||||
|
||||
/obj/proc_holder/spell/targeted/projectile/fireball
|
||||
/obj/effects/proc_holder/spell/targeted/projectile/fireball
|
||||
name = "Fireball"
|
||||
desc = "This spell fires a fireball at a target and does not require wizard garb."
|
||||
|
||||
@@ -181,19 +181,19 @@
|
||||
proj_icon_state = "fireball"
|
||||
proj_name = "a fireball"
|
||||
proj_lingering = 1
|
||||
proj_type = "/obj/proc_holder/spell/targeted/trigger/fireball"
|
||||
proj_type = "/obj/effects/proc_holder/spell/targeted/trigger/fireball"
|
||||
|
||||
proj_lifespan = 200
|
||||
proj_step_delay = 1
|
||||
|
||||
/obj/proc_holder/spell/targeted/trigger/fireball
|
||||
starting_spells = list("/obj/proc_holder/spell/targeted/inflict_handler/fireball","/obj/proc_holder/spell/targeted/explosion/fireball")
|
||||
/obj/effects/proc_holder/spell/targeted/trigger/fireball
|
||||
starting_spells = list("/obj/effects/proc_holder/spell/targeted/inflict_handler/fireball","/obj/effects/proc_holder/spell/targeted/explosion/fireball")
|
||||
|
||||
/obj/proc_holder/spell/targeted/inflict_handler/fireball
|
||||
/obj/effects/proc_holder/spell/targeted/inflict_handler/fireball
|
||||
amt_dam_brute = 20
|
||||
amt_dam_fire = 25
|
||||
|
||||
/obj/proc_holder/spell/targeted/explosion/fireball
|
||||
/obj/effects/proc_holder/spell/targeted/explosion/fireball
|
||||
ex_severe = -1
|
||||
ex_heavy = -1
|
||||
ex_light = 2
|
||||
|
||||
@@ -62,7 +62,7 @@ obj
|
||||
else
|
||||
return null
|
||||
|
||||
/atom/proc/meteorhit(obj/meteor as obj)
|
||||
/atom/proc/meteorhit(obj/effects/meteor as obj)
|
||||
return
|
||||
|
||||
/atom/proc/allow_drop()
|
||||
@@ -172,7 +172,7 @@ its easier to just keep the beam vertical.
|
||||
|
||||
dir=get_dir(src,BeamTarget) //Causes the source of the beam to rotate to continuosly face the BeamTarget.
|
||||
|
||||
for(var/obj/overlay/beam/O in orange(10,src)) //This section erases the previously drawn beam because I found it was easier to
|
||||
for(var/obj/effects/overlay/beam/O in orange(10,src)) //This section erases the previously drawn beam because I found it was easier to
|
||||
if(O.BeamSource==src) //just draw another instance of the beam instead of trying to manipulate all the
|
||||
del O //pieces to a new orientation.
|
||||
var/Angle=round(Get_Angle(src,BeamTarget))
|
||||
@@ -183,7 +183,7 @@ its easier to just keep the beam vertical.
|
||||
var/N=0
|
||||
var/length=round(sqrt((DX)**2+(DY)**2))
|
||||
for(N,N<length,N+=32)
|
||||
var/obj/overlay/beam/X=new(loc)
|
||||
var/obj/effects/overlay/beam/X=new(loc)
|
||||
X.BeamSource=src
|
||||
if(N+32>length)
|
||||
var/icon/II=new(icon,icon_state)
|
||||
@@ -215,4 +215,4 @@ its easier to just keep the beam vertical.
|
||||
X.pixel_y=Pixel_y
|
||||
sleep(3) //Changing this to a lower value will cause the beam to follow more smoothly with movement, but it will also be more laggy.
|
||||
//I've found that 3 ticks provided a nice balance for my use.
|
||||
for(var/obj/overlay/beam/O in orange(10,src)) if(O.BeamSource==src) del O
|
||||
for(var/obj/effects/overlay/beam/O in orange(10,src)) if(O.BeamSource==src) del O
|
||||
@@ -1,7 +1,7 @@
|
||||
var/global
|
||||
obj/datacore/data_core = null
|
||||
obj/overlay/plmaster = null
|
||||
obj/overlay/slmaster = null
|
||||
obj/effects/overlay/plmaster = null
|
||||
obj/effects/overlay/slmaster = null
|
||||
|
||||
//obj/hud/main_hud1 = null
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
var/m_intent = "run"//Living
|
||||
var/lastDblClick = 0
|
||||
var/lastKnownIP = null
|
||||
var/obj/stool/buckled = null//Living
|
||||
var/obj/station_objects/stool/buckled = null//Living
|
||||
var/obj/item/weapon/handcuffs/handcuffed = null//Living
|
||||
var/obj/item/l_hand = null//Living
|
||||
var/obj/item/r_hand = null//Living
|
||||
@@ -175,7 +175,7 @@
|
||||
This requires creating a verb for the object proc holder.
|
||||
|
||||
if (proc_holder_list.len)//Generic list for proc_holder objects.
|
||||
for(var/obj/proc_holder/P in proc_holder_list)
|
||||
for(var/obj/effects/proc_holder/P in proc_holder_list)
|
||||
statpanel("[P.panel]","",P)
|
||||
*/
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
var/mob/living/carbon/LAssailant = null
|
||||
|
||||
//Wizard mode, but can be used in other modes thanks to the brand new "Give Spell" badmin button
|
||||
var/obj/proc_holder/spell/list/spell_list = list()
|
||||
var/obj/effects/proc_holder/spell/list/spell_list = list()
|
||||
|
||||
//List of active diseases
|
||||
|
||||
@@ -223,7 +223,7 @@ the mob is also allowed to move without any sort of restriction. For instance, i
|
||||
|
||||
var/UI = 'screen1_old.dmi' // For changing the UI from preferences
|
||||
|
||||
var/obj/organstructure/organStructure = null //for dem organs
|
||||
var/obj/effects/organstructure/organStructure = null //for dem organs
|
||||
|
||||
|
||||
/mob/proc/Delete(atom/A in view())
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
proc/initialize()
|
||||
|
||||
/obj/signpost
|
||||
/obj/station_objects/signpost
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "signpost"
|
||||
anchored = 1
|
||||
@@ -40,7 +40,7 @@
|
||||
if("No")
|
||||
return
|
||||
|
||||
/obj/mark
|
||||
/obj/effects/mark
|
||||
var/mark = ""
|
||||
icon = 'mark.dmi'
|
||||
icon_state = "blank"
|
||||
@@ -57,7 +57,7 @@
|
||||
//state = 1 for playing : default
|
||||
//state = 2 for observing
|
||||
|
||||
/obj/bhole
|
||||
/obj/effects/bhole
|
||||
name = "black hole"
|
||||
icon = 'objects.dmi'
|
||||
desc = "FUCK FUCK FUCK AAAHHH"
|
||||
@@ -71,13 +71,13 @@
|
||||
|
||||
|
||||
|
||||
/obj/beam
|
||||
/obj/effects/beam
|
||||
name = "beam"
|
||||
unacidable = 1//Just to be sure.
|
||||
var/def_zone
|
||||
pass_flags = PASSTABLE
|
||||
|
||||
/obj/bedsheetbin
|
||||
/obj/station_objects/bedsheetbin
|
||||
name = "linen bin"
|
||||
desc = "A bin for containing bedsheets. It looks rather cosy."
|
||||
icon = 'items.dmi'
|
||||
@@ -85,7 +85,7 @@
|
||||
var/amount = 23.0
|
||||
anchored = 1.0
|
||||
|
||||
/obj/begin
|
||||
/obj/effects/begin
|
||||
name = "begin"
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "begin"
|
||||
@@ -100,7 +100,7 @@
|
||||
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
|
||||
var/locked[] = list()
|
||||
|
||||
/obj/equip_e
|
||||
/obj/effects/equip_e
|
||||
name = "equip e"
|
||||
var/mob/source = null
|
||||
var/s_loc = null
|
||||
@@ -108,15 +108,15 @@
|
||||
var/obj/item/item = null
|
||||
var/place = null
|
||||
|
||||
/obj/equip_e/human
|
||||
/obj/effects/equip_e/human
|
||||
name = "human"
|
||||
var/mob/living/carbon/human/target = null
|
||||
|
||||
/obj/equip_e/monkey
|
||||
/obj/effects/equip_e/monkey
|
||||
name = "monkey"
|
||||
var/mob/living/carbon/monkey/target = null
|
||||
|
||||
/obj/securearea
|
||||
/obj/effects/securearea
|
||||
desc = "A warning sign which reads 'SECURE AREA'. This obviously applies to a nun-Clown."
|
||||
name = "SECURE AREA"
|
||||
icon = 'decals.dmi'
|
||||
@@ -125,7 +125,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/sign/biohazard
|
||||
/obj/effects/sign/biohazard
|
||||
desc = "A warning sign which reads 'BIOHAZARD'"
|
||||
name = "BIOHAZARD"
|
||||
icon = 'decals.dmi'
|
||||
@@ -134,7 +134,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/sign/electricshock
|
||||
/obj/effects/sign/electricshock
|
||||
desc = "A warning sign which reads 'HIGH VOLTAGE'"
|
||||
name = "HIGH VOLTAGE"
|
||||
icon = 'decals.dmi'
|
||||
@@ -143,7 +143,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/sign/examroom
|
||||
/obj/effects/sign/examroom
|
||||
desc = "A guidance sign which reads 'EXAM ROOM'"
|
||||
name = "EXAM"
|
||||
icon = 'decals.dmi'
|
||||
@@ -152,7 +152,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/sign/vacuum
|
||||
/obj/effects/sign/vacuum
|
||||
desc = "A warning sign which reads 'HARD VACUUM AHEAD'"
|
||||
name = "HARD VACUUM AHEAD"
|
||||
icon = 'decals.dmi'
|
||||
@@ -163,7 +163,7 @@
|
||||
pixel_x = -1
|
||||
pixel_y = -1
|
||||
|
||||
/obj/sign/fire
|
||||
/obj/effects/sign/fire
|
||||
desc = "A warning sign which reads 'HOT! HOT! AAAH! I'M BURNING!'"
|
||||
name = "HOT! HOT! AAAH! I'M BURNING!"
|
||||
icon = 'decals.dmi'
|
||||
@@ -173,7 +173,7 @@
|
||||
density = 0
|
||||
|
||||
|
||||
/obj/sign/nosmoking_1
|
||||
/obj/effects/sign/nosmoking_1
|
||||
desc = "A warning sign which reads 'NO SMOKING'"
|
||||
name = "NO SMOKING"
|
||||
icon = 'decals.dmi'
|
||||
@@ -183,7 +183,7 @@
|
||||
density = 0
|
||||
|
||||
|
||||
/obj/sign/nosmoking_2
|
||||
/obj/effects/sign/nosmoking_2
|
||||
desc = "A warning sign which reads 'NO SMOKING'"
|
||||
name = "NO SMOKING"
|
||||
icon = 'decals.dmi'
|
||||
@@ -192,7 +192,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/sign/redcross
|
||||
/obj/effects/sign/redcross
|
||||
desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here.'"
|
||||
name = "Med-Bay"
|
||||
icon = 'decals.dmi'
|
||||
@@ -201,7 +201,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/sign/goldenplaque
|
||||
/obj/effects/sign/goldenplaque
|
||||
desc = "To be Robust is not an action or a way of life, but a mental state. Only those with the force of Will strong enough to act during a crisis, saving friend from foe, are truly Robust. Stay Robust my friends."
|
||||
name = "The Most Robust Men Award for Robustness"
|
||||
icon = 'decals.dmi'
|
||||
@@ -220,12 +220,12 @@
|
||||
if(istype(A,/turf/simulated/wall) || istype(A,/turf/simulated/shuttle/wall) || istype(A,/turf/unsimulated/wall))
|
||||
var/epitaph = input("What would you like to engrave", null)
|
||||
if(epitaph)
|
||||
var/obj/sign/goldenplaque/gp = new/obj/sign/goldenplaque(A)
|
||||
var/obj/effects/sign/goldenplaque/gp = new/obj/effects/sign/goldenplaque(A)
|
||||
gp.name = epitaph
|
||||
gp.layer = 2.9
|
||||
del(src)*/
|
||||
|
||||
/obj/sign/maltesefalcon1 //The sign is 64x32, so it needs two tiles. ;3
|
||||
/obj/effects/sign/maltesefalcon1 //The sign is 64x32, so it needs two tiles. ;3
|
||||
desc = "The Maltese Falcon, Space Bar and Grill. Now with added monkey."
|
||||
name = "The Maltese Falcon"
|
||||
icon = 'decals.dmi'
|
||||
@@ -234,7 +234,7 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/sign/maltesefalcon2
|
||||
/obj/effects/sign/maltesefalcon2
|
||||
desc = "The Maltese Falcon, Space Bar and Grill. Now with added monkey."
|
||||
name = "The Maltese Falcon"
|
||||
icon = 'decals.dmi'
|
||||
@@ -329,24 +329,24 @@
|
||||
icon_state = "apc_frame"
|
||||
flags = FPRINT | TABLEPASS| CONDUCT
|
||||
|
||||
/obj/landmark
|
||||
/obj/effects/landmark
|
||||
name = "landmark"
|
||||
icon = 'screen1.dmi'
|
||||
icon_state = "x2"
|
||||
anchored = 1.0
|
||||
unacidable = 1
|
||||
|
||||
/obj/landmark/alterations
|
||||
/obj/effects/landmark/alterations
|
||||
name = "alterations"
|
||||
|
||||
/obj/laser
|
||||
/obj/effects/laser
|
||||
name = "laser"
|
||||
desc = "IT BURNS!!!"
|
||||
icon = 'projectiles.dmi'
|
||||
var/damage = 0.0
|
||||
var/range = 10.0
|
||||
|
||||
/obj/lattice
|
||||
/obj/station_objects/lattice
|
||||
desc = "A lightweight support lattice."
|
||||
name = "lattice"
|
||||
icon = 'structures.dmi'
|
||||
@@ -356,31 +356,31 @@
|
||||
layer = 2.3 //under pipes
|
||||
// flags = 64.0
|
||||
|
||||
/obj/lattice/New()
|
||||
/obj/station_objects/lattice/New()
|
||||
..()
|
||||
if(!(istype(src.loc, /turf/space)))
|
||||
del(src)
|
||||
for(var/obj/lattice/LAT in src.loc)
|
||||
for(var/obj/station_objects/lattice/LAT in src.loc)
|
||||
if(LAT != src)
|
||||
del(LAT)
|
||||
icon = 'smoothlattice.dmi'
|
||||
icon_state = "latticeblank"
|
||||
updateOverlays()
|
||||
for (var/dir in cardinal)
|
||||
var/obj/lattice/L
|
||||
if(locate(/obj/lattice, get_step(src, dir)))
|
||||
L = locate(/obj/lattice, get_step(src, dir))
|
||||
var/obj/station_objects/lattice/L
|
||||
if(locate(/obj/station_objects/lattice, get_step(src, dir)))
|
||||
L = locate(/obj/station_objects/lattice, get_step(src, dir))
|
||||
L.updateOverlays()
|
||||
|
||||
/obj/lattice/Del()
|
||||
/obj/station_objects/lattice/Del()
|
||||
for (var/dir in cardinal)
|
||||
var/obj/lattice/L
|
||||
if(locate(/obj/lattice, get_step(src, dir)))
|
||||
L = locate(/obj/lattice, get_step(src, dir))
|
||||
var/obj/station_objects/lattice/L
|
||||
if(locate(/obj/station_objects/lattice, get_step(src, dir)))
|
||||
L = locate(/obj/station_objects/lattice, get_step(src, dir))
|
||||
L.updateOverlays(src.loc)
|
||||
..()
|
||||
|
||||
/obj/lattice/proc/updateOverlays()
|
||||
/obj/station_objects/lattice/proc/updateOverlays()
|
||||
//if(!(istype(src.loc, /turf/space)))
|
||||
// del(src)
|
||||
spawn(1)
|
||||
@@ -389,7 +389,7 @@
|
||||
var/dir_sum = 0
|
||||
|
||||
for (var/direction in cardinal)
|
||||
if(locate(/obj/lattice, get_step(src, direction)))
|
||||
if(locate(/obj/station_objects/lattice, get_step(src, direction)))
|
||||
dir_sum += direction
|
||||
else
|
||||
if(!(istype(get_step(src, direction), /turf/space)))
|
||||
@@ -401,60 +401,60 @@
|
||||
/*
|
||||
overlays += icon(icon,"lattice-middlebar") //the nw-se bar in the cneter
|
||||
for (var/dir in cardinal)
|
||||
if(locate(/obj/lattice, get_step(src, dir)))
|
||||
if(locate(/obj/station_objects/lattice, get_step(src, dir)))
|
||||
src.overlays += icon(icon,"lattice-[dir2text(dir)]")
|
||||
else
|
||||
src.overlays += icon(icon,"lattice-nc-[dir2text(dir)]") //t for turf
|
||||
if(!(istype(get_step(src, dir), /turf/space)))
|
||||
src.overlays += icon(icon,"lattice-t-[dir2text(dir)]") //t for turf
|
||||
|
||||
//if ( !( (locate(/obj/lattice, get_step(src, SOUTH))) || (locate(/obj/lattice, get_step(src, EAST))) ))
|
||||
//if ( !( (locate(/obj/station_objects/lattice, get_step(src, SOUTH))) || (locate(/obj/station_objects/lattice, get_step(src, EAST))) ))
|
||||
// src.overlays += icon(icon,"lattice-c-se")
|
||||
if ( !( (locate(/obj/lattice, get_step(src, NORTH))) || (locate(/obj/lattice, get_step(src, WEST))) ))
|
||||
if ( !( (locate(/obj/station_objects/lattice, get_step(src, NORTH))) || (locate(/obj/station_objects/lattice, get_step(src, WEST))) ))
|
||||
src.overlays += icon(icon,"lattice-c-nw")
|
||||
if ( !( (locate(/obj/lattice, get_step(src, NORTH))) || (locate(/obj/lattice, get_step(src, EAST))) ))
|
||||
if ( !( (locate(/obj/station_objects/lattice, get_step(src, NORTH))) || (locate(/obj/station_objects/lattice, get_step(src, EAST))) ))
|
||||
src.overlays += icon(icon,"lattice-c-ne")
|
||||
if ( !( (locate(/obj/lattice, get_step(src, SOUTH))) || (locate(/obj/lattice, get_step(src, WEST))) ))
|
||||
if ( !( (locate(/obj/station_objects/lattice, get_step(src, SOUTH))) || (locate(/obj/station_objects/lattice, get_step(src, WEST))) ))
|
||||
src.overlays += icon(icon,"lattice-c-sw")
|
||||
|
||||
if(!(overlays))
|
||||
icon_state = "latticefull"
|
||||
*/
|
||||
|
||||
/obj/list_container
|
||||
/obj/effects/list_container
|
||||
name = "list container"
|
||||
|
||||
/obj/list_container/mobl
|
||||
/obj/effects/list_container/mobl
|
||||
name = "mobl"
|
||||
var/master = null
|
||||
|
||||
var/list/container = list( )
|
||||
|
||||
/obj/m_tray
|
||||
/obj/station_objects/m_tray
|
||||
name = "morgue tray"
|
||||
desc = "Apply corpse before closing."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "morguet"
|
||||
density = 1
|
||||
layer = 2.0
|
||||
var/obj/morgue/connected = null
|
||||
var/obj/station_objects/morgue/connected = null
|
||||
anchored = 1.0
|
||||
|
||||
/obj/c_tray
|
||||
/obj/station_objects/c_tray
|
||||
name = "crematorium tray"
|
||||
desc = "Apply body before burning."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "cremat"
|
||||
density = 1
|
||||
layer = 2.0
|
||||
var/obj/crematorium/connected = null
|
||||
var/obj/station_objects/crematorium/connected = null
|
||||
anchored = 1.0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/cable
|
||||
/obj/station_objects/cable
|
||||
level = 1
|
||||
anchored =1
|
||||
var/netnum = 0
|
||||
@@ -467,46 +467,46 @@
|
||||
layer = 2.5
|
||||
var/color="red"
|
||||
|
||||
/obj/cable/yellow
|
||||
/obj/station_objects/cable/yellow
|
||||
color="yellow"
|
||||
icon = 'power_cond_yellow.dmi'
|
||||
|
||||
/obj/cable/green
|
||||
/obj/station_objects/cable/green
|
||||
color="green"
|
||||
icon = 'power_cond_green.dmi'
|
||||
|
||||
/obj/cable/blue
|
||||
/obj/station_objects/cable/blue
|
||||
color="blue"
|
||||
icon = 'power_cond_blue.dmi'
|
||||
|
||||
/obj/manifest
|
||||
/obj/effects/manifest
|
||||
name = "manifest"
|
||||
icon = 'screen1.dmi'
|
||||
icon_state = "x"
|
||||
unacidable = 1//Just to be sure.
|
||||
|
||||
/obj/morgue
|
||||
/obj/station_objects/morgue
|
||||
name = "morgue"
|
||||
desc = "Used to keep bodies in untill someone fetches them."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "morgue1"
|
||||
density = 1
|
||||
var/obj/m_tray/connected = null
|
||||
var/obj/station_objects/m_tray/connected = null
|
||||
anchored = 1.0
|
||||
|
||||
/obj/crematorium
|
||||
/obj/station_objects/crematorium
|
||||
name = "crematorium"
|
||||
desc = "A human incinerator. Works well on barbeque nights."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "crema1"
|
||||
density = 1
|
||||
var/obj/c_tray/connected = null
|
||||
var/obj/station_objects/c_tray/connected = null
|
||||
anchored = 1.0
|
||||
var/cremating = 0
|
||||
var/id = 1
|
||||
var/locked = 0
|
||||
|
||||
/obj/mine
|
||||
/obj/effects/mine
|
||||
name = "Mine"
|
||||
desc = "I Better stay away from that thing."
|
||||
density = 1
|
||||
@@ -517,37 +517,37 @@
|
||||
var/triggerproc = "explode" //name of the proc thats called when the mine is triggered
|
||||
var/triggered = 0
|
||||
|
||||
/obj/mine/dnascramble
|
||||
/obj/effects/mine/dnascramble
|
||||
name = "Radiation Mine"
|
||||
icon_state = "uglymine"
|
||||
triggerproc = "triggerrad"
|
||||
|
||||
/obj/mine/plasma
|
||||
/obj/effects/mine/plasma
|
||||
name = "Plasma Mine"
|
||||
icon_state = "uglymine"
|
||||
triggerproc = "triggerplasma"
|
||||
|
||||
/obj/mine/kick
|
||||
/obj/effects/mine/kick
|
||||
name = "Kick Mine"
|
||||
icon_state = "uglymine"
|
||||
triggerproc = "triggerkick"
|
||||
|
||||
/obj/mine/n2o
|
||||
/obj/effects/mine/n2o
|
||||
name = "N2O Mine"
|
||||
icon_state = "uglymine"
|
||||
triggerproc = "triggern2o"
|
||||
|
||||
/obj/mine/stun
|
||||
/obj/effects/mine/stun
|
||||
name = "Stun Mine"
|
||||
icon_state = "uglymine"
|
||||
triggerproc = "triggerstun"
|
||||
|
||||
/obj/overlay
|
||||
/obj/effects/overlay
|
||||
name = "overlay"
|
||||
unacidable = 1
|
||||
var/i_attached//Added for possible image attachments to objects. For hallucinations and the like.
|
||||
|
||||
/obj/overlay/beam//Not actually a projectile, just an effect.
|
||||
/obj/effects/overlay/beam//Not actually a projectile, just an effect.
|
||||
name="beam"
|
||||
icon='beam.dmi'
|
||||
icon_state="b_beam"
|
||||
@@ -556,7 +556,7 @@
|
||||
..()
|
||||
spawn(10) del src
|
||||
|
||||
/obj/portal
|
||||
/obj/effects/portal
|
||||
name = "portal"
|
||||
desc = "Looks unstable. Best to test it with the clown."
|
||||
icon = 'stationobjs.dmi'
|
||||
@@ -568,12 +568,12 @@
|
||||
var/creator = null
|
||||
anchored = 1.0
|
||||
|
||||
/obj/projection
|
||||
/obj/effects/projection
|
||||
name = "Projection"
|
||||
desc = "This looks like a projection of something."
|
||||
anchored = 1.0
|
||||
|
||||
/obj/rack
|
||||
/obj/station_objects/rack
|
||||
name = "rack"
|
||||
desc = "Different from the Middle Ages version."
|
||||
icon = 'objects.dmi'
|
||||
@@ -609,18 +609,18 @@
|
||||
var/selecting = "chest"
|
||||
screen_loc = "EAST+1,NORTH"
|
||||
|
||||
/obj/shut_controller
|
||||
/obj/effects/shut_controller
|
||||
name = "shut controller"
|
||||
var/moving = null
|
||||
var/list/parts = list( )
|
||||
|
||||
/obj/landmark/start
|
||||
/obj/effects/landmark/start
|
||||
name = "start"
|
||||
icon = 'screen1.dmi'
|
||||
icon_state = "x"
|
||||
anchored = 1.0
|
||||
|
||||
/obj/stool
|
||||
/obj/station_objects/stool
|
||||
name = "stool"
|
||||
desc = "Apply butt."
|
||||
icon = 'objects.dmi'
|
||||
@@ -628,20 +628,20 @@
|
||||
flags = FPRINT
|
||||
pressure_resistance = 3*ONE_ATMOSPHERE
|
||||
|
||||
/obj/stool/bed
|
||||
/obj/station_objects/stool/bed
|
||||
name = "bed"
|
||||
desc = "This is used to lie in, sleep in or strap on."
|
||||
icon_state = "bed"
|
||||
anchored = 1.0
|
||||
var/list/buckled_mobs = list( )
|
||||
|
||||
/obj/stool/bed/alien
|
||||
/obj/station_objects/stool/bed/alien
|
||||
name = "Resting contraption"
|
||||
desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?"
|
||||
icon_state = "abed"
|
||||
|
||||
|
||||
/obj/stool/chair
|
||||
/obj/station_objects/stool/chair
|
||||
name = "chair"
|
||||
desc = "You sit in this. Either by will or force."
|
||||
icon_state = "chair"
|
||||
@@ -649,7 +649,7 @@
|
||||
anchored = 1.0
|
||||
var/list/buckled_mobs = list( )
|
||||
|
||||
/obj/stool/chair/e_chair
|
||||
/obj/station_objects/stool/chair/e_chair
|
||||
name = "electrified chair"
|
||||
desc = "Looks absolutely SHOCKING!"
|
||||
icon_state = "e_chair0"
|
||||
@@ -658,7 +658,7 @@
|
||||
var/obj/item/assembly/shock_kit/part1 = null
|
||||
var/last_time = 1.0
|
||||
|
||||
/obj/table
|
||||
/obj/station_objects/table
|
||||
name = "table"
|
||||
desc = "A square piece of metal standing on four metal legs. It can not move."
|
||||
icon = 'structures.dmi'
|
||||
@@ -669,19 +669,19 @@
|
||||
|
||||
New()
|
||||
..()
|
||||
for(var/obj/table/T in src.loc)
|
||||
for(var/obj/station_objects/table/T in src.loc)
|
||||
if(T != src)
|
||||
del(T)
|
||||
update_icon()
|
||||
for(var/direction in list(1,2,4,8,5,6,9,10))
|
||||
if(locate(/obj/table,get_step(src,direction)))
|
||||
var/obj/table/T = locate(/obj/table,get_step(src,direction))
|
||||
if(locate(/obj/station_objects/table,get_step(src,direction)))
|
||||
var/obj/station_objects/table/T = locate(/obj/station_objects/table,get_step(src,direction))
|
||||
T.update_icon()
|
||||
|
||||
Del()
|
||||
for(var/direction in list(1,2,4,8,5,6,9,10))
|
||||
if(locate(/obj/table,get_step(src,direction)))
|
||||
var/obj/table/T = locate(/obj/table,get_step(src,direction))
|
||||
if(locate(/obj/station_objects/table,get_step(src,direction)))
|
||||
var/obj/station_objects/table/T = locate(/obj/station_objects/table,get_step(src,direction))
|
||||
T.update_icon()
|
||||
..()
|
||||
|
||||
@@ -690,7 +690,7 @@
|
||||
var/dir_sum = 0
|
||||
for(var/direction in cardinal)
|
||||
var/skip_sum = 0
|
||||
for(var/obj/window/W in src.loc)
|
||||
for(var/obj/station_objects/window/W in src.loc)
|
||||
if(W.dir == direction) //So smooth tables don't go smooth through windows
|
||||
skip_sum = 1
|
||||
continue
|
||||
@@ -704,12 +704,12 @@
|
||||
inv_direction = 8
|
||||
if(8)
|
||||
inv_direction = 4
|
||||
for(var/obj/window/W in get_step(src,direction))
|
||||
for(var/obj/station_objects/window/W in get_step(src,direction))
|
||||
if(W.dir == inv_direction) //So smooth tables don't go smooth through windows when the window is on the other table's tile
|
||||
skip_sum = 1
|
||||
continue
|
||||
if(!skip_sum) //means there is a window between the two tiles in this direction
|
||||
if(locate(/obj/table,get_step(src,direction)))
|
||||
if(locate(/obj/station_objects/table,get_step(src,direction)))
|
||||
dir_sum += direction
|
||||
|
||||
//dir_sum:
|
||||
@@ -736,7 +736,7 @@
|
||||
if(dir_sum == 12) //12 doesn't exist as a dir.
|
||||
dir_sum = 4
|
||||
if(dir_sum in list(5,6,9,10))
|
||||
if(locate(/obj/table,get_step(src.loc,dir_sum)))
|
||||
if(locate(/obj/station_objects/table,get_step(src.loc,dir_sum)))
|
||||
table_type = 3 //full table (not the 1 tile thick one, but one of the 'tabledir' tables)
|
||||
else
|
||||
table_type = 2 //1 tile thick, corner table (treated the same as streight tables in code later on)
|
||||
@@ -754,7 +754,7 @@
|
||||
if(dir_sum == 15)
|
||||
table_type = 4 //4-way intersection, the 'middle' table sprites will be used.
|
||||
|
||||
if(istype(src,/obj/table/reinforced))
|
||||
if(istype(src,/obj/station_objects/table/reinforced))
|
||||
switch(table_type)
|
||||
if(0)
|
||||
icon_state = "reinf_table"
|
||||
@@ -766,7 +766,7 @@
|
||||
icon_state = "reinf_tabledir"
|
||||
if(4)
|
||||
icon_state = "reinf_middle"
|
||||
else if(istype(src,/obj/table/woodentable))
|
||||
else if(istype(src,/obj/station_objects/table/woodentable))
|
||||
switch(table_type)
|
||||
if(0)
|
||||
icon_state = "wood_table"
|
||||
@@ -795,18 +795,18 @@
|
||||
else
|
||||
dir = 2
|
||||
|
||||
/obj/table/reinforced
|
||||
/obj/station_objects/table/reinforced
|
||||
name = "reinforced table"
|
||||
desc = "A version of the four legged table. It is stronger."
|
||||
icon_state = "reinf_table"
|
||||
var/status = 2
|
||||
|
||||
/obj/table/woodentable
|
||||
/obj/station_objects/table/woodentable
|
||||
name = "wooden table"
|
||||
desc = "Do not apply fire to this. Rumour says it burns easily."
|
||||
icon_state = "wood_table"
|
||||
|
||||
/obj/mopbucket
|
||||
/obj/station_objects/mopbucket
|
||||
desc = "Fill it with water, but don't forget a mop!"
|
||||
name = "mop bucket"
|
||||
icon = 'janitor.dmi'
|
||||
@@ -817,7 +817,7 @@
|
||||
flags = FPRINT | TABLEPASS | OPENCONTAINER
|
||||
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
|
||||
|
||||
/obj/kitchenspike
|
||||
/obj/station_objects/kitchenspike
|
||||
name = "a meat spike"
|
||||
icon = 'kitchen.dmi'
|
||||
icon_state = "spike"
|
||||
@@ -828,7 +828,7 @@
|
||||
var/occupied = 0
|
||||
var/meattype = 0 // 0 - Nothing, 1 - Monkey, 2 - Xeno
|
||||
|
||||
/obj/displaycase
|
||||
/obj/station_objects/displaycase
|
||||
name = "Display Case"
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "glassbox1"
|
||||
@@ -840,7 +840,7 @@
|
||||
var/occupied = 1
|
||||
var/destroyed = 0
|
||||
|
||||
/obj/showcase
|
||||
/obj/effects/showcase
|
||||
name = "Showcase"
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "showcase_1"
|
||||
@@ -928,7 +928,7 @@
|
||||
|
||||
|
||||
|
||||
/obj/noticeboard
|
||||
/obj/station_objects/noticeboard
|
||||
name = "Notice Board"
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "nboard00"
|
||||
@@ -938,7 +938,7 @@
|
||||
anchored = 1
|
||||
var/notices = 0
|
||||
|
||||
/obj/deskclutter
|
||||
/obj/effects/deskclutter
|
||||
name = "desk clutter"
|
||||
icon = 'items.dmi'
|
||||
icon_state = "deskclutter"
|
||||
@@ -994,7 +994,7 @@
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
||||
|
||||
/obj/falsewall
|
||||
/obj/station_objects/falsewall
|
||||
name = "wall"
|
||||
desc = "A huge chunk of metal used to seperate rooms."
|
||||
icon = 'walls.dmi'
|
||||
@@ -1003,7 +1003,7 @@
|
||||
opacity = 1
|
||||
anchored = 1
|
||||
|
||||
/obj/falserwall
|
||||
/obj/station_objects/falserwall
|
||||
name = "r wall"
|
||||
desc = "A huge chunk of reinforced metal used to seperate rooms."
|
||||
icon = 'walls.dmi'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/closet
|
||||
/obj/station_objects/closet
|
||||
desc = "It's a closet!"
|
||||
name = "Closet"
|
||||
icon = 'closet.dmi'
|
||||
@@ -12,21 +12,21 @@
|
||||
flags = FPRINT
|
||||
var/health = 200//Might be a bit much, dono can always change later
|
||||
|
||||
/obj/closet/acloset
|
||||
/obj/station_objects/closet/acloset
|
||||
desc = "It looks alien!"
|
||||
name = "Strange closet"
|
||||
icon_state = "acloset"
|
||||
icon_closed = "acloset"
|
||||
icon_opened = "aclosetopen"
|
||||
|
||||
/obj/closet/cabinet
|
||||
/obj/station_objects/closet/cabinet
|
||||
desc = "Old will forever be in fashion."
|
||||
name = "Cabinet"
|
||||
icon_state = "cabinet_closed"
|
||||
icon_closed = "cabinet_closed"
|
||||
icon_opened = "cabinet_open"
|
||||
|
||||
/obj/spresent
|
||||
/obj/effects/spresent
|
||||
desc = "It's a ... present?"
|
||||
name = "strange present"
|
||||
icon = 'items.dmi'
|
||||
@@ -34,25 +34,25 @@
|
||||
density = 1
|
||||
anchored = 0
|
||||
|
||||
/obj/closet/gmcloset
|
||||
/obj/station_objects/closet/gmcloset
|
||||
desc = "A bulky (yet mobile) closet. Comes with formal clothes"
|
||||
name = "Formal closet"
|
||||
|
||||
/obj/closet/emcloset
|
||||
/obj/station_objects/closet/emcloset
|
||||
desc = "A bulky (yet mobile) closet. Comes prestocked with a gasmask and o2 tank for emergencies."
|
||||
name = "Emergency Closet"
|
||||
icon_state = "emergency"
|
||||
icon_closed = "emergency"
|
||||
icon_opened = "emergencyopen"
|
||||
|
||||
/obj/closet/firecloset
|
||||
/obj/station_objects/closet/firecloset
|
||||
desc = "A bulky (yet mobile) closet. Comes with supplies to fight fire."
|
||||
name = "Fire Closet"
|
||||
icon_state = "firecloset"
|
||||
icon_closed = "firecloset"
|
||||
icon_opened = "fireclosetopen"
|
||||
|
||||
/obj/closet/hydrant //wall mounted fire closet
|
||||
/obj/station_objects/closet/hydrant //wall mounted fire closet
|
||||
anchored = 1
|
||||
desc = "A wall mounted closet which comes with supplies to fight fire."
|
||||
name = "Fire Closet"
|
||||
@@ -61,7 +61,7 @@
|
||||
icon_opened = "hydrant_open"
|
||||
wall_mounted = 1
|
||||
|
||||
/obj/closet/medical_wall //wall mounted medical closet
|
||||
/obj/station_objects/closet/medical_wall //wall mounted medical closet
|
||||
anchored = 1
|
||||
desc = "A wall mounted closet which should have some first aid."
|
||||
name = "First Aid Closet"
|
||||
@@ -70,7 +70,7 @@
|
||||
icon_opened = "medical_wall_open"
|
||||
wall_mounted = 1
|
||||
|
||||
/obj/closet/fireaxecabinet
|
||||
/obj/station_objects/closet/fireaxecabinet
|
||||
name = "Fire Axe Cabinet"
|
||||
desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if."
|
||||
var/obj/item/weapon/fireaxe/FIREAXE = new/obj/item/weapon/fireaxe
|
||||
@@ -265,90 +265,90 @@
|
||||
|
||||
|
||||
|
||||
/obj/closet/toolcloset
|
||||
/obj/station_objects/closet/toolcloset
|
||||
desc = "A bulky (yet mobile) closet. Contains tools."
|
||||
name = "Tool Closet"
|
||||
icon_state = "toolcloset"
|
||||
icon_closed = "toolcloset"
|
||||
icon_opened = "toolclosetopen"
|
||||
|
||||
/obj/closet/jcloset
|
||||
/obj/station_objects/closet/jcloset
|
||||
desc = "A bulky (yet mobile) closet. Comes with janitor's clothes and biohazard gear."
|
||||
name = "Custodial Closet"
|
||||
|
||||
/obj/closet/lawcloset
|
||||
/obj/station_objects/closet/lawcloset
|
||||
desc = "A bulky (yet mobile) closet. Comes with lawyer apparel and items."
|
||||
name = "Legal Closet"
|
||||
|
||||
/obj/closet/coffin
|
||||
/obj/station_objects/closet/coffin
|
||||
desc = "A burial receptacle for the dearly departed."
|
||||
name = "coffin"
|
||||
icon_state = "coffin"
|
||||
icon_closed = "coffin"
|
||||
icon_opened = "coffin_open"
|
||||
|
||||
/obj/closet/bombcloset
|
||||
/obj/station_objects/closet/bombcloset
|
||||
desc = "A bulky (yet mobile) closet. Comes prestocked with a level 4 bombsuit."
|
||||
name = "EOD closet"
|
||||
icon_state = "bombsuit"
|
||||
icon_closed = "bombsuit"
|
||||
icon_opened = "bombsuitopen"
|
||||
|
||||
/obj/closet/bombclosetsecurity
|
||||
/obj/station_objects/closet/bombclosetsecurity
|
||||
desc = "A bulky (yet mobile) closet. Comes prestocked with a level 4 bombsuit."
|
||||
name = "EOD closet"
|
||||
icon_state = "bombsuitsec"
|
||||
icon_closed = "bombsuitsec"
|
||||
icon_opened = "bombsuitsecopen"
|
||||
|
||||
/obj/closet/l3closet
|
||||
/obj/station_objects/closet/l3closet
|
||||
desc = "A bulky (yet mobile) closet. Comes prestocked with level 3 biohazard gear for emergencies."
|
||||
name = "Level 3 Biohazard Suit"
|
||||
icon_state = "bio"
|
||||
icon_closed = "bio"
|
||||
icon_opened = "bioopen"
|
||||
|
||||
/obj/closet/l3closet/general
|
||||
/obj/station_objects/closet/l3closet/general
|
||||
icon_state = "bio_general"
|
||||
icon_closed = "bio_general"
|
||||
icon_opened = "bio_generalopen"
|
||||
|
||||
/obj/closet/l3closet/virology
|
||||
/obj/station_objects/closet/l3closet/virology
|
||||
icon_state = "bio_virology"
|
||||
icon_closed = "bio_virology"
|
||||
icon_opened = "bio_virologyopen"
|
||||
|
||||
/obj/closet/l3closet/security
|
||||
/obj/station_objects/closet/l3closet/security
|
||||
icon_state = "bio_security"
|
||||
icon_closed = "bio_security"
|
||||
icon_opened = "bio_securityopen"
|
||||
|
||||
/obj/closet/l3closet/janitor
|
||||
/obj/station_objects/closet/l3closet/janitor
|
||||
icon_state = "bio_janitor"
|
||||
icon_closed = "bio_janitor"
|
||||
icon_opened = "bio_janitoropen"
|
||||
|
||||
/obj/closet/l3closet/scientist
|
||||
/obj/station_objects/closet/l3closet/scientist
|
||||
icon_state = "bio_scientist"
|
||||
icon_closed = "bio_scientist"
|
||||
icon_opened = "bio_scientistopen"
|
||||
|
||||
/obj/closet/syndicate
|
||||
/obj/station_objects/closet/syndicate
|
||||
desc = "Why is this here?"
|
||||
name = "Weapons Closet"
|
||||
icon_state = "syndicate"
|
||||
icon_closed = "syndicate"
|
||||
icon_opened = "syndicateopen"
|
||||
|
||||
/obj/closet/syndicate/personal
|
||||
/obj/station_objects/closet/syndicate/personal
|
||||
desc = "Gear preperations closet."
|
||||
|
||||
/obj/closet/syndicate/nuclear
|
||||
/obj/station_objects/closet/syndicate/nuclear
|
||||
desc = "Nuclear preperations closet."
|
||||
|
||||
// Inserting the gimmick clothing stuff here for generic items, IE Tacticool stuff
|
||||
|
||||
/obj/closet/extinguisher
|
||||
/obj/station_objects/closet/extinguisher
|
||||
name = "Extinguisher closet"
|
||||
var/obj/item/weapon/extinguisher/EXTINGUISHER = new/obj/item/weapon/extinguisher
|
||||
icon_state = "extinguisher10"
|
||||
@@ -435,7 +435,7 @@
|
||||
icon_state = text("extinguisher[][]",hasextinguisher,src.localopened)
|
||||
|
||||
|
||||
/obj/closet/gimmick
|
||||
/obj/station_objects/closet/gimmick
|
||||
name = "Administrative Supply Closet"
|
||||
icon_state = "syndicate1"
|
||||
icon_closed = "syndicate1"
|
||||
@@ -443,21 +443,21 @@
|
||||
desc = "Closet of things that have no right being here."
|
||||
anchored = 0
|
||||
|
||||
/obj/closet/gimmick/russian
|
||||
/obj/station_objects/closet/gimmick/russian
|
||||
name = "Russian Surplus"
|
||||
icon_state = "syndicate1"
|
||||
icon_closed = "syndicate1"
|
||||
icon_opened = "syndicate1open"
|
||||
desc = "Russian Surplus Closet"
|
||||
|
||||
/obj/closet/gimmick/tacticool
|
||||
/obj/station_objects/closet/gimmick/tacticool
|
||||
name = "Tacticool Gear"
|
||||
icon_state = "syndicate1"
|
||||
icon_closed = "syndicate1"
|
||||
icon_opened = "syndicate1open"
|
||||
desc = "Tacticool Gear Closet"
|
||||
|
||||
/obj/closet/thunderdome
|
||||
/obj/station_objects/closet/thunderdome
|
||||
desc = "Everything you need!"
|
||||
icon_state = "syndicate"
|
||||
icon_closed = "syndicate"
|
||||
@@ -465,111 +465,111 @@
|
||||
name = "Thunderdome closet."
|
||||
anchored = 1
|
||||
|
||||
/obj/closet/thunderdome/tdred
|
||||
/obj/station_objects/closet/thunderdome/tdred
|
||||
desc = "Everything you need!"
|
||||
icon_state = "syndicate"
|
||||
icon_closed = "syndicate"
|
||||
icon_opened = "syndicateopen"
|
||||
name = "Thunderdome closet."
|
||||
|
||||
/obj/closet/thunderdome/tdgreen
|
||||
/obj/station_objects/closet/thunderdome/tdgreen
|
||||
desc = "Everything you need!"
|
||||
icon_state = "syndicate1"
|
||||
icon_closed = "syndicate1"
|
||||
icon_opened = "syndicate1open"
|
||||
name = "Thunderdome closet."
|
||||
|
||||
/obj/closet/malf/suits
|
||||
/obj/station_objects/closet/malf/suits
|
||||
desc = "Gear preparations closet."
|
||||
icon_state = "syndicate"
|
||||
icon_closed = "syndicate"
|
||||
icon_opened = "syndicateopen"
|
||||
|
||||
/obj/closet/wardrobe
|
||||
/obj/station_objects/closet/wardrobe
|
||||
desc = "A bulky (yet mobile) wardrobe closet. Comes prestocked with 6 changes of clothes."
|
||||
name = "Wardrobe"
|
||||
icon_state = "blue"
|
||||
icon_closed = "blue"
|
||||
|
||||
/obj/closet/wardrobe/black
|
||||
/obj/station_objects/closet/wardrobe/black
|
||||
name = "Black Wardrobe"
|
||||
desc = "Contains black jumpsuits."
|
||||
icon_state = "black"
|
||||
icon_closed = "black"
|
||||
|
||||
/obj/closet/wardrobe/chaplain_black
|
||||
/obj/station_objects/closet/wardrobe/chaplain_black
|
||||
name = "Chaplain Wardrobe"
|
||||
desc = "Closet of basic chaplain clothes."
|
||||
icon_state = "black"
|
||||
icon_closed = "black"
|
||||
|
||||
/obj/closet/wardrobe/green
|
||||
/obj/station_objects/closet/wardrobe/green
|
||||
name = "Green Wardrobe"
|
||||
desc = "Contains green jumpsuits."
|
||||
icon_state = "green"
|
||||
icon_closed = "green"
|
||||
|
||||
/obj/closet/wardrobe/mixed
|
||||
/obj/station_objects/closet/wardrobe/mixed
|
||||
name = "Mixed Wardrobe"
|
||||
desc = "This appears to contain several different sets of clothing."
|
||||
icon_state = "mixed"
|
||||
icon_closed = "mixed"
|
||||
|
||||
/obj/closet/wardrobe/orange
|
||||
/obj/station_objects/closet/wardrobe/orange
|
||||
name = "Prisoners Wardrobe"
|
||||
desc = "Contains orange jumpsuits."
|
||||
icon_state = "orange"
|
||||
icon_closed = "orange"
|
||||
|
||||
/obj/closet/wardrobe/pink
|
||||
/obj/station_objects/closet/wardrobe/pink
|
||||
name = "Pink Wardrobe"
|
||||
desc = "Contains pink jumpsuits."
|
||||
icon_state = "pink"
|
||||
icon_closed = "pink"
|
||||
|
||||
/obj/closet/wardrobe/red
|
||||
/obj/station_objects/closet/wardrobe/red
|
||||
name = "Red Wardrobe"
|
||||
desc = "Contains red jumpsuits."
|
||||
icon_state = "red"
|
||||
icon_closed = "red"
|
||||
|
||||
/obj/closet/wardrobe/white
|
||||
/obj/station_objects/closet/wardrobe/white
|
||||
name = "White Wardrobe"
|
||||
desc = "Contains white jumpsuits."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/closet/wardrobe/toxins_white
|
||||
/obj/station_objects/closet/wardrobe/toxins_white
|
||||
name = "Toxins Wardrobe"
|
||||
desc = "Contains toxins jumpsuits."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/closet/wardrobe/genetics_white
|
||||
/obj/station_objects/closet/wardrobe/genetics_white
|
||||
name = "Genetics Wardrobe"
|
||||
desc = "Contains genetics jumpsuits."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/closet/wardrobe/yellow
|
||||
/obj/station_objects/closet/wardrobe/yellow
|
||||
name = "Yellow Wardrobe"
|
||||
desc = "Contains yellow jumpsuits."
|
||||
icon_state = "wardrobe-y"
|
||||
icon_closed = "wardrobe-y"
|
||||
|
||||
/obj/closet/wardrobe/engineering_yellow
|
||||
/obj/station_objects/closet/wardrobe/engineering_yellow
|
||||
name = "Engineering Wardrobe"
|
||||
desc = "Contains engineering jumpsuits."
|
||||
icon_state = "yellow"
|
||||
icon_closed = "yellow"
|
||||
|
||||
/obj/closet/wardrobe/atmospherics_yellow
|
||||
/obj/station_objects/closet/wardrobe/atmospherics_yellow
|
||||
name = "Atmospherics Wardrobe"
|
||||
desc = "Contains atmospheric jumpsuits."
|
||||
icon_state = "yellow"
|
||||
icon_closed = "yellow"
|
||||
|
||||
/obj/closet/wardrobe/grey
|
||||
/obj/station_objects/closet/wardrobe/grey
|
||||
name = "Grey Wardrobe"
|
||||
desc = "Contains grey jumpsuits."
|
||||
icon_state = "grey"
|
||||
@@ -577,7 +577,7 @@
|
||||
|
||||
|
||||
|
||||
/obj/secure_closet
|
||||
/obj/station_objects/secure_closet
|
||||
desc = "An immobile card-locked storage closet."
|
||||
name = "Security Locker"
|
||||
icon = 'closet.dmi'
|
||||
@@ -595,7 +595,7 @@
|
||||
var/wall_mounted = 0 //never solid (You can always pass over it)
|
||||
var/health = 300
|
||||
|
||||
/obj/secure_closet/medical_wall
|
||||
/obj/station_objects/secure_closet/medical_wall
|
||||
anchored = 1
|
||||
name = "First Aid Closet"
|
||||
desc = "A wall mounted closet which --should-- contain medical supplies."
|
||||
@@ -608,21 +608,21 @@
|
||||
req_access = list(access_medical)
|
||||
wall_mounted = 1
|
||||
|
||||
/obj/secure_closet/personal
|
||||
/obj/station_objects/secure_closet/personal
|
||||
desc = "The first card swiped gains control."
|
||||
name = "Personal Closet"
|
||||
|
||||
/obj/secure_closet/personal/patient
|
||||
/obj/station_objects/secure_closet/personal/patient
|
||||
name = "Patient's closet"
|
||||
|
||||
/obj/secure_closet/kitchen
|
||||
/obj/station_objects/secure_closet/kitchen
|
||||
name = "Kitchen Cabinet"
|
||||
req_access = list(access_kitchen)
|
||||
|
||||
/obj/secure_closet/kitchen/mining
|
||||
/obj/station_objects/secure_closet/kitchen/mining
|
||||
req_access = list()
|
||||
|
||||
/obj/secure_closet/meat
|
||||
/obj/station_objects/secure_closet/meat
|
||||
name = "Meat Fridge"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
@@ -631,7 +631,7 @@
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
|
||||
/obj/secure_closet/fridge
|
||||
/obj/station_objects/secure_closet/fridge
|
||||
name = "Refrigerator"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
@@ -640,7 +640,7 @@
|
||||
icon_broken = "fridgebroken"
|
||||
icon_off = "fridge1"
|
||||
|
||||
/obj/secure_closet/money_freezer
|
||||
/obj/station_objects/secure_closet/money_freezer
|
||||
name = "Freezer"
|
||||
icon_state = "fridge1"
|
||||
icon_closed = "fridge"
|
||||
@@ -650,7 +650,7 @@
|
||||
icon_off = "fridge1"
|
||||
req_access = list(access_heads_vault)
|
||||
|
||||
/obj/secure_closet/wall
|
||||
/obj/station_objects/secure_closet/wall
|
||||
name = "wall locker"
|
||||
req_access = list(access_security)
|
||||
icon_state = "wall-locker1"
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
//Costume spawner
|
||||
|
||||
/obj/landmark/costume/New() //costume spawner, selects a random subclass and disappears
|
||||
/obj/effects/landmark/costume/New() //costume spawner, selects a random subclass and disappears
|
||||
|
||||
var/list/options = typesof(/obj/landmark/costume)
|
||||
var/list/options = typesof(/obj/effects/landmark/costume)
|
||||
var/PICK= options[rand(1,options.len)]
|
||||
new PICK(src.loc)
|
||||
del(src)
|
||||
|
||||
//SUBCLASSES. Spawn a bunch of items and disappear likewise
|
||||
/obj/landmark/costume/chicken/New()
|
||||
/obj/effects/landmark/costume/chicken/New()
|
||||
new /obj/item/clothing/suit/chickensuit(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/madscientist/New()
|
||||
/obj/effects/landmark/costume/madscientist/New()
|
||||
new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
|
||||
new /obj/item/clothing/head/flatcap(src.loc)
|
||||
new /obj/item/clothing/suit/labcoat/mad(src.loc)
|
||||
new /obj/item/clothing/glasses/gglasses(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/elpresidente/New()
|
||||
/obj/effects/landmark/costume/elpresidente/New()
|
||||
new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
|
||||
new /obj/item/clothing/head/flatcap(src.loc)
|
||||
new /obj/item/clothing/mask/cigarette/cigar/havanian(src.loc)
|
||||
new /obj/item/clothing/shoes/jackboots(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/nyangirl/New()
|
||||
/obj/effects/landmark/costume/nyangirl/New()
|
||||
new /obj/item/clothing/under/schoolgirl(src.loc)
|
||||
new /obj/item/clothing/head/kitty(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/maid/New()
|
||||
/obj/effects/landmark/costume/maid/New()
|
||||
new /obj/item/clothing/under/blackskirt(src.loc)
|
||||
var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears )
|
||||
new CHOICE(src.loc)
|
||||
new /obj/item/clothing/glasses/blindfold(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/butler/New()
|
||||
/obj/effects/landmark/costume/butler/New()
|
||||
new /obj/item/clothing/suit/wcoat(src.loc)
|
||||
new /obj/item/clothing/under/suit_jacket(src.loc)
|
||||
new /obj/item/clothing/head/that(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/scratch/New()
|
||||
/obj/effects/landmark/costume/scratch/New()
|
||||
new /obj/item/clothing/gloves/white(src.loc)
|
||||
new /obj/item/clothing/shoes/white(src.loc)
|
||||
new /obj/item/clothing/under/scratch(src.loc)
|
||||
@@ -52,12 +52,12 @@
|
||||
new /obj/item/clothing/head/helmet/cueball(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/highlander/New()
|
||||
/obj/effects/landmark/costume/highlander/New()
|
||||
new /obj/item/clothing/under/kilt(src.loc)
|
||||
new /obj/item/clothing/head/beret(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/prig/New()
|
||||
/obj/effects/landmark/costume/prig/New()
|
||||
new /obj/item/clothing/suit/wcoat(src.loc)
|
||||
new /obj/item/clothing/glasses/monocle(src.loc)
|
||||
var/CHOICE= pick( /obj/item/clothing/head/bowler, /obj/item/clothing/head/that)
|
||||
@@ -68,24 +68,24 @@
|
||||
new /obj/item/clothing/mask/gas/fakemoustache(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/plaguedoctor/New()
|
||||
/obj/effects/landmark/costume/plaguedoctor/New()
|
||||
new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc)
|
||||
new /obj/item/clothing/head/plaguedoctorhat(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/nightowl/New()
|
||||
/obj/effects/landmark/costume/nightowl/New()
|
||||
new /obj/item/clothing/under/owl(src.loc)
|
||||
new /obj/item/clothing/mask/owl_mask(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/waiter/New()
|
||||
/obj/effects/landmark/costume/waiter/New()
|
||||
new /obj/item/clothing/under/waiter(src.loc)
|
||||
var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears)
|
||||
new CHOICE(src.loc)
|
||||
new /obj/item/clothing/suit/apron(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/pirate/New()
|
||||
/obj/effects/landmark/costume/pirate/New()
|
||||
new /obj/item/clothing/under/pirate(src.loc)
|
||||
new /obj/item/clothing/suit/pirate(src.loc)
|
||||
var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana )
|
||||
@@ -93,12 +93,12 @@
|
||||
new /obj/item/clothing/glasses/eyepatch(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/commie/New()
|
||||
/obj/effects/landmark/costume/commie/New()
|
||||
new /obj/item/clothing/under/soviet(src.loc)
|
||||
new /obj/item/clothing/head/ushanka(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/nurse/New()
|
||||
/obj/effects/landmark/costume/nurse/New()
|
||||
new /obj/item/clothing/under/rank/nursesuit(src.loc)
|
||||
new /obj/item/clothing/head/nursehat(src.loc)
|
||||
new /obj/item/clothing/glasses/regular(src.loc)
|
||||
@@ -107,45 +107,45 @@
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/landmark/costume/imperium_monk/New()
|
||||
/obj/effects/landmark/costume/imperium_monk/New()
|
||||
new /obj/item/clothing/suit/imperium_monk(src.loc)
|
||||
if (prob(25))
|
||||
new /obj/item/clothing/mask/gas/cyborg(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/holiday_priest/New()
|
||||
/obj/effects/landmark/costume/holiday_priest/New()
|
||||
new /obj/item/clothing/suit/holidaypriest(src.loc)
|
||||
del(src)
|
||||
|
||||
/*
|
||||
/obj/landmark/costume/spiderman/New()
|
||||
/obj/effects/landmark/costume/spiderman/New()
|
||||
new /obj/item/clothing/under/spiderman(src.loc)
|
||||
new /obj/item/clothing/mask/spiderman(src.loc)
|
||||
del(src)*/
|
||||
|
||||
/obj/landmark/costume/marisawizard/New()
|
||||
/obj/effects/landmark/costume/marisawizard/New()
|
||||
new /obj/item/clothing/head/wizard/marisa(src.loc)
|
||||
new/obj/item/clothing/suit/wizrobe/marisa(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/fakewizard/New()
|
||||
/obj/effects/landmark/costume/fakewizard/New()
|
||||
new /obj/item/clothing/suit/wizrobe/fake(src.loc)
|
||||
new /obj/item/clothing/head/wizard/fake(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/sexyclown/New()
|
||||
/obj/effects/landmark/costume/sexyclown/New()
|
||||
new /obj/item/clothing/mask/gas/sexyclown(src.loc)
|
||||
new /obj/item/clothing/under/sexyclown(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/landmark/costume/sexymime/New()
|
||||
/obj/effects/landmark/costume/sexymime/New()
|
||||
new /obj/item/clothing/mask/gas/sexymime(src.loc)
|
||||
new /obj/item/clothing/under/sexymime(src.loc)
|
||||
del(src)
|
||||
|
||||
|
||||
/*
|
||||
/obj/landmark/costume/cyborg/New()
|
||||
/obj/effects/landmark/costume/cyborg/New()
|
||||
new /obj/item/clothing/mask/gas/cyborg(src.loc)
|
||||
new /obj/item/clothing/shoes/cyborg(src.loc)
|
||||
new /obj/item/clothing/suit/cyborg_suit(src.loc)
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
/obj/decal/ash
|
||||
/obj/effects/decal/ash
|
||||
name = "Ashes"
|
||||
desc = "Ashes to ashes, dust to dust, and into space."
|
||||
icon = 'objects.dmi'
|
||||
icon_state = "ash"
|
||||
anchored = 1
|
||||
|
||||
/obj/decal/remains/human
|
||||
/obj/effects/decal/remains/human
|
||||
name = "remains"
|
||||
desc = "These remains have a strange sense about them..."
|
||||
icon = 'blood.dmi'
|
||||
icon_state = "remains"
|
||||
anchored = 1
|
||||
|
||||
/obj/decal/remains/xeno
|
||||
/obj/effects/decal/remains/xeno
|
||||
name = "remains"
|
||||
desc = "These remains have a strange sense about them..."
|
||||
icon = 'blood.dmi'
|
||||
icon_state = "remainsxeno"
|
||||
anchored = 1
|
||||
|
||||
/obj/decal/remains/robot
|
||||
/obj/effects/decal/remains/robot
|
||||
name = "remains"
|
||||
desc = "These remains have a strange sense about them..."
|
||||
icon = 'robots.dmi'
|
||||
icon_state = "remainsrobot"
|
||||
anchored = 1
|
||||
|
||||
/obj/decal/point
|
||||
/obj/effects/decal/point
|
||||
name = "point"
|
||||
desc = "It is an arrow hanging in mid-air. There may be a wizard about."
|
||||
icon = 'screen1.dmi'
|
||||
@@ -34,12 +34,12 @@
|
||||
layer = 16.0
|
||||
anchored = 1
|
||||
|
||||
/obj/decal/cleanable
|
||||
/obj/effects/decal/cleanable
|
||||
var/list/random_icon_states = list()
|
||||
|
||||
//HUMANS
|
||||
|
||||
/obj/decal/cleanable/blood
|
||||
/obj/effects/decal/cleanable/blood
|
||||
name = "Blood"
|
||||
desc = "It's red. Its Gooye. It is the chefs cooking perhaps."
|
||||
density = 0
|
||||
@@ -58,14 +58,14 @@
|
||||
D.cure(0)
|
||||
..()
|
||||
|
||||
/obj/decal/cleanable/blood/splatter
|
||||
/obj/effects/decal/cleanable/blood/splatter
|
||||
random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5")
|
||||
|
||||
/obj/decal/cleanable/blood/tracks
|
||||
/obj/effects/decal/cleanable/blood/tracks
|
||||
icon_state = "tracks"
|
||||
random_icon_states = null
|
||||
|
||||
/obj/decal/cleanable/blood/gibs
|
||||
/obj/effects/decal/cleanable/blood/gibs
|
||||
name = "gibs"
|
||||
desc = "Grisly...and not the good kind neither."
|
||||
density = 0
|
||||
@@ -75,24 +75,24 @@
|
||||
icon_state = "gibbl5"
|
||||
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6")
|
||||
|
||||
/obj/decal/cleanable/blood/gibs/up
|
||||
/obj/effects/decal/cleanable/blood/gibs/up
|
||||
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1")
|
||||
|
||||
/obj/decal/cleanable/blood/gibs/down
|
||||
/obj/effects/decal/cleanable/blood/gibs/down
|
||||
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1")
|
||||
|
||||
/obj/decal/cleanable/blood/gibs/body
|
||||
/obj/effects/decal/cleanable/blood/gibs/body
|
||||
random_icon_states = list("gibhead", "gibtorso")
|
||||
|
||||
/obj/decal/cleanable/blood/gibs/limb
|
||||
/obj/effects/decal/cleanable/blood/gibs/limb
|
||||
random_icon_states = list("gibleg", "gibarm")
|
||||
|
||||
/obj/decal/cleanable/blood/gibs/core
|
||||
/obj/effects/decal/cleanable/blood/gibs/core
|
||||
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
|
||||
|
||||
//ALIENS
|
||||
|
||||
/obj/decal/cleanable/xenoblood
|
||||
/obj/effects/decal/cleanable/xenoblood
|
||||
name = "xeno blood"
|
||||
desc = "It's green. Must be more of the chefs cooking."
|
||||
density = 0
|
||||
@@ -108,38 +108,38 @@
|
||||
D.cure(0)
|
||||
..()
|
||||
|
||||
/obj/decal/cleanable/xenoblood/xsplatter
|
||||
/obj/effects/decal/cleanable/xenoblood/xsplatter
|
||||
random_icon_states = list("xgibbl1", "xgibbl2", "xgibbl3", "xgibbl4", "xgibbl5")
|
||||
|
||||
/obj/decal/cleanable/xenoblood/xgibs
|
||||
/obj/effects/decal/cleanable/xenoblood/xgibs
|
||||
name = "xeno gibs"
|
||||
desc = "Gnarly..."
|
||||
icon = 'blood.dmi'
|
||||
icon_state = "xgib1"
|
||||
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6")
|
||||
|
||||
/obj/decal/cleanable/xenoblood/xgibs/up
|
||||
/obj/effects/decal/cleanable/xenoblood/xgibs/up
|
||||
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibup1","xgibup1","xgibup1")
|
||||
|
||||
/obj/decal/cleanable/xenoblood/xgibs/down
|
||||
/obj/effects/decal/cleanable/xenoblood/xgibs/down
|
||||
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibdown1","xgibdown1","xgibdown1")
|
||||
|
||||
/obj/decal/cleanable/xenoblood/xgibs/body
|
||||
/obj/effects/decal/cleanable/xenoblood/xgibs/body
|
||||
random_icon_states = list("xgibhead", "xgibtorso")
|
||||
|
||||
/obj/decal/cleanable/xenoblood/xgibs/limb
|
||||
/obj/effects/decal/cleanable/xenoblood/xgibs/limb
|
||||
random_icon_states = list("xgibleg", "xgibarm")
|
||||
|
||||
/obj/decal/cleanable/xenoblood/xgibs/core
|
||||
/obj/effects/decal/cleanable/xenoblood/xgibs/core
|
||||
random_icon_states = list("xgibmid1", "xgibmid2", "xgibmid3")
|
||||
|
||||
/obj/decal/cleanable/blood/xtracks
|
||||
/obj/effects/decal/cleanable/blood/xtracks
|
||||
icon_state = "xtracks"
|
||||
random_icon_states = null
|
||||
|
||||
//ROBOTS
|
||||
|
||||
/obj/decal/cleanable/robot_debris
|
||||
/obj/effects/decal/cleanable/robot_debris
|
||||
name = "robot debris"
|
||||
desc = "Useless heap of junk...or is it..."
|
||||
density = 0
|
||||
@@ -149,16 +149,16 @@
|
||||
icon_state = "gib1"
|
||||
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7")
|
||||
|
||||
/obj/decal/cleanable/robot_debris/limb
|
||||
/obj/effects/decal/cleanable/robot_debris/limb
|
||||
random_icon_states = list("gibarm", "gibleg")
|
||||
|
||||
/obj/decal/cleanable/robot_debris/up
|
||||
/obj/effects/decal/cleanable/robot_debris/up
|
||||
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibup1","gibup1") //2:7 is close enough to 1:4
|
||||
|
||||
/obj/decal/cleanable/robot_debris/down
|
||||
/obj/effects/decal/cleanable/robot_debris/down
|
||||
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibdown1","gibdown1") //2:7 is close enough to 1:4
|
||||
|
||||
/obj/decal/cleanable/oil
|
||||
/obj/effects/decal/cleanable/oil
|
||||
name = "motor oil"
|
||||
desc = "It's black. Beepsky made another mess."
|
||||
density = 0
|
||||
@@ -174,12 +174,12 @@
|
||||
D.cure(0)
|
||||
..()
|
||||
|
||||
/obj/decal/cleanable/oil/streak
|
||||
/obj/effects/decal/cleanable/oil/streak
|
||||
random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5")
|
||||
|
||||
//OTHER
|
||||
|
||||
/obj/decal/cleanable/generic
|
||||
/obj/effects/decal/cleanable/generic
|
||||
name = "clutter"
|
||||
desc = "Someone should clean that up."
|
||||
density = 0
|
||||
@@ -188,7 +188,7 @@
|
||||
icon = 'objects.dmi'
|
||||
icon_state = "shards"
|
||||
|
||||
/obj/decal/cleanable/dirt
|
||||
/obj/effects/decal/cleanable/dirt
|
||||
name = "dirt"
|
||||
desc = "Someone should clean that up."
|
||||
density = 0
|
||||
@@ -197,7 +197,7 @@
|
||||
icon = 'effects.dmi'
|
||||
icon_state = "dirt"
|
||||
|
||||
/obj/decal/cleanable/greenglow
|
||||
/obj/effects/decal/cleanable/greenglow
|
||||
name = "green glow"
|
||||
desc = "Eerie. This makes you feel creepy."
|
||||
density = 0
|
||||
@@ -206,7 +206,7 @@
|
||||
icon = 'effects.dmi'
|
||||
icon_state = "greenglow"
|
||||
|
||||
/obj/decal/cleanable/cobweb
|
||||
/obj/effects/decal/cleanable/cobweb
|
||||
name = "cobweb"
|
||||
desc = "Someone should remove that."
|
||||
density = 0
|
||||
@@ -215,7 +215,7 @@
|
||||
icon = 'effects.dmi'
|
||||
icon_state = "cobweb1"
|
||||
|
||||
/obj/decal/cleanable/molten_item
|
||||
/obj/effects/decal/cleanable/molten_item
|
||||
name = "gooey grey mass"
|
||||
desc = "Huh. Creepy..."
|
||||
density = 0
|
||||
@@ -224,7 +224,7 @@
|
||||
icon = 'chemical.dmi'
|
||||
icon_state = "molten"
|
||||
|
||||
/obj/decal/cleanable/cobweb2
|
||||
/obj/effects/decal/cleanable/cobweb2
|
||||
name = "cobweb"
|
||||
desc = "Someone should remove that."
|
||||
density = 0
|
||||
@@ -234,13 +234,13 @@
|
||||
icon_state = "cobweb2"
|
||||
|
||||
// Used for spray that you spray at walls, tables, hydrovats etc
|
||||
/obj/decal/spraystill
|
||||
/obj/effects/decal/spraystill
|
||||
density = 0
|
||||
anchored = 1
|
||||
layer = 50
|
||||
|
||||
//Vomit (sorry)
|
||||
/obj/decal/cleanable/vomit
|
||||
/obj/effects/decal/cleanable/vomit
|
||||
name = "Vomit"
|
||||
desc = "Gosh, how unpleasant."
|
||||
density = 0
|
||||
@@ -256,7 +256,7 @@
|
||||
D.cure(0)
|
||||
..()
|
||||
|
||||
/obj/decal/cleanable/tomato_smudge
|
||||
/obj/effects/decal/cleanable/tomato_smudge
|
||||
name = "Tomato smooth"
|
||||
desc = "It's red"
|
||||
density = 0
|
||||
@@ -265,7 +265,7 @@
|
||||
icon = 'tomatodecal.dmi'
|
||||
random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3")
|
||||
|
||||
/obj/decal/cleanable/egg_smudge
|
||||
/obj/effects/decal/cleanable/egg_smudge
|
||||
name = "Smashed egg"
|
||||
desc = ""
|
||||
density = 0
|
||||
|
||||
@@ -1296,7 +1296,7 @@
|
||||
|
||||
throw_impact(atom/hit_atom)
|
||||
..()
|
||||
new/obj/decal/cleanable/tomato_smudge(src.loc)
|
||||
new/obj/effects/decal/cleanable/tomato_smudge(src.loc)
|
||||
src.visible_message("\red [src.name] has been squashed.","\red You hear a smack.")
|
||||
del(src)
|
||||
return
|
||||
@@ -1324,7 +1324,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato/attack_self(mob/user as mob)
|
||||
if(istype(user.loc,/turf/space))
|
||||
return
|
||||
new /obj/critter/killertomato(user.loc)
|
||||
new /obj/effects/critter/killertomato(user.loc)
|
||||
|
||||
del(src)
|
||||
|
||||
@@ -1481,7 +1481,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user as mob)
|
||||
if(istype(user.loc,/turf/space))
|
||||
return
|
||||
new /obj/critter/walkingmushroom(user.loc)
|
||||
new /obj/effects/critter/walkingmushroom(user.loc)
|
||||
|
||||
del(src)
|
||||
|
||||
@@ -1520,7 +1520,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user as mob)
|
||||
if(istype(user.loc,/turf/space))
|
||||
return
|
||||
var/obj/glowshroom/planted = new /obj/glowshroom(user.loc)
|
||||
var/obj/effects/glowshroom/planted = new /obj/effects/glowshroom(user.loc)
|
||||
|
||||
planted.delay = lifespan * 50
|
||||
planted.endurance = endurance
|
||||
@@ -1625,7 +1625,7 @@
|
||||
|
||||
/obj/item/weapon/grown/gibtomato/New()
|
||||
..()
|
||||
src.gibs = new /obj/gibspawner/human(get_turf(src))
|
||||
src.gibs = new /obj/effects/gibspawner/human(get_turf(src))
|
||||
src.gibs.attach(src)
|
||||
src.smoke.set_up(10, 0, usr.loc)
|
||||
*/
|
||||
|
||||
@@ -428,7 +428,7 @@
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
var
|
||||
obj/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise.
|
||||
obj/effects/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise.
|
||||
|
||||
/obj/machinery/hologram/holopad
|
||||
name = "AI holopad"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
/obj/spawner
|
||||
/obj/effects/spawner
|
||||
name = "object spawner"
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"/obj/item/weapon/pen/sleepypen",
|
||||
"/obj/item/weapon/chem_grenade/incendiary")
|
||||
cost = 20
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Special Ops crate"
|
||||
hidden = 1
|
||||
|
||||
@@ -30,14 +30,14 @@
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/grown/banana",
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/grown/banana")
|
||||
cost = 5
|
||||
containertype = "/obj/crate/freezer"
|
||||
containertype = "/obj/station_objects/crate/freezer"
|
||||
containername = "Food crate"
|
||||
|
||||
/datum/supply_packs/monkey
|
||||
name = "Monkey crate"
|
||||
contains = list ("/obj/item/weapon/monkeycube_box")
|
||||
cost = 20
|
||||
containertype = "/obj/crate/freezer"
|
||||
containertype = "/obj/station_objects/crate/freezer"
|
||||
containername = "Monkey crate"
|
||||
|
||||
/*
|
||||
@@ -47,7 +47,7 @@
|
||||
"/obj/item/ammo_casing/shotgun/beanbag",
|
||||
"/obj/item/ammo_casing/shotgun/beanbag")
|
||||
cost = 25
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Shotgun crate"
|
||||
//APPARENTLY OP?
|
||||
*/
|
||||
@@ -65,7 +65,7 @@
|
||||
"/obj/item/ammo_casing/shotgun/beanbag",
|
||||
"/obj/item/ammo_casing/shotgun/beanbag")
|
||||
cost = 10
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Beanbag shells"
|
||||
|
||||
/datum/supply_packs/party
|
||||
@@ -81,7 +81,7 @@
|
||||
"/obj/item/weapon/reagent_containers/food/drinks/beer",
|
||||
"/obj/item/weapon/reagent_containers/food/drinks/beer")
|
||||
cost = 20
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Party equipment"
|
||||
|
||||
/datum/supply_packs/internals
|
||||
@@ -93,7 +93,7 @@
|
||||
"/obj/item/weapon/tank/air",
|
||||
"/obj/item/weapon/tank/air")
|
||||
cost = 10
|
||||
containertype = "/obj/crate/internals"
|
||||
containertype = "/obj/station_objects/crate/internals"
|
||||
containername = "Internals crate"
|
||||
|
||||
/datum/supply_packs/evacuation
|
||||
@@ -113,7 +113,7 @@
|
||||
"/obj/item/clothing/mask/gas",
|
||||
"/obj/item/clothing/mask/gas")
|
||||
cost = 35
|
||||
containertype = "/obj/crate/internals"
|
||||
containertype = "/obj/station_objects/crate/internals"
|
||||
containername = "Emergency Crate"
|
||||
|
||||
/datum/supply_packs/janitor
|
||||
@@ -129,9 +129,9 @@
|
||||
"/obj/item/weapon/chem_grenade/cleaner",
|
||||
"/obj/item/weapon/chem_grenade/cleaner",
|
||||
"/obj/item/weapon/chem_grenade/cleaner",
|
||||
"/obj/mopbucket")
|
||||
"/obj/station_objects/mopbucket")
|
||||
cost = 10
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Janitorial supplies"
|
||||
|
||||
/obj/item/weapon/storage/lightbox/tubes
|
||||
@@ -147,7 +147,7 @@
|
||||
"/obj/item/weapon/storage/lightbox/bulbs",
|
||||
"/obj/item/weapon/storage/lightbox/bulbs")
|
||||
cost = 5
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Replacement lights"
|
||||
|
||||
/datum/supply_packs/costume
|
||||
@@ -165,7 +165,7 @@
|
||||
"/obj/item/clothing/suit/suspenders",
|
||||
"/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing")
|
||||
cost = 10
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "Standard Costumes"
|
||||
access = access_theatre
|
||||
|
||||
@@ -176,14 +176,14 @@
|
||||
"/obj/item/clothing/shoes/sandal",
|
||||
"/obj/item/clothing/head/wizard/fake")
|
||||
cost = 20
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Wizard costume crate"
|
||||
|
||||
/datum/supply_packs/mule
|
||||
name = "MULEbot Crate"
|
||||
contains = list("/obj/machinery/bot/mulebot")
|
||||
cost = 20
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "MULEbot Crate"
|
||||
|
||||
/datum/supply_packs/hydroponics // -- Skie
|
||||
@@ -197,7 +197,7 @@
|
||||
"/obj/item/clothing/gloves/botanic_leather",
|
||||
"/obj/item/clothing/suit/apron") // Updated with new things
|
||||
cost = 10
|
||||
containertype = /obj/crate/hydroponics
|
||||
containertype = /obj/station_objects/crate/hydroponics
|
||||
containername = "Hydroponics crate"
|
||||
access = access_hydroponics
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
"/obj/item/seeds/chantermycelium",
|
||||
"/obj/item/seeds/potatoseed")
|
||||
cost = 10
|
||||
containertype = /obj/crate/hydroponics
|
||||
containertype = /obj/station_objects/crate/hydroponics
|
||||
containername = "Seeds crate"
|
||||
access = access_hydroponics
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
"/obj/item/seeds/bananaseed",
|
||||
"/obj/item/seeds/eggyseed")
|
||||
cost = 15
|
||||
containertype = /obj/crate/hydroponics
|
||||
containertype = /obj/station_objects/crate/hydroponics
|
||||
containername = "Exotic Seeds crate"
|
||||
access = access_hydroponics
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
"/obj/item/weapon/reagent_containers/glass/bottle/stoxin",
|
||||
"/obj/item/weapon/storage/syringes")
|
||||
cost = 10
|
||||
containertype = "/obj/crate/medical"
|
||||
containertype = "/obj/station_objects/crate/medical"
|
||||
containername = "Medical crate"
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
"/obj/item/weapon/storage/syringes",
|
||||
"/obj/item/weapon/storage/beakerbox")
|
||||
cost = 20
|
||||
containertype = "/obj/crate/secure/weapon"
|
||||
containertype = "/obj/station_objects/crate/secure/weapon"
|
||||
containername = "Virus crate"
|
||||
access = access_cmo
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
contains = list("/obj/item/stack/sheet/metal")
|
||||
amount = 50
|
||||
cost = 10
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Metal sheets crate"
|
||||
|
||||
/datum/supply_packs/glass50
|
||||
@@ -281,7 +281,7 @@
|
||||
contains = list("/obj/item/stack/sheet/glass")
|
||||
amount = 50
|
||||
cost = 10
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Glass sheets crate"
|
||||
|
||||
/datum/supply_packs/electrical
|
||||
@@ -295,7 +295,7 @@
|
||||
"/obj/item/weapon/cell/high",
|
||||
"/obj/item/weapon/cell/high")
|
||||
cost = 15
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Electrical maintenance crate"
|
||||
|
||||
/datum/supply_packs/mechanical
|
||||
@@ -310,15 +310,15 @@
|
||||
"/obj/item/clothing/head/helmet/welding",
|
||||
"/obj/item/clothing/head/helmet/hardhat")
|
||||
cost = 10
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Mechanical maintenance crate"
|
||||
|
||||
/datum/supply_packs/waterfueltank
|
||||
name = "Water/Fuel tank crate"
|
||||
contains = list("/obj/reagent_dispensers/watertank",
|
||||
"/obj/reagent_dispensers/fueltank")
|
||||
contains = list("/obj/station_objects/reagent_dispensers/watertank",
|
||||
"/obj/station_objects/reagent_dispensers/fueltank")
|
||||
cost = 15
|
||||
containertype = "/obj/crate"
|
||||
containertype = "/obj/station_objects/crate"
|
||||
containername = "Water/Fuel tank crate"
|
||||
|
||||
/datum/supply_packs/engine
|
||||
@@ -326,7 +326,7 @@
|
||||
contains = list("/obj/machinery/emitter",
|
||||
"/obj/machinery/emitter",)
|
||||
cost = 10
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "Emitter crate"
|
||||
access = access_heads
|
||||
|
||||
@@ -351,13 +351,13 @@
|
||||
/datum/supply_packs/engine/PA
|
||||
name = "Particle Accelerator crate"
|
||||
cost = 40
|
||||
contains = list("/obj/particle_accelerator/fuel_chamber",
|
||||
contains = list("/obj/station_objects/particle_accelerator/fuel_chamber",
|
||||
"/obj/machinery/particle_accelerator/control_box",
|
||||
"/obj/particle_accelerator/particle_emitter/center",
|
||||
"/obj/particle_accelerator/particle_emitter/left",
|
||||
"/obj/particle_accelerator/particle_emitter/right",
|
||||
"/obj/particle_accelerator/power_box",
|
||||
"/obj/particle_accelerator/end_cap")
|
||||
"/obj/station_objects/particle_accelerator/particle_emitter/center",
|
||||
"/obj/station_objects/particle_accelerator/particle_emitter/left",
|
||||
"/obj/station_objects/particle_accelerator/particle_emitter/right",
|
||||
"/obj/station_objects/particle_accelerator/power_box",
|
||||
"/obj/station_objects/particle_accelerator/end_cap")
|
||||
containername = "Particle Accelerator crate"
|
||||
|
||||
/datum/supply_packs/mecha_ripley
|
||||
@@ -366,7 +366,7 @@
|
||||
"/obj/item/mecha_parts/circuitboard/ripley/peripherals", //TEMPORARY due to lack of circuitboard printer
|
||||
"/obj/item/mecha_parts/circuitboard/ripley/main") //TEMPORARY due to lack of circuitboard printer
|
||||
cost = 40
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "APLU \"Ripley\" Circuit Crate"
|
||||
access = access_robotics
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
"/obj/item/weapon/cell/high",
|
||||
"/obj/item/weapon/cell/high")
|
||||
cost = 10
|
||||
containertype = "/obj/crate/secure/gear"
|
||||
containertype = "/obj/station_objects/crate/secure/gear"
|
||||
containername = "Robotics Assembly"
|
||||
access = access_robotics
|
||||
|
||||
@@ -402,7 +402,7 @@
|
||||
"/obj/item/device/timer",
|
||||
"/obj/item/device/timer")
|
||||
cost = 10
|
||||
containertype = "/obj/crate/secure/plasma"
|
||||
containertype = "/obj/station_objects/crate/secure/plasma"
|
||||
containername = "Plasma assembly crate"
|
||||
access = access_tox
|
||||
|
||||
@@ -417,7 +417,7 @@
|
||||
"/obj/item/weapon/storage/flashbang_kit",
|
||||
"/obj/item/weapon/storage/flashbang_kit")
|
||||
cost = 30
|
||||
containertype = "/obj/crate/secure/weapon"
|
||||
containertype = "/obj/station_objects/crate/secure/weapon"
|
||||
containername = "Weapons crate"
|
||||
access = access_security
|
||||
|
||||
@@ -432,7 +432,7 @@
|
||||
"/obj/item/weapon/chem_grenade/incendiary",
|
||||
"/obj/item/clothing/gloves/stungloves")
|
||||
cost = 25
|
||||
containertype = "/obj/crate/secure/weapon"
|
||||
containertype = "/obj/station_objects/crate/secure/weapon"
|
||||
containername = "Experimental weapons crate"
|
||||
access = access_heads
|
||||
|
||||
@@ -443,7 +443,7 @@
|
||||
"/obj/item/clothing/suit/armor/vest",
|
||||
"/obj/item/clothing/suit/armor/vest")
|
||||
cost = 15
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "Armor crate"
|
||||
access = access_security
|
||||
|
||||
@@ -468,7 +468,7 @@
|
||||
"/obj/item/clothing/head/helmet/riot",
|
||||
"/obj/item/clothing/suit/armor/riot")
|
||||
cost = 60
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "Riot gear crate"
|
||||
access = access_armory
|
||||
|
||||
@@ -479,7 +479,7 @@
|
||||
"/obj/item/weapon/gun/projectile/shotgun/combat2",
|
||||
"/obj/item/weapon/gun/projectile/shotgun/combat2")
|
||||
cost = 50
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "Ballistic gear crate"
|
||||
access = access_armory
|
||||
|
||||
@@ -490,7 +490,7 @@
|
||||
"/obj/item/weapon/gun/energy",
|
||||
"/obj/item/weapon/gun/energy")
|
||||
cost = 50
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "Experimental energy gear crate"
|
||||
access = access_armory
|
||||
|
||||
@@ -501,7 +501,7 @@
|
||||
"/obj/item/clothing/head/helmet/riot",
|
||||
"/obj/item/clothing/suit/armor/riot")
|
||||
cost = 35
|
||||
containertype = "/obj/crate/secure"
|
||||
containertype = "/obj/station_objects/crate/secure"
|
||||
containername = "Experimental armor crate"
|
||||
access = access_armory
|
||||
|
||||
@@ -512,7 +512,7 @@
|
||||
"/obj/machinery/deployable/barrier",
|
||||
"/obj/machinery/deployable/barrier")
|
||||
cost = 20
|
||||
containertype = "/obj/crate/secure/gear"
|
||||
containertype = "/obj/station_objects/crate/secure/gear"
|
||||
containername = "Secruity Barriers crate"
|
||||
|
||||
/datum/supply_packs/hats/
|
||||
@@ -542,7 +542,7 @@
|
||||
"/obj/item/clothing/head/collectable/petehat")
|
||||
name = "Collectable Hat Crate!"
|
||||
cost = 200
|
||||
containertype = "/obj/crate/hat"
|
||||
containertype = "/obj/station_objects/crate/hat"
|
||||
containername = "Collectable Hats Crate! Brought to you by Bass.inc!"
|
||||
|
||||
/datum/supply_packs/hats/New()
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
flags = FPRINT | TABLEPASS
|
||||
w_class = 1.0
|
||||
|
||||
/obj/foam_dart_dummy
|
||||
/obj/effects/foam_dart_dummy
|
||||
name = ""
|
||||
desc = ""
|
||||
icon = 'toy.dmi'
|
||||
@@ -174,11 +174,11 @@
|
||||
if(!isturf(target.loc) || target == user) return
|
||||
if(flag) return
|
||||
|
||||
if (locate (/obj/table, src.loc))
|
||||
if (locate (/obj/station_objects/table, src.loc))
|
||||
return
|
||||
else if (bullets)
|
||||
var/turf/trg = get_turf(target)
|
||||
var/obj/foam_dart_dummy/D = new/obj/foam_dart_dummy(get_turf(src))
|
||||
var/obj/effects/foam_dart_dummy/D = new/obj/effects/foam_dart_dummy(get_turf(src))
|
||||
bullets--
|
||||
D.icon_state = "foamdart"
|
||||
D.name = "foam dart"
|
||||
@@ -269,7 +269,7 @@
|
||||
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
new /obj/decal/ash(src.loc)
|
||||
new /obj/effects/decal/ash(src.loc)
|
||||
src.visible_message("\red The [src.name] explodes!","\red You hear a snap!")
|
||||
playsound(src, 'snap.ogg', 50, 1)
|
||||
del(src)
|
||||
@@ -283,7 +283,7 @@
|
||||
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
|
||||
s.set_up(2, 0, src)
|
||||
s.start()
|
||||
new /obj/decal/ash(src.loc)
|
||||
new /obj/effects/decal/ash(src.loc)
|
||||
src.visible_message("\red The [src.name] explodes!","\red You hear a snap!")
|
||||
playsound(src, 'snap.ogg', 50, 1)
|
||||
del(src)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/window
|
||||
/obj/station_objects/window
|
||||
name = "window"
|
||||
icon = 'structures.dmi'
|
||||
desc = "A window."
|
||||
@@ -20,45 +20,45 @@
|
||||
|
||||
// Basic
|
||||
|
||||
/obj/window/basic
|
||||
/obj/station_objects/window/basic
|
||||
icon_state = "window"
|
||||
|
||||
/obj/window/basic/north
|
||||
/obj/station_objects/window/basic/north
|
||||
dir = NORTH
|
||||
|
||||
/obj/window/basic/east
|
||||
/obj/station_objects/window/basic/east
|
||||
dir = EAST
|
||||
|
||||
/obj/window/basic/west
|
||||
/obj/station_objects/window/basic/west
|
||||
dir = WEST
|
||||
|
||||
/obj/window/basic/south
|
||||
/obj/station_objects/window/basic/south
|
||||
dir = SOUTH
|
||||
|
||||
/obj/window/basic/northwest
|
||||
/obj/station_objects/window/basic/northwest
|
||||
dir = NORTHWEST
|
||||
|
||||
/obj/window/basic/northeast
|
||||
/obj/station_objects/window/basic/northeast
|
||||
dir = NORTHEAST
|
||||
|
||||
/obj/window/basic/southwest
|
||||
/obj/station_objects/window/basic/southwest
|
||||
dir = SOUTHWEST
|
||||
|
||||
/obj/window/basic/southeast
|
||||
/obj/station_objects/window/basic/southeast
|
||||
dir = SOUTHEAST
|
||||
|
||||
// Reinforced
|
||||
|
||||
/obj/window/reinforced
|
||||
/obj/station_objects/window/reinforced
|
||||
reinf = 1
|
||||
icon_state = "rwindow"
|
||||
name = "reinforced window"
|
||||
|
||||
/obj/window/reinforced/tinted
|
||||
/obj/station_objects/window/reinforced/tinted
|
||||
name = "tinted window"
|
||||
icon_state = "twindow"
|
||||
opacity = 1
|
||||
|
||||
/obj/window/reinforced/tinted/frosted
|
||||
/obj/station_objects/window/reinforced/tinted/frosted
|
||||
icon_state = "fwindow"
|
||||
name = "frosted window"
|
||||
@@ -36,7 +36,7 @@
|
||||
var/Z = source:z
|
||||
spawn(0)
|
||||
//I really shouldnt put this here but i dont have a better idea
|
||||
var/obj/overlay/O = new /obj/overlay ( locate(X,Y,Z) )
|
||||
var/obj/effects/overlay/O = new /obj/effects/overlay ( locate(X,Y,Z) )
|
||||
O.name = "sparkles"
|
||||
O.anchored = 1
|
||||
O.density = 0
|
||||
|
||||
@@ -538,7 +538,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
|
||||
|
||||
/proc/DirBlocked(turf/loc,var/dir)
|
||||
for(var/obj/window/D in loc)
|
||||
for(var/obj/station_objects/window/D in loc)
|
||||
if(!D.density) continue
|
||||
if(D.dir == SOUTHWEST) return 1
|
||||
if(D.dir == dir) return 1
|
||||
@@ -553,7 +553,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
|
||||
/proc/TurfBlockedNonWindow(turf/loc)
|
||||
for(var/obj/O in loc)
|
||||
if(O.density && !istype(O, /obj/window))
|
||||
if(O.density && !istype(O, /obj/station_objects/window))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ mob
|
||||
overlays+=I
|
||||
|
||||
// Testing object types (and layers)
|
||||
overlays+=/obj/overlayTest
|
||||
overlays+=/obj/effects/overlayTest
|
||||
|
||||
loc = locate (10,10,1)
|
||||
verb
|
||||
@@ -199,7 +199,7 @@ mob
|
||||
getFlatIcon(src)
|
||||
Browse_Icon()
|
||||
|
||||
obj/overlayTest
|
||||
obj/effects/overlayTest
|
||||
icon = 'old_or_unused.dmi'
|
||||
icon_state = "blue"
|
||||
pixel_x = -24
|
||||
|
||||
@@ -90,7 +90,7 @@ proc/spawn_asteroid(var/turf/start_loc,var/type,var/size,var/richness)//type: 0
|
||||
return
|
||||
|
||||
/datum/game_mode/proc/spawn_exporation_packs()
|
||||
for (var/obj/landmark/L in world)
|
||||
for (var/obj/effects/landmark/L in world)
|
||||
if (L.tag == "landmark*ExplorationPack")
|
||||
new /obj/item/weapon/storage/explorers_box(L.loc)
|
||||
del(L)
|
||||
@@ -102,7 +102,7 @@ proc/spawn_room(var/atom/start_loc,var/x_size,var/y_size,var/wall,var/floor)
|
||||
|
||||
//world << "Room spawned at [start_loc.x],[start_loc.y],[start_loc.z]"
|
||||
if(!wall)
|
||||
wall = pick(/turf/simulated/wall/r_wall,/turf/simulated/wall,/obj/alien/resin)
|
||||
wall = pick(/turf/simulated/wall/r_wall,/turf/simulated/wall,/obj/effects/alien/resin)
|
||||
if(!floor)
|
||||
floor = pick(/turf/simulated/floor,/turf/simulated/floor/engine)
|
||||
|
||||
@@ -135,7 +135,7 @@ proc/admin_spawn_room_at_pos()
|
||||
if("Asteroid wall")
|
||||
wall=/turf/simulated/wall/asteroid
|
||||
if("Resin wall")
|
||||
wall=/obj/alien/resin
|
||||
wall=/obj/effects/alien/resin
|
||||
switch(alert("Floor type",null,"Regular floor","Reinforced floor"))
|
||||
if("Regular floor")
|
||||
floor=/turf/simulated/floor
|
||||
@@ -145,9 +145,9 @@ proc/admin_spawn_room_at_pos()
|
||||
spawn_room(locate(x,y,z),x_len,y_len,wall,floor)
|
||||
return
|
||||
|
||||
var/global/list/space_surprises = list(/obj/alien/facehugger,
|
||||
/obj/critter/spesscarp,
|
||||
/obj/critter/spesscarp/elite,
|
||||
var/global/list/space_surprises = list(/obj/effects/alien/facehugger,
|
||||
/obj/effects/critter/spesscarp,
|
||||
/obj/effects/critter/spesscarp/elite,
|
||||
// /obj/creature,
|
||||
/obj/item/weapon/rcd,
|
||||
/obj/item/weapon/rcd_ammo,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
m_amt = 500
|
||||
var/obj/ship_landing_beacon/beacon = null
|
||||
var/obj/effects/ship_landing_beacon/beacon = null
|
||||
var/active = 0
|
||||
|
||||
attack_self()
|
||||
@@ -24,7 +24,7 @@
|
||||
proc/work()
|
||||
while(active)
|
||||
if(!beacon)
|
||||
for(var/obj/ship_landing_beacon/B in world)
|
||||
for(var/obj/effects/ship_landing_beacon/B in world)
|
||||
if(B.name == "Beacon - SS13")
|
||||
beacon = B
|
||||
break
|
||||
@@ -85,7 +85,7 @@
|
||||
P.name = "Cyanide pill"
|
||||
return
|
||||
|
||||
/obj/ship_landing_beacon
|
||||
/obj/effects/ship_landing_beacon
|
||||
icon = 'craft.dmi'
|
||||
icon_state = "beacon"
|
||||
name = "Beacon"
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
/turf/simulated/wall/asteroid/facehugger
|
||||
icon_state = "asteroid_i"
|
||||
contains = /obj/alien/facehugger
|
||||
contains = /obj/effects/alien/facehugger
|
||||
max_amount = 1
|
||||
min_amount = 0
|
||||
|
||||
|
||||
@@ -136,9 +136,9 @@
|
||||
var/list/objsonturf = range(0,src)
|
||||
var/i
|
||||
for(i=1, i<=objsonturf.len, i++)
|
||||
if(istype(objsonturf[i],/obj/decal/cleanable/blood))
|
||||
if(istype(objsonturf[i],/obj/effects/decal/cleanable/blood))
|
||||
return
|
||||
var/obj/decal/cleanable/blood/this = new /obj/decal/cleanable/blood(source2)
|
||||
var/obj/effects/decal/cleanable/blood/this = new /obj/effects/decal/cleanable/blood(source2)
|
||||
this.blood_DNA = M.dna.unique_enzymes
|
||||
this.blood_type = M.b_type
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
@@ -161,7 +161,7 @@
|
||||
|
||||
/atom/proc/add_vomit_floor(mob/living/carbon/M as mob)
|
||||
if( istype(src, /turf/simulated) )
|
||||
var/obj/decal/cleanable/vomit/this = new /obj/decal/cleanable/vomit(src)
|
||||
var/obj/effects/decal/cleanable/vomit/this = new /obj/effects/decal/cleanable/vomit(src)
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
var/datum/disease/newDisease = new D.type
|
||||
this.viruses += newDisease
|
||||
@@ -172,7 +172,7 @@
|
||||
if( istype(M, /mob/living/carbon/monkey) )
|
||||
if( istype(src, /turf/simulated) )
|
||||
var/turf/simulated/source1 = src
|
||||
var/obj/decal/cleanable/blood/this = new /obj/decal/cleanable/blood(source1)
|
||||
var/obj/effects/decal/cleanable/blood/this = new /obj/effects/decal/cleanable/blood(source1)
|
||||
this.blood_DNA = M.dna.unique_enzymes
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
var/datum/disease/newDisease = new D.type
|
||||
@@ -182,7 +182,7 @@
|
||||
else if( istype(M, /mob/living/carbon/alien ))
|
||||
if( istype(src, /turf/simulated) )
|
||||
var/turf/simulated/source2 = src
|
||||
var/obj/decal/cleanable/xenoblood/this = new /obj/decal/cleanable/xenoblood(source2)
|
||||
var/obj/effects/decal/cleanable/xenoblood/this = new /obj/effects/decal/cleanable/xenoblood(source2)
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
var/datum/disease/newDisease = new D.type
|
||||
this.viruses += newDisease
|
||||
@@ -191,7 +191,7 @@
|
||||
else if( istype(M, /mob/living/silicon/robot ))
|
||||
if( istype(src, /turf/simulated) )
|
||||
var/turf/simulated/source2 = src
|
||||
var/obj/decal/cleanable/oil/this = new /obj/decal/cleanable/oil(source2)
|
||||
var/obj/effects/decal/cleanable/oil/this = new /obj/effects/decal/cleanable/oil(source2)
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
var/datum/disease/newDisease = new D.type
|
||||
this.viruses += newDisease
|
||||
|
||||
@@ -101,13 +101,13 @@
|
||||
|
||||
sleep(50)
|
||||
|
||||
plmaster = new /obj/overlay( )
|
||||
plmaster = new /obj/effects/overlay( )
|
||||
plmaster.icon = 'tile_effects.dmi'
|
||||
plmaster.icon_state = "plasma"
|
||||
plmaster.layer = FLY_LAYER
|
||||
plmaster.mouse_opacity = 0
|
||||
|
||||
slmaster = new /obj/overlay( )
|
||||
slmaster = new /obj/effects/overlay( )
|
||||
slmaster.icon = 'tile_effects.dmi'
|
||||
slmaster.icon_state = "sleeping_agent"
|
||||
slmaster.layer = FLY_LAYER
|
||||
@@ -179,13 +179,13 @@
|
||||
if (!tile)
|
||||
return
|
||||
|
||||
var/P = new /obj/decal/point(tile)
|
||||
var/P = new /obj/effects/decal/point(tile)
|
||||
spawn (20)
|
||||
del(P)
|
||||
|
||||
usr.visible_message("<b>[usr]</b> points to [this]")
|
||||
|
||||
/obj/decal/point/point()
|
||||
/obj/effects/decal/point/point()
|
||||
set src in oview()
|
||||
set hidden = 1
|
||||
return
|
||||
@@ -90,7 +90,7 @@
|
||||
sleep(10)
|
||||
src.smoke.start()
|
||||
|
||||
for(var/obj/blob/B in view(8,src))
|
||||
for(var/obj/effects/blob/B in view(8,src))
|
||||
var/damage = round(30/(get_dist(B,src)+1))
|
||||
B.health -= damage
|
||||
B.update()
|
||||
@@ -159,7 +159,7 @@
|
||||
sleep(10)
|
||||
src.mustard_gas.start()
|
||||
|
||||
for(var/obj/blob/B in view(8,src))
|
||||
for(var/obj/effects/blob/B in view(8,src))
|
||||
var/damage = round(30/(get_dist(B,src)+1))
|
||||
B.health -= damage
|
||||
B.update()
|
||||
|
||||
@@ -163,7 +163,7 @@ datum/controller/radio
|
||||
|
||||
datum/radio_frequency
|
||||
var/frequency as num
|
||||
var/list/list/obj/devices = list()
|
||||
var/list/list/obj/station_objects/devices = list()
|
||||
|
||||
proc
|
||||
post_signal(obj/source as obj|null, datum/signal/signal, var/filter = null as text|null, var/range = null as num|null)
|
||||
@@ -178,7 +178,7 @@ datum/radio_frequency
|
||||
del(signal)
|
||||
return 0
|
||||
if (filter) //here goes some copypasta. It is for optimisation. -rastaf0
|
||||
for(var/obj/device in devices[filter])
|
||||
for(var/obj/station_objects/device in devices[filter])
|
||||
if(device == source)
|
||||
continue
|
||||
if(range)
|
||||
@@ -189,7 +189,7 @@ datum/radio_frequency
|
||||
if(start_point.z!=end_point.z || get_dist(start_point, end_point) > range)
|
||||
continue
|
||||
device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
|
||||
for(var/obj/device in devices["_default"])
|
||||
for(var/obj/station_objects/device in devices["_default"])
|
||||
if(device == source)
|
||||
continue
|
||||
if(range)
|
||||
@@ -205,7 +205,7 @@ datum/radio_frequency
|
||||
for (var/next_filter in devices)
|
||||
// var/list/obj/DDD = devices[next_filter]
|
||||
// Nt+=DDD.len
|
||||
for(var/obj/device in devices[next_filter])
|
||||
for(var/obj/station_objects/device in devices[next_filter])
|
||||
if(device == source)
|
||||
continue
|
||||
if(range)
|
||||
@@ -227,12 +227,12 @@ datum/radio_frequency
|
||||
if (!filter)
|
||||
filter = "_default"
|
||||
//log_admin("add_listener(device=[device],filter=[filter]) frequency=[frequency]")
|
||||
var/list/obj/devices_line = devices[filter]
|
||||
var/list/obj/station_objects/devices_line = devices[filter]
|
||||
if (!devices_line)
|
||||
devices_line = new
|
||||
devices[filter] = devices_line
|
||||
devices_line+=device
|
||||
// var/list/obj/devices_line___ = devices[filter_str]
|
||||
// var/list/obj/station_objects/devices_line___ = devices[filter_str]
|
||||
// var/l = devices_line___.len
|
||||
//log_admin("DEBUG: devices_line.len=[devices_line.len]")
|
||||
//log_admin("DEBUG: devices(filter_str).len=[l]")
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
for(var/i = 1 to 3)
|
||||
var/turf/location = pick(blobstart)
|
||||
if(location)
|
||||
if(!locate(/obj/blob in location))
|
||||
var/obj/blob/blob = new/obj/blob(location)
|
||||
if(!locate(/obj/effects/blob in location))
|
||||
var/obj/effects/blob/blob = new/obj/effects/blob(location)
|
||||
spawn(200)
|
||||
if(blob)
|
||||
if(blob.blobtype == "Blob")
|
||||
@@ -58,7 +58,7 @@
|
||||
for(var/i = 1 to 10)
|
||||
sleep(-1)
|
||||
if(!active_blobs.len) break
|
||||
var/obj/blob/B = pick(active_blobs)
|
||||
var/obj/effects/blob/B = pick(active_blobs)
|
||||
if(B.z != 1)
|
||||
continue
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
return 1
|
||||
if(station_was_nuked)
|
||||
return 1
|
||||
for(var/obj/blob/B in blobs)
|
||||
for(var/obj/effects/blob/B in blobs)
|
||||
if(B.z == 1)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//I will need to recode parts of this but I am way too tired atm
|
||||
/obj/blob
|
||||
/obj/effects/blob
|
||||
name = "blob"
|
||||
icon = 'blob.dmi'
|
||||
icon_state = "blob"
|
||||
@@ -121,7 +121,7 @@
|
||||
var/dirn = pick(dirs)
|
||||
dirs.Remove(dirn)
|
||||
var/turf/T = get_step(src, dirn)
|
||||
var/obj/blob/B = (locate(/obj/blob) in T)
|
||||
var/obj/effects/blob/B = (locate(/obj/effects/blob) in T)
|
||||
if(!B)
|
||||
expand(T)//No blob here so try and expand
|
||||
return
|
||||
@@ -134,7 +134,7 @@
|
||||
set background = 1
|
||||
switch(blobtype)
|
||||
if("Factory")
|
||||
new/obj/critter/blob(src.loc)
|
||||
new/obj/effects/critter/blob(src.loc)
|
||||
return 1
|
||||
if("Core")
|
||||
spawn(0)//Needs to be changed
|
||||
@@ -169,12 +169,12 @@
|
||||
var/dirn = pick(dirs)
|
||||
dirs.Remove(dirn)
|
||||
T = get_step(src, dirn)
|
||||
if((locate(/obj/blob) in T))
|
||||
if((locate(/obj/effects/blob) in T))
|
||||
T = null
|
||||
continue
|
||||
else break
|
||||
if(T)
|
||||
var/obj/blob/B = new /obj/blob(src.loc, min(src.health, 30))
|
||||
var/obj/effects/blob/B = new /obj/effects/blob(src.loc, min(src.health, 30))
|
||||
if(T.Enter(B,src))
|
||||
B.loc = T
|
||||
else
|
||||
@@ -283,9 +283,9 @@
|
||||
if(O.z != 1)
|
||||
continue
|
||||
|
||||
if(istype(O, /obj/window))
|
||||
if(istype(O, /obj/station_objects/window))
|
||||
src.window++
|
||||
else if(istype(O, /obj/grille))
|
||||
else if(istype(O, /obj/station_objects/grille))
|
||||
if(!O:destroyed)
|
||||
src.grille++
|
||||
else if(istype(O, /obj/machinery/door))
|
||||
@@ -308,7 +308,7 @@
|
||||
|
||||
//////////////////////////////****IDLE BLOB***/////////////////////////////////////
|
||||
|
||||
/obj/blob/idle
|
||||
/obj/effects/blob/idle
|
||||
name = "blob"
|
||||
desc = "it looks... tasty"
|
||||
icon_state = "blobidle0"
|
||||
@@ -334,26 +334,26 @@
|
||||
|
||||
|
||||
Del() //idle blob that spawns a normal blob when killed.
|
||||
var/obj/blob/B = new /obj/blob( src.loc )
|
||||
var/obj/effects/blob/B = new /obj/effects/blob( src.loc )
|
||||
spawn(30)
|
||||
B.Life()
|
||||
..()
|
||||
|
||||
|
||||
|
||||
/obj/blob/core/New()
|
||||
/obj/effects/blob/core/New()
|
||||
..()
|
||||
spawn()
|
||||
src.blobdebug = 1
|
||||
src.Life()
|
||||
|
||||
/obj/blob/node/New()
|
||||
/obj/effects/blob/node/New()
|
||||
..()
|
||||
spawn()
|
||||
src.blobdebug = 2
|
||||
src.Life()
|
||||
|
||||
/obj/blob/factory/New()
|
||||
/obj/effects/blob/factory/New()
|
||||
..()
|
||||
spawn()
|
||||
src.blobdebug = 3
|
||||
|
||||
@@ -497,7 +497,7 @@
|
||||
|
||||
usr << "\blue We stealthily sting [T]."
|
||||
|
||||
var/obj/overlay/B = new /obj/overlay( T.loc )
|
||||
var/obj/effects/overlay/B = new /obj/effects/overlay( T.loc )
|
||||
B.icon_state = "blspell"
|
||||
B.icon = 'wizard.dmi'
|
||||
B.name = "spell"
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert")
|
||||
world << sound('granomalies.ogg')
|
||||
var/turf/T = pick(blobstart)
|
||||
var/obj/bhole/bh = new /obj/bhole( T.loc, 30 )
|
||||
var/obj/effects/bhole/bh = new /obj/effects/bhole( T.loc, 30 )
|
||||
spawn(rand(50, 300))
|
||||
del(bh)
|
||||
/*
|
||||
@@ -49,7 +49,7 @@
|
||||
if(prob(20))
|
||||
spawn(50+rand(0,3000))
|
||||
picked = pick(turfs)
|
||||
var/obj/portal/P = new /obj/portal( T )
|
||||
var/obj/effects/portal/P = new /obj/effects/portal( T )
|
||||
P.target = picked
|
||||
P.creator = null
|
||||
P.icon = 'objects.dmi'
|
||||
@@ -85,19 +85,19 @@
|
||||
IonStorm()
|
||||
|
||||
|
||||
/obj/bhole/New()
|
||||
/obj/effects/bhole/New()
|
||||
src.smoke = new /datum/effects/system/harmless_smoke_spread()
|
||||
src.smoke.set_up(5, 0, src)
|
||||
src.smoke.attach(src)
|
||||
src:life()
|
||||
|
||||
/obj/bhole/Bumped(atom/A)
|
||||
/obj/effects/bhole/Bumped(atom/A)
|
||||
if (istype(A,/mob/living))
|
||||
del(A)
|
||||
else
|
||||
A:ex_act(1.0)
|
||||
|
||||
/obj/bhole/proc/life() //Oh man , this will LAG
|
||||
/obj/effects/bhole/proc/life() //Oh man , this will LAG
|
||||
|
||||
if (prob(10))
|
||||
src.anchored = 0
|
||||
@@ -285,11 +285,11 @@
|
||||
while(spawncount > 1)
|
||||
var/obj/vent = pick(vents)
|
||||
if(prob(50))
|
||||
new /obj/alien/facehugger (vent.loc)
|
||||
new /obj/effects/alien/facehugger (vent.loc)
|
||||
if(prob(50))
|
||||
new /obj/alien/facehugger (vent.loc)
|
||||
new /obj/effects/alien/facehugger (vent.loc)
|
||||
if(prob(75))
|
||||
new /obj/alien/egg (vent.loc)
|
||||
new /obj/effects/alien/egg (vent.loc)
|
||||
vents.Remove(vent)
|
||||
spawncount -= 1
|
||||
spawn(rand(3000, 6000)) //Delayed announcements to keep the crew on their toes.
|
||||
@@ -319,7 +319,7 @@
|
||||
temp_apc.overload_lighting()
|
||||
for (var/obj/machinery/computer/prison_shuttle/temp_shuttle in world)
|
||||
temp_shuttle.prison_break()
|
||||
for (var/obj/secure_closet/security/temp_closet in world)
|
||||
for (var/obj/station_objects/secure_closet/security/temp_closet in world)
|
||||
if(istype(get_area(temp_closet), /area/prison))
|
||||
temp_closet.locked = 0
|
||||
temp_closet.icon_state = temp_closet.icon_closed
|
||||
@@ -330,12 +330,12 @@
|
||||
command_alert("Prison station VI is not accepting commands. Recommend station AI involvement.", "VI Alert")
|
||||
|
||||
/proc/carp_migration() // -- Darem
|
||||
for(var/obj/landmark/C in world)
|
||||
for(var/obj/effects/landmark/C in world)
|
||||
if(C.name == "carpspawn")
|
||||
if(prob(99))
|
||||
new /obj/critter/spesscarp(C.loc)
|
||||
new /obj/effects/critter/spesscarp(C.loc)
|
||||
else
|
||||
new /obj/critter/spesscarp/elite(C.loc)
|
||||
new /obj/effects/critter/spesscarp/elite(C.loc)
|
||||
//sleep(100)
|
||||
spawn(rand(3000, 6000)) //Delayed announcements to keep the crew on their toes.
|
||||
command_alert("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert")
|
||||
@@ -350,7 +350,7 @@
|
||||
|
||||
for(var/i=1,i<=lightsoutAmount,i++)
|
||||
var/list/possibleEpicentres = list()
|
||||
for(var/obj/landmark/newEpicentre in world)
|
||||
for(var/obj/effects/landmark/newEpicentre in world)
|
||||
if(newEpicentre.name == "lightsout" && !(newEpicentre in epicentreList))
|
||||
possibleEpicentres += newEpicentre
|
||||
if(possibleEpicentres.len)
|
||||
@@ -361,7 +361,7 @@
|
||||
if(!epicentreList.len)
|
||||
return
|
||||
|
||||
for(var/obj/landmark/epicentre in epicentreList)
|
||||
for(var/obj/effects/landmark/epicentre in epicentreList)
|
||||
for(var/obj/machinery/power/apc/apc in range(epicentre,lightsoutRange))
|
||||
apc.overload_lighting()
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
--NEOFite
|
||||
*/
|
||||
|
||||
/obj/immovablerod
|
||||
/obj/effects/immovablerod
|
||||
name = "Immovable Rod"
|
||||
desc = "What the fuck is that?"
|
||||
icon = 'objects.dmi'
|
||||
@@ -64,7 +64,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
endx = 199
|
||||
|
||||
//rod time!
|
||||
var/obj/immovablerod/immrod = new /obj/immovablerod(locate(startx, starty, 1))
|
||||
var/obj/effects/immovablerod/immrod = new /obj/effects/immovablerod(locate(startx, starty, 1))
|
||||
// world << "Rod in play, starting at [start.loc.x],[start.loc.y] and going to [end.loc.x],[end.loc.y]"
|
||||
var/end = locate(endx, endy, 1)
|
||||
spawn(0)
|
||||
@@ -76,7 +76,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
if(immrod.loc == end)
|
||||
del(immrod)
|
||||
sleep(10)
|
||||
for(var/obj/immovablerod/imm in world)
|
||||
for(var/obj/effects/immovablerod/imm in world)
|
||||
return
|
||||
sleep(50)
|
||||
command_alert("What the fuck was that?!", "General Alert")
|
||||
@@ -11,23 +11,23 @@ The "dust" will damage the hull of the station causin minor hull breaches.
|
||||
if("weak")
|
||||
numbers = rand(2,4)
|
||||
for(var/i = 0 to numbers)
|
||||
new/obj/space_dust/weak()
|
||||
new/obj/effects/space_dust/weak()
|
||||
if("norm")
|
||||
numbers = rand(5,10)
|
||||
for(var/i = 0 to numbers)
|
||||
new/obj/space_dust()
|
||||
new/obj/effects/space_dust()
|
||||
if("strong")
|
||||
numbers = rand(10,15)
|
||||
for(var/i = 0 to numbers)
|
||||
new/obj/space_dust/strong()
|
||||
new/obj/effects/space_dust/strong()
|
||||
if("super")
|
||||
numbers = rand(15,25)
|
||||
for(var/i = 0 to numbers)
|
||||
new/obj/space_dust/super()
|
||||
new/obj/effects/space_dust/super()
|
||||
return
|
||||
|
||||
|
||||
/obj/space_dust
|
||||
/obj/effects/space_dust
|
||||
name = "Space Dust"
|
||||
desc = "Dust in space."
|
||||
icon = 'meteor.dmi'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPACE VINE OR KUDZU
|
||||
|
||||
/obj/spacevine
|
||||
/obj/effects/spacevine
|
||||
name = "Space Kudzu"
|
||||
desc = "An extremely expansionistic species of vine."
|
||||
icon = 'kudzu.dmi'
|
||||
@@ -8,7 +8,7 @@
|
||||
anchored = 1
|
||||
density = 0
|
||||
var/energy = 0 //Energy sounds like an arbitrary-enough variable name.
|
||||
var/obj/spacevine_controller/master = null
|
||||
var/obj/effects/spacevine_controller/master = null
|
||||
|
||||
New()
|
||||
if(istype(src.loc, /turf/space))
|
||||
@@ -33,8 +33,8 @@
|
||||
if (istype(W, /obj/item/weapon/wirecutters)) del src
|
||||
..()
|
||||
|
||||
/obj/spacevine_controller
|
||||
var/list/obj/spacevine/vines = list()
|
||||
/obj/effects/spacevine_controller
|
||||
var/list/obj/effects/spacevine/vines = list()
|
||||
var/list/growth_queue = list()
|
||||
var/reached_collapse_size
|
||||
var/reached_slowdown_size
|
||||
@@ -53,7 +53,7 @@
|
||||
..()
|
||||
|
||||
proc/spawn_kudzu_piece(var/turf/location)
|
||||
var/obj/spacevine/SV = new(location)
|
||||
var/obj/effects/spacevine/SV = new(location)
|
||||
growth_queue += SV
|
||||
vines += SV
|
||||
SV.master = src
|
||||
@@ -82,9 +82,9 @@
|
||||
length = 1
|
||||
length = min( 30 , max( length , vines.len / 5 ) )
|
||||
var/i = 0
|
||||
var/list/obj/spacevine/queue_end = list()
|
||||
var/list/obj/effects/spacevine/queue_end = list()
|
||||
|
||||
for( var/obj/spacevine/SV in growth_queue )
|
||||
for( var/obj/effects/spacevine/SV in growth_queue )
|
||||
i++
|
||||
queue_end += SV
|
||||
growth_queue -= SV
|
||||
@@ -101,7 +101,7 @@
|
||||
//sleep(5)
|
||||
//src.process()
|
||||
|
||||
/obj/spacevine/proc/grow()
|
||||
/obj/effects/spacevine/proc/grow()
|
||||
switch(energy)
|
||||
if (0)
|
||||
src.icon_state = pick("Med1", "Med2", "Med3")
|
||||
@@ -112,18 +112,18 @@
|
||||
energy = 2
|
||||
src.density = 1
|
||||
|
||||
/obj/spacevine/proc/spread()
|
||||
/obj/effects/spacevine/proc/spread()
|
||||
var/direction = pick(cardinal)
|
||||
if(istype(get_step(src,direction),/turf/simulated/floor))
|
||||
var/turf/simulated/floor/F = get_step(src,direction)
|
||||
if(!locate(/obj/spacevine,F))
|
||||
if(!locate(/obj/effects/spacevine,F))
|
||||
if(F.Enter(src))
|
||||
if(master)
|
||||
master.spawn_kudzu_piece( F )
|
||||
|
||||
|
||||
/*
|
||||
/obj/spacevine/proc/Life()
|
||||
/obj/effects/spacevine/proc/Life()
|
||||
if (!src) return
|
||||
var/Vspread
|
||||
if (prob(50)) Vspread = locate(src.x + rand(-1,1),src.y,src.z)
|
||||
@@ -131,12 +131,12 @@
|
||||
var/dogrowth = 1
|
||||
if (!istype(Vspread, /turf/simulated/floor)) dogrowth = 0
|
||||
for(var/obj/O in Vspread)
|
||||
if (istype(O, /obj/window) || istype(O, /obj/forcefield) || istype(O, /obj/blob) || istype(O, /obj/alien/weeds) || istype(O, /obj/spacevine)) dogrowth = 0
|
||||
if (istype(O, /obj/station_objects/window) || istype(O, /obj/effects/forcefield) || istype(O, /obj/effects/blob) || istype(O, /obj/effects/alien/weeds) || istype(O, /obj/effects/spacevine)) dogrowth = 0
|
||||
if (istype(O, /obj/machinery/door/))
|
||||
if(O:p_open == 0 && prob(50)) O:open()
|
||||
else dogrowth = 0
|
||||
if (dogrowth == 1)
|
||||
var/obj/spacevine/B = new /obj/spacevine(Vspread)
|
||||
var/obj/effects/spacevine/B = new /obj/effects/spacevine(Vspread)
|
||||
B.icon_state = pick("vine-light1", "vine-light2", "vine-light3")
|
||||
spawn(20)
|
||||
if(B)
|
||||
@@ -156,7 +156,7 @@
|
||||
|
||||
*/
|
||||
|
||||
/obj/spacevine/ex_act(severity)
|
||||
/obj/effects/spacevine/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src)
|
||||
@@ -172,5 +172,5 @@
|
||||
else
|
||||
return
|
||||
|
||||
/obj/spacevine/temperature_expose(null, temp, volume)
|
||||
/obj/effects/spacevine/temperature_expose(null, temp, volume)
|
||||
del src
|
||||
@@ -2,7 +2,7 @@
|
||||
//command_alert("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
|
||||
//world << sound('outbreak5.ogg')
|
||||
var/turf/T = pick(blobstart)
|
||||
var/obj/blob/bl = new /obj/blob( T.loc, 30 )
|
||||
var/obj/effects/blob/bl = new /obj/effects/blob( T.loc, 30 )
|
||||
spawn(0)
|
||||
bl.Life()
|
||||
bl.Life()
|
||||
@@ -25,7 +25,7 @@
|
||||
for(var/i = 1 to 10)
|
||||
sleep(-1)
|
||||
if(!active_blobs.len) break
|
||||
var/obj/blob/B = pick(active_blobs)
|
||||
var/obj/effects/blob/B = pick(active_blobs)
|
||||
if(B.z != 1)
|
||||
continue
|
||||
B.Life()
|
||||
|
||||
@@ -1074,7 +1074,7 @@ ________________________________________________________________________________
|
||||
U << "\blue Data analyzed. Process finished."
|
||||
|
||||
if("WIRE")
|
||||
var/obj/cable/A = target
|
||||
var/obj/station_objects/cable/A = target
|
||||
var/datum/powernet/PN = A.get_powernet()
|
||||
while(G.candrain&&!maxcapacity&&!isnull(A))
|
||||
drain = (round((rand(G.mindrain,G.maxdrain))/2))
|
||||
|
||||
@@ -133,7 +133,7 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
|
||||
|
||||
//Here we pick a location and spawn the ninja.
|
||||
var/list/spawn_list = list()
|
||||
for(var/obj/landmark/L in world)
|
||||
for(var/obj/effects/landmark/L in world)
|
||||
if (L.name == "carpspawn")
|
||||
spawn_list.Add(L)
|
||||
|
||||
@@ -402,7 +402,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
|
||||
return
|
||||
|
||||
var/list/spawn_list = list()
|
||||
for(var/obj/landmark/L in world)
|
||||
for(var/obj/effects/landmark/L in world)
|
||||
if (L.name == "carpspawn")
|
||||
spawn_list.Add(L)
|
||||
|
||||
@@ -737,7 +737,7 @@ spideros = text2num(return_to)//Maximum length here is 6. Use (return_to, X) to
|
||||
set desc = "Drain energy directly from an exposed wire."
|
||||
set category = "Ninja Equip"
|
||||
|
||||
var/obj/cable/attached
|
||||
var/obj/station_objects/cable/attached
|
||||
var/mob/living/carbon/human/U = loc
|
||||
if(candrain&&!draining)
|
||||
var/turf/T = U.loc
|
||||
@@ -760,10 +760,10 @@ Can be added on to pretty easily.
|
||||
BYOND fixed the verb bugs so this is no longer necessary. I prefer verb panels.
|
||||
|
||||
/obj/item/clothing/suit/space/space_ninja/proc/grant_AI_verbs()
|
||||
var/obj/proc_holder/ai_return_control/A_C = new(AI)
|
||||
var/obj/proc_holder/ai_hack_ninja/B_C = new(AI)
|
||||
var/obj/proc_holder/ai_instruction/C_C = new(AI)
|
||||
new/obj/proc_holder/ai_holo_clear(AI)
|
||||
var/obj/effects/proc_holder/ai_return_control/A_C = new(AI)
|
||||
var/obj/effects/proc_holder/ai_hack_ninja/B_C = new(AI)
|
||||
var/obj/effects/proc_holder/ai_instruction/C_C = new(AI)
|
||||
new/obj/effects/proc_holder/ai_holo_clear(AI)
|
||||
AI.proc_holder_list += A_C
|
||||
AI.proc_holder_list += B_C
|
||||
AI.proc_holder_list += C_C
|
||||
@@ -771,10 +771,10 @@ BYOND fixed the verb bugs so this is no longer necessary. I prefer verb panels.
|
||||
s_control = 0
|
||||
|
||||
/obj/item/clothing/suit/space/space_ninja/proc/remove_AI_verbs()
|
||||
var/obj/proc_holder/ai_return_control/A_C = locate() in AI
|
||||
var/obj/proc_holder/ai_hack_ninja/B_C = locate() in AI
|
||||
var/obj/proc_holder/ai_instruction/C_C = locate() in AI
|
||||
var/obj/proc_holder/ai_holo_clear/D_C = locate() in AI
|
||||
var/obj/effects/proc_holder/ai_return_control/A_C = locate() in AI
|
||||
var/obj/effects/proc_holder/ai_hack_ninja/B_C = locate() in AI
|
||||
var/obj/effects/proc_holder/ai_instruction/C_C = locate() in AI
|
||||
var/obj/effects/proc_holder/ai_holo_clear/D_C = locate() in AI
|
||||
del(A_C)
|
||||
del(B_C)
|
||||
del(C_C)
|
||||
@@ -787,7 +787,7 @@ BYOND fixed the verb bugs so this is no longer necessary. I prefer verb panels.
|
||||
s_control = 1
|
||||
|
||||
//Workaround
|
||||
/obj/proc_holder/ai_holo_clear
|
||||
/obj/effects/proc_holder/ai_holo_clear
|
||||
name = "Clear Hologram"
|
||||
desc = "Stops projecting the current holographic image."
|
||||
panel = "AI Ninja Equip"
|
||||
@@ -795,44 +795,44 @@ BYOND fixed the verb bugs so this is no longer necessary. I prefer verb panels.
|
||||
opacity = 0
|
||||
|
||||
|
||||
/obj/proc_holder/ai_holo_clear/Click()
|
||||
/obj/effects/proc_holder/ai_holo_clear/Click()
|
||||
var/obj/item/clothing/suit/space/space_ninja/S = loc.loc//This is so stupid but makes sure certain things work. AI.SUIT
|
||||
del(S.hologram.i_attached)
|
||||
del(S.hologram)
|
||||
var/obj/proc_holder/ai_holo_clear/D_C = locate() in S.AI
|
||||
var/obj/effects/proc_holder/ai_holo_clear/D_C = locate() in S.AI
|
||||
S.AI.proc_holder_list -= D_C
|
||||
return
|
||||
|
||||
/obj/proc_holder/ai_instruction//Let's the AI know what they can do.
|
||||
/obj/effects/proc_holder/ai_instruction//Let's the AI know what they can do.
|
||||
name = "Instructions"
|
||||
desc = "Displays a list of helpful information."
|
||||
panel = "AI Ninja Equip"
|
||||
density = 0
|
||||
opacity = 0
|
||||
|
||||
/obj/proc_holder/ai_instruction/Click()
|
||||
/obj/effects/proc_holder/ai_instruction/Click()
|
||||
loc << "The menu you are seeing will contain other commands if they become available.\nRight click a nearby turf to display an AI Hologram. It will only be visible to you and your host. You can move it freely using normal movement keys--it will disappear if placed too far away."
|
||||
|
||||
/obj/proc_holder/ai_hack_ninja//Generic proc holder to make sure the two verbs below work propely.
|
||||
/obj/effects/proc_holder/ai_hack_ninja//Generic proc holder to make sure the two verbs below work propely.
|
||||
name = "Hack SpiderOS"
|
||||
desc = "Hack directly into the Black Widow(tm) neuro-interface."
|
||||
panel = "AI Ninja Equip"
|
||||
density = 0
|
||||
opacity = 0
|
||||
|
||||
/obj/proc_holder/ai_hack_ninja/Click()//When you click on it.
|
||||
/obj/effects/proc_holder/ai_hack_ninja/Click()//When you click on it.
|
||||
var/obj/item/clothing/suit/space/space_ninja/S = loc.loc
|
||||
S.hack_spideros()
|
||||
return
|
||||
|
||||
/obj/proc_holder/ai_return_control
|
||||
/obj/effects/proc_holder/ai_return_control
|
||||
name = "Relinquish Control"
|
||||
desc = "Return control to the user."
|
||||
panel = "AI Ninja Equip"
|
||||
density = 0
|
||||
opacity = 0
|
||||
|
||||
/obj/proc_holder/ai_return_control/Click()
|
||||
/obj/effects/proc_holder/ai_return_control/Click()
|
||||
var/mob/living/silicon/ai/A = loc
|
||||
var/obj/item/clothing/suit/space/space_ninja/S = A.loc
|
||||
A << browse(null, "window=hack spideros")//Close window
|
||||
@@ -858,16 +858,16 @@ Most of these are at various points of incomplete.
|
||||
/mob/verb/grant_object_panel()
|
||||
set name = "Grant AI Ninja Verbs Debug"
|
||||
set category = "Ninja Debug"
|
||||
var/obj/proc_holder/ai_return_control/A_C = new(src)
|
||||
var/obj/proc_holder/ai_hack_ninja/B_C = new(src)
|
||||
var/obj/effects/proc_holder/ai_return_control/A_C = new(src)
|
||||
var/obj/effects/proc_holder/ai_hack_ninja/B_C = new(src)
|
||||
usr:proc_holder_list += A_C
|
||||
usr:proc_holder_list += B_C
|
||||
|
||||
mob/verb/remove_object_panel()
|
||||
set name = "Remove AI Ninja Verbs Debug"
|
||||
set category = "Ninja Debug"
|
||||
var/obj/proc_holder/ai_return_control/A = locate() in src
|
||||
var/obj/proc_holder/ai_hack_ninja/B = locate() in src
|
||||
var/obj/effects/proc_holder/ai_return_control/A = locate() in src
|
||||
var/obj/effects/proc_holder/ai_hack_ninja/B = locate() in src
|
||||
usr:proc_holder_list -= A
|
||||
usr:proc_holder_list -= B
|
||||
del(A)//First.
|
||||
|
||||
@@ -100,7 +100,7 @@ var/global/datum/controller/gameticker/ticker
|
||||
spawn(0)//Forking here so we dont have to wait for this to finish
|
||||
mode.post_setup()
|
||||
//Cleanup some stuff
|
||||
for(var/obj/landmark/start/S in world)
|
||||
for(var/obj/effects/landmark/start/S in world)
|
||||
//Deleting Startpoints but we need the ai point to AI-ize people later
|
||||
if (S.name != "AI")
|
||||
del(S)
|
||||
|
||||
@@ -64,15 +64,15 @@
|
||||
while (!istype(pickedstart, /turf/space) || pickedstart.loc.name != "Space" ) //FUUUCK, should never happen.
|
||||
|
||||
|
||||
var/obj/meteor/M
|
||||
var/obj/effects/meteor/M
|
||||
switch(rand(1, 100))
|
||||
|
||||
if(1 to 10)
|
||||
M = new /obj/meteor/big( pickedstart )
|
||||
M = new /obj/effects/meteor/big( pickedstart )
|
||||
if(11 to 75)
|
||||
M = new /obj/meteor( pickedstart )
|
||||
M = new /obj/effects/meteor( pickedstart )
|
||||
if(76 to 100)
|
||||
M = new /obj/meteor/small( pickedstart )
|
||||
M = new /obj/effects/meteor/small( pickedstart )
|
||||
|
||||
M.dest = pickedgoal
|
||||
spawn(0)
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/meteor
|
||||
/obj/effects/meteor
|
||||
name = "meteor"
|
||||
icon = 'meteor.dmi'
|
||||
icon_state = "flaming"
|
||||
@@ -90,19 +90,19 @@
|
||||
var/dest
|
||||
pass_flags = PASSTABLE
|
||||
|
||||
/obj/meteor/small
|
||||
/obj/effects/meteor/small
|
||||
name = "small meteor"
|
||||
icon_state = "smallf"
|
||||
pass_flags = PASSTABLE | PASSGRILLE
|
||||
|
||||
/obj/meteor/Move()
|
||||
/obj/effects/meteor/Move()
|
||||
var/turf/T = src.loc
|
||||
if (istype(T, /turf))
|
||||
T.hotspot_expose(METEOR_TEMPERATURE, 1000)
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/meteor/Bump(atom/A)
|
||||
/obj/effects/meteor/Bump(atom/A)
|
||||
spawn(0)
|
||||
for(var/mob/M in range(10, src))
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
|
||||
@@ -111,20 +111,20 @@
|
||||
A.meteorhit(src)
|
||||
playsound(src.loc, 'meteorimpact.ogg', 40, 1)
|
||||
if (--src.hits <= 0)
|
||||
if(prob(15))// && !istype(A, /obj/grille))
|
||||
if(prob(15))// && !istype(A, /obj/station_objects/grille))
|
||||
explosion(src.loc, 4, 5, 6, 7, 0)
|
||||
playsound(src.loc, "explosion", 50, 1)
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/meteor/ex_act(severity)
|
||||
/obj/effects/meteor/ex_act(severity)
|
||||
|
||||
if (severity < 4)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/meteor/big
|
||||
/obj/effects/meteor/big
|
||||
name = "big meteor"
|
||||
hits = 5
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
explosion(src.loc, 0, 1, 2, 3, 0)
|
||||
playsound(src.loc, 'meteorimpact.ogg', 40, 1)
|
||||
if (--src.hits <= 0)
|
||||
if(prob(15) && !istype(A, /obj/grille))
|
||||
if(prob(15) && !istype(A, /obj/station_objects/grille))
|
||||
explosion(src.loc, 1, 2, 3, 4, 0)
|
||||
playsound(src.loc, "explosion", 50, 1)
|
||||
del(src)
|
||||
|
||||
@@ -104,9 +104,9 @@
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/game_mode/nuclear/post_setup()
|
||||
var/obj/landmark/synd_spawn = locate("landmark*Syndicate-Spawn")
|
||||
var/obj/landmark/nuke_spawn = locate("landmark*Nuclear-Bomb")
|
||||
var/obj/landmark/closet_spawn = locate("landmark*Nuclear-Closet")
|
||||
var/obj/effects/landmark/synd_spawn = locate("landmark*Syndicate-Spawn")
|
||||
var/obj/effects/landmark/nuke_spawn = locate("landmark*Nuclear-Bomb")
|
||||
var/obj/effects/landmark/closet_spawn = locate("landmark*Nuclear-Closet")
|
||||
|
||||
var/nuke_code = "[rand(10000, 99999)]"
|
||||
var/leader_selected = 0
|
||||
@@ -136,16 +136,16 @@
|
||||
the_bomb.r_code = nuke_code
|
||||
|
||||
if(closet_spawn)
|
||||
new /obj/closet/syndicate/nuclear(closet_spawn.loc)
|
||||
new /obj/station_objects/closet/syndicate/nuclear(closet_spawn.loc)
|
||||
|
||||
for (var/obj/landmark/A in world)
|
||||
for (var/obj/effects/landmark/A in world)
|
||||
if (A.name == "Syndicate-Gear-Closet")
|
||||
new /obj/closet/syndicate/personal(A.loc)
|
||||
new /obj/station_objects/closet/syndicate/personal(A.loc)
|
||||
del(A)
|
||||
continue
|
||||
|
||||
if (A.name == "Syndicate-Bomb")
|
||||
new /obj/spawner/newbomb/timer/syndicate(A.loc)
|
||||
new /obj/effects/spawner/newbomb/timer/syndicate(A.loc)
|
||||
del(A)
|
||||
continue
|
||||
|
||||
|
||||
@@ -145,9 +145,9 @@ datum/hSB
|
||||
continue
|
||||
if(istype(O, /obj/item/weapon/melee/energy/sword))
|
||||
continue
|
||||
if(istype(O, /obj/critter))
|
||||
if(istype(O, /obj/effects/critter))
|
||||
continue
|
||||
if(istype(O, /obj/structure))
|
||||
if(istype(O, /obj/station_objects/structure))
|
||||
continue
|
||||
selectable += O
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
|
||||
/* This was used for something before, I think, but is not worth the effort to process now.
|
||||
/proc/setupcorpses()
|
||||
for (var/obj/landmark/A in world)
|
||||
for (var/obj/effects/landmark/A in world)
|
||||
if (A.name == "Corpse")
|
||||
var/mob/living/carbon/human/M = new /mob/living/carbon/human(A.loc)
|
||||
M.real_name = "Corpse"
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
else if(spell_type == "object")
|
||||
var/list/available_spells = list("Magic Missile","Fireball","Disintegrate","Disable Tech","Smoke","Blind","Mind Transfer","Forcewall","Blink","Teleport","Mutate","Ethereal Jaunt","Knock")
|
||||
var/already_knows = 0
|
||||
for(var/obj/proc_holder/spell/aspell in usr.spell_list)
|
||||
for(var/obj/effects/proc_holder/spell/aspell in usr.spell_list)
|
||||
if(available_spells[text2num(href_list["spell_choice"])] == aspell.name)
|
||||
already_knows = 1
|
||||
src.temp = "You already know that spell."
|
||||
@@ -109,43 +109,43 @@
|
||||
if(!already_knows)
|
||||
switch(href_list["spell_choice"])
|
||||
if ("1")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/projectile/magic_missile(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/projectile/magic_missile(usr)
|
||||
src.temp = "This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage."
|
||||
if ("2")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/projectile/fireball(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/projectile/fireball(usr)
|
||||
src.temp = "This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you."
|
||||
if ("3")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/inflict_handler/disintegrate(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/inflict_handler/disintegrate(usr)
|
||||
src.temp = "This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown."
|
||||
if ("4")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/emplosion/disable_tech(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/emplosion/disable_tech(usr)
|
||||
src.temp = "This spell disables all weapons, cameras and most other technology in range."
|
||||
if ("5")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/smoke(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/smoke(usr)
|
||||
src.temp = "This spell spawns a cloud of choking smoke at your location and does not require wizard garb."
|
||||
if ("6")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/trigger/blind(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/trigger/blind(usr)
|
||||
src.temp = "This spell temporarly blinds a single person and does not require wizard garb."
|
||||
if ("7")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/mind_transfer(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/mind_transfer(usr)
|
||||
src.temp = "This spell allows the user to switch bodies with a target. Careful to not lose your memory in the process."
|
||||
if ("8")
|
||||
usr.spell_list += new /obj/proc_holder/spell/aoe_turf/conjure/forcewall(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/aoe_turf/conjure/forcewall(usr)
|
||||
src.temp = "This spell creates an unbreakable wall that lasts for 30 seconds and does not need wizard garb."
|
||||
if ("9")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/turf_teleport/blink(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/turf_teleport/blink(usr)
|
||||
src.temp = "This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience."
|
||||
if ("10")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/area_teleport/teleport(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/area_teleport/teleport(usr)
|
||||
src.temp = "This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable."
|
||||
if ("11")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/genetic/mutate(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/genetic/mutate(usr)
|
||||
src.temp = "This spell causes you to turn into a hulk and gain telekinesis for a short while."
|
||||
if ("12")
|
||||
usr.spell_list += new /obj/proc_holder/spell/targeted/ethereal_jaunt(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/targeted/ethereal_jaunt(usr)
|
||||
src.temp = "This spell creates your ethereal form, temporarily making you invisible and able to pass through walls."
|
||||
if ("13")
|
||||
usr.spell_list += new /obj/proc_holder/spell/aoe_turf/knock(usr)
|
||||
usr.spell_list += new /obj/effects/proc_holder/spell/aoe_turf/knock(usr)
|
||||
src.temp = "This spell opens nearby doors and does not require wizard garb."
|
||||
if (href_list["spell_choice"] == "14")
|
||||
var/area/wizard_station/A = locate()
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
usr.whisper("STI KALY")
|
||||
// usr.spellvoice()
|
||||
|
||||
var/obj/overlay/B = new /obj/overlay( M.loc )
|
||||
var/obj/effects/overlay/B = new /obj/effects/overlay( M.loc )
|
||||
B.icon_state = "blspell"
|
||||
B.icon = 'wizard.dmi'
|
||||
B.name = "spell"
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
for (var/mob/living/M as mob in oview())
|
||||
spawn(0)
|
||||
var/obj/overlay/A = new /obj/overlay( usr.loc )
|
||||
var/obj/effects/overlay/A = new /obj/effects/overlay( usr.loc )
|
||||
A.icon_state = "magicm"
|
||||
A.icon = 'wizard.dmi'
|
||||
A.name = "a magic missile"
|
||||
@@ -65,7 +65,7 @@
|
||||
for(i=0, i<20, i++)
|
||||
if (!istype(M)) //it happens sometimes --rastaf0
|
||||
break
|
||||
var/obj/overlay/B = new /obj/overlay( A.loc )
|
||||
var/obj/effects/overlay/B = new /obj/effects/overlay( A.loc )
|
||||
B.icon_state = "magicmd"
|
||||
B.icon = 'wizard.dmi'
|
||||
B.name = "trail"
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
//FORCE WALL
|
||||
|
||||
/obj/forcefield
|
||||
/obj/effects/forcefield
|
||||
desc = "A space wizard's magic wall."
|
||||
name = "FORCEWALL"
|
||||
icon = 'effects.dmi'
|
||||
@@ -167,7 +167,7 @@
|
||||
usr.whisper("TARCOL MINTI ZHERI")
|
||||
// usr.spellvoice()
|
||||
|
||||
forcefield = new /obj/forcefield(locate(usr.x,usr.y,usr.z))
|
||||
forcefield = new /obj/effects/forcefield(locate(usr.x,usr.y,usr.z))
|
||||
spawn (300)
|
||||
del (forcefield)
|
||||
return
|
||||
@@ -190,7 +190,7 @@
|
||||
usr.say("ONI SOMA")
|
||||
// usr.spellvoice()
|
||||
|
||||
var/obj/overlay/A = new /obj/overlay( usr.loc )
|
||||
var/obj/effects/overlay/A = new /obj/effects/overlay( usr.loc )
|
||||
A.icon_state = "fireball"
|
||||
A.icon = 'wizard.dmi'
|
||||
A.name = "a fireball"
|
||||
@@ -401,7 +401,7 @@
|
||||
if(H.stat) return
|
||||
spawn(0)
|
||||
var/mobloc = get_turf(H.loc)
|
||||
var/obj/dummy/spell_jaunt/holder = new /obj/dummy/spell_jaunt( mobloc )
|
||||
var/obj/effects/dummy/spell_jaunt/holder = new /obj/effects/dummy/spell_jaunt( mobloc )
|
||||
var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc )
|
||||
animation.name = "water"
|
||||
animation.density = 0
|
||||
@@ -431,7 +431,7 @@
|
||||
del(animation)
|
||||
del(holder)
|
||||
/*
|
||||
/obj/dummy/spell_jaunt
|
||||
/obj/effects/dummy/spell_jaunt
|
||||
name = "water"
|
||||
icon = 'effects.dmi'
|
||||
icon_state = "nothing"
|
||||
@@ -439,7 +439,7 @@
|
||||
density = 0
|
||||
anchored = 1
|
||||
|
||||
/obj/dummy/spell_jaunt/relaymove(var/mob/user, direction)
|
||||
/obj/effects/dummy/spell_jaunt/relaymove(var/mob/user, direction)
|
||||
if (!src.canmove) return
|
||||
switch(direction)
|
||||
if(NORTH)
|
||||
@@ -465,9 +465,9 @@
|
||||
src.canmove = 0
|
||||
spawn(2) src.canmove = 1
|
||||
|
||||
/obj/dummy/spell_jaunt/ex_act(blah)
|
||||
/obj/effects/dummy/spell_jaunt/ex_act(blah)
|
||||
return
|
||||
/obj/dummy/spell_jaunt/bullet_act(blah,blah)
|
||||
/obj/effects/dummy/spell_jaunt/bullet_act(blah,blah)
|
||||
return
|
||||
*/
|
||||
//MUTATE
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
wizard_mob.verbs += /client/proc/jaunt
|
||||
wizard_mob.mind.special_verbs += /client/proc/jaunt
|
||||
else
|
||||
wizard_mob.spell_list += new /obj/proc_holder/spell/targeted/ethereal_jaunt(usr)
|
||||
wizard_mob.spell_list += new /obj/effects/proc_holder/spell/targeted/ethereal_jaunt(usr)
|
||||
|
||||
|
||||
/datum/game_mode/proc/equip_wizard(mob/living/carbon/human/wizard_mob)
|
||||
@@ -267,7 +267,7 @@
|
||||
M.mind.special_verbs -= /mob/proc/swap
|
||||
M.mind.special_verbs -= /client/proc/blink
|
||||
else if(spell_type == "object")
|
||||
for(var/obj/proc_holder/spell/spell_to_remove in src.spell_list)
|
||||
for(var/obj/effects/proc_holder/spell/spell_to_remove in src.spell_list)
|
||||
del(spell_to_remove)
|
||||
|
||||
/*Checks if the wizard can cast spells.
|
||||
@@ -315,7 +315,7 @@ Made a proc here so it's not repeated several times.*/
|
||||
|
||||
//UNUSED/OLD CODE
|
||||
|
||||
// for (var/obj/landmark/A in world)
|
||||
// for (var/obj/effects/landmark/A in world)
|
||||
// if (A.name == "Teleport-Scroll")
|
||||
// new /obj/item/weapon/teleportation_scroll(A.loc)
|
||||
// del(A)
|
||||
|
||||
@@ -602,7 +602,7 @@
|
||||
|
||||
if (!joined_late && rank != "Tourist")
|
||||
var/obj/S = null
|
||||
for(var/obj/landmark/start/sloc in world)
|
||||
for(var/obj/effects/landmark/start/sloc in world)
|
||||
if (sloc.name != rank)
|
||||
continue
|
||||
if (locate(/mob) in sloc.loc)
|
||||
@@ -611,7 +611,7 @@
|
||||
break
|
||||
if (!S)
|
||||
S = locate("start*[rank]") // use old stype
|
||||
if (istype(S, /obj/landmark/start) && istype(S.loc, /turf))
|
||||
if (istype(S, /obj/effects/landmark/start) && istype(S.loc, /turf))
|
||||
src.loc = S.loc
|
||||
// if(S.name == "Cyborg")
|
||||
// src.Robotize()
|
||||
@@ -706,7 +706,7 @@
|
||||
if(V!=usr)
|
||||
V.show_message("[usr] looks as if a wall is in front of them.", 3, "", 2)
|
||||
usr << "You form a wall in front of yourself."
|
||||
var/obj/forcefield/F = new /obj/forcefield(locate(usr.x,usr.y,usr.z))
|
||||
var/obj/effects/forcefield/F = new /obj/effects/forcefield(locate(usr.x,usr.y,usr.z))
|
||||
F.icon_state = "empty"
|
||||
F.name = "invisible wall"
|
||||
F.desc = "You have a bad feeling about this."
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/landmark/New()
|
||||
/obj/effects/landmark/New()
|
||||
|
||||
..()
|
||||
tag = text("landmark*[]", name)
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
return 1
|
||||
|
||||
/obj/landmark/start/New()
|
||||
/obj/effects/landmark/start/New()
|
||||
..()
|
||||
tag = "start*[name]"
|
||||
invisibility = 101
|
||||
|
||||
@@ -102,7 +102,7 @@ obj/machinery/computer/general_air_control
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/air_management/M = new /obj/item/weapon/circuitboard/air_management( A )
|
||||
for (var/obj/C in src)
|
||||
@@ -115,7 +115,7 @@ obj/machinery/computer/general_air_control
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/air_management/M = new /obj/item/weapon/circuitboard/air_management( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
@@ -301,7 +301,7 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/injector_control/M = new /obj/item/weapon/circuitboard/injector_control( A )
|
||||
for (var/obj/C in src)
|
||||
@@ -314,7 +314,7 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/injector_control/M = new /obj/item/weapon/circuitboard/injector_control( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
src.visible_message("\red <B>[user] has slashed [src]!</B>")
|
||||
playsound(src.loc, 'slice.ogg', 25, 1, -1)
|
||||
if(prob(10))
|
||||
new /obj/decal/cleanable/oil(src.loc)
|
||||
new /obj/effects/decal/cleanable/oil(src.loc)
|
||||
healthcheck()
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
/obj/machinery/bot/emp_act(severity)
|
||||
var/was_on = on
|
||||
stat |= EMPED
|
||||
var/obj/overlay/pulse2 = new/obj/overlay ( src.loc )
|
||||
var/obj/effects/overlay/pulse2 = new/obj/effects/overlay ( src.loc )
|
||||
pulse2.icon = 'effects.dmi'
|
||||
pulse2.icon_state = "empdisable"
|
||||
pulse2.name = "emp sparks"
|
||||
@@ -189,7 +189,7 @@
|
||||
// Returns true if direction is blocked from loc
|
||||
// Checks doors against access with given ID
|
||||
/proc/DirBlockedWithAccess(turf/loc,var/dir,var/obj/item/weapon/card/id/ID)
|
||||
for(var/obj/window/D in loc)
|
||||
for(var/obj/station_objects/window/D in loc)
|
||||
if(!D.density) continue
|
||||
if(D.dir == SOUTHWEST) return 1
|
||||
if(D.dir == dir) return 1
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
var/blood = 1
|
||||
var/panelopen = 0
|
||||
var/list/target_types = list()
|
||||
var/obj/decal/cleanable/target
|
||||
var/obj/decal/cleanable/oldtarget
|
||||
var/obj/effects/decal/cleanable/target
|
||||
var/obj/effects/decal/cleanable/oldtarget
|
||||
var/oldloc = null
|
||||
req_access = list(access_janitor)
|
||||
var/path[] = new()
|
||||
@@ -171,11 +171,11 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
|
||||
if(src.oddbutton && prob(5))
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O.show_message(text("Something flies out of [src]. He seems to be acting oddly."), 1)
|
||||
var/obj/decal/cleanable/blood/gibs/gib = new /obj/decal/cleanable/blood/gibs(src.loc)
|
||||
var/obj/effects/decal/cleanable/blood/gibs/gib = new /obj/effects/decal/cleanable/blood/gibs(src.loc)
|
||||
//gib.streak(list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST))
|
||||
src.oldtarget = gib
|
||||
if(!src.target || src.target == null)
|
||||
for (var/obj/decal/cleanable/D in view(7,src))
|
||||
for (var/obj/effects/decal/cleanable/D in view(7,src))
|
||||
for(var/T in src.target_types)
|
||||
if(!(D in cleanbottargets) && (D.type == T || D.parent_type == T) && D != src.oldtarget)
|
||||
src.oldtarget = D
|
||||
@@ -214,15 +214,15 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
|
||||
src.target_types = new/list()
|
||||
if(src.blood)
|
||||
|
||||
target_types += /obj/decal/cleanable/xenoblood/
|
||||
target_types += /obj/decal/cleanable/xenoblood/xgibs
|
||||
target_types += /obj/decal/cleanable/blood/
|
||||
target_types += /obj/decal/cleanable/blood/gibs/
|
||||
target_types += /obj/decal/cleanable/oil
|
||||
target_types += /obj/decal/cleanable/robot_debris
|
||||
target_types += /obj/decal/cleanable/crayon
|
||||
target_types += /obj/effects/decal/cleanable/xenoblood/
|
||||
target_types += /obj/effects/decal/cleanable/xenoblood/xgibs
|
||||
target_types += /obj/effects/decal/cleanable/blood/
|
||||
target_types += /obj/effects/decal/cleanable/blood/gibs/
|
||||
target_types += /obj/effects/decal/cleanable/oil
|
||||
target_types += /obj/effects/decal/cleanable/robot_debris
|
||||
target_types += /obj/effects/decal/cleanable/crayon
|
||||
|
||||
/obj/machinery/bot/cleanbot/proc/clean(var/obj/decal/cleanable/target)
|
||||
/obj/machinery/bot/cleanbot/proc/clean(var/obj/effects/decal/cleanable/target)
|
||||
src.anchored = 1
|
||||
src.icon_state = "cleanbot-c"
|
||||
for(var/mob/O in viewers(src, null))
|
||||
|
||||
@@ -700,7 +700,7 @@ Auto Patrol: []"},
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
|
||||
new /obj/decal/cleanable/oil(src.loc)
|
||||
new /obj/effects/decal/cleanable/oil(src.loc)
|
||||
del(src)
|
||||
|
||||
|
||||
@@ -751,7 +751,7 @@ Auto Patrol: []"},
|
||||
if(severity==2 && prob(70))
|
||||
..(severity-1)
|
||||
else
|
||||
var/obj/overlay/pulse2 = new/obj/overlay ( src.loc )
|
||||
var/obj/effects/overlay/pulse2 = new/obj/effects/overlay ( src.loc )
|
||||
pulse2.icon = 'effects.dmi'
|
||||
pulse2.icon_state = "empdisable"
|
||||
pulse2.name = "emp sparks"
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
//It isn't blocked if we can open it, man.
|
||||
/proc/TurfBlockedNonWindowNonDoor(turf/loc, var/list/access)
|
||||
for(var/obj/O in loc)
|
||||
if(O.density && !istype(O, /obj/window) && !istype(O, /obj/machinery/door))
|
||||
if(O.density && !istype(O, /obj/station_objects/window) && !istype(O, /obj/machinery/door))
|
||||
return 1
|
||||
|
||||
if (O.density && (istype(O, /obj/machinery/door)) && (access.len))
|
||||
|
||||
@@ -469,7 +469,7 @@
|
||||
|
||||
// called to load a crate
|
||||
/obj/machinery/bot/mulebot/proc/load(var/atom/movable/C)
|
||||
if((wires & wire_loadcheck) && !istype(C,/obj/crate))
|
||||
if((wires & wire_loadcheck) && !istype(C,/obj/station_objects/crate))
|
||||
src.visible_message("[src] makes a sighing buzz.", "You hear an electronic buzzing sound.")
|
||||
playsound(src.loc, 'buzz-sigh.ogg', 50, 0)
|
||||
return // if not emagged, only allow crates to be loaded
|
||||
@@ -479,7 +479,7 @@
|
||||
mode = 1
|
||||
|
||||
// if a create, close before loading
|
||||
var/obj/crate/crate = C
|
||||
var/obj/station_objects/crate/crate = C
|
||||
if(istype(crate))
|
||||
crate.close()
|
||||
|
||||
@@ -598,7 +598,7 @@
|
||||
|
||||
|
||||
if(bloodiness)
|
||||
var/obj/decal/cleanable/blood/tracks/B = new(loc)
|
||||
var/obj/effects/decal/cleanable/blood/tracks/B = new(loc)
|
||||
var/newdir = get_dir(next, loc)
|
||||
if(newdir == dir)
|
||||
B.dir = newdir
|
||||
@@ -743,7 +743,7 @@
|
||||
AM = A
|
||||
break
|
||||
else // otherwise, look for crates only
|
||||
AM = locate(/obj/crate) in get_step(loc,loaddir)
|
||||
AM = locate(/obj/station_objects/crate) in get_step(loc,loaddir)
|
||||
if(AM)
|
||||
load(AM)
|
||||
// whatever happened, check to see if we return home
|
||||
@@ -802,7 +802,7 @@
|
||||
H.TakeDamage("l_arm",0.5*damage, 0)
|
||||
H.TakeDamage("r_arm",0.5*damage, 0)
|
||||
|
||||
var/obj/decal/cleanable/blood/B = new(src.loc)
|
||||
var/obj/effects/decal/cleanable/blood/B = new(src.loc)
|
||||
B.blood_DNA = H.dna.unique_enzymes
|
||||
B.blood_type = H.b_type
|
||||
|
||||
@@ -963,6 +963,6 @@
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
|
||||
new /obj/decal/cleanable/oil(src.loc)
|
||||
new /obj/effects/decal/cleanable/oil(src.loc)
|
||||
unload(0)
|
||||
del(src)
|
||||
@@ -681,7 +681,7 @@ Auto Patrol: []"},
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
|
||||
new /obj/decal/cleanable/oil(src.loc)
|
||||
new /obj/effects/decal/cleanable/oil(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/machinery/bot/secbot/attack_alien(var/mob/living/carbon/alien/user as mob)
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
continue
|
||||
if(M.invisibility)//cloaked
|
||||
continue
|
||||
if(istype(M.loc,/obj/dummy))
|
||||
if(istype(M.loc,/obj/effects/dummy))
|
||||
continue
|
||||
else if (M == usr)
|
||||
continue
|
||||
@@ -109,7 +109,7 @@
|
||||
usr << "Follow camera mode terminated."
|
||||
usr:cameraFollow = null
|
||||
return
|
||||
else if(istype(target.loc,/obj/dummy))
|
||||
else if(istype(target.loc,/obj/effects/dummy))
|
||||
usr << "Follow camera mode ended."
|
||||
usr:cameraFollow = null
|
||||
return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/AIcore
|
||||
/obj/station_objects/AIcore
|
||||
density = 1
|
||||
anchored = 0
|
||||
name = "AI core"
|
||||
@@ -10,7 +10,7 @@
|
||||
var/obj/item/device/mmi/brain = null
|
||||
|
||||
|
||||
/obj/AIcore/attackby(obj/item/P as obj, mob/user as mob)
|
||||
/obj/station_objects/AIcore/attackby(obj/item/P as obj, mob/user as mob)
|
||||
switch(state)
|
||||
if(0)
|
||||
if(istype(P, /obj/item/weapon/wrench))
|
||||
@@ -148,7 +148,7 @@
|
||||
new /mob/living/silicon/ai ( loc, laws, brain )
|
||||
del(src)
|
||||
|
||||
/obj/AIcore/deactivated
|
||||
/obj/station_objects/AIcore/deactivated
|
||||
name = "Inactive AI"
|
||||
icon = 'AI.dmi'
|
||||
icon_state = "ai-empty"
|
||||
@@ -192,7 +192,7 @@ That prevents a few funky behaviors.
|
||||
if (T.mind == malfai)
|
||||
U << "\red <b>ERROR</b>: \black Remote transfer interface disabled."//Do ho ho ho~
|
||||
return
|
||||
new /obj/AIcore/deactivated(T.loc)//Spawns a deactivated terminal at AI location.
|
||||
new /obj/station_objects/AIcore/deactivated(T.loc)//Spawns a deactivated terminal at AI location.
|
||||
T.aiRestorePowerRoutine = 0//So the AI initially has power.
|
||||
T.control_disabled = 1//Can't control things remotely if you're stuck in a card!
|
||||
T.loc = C//Throw AI into the card.
|
||||
@@ -218,7 +218,7 @@ That prevents a few funky behaviors.
|
||||
if(T.stat)//If the ai is dead/dying.
|
||||
U << "\red <b>ERROR</b>: \black [T.name] data core is corrupted. Unable to install."
|
||||
else
|
||||
new /obj/AIcore/deactivated(T.loc)
|
||||
new /obj/station_objects/AIcore/deactivated(T.loc)
|
||||
T.aiRestorePowerRoutine = 0
|
||||
T.control_disabled = 1
|
||||
T.loc = C
|
||||
@@ -228,7 +228,7 @@ That prevents a few funky behaviors.
|
||||
U << "\blue <b>Transfer successful</b>: \black [T.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory."
|
||||
|
||||
if("INACTIVE")//Inactive AI object.
|
||||
var/obj/AIcore/deactivated/T = target
|
||||
var/obj/station_objects/AIcore/deactivated/T = target
|
||||
switch(interaction)
|
||||
if("AICARD")
|
||||
var/obj/item/device/aicard/C = src
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/robotics/M = new /obj/item/weapon/circuitboard/robotics( A )
|
||||
for (var/obj/C in src)
|
||||
@@ -30,7 +30,7 @@
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/robotics/M = new /obj/item/weapon/circuitboard/robotics( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
src.temp = "[src.enemy_name] has fallen! Rejoice!"
|
||||
|
||||
if(emagged)
|
||||
new /obj/spawner/newbomb/timer/syndicate(src.loc)
|
||||
new /obj/effects/spawner/newbomb/timer/syndicate(src.loc)
|
||||
new /obj/item/clothing/head/collectable/petehat(src.loc)
|
||||
message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
|
||||
log_game("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/computerframe
|
||||
/obj/station_objects/computerframe
|
||||
density = 1
|
||||
anchored = 0
|
||||
name = "Computer-frame"
|
||||
@@ -168,7 +168,7 @@
|
||||
|
||||
|
||||
|
||||
/obj/computerframe/attackby(obj/item/P as obj, mob/user as mob)
|
||||
/obj/station_objects/computerframe/attackby(obj/item/P as obj, mob/user as mob)
|
||||
switch(state)
|
||||
if(0)
|
||||
if(istype(P, /obj/item/weapon/wrench))
|
||||
|
||||
@@ -96,7 +96,7 @@ Pod/Blast Doors computer
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
@@ -563,7 +563,7 @@ Pod/Blast Doors computer
|
||||
if(do_after(user, 20))
|
||||
if (stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/computerframe/A = new /obj/computerframe( loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( loc )
|
||||
new /obj/item/weapon/shard( loc )
|
||||
|
||||
//generate appropriate circuitboard. Accounts for /pod/old computer types
|
||||
@@ -587,7 +587,7 @@ Pod/Blast Doors computer
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/computerframe/A = new /obj/computerframe( loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( loc )
|
||||
|
||||
//generate appropriate circuitboard. Accounts for /pod/old computer types
|
||||
var/obj/item/weapon/circuitboard/pod/M = null
|
||||
|
||||
@@ -24,7 +24,7 @@ var/reportingpower = 0 //this tracks whether this power monitoring computer is
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/powermonitor/M = new /obj/item/weapon/circuitboard/powermonitor( A )
|
||||
for (var/obj/C in src)
|
||||
@@ -36,7 +36,7 @@ var/reportingpower = 0 //this tracks whether this power monitoring computer is
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/computerframe/A = new /obj/computerframe( src.loc )
|
||||
var/obj/station_objects/computerframe/A = new /obj/station_objects/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/powermonitor/M = new /obj/item/weapon/circuitboard/powermonitor( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
var/on = 0
|
||||
var/temperature_archived
|
||||
var/obj/overlay/O1 = null
|
||||
var/obj/effects/overlay/O1 = null
|
||||
var/mob/living/carbon/occupant = null
|
||||
var/beaker = null
|
||||
var/next_trans = 0
|
||||
@@ -145,7 +145,7 @@
|
||||
icon_state = "celltop"
|
||||
else
|
||||
icon_state = "celltop-p"
|
||||
O1 = new /obj/overlay( )
|
||||
O1 = new /obj/effects/overlay( )
|
||||
O1.icon = 'Cryogenic2.dmi'
|
||||
if(src.node)
|
||||
O1.icon_state = "cryo_bottom_[src.on]"
|
||||
|
||||
@@ -55,7 +55,7 @@ for reference:
|
||||
|
||||
|
||||
//Barricades, maybe there will be a metal one later...
|
||||
/obj/barricade/wooden
|
||||
/obj/station_objects/barricade/wooden
|
||||
name = "wooden barricade"
|
||||
desc = "This space is blocked off by a wooden barricade."
|
||||
icon = 'structures.dmi'
|
||||
|
||||
@@ -882,14 +882,14 @@ About the new airlock wires panel:
|
||||
if(do_after(user,40))
|
||||
user << "\blue You removed the airlock electronics!"
|
||||
switch(src.doortype)
|
||||
if(0) new/obj/door_assembly/door_assembly_0( src.loc )
|
||||
if(1) new/obj/door_assembly/door_assembly_com( src.loc )
|
||||
if(2) new/obj/door_assembly/door_assembly_sec( src.loc )
|
||||
if(3) new/obj/door_assembly/door_assembly_eng( src.loc )
|
||||
if(4) new/obj/door_assembly/door_assembly_med( src.loc )
|
||||
if(5) new/obj/door_assembly/door_assembly_mai( src.loc )
|
||||
if(6) new/obj/door_assembly/door_assembly_ext( src.loc )
|
||||
if(7) new/obj/door_assembly/door_assembly_g( src.loc )
|
||||
if(0) new/obj/station_objects/door_assembly/door_assembly_0( src.loc )
|
||||
if(1) new/obj/station_objects/door_assembly/door_assembly_com( src.loc )
|
||||
if(2) new/obj/station_objects/door_assembly/door_assembly_sec( src.loc )
|
||||
if(3) new/obj/station_objects/door_assembly/door_assembly_eng( src.loc )
|
||||
if(4) new/obj/station_objects/door_assembly/door_assembly_med( src.loc )
|
||||
if(5) new/obj/station_objects/door_assembly/door_assembly_mai( src.loc )
|
||||
if(6) new/obj/station_objects/door_assembly/door_assembly_ext( src.loc )
|
||||
if(7) new/obj/station_objects/door_assembly/door_assembly_g( src.loc )
|
||||
var/obj/item/weapon/airlock_electronics/ae
|
||||
if (!electronics)
|
||||
ae = new/obj/item/weapon/airlock_electronics( src.loc )
|
||||
@@ -993,7 +993,7 @@ About the new airlock wires panel:
|
||||
return
|
||||
use_power(50)
|
||||
playsound(src.loc, 'airlock.ogg', 30, 1)
|
||||
var/obj/window/killthis = (locate(/obj/window) in get_turf(src))
|
||||
var/obj/station_objects/window/killthis = (locate(/obj/station_objects/window) in get_turf(src))
|
||||
if(killthis)
|
||||
killthis.ex_act(2)//Smashin windows
|
||||
..()
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
if(src.check_access(bot.botcard))
|
||||
if(density)
|
||||
open()
|
||||
else if(istype(AM, /obj/critter))
|
||||
var/obj/critter/critter = AM
|
||||
else if(istype(AM, /obj/effects/critter))
|
||||
var/obj/effects/critter/critter = AM
|
||||
if(critter.opensdoors) return
|
||||
if(src.check_access_list(critter.access_list))
|
||||
if(density)
|
||||
open()
|
||||
else if(istype(AM, /obj/alien/facehugger))
|
||||
else if(istype(AM, /obj/effects/alien/facehugger))
|
||||
if(src.check_access(null))
|
||||
if(density)
|
||||
open()
|
||||
@@ -147,17 +147,17 @@
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
O.show_message(text("\blue The door has been sliced open by [] with an energy blade!", user), 1, text("\red You hear metal being sliced and sparks flying."), 2)
|
||||
if((!src:arePowerSystemsOn()) || (stat & NOPOWER) || src:isWireCut(AIRLOCK_WIRE_DOOR_BOLTS))
|
||||
var/obj/door_assembly/temp
|
||||
var/obj/station_objects/door_assembly/temp
|
||||
var/failsafe=0
|
||||
switch(src:doortype)
|
||||
if(0) temp=new/obj/door_assembly/door_assembly_0(src.loc)
|
||||
if(1) temp=new/obj/door_assembly/door_assembly_com(src.loc)
|
||||
if(2) temp=new/obj/door_assembly/door_assembly_sec(src.loc)
|
||||
if(3) temp=new/obj/door_assembly/door_assembly_eng(src.loc)
|
||||
if(4) temp=new/obj/door_assembly/door_assembly_med(src.loc)
|
||||
if(5) temp=new/obj/door_assembly/door_assembly_mai(src.loc)
|
||||
if(6) temp=new/obj/door_assembly/door_assembly_ext(src.loc)
|
||||
if(7) temp=new/obj/door_assembly/door_assembly_g(src.loc)
|
||||
if(0) temp=new/obj/station_objects/door_assembly/door_assembly_0(src.loc)
|
||||
if(1) temp=new/obj/station_objects/door_assembly/door_assembly_com(src.loc)
|
||||
if(2) temp=new/obj/station_objects/door_assembly/door_assembly_sec(src.loc)
|
||||
if(3) temp=new/obj/station_objects/door_assembly/door_assembly_eng(src.loc)
|
||||
if(4) temp=new/obj/station_objects/door_assembly/door_assembly_med(src.loc)
|
||||
if(5) temp=new/obj/station_objects/door_assembly/door_assembly_mai(src.loc)
|
||||
if(6) temp=new/obj/station_objects/door_assembly/door_assembly_ext(src.loc)
|
||||
if(7) temp=new/obj/station_objects/door_assembly/door_assembly_g(src.loc)
|
||||
else failsafe=1
|
||||
if(!failsafe)
|
||||
temp.anchored=0
|
||||
@@ -327,7 +327,7 @@
|
||||
if(src.check_access(bot.botcard))
|
||||
if(density)
|
||||
open()
|
||||
else if(istype(AM, /obj/alien/facehugger))
|
||||
else if(istype(AM, /obj/effects/alien/facehugger))
|
||||
if(src.check_access(null))
|
||||
if(density)
|
||||
open()
|
||||
|
||||
@@ -122,7 +122,7 @@ Holographic project of everything else.
|
||||
set name = "Hologram Debug New"
|
||||
set category = "CURRENT DEBUG"
|
||||
|
||||
var/obj/overlay/hologram = new(loc)//Spawn a blank effect at the location.
|
||||
var/obj/effects/overlay/hologram = new(loc)//Spawn a blank effect at the location.
|
||||
var/icon/flat_icon = icon(getFlatIcon(src,0))//Need to make sure it's a new icon so the old one is not reused.
|
||||
flat_icon.ColorTone(rgb(125,180,225))//Let's make it bluish.
|
||||
flat_icon.ChangeOpacity(0.5)//Make it half transparent.
|
||||
|
||||
@@ -400,7 +400,7 @@ obj/machinery/hydroponics/proc/mutatepest() // Until someone makes a spaceworm,
|
||||
// if ( src.pestlevel > 5 )
|
||||
// user << "The worms seem to behave oddly..."
|
||||
// spawn(10)
|
||||
// new /obj/alien/spaceworm(src.loc)
|
||||
// new /obj/effects/alien/spaceworm(src.loc)
|
||||
// else
|
||||
//user << "Nothing happens..."
|
||||
return
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
meatslab.loc = src.loc
|
||||
meatslab.throw_at(Tx,i,3)
|
||||
if (!Tx.density)
|
||||
new /obj/decal/cleanable/blood/gibs(Tx,i)
|
||||
new /obj/effects/decal/cleanable/blood/gibs(Tx,i)
|
||||
src.operating = 0
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
|
||||
break
|
||||
|
||||
/obj/crate/juice
|
||||
/obj/station_objects/crate/juice
|
||||
New()
|
||||
..()
|
||||
new/obj/machinery/juicer(src)
|
||||
|
||||
@@ -108,7 +108,7 @@ Class Procs:
|
||||
if(use_power && stat == 0)
|
||||
use_power(7500/severity)
|
||||
|
||||
var/obj/overlay/pulse2 = new/obj/overlay ( src.loc )
|
||||
var/obj/effects/overlay/pulse2 = new/obj/effects/overlay ( src.loc )
|
||||
pulse2.icon = 'effects.dmi'
|
||||
pulse2.icon_state = "empdisable"
|
||||
pulse2.name = "emp sparks"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/morgue/proc/update()
|
||||
/obj/station_objects/morgue/proc/update()
|
||||
if (src.connected)
|
||||
src.icon_state = "morgue0"
|
||||
else
|
||||
@@ -8,7 +8,7 @@
|
||||
src.icon_state = "morgue1"
|
||||
return
|
||||
|
||||
/obj/morgue/ex_act(severity)
|
||||
/obj/station_objects/morgue/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
for(var/atom/movable/A as mob|obj in src)
|
||||
@@ -32,13 +32,13 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/morgue/alter_health()
|
||||
/obj/station_objects/morgue/alter_health()
|
||||
return src.loc
|
||||
|
||||
/obj/morgue/attack_paw(mob/user as mob)
|
||||
/obj/station_objects/morgue/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/morgue/attack_hand(mob/user as mob)
|
||||
/obj/station_objects/morgue/attack_hand(mob/user as mob)
|
||||
if (src.connected)
|
||||
for(var/atom/movable/A as mob|obj in src.connected.loc)
|
||||
if (!( A.anchored ))
|
||||
@@ -48,7 +48,7 @@
|
||||
del(src.connected)
|
||||
else
|
||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||
src.connected = new /obj/m_tray( src.loc )
|
||||
src.connected = new /obj/station_objects/m_tray( src.loc )
|
||||
step(src.connected, EAST)
|
||||
src.connected.layer = OBJ_LAYER
|
||||
var/turf/T = get_step(src, EAST)
|
||||
@@ -65,7 +65,7 @@
|
||||
update()
|
||||
return
|
||||
|
||||
/obj/morgue/attackby(P as obj, mob/user as mob)
|
||||
/obj/station_objects/morgue/attackby(P as obj, mob/user as mob)
|
||||
if (istype(P, /obj/item/weapon/pen))
|
||||
var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
|
||||
if (user.equipped() != P)
|
||||
@@ -80,10 +80,10 @@
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
/obj/morgue/relaymove(mob/user as mob)
|
||||
/obj/station_objects/morgue/relaymove(mob/user as mob)
|
||||
if (user.stat)
|
||||
return
|
||||
src.connected = new /obj/m_tray( src.loc )
|
||||
src.connected = new /obj/station_objects/m_tray( src.loc )
|
||||
step(src.connected, EAST)
|
||||
src.connected.layer = OBJ_LAYER
|
||||
var/turf/T = get_step(src, EAST)
|
||||
@@ -99,16 +99,16 @@
|
||||
del(src.connected)
|
||||
return
|
||||
|
||||
/obj/m_tray/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
/obj/station_objects/m_tray/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if (istype(mover, /obj/item/weapon/dummy))
|
||||
return 1
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/m_tray/attack_paw(mob/user as mob)
|
||||
/obj/station_objects/m_tray/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/m_tray/attack_hand(mob/user as mob)
|
||||
/obj/station_objects/m_tray/attack_hand(mob/user as mob)
|
||||
if (src.connected)
|
||||
for(var/atom/movable/A as mob|obj in src.loc)
|
||||
if (!( A.anchored ))
|
||||
@@ -122,7 +122,7 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/m_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
|
||||
/obj/station_objects/m_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
|
||||
if (istype(O, /obj/item/bodybag) || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src))
|
||||
O.loc = src.loc
|
||||
for(var/mob/B in viewers(user, 3))
|
||||
@@ -141,7 +141,7 @@
|
||||
//Foreach goto(99)
|
||||
return
|
||||
|
||||
/obj/crematorium/proc/update()
|
||||
/obj/station_objects/crematorium/proc/update()
|
||||
if (src.connected)
|
||||
src.icon_state = "crema0"
|
||||
else
|
||||
@@ -151,7 +151,7 @@
|
||||
src.icon_state = "crema1"
|
||||
return
|
||||
|
||||
/obj/crematorium/ex_act(severity)
|
||||
/obj/station_objects/crematorium/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
for(var/atom/movable/A as mob|obj in src)
|
||||
@@ -175,13 +175,13 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/crematorium/alter_health()
|
||||
/obj/station_objects/crematorium/alter_health()
|
||||
return src.loc
|
||||
|
||||
/obj/crematorium/attack_paw(mob/user as mob)
|
||||
/obj/station_objects/crematorium/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/crematorium/attack_hand(mob/user as mob)
|
||||
/obj/station_objects/crematorium/attack_hand(mob/user as mob)
|
||||
// if (cremating) AWW MAN! THIS WOULD BE SO MUCH MORE FUN ... TO WATCH
|
||||
// user.show_message("\red Uh-oh, that was a bad idea.", 1)
|
||||
// //usr << "Uh-oh, that was a bad idea."
|
||||
@@ -200,7 +200,7 @@
|
||||
del(src.connected)
|
||||
else if (src.locked == 0)
|
||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||
src.connected = new /obj/c_tray( src.loc )
|
||||
src.connected = new /obj/station_objects/c_tray( src.loc )
|
||||
step(src.connected, SOUTH)
|
||||
src.connected.layer = OBJ_LAYER
|
||||
var/turf/T = get_step(src, SOUTH)
|
||||
@@ -216,7 +216,7 @@
|
||||
src.add_fingerprint(user)
|
||||
update()
|
||||
|
||||
/obj/crematorium/attackby(P as obj, mob/user as mob)
|
||||
/obj/station_objects/crematorium/attackby(P as obj, mob/user as mob)
|
||||
if (istype(P, /obj/item/weapon/pen))
|
||||
var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
|
||||
if (user.equipped() != P)
|
||||
@@ -231,10 +231,10 @@
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
/obj/crematorium/relaymove(mob/user as mob)
|
||||
/obj/station_objects/crematorium/relaymove(mob/user as mob)
|
||||
if (user.stat || locked)
|
||||
return
|
||||
src.connected = new /obj/c_tray( src.loc )
|
||||
src.connected = new /obj/station_objects/c_tray( src.loc )
|
||||
step(src.connected, SOUTH)
|
||||
src.connected.layer = OBJ_LAYER
|
||||
var/turf/T = get_step(src, SOUTH)
|
||||
@@ -250,7 +250,7 @@
|
||||
del(src.connected)
|
||||
return
|
||||
|
||||
/obj/crematorium/proc/cremate(atom/A, mob/user as mob)
|
||||
/obj/station_objects/crematorium/proc/cremate(atom/A, mob/user as mob)
|
||||
// for(var/obj/machinery/crema_switch/O in src) //trying to figure a way to call the switch, too drunk to sort it out atm
|
||||
// if(var/on == 1)
|
||||
// return
|
||||
@@ -272,7 +272,7 @@
|
||||
M.take_overall_damage(0,30)
|
||||
if (M.stat!=2 && prob(30))
|
||||
M.emote("scream")
|
||||
new /obj/decal/ash(src)
|
||||
new /obj/effects/decal/ash(src)
|
||||
for (var/obj/item/W in M)
|
||||
if (prob(10))
|
||||
W.loc = src
|
||||
@@ -286,16 +286,16 @@
|
||||
M.show_message("\red You hear a roar as the crematorium activates.", 1)
|
||||
return
|
||||
|
||||
/obj/c_tray/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
/obj/station_objects/c_tray/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if (istype(mover, /obj/item/weapon/dummy))
|
||||
return 1
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/c_tray/attack_paw(mob/user as mob)
|
||||
/obj/station_objects/c_tray/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/c_tray/attack_hand(mob/user as mob)
|
||||
/obj/station_objects/c_tray/attack_hand(mob/user as mob)
|
||||
if (src.connected)
|
||||
for(var/atom/movable/A as mob|obj in src.loc)
|
||||
if (!( A.anchored ))
|
||||
@@ -309,7 +309,7 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/c_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
|
||||
/obj/station_objects/c_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
|
||||
if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)))
|
||||
return
|
||||
O.loc = src.loc
|
||||
@@ -322,7 +322,7 @@
|
||||
|
||||
/obj/machinery/crema_switch/attack_hand(mob/user as mob)
|
||||
if(src.allowed(usr))
|
||||
for (var/obj/crematorium/C in world)
|
||||
for (var/obj/station_objects/crematorium/C in world)
|
||||
if (C.id == id)
|
||||
if (!C.cremating)
|
||||
C.cremate(user)
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
else
|
||||
colour = rgb(255,128,128)
|
||||
|
||||
//if(istype(AM, /obj/blob))
|
||||
//if(istype(AM, /obj/effects/blob))
|
||||
// colour = rgb(255,0,255)
|
||||
|
||||
var/area/A = T.loc
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
src.add_fingerprint(usr)
|
||||
if(href_list["dmake"])
|
||||
var/p_type = text2num(href_list["dmake"])
|
||||
var/obj/disposalconstruct/C = new (src.loc)
|
||||
var/obj/station_objects/disposalconstruct/C = new (src.loc)
|
||||
switch(p_type)
|
||||
if(0)
|
||||
C.ptype = 0
|
||||
|
||||
@@ -299,7 +299,7 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
var/list/secondarytargets = list() // targets that are least important
|
||||
|
||||
if(src.check_anomalies) // if its set to check for xenos/carps, check for non-mob "crittersssss"
|
||||
for (var/obj/critter/L in view(12,src))
|
||||
for (var/obj/effects/critter/L in view(12,src))
|
||||
if(L.alive)
|
||||
targets += L
|
||||
|
||||
@@ -346,8 +346,8 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
spawn() shootAt(M) // shoot the target, finally
|
||||
else
|
||||
|
||||
if (istype(t, /obj/critter)) // shoot other things, same process as above
|
||||
var/obj/critter/L = t
|
||||
if (istype(t, /obj/effects/critter)) // shoot other things, same process as above
|
||||
var/obj/effects/critter/L = t
|
||||
if (L.alive==1)
|
||||
spawn() popUp()
|
||||
dir=get_dir(src,L)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
var/destroyed = 0
|
||||
var/directwired = 1
|
||||
// var/maxshieldload = 200
|
||||
var/obj/cable/attached // the attached cable
|
||||
var/obj/station_objects/cable/attached // the attached cable
|
||||
var/storedpower = 0
|
||||
flags = FPRINT | CONDUCT
|
||||
use_power = 0
|
||||
@@ -179,7 +179,7 @@
|
||||
power = 0
|
||||
return 0
|
||||
var/turf/T = src.loc
|
||||
var/obj/cable/C = T.get_cable_node()
|
||||
var/obj/station_objects/cable/C = T.get_cable_node()
|
||||
var/net
|
||||
if (C)
|
||||
net = C.netnum // find the powernet of the connected cable
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
src.attack_hand()
|
||||
|
||||
var/obj/S = null
|
||||
for(var/obj/landmark/sloc in world)
|
||||
for(var/obj/effects/landmark/sloc in world)
|
||||
if (sloc.name != "Clown Land")
|
||||
continue
|
||||
if (locate(/mob) in sloc.loc)
|
||||
@@ -26,7 +26,7 @@
|
||||
break
|
||||
if (!S)
|
||||
S = locate("landmark*["Clown Land"]") // use old stype
|
||||
if (istype(S, /obj/landmark/) && istype(S.loc, /turf))
|
||||
if (istype(S, /obj/effects/landmark/) && istype(S.loc, /turf))
|
||||
usr.loc = S.loc
|
||||
del(I)
|
||||
return
|
||||
@@ -210,7 +210,7 @@
|
||||
else
|
||||
tmploc = locate(tx, ty, destination.z)
|
||||
|
||||
if(tx == destturf.x && ty == destturf.y && (istype(destination.loc, /obj/closet) || istype(destination.loc, /obj/secure_closet)))
|
||||
if(tx == destturf.x && ty == destturf.y && (istype(destination.loc, /obj/station_objects/closet) || istype(destination.loc, /obj/station_objects/secure_closet)))
|
||||
tmploc = destination.loc
|
||||
|
||||
if(tmploc==null)
|
||||
@@ -302,11 +302,11 @@
|
||||
icon_state = "controller"
|
||||
|
||||
|
||||
/obj/laser/Bump()
|
||||
/obj/effects/laser/Bump()
|
||||
src.range--
|
||||
return
|
||||
|
||||
/obj/laser/Move()
|
||||
/obj/effects/laser/Move()
|
||||
src.range--
|
||||
return
|
||||
|
||||
|
||||
@@ -384,7 +384,7 @@
|
||||
|
||||
|
||||
|
||||
/obj/turret/gun_turret
|
||||
/obj/station_objects/turret/gun_turret
|
||||
name = "Gun Turret"
|
||||
density = 1
|
||||
anchored = 1
|
||||
|
||||
@@ -50,7 +50,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
wordhide=pick(runewords)
|
||||
runewords-=wordhide
|
||||
|
||||
/obj/rune
|
||||
/obj/effects/rune
|
||||
anchored = 1
|
||||
icon = 'rune.dmi'
|
||||
icon_state = "1"
|
||||
@@ -183,7 +183,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
|
||||
proc
|
||||
fizzle()
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
usr.say(pick("B'ADMINES SP'WNIN SH'T","IC'IN O'OC","RO'SHA'M I'SA GRI'FF'N ME'AI","TOX'IN'S O'NM FI'RAH","IA BL'AME TOX'IN'S","FIR'A NON'AN RE'SONA","A'OI I'RS ROUA'GE","LE'OAN JU'STA SP'A'C Z'EE SH'EF","IA PT'WOBEA'RD, IA A'DMI'NEH'LP"))
|
||||
else
|
||||
usr.whisper(pick("B'ADMINES SP'WNIN SH'T","IC'IN O'OC","RO'SHA'M I'SA GRI'FF'N ME'AI","TOX'IN'S O'NM FI'RAH","IA BL'AME TOX'IN'S","FIR'A NON'AN RE'SONA","A'OI I'RS ROUA'GE","LE'OAN JU'STA SP'A'C Z'EE SH'EF","IA PT'WOBEA'RD, IA A'DMI'NEH'LP"))
|
||||
@@ -467,7 +467,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
runerandom()
|
||||
if(iscultist(user))
|
||||
var/C = 0
|
||||
for(var/obj/rune/N in world)
|
||||
for(var/obj/effects/rune/N in world)
|
||||
C++
|
||||
if (!istype(user.loc,/turf))
|
||||
user << "\red You do not have enough space to write a proper rune."
|
||||
@@ -533,7 +533,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
user.take_overall_damage(1)
|
||||
if(do_after(user, 50))
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/obj/rune/R = new /obj/rune(user.loc)
|
||||
var/obj/effects/rune/R = new /obj/effects/rune(user.loc)
|
||||
user << "\red You finish drawing the arcane markings of the Geometer."
|
||||
R.word1 = w1
|
||||
R.word2 = w2
|
||||
@@ -582,7 +582,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
user << "\red You do not have enough space to write a proper rune."
|
||||
var/list/runes = list("teleport", "itemport", "tome", "convert", "tear in reality", "emp", "drain", "seer", "raise", "obscure", "reveal", "astral journey", "manifest", "imbue talisman", "sacrifice", "wall", "freedom", "cultsummon", "deafen", "blind", "bloodboil", "communicate", "stun")
|
||||
r = input("Choose a rune to scribe", "Rune Scribing") in runes //not cancellable.
|
||||
var/obj/rune/R = new /obj/rune
|
||||
var/obj/effects/rune/R = new /obj/effects/rune
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
R.blood_DNA = H.dna.unique_enzymes
|
||||
@@ -770,23 +770,23 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
if(iscultist(user))
|
||||
switch(imbue)
|
||||
if("newtome")
|
||||
call(/obj/rune/proc/tomesummon)()
|
||||
call(/obj/effects/rune/proc/tomesummon)()
|
||||
if("armor")
|
||||
call(/obj/rune/proc/armor)()
|
||||
call(/obj/effects/rune/proc/armor)()
|
||||
if("emp")
|
||||
call(/obj/rune/proc/emp)(usr.loc,3)
|
||||
call(/obj/effects/rune/proc/emp)(usr.loc,3)
|
||||
if("conceal")
|
||||
call(/obj/rune/proc/obscure)(2)
|
||||
call(/obj/effects/rune/proc/obscure)(2)
|
||||
if("revealrunes")
|
||||
call(/obj/rune/proc/revealrunes)(src)
|
||||
call(/obj/effects/rune/proc/revealrunes)(src)
|
||||
if("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri")
|
||||
call(/obj/rune/proc/teleport)(imbue)
|
||||
call(/obj/effects/rune/proc/teleport)(imbue)
|
||||
if("communicate")
|
||||
call(/obj/rune/proc/communicate)()
|
||||
call(/obj/effects/rune/proc/communicate)()
|
||||
if("deafen")
|
||||
call(/obj/rune/proc/deafen)()
|
||||
call(/obj/effects/rune/proc/deafen)()
|
||||
if("blind")
|
||||
call(/obj/rune/proc/blind)()
|
||||
call(/obj/effects/rune/proc/blind)()
|
||||
if("runestun")
|
||||
user << "\red To use this talisman, attack your target directly."
|
||||
return
|
||||
@@ -804,7 +804,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
if(iscultist(user))
|
||||
if(imbue == "runestun")
|
||||
user.take_organ_damage(5, 0)
|
||||
call(/obj/rune/proc/runestun)(T)
|
||||
call(/obj/effects/rune/proc/runestun)(T)
|
||||
del(src)
|
||||
else
|
||||
..() ///If its some other talisman, use the generic attack code, is this supposed to work this way?
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
var/list/sacrificed = list()
|
||||
|
||||
/obj/rune
|
||||
/obj/effects/rune
|
||||
/////////////////////////////////////////FIRST RUNE
|
||||
proc
|
||||
teleport(var/key)
|
||||
@@ -9,7 +9,7 @@ var/list/sacrificed = list()
|
||||
allrunesloc = new/list()
|
||||
var/index = 0
|
||||
// var/tempnum = 0
|
||||
for(var/obj/rune/R in world)
|
||||
for(var/obj/effects/rune/R in world)
|
||||
if(R == src)
|
||||
continue
|
||||
if(R.word1 == wordtravel && R.word2 == wordself && R.word3 == key)
|
||||
@@ -22,7 +22,7 @@ var/list/sacrificed = list()
|
||||
user.take_overall_damage(5, 0)
|
||||
del(src)
|
||||
if(allrunesloc && index != 0)
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
user.say("Sas'so c'arta forbici!")
|
||||
else
|
||||
user.whisper("Sas'so c'arta forbici!")
|
||||
@@ -31,10 +31,10 @@ var/list/sacrificed = list()
|
||||
"\red You hear a sickening crunch and sloshing of viscera.")
|
||||
user.loc = allrunesloc[rand(1,index)]
|
||||
return
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
return fizzle() //Use friggin manuals, Dorf, your list was of zero length.
|
||||
else
|
||||
call(/obj/rune/proc/fizzle)()
|
||||
call(/obj/effects/rune/proc/fizzle)()
|
||||
return
|
||||
|
||||
|
||||
@@ -45,9 +45,9 @@ var/list/sacrificed = list()
|
||||
// var/tempnum = 0
|
||||
var/culcount = 0
|
||||
var/runecount = 0
|
||||
var/obj/rune/IP = null
|
||||
var/obj/effects/rune/IP = null
|
||||
var/mob/living/user = usr
|
||||
for(var/obj/rune/R in world)
|
||||
for(var/obj/effects/rune/R in world)
|
||||
if(R == src)
|
||||
continue
|
||||
if(R.word1 == wordtravel && R.word2 == wordother && R.word3 == key)
|
||||
@@ -79,14 +79,14 @@ var/list/sacrificed = list()
|
||||
/////////////////////////////////////////SECOND RUNE
|
||||
|
||||
tomesummon()
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
usr.say("N'ath reth sh'yro eth d'raggathnor!")
|
||||
else
|
||||
usr.whisper("N'ath reth sh'yro eth d'raggathnor!")
|
||||
usr.visible_message("\red Rune disappears with a flash of red light, and in it's place now a book lies.", \
|
||||
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \
|
||||
"\red You hear a pop and smell ozone.")
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
new /obj/item/weapon/tome(src.loc)
|
||||
else
|
||||
new /obj/item/weapon/tome(usr.loc)
|
||||
@@ -140,7 +140,7 @@ var/list/sacrificed = list()
|
||||
/////////////////////////////////////////FIFTH RUNE
|
||||
|
||||
emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
usr.say("Ta'gh fara'qha fel d'amar det!")
|
||||
else
|
||||
usr.whisper("Ta'gh fara'qha fel d'amar det!")
|
||||
@@ -157,7 +157,7 @@ var/list/sacrificed = list()
|
||||
|
||||
drain()
|
||||
var/drain = 0
|
||||
for(var/obj/rune/R in world)
|
||||
for(var/obj/effects/rune/R in world)
|
||||
if(R.word1==wordtravel && R.word2==wordblood && R.word3==wordself)
|
||||
for(var/mob/living/carbon/D in R.loc)
|
||||
if(D.stat!=2)
|
||||
@@ -238,7 +238,7 @@ var/list/sacrificed = list()
|
||||
|
||||
var/sacrifice_is_target = 0
|
||||
find_sacrifice:
|
||||
for(var/obj/rune/R in world)
|
||||
for(var/obj/effects/rune/R in world)
|
||||
if(R.word1==wordblood && R.word2==wordjoin && R.word3==wordhell)
|
||||
for(var/mob/living/carbon/human/N in R.loc)
|
||||
if (ticker.mode.name == "cult" && N.mind && N.mind == ticker.mode:sacrifice_target)
|
||||
@@ -314,12 +314,12 @@ var/list/sacrificed = list()
|
||||
|
||||
obscure(var/rad)
|
||||
var/S=0
|
||||
for(var/obj/rune/R in orange(rad,src))
|
||||
for(var/obj/effects/rune/R in orange(rad,src))
|
||||
if(R!=src)
|
||||
R:visibility=0
|
||||
S=1
|
||||
if(S)
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
usr.say("Kla'atu barada nikt'o!")
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3)
|
||||
@@ -332,10 +332,10 @@ var/list/sacrificed = list()
|
||||
V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3)
|
||||
|
||||
return
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
return fizzle()
|
||||
else
|
||||
call(/obj/rune/proc/fizzle)()
|
||||
call(/obj/effects/rune/proc/fizzle)()
|
||||
return
|
||||
|
||||
/////////////////////////////////////////TENTH RUNE
|
||||
@@ -363,7 +363,7 @@ var/list/sacrificed = list()
|
||||
/////////////////////////////////////////ELEVENTH RUNE
|
||||
|
||||
manifest()
|
||||
var/obj/rune/this_rune = src
|
||||
var/obj/effects/rune/this_rune = src
|
||||
src = null
|
||||
if(usr.loc!=this_rune.loc)
|
||||
return this_rune.fizzle()
|
||||
@@ -438,9 +438,9 @@ var/list/sacrificed = list()
|
||||
usr << "\red The blank is tainted. It is unsuitable."
|
||||
return fizzle()
|
||||
|
||||
var/obj/rune/imbued_from
|
||||
var/obj/effects/rune/imbued_from
|
||||
var/obj/item/weapon/paper/talisman/T
|
||||
for(var/obj/rune/R in orange(1,src))
|
||||
for(var/obj/effects/rune/R in orange(1,src))
|
||||
if(R==src)
|
||||
continue
|
||||
if(R.word1==wordtravel && R.word2==wordself) //teleport
|
||||
@@ -531,12 +531,12 @@ var/list/sacrificed = list()
|
||||
return fizzle()
|
||||
else
|
||||
return
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
usr.say("O bidai nabora se'sma!")
|
||||
else
|
||||
usr.whisper("O bidai nabora se'sma!")
|
||||
var/input_s = sanitize(input)
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
usr.say("[input]")
|
||||
else
|
||||
usr.whisper("[input]")
|
||||
@@ -647,7 +647,7 @@ var/list/sacrificed = list()
|
||||
var/go=0
|
||||
var/rad
|
||||
var/S=0
|
||||
if(istype(W,/obj/rune))
|
||||
if(istype(W,/obj/effects/rune))
|
||||
rad = 6
|
||||
go = 1
|
||||
if (istype(W,/obj/item/weapon/paper/talisman))
|
||||
@@ -657,7 +657,7 @@ var/list/sacrificed = list()
|
||||
rad = 1
|
||||
go = 1
|
||||
if(go)
|
||||
for(var/obj/rune/R in orange(rad,src))
|
||||
for(var/obj/effects/rune/R in orange(rad,src))
|
||||
if(R!=src)
|
||||
R:visibility=15
|
||||
S=1
|
||||
@@ -665,7 +665,7 @@ var/list/sacrificed = list()
|
||||
if(istype(W,/obj/item/weapon/storage/bible))
|
||||
usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!"
|
||||
return
|
||||
if(istype(W,/obj/rune))
|
||||
if(istype(W,/obj/effects/rune))
|
||||
usr.say("Nikt'o barada kla'atu!")
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3)
|
||||
@@ -679,10 +679,10 @@ var/list/sacrificed = list()
|
||||
V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3)
|
||||
return
|
||||
return
|
||||
if(istype(W,/obj/rune))
|
||||
if(istype(W,/obj/effects/rune))
|
||||
return fizzle()
|
||||
if(istype(W,/obj/item/weapon/paper/talisman))
|
||||
call(/obj/rune/proc/fizzle)()
|
||||
call(/obj/effects/rune/proc/fizzle)()
|
||||
return
|
||||
|
||||
/////////////////////////////////////////SEVENTEENTH RUNE
|
||||
@@ -719,8 +719,8 @@ var/list/sacrificed = list()
|
||||
if(!(cultist.buckled || \
|
||||
cultist.handcuffed || \
|
||||
istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle) || \
|
||||
(istype(cultist.loc, /obj/closet)&&cultist.loc:welded) || \
|
||||
(istype(cultist.loc, /obj/secure_closet)&&cultist.loc:locked) || \
|
||||
(istype(cultist.loc, /obj/station_objects/closet)&&cultist.loc:welded) || \
|
||||
(istype(cultist.loc, /obj/station_objects/secure_closet)&&cultist.loc:locked) || \
|
||||
(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \
|
||||
))
|
||||
user << "\red The [cultist] is already free."
|
||||
@@ -731,9 +731,9 @@ var/list/sacrificed = list()
|
||||
cultist.handcuffed = null
|
||||
if (istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle))
|
||||
cultist.u_equip(cultist.wear_mask)
|
||||
if(istype(cultist.loc, /obj/closet)&&cultist.loc:welded)
|
||||
if(istype(cultist.loc, /obj/station_objects/closet)&&cultist.loc:welded)
|
||||
cultist.loc:welded = 0
|
||||
if(istype(cultist.loc, /obj/secure_closet)&&cultist.loc:locked)
|
||||
if(istype(cultist.loc, /obj/station_objects/secure_closet)&&cultist.loc:locked)
|
||||
cultist.loc:locked = 0
|
||||
if(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked)
|
||||
cultist.loc:locked = 0
|
||||
@@ -761,7 +761,7 @@ var/list/sacrificed = list()
|
||||
return fizzle()
|
||||
if (cultist == user) //just to be sure.
|
||||
return
|
||||
if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/closet)))
|
||||
if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/station_objects/closet)))
|
||||
user << "\red You cannot summon the [cultist], for him shackles of blood are strong"
|
||||
return fizzle()
|
||||
cultist.loc = src.loc
|
||||
@@ -780,7 +780,7 @@ var/list/sacrificed = list()
|
||||
/////////////////////////////////////////TWENTIETH RUNES
|
||||
|
||||
deafen()
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
var/affected = 0
|
||||
for(var/mob/living/carbon/C in range(7,src))
|
||||
if (iscultist(C))
|
||||
@@ -814,7 +814,7 @@ var/list/sacrificed = list()
|
||||
return
|
||||
|
||||
blind()
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
var/affected = 0
|
||||
for(var/mob/living/carbon/C in viewers(src))
|
||||
if (iscultist(C))
|
||||
@@ -870,7 +870,7 @@ var/list/sacrificed = list()
|
||||
if(prob(5))
|
||||
spawn(5)
|
||||
M.gib(1)
|
||||
for(var/obj/rune/R in view(src))
|
||||
for(var/obj/effects/rune/R in view(src))
|
||||
if(prob(10))
|
||||
explosion(R.loc, -1, 0, 1, 5)
|
||||
for(var/mob/living/carbon/human/C in orange(1,src))
|
||||
@@ -890,7 +890,7 @@ var/list/sacrificed = list()
|
||||
if(iscultist(C))
|
||||
culcount++
|
||||
if(culcount >= 5)
|
||||
for(var/obj/rune/R in world)
|
||||
for(var/obj/effects/rune/R in world)
|
||||
if(R.blood_DNA == src.blood_DNA && R.blood_type == src.blood_type)
|
||||
for(var/mob/living/M in orange(2,R))
|
||||
M.take_overall_damage(0,15)
|
||||
@@ -900,7 +900,7 @@ var/list/sacrificed = list()
|
||||
M << "\red Rune suddenly ignites, burning you!"
|
||||
var/turf/T = get_turf(R)
|
||||
T.hotspot_expose(700,125)
|
||||
for(var/obj/decal/cleanable/blood/B in world)
|
||||
for(var/obj/effects/decal/cleanable/blood/B in world)
|
||||
if(B.blood_DNA == src.blood_DNA && B.blood_type == src.blood_type)
|
||||
for(var/mob/living/M in orange(1,B))
|
||||
M.take_overall_damage(0,5)
|
||||
@@ -913,7 +913,7 @@ var/list/sacrificed = list()
|
||||
////////// Rune 24 (counting burningblood, which kinda doesnt work yet.)
|
||||
|
||||
runestun(var/mob/living/carbon/T as mob)
|
||||
if(istype(src,/obj/rune)) ///When invoked as rune, flash and stun everyone around.
|
||||
if(istype(src,/obj/effects/rune)) ///When invoked as rune, flash and stun everyone around.
|
||||
usr.say("Fuu ma'jin!")
|
||||
for(var/mob/living/carbon/C in viewers(src))
|
||||
flick("e_flash", C.flash)
|
||||
@@ -942,7 +942,7 @@ var/list/sacrificed = list()
|
||||
|
||||
armor()
|
||||
var/mob/living/carbon/human/user = usr
|
||||
if(istype(src,/obj/rune))
|
||||
if(istype(src,/obj/effects/rune))
|
||||
usr.say("N'ath reth sh'yro eth d'raggathnor!")
|
||||
else
|
||||
usr.whisper("N'ath reth sh'yro eth d'raggathnor!")
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
|
||||
|
||||
/obj/bookcase
|
||||
/obj/station_objects/bookcase
|
||||
name = "bookcase"
|
||||
icon = 'library.dmi'
|
||||
icon_state = "bookcase"
|
||||
@@ -124,7 +124,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/bookcase/manuals/medical
|
||||
/obj/station_objects/bookcase/manuals/medical
|
||||
name = "Medical Manuals bookcase"
|
||||
|
||||
New()
|
||||
@@ -132,7 +132,7 @@
|
||||
new /obj/item/weapon/book/manual/medical_cloning(src)
|
||||
|
||||
|
||||
/obj/bookcase/manuals/engineering
|
||||
/obj/station_objects/bookcase/manuals/engineering
|
||||
name = "Engineering Manuals bookcase"
|
||||
|
||||
New()
|
||||
@@ -144,7 +144,7 @@
|
||||
new /obj/item/weapon/book/manual/engineering_singularity_safety(src)
|
||||
new /obj/item/weapon/book/manual/robotics_cyborgs(src)
|
||||
|
||||
/obj/bookcase/manuals/research_and_development
|
||||
/obj/station_objects/bookcase/manuals/research_and_development
|
||||
name = "R&D Manuals bookcase"
|
||||
|
||||
New()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user