Fixed the map/code issues that the body bags caused.

/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work. 
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more.  More random name monkeys will help with changeling and clean up the observe/mob menus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-10-03 10:28:57 +00:00
parent e8c6b08419
commit 17ed3899c4
314 changed files with 9099 additions and 9118 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/effects/alien/acid/proc/tick()
/obj/effect/alien/acid/proc/tick()
ticks += 1
for(var/mob/O in hearers(src, null))
O.show_message("\green <B>[src.target] sizzles and begins to melt under the bubbling mess of acid!</B>", 1)
+6 -6
View File
@@ -1,10 +1,10 @@
/obj/effects/alien
/obj/effect/alien
name = "alien thing"
desc = "theres something alien about this"
icon = 'alien.dmi'
unacidable = 1 //Aliens won't ment their own.
/obj/effects/alien/egg
/obj/effect/alien/egg
desc = "It looks like a weird egg"
name = "egg"
icon_state = "egg"
@@ -14,7 +14,7 @@
var/health = 100
/obj/effects/alien/head
/obj/effect/alien/head
name = "severed head"
desc = "a severed head..."
icon_state = "weeds"
@@ -22,7 +22,7 @@
density = 0
anchored = 0
/obj/effects/alien/resin
/obj/effect/alien/resin
name = "resin"
desc = "Looks like some kind of slimy growth."
icon_state = "resin"
@@ -45,7 +45,7 @@
opacity = 0
health = 20
/obj/effects/alien/weeds
/obj/effect/alien/weeds
name = "weeds"
desc = "Weird purple weeds."
icon_state = "weeds"
@@ -54,7 +54,7 @@
density = 0
var/health = 50
/obj/effects/alien/acid
/obj/effect/alien/acid
name = "acid"
desc = "Burbling corrossive stuff. I wouldn't want to touch it."
icon_state = "acid"
+7 -7
View File
@@ -1,4 +1,4 @@
/obj/effects/alien/egg/New()
/obj/effect/alien/egg/New()
if(aliens_allowed)
src.density = 0 // Aliens use resin walls to block paths now. I am lazy and didn't feel like going to the define. -- TLE
spawn(1800)
@@ -6,19 +6,19 @@
else
del(src)
/obj/effects/alien/egg/proc/open()
/obj/effect/alien/egg/proc/open()
spawn(10)
src.density = 0
src.icon_state = "egg_hatched"
new /obj/effects/alien/facehugger(src.loc)
new /obj/effect/alien/facehugger(src.loc)
/obj/effects/alien/egg/bullet_act(var/obj/item/projectile/Proj)
/obj/effect/alien/egg/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
healthcheck()
return
/obj/effects/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user)
/obj/effect/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user)
if(health <= 0)
return
src.visible_message("\red <B>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]")
@@ -35,7 +35,7 @@
src.healthcheck()
/obj/effects/alien/egg/proc/healthcheck()
/obj/effect/alien/egg/proc/healthcheck()
if(health <= 0)
if(prob(15))
open()
@@ -43,7 +43,7 @@
src.icon_state = "egg_hatched"
/obj/effects/alien/egg/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/effect/alien/egg/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 500)
health -= 5
healthcheck()
+5 -5
View File
@@ -16,7 +16,7 @@
L.Add(T)
return L
/obj/effects/alien/facehugger
/obj/effect/alien/facehugger
name = "alien"
desc = "An alien, looks pretty scary!"
icon_state = "facehugger"
@@ -297,7 +297,7 @@
if(state != 2 || !alive || target) return
if(locate(/obj/effects/alien/weeds) in loc && health < maxhealth)
if(locate(/obj/effect/alien/weeds) in loc && health < maxhealth)
health++
spawn(cycle_pause) idle()
return
@@ -315,12 +315,12 @@
spawn(cycle_pause) idle()
return
else
var/obj/effects/alien/weeds/W = null
var/obj/effect/alien/weeds/W = null
if(health < maxhealth)
var/list/the_weeds = new/list()
find_weeds:
for(var/obj/effects/alien/weeds/weed in range(viewrange,loc))
for(var/obj/effect/alien/weeds/weed in range(viewrange,loc))
if(!can_see(src,weed,viewrange)) continue
for(var/atom/A in get_turf(weed))
if(A.density) continue find_weeds
@@ -345,7 +345,7 @@
if(can_see(src,trg_idle,viewrange))
switch(get_dist(src, trg_idle))
if(1)
if(istype(trg_idle,/obj/effects/alien/weeds))
if(istype(trg_idle,/obj/effect/alien/weeds))
step_towards(src,get_step_towards2(src , trg_idle))
if(2 to INFINITY)
step_towards(src,get_step_towards2(src , trg_idle))
+12 -12
View File
@@ -1,6 +1,6 @@
// Resin walls improved. /N
/obj/effects/alien/resin/proc/healthcheck()
/obj/effect/alien/resin/proc/healthcheck()
if(health <=0)
density = 0
/* if(affecting)
@@ -17,13 +17,13 @@
del(src)
return
/obj/effects/alien/resin/bullet_act(var/obj/item/projectile/Proj)
/obj/effect/alien/resin/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
healthcheck()
return
/obj/effects/alien/resin/ex_act(severity)
/obj/effect/alien/resin/ex_act(severity)
switch(severity)
if(1.0)
health-=50
@@ -37,17 +37,17 @@
healthcheck()
return
/obj/effects/alien/resin/blob_act()
/obj/effect/alien/resin/blob_act()
health-=50
healthcheck()
return
/obj/effects/alien/resin/meteorhit()
/obj/effect/alien/resin/meteorhit()
health-=50
healthcheck()
return
/obj/effects/alien/resin/hitby(AM as mob|obj)
/obj/effect/alien/resin/hitby(AM as mob|obj)
..()
for(var/mob/O in viewers(src, null))
O.show_message(text("\red <B>[src] was hit by [AM].</B>"), 1)
@@ -62,7 +62,7 @@
..()
return
/obj/effects/alien/resin/attack_hand()
/obj/effect/alien/resin/attack_hand()
if ((usr.mutations & HULK))
usr << text("\blue You easily destroy the [name].")
for(var/mob/O in oviewers(src))
@@ -71,10 +71,10 @@
healthcheck()
return
/obj/effects/alien/resin/attack_paw()
/obj/effect/alien/resin/attack_paw()
return attack_hand()
/obj/effects/alien/resin/attack_alien()
/obj/effect/alien/resin/attack_alien()
if (islarva(usr))//Safety check for larva. /N
return
usr << text("\green You claw at the [name].")
@@ -89,7 +89,7 @@
healthcheck()
return
/obj/effects/alien/resin/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/effect/alien/resin/attackby(obj/item/weapon/W as obj, mob/user as mob)
/*if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if(isalien(user)&&(ishuman(G.affecting)||ismonkey(G.affecting)))
@@ -118,7 +118,7 @@
..()
return
/obj/effects/alien/resin/process() //Buggy and irrelevant now that you're able to just make nice little infection chambers - Urist
/obj/effect/alien/resin/process() //Buggy and irrelevant now that you're able to just make nice little infection chambers - Urist
/*if(affecting)
var/mob/living/carbon/M = affecting
var/check = 0
@@ -159,7 +159,7 @@
O.show_message(text("\red An alien larva bursts from the resin wall!"), 1, text("\red You hear a high, alien screech nearby!"), 2)*/
return
/obj/effects/alien/resin/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
/obj/effect/alien/resin/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group) return 0
if(istype(mover) && mover.checkpass(PASSGLASS))
return !opacity
+9 -9
View File
@@ -1,4 +1,4 @@
/obj/effects/alien/weeds/New()
/obj/effect/alien/weeds/New()
..()
if(istype(loc, /turf/space))
del(src)
@@ -9,7 +9,7 @@
Life()
return
/obj/effects/alien/weeds/proc/Life()
/obj/effect/alien/weeds/proc/Life()
set background = 1
var/turf/U = get_turf(src)
/*
@@ -33,7 +33,7 @@ Alien plants should do something if theres a lot of poison
for(var/dirn in cardinal)
var/turf/T = get_step(src, dirn)
if (!istype(T) || T.density || locate(/obj/effects/alien/weeds) in T || istype(T.loc, /area/arrival) || istype(T, /turf/space))
if (!istype(T) || T.density || locate(/obj/effect/alien/weeds) in T || istype(T.loc, /area/arrival) || istype(T, /turf/space))
continue
// if (locate(/obj/movable, T)) // don't propogate into movables
@@ -43,10 +43,10 @@ Alien plants should do something if theres a lot of poison
if(O.density)
continue direction_loop
new /obj/effects/alien/weeds(T)
new /obj/effect/alien/weeds(T)
/obj/effects/alien/weeds/ex_act(severity)
/obj/effect/alien/weeds/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -58,7 +58,7 @@ Alien plants should do something if theres a lot of poison
del(src)
return
/obj/effects/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user)
/obj/effect/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user)
visible_message("\red <B>\The [src] have been attacked with \the [W][(user ? " by [user]." : ".")]")
var/damage = W.force / 4.0
@@ -73,17 +73,17 @@ Alien plants should do something if theres a lot of poison
health -= damage
healthcheck()
/obj/effects/alien/weeds/proc/healthcheck()
/obj/effect/alien/weeds/proc/healthcheck()
if(health <= 0)
del(src)
/obj/effects/alien/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/effect/alien/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
health -= 5
healthcheck()
/*/obj/effects/alien/weeds/burn(fi_amount)
/*/obj/effect/alien/weeds/burn(fi_amount)
if (fi_amount > 18000)
spawn( 0 )
del(src)
+16 -16
View File
@@ -1,4 +1,4 @@
/obj/effects/biomass
/obj/effect/biomass
icon = 'biomass.dmi'
icon_state = "stage1"
opacity = 0
@@ -7,20 +7,20 @@
layer = 20 //DEBUG
var/health = 10
var/stage = 1
var/obj/effects/rift/originalRift = null //the originating rift of that biomass
var/obj/effect/rift/originalRift = null //the originating rift of that biomass
var/maxDistance = 15 //the maximum length of a thread
var/newSpreadDistance = 10 //the length of a thread at which new ones are created
var/curDistance = 1 //the current length of a thread
var/continueChance = 3 //weighed chance of continuing in the same direction. turning left or right has 1 weight both
var/spreadDelay = 1 //will change to something bigger later, but right now I want it to spread as fast as possible for testing
/obj/effects/rift
/obj/effect/rift
icon = 'biomass.dmi'
icon_state = "rift"
var/list/obj/effects/biomass/linkedBiomass = list() //all the biomass patches that have spread from it
var/list/obj/effect/biomass/linkedBiomass = list() //all the biomass patches that have spread from it
var/newicon = 1 //DEBUG
/obj/effects/rift/New()
/obj/effect/rift/New()
set background = 1
..()
@@ -28,19 +28,19 @@
for(var/turf/T in orange(1,src))
if(!IsValidBiomassLoc(T))
continue
var/obj/effects/biomass/starting = new /obj/effects/biomass(T)
var/obj/effect/biomass/starting = new /obj/effect/biomass(T)
starting.dir = get_dir(src,starting)
starting.originalRift = src
linkedBiomass += starting
spawn(1) //DEBUG
starting.icon_state = "[newicon]"
/obj/effects/rift/Del()
for(var/obj/effects/biomass/biomass in linkedBiomass)
/obj/effect/rift/Del()
for(var/obj/effect/biomass/biomass in linkedBiomass)
del(biomass)
..()
/obj/effects/biomass/New()
/obj/effect/biomass/New()
set background = 1
..()
@@ -62,7 +62,7 @@
sleep(spreadDelay)
Spread()
/obj/effects/biomass/proc/Spread(var/direction = dir)
/obj/effect/biomass/proc/Spread(var/direction = dir)
set background = 1
var/possibleDirsInt = 0
@@ -89,7 +89,7 @@
direction = pick(possibleDirs)
var/obj/effects/biomass/newBiomass = new /obj/effects/biomass(get_step(src,direction))
var/obj/effect/biomass/newBiomass = new /obj/effect/biomass(get_step(src,direction))
newBiomass.curDistance = curDistance + 1
newBiomass.maxDistance = maxDistance
newBiomass.dir = direction
@@ -98,23 +98,23 @@
originalRift.linkedBiomass += newBiomass
if(!(curDistance%newSpreadDistance))
var/obj/effects/rift/newrift = new /obj/effects/rift(loc)
var/obj/effect/rift/newrift = new /obj/effect/rift(loc)
if(originalRift.newicon <= 3)
newrift.newicon = originalRift.newicon + 1
// NewSpread()
/obj/effects/biomass/proc/NewSpread(maxDistance = 15)
/obj/effect/biomass/proc/NewSpread(maxDistance = 15)
set background = 1
for(var/turf/T in orange(1,src))
if(!IsValidBiomassLoc(T,src))
continue
var/obj/effects/biomass/starting = new /obj/effects/biomass(T)
var/obj/effect/biomass/starting = new /obj/effect/biomass(T)
starting.dir = get_dir(src,starting)
starting.maxDistance = maxDistance
/proc/IsValidBiomassLoc(turf/location,obj/effects/biomass/source = null)
/proc/IsValidBiomassLoc(turf/location,obj/effect/biomass/source = null)
set background = 1
for(var/obj/effects/biomass/biomass in location)
for(var/obj/effect/biomass/biomass in location)
if(biomass != source)
return 0
if(istype(location,/turf/space))
+11 -11
View File
@@ -1,9 +1,9 @@
/obj/effects/decal/cleanable/New()
/obj/effect/decal/cleanable/New()
if (random_icon_states && length(src.random_icon_states) > 0)
src.icon_state = pick(src.random_icon_states)
..()
/*
/obj/effects/decal/cleanable/blood/burn(fi_amount)
/obj/effect/decal/cleanable/blood/burn(fi_amount)
if(fi_amount > 900000.0)
src.virus = null
sleep(11)
@@ -13,41 +13,41 @@
//Gibs.spread proc in gibs.dm
/obj/effects/decal/cleanable/blood/gibs/proc/streak(var/list/directions)
/obj/effect/decal/cleanable/blood/gibs/proc/streak(var/list/directions)
spawn (0)
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
sleep(3)
if (i > 0)
var/obj/effects/decal/cleanable/blood/b = new /obj/effects/decal/cleanable/blood/splatter(src.loc)
var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc)
for(var/datum/disease/D in src.viruses)
b.viruses += D
if (step_to(src, get_step(src, direction), 0))
break
/obj/effects/decal/cleanable/xenoblood/xgibs/proc/streak(var/list/directions)
/obj/effect/decal/cleanable/xenoblood/xgibs/proc/streak(var/list/directions)
spawn (0)
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
sleep(3)
if (i > 0)
var/obj/effects/decal/cleanable/xenoblood/b = new /obj/effects/decal/cleanable/xenoblood/xsplatter(src.loc)
var/obj/effect/decal/cleanable/xenoblood/b = new /obj/effect/decal/cleanable/xenoblood/xsplatter(src.loc)
for(var/datum/disease/D in src.viruses)
b.viruses += D
if (step_to(src, get_step(src, direction), 0))
break
/obj/effects/decal/cleanable/robot_debris/proc/streak(var/list/directions)
/obj/effect/decal/cleanable/robot_debris/proc/streak(var/list/directions)
spawn (0)
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
sleep(3)
if (i > 0)
if (prob(40))
/*var/obj/effects/decal/cleanable/oil/o =*/
new /obj/effects/decal/cleanable/oil/streak(src.loc)
/*var/obj/effect/decal/cleanable/oil/o =*/
new /obj/effect/decal/cleanable/oil/streak(src.loc)
else if (prob(10))
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
if (step_to(src, get_step(src, direction), 0))
@@ -56,7 +56,7 @@
// not a great place for it, but as good as any
/obj/effects/decal/cleanable/greenglow
/obj/effect/decal/cleanable/greenglow
New()
..()
+47 -70
View File
@@ -1,78 +1,55 @@
//Thank you BS12! For the sprites as well. -Petethegoat
//folded bodybag (for boxes)
obj/item/bodybag
icon = 'bodybag.dmi'
icon_state = "folded"
desc = "A folded body bag designed to contain those with a less fortunate fate."
/obj/item/bodybag
name = "body bag"
desc = "A folded bag designed to contain dead things."
icon = 'bodybag.dmi'
icon_state = "bodybag_folded"
attack_self(mob/user)
var/obj/item/bodybag/unfolded/R = new /obj/item/bodybag/unfolded(user.loc)
var/obj/structure/closet/body_bag/R = new /obj/structure/closet/body_bag(user.loc)
R.add_fingerprint(user)
del(src)
//unfolded, real world bodybag
obj/item/bodybag/unfolded
icon = 'bodybag.dmi'
icon_state = "b00"
desc = "A body bag designed to contain those with a less fortunate fate."
/obj/item/weapon/storage/body_bag_box
name = "body bags"
desc = "This box contains body bags."
icon_state = "bodybags"
item_state = "syringe_kit"
New()
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
..()
return
/obj/structure/closet/body_bag
name = "body bag"
var/mob/captured
var/writhe_time = 0
var/open = 0
obj/item/bodybag/unfolded/attack_hand(mob/user)
add_fingerprint(user)
if(open)
close()
else
open()
obj/item/bodybag/unfolded/proc/open()
if(captured)
captured.loc = src.loc
captured = null
for (var/obj/item/I in src)
I.loc = src.loc
open = 1
UpdateIcon()
//Bug alert! Somehow this seems to pick up bodybag boxes (and only bodybag boxes) in the tiles south, southwest, and west of itself.
//A bajillion points if you can fix it. -Petethegoat
obj/item/bodybag/unfolded/proc/close()
for (var/obj/item/I in src.loc)
if (!I.anchored)
I.loc = src
for(var/mob/M in src.loc)
if(M.lying)
captured = M
M.loc = src
break
open = 0
UpdateIcon()
obj/item/bodybag/unfolded/proc/UpdateIcon()
icon_state = "b[open][captured?"1":"0"]"
return
//mouthwatering copypasta from morgue trays
/obj/item/bodybag/unfolded/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)
return
if (!in_range(src, user) && src.loc != user)
return
t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
if (t)
src.name = t
else
src.name = "body bag"
add_fingerprint(user)
return
desc = "A bag designed to contain dead things."
icon = 'bodybag.dmi'
icon_state = "bodybag_closed"
icon_closed = "bodybag_closed"
icon_opened = "bodybag_open"
density = 0
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)
return
if (!in_range(src, user) && src.loc != user)
return
t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
if (t)
src.name = "body bag - "
src.name += t
else
src.name = "body bag"
..()
return
+9 -9
View File
@@ -1,5 +1,5 @@
/* The old single tank bombs that dont really work anymore
/obj/effects/spawner/bomb
/obj/effect/spawner/bomb
name = "bomb"
icon = 'screen1.dmi'
icon_state = "x"
@@ -8,22 +8,22 @@
var/btemp = 500 // bomb temperature (degC)
var/active = 0
/obj/effects/spawner/bomb/radio
/obj/effect/spawner/bomb/radio
btype = 0
/obj/effects/spawner/bomb/proximity
/obj/effect/spawner/bomb/proximity
btype = 1
/obj/effects/spawner/bomb/timer
/obj/effect/spawner/bomb/timer
btype = 2
/obj/effects/spawner/bomb/timer/syndicate
/obj/effect/spawner/bomb/timer/syndicate
btemp = 450
/obj/effects/spawner/bomb/suicide
/obj/effect/spawner/bomb/suicide
btype = 3
/obj/effects/spawner/bomb/New()
/obj/effect/spawner/bomb/New()
..()
switch (src.btype)
@@ -105,7 +105,7 @@
del(src)
*/
/obj/effects/spawner/newbomb
/obj/effect/spawner/newbomb
name = "bomb"
icon = 'screen1.dmi'
icon_state = "x"
@@ -127,7 +127,7 @@
btype = 0
/obj/effects/spawner/newbomb/New()
/obj/effect/spawner/newbomb/New()
..()
switch (src.btype)
+4 -4
View File
@@ -1,15 +1,15 @@
/obj/station_objects/mopbucket/New()
/obj/structure/mopbucket/New()
var/datum/reagents/R = new/datum/reagents(100)
reagents = R
R.my_atom = src
/obj/station_objects/mopbucket/examine()
/obj/structure/mopbucket/examine()
set src in usr
usr << text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume)
..()
/obj/station_objects/mopbucket/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/mopbucket/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/mop))
if (src.reagents.total_volume >= 2)
src.reagents.trans_to(W, 2)
@@ -19,7 +19,7 @@
user << "\blue Out of water!"
return
/obj/station_objects/mopbucket/ex_act(severity)
/obj/structure/mopbucket/ex_act(severity)
switch(severity)
if(1.0)
del(src)
+26 -26
View File
@@ -1,29 +1,29 @@
/obj/station_objects/closet/alter_health()
/obj/structure/closet/alter_health()
return get_turf(src)
/obj/station_objects/closet/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
/obj/structure/closet/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group || (height==0 || wall_mounted)) return 1
return opened
/obj/station_objects/closet/proc/can_open()
/obj/structure/closet/proc/can_open()
if (src.welded)
return 0
return 1
/obj/station_objects/closet/proc/can_close()
for(var/obj/station_objects/closet/closet in get_turf(src))
/obj/structure/closet/proc/can_close()
for(var/obj/structure/closet/closet in get_turf(src))
if(closet != src)
return 0
for(var/obj/station_objects/secure_closet/closet in get_turf(src))
for(var/obj/structure/secure_closet/closet in get_turf(src))
return 0
return 1
/obj/station_objects/closet/proc/dump_contents()
/obj/structure/closet/proc/dump_contents()
for (var/obj/item/I in src)
I.loc = src.loc
for (var/obj/effects/overlay/o in src) //REMOVE THIS
for (var/obj/effect/overlay/o in src) //REMOVE THIS
o.loc = src.loc
for(var/mob/M in src)
@@ -32,7 +32,7 @@
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE
/obj/station_objects/closet/proc/open()
/obj/structure/closet/proc/open()
if (src.opened)
return 0
@@ -46,7 +46,7 @@
playsound(src.loc, 'click.ogg', 15, 1, -3)
return 1
/obj/station_objects/closet/proc/close()
/obj/structure/closet/proc/close()
if (!src.opened)
return 0
if (!src.can_close())
@@ -56,7 +56,7 @@
if (!I.anchored)
I.loc = src
for (var/obj/effects/overlay/o in src.loc) //REMOVE THIS
for (var/obj/effect/overlay/o in src.loc) //REMOVE THIS
if (!o.anchored)
o.loc = src
@@ -76,13 +76,13 @@
playsound(src.loc, 'click.ogg', 15, 1, -3)
return 1
/obj/station_objects/closet/proc/toggle()
/obj/structure/closet/proc/toggle()
if (src.opened)
return src.close()
return src.open()
// this should probably use dump_contents()
/obj/station_objects/closet/ex_act(severity)
/obj/structure/closet/ex_act(severity)
switch(severity)
if (1)
for (var/atom/movable/A as mob|obj in src)
@@ -102,7 +102,7 @@
ex_act(severity)
del(src)
/obj/station_objects/closet/bullet_act(var/obj/item/projectile/Proj)
/obj/structure/closet/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
if(health <= 0)
@@ -113,22 +113,22 @@
return
// this should probably use dump_contents()
/obj/station_objects/closet/blob_act()
/obj/structure/closet/blob_act()
if (prob(75))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
del(src)
/obj/station_objects/closet/meteorhit(obj/O as obj)
/obj/structure/closet/meteorhit(obj/O as obj)
if (O.icon_state == "flaming")
src.dump_contents()
del(src)
/obj/station_objects/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/packageWrap))
var/obj/item/weapon/packageWrap/O = W
if (O.amount > 3)
var/obj/effects/bigDelivery/P = new /obj/effects/bigDelivery(get_turf(src.loc))
var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(src.loc))
P.wrapped = src
src.close()
src.welded = 1
@@ -167,7 +167,7 @@
src.attack_hand(user)
return
/obj/station_objects/closet/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
/obj/structure/closet/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
if (!user.can_use_hands())
return
if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)))
@@ -178,7 +178,7 @@
return
if(!src.opened)
return
if(istype(O, /obj/station_objects/secure_closet) || istype(O, /obj/station_objects/closet))
if(istype(O, /obj/structure/secure_closet) || istype(O, /obj/structure/closet))
return
if(isrobot(user))
return
@@ -187,9 +187,9 @@
src.add_fingerprint(user)
return
/obj/station_objects/closet
/obj/structure/closet
var/lastbang
/obj/station_objects/closet/relaymove(mob/user as mob)
/obj/structure/closet/relaymove(mob/user as mob)
if (user.stat)
return
@@ -200,18 +200,18 @@
for (var/mob/M in hearers(src, null))
M << text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M)))
/obj/station_objects/closet/Move()
/obj/structure/closet/Move()
..()
for(var/mob/M in contents)
for(var/obj/effects/speech_bubble/B in range(1, src))
for(var/obj/effect/speech_bubble/B in range(1, src))
if(B.parent == M)
B.loc = loc
/obj/station_objects/closet/attack_paw(mob/user as mob)
/obj/structure/closet/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/station_objects/closet/attack_hand(mob/user as mob)
/obj/structure/closet/attack_hand(mob/user as mob)
src.add_fingerprint(user)
if (!src.toggle())
+2 -2
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/bombcloset/New()
/obj/structure/closet/bombcloset/New()
..()
sleep(2)
new /obj/item/clothing/suit/bomb_suit( src )
@@ -6,7 +6,7 @@
new /obj/item/clothing/shoes/black( src )
new /obj/item/clothing/head/bomb_hood( src )
/obj/station_objects/closet/bombclosetsecurity/New()
/obj/structure/closet/bombclosetsecurity/New()
..()
sleep(2)
new /obj/item/clothing/suit/bomb_suit/security( src )
+2 -2
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/emcloset/New()
/obj/structure/closet/emcloset/New()
..()
if (prob(40))
@@ -29,5 +29,5 @@
//If you want to re-add fire, just add "fire" = 15 to the pick list.
/*if ("fire")
new /obj/station_objects/closet/firecloset(src.loc)
new /obj/structure/closet/firecloset(src.loc)
del(src)*/
+3 -3
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/firecloset/full/New()
/obj/structure/closet/firecloset/full/New()
..()
sleep(4)
contents = list()
@@ -10,7 +10,7 @@
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/head/helmet/hardhat/red(src)
/obj/station_objects/closet/firecloset/New()
/obj/structure/closet/firecloset/New()
..()
new /obj/item/clothing/suit/fire/firefighter(src)
@@ -40,7 +40,7 @@
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/head/helmet/hardhat/red(src)*/
/obj/station_objects/closet/toolcloset/New()
/obj/structure/closet/toolcloset/New()
if(prob(40))
new /obj/item/clothing/suit/hazardvest(src)
if(prob(70))
+2 -2
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/gimmick/russian/New()
/obj/structure/closet/gimmick/russian/New()
..()
sleep(2)
new /obj/item/clothing/head/ushanka(src)
@@ -12,7 +12,7 @@
new /obj/item/clothing/under/soviet(src)
new /obj/item/clothing/under/soviet(src)
/obj/station_objects/closet/gimmick/tacticool/New()
/obj/structure/closet/gimmick/tacticool/New()
..()
sleep(2)
new /obj/item/clothing/glasses/eyepatch(src)
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/gmcloset/New()
/obj/structure/closet/gmcloset/New()
..()
sleep(2)
new /obj/item/clothing/head/that(src)
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/jcloset/New()
/obj/structure/closet/jcloset/New()
..()
sleep(2)
new /obj/item/clothing/suit/bio_suit/janitor(src)
+4 -4
View File
@@ -1,4 +1,4 @@
/obj/station_objects/secure_closet/kitchen/New()
/obj/structure/secure_closet/kitchen/New()
..()
sleep(2)
/*new /obj/item/clothing/head/chefhat(src)
@@ -38,7 +38,7 @@
new /obj/item/weapon/kitchen/utensil/spoon(src)
new /obj/item/weapon/kitchen/rollingpin(src)*/
/obj/station_objects/secure_closet/meat/New()
/obj/structure/secure_closet/meat/New()
..()
sleep(2)
new /obj/item/kitchen/egg_box(src)
@@ -48,7 +48,7 @@
new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src)
new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src)
/obj/station_objects/secure_closet/fridge/New()
/obj/structure/secure_closet/fridge/New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
@@ -62,7 +62,7 @@
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
/obj/station_objects/secure_closet/money_freezer/New()
/obj/structure/secure_closet/money_freezer/New()
..()
sleep(2)
new /obj/item/weapon/spacecash/c1000(src)
+6 -6
View File
@@ -1,38 +1,38 @@
/obj/station_objects/closet/l3closet/New()
/obj/structure/closet/l3closet/New()
..()
sleep(2)
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/station_objects/closet/l3closet/general/New()
/obj/structure/closet/l3closet/general/New()
..()
sleep(2)
contents = list()
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/station_objects/closet/l3closet/virology/New()
/obj/structure/closet/l3closet/virology/New()
..()
sleep(2)
contents = list()
new /obj/item/clothing/suit/bio_suit/virology( src )
new /obj/item/clothing/head/bio_hood/virology( src )
/obj/station_objects/closet/l3closet/security/New()
/obj/structure/closet/l3closet/security/New()
..()
sleep(2)
contents = list()
new /obj/item/clothing/suit/bio_suit/security( src )
new /obj/item/clothing/head/bio_hood/security( src )
/obj/station_objects/closet/l3closet/janitor/New()
/obj/structure/closet/l3closet/janitor/New()
..()
sleep(2)
contents = list()
new /obj/item/clothing/suit/bio_suit/janitor( src )
new /obj/item/clothing/head/bio_hood/janitor( src )
/obj/station_objects/closet/l3closet/scientist/New()
/obj/structure/closet/l3closet/scientist/New()
..()
sleep(2)
contents = list()
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/malf/suits/New()
/obj/structure/closet/malf/suits/New()
..()
sleep(2)
new /obj/item/weapon/tank/jetpack/void_jetpack(src)
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/syndicate/nuclear/New()
/obj/structure/closet/syndicate/nuclear/New()
..()
sleep(2)
new /obj/item/ammo_magazine/c45( src )
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/station_objects/secure_closet/bar
/obj/structure/secure_closet/bar
name = "Booze"
req_access = list(access_bar)
@@ -1,4 +1,4 @@
/obj/station_objects/secure_closet/engineering_chief
/obj/structure/secure_closet/engineering_chief
name = "Chief Engineer's Locker"
req_access = list(access_ce)
@@ -22,7 +22,7 @@
/obj/station_objects/secure_closet/engineering_electrical
/obj/structure/secure_closet/engineering_electrical
name = "Electrical Supplies"
req_access = list(access_engine)
@@ -42,7 +42,7 @@
/obj/station_objects/secure_closet/engineering_welding
/obj/structure/secure_closet/engineering_welding
name = "Welding Supplies"
req_access = list(access_engine)
@@ -60,7 +60,7 @@
/obj/station_objects/secure_closet/engineering_personal
/obj/structure/secure_closet/engineering_personal
name = "Engineer's Locker"
req_access = list(access_engine)
+6 -6
View File
@@ -1,4 +1,4 @@
/obj/station_objects/secure_closet/medical1
/obj/structure/secure_closet/medical1
name = "Medicine Closet"
desc = "Filled with medical junk."
icon_state = "medical1"
@@ -26,7 +26,7 @@
/obj/station_objects/secure_closet/medical2
/obj/structure/secure_closet/medical2
name = "Anesthetic"
desc = "Used to knock people out."
icon_state = "medical1"
@@ -51,7 +51,7 @@
/obj/station_objects/secure_closet/medical3
/obj/structure/secure_closet/medical3
name = "Medical Doctor's Locker"
req_access = list(access_medical)
@@ -71,7 +71,7 @@
/obj/station_objects/secure_closet/CMO
/obj/structure/secure_closet/CMO
name = "Chief Medical Officer"
req_access = list(access_cmo)
@@ -90,7 +90,7 @@
/obj/station_objects/secure_closet/animal
/obj/structure/secure_closet/animal
name = "Animal Control"
req_access = list(access_medical)
@@ -106,7 +106,7 @@
/obj/station_objects/secure_closet/chemical
/obj/structure/secure_closet/chemical
name = "Chemical Closet"
desc = "Store dangerous chemicals in here."
icon_state = "medical1"
+6 -6
View File
@@ -1,7 +1,7 @@
/obj/station_objects/secure_closet/personal/var/registered = null
/obj/station_objects/secure_closet/personal/req_access = list(access_all_personal_lockers)
/obj/structure/secure_closet/personal/var/registered = null
/obj/structure/secure_closet/personal/req_access = list(access_all_personal_lockers)
/obj/station_objects/secure_closet/personal/New()
/obj/structure/secure_closet/personal/New()
..()
spawn(2)
new /obj/item/device/radio/signaler( src )
@@ -10,7 +10,7 @@
new /obj/item/device/radio/headset( src )
return
/obj/station_objects/secure_closet/personal/patient/New()
/obj/structure/secure_closet/personal/patient/New()
..()
contents = list()
spawn(4)
@@ -18,7 +18,7 @@
new /obj/item/clothing/shoes/white( src )
return
/obj/station_objects/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (src.opened)
if (istype(W, /obj/item/weapon/grab))
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
@@ -53,7 +53,7 @@
desc = "It appears to be broken."
icon_state = src.icon_broken
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
@@ -1,4 +1,4 @@
/obj/station_objects/secure_closet/scientist
/obj/structure/secure_closet/scientist
name = "Scientist Locker"
req_access = list(access_tox_storage)
@@ -16,7 +16,7 @@
/obj/station_objects/secure_closet/RD
/obj/structure/secure_closet/RD
name = "Research Director"
req_access = list(access_rd)
+9 -9
View File
@@ -1,4 +1,4 @@
/obj/station_objects/secure_closet/captains
/obj/structure/secure_closet/captains
name = "Captain's Closet"
req_access = list(access_captain)
@@ -20,7 +20,7 @@
/obj/station_objects/secure_closet/hop
/obj/structure/secure_closet/hop
name = "Head of Personnel"
req_access = list(access_hop)
@@ -42,7 +42,7 @@
/obj/station_objects/secure_closet/hos
/obj/structure/secure_closet/hos
name = "Head Of Security"
req_access = list(access_hos)
@@ -64,7 +64,7 @@
/obj/station_objects/secure_closet/warden
/obj/structure/secure_closet/warden
name = "Warden's Locker"
req_access = list(access_armory)
@@ -85,7 +85,7 @@
/obj/station_objects/secure_closet/security
/obj/structure/secure_closet/security
name = "Security Locker"
req_access = list(access_security)
@@ -106,7 +106,7 @@
/obj/station_objects/secure_closet/detective
/obj/structure/secure_closet/detective
name = "Detective"
req_access = list(access_forensics_lockers)
icon_state = "cabinetdetective"
@@ -135,7 +135,7 @@
/obj/station_objects/secure_closet/injection
/obj/structure/secure_closet/injection
name = "Lethal Injections"
req_access = list(access_hos)
@@ -149,7 +149,7 @@
/obj/station_objects/secure_closet/brig
/obj/structure/secure_closet/brig
name = "Brig Locker"
req_access = list(access_brig)
var/id = null
@@ -163,7 +163,7 @@
/obj/station_objects/secure_closet/courtroom
/obj/structure/secure_closet/courtroom
name = "Courtroom Locker"
req_access = list(access_court)
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/syndicate/personal/New()
/obj/structure/closet/syndicate/personal/New()
..()
sleep(2)
new /obj/item/weapon/tank/jetpack(src)
+3 -3
View File
@@ -1,8 +1,8 @@
/obj/station_objects/closet/thunderdome/New()
/obj/structure/closet/thunderdome/New()
..()
sleep(2)
/obj/station_objects/closet/thunderdome/tdred/New()
/obj/structure/closet/thunderdome/tdred/New()
..()
sleep(2)
new /obj/item/clothing/suit/armor/tdome/red(src)
@@ -24,7 +24,7 @@
new /obj/item/clothing/head/helmet/thunderdome(src)
new /obj/item/clothing/head/helmet/thunderdome(src)
/obj/station_objects/closet/thunderdome/tdgreen/New()
/obj/structure/closet/thunderdome/tdgreen/New()
..()
sleep(2)
new /obj/item/clothing/suit/armor/tdome/green(src)
+16 -16
View File
@@ -1,4 +1,4 @@
/obj/station_objects/closet/wardrobe/New()
/obj/structure/closet/wardrobe/New()
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
@@ -7,7 +7,7 @@
new /obj/item/clothing/shoes/brown(src)
return
/obj/station_objects/closet/wardrobe/red/New()
/obj/structure/closet/wardrobe/red/New()
new /obj/item/clothing/under/rank/security(src)
new /obj/item/clothing/under/rank/security(src)
new /obj/item/clothing/under/rank/security(src)
@@ -22,7 +22,7 @@
new /obj/item/clothing/head/secsoft(src)
return
/obj/station_objects/closet/wardrobe/pink/New()
/obj/structure/closet/wardrobe/pink/New()
new /obj/item/clothing/under/color/pink(src)
new /obj/item/clothing/under/color/pink(src)
new /obj/item/clothing/under/color/pink(src)
@@ -31,7 +31,7 @@
new /obj/item/clothing/shoes/brown(src)
return
/obj/station_objects/closet/wardrobe/black/New()
/obj/structure/closet/wardrobe/black/New()
new /obj/item/clothing/under/color/black(src)
new /obj/item/clothing/under/color/black(src)
new /obj/item/clothing/under/color/black(src)
@@ -43,7 +43,7 @@
new /obj/item/clothing/head/that(src)
return
/obj/station_objects/closet/wardrobe/chaplain_black/New()
/obj/structure/closet/wardrobe/chaplain_black/New()
//new /obj/item/clothing/suit/imperium_monk(src) //No. -- Urist
new /obj/item/clothing/under/rank/chaplain(src)
new /obj/item/clothing/shoes/black(src)
@@ -58,7 +58,7 @@
new /obj/item/weapon/candlepack(src)
return
/obj/station_objects/closet/wardrobe/green/New()
/obj/structure/closet/wardrobe/green/New()
new /obj/item/clothing/under/color/green(src)
new /obj/item/clothing/under/color/green(src)
new /obj/item/clothing/under/color/green(src)
@@ -67,7 +67,7 @@
new /obj/item/clothing/shoes/black(src)
return
/obj/station_objects/closet/wardrobe/orange/New()
/obj/structure/closet/wardrobe/orange/New()
new /obj/item/clothing/under/color/orange(src)
new /obj/item/clothing/under/color/orange(src)
new /obj/item/clothing/under/color/orange(src)
@@ -76,7 +76,7 @@
new /obj/item/clothing/shoes/orange(src)
return
/obj/station_objects/closet/wardrobe/yellow/New()
/obj/structure/closet/wardrobe/yellow/New()
new /obj/item/clothing/under/color/yellow(src)
new /obj/item/clothing/under/color/yellow(src)
new /obj/item/clothing/under/color/yellow(src)
@@ -85,7 +85,7 @@
new /obj/item/clothing/shoes/orange(src)
return
/obj/station_objects/closet/wardrobe/atmospherics_yellow/New()
/obj/structure/closet/wardrobe/atmospherics_yellow/New()
new /obj/item/clothing/under/rank/atmospheric_technician(src)
new /obj/item/clothing/under/rank/atmospheric_technician(src)
new /obj/item/clothing/under/rank/atmospheric_technician(src)
@@ -94,7 +94,7 @@
new /obj/item/clothing/shoes/black(src)
return
/obj/station_objects/closet/wardrobe/engineering_yellow/New()
/obj/structure/closet/wardrobe/engineering_yellow/New()
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer(src)
@@ -103,7 +103,7 @@
new /obj/item/clothing/shoes/orange(src)
return
/obj/station_objects/closet/wardrobe/white/New()
/obj/structure/closet/wardrobe/white/New()
new /obj/item/clothing/under/color/white(src)
new /obj/item/clothing/under/color/white(src)
new /obj/item/clothing/under/color/white(src)
@@ -112,7 +112,7 @@
new /obj/item/clothing/shoes/white(src)
return
/obj/station_objects/closet/wardrobe/toxins_white/New()
/obj/structure/closet/wardrobe/toxins_white/New()
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist(src)
@@ -124,7 +124,7 @@
new /obj/item/clothing/shoes/white(src)
return
/obj/station_objects/closet/wardrobe/genetics_white/New()
/obj/structure/closet/wardrobe/genetics_white/New()
new /obj/item/clothing/under/rank/geneticist(src)
new /obj/item/clothing/under/rank/geneticist(src)
new /obj/item/clothing/under/rank/geneticist(src)
@@ -138,7 +138,7 @@
new /obj/item/clothing/suit/labcoat(src)
return
/obj/station_objects/closet/wardrobe/grey/New()
/obj/structure/closet/wardrobe/grey/New()
new /obj/item/clothing/under/color/grey(src)
new /obj/item/clothing/under/color/grey(src)
new /obj/item/clothing/under/color/grey(src)
@@ -147,7 +147,7 @@
new /obj/item/clothing/shoes/black(src)
return
/obj/station_objects/closet/wardrobe/mixed/New()
/obj/structure/closet/wardrobe/mixed/New()
new /obj/item/clothing/under/color/white(src)
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/yellow(src)
@@ -159,7 +159,7 @@
new /obj/item/clothing/shoes/white(src)
return
/obj/station_objects/closet/lawcloset/New()
/obj/structure/closet/lawcloset/New()
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/red(src)
new /obj/item/clothing/under/lawyer/bluesuit(src)
+2 -2
View File
@@ -478,7 +478,7 @@ Code:
menu += "Calculating navigation path"
if(7)
menu += "Unable to locate destination"
var/obj/station_objects/crate/C = QC.botstatus["load"]
var/obj/structure/crate/C = QC.botstatus["load"]
menu += "<BR>Current Load: [ !C ? "<i>none</i>" : "[C.name] (<A href='byond://?src=\ref[QC];op=unload'><i>unload</i></A>)" ]<BR>"
menu += "Destination: [!QC.botstatus["dest"] ? "<i>none</i>" : QC.botstatus["dest"] ] (<A href='byond://?src=\ref[QC];op=setdest'><i>set</i></A>)<BR>"
menu += "Power: [QC.botstatus["powr"]]%<BR>"
@@ -517,7 +517,7 @@ Code:
menu += "<h4>Located Mop Buckets:</h4>"
ldat = null
for (var/obj/station_objects/mopbucket/B in world)
for (var/obj/structure/mopbucket/B in world)
var/turf/bl = get_turf(B)
if (bl.z != cl.z)
+6 -6
View File
@@ -1,4 +1,4 @@
/obj/effects/dummy/chameleon
/obj/effect/dummy/chameleon
name = ""
desc = ""
density = 0
@@ -40,7 +40,7 @@
w_class = 2.0
origin_tech = "syndicate=4;magnets=4"
var/can_use = 1
var/obj/effects/dummy/chameleon/active_dummy = null
var/obj/effect/dummy/chameleon/active_dummy = null
var/saved_item = "/obj/item/weapon/shard"
dropped()
@@ -67,7 +67,7 @@
del(active_dummy)
active_dummy = null
usr << "\blue You deactivate the [src]."
var/obj/effects/overlay/T = new/obj/effects/overlay(get_turf(src))
var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src))
T.icon = 'effects.dmi'
flick("emppulse",T)
spawn(8) del(T)
@@ -75,7 +75,7 @@
playsound(src, 'pop.ogg', 100, 1, 1)
var/obj/O = new saved_item (src)
if(!O) return
var/obj/effects/dummy/chameleon/C = new/obj/effects/dummy/chameleon(get_turf(src))
var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(get_turf(src))
C.name = O.name
C.desc = O.desc
C.icon = O.icon
@@ -86,14 +86,14 @@
src.active_dummy = C
del(O)
usr << "\blue You activate the [src]."
var/obj/effects/overlay/T = new/obj/effects/overlay(get_turf(src))
var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src))
T.icon = 'effects.dmi'
flick("emppulse",T)
spawn(8) del(T)
proc/disrupt()
if(active_dummy)
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
spark_system.start()
+2 -2
View File
@@ -1,6 +1,6 @@
/obj/item/device/infra_sensor/process()
if (src.passive)
for(var/obj/effects/beam/i_beam/I in range(2, src.loc))
for(var/obj/effect/beam/i_beam/I in range(2, src.loc))
I.left = 2
return 1
@@ -9,7 +9,7 @@
return null
/obj/item/device/infra_sensor/proc/burst()
for(var/obj/effects/beam/i_beam/I in range(src.loc))
for(var/obj/effect/beam/i_beam/I in range(src.loc))
I.left = 8
/* for(var/obj/item/device/infra/I in range(src.loc))ugh will have to fix this
I.visible = 1
+1 -1
View File
@@ -19,7 +19,7 @@
var/mode = 0 // 0 = off, 1=clamped (off), 2=operating
var/obj/station_objects/cable/attached // the attached cable
var/obj/structure/cable/attached // the attached cable
attackby(var/obj/item/I, var/mob/user)
if(istype(I, /obj/item/weapon/screwdriver))
+1 -1
View File
@@ -132,7 +132,7 @@ MASS SPECTROMETER
/obj/item/device/detective_scanner/afterattack(atom/A as mob|obj|turf|area, mob/user as mob)
src.add_fingerprint(user)
if (istype(A, /obj/effects/decal/cleanable/blood) || istype(A, /obj/effects/rune))
if (istype(A, /obj/effect/decal/cleanable/blood) || istype(A, /obj/effect/rune))
if(A.blood_DNA)
user << "\blue Blood type: [A.blood_type]\nDNA: [A.blood_DNA]"
else if (A.blood_DNA)
+9 -9
View File
@@ -1,4 +1,4 @@
/obj/station_objects/displaycase/ex_act(severity)
/obj/structure/displaycase/ex_act(severity)
switch(severity)
if (1)
new /obj/item/weapon/shard( src.loc )
@@ -16,14 +16,14 @@
src.healthcheck()
/obj/station_objects/displaycase/bullet_act(var/obj/item/projectile/Proj)
/obj/structure/displaycase/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
src.healthcheck()
return
/obj/station_objects/displaycase/blob_act()
/obj/structure/displaycase/blob_act()
if (prob(75))
new /obj/item/weapon/shard( src.loc )
if (occupied)
@@ -32,13 +32,13 @@
del(src)
/obj/station_objects/displaycase/meteorhit(obj/O as obj)
/obj/structure/displaycase/meteorhit(obj/O as obj)
new /obj/item/weapon/shard( src.loc )
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
del(src)
/obj/station_objects/displaycase/proc/healthcheck()
/obj/structure/displaycase/proc/healthcheck()
if (src.health <= 0)
if (!( src.destroyed ))
src.density = 0
@@ -50,7 +50,7 @@
playsound(src.loc, 'Glasshit.ogg', 75, 1)
return
/obj/station_objects/displaycase/update_icon()
/obj/structure/displaycase/update_icon()
if(src.destroyed)
src.icon_state = "glassboxb[src.occupied]"
else
@@ -58,16 +58,16 @@
return
/obj/station_objects/displaycase/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/displaycase/attackby(obj/item/weapon/W as obj, mob/user as mob)
src.health -= W.force
src.healthcheck()
..()
return
/obj/station_objects/displaycase/attack_paw(mob/user as mob)
/obj/structure/displaycase/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/station_objects/displaycase/attack_hand(mob/user as mob)
/obj/structure/displaycase/attack_hand(mob/user as mob)
if (src.destroyed && src.occupied)
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
user << "\b You deactivate the hover field built into the case."
+2 -2
View File
@@ -1,4 +1,4 @@
obj/station_objects/door_assembly
obj/structure/door_assembly
icon = 'door_assembly.dmi'
name = "Airlock Assembly"
@@ -129,7 +129,7 @@ obj/station_objects/door_assembly
state = 1
glass = 1
/obj/station_objects/door_assembly/attackby(obj/item/W as obj, mob/user as mob)
/obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/weldingtool) && W:welding && !anchored )
if (W:remove_fuel(0,user))
W:welding = 2
+99 -99
View File
@@ -1,4 +1,4 @@
/* This is an attempt to make some easily reusable "particle" type effects, to stop the code
/* This is an attempt to make some easily reusable "particle" type effect, to stop the code
constantly having to be rewritten. An item like the jetpack that uses the ion_trail_follow system, just has one
defined, then set up when it is created with New(). Then this same system can just be reused each time
it needs to create more trails.A beaker could have a steam_trail_follow system set up, then the steam
@@ -6,14 +6,14 @@ would spawn and follow the beaker, even if it is carried or thrown.
*/
/obj/effects
name = "effects"
/obj/effect
name = "effect"
icon = 'effects.dmi'
mouse_opacity = 0
unacidable = 1//So effects are not targeted by alien acid.
unacidable = 1//So effect are not targeted by alien acid.
flags = TABLEPASS
/obj/effects/water
/obj/effect/water
name = "water"
icon = 'effects.dmi'
icon_state = "extinguish"
@@ -21,7 +21,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
flags = 2.0
mouse_opacity = 0
/obj/effects/smoke
/obj/effect/smoke
name = "smoke"
icon = 'water.dmi'
icon_state = "smoke"
@@ -31,7 +31,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
var/amount = 8.0
/obj/effects/water/New()
/obj/effect/water/New()
..()
//var/turf/T = src.loc
//if (istype(T, /turf))
@@ -41,14 +41,14 @@ would spawn and follow the beaker, even if it is carried or thrown.
return
return
/obj/effects/water/Del()
/obj/effect/water/Del()
//var/turf/T = src.loc
//if (istype(T, /turf))
// T.firelevel = 0 //TODO: FIX
..()
return
/obj/effects/water/Move(turf/newloc)
/obj/effect/water/Move(turf/newloc)
//var/turf/T = src.loc
//if (istype(T, /turf))
// T.firelevel = 0 //TODO: FIX
@@ -59,7 +59,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
return 0
.=..()
/obj/effects/water/Bump(atom/A)
/obj/effect/water/Bump(atom/A)
if(reagents)
reagents.reaction(A)
return ..()
@@ -73,41 +73,41 @@ would spawn and follow the beaker, even if it is carried or thrown.
// will always spawn at the items location, even if it's moved.
/* Example:
var/datum/effects/system/steam_spread/steam = new /datum/effects/system/steam_spread() -- creates new system
var/datum/effect/system/steam_spread/steam = new /datum/effect/system/steam_spread() -- creates new system
steam.set_up(5, 0, mob.loc) -- sets up variables
OPTIONAL: steam.attach(mob)
steam.start() -- spawns the effect
*/
/////////////////////////////////////////////
/obj/effects/steam
/obj/effect/steam
name = "steam"
icon = 'effects.dmi'
icon_state = "extinguish"
density = 0
/datum/effects/system/steam_spread
/datum/effect/system/steam_spread
var/number = 3
var/cardinals = 0
var/turf/location
var/atom/holder
/datum/effects/system/steam_spread/proc/set_up(n = 3, c = 0, turf/loc)
/datum/effect/system/steam_spread/proc/set_up(n = 3, c = 0, turf/loc)
if(n > 10)
n = 10
number = n
cardinals = c
location = loc
/datum/effects/system/steam_spread/proc/attach(atom/atom)
/datum/effect/system/steam_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/steam_spread/proc/start()
/datum/effect/system/steam_spread/proc/start()
var/i = 0
for(i=0, i<src.number, i++)
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/steam/steam = new /obj/effects/steam(src.location)
var/obj/effect/steam/steam = new /obj/effect/steam(src.location)
var/direction
if(src.cardinals)
direction = pick(cardinal)
@@ -132,14 +132,14 @@ steam.start() -- spawns the effect
// will always spawn at the items location.
/////////////////////////////////////////////
/obj/effects/sparks
/obj/effect/sparks
name = "sparks"
icon_state = "sparks"
var/amount = 6.0
anchored = 1.0
mouse_opacity = 0
/obj/effects/sparks/New()
/obj/effect/sparks/New()
..()
playsound(src.loc, "sparks", 100, 1)
var/turf/T = src.loc
@@ -149,28 +149,28 @@ steam.start() -- spawns the effect
del(src)
return
/obj/effects/sparks/Del()
/obj/effect/sparks/Del()
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(1000,100)
..()
return
/obj/effects/sparks/Move()
/obj/effect/sparks/Move()
..()
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(1000,100)
return
/datum/effects/system/spark_spread
/datum/effect/system/spark_spread
var/number = 3
var/cardinals = 0
var/turf/location
var/atom/holder
var/total_sparks = 0 // To stop it being spammed and lagging!
/datum/effects/system/spark_spread/proc/set_up(n = 3, c = 0, loca)
/datum/effect/system/spark_spread/proc/set_up(n = 3, c = 0, loca)
if(n > 10)
n = 10
number = n
@@ -180,10 +180,10 @@ steam.start() -- spawns the effect
else
location = get_turf(loca)
/datum/effects/system/spark_spread/proc/attach(atom/atom)
/datum/effect/system/spark_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/spark_spread/proc/start()
/datum/effect/system/spark_spread/proc/start()
var/i = 0
for(i=0, i<src.number, i++)
if(src.total_sparks > 20)
@@ -191,7 +191,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/sparks/sparks = new /obj/effects/sparks(src.location)
var/obj/effect/sparks/sparks = new /obj/effect/sparks(src.location)
src.total_sparks++
var/direction
if(src.cardinals)
@@ -219,7 +219,7 @@ steam.start() -- spawns the effect
/////////////////////////////////////////////
/obj/effects/harmless_smoke
/obj/effect/harmless_smoke
name = "smoke"
icon_state = "smoke"
opacity = 1
@@ -231,17 +231,17 @@ steam.start() -- spawns the effect
pixel_x = -32
pixel_y = -32
/obj/effects/harmless_smoke/New()
/obj/effect/harmless_smoke/New()
..()
spawn (100)
del(src)
return
/obj/effects/harmless_smoke/Move()
/obj/effect/harmless_smoke/Move()
..()
return
/datum/effects/system/harmless_smoke_spread
/datum/effect/system/harmless_smoke_spread
var/number = 3
var/cardinals = 0
var/turf/location
@@ -249,7 +249,7 @@ steam.start() -- spawns the effect
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
/datum/effects/system/harmless_smoke_spread/proc/set_up(n = 5, c = 0, loca, direct)
/datum/effect/system/harmless_smoke_spread/proc/set_up(n = 5, c = 0, loca, direct)
if(n > 10)
n = 10
number = n
@@ -262,10 +262,10 @@ steam.start() -- spawns the effect
direction = direct
/datum/effects/system/harmless_smoke_spread/proc/attach(atom/atom)
/datum/effect/system/harmless_smoke_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/harmless_smoke_spread/proc/start()
/datum/effect/system/harmless_smoke_spread/proc/start()
var/i = 0
for(i=0, i<src.number, i++)
if(src.total_smoke > 20)
@@ -273,7 +273,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/harmless_smoke/smoke = new /obj/effects/harmless_smoke(src.location)
var/obj/effect/harmless_smoke/smoke = new /obj/effect/harmless_smoke(src.location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -298,7 +298,7 @@ steam.start() -- spawns the effect
// Bad smoke
/////////////////////////////////////////////
/obj/effects/bad_smoke
/obj/effect/bad_smoke
name = "smoke"
icon_state = "smoke"
opacity = 1
@@ -310,13 +310,13 @@ steam.start() -- spawns the effect
pixel_x = -32
pixel_y = -32
/obj/effects/bad_smoke/New()
/obj/effect/bad_smoke/New()
..()
spawn (200+rand(10,30))
del(src)
return
/obj/effects/bad_smoke/Move()
/obj/effect/bad_smoke/Move()
..()
for(var/mob/living/carbon/M in get_turf(src))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS))
@@ -331,7 +331,7 @@ steam.start() -- spawns the effect
return
/obj/effects/bad_smoke/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
/obj/effect/bad_smoke/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group || (height==0)) return 1
if(istype(mover, /obj/item/projectile/beam))
var/obj/item/projectile/beam/B = mover
@@ -340,7 +340,7 @@ steam.start() -- spawns the effect
return 1
/obj/effects/bad_smoke/HasEntered(mob/living/carbon/M as mob )
/obj/effect/bad_smoke/HasEntered(mob/living/carbon/M as mob )
..()
if(istype(M, /mob/living/carbon))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS))
@@ -355,7 +355,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0
return
/datum/effects/system/bad_smoke_spread
/datum/effect/system/bad_smoke_spread
var/number = 3
var/cardinals = 0
var/turf/location
@@ -363,7 +363,7 @@ steam.start() -- spawns the effect
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
/datum/effects/system/bad_smoke_spread/proc/set_up(n = 5, c = 0, loca, direct)
/datum/effect/system/bad_smoke_spread/proc/set_up(n = 5, c = 0, loca, direct)
if(n > 20)
n = 20
number = n
@@ -376,10 +376,10 @@ steam.start() -- spawns the effect
direction = direct
/datum/effects/system/bad_smoke_spread/proc/attach(atom/atom)
/datum/effect/system/bad_smoke_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/bad_smoke_spread/proc/start()
/datum/effect/system/bad_smoke_spread/proc/start()
var/i = 0
for(i=0, i<src.number, i++)
if(src.total_smoke > 20)
@@ -387,7 +387,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/bad_smoke/smoke = new /obj/effects/bad_smoke(src.location)
var/obj/effect/bad_smoke/smoke = new /obj/effect/bad_smoke(src.location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -408,7 +408,7 @@ steam.start() -- spawns the effect
/////////////////////////////////////////////
/obj/effects/chem_smoke
/obj/effect/chem_smoke
name = "smoke"
opacity = 1
anchored = 0.0
@@ -419,7 +419,7 @@ steam.start() -- spawns the effect
pixel_x = -32
pixel_y = -32
/obj/effects/chem_smoke/New()
/obj/effect/chem_smoke/New()
..()
var/datum/reagents/R = new/datum/reagents(500)
reagents = R
@@ -429,20 +429,20 @@ steam.start() -- spawns the effect
del(src)
return
/obj/effects/chem_smoke/Move()
/obj/effect/chem_smoke/Move()
..()
for(var/atom/A in view(1, src))
reagents.reaction(A)
return
/obj/effects/chem_smoke/HasEntered(mob/living/carbon/M as mob )
/obj/effect/chem_smoke/HasEntered(mob/living/carbon/M as mob )
..()
reagents.reaction(M)
return
/datum/effects/system/chem_smoke_spread
/datum/effect/system/chem_smoke_spread
var/number = 3
var/cardinals = 0
var/turf/location
@@ -457,7 +457,7 @@ steam.start() -- spawns the effect
chemholder.reagents = R
R.my_atom = chemholder
/datum/effects/system/chem_smoke_spread/proc/set_up(var/datum/reagents/carry = null, n = 5, c = 0, loca, direct)
/datum/effect/system/chem_smoke_spread/proc/set_up(var/datum/reagents/carry = null, n = 5, c = 0, loca, direct)
if(n > 20)
n = 20
number = n
@@ -472,10 +472,10 @@ steam.start() -- spawns the effect
direction = direct
/datum/effects/system/chem_smoke_spread/proc/attach(atom/atom)
/datum/effect/system/chem_smoke_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/chem_smoke_spread/proc/start()
/datum/effect/system/chem_smoke_spread/proc/start()
var/i = 0
// Calculate the smokes' color
@@ -506,7 +506,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/chem_smoke/smoke = new /obj/effects/chem_smoke(src.location)
var/obj/effect/chem_smoke/smoke = new /obj/effect/chem_smoke(src.location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -538,7 +538,7 @@ steam.start() -- spawns the effect
// Sleep smoke
/////////////////////////////////////////////
/obj/effects/sleep_smoke
/obj/effect/sleep_smoke
name = "smoke"
icon_state = "smoke"
opacity = 1
@@ -550,13 +550,13 @@ steam.start() -- spawns the effect
pixel_x = -32
pixel_y = -32
/obj/effects/sleep_smoke/New()
/obj/effect/sleep_smoke/New()
..()
spawn (200+rand(10,30))
del(src)
return
/obj/effects/sleep_smoke/Move()
/obj/effect/sleep_smoke/Move()
..()
for(var/mob/living/carbon/M in get_turf(src))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS))
@@ -571,7 +571,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0
return
/obj/effects/sleep_smoke/HasEntered(mob/living/carbon/M as mob )
/obj/effect/sleep_smoke/HasEntered(mob/living/carbon/M as mob )
..()
if(istype(M, /mob/living/carbon))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS))
@@ -587,7 +587,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0
return
/datum/effects/system/sleep_smoke_spread
/datum/effect/system/sleep_smoke_spread
var/number = 3
var/cardinals = 0
var/turf/location
@@ -595,7 +595,7 @@ steam.start() -- spawns the effect
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
/datum/effects/system/sleep_smoke_spread/proc/set_up(n = 5, c = 0, loca, direct)
/datum/effect/system/sleep_smoke_spread/proc/set_up(n = 5, c = 0, loca, direct)
if(n > 20)
n = 20
number = n
@@ -608,10 +608,10 @@ steam.start() -- spawns the effect
direction = direct
/datum/effects/system/sleep_smoke_spread/proc/attach(atom/atom)
/datum/effect/system/sleep_smoke_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/sleep_smoke_spread/proc/start()
/datum/effect/system/sleep_smoke_spread/proc/start()
var/i = 0
for(i=0, i<src.number, i++)
if(src.total_smoke > 20)
@@ -619,7 +619,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/sleep_smoke/smoke = new /obj/effects/sleep_smoke(src.location)
var/obj/effect/sleep_smoke/smoke = new /obj/effect/sleep_smoke(src.location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -639,7 +639,7 @@ steam.start() -- spawns the effect
/////////////////////////////////////////////
/obj/effects/mustard_gas
/obj/effect/mustard_gas
name = "mustard gas"
icon_state = "mustard"
opacity = 1
@@ -647,13 +647,13 @@ steam.start() -- spawns the effect
mouse_opacity = 0
var/amount = 6.0
/obj/effects/mustard_gas/New()
/obj/effect/mustard_gas/New()
..()
spawn (100)
del(src)
return
/obj/effects/mustard_gas/Move()
/obj/effect/mustard_gas/Move()
..()
for(var/mob/living/carbon/human/R in get_turf(src))
if (R.internal != null && usr.wear_mask && (R.wear_mask.flags & MASKINTERNALS) && R.wear_suit != null && !istype(R.wear_suit, /obj/item/clothing/suit/labcoat) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket && !istype(R.wear_suit, /obj/item/clothing/suit/armor)))
@@ -667,7 +667,7 @@ steam.start() -- spawns the effect
R.updatehealth()
return
/obj/effects/mustard_gas/HasEntered(mob/living/carbon/human/R as mob )
/obj/effect/mustard_gas/HasEntered(mob/living/carbon/human/R as mob )
..()
if (istype(R, /mob/living/carbon/human))
if (R.internal != null && usr.wear_mask && (R.wear_mask.flags & MASKINTERNALS) && R.wear_suit != null && !istype(R.wear_suit, /obj/item/clothing/suit/labcoat) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket && !istype(R.wear_suit, /obj/item/clothing/suit/armor)))
@@ -681,7 +681,7 @@ steam.start() -- spawns the effect
R.updatehealth()
return
/datum/effects/system/mustard_gas_spread
/datum/effect/system/mustard_gas_spread
var/number = 3
var/cardinals = 0
var/turf/location
@@ -689,7 +689,7 @@ steam.start() -- spawns the effect
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
/datum/effects/system/mustard_gas_spread/proc/set_up(n = 5, c = 0, loca, direct)
/datum/effect/system/mustard_gas_spread/proc/set_up(n = 5, c = 0, loca, direct)
if(n > 20)
n = 20
number = n
@@ -701,10 +701,10 @@ steam.start() -- spawns the effect
if(direct)
direction = direct
/datum/effects/system/mustard_gas_spread/proc/attach(atom/atom)
/datum/effect/system/mustard_gas_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/mustard_gas_spread/proc/start()
/datum/effect/system/mustard_gas_spread/proc/start()
var/i = 0
for(i=0, i<src.number, i++)
if(src.total_smoke > 20)
@@ -712,7 +712,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/mustard_gas/smoke = new /obj/effects/mustard_gas(src.location)
var/obj/effect/mustard_gas/smoke = new /obj/effect/mustard_gas(src.location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -738,22 +738,22 @@ steam.start() -- spawns the effect
/// and don't call start() in a loop that will be repeated otherwise it'll get spammed!
/////////////////////////////////////////////
/obj/effects/ion_trails
/obj/effect/ion_trails
name = "ion trails"
icon_state = "ion_trails"
anchored = 1.0
/datum/effects/system/ion_trail_follow
/datum/effect/system/ion_trail_follow
var/atom/holder
var/turf/oldposition
var/processing = 1
var/on = 1
/datum/effects/system/ion_trail_follow/proc/set_up(atom/atom)
/datum/effect/system/ion_trail_follow/proc/set_up(atom/atom)
holder = atom
oldposition = get_turf(atom)
/datum/effects/system/ion_trail_follow/proc/start()
/datum/effect/system/ion_trail_follow/proc/start()
if(!src.on)
src.on = 1
src.processing = 1
@@ -763,7 +763,7 @@ steam.start() -- spawns the effect
var/turf/T = get_turf(src.holder)
if(T != src.oldposition)
if(istype(T, /turf/space))
var/obj/effects/ion_trails/I = new /obj/effects/ion_trails(src.oldposition)
var/obj/effect/ion_trails/I = new /obj/effect/ion_trails(src.oldposition)
src.oldposition = T
I.dir = src.holder.dir
flick("ion_fade", I)
@@ -780,7 +780,7 @@ steam.start() -- spawns the effect
src.processing = 1
src.start()
/datum/effects/system/ion_trail_follow/proc/stop()
/datum/effect/system/ion_trail_follow/proc/stop()
src.processing = 0
src.on = 0
@@ -793,18 +793,18 @@ steam.start() -- spawns the effect
// even if it's carried of thrown.
/////////////////////////////////////////////
/datum/effects/system/steam_trail_follow
/datum/effect/system/steam_trail_follow
var/atom/holder
var/turf/oldposition
var/processing = 1
var/on = 1
var/number
/datum/effects/system/steam_trail_follow/proc/set_up(atom/atom)
/datum/effect/system/steam_trail_follow/proc/set_up(atom/atom)
holder = atom
oldposition = get_turf(atom)
/datum/effects/system/steam_trail_follow/proc/start()
/datum/effect/system/steam_trail_follow/proc/start()
if(!src.on)
src.on = 1
src.processing = 1
@@ -812,7 +812,7 @@ steam.start() -- spawns the effect
src.processing = 0
spawn(0)
if(src.number < 3)
var/obj/effects/steam/I = new /obj/effects/steam(src.oldposition)
var/obj/effect/steam/I = new /obj/effect/steam(src.oldposition)
src.number++
src.oldposition = get_turf(holder)
I.dir = src.holder.dir
@@ -829,7 +829,7 @@ steam.start() -- spawns the effect
src.processing = 1
src.start()
/datum/effects/system/steam_trail_follow/proc/stop()
/datum/effect/system/steam_trail_follow/proc/stop()
src.processing = 0
src.on = 0
@@ -839,7 +839,7 @@ steam.start() -- spawns the effect
// Similar to smoke, but spreads out more
// metal foams leave behind a foamed metal wall
/obj/effects/foam
/obj/effect/foam
name = "foam"
icon_state = "foam"
opacity = 0
@@ -853,7 +853,7 @@ steam.start() -- spawns the effect
var/metal = 0
/obj/effects/foam/New(loc, var/ismetal=0)
/obj/effect/foam/New(loc, var/ismetal=0)
..(loc)
icon_state = "[ismetal ? "m":""]foam"
metal = ismetal
@@ -865,7 +865,7 @@ steam.start() -- spawns the effect
sleep(30)
if(metal)
var/obj/station_objects/foamedmetal/M = new(src.loc)
var/obj/structure/foamedmetal/M = new(src.loc)
M.metal = metal
M.updateicon()
@@ -875,7 +875,7 @@ steam.start() -- spawns the effect
return
// on delete, transfer any reagents to the floor
/obj/effects/foam/Del()
/obj/effect/foam/Del()
if(!metal && reagents)
for(var/atom/A in oview(0,src))
if(A == src)
@@ -883,7 +883,7 @@ steam.start() -- spawns the effect
reagents.reaction(A, 1, 1)
..()
/obj/effects/foam/process()
/obj/effect/foam/process()
if(--amount < 0)
return
@@ -900,7 +900,7 @@ steam.start() -- spawns the effect
if(!T.Enter(src))
continue
var/obj/effects/foam/F = locate() in T
var/obj/effect/foam/F = locate() in T
if(F)
continue
@@ -915,7 +915,7 @@ steam.start() -- spawns the effect
// foam disolves when heated
// except metal foams
/obj/effects/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(!metal && prob(max(0, exposed_temperature - 475)))
flick("[icon_state]-disolve", src)
@@ -923,7 +923,7 @@ steam.start() -- spawns the effect
del(src)
/obj/effects/foam/HasEntered(var/atom/movable/AM)
/obj/effect/foam/HasEntered(var/atom/movable/AM)
if(metal)
return
@@ -939,7 +939,7 @@ steam.start() -- spawns the effect
M.weakened = 2
/datum/effects/system/foam_spread
/datum/effect/system/foam_spread
var/amount = 5 // the size of the foam spread.
var/turf/location
var/list/carried_reagents // the IDs of reagents present when the foam was mixed
@@ -948,7 +948,7 @@ steam.start() -- spawns the effect
/datum/effects/system/foam_spread/proc/set_up(amt=5, loca, var/datum/reagents/carry = null, var/metalfoam = 0)
/datum/effect/system/foam_spread/proc/set_up(amt=5, loca, var/datum/reagents/carry = null, var/metalfoam = 0)
amount = round(amt/5, 1)
if(istype(loca, /turf/))
location = loca
@@ -968,9 +968,9 @@ steam.start() -- spawns the effect
for(var/datum/reagent/R in carry.reagent_list)
carried_reagents += R.id
/datum/effects/system/foam_spread/proc/start()
/datum/effect/system/foam_spread/proc/start()
spawn(0)
var/obj/effects/foam/F = locate() in location
var/obj/effect/foam/F = locate() in location
if(F)
F.amount += amount
return
@@ -990,7 +990,7 @@ steam.start() -- spawns the effect
// wall formed by metal foams
// dense and opaque, but easy to break
/obj/station_objects/foamedmetal
/obj/structure/foamedmetal
icon = 'effects.dmi'
icon_state = "metalfoam"
density = 1
@@ -1118,13 +1118,13 @@ steam.start() -- spawns the effect
return 1
/datum/effects/system/reagents_explosion
/datum/effect/system/reagents_explosion
var/amount // TNT equivalent
var/turf/location
var/flashing = 0 // does explosion creates flash effect?
var/flashing_factor = 0 // factor of how powerful the flash effect relatively to the explosion
/datum/effects/system/reagents_explosion/proc/set_up (amt, loc, flash = 0, flash_fact = 0)
/datum/effect/system/reagents_explosion/proc/set_up (amt, loc, flash = 0, flash_fact = 0)
amount = amt
if(istype(loc, /turf/))
location = loc
@@ -1136,9 +1136,9 @@ steam.start() -- spawns the effect
return
/datum/effects/system/reagents_explosion/proc/start()
/datum/effect/system/reagents_explosion/proc/start()
if (amount <= 2)
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(2, 1, location)
s.start()
+1 -1
View File
@@ -9,7 +9,7 @@ proc/empulse(turf/epicenter, heavy_range, light_range, log=0)
log_game("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ")
if(heavy_range > 1)
var/obj/effects/overlay/pulse = new/obj/effects/overlay ( epicenter )
var/obj/effect/overlay/pulse = new/obj/effect/overlay ( epicenter )
pulse.icon = 'effects.dmi'
pulse.icon_state = "emppulse"
pulse.name = "emp pulse"
+1 -1
View File
@@ -14,7 +14,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ")
if(heavy_impact_range > 1)
var/datum/effects/system/explosion/E = new/datum/effects/system/explosion()
var/datum/effect/system/explosion/E = new/datum/effect/system/explosion()
E.set_up(epicenter)
E.start()
+10 -10
View File
@@ -1,15 +1,15 @@
//HUMANS
/proc/gibs(atom/location, var/list/viruses)
new /obj/effects/gibspawner/human(get_turf(location),viruses)
new /obj/effect/gibspawner/human(get_turf(location),viruses)
/proc/xgibs(atom/location, var/list/viruses)
new /obj/effects/gibspawner/xeno(get_turf(location),viruses)
new /obj/effect/gibspawner/xeno(get_turf(location),viruses)
/proc/robogibs(atom/location, var/list/viruses)
new /obj/effects/gibspawner/robot(get_turf(location),viruses)
new /obj/effect/gibspawner/robot(get_turf(location),viruses)
/obj/effects/gibspawner
/obj/effect/gibspawner
var/sparks = 0 //whether sparks spread on Gib()
var/virusProb = 20 //the chance for viruses to spread on the gibs
var/list/gibtypes = list()
@@ -27,13 +27,13 @@
world << "\red Gib list length mismatch!"
return
var/obj/effects/decal/cleanable/blood/gibs/gib = null
var/obj/effect/decal/cleanable/blood/gibs/gib = null
for(var/datum/disease/D in viruses)
if(D.spread_type == SPECIAL)
del(D)
if(sparks)
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(2, 1, location)
s.start()
@@ -56,9 +56,9 @@
del(src)
/obj/effects/gibspawner
/obj/effect/gibspawner
human
gibtypes = list(/obj/effects/decal/cleanable/blood/gibs/up,/obj/effects/decal/cleanable/blood/gibs/down,/obj/effects/decal/cleanable/blood/gibs,/obj/effects/decal/cleanable/blood/gibs,/obj/effects/decal/cleanable/blood/gibs/body,/obj/effects/decal/cleanable/blood/gibs/limb,/obj/effects/decal/cleanable/blood/gibs/core)
gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/up,/obj/effect/decal/cleanable/blood/gibs/down,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/body,/obj/effect/decal/cleanable/blood/gibs/limb,/obj/effect/decal/cleanable/blood/gibs/core)
gibamounts = list(1,1,1,1,1,1,1)
New()
@@ -67,7 +67,7 @@
..()
xeno
gibtypes = list(/obj/effects/decal/cleanable/xenoblood/xgibs/up,/obj/effects/decal/cleanable/xenoblood/xgibs/down,/obj/effects/decal/cleanable/xenoblood/xgibs,/obj/effects/decal/cleanable/xenoblood/xgibs,/obj/effects/decal/cleanable/xenoblood/xgibs/body,/obj/effects/decal/cleanable/xenoblood/xgibs/limb,/obj/effects/decal/cleanable/xenoblood/xgibs/core)
gibtypes = list(/obj/effect/decal/cleanable/xenoblood/xgibs/up,/obj/effect/decal/cleanable/xenoblood/xgibs/down,/obj/effect/decal/cleanable/xenoblood/xgibs,/obj/effect/decal/cleanable/xenoblood/xgibs,/obj/effect/decal/cleanable/xenoblood/xgibs/body,/obj/effect/decal/cleanable/xenoblood/xgibs/limb,/obj/effect/decal/cleanable/xenoblood/xgibs/core)
gibamounts = list(1,1,1,1,1,1,1)
New()
@@ -77,7 +77,7 @@
robot
sparks = 1
gibtypes = list(/obj/effects/decal/cleanable/robot_debris/up,/obj/effects/decal/cleanable/robot_debris/down,/obj/effects/decal/cleanable/robot_debris,/obj/effects/decal/cleanable/robot_debris,/obj/effects/decal/cleanable/robot_debris,/obj/effects/decal/cleanable/robot_debris/limb)
gibtypes = list(/obj/effect/decal/cleanable/robot_debris/up,/obj/effect/decal/cleanable/robot_debris/down,/obj/effect/decal/cleanable/robot_debris,/obj/effect/decal/cleanable/robot_debris,/obj/effect/decal/cleanable/robot_debris,/obj/effect/decal/cleanable/robot_debris/limb)
gibamounts = list(1,1,1,1,1,1)
New()
+13 -13
View File
@@ -1,6 +1,6 @@
//separate dm since hydro is getting bloated already
/obj/effects/glowshroom
/obj/effect/glowshroom
name = "glowshroom"
anchored = 1
opacity = 0
@@ -17,10 +17,10 @@
var/spreadIntoAdjacentChance = 60
var/evolveChance = 2
/obj/effects/glowshroom/single
/obj/effect/glowshroom/single
spreadChance = 0
/obj/effects/glowshroom/New()
/obj/effect/glowshroom/New()
set background = 1
..()
@@ -46,7 +46,7 @@
if(src)
Spread()
/obj/effects/glowshroom/proc/Spread()
/obj/effect/glowshroom/proc/Spread()
set background = 1
var/spreaded = 1
@@ -62,7 +62,7 @@
spreadsIntoAdjacent = 1
for(var/turf/simulated/floor/plating/airless/asteroid/earth in view(3,src))
if(spreadsIntoAdjacent || !locate(/obj/effects/glowshroom) in view(1,earth))
if(spreadsIntoAdjacent || !locate(/obj/effect/glowshroom) in view(1,earth))
possibleLocs += earth
if(!possibleLocs.len)
@@ -72,7 +72,7 @@
var/shroomCount = 0 //hacky
var/placeCount = 1
for(var/obj/effects/glowshroom/shroom in newLoc)
for(var/obj/effect/glowshroom/shroom in newLoc)
shroomCount++
for(var/wallDir in cardinal)
var/turf/isWall = get_step(newLoc,wallDir)
@@ -81,7 +81,7 @@
if(shroomCount >= placeCount)
continue
var/obj/effects/glowshroom/child = new /obj/effects/glowshroom(newLoc)
var/obj/effect/glowshroom/child = new /obj/effect/glowshroom(newLoc)
child.potency = potency
child.yield = yield
child.delay = delay
@@ -94,7 +94,7 @@
sleep(delay)
/obj/effects/glowshroom/proc/CalcDir(turf/location = loc)
/obj/effect/glowshroom/proc/CalcDir(turf/location = loc)
set background = 1
var/direction = 16
@@ -103,7 +103,7 @@
if(newTurf.density)
direction |= wallDir
for(var/obj/effects/glowshroom/shroom in location)
for(var/obj/effect/glowshroom/shroom in location)
if(shroom == src)
continue
if(shroom.floor) //special
@@ -127,14 +127,14 @@
floor = 1
return 1
/obj/effects/glowshroom/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/effect/glowshroom/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
endurance -= W.force
CheckEndurance()
/obj/effects/glowshroom/ex_act(severity)
/obj/effect/glowshroom/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -150,11 +150,11 @@
else
return
/obj/effects/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/effect/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
endurance -= 5
CheckEndurance()
/obj/effects/glowshroom/proc/CheckEndurance()
/obj/effect/glowshroom/proc/CheckEndurance()
if(endurance <= 0)
del(src)
+3 -3
View File
@@ -1,4 +1,4 @@
/obj/station_objects/grille
/obj/structure/grille
desc = "A piece of metal with evenly spaced gridlike holes in it. Blocks large object but lets small items, gas, or energy beams through. Strangely enough these grilles also lets meteors pass through them, whether they be small or huge station breaking death stones."
name = "grille"
icon = 'structures.dmi'
@@ -147,10 +147,10 @@
if(!prob(prb))
return 0
var/turf/T = get_turf(src)
var/obj/station_objects/cable/C = T.get_cable_node()
var/obj/structure/cable/C = T.get_cable_node()
if(C)
if (electrocute_mob(user, C, src))
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
return 1
+7 -7
View File
@@ -30,7 +30,7 @@
if ((usr.mutations & CLOWN) && prob(50))
usr << "\red Uh ... how do those things work?!"
if (istype(M, /mob/living/carbon/human))
var/obj/effects/equip_e/human/O = new /obj/effects/equip_e/human( )
var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
O.source = user
O.target = user
O.item = user.equipped()
@@ -48,7 +48,7 @@
if (istype(M, /mob/living/carbon/human))
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attempted to handcuff [M.name] ([M.ckey])</font>")
var/obj/effects/equip_e/human/O = new /obj/effects/equip_e/human( )
var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
O.source = user
O.target = M
O.item = user.equipped()
@@ -61,7 +61,7 @@
O.process()
return
else
var/obj/effects/equip_e/monkey/O = new /obj/effects/equip_e/monkey( )
var/obj/effect/equip_e/monkey/O = new /obj/effect/equip_e/monkey( )
O.source = user
O.target = M
O.item = user.equipped()
@@ -95,7 +95,7 @@
/obj/item/weapon/extinguisher/afterattack(atom/target, mob/user , flag)
//TODO; Add support for reagents in water.
if( istype(target, /obj/station_objects/reagent_dispensers/watertank) && get_dist(src,target) <= 1)
if( istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(src,target) <= 1)
var/obj/o = target
o.reagents.trans_to(src, 50)
user << "\blue Extinguisher refilled"
@@ -123,7 +123,7 @@
for(var/a=0, a<5, a++)
spawn(0)
var/obj/effects/water/W = new /obj/effects/water( get_turf(src) )
var/obj/effect/water/W = new /obj/effect/water( get_turf(src) )
var/turf/my_target = pick(the_targets)
var/datum/reagents/R = new/datum/reagents(5)
if(!W) return
@@ -217,12 +217,12 @@
..()
return
/obj/effects/manifest/New()
/obj/effect/manifest/New()
src.invisibility = 101
return
/obj/effects/manifest/proc/manifest()
/obj/effect/manifest/proc/manifest()
var/dat = "<B>Crew Manifest</B>:<BR>"
for(var/mob/living/carbon/human/M in world)
dat += text(" <B>[]</B> - []<BR>", M.name, M.get_assignment())
+4 -4
View File
@@ -185,7 +185,7 @@ move an amendment</a> to the drawing.</p>
if (!istype(T2, /turf/simulated))
return BORDER_BETWEEN
for (var/obj/station_objects/window/W in T2)
for (var/obj/structure/window/W in T2)
if(turn(dir,180) == W.dir)
return BORDER_BETWEEN
if (W.dir in list(NORTHEAST,SOUTHEAST,NORTHWEST,SOUTHWEST))
@@ -195,9 +195,9 @@ move an amendment</a> to the drawing.</p>
return BORDER_BETWEEN
if (locate(/obj/machinery/door) in T2)
return BORDER_2NDTILE
if (locate(/obj/station_objects/falsewall) in T2)
if (locate(/obj/structure/falsewall) in T2)
return BORDER_2NDTILE
if (locate(/obj/station_objects/falserwall) in T2)
if (locate(/obj/structure/falserwall) in T2)
return BORDER_2NDTILE
return BORDER_NONE
@@ -212,7 +212,7 @@ move an amendment</a> to the drawing.</p>
pending -= T
for (var/dir in cardinal)
var/skip = 0
for (var/obj/station_objects/window/W in T)
for (var/obj/structure/window/W in T)
if(dir == W.dir || (W.dir in list(NORTHEAST,SOUTHEAST,NORTHWEST,SOUTHWEST)))
skip = 1; break
if (skip) continue
+2 -2
View File
@@ -49,8 +49,8 @@
/obj/item/assembly/shock_kit/receive_signal()
//*****
//world << "Shock kit got r_signal"
if (istype(src.loc, /obj/station_objects/stool/chair/e_chair))
var/obj/station_objects/stool/chair/e_chair/C = src.loc
if (istype(src.loc, /obj/structure/stool/chair/e_chair))
var/obj/structure/stool/chair/e_chair/C = src.loc
//world << "Shock kit sending shock to EC"
C.shock()
return
+3 -3
View File
@@ -19,7 +19,7 @@ RCD
m_amt = 50000
origin_tech = "engineering=4;materials=2"
var
datum/effects/system/spark_spread/spark_system
datum/effect/system/spark_spread/spark_system
matter = 0
working = 0
mode = 1
@@ -28,7 +28,7 @@ RCD
New()
desc = "A RCD. It currently holds [matter]/30 matter-units."
src.spark_system = new /datum/effects/system/spark_spread
src.spark_system = new /datum/effect/system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
return
@@ -116,7 +116,7 @@ RCD
src.spark_system.start()
if(locate(/obj/machinery/door) in get_turf(src)) return
var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock( A )
var/obj/station_objects/window/killthis = (locate(/obj/station_objects/window) in get_turf(src))
var/obj/structure/window/killthis = (locate(/obj/structure/window) in get_turf(src))
if(killthis)
killthis.ex_act(2)//Smashin windows
T.autoclose = 1
+13 -13
View File
@@ -49,11 +49,11 @@ RSF
// Change mode
/obj/item/weapon/rsf/afterattack(atom/A, mob/user as mob)
if (!(istype(A, /obj/station_objects/table) || istype(A, /turf/simulated/floor)))
if (!(istype(A, /obj/structure/table) || istype(A, /turf/simulated/floor)))
return
if (istype(A, /obj/station_objects/table) && mode == 1)
if (istype(A, /obj/station_objects/table) && matter >= 1)
if (istype(A, /obj/structure/table) && mode == 1)
if (istype(A, /obj/structure/table) && matter >= 1)
user << "Dispensing Dosh..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/spacecash/c10( A.loc )
@@ -80,8 +80,8 @@ RSF
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
else if (istype(A, /obj/station_objects/table) && mode == 2)
if (istype(A, /obj/station_objects/table) && matter >= 1)
else if (istype(A, /obj/structure/table) && mode == 2)
if (istype(A, /obj/structure/table) && matter >= 1)
user << "Dispensing Drinking Glass..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( A.loc )
@@ -108,8 +108,8 @@ RSF
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
else if (istype(A, /obj/station_objects/table) && mode == 3)
if (istype(A, /obj/station_objects/table) && matter >= 1)
else if (istype(A, /obj/structure/table) && mode == 3)
if (istype(A, /obj/structure/table) && matter >= 1)
user << "Dispensing Paper Sheet..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/paper( A.loc )
@@ -136,8 +136,8 @@ RSF
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
else if (istype(A, /obj/station_objects/table) && mode == 4)
if (istype(A, /obj/station_objects/table) && matter >= 1)
else if (istype(A, /obj/structure/table) && mode == 4)
if (istype(A, /obj/structure/table) && matter >= 1)
user << "Dispensing Pen..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/pen( A.loc )
@@ -164,8 +164,8 @@ RSF
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
else if (istype(A, /obj/station_objects/table) && mode == 5)
if (istype(A, /obj/station_objects/table) && matter >= 1)
else if (istype(A, /obj/structure/table) && mode == 5)
if (istype(A, /obj/structure/table) && matter >= 1)
user << "Dispensing Dice Pack..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/storage/dice( A.loc )
@@ -192,8 +192,8 @@ RSF
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
else if (istype(A, /obj/station_objects/table) && mode == 6)
if (istype(A, /obj/station_objects/table) && matter >= 1)
else if (istype(A, /obj/structure/table) && mode == 6)
if (istype(A, /obj/structure/table) && matter >= 1)
user << "Dispensing Cigarette..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/clothing/mask/cigarette( A.loc )
@@ -44,7 +44,7 @@ BIKE HORN
M.weakened = 5
/obj/item/weapon/soap/afterattack(atom/target, mob/user as mob)
if(istype(target,/obj/effects/decal/cleanable))
if(istype(target,/obj/effect/decal/cleanable))
del(target)
user << "\blue You scrub the [target.name] out."
else
@@ -63,7 +63,7 @@
if (user)
if (istype(M, /mob/living/carbon/human))
var/obj/effects/equip_e/human/O = new /obj/effects/equip_e/human( )
var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
O.source = user
O.target = M
O.item = src
+1 -1
View File
@@ -220,7 +220,7 @@ FLASHBANG
M << "\red Your ears start to ring!"
//Blob damage here
for(var/obj/effects/blob/B in view(8,T))
for(var/obj/effect/blob/B in view(8,T))
var/damage = round(30/(get_dist(B,T)+1))
B.health -= damage
B.update()
@@ -23,7 +23,7 @@ Deathnettle
if (istype(A, /obj/item/weapon/storage/backpack ))
return
else if (locate (/obj/station_objects/table, src.loc))
else if (locate (/obj/structure/table, src.loc))
return
else if (src.reagents.total_volume < 1)
@@ -37,11 +37,11 @@ Deathnettle
if (istype(A, /obj/machinery/hydroponics)) // We are targeting hydrotray
return
else if (istype(A, /obj/effects/blob)) // blob damage in blob code
else if (istype(A, /obj/effect/blob)) // blob damage in blob code
return
else
var/obj/effects/decal/D = new/obj/effects/decal/(get_turf(src)) // Targeting elsewhere
var/obj/effect/decal/D = new/obj/effect/decal/(get_turf(src)) // Targeting elsewhere
D.name = "chemicals"
D.icon = 'chemical.dmi'
D.icon_state = "weedpuff"
@@ -16,13 +16,13 @@ MOP
/obj/item/weapon/cleaner/afterattack(atom/A as mob|obj, mob/user as mob)
if (istype(A, /obj/item/weapon/storage/backpack ))
return
if (istype(A, /obj/effects/proc_holder/spell ))
if (istype(A, /obj/effect/proc_holder/spell ))
return
else if (src.reagents.total_volume < 1)
user << "\blue [src] is empty!"
return
var/obj/effects/decal/D = new/obj/effects/decal(get_turf(src))
var/obj/effect/decal/D = new/obj/effect/decal(get_turf(src))
D.create_reagents(5)
src.reagents.trans_to(D, 5)
@@ -93,7 +93,7 @@ MOP
/obj/item/weapon/chemsprayer/afterattack(atom/A as mob|obj, mob/user as mob)
if (istype(A, /obj/item/weapon/storage/backpack ))
return
if (istype(A, /obj/effects/proc_holder/spell ))
if (istype(A, /obj/effect/proc_holder/spell ))
return
else if (src.reagents.total_volume < 1)
user << "\blue [src] is empty!"
@@ -104,7 +104,7 @@ MOP
var/Sprays[3]
for(var/i=1, i<=3, i++) // intialize sprays
if(src.reagents.total_volume < 1) break
var/obj/effects/decal/D = new/obj/effects/decal(get_turf(src))
var/obj/effect/decal/D = new/obj/effect/decal(get_turf(src))
D.name = "chemicals"
D.icon = 'chempuff.dmi'
D.create_reagents(5)
@@ -140,7 +140,7 @@ MOP
for(var/i=1, i<=Sprays.len, i++)
spawn()
var/obj/effects/decal/D = Sprays[i]
var/obj/effect/decal/D = Sprays[i]
if(!D) continue
// Spreads the sprays a little bit
@@ -190,12 +190,12 @@ MOP
user << "\blue You have finished mopping!"
src.reagents.reaction(A,1,10)
A.clean_blood()
for(var/obj/effects/rune/R in A)
for(var/obj/effect/rune/R in A)
del(R)
for(var/obj/effects/decal/cleanable/crayon/R in A)
for(var/obj/effect/decal/cleanable/crayon/R in A)
del(R)
mopcount++
else if (istype(A, /obj/effects/decal/cleanable/blood) || istype(A, /obj/effects/overlay) || istype(A, /obj/effects/decal/cleanable/xenoblood) || istype(A, /obj/effects/rune) || istype(A,/obj/effects/decal/cleanable/crayon) || istype(A,/obj/effects/decal/cleanable/vomit) )
else if (istype(A, /obj/effect/decal/cleanable/blood) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/decal/cleanable/xenoblood) || istype(A, /obj/effect/rune) || istype(A,/obj/effect/decal/cleanable/crayon) || istype(A,/obj/effect/decal/cleanable/vomit) )
for(var/mob/O in viewers(user, null))
O.show_message(text("\red <B>[user] begins to clean [A]</B>"), 1)
sleep(20)
@@ -423,7 +423,7 @@ CLIPBOARDS
/obj/item/weapon/wrapping_paper/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (!( locate(/obj/station_objects/table, src.loc) ))
if (!( locate(/obj/structure/table, src.loc) ))
user << "\blue You MUST put the paper on a table!"
if (W.w_class < 4)
if ((istype(user.l_hand, /obj/item/weapon/wirecutters) || istype(user.r_hand, /obj/item/weapon/wirecutters)))
@@ -466,7 +466,7 @@ CLIPBOARDS
if (!istype(target, /mob/living/carbon/human)) return
if (istype(target:wear_suit, /obj/item/clothing/suit/straight_jacket) || target:stat)
if (src.amount > 2)
var/obj/effects/spresent/present = new /obj/effects/spresent (target:loc)
var/obj/effect/spresent/present = new /obj/effect/spresent (target:loc)
src.amount -= 2
if (target:client)
@@ -507,12 +507,12 @@ CLIPBOARDS
return
/obj/effects/spresent/relaymove(mob/user as mob)
/obj/effect/spresent/relaymove(mob/user as mob)
if (user.stat)
return
user << "\blue You cant move."
/obj/effects/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (!istype(W, /obj/item/weapon/wirecutters))
@@ -598,23 +598,23 @@ CLIPBOARDS
// BEDSHEET BIN
/obj/station_objects/bedsheetbin/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/bedsheetbin/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/bedsheet))
//W = null
del(W)
src.amount++
return
/obj/station_objects/bedsheetbin/attack_paw(mob/user as mob)
/obj/structure/bedsheetbin/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/station_objects/bedsheetbin/attack_hand(mob/user as mob)
/obj/structure/bedsheetbin/attack_hand(mob/user as mob)
if (src.amount >= 1)
src.amount--
new /obj/item/weapon/bedsheet( src.loc )
add_fingerprint(user)
/obj/station_objects/bedsheetbin/examine()
/obj/structure/bedsheetbin/examine()
set src in oview(1)
src.amount = round(src.amount)
@@ -16,7 +16,7 @@ CIRCULAR SAW
if(!istype(M))
return
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/station_objects/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(50))))
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(50))))
return ..()
if(user.zone_sel.selecting == "groin")
@@ -89,7 +89,7 @@ CIRCULAR SAW
if(!istype(M))
return
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/station_objects/table/, M.loc) && M.lying && prob(50))))
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/table/, M.loc) && M.lying && prob(50))))
return ..()
if(user.zone_sel.selecting == "groin")
@@ -174,7 +174,7 @@ CIRCULAR SAW
if(!istype(M))
return
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/station_objects/table/, M.loc) && M.lying && prob(50))))
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/table/, M.loc) && M.lying && prob(50))))
return ..()
if(user.zone_sel.selecting == "groin")
@@ -257,7 +257,7 @@ CIRCULAR SAW
M = user
return eyestab(M,user)
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/station_objects/table/, M.loc) && M.lying && prob(50))))
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/table/, M.loc) && M.lying && prob(50))))
return ..()
src.add_fingerprint(user)
@@ -454,7 +454,7 @@ CIRCULAR SAW
M = user
return eyestab(M,user)
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/station_objects/table/, M.loc) && M.lying && prob(50))))
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/table/, M.loc) && M.lying && prob(50))))
return ..()
src.add_fingerprint(user)
@@ -55,7 +55,7 @@ STUN BATON
//Most of the other special functions are handled in their own files.
/obj/item/weapon/melee/energy/blade/New()
spark_system = new /datum/effects/system/spark_spread()
spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
return
@@ -18,7 +18,7 @@ RACK PARTS
del(src)
/obj/item/weapon/table_parts/attack_self(mob/user as mob)
new /obj/station_objects/table( user.loc )
new /obj/structure/table( user.loc )
del(src)
return
@@ -31,7 +31,7 @@ RACK PARTS
del(src)
/obj/item/weapon/table_parts/wood/attack_self(mob/user as mob)
new /obj/station_objects/table/woodentable( user.loc )
new /obj/structure/table/woodentable( user.loc )
del(src)
return
@@ -45,7 +45,7 @@ RACK PARTS
del(src)
/obj/item/weapon/table_parts/reinforced/attack_self(mob/user as mob)
new /obj/station_objects/table/reinforced( user.loc )
new /obj/structure/table/reinforced( user.loc )
del(src)
return
@@ -63,7 +63,7 @@ RACK PARTS
return
/obj/item/weapon/rack_parts/attack_self(mob/user as mob)
var/obj/station_objects/rack/R = new /obj/station_objects/rack( user.loc )
var/obj/structure/rack/R = new /obj/structure/rack( user.loc )
R.add_fingerprint(user)
del(src)
return
@@ -125,7 +125,7 @@ Frequency:
if ((user.equipped() != src || user.stat || user.restrained()))
return
var/count = 0 //num of portals from this teleport in world
for(var/obj/effects/portal/PO in world)
for(var/obj/effect/portal/PO in world)
if(PO.creator == src) count++
if(count >= 3)
user.show_message("\red The hand teleporter is recharging!")
@@ -133,7 +133,7 @@ Frequency:
var/T = L[t1]
for(var/mob/O in hearers(user, null))
O.show_message("\blue Locked In", 2)
var/obj/effects/portal/P = new /obj/effects/portal( get_turf(src) )
var/obj/effect/portal/P = new /obj/effect/portal( get_turf(src) )
P.target = T
P.creator = src
src.add_fingerprint(user)
+2 -2
View File
@@ -147,12 +147,12 @@ WELDINGTOOOL
afterattack(obj/O as obj, mob/user as mob)
if (istype(O, /obj/station_objects/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding)
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding)
O.reagents.trans_to(src, max_fuel)
user << "\blue Welder refueled"
playsound(src.loc, 'refill.ogg', 50, 1, -6)
return
else if (istype(O, /obj/station_objects/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding)
else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding)
message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
log_game("[key_name(user)] triggered a fueltank explosion.")
user << "\red That was stupid of you."
+1 -1
View File
@@ -1,6 +1,6 @@
//////Kitchen Spike
/obj/station_objects/kitchenspike
/obj/structure/kitchenspike
attack_paw(mob/user as mob)
return src.attack_hand(usr)
+14 -14
View File
@@ -1,4 +1,4 @@
/obj/station_objects/lamarr
/obj/structure/lamarr
name = "Lab Cage"
icon = 'stationobjs.dmi'
icon_state = "labcage1"
@@ -10,12 +10,12 @@
var/occupied = 1
var/destroyed = 0
/obj/station_objects/lamarr/ex_act(severity)
/obj/structure/lamarr/ex_act(severity)
switch(severity)
if (1)
new /obj/item/weapon/shard( src.loc )
if (occupied)
var/obj/effects/alien/facehugger/A = new /obj/effects/alien/facehugger( src.loc )
var/obj/effect/alien/facehugger/A = new /obj/effect/alien/facehugger( src.loc )
A.lamarr = 1
A.name = "Lamarr"
occupied = 0
@@ -30,40 +30,40 @@
src.healthcheck()
/obj/station_objects/lamarr/bullet_act(var/obj/item/projectile/Proj)
/obj/structure/lamarr/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
src.healthcheck()
return
/obj/station_objects/lamarr/blob_act()
/obj/structure/lamarr/blob_act()
if (prob(75))
new /obj/item/weapon/shard( src.loc )
if (occupied)
var/obj/effects/alien/facehugger/A = new /obj/effects/alien/facehugger( src.loc )
var/obj/effect/alien/facehugger/A = new /obj/effect/alien/facehugger( src.loc )
A.lamarr = 1
A.name = "Lamarr"
occupied = 0
del(src)
/obj/station_objects/lamarr/meteorhit(obj/O as obj)
/obj/structure/lamarr/meteorhit(obj/O as obj)
new /obj/item/weapon/shard( src.loc )
var/obj/effects/alien/facehugger/A = new /obj/effects/alien/facehugger( src.loc )
var/obj/effect/alien/facehugger/A = new /obj/effect/alien/facehugger( src.loc )
A.lamarr = 1
A.name = "Lamarr"
del(src)
/obj/station_objects/lamarr/proc/healthcheck()
/obj/structure/lamarr/proc/healthcheck()
if (src.health <= 0)
if (!( src.destroyed ))
src.density = 0
src.destroyed = 1
new /obj/item/weapon/shard( src.loc )
playsound(src, "shatter", 70, 1)
var/obj/effects/alien/facehugger/A = new /obj/effects/alien/facehugger( src.loc )
var/obj/effect/alien/facehugger/A = new /obj/effect/alien/facehugger( src.loc )
A.lamarr = 1
A.name = "Lamarr"
occupied = 0
@@ -72,7 +72,7 @@
playsound(src.loc, 'Glasshit.ogg', 75, 1)
return
/obj/station_objects/lamarr/update_icon()
/obj/structure/lamarr/update_icon()
if(src.destroyed)
src.icon_state = "labcageb[src.occupied]"
else
@@ -80,16 +80,16 @@
return
/obj/station_objects/lamarr/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/lamarr/attackby(obj/item/weapon/W as obj, mob/user as mob)
src.health -= W.force
src.healthcheck()
..()
return
/obj/station_objects/lamarr/attack_paw(mob/user as mob)
/obj/structure/lamarr/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/station_objects/lamarr/attack_hand(mob/user as mob)
/obj/structure/lamarr/attack_hand(mob/user as mob)
if (src.destroyed)
return
else
+10 -10
View File
@@ -1,7 +1,7 @@
//NOT using the existing /obj/machinery/door type, since that has some complications on its own, mainly based on its
//machineryness
/obj/station_objects/mineral_door
/obj/structure/mineral_door
name = "mineral door"
density = 1
anchored = 1
@@ -47,7 +47,7 @@
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group) return 0
if(istype(mover, /obj/effects/beam))
if(istype(mover, /obj/effect/beam))
return !opacity
return !density
@@ -180,18 +180,18 @@
return 1
/obj/station_objects/mineral_door/iron
/obj/structure/mineral_door/iron
mineralType = "iron"
hardness = 3
/obj/station_objects/mineral_door/silver
/obj/structure/mineral_door/silver
mineralType = "silver"
hardness = 3
/obj/station_objects/mineral_door/gold
/obj/structure/mineral_door/gold
mineralType = "gold"
/obj/station_objects/mineral_door/uranium
/obj/structure/mineral_door/uranium
mineralType = "uranium"
hardness = 3
@@ -199,18 +199,18 @@
..()
sd_SetLuminosity(3)
/obj/station_objects/mineral_door/sandstone
/obj/structure/mineral_door/sandstone
mineralType = "sandstone"
hardness = 0.5
/obj/station_objects/mineral_door/transparent
/obj/structure/mineral_door/transparent
opacity = 0
Close()
..()
opacity = 0
/obj/station_objects/mineral_door/transparent/plasma
/obj/structure/mineral_door/transparent/plasma
mineralType = "plasma"
attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -241,6 +241,6 @@
hardness -= toxinsToDeduce/100
CheckHardness()
/obj/station_objects/mineral_door/transparent/diamond
/obj/structure/mineral_door/transparent/diamond
mineralType = "diamond"
hardness = 10
+6 -6
View File
@@ -1,5 +1,5 @@
/obj/effects/new_year_tree
/obj/effect/new_year_tree
name = "The fir"
desc = "This is a fir. Real fir on dammit spess station. You smell pine-needles."
icon = '160x160.dmi'
@@ -11,7 +11,7 @@
pixel_x = -64
//pixel_y = -64
/obj/effects/new_year_tree/attackby(obj/item/W, mob/user)
/obj/effect/new_year_tree/attackby(obj/item/W, mob/user)
if (istype(W, /obj/item/weapon/grab))
return
W.loc = src
@@ -94,14 +94,14 @@
playsound(src.loc, 'bang.ogg', 25, 1)
var/turf/T = get_turf(src)
if(T)
var/datum/effects/system/harmless_smoke_spread/smoke = new
var/datum/effect/system/harmless_smoke_spread/smoke = new
smoke.set_up(3, 0, src.loc)
smoke.attach(src)
smoke.start()
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
new /obj/effects/new_year_tree(T)
new /obj/effect/new_year_tree(T)
del(src)
return
@@ -132,6 +132,6 @@
"/obj/item/weapon/wrapping_paper",
"/obj/item/weapon/wrapping_paper")
cost = 20
containertype = "/obj/station_objects/crate"
containertype = "/obj/structure/crate"
containername = "New Year Celebration crate"
*/
+4 -4
View File
@@ -1,7 +1,7 @@
/obj/station_objects/noticeboard
/obj/structure/noticeboard
//attaching papers!!
/obj/station_objects/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
/obj/structure/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
if (istype(O, /obj/item/weapon/paper))
if (src.notices < 5)
O.add_fingerprint(user)
@@ -14,7 +14,7 @@
else
user << "\red You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached."
/obj/station_objects/noticeboard/attack_hand(user as mob)
/obj/structure/noticeboard/attack_hand(user as mob)
var/dat = "<B>Noticeboard</B><BR>"
for(var/obj/item/weapon/paper/P in src)
dat += text("<A href='?src=\ref[];read=\ref[]'>[]</A> <A href='?src=\ref[];write=\ref[]'>Write</A> <A href='?src=\ref[];remove=\ref[]'>Remove</A><BR>", src, P, P.name, src, P, src, P)
@@ -22,7 +22,7 @@
onclose(user, "noticeboard")
/obj/station_objects/noticeboard/Topic(href, href_list)
/obj/structure/noticeboard/Topic(href, href_list)
..()
usr.machine = src
if (href_list["remove"])
+5 -5
View File
@@ -1,25 +1,25 @@
/obj/effects/portal/Bumped(mob/M as mob|obj)
/obj/effect/portal/Bumped(mob/M as mob|obj)
spawn(0)
src.teleport(M)
return
return
/obj/effects/portal/HasEntered(AM as mob|obj)
/obj/effect/portal/HasEntered(AM as mob|obj)
spawn(0)
src.teleport(AM)
return
return
/obj/effects/portal/New()
/obj/effect/portal/New()
spawn(300)
del(src)
return
return
/obj/effects/portal/proc/teleport(atom/movable/M as mob|obj)
if(istype(M, /obj/effects)) //sparks don't teleport
/obj/effect/portal/proc/teleport(atom/movable/M as mob|obj)
if(istype(M, /obj/effect)) //sparks don't teleport
return
if (M.anchored&&istype(M, /obj/mecha))
return
+1 -1
View File
@@ -134,7 +134,7 @@
if (M.moved_recently && M.last_move)
step(M, M.last_move)
M.show_message("\red <B>You feel a sharp shock!</B>")
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, M)
s.start()
+1 -1
View File
@@ -102,7 +102,7 @@
overlays += image('storage.dmi', icon_locking)
locked = 0
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
+26 -26
View File
@@ -1,29 +1,29 @@
/obj/station_objects/secure_closet/alter_health()
/obj/structure/secure_closet/alter_health()
return get_turf(src)
/obj/station_objects/secure_closet/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
/obj/structure/secure_closet/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group || (height==0) || wall_mounted) return 1
return src.opened
/obj/station_objects/secure_closet/proc/can_close()
for(var/obj/station_objects/closet/closet in get_turf(src))
/obj/structure/secure_closet/proc/can_close()
for(var/obj/structure/closet/closet in get_turf(src))
return 0
for(var/obj/station_objects/secure_closet/closet in get_turf(src))
for(var/obj/structure/secure_closet/closet in get_turf(src))
if(closet != src)
return 0
return 1
/obj/station_objects/secure_closet/proc/can_open()
/obj/structure/secure_closet/proc/can_open()
if (src.locked)
return 0
return 1
/obj/station_objects/secure_closet/proc/dump_contents()
/obj/structure/secure_closet/proc/dump_contents()
for (var/obj/item/I in src)
I.loc = src.loc
for (var/obj/effects/overlay/o in src) //REMOVE THIS
for (var/obj/effect/overlay/o in src) //REMOVE THIS
o.loc = src.loc
for(var/mob/M in src)
@@ -31,7 +31,7 @@
if (M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE
/obj/station_objects/secure_closet/proc/open()
/obj/structure/secure_closet/proc/open()
if (src.opened)
return 0
@@ -45,7 +45,7 @@
playsound(src.loc, 'click.ogg', 15, 1, -3)
return 1
/obj/station_objects/secure_closet/proc/close()
/obj/structure/secure_closet/proc/close()
if (!src.opened)
return 0
@@ -56,7 +56,7 @@
if (!I.anchored)
I.loc = src
for (var/obj/effects/overlay/o in src.loc) //REMOVE THIS
for (var/obj/effect/overlay/o in src.loc) //REMOVE THIS
if (!o.anchored)
o.loc = src
@@ -77,12 +77,12 @@
playsound(src.loc, 'click.ogg', 15, 1, -3)
return 1
/obj/station_objects/secure_closet/proc/toggle()
/obj/structure/secure_closet/proc/toggle()
if (src.opened)
return src.close()
return src.open()
/obj/station_objects/secure_closet/emp_act(severity)
/obj/structure/secure_closet/emp_act(severity)
for(var/obj/O in src)
O.emp_act(severity)
if(!broken)
@@ -96,7 +96,7 @@
src.req_access += pick(get_all_accesses())
..()
/obj/station_objects/secure_closet/ex_act(severity)
/obj/structure/secure_closet/ex_act(severity)
switch(severity)
if (1)
for (var/atom/movable/A as mob|obj in src)
@@ -116,13 +116,13 @@
ex_act(severity)
del(src)
/obj/station_objects/secure_closet/blob_act()
/obj/structure/secure_closet/blob_act()
if (prob(75))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
del(src)
/obj/station_objects/secure_closet/meteorhit(obj/O as obj)
/obj/structure/secure_closet/meteorhit(obj/O as obj)
if (O.icon_state == "flaming")
for(var/obj/item/I in src)
I.loc = src.loc
@@ -136,7 +136,7 @@
return
return
/obj/station_objects/secure_closet/bullet_act(var/obj/item/projectile/Proj)
/obj/structure/secure_closet/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
if(health <= 0)
@@ -145,7 +145,7 @@
del(src)
return
/obj/station_objects/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (src.opened)
if (istype(W, /obj/item/weapon/grab))
if (src.large)
@@ -164,7 +164,7 @@
desc = "It appears to be broken."
icon_state = src.icon_broken
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
@@ -188,9 +188,9 @@
user << "\red Access Denied"
return
/obj/station_objects/secure_closet
/obj/structure/secure_closet
var/lastbang
/obj/station_objects/secure_closet/relaymove(mob/user as mob)
/obj/structure/secure_closet/relaymove(mob/user as mob)
if (user.stat)
return
if (!( src.locked ))
@@ -211,14 +211,14 @@
M << text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M)))
return
/obj/station_objects/secure_closet/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
/obj/structure/secure_closet/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
if ((user.restrained() || user.stat))
return
if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)))
return
if(!src.opened)
return
if(istype(O, /obj/station_objects/secure_closet) || istype(O, /obj/station_objects/closet))
if(istype(O, /obj/structure/secure_closet) || istype(O, /obj/structure/closet))
return
step_towards(O, src.loc)
if (user != O)
@@ -228,7 +228,7 @@
src.add_fingerprint(user)
return
/*
/obj/station_objects/secure_closet/attack_hand(mob/user as mob)
/obj/structure/secure_closet/attack_hand(mob/user as mob)
src.add_fingerprint(user)
if (!src.opened && !src.locked)
if(!src.can_open())
@@ -265,11 +265,11 @@
return src.attackby(null, user)
return*/
/obj/station_objects/secure_closet/attack_hand(mob/user as mob)
/obj/structure/secure_closet/attack_hand(mob/user as mob)
src.add_fingerprint(user)
if (!src.toggle())
return src.attackby(null, user)
/obj/station_objects/secure_closet/attack_paw(mob/user as mob)
/obj/structure/secure_closet/attack_paw(mob/user as mob)
return src.attack_hand(user)
+4 -4
View File
@@ -1,4 +1,4 @@
/obj/effects/securearea/ex_act(severity)
/obj/effect/securearea/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -11,14 +11,14 @@
else
return
/obj/effects/securearea/blob_act()
/obj/effect/securearea/blob_act()
if (prob(75))
del(src)
return
return
/obj/effects/sign/ex_act(severity)
/obj/effect/sign/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -31,7 +31,7 @@
else
return
/obj/effects/sign/blob_act()
/obj/effect/sign/blob_act()
if (prob(75))
del(src)
return
+12 -12
View File
@@ -22,31 +22,31 @@ SHARDS
if (src.amount < 1)
return 1
var/list/directions = new/list(cardinal)
for (var/obj/station_objects/window/win in usr.loc)
for (var/obj/structure/window/win in usr.loc)
directions-=win.dir
if(!(win.ini_dir in cardinal))
usr << "\red Can't let you do that."
return 1
var/dir_to_set = 2
//yes, this could probably be done better but hey... it works...
for(var/obj/station_objects/window/WT in usr.loc)
for(var/obj/structure/window/WT in usr.loc)
if (WT.dir == dir_to_set)
dir_to_set = 4
for(var/obj/station_objects/window/WT in usr.loc)
for(var/obj/structure/window/WT in usr.loc)
if (WT.dir == dir_to_set)
dir_to_set = 1
for(var/obj/station_objects/window/WT in usr.loc)
for(var/obj/structure/window/WT in usr.loc)
if (WT.dir == dir_to_set)
dir_to_set = 8
for(var/obj/station_objects/window/WT in usr.loc)
for(var/obj/structure/window/WT in usr.loc)
if (WT.dir == dir_to_set)
dir_to_set = 2
var/obj/station_objects/window/W
var/obj/structure/window/W
if(reinf)
W = new /obj/station_objects/window/reinforced( usr.loc, reinf )
W = new /obj/structure/window/reinforced( usr.loc, reinf )
W.state = 0
else
W = new /obj/station_objects/window/basic( usr.loc, reinf )
W = new /obj/structure/window/basic( usr.loc, reinf )
W.dir = dir_to_set
W.ini_dir = W.dir
W.anchored = 0
@@ -54,15 +54,15 @@ SHARDS
if("full (2 sheets)")
if (src.amount < 2)
return 1
if (locate(/obj/station_objects/window) in usr.loc)
if (locate(/obj/structure/window) in usr.loc)
usr << "\red Can't let you do that."
return 1
var/obj/station_objects/window/W
var/obj/structure/window/W
if(reinf)
W = new /obj/station_objects/window/reinforced( usr.loc, reinf )
W = new /obj/structure/window/reinforced( usr.loc, reinf )
W.state = 0
else
W = new /obj/station_objects/window/basic( usr.loc, reinf )
W = new /obj/structure/window/basic( usr.loc, reinf )
W.dir = SOUTHWEST
W.ini_dir = SOUTHWEST
W.anchored = 0
+12 -12
View File
@@ -33,8 +33,8 @@ FLOOR TILES
/obj/item/stack/rods/attack_self(mob/user as mob)
src.add_fingerprint(user)
if (locate(/obj/station_objects/grille, usr.loc))
for(var/obj/station_objects/grille/G in usr.loc)
if (locate(/obj/structure/grille, usr.loc))
for(var/obj/structure/grille/G in usr.loc)
if (G.destroyed)
G.health = 10
G.density = 1
@@ -47,7 +47,7 @@ FLOOR TILES
if(amount < 2)
user << "\blue You need at least two rods to do this."
return
new /obj/station_objects/grille( usr.loc )
new /obj/structure/grille( usr.loc )
use(2)
return
@@ -57,12 +57,12 @@ FLOOR TILES
// /datum/stack_recipe/New(title, result_type, req_amount, res_amount, max_res_amount, time, one_per_turf, on_floor = 0)
var/global/list/datum/stack_recipe/metal_recipes = list ( \
new/datum/stack_recipe("stool", /obj/station_objects/stool), \
new/datum/stack_recipe("chair", /obj/station_objects/stool/chair, one_per_turf = 1), \
new/datum/stack_recipe("bed", /obj/station_objects/stool/bed, 2, one_per_turf = 1), \
new/datum/stack_recipe("stool", /obj/structure/stool), \
new/datum/stack_recipe("chair", /obj/structure/stool/chair, one_per_turf = 1), \
new/datum/stack_recipe("bed", /obj/structure/stool/bed, 2, one_per_turf = 1), \
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \
new/datum/stack_recipe("rack parts", /obj/item/weapon/rack_parts), \
new/datum/stack_recipe("closet", /obj/station_objects/closet, 2, one_per_turf = 1), \
new/datum/stack_recipe("closet", /obj/structure/closet, 2, one_per_turf = 1), \
null, \
new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 2, one_per_turf = 1), \
null, \
@@ -70,16 +70,16 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60), \
new/datum/stack_recipe("reinforced sheet", /obj/item/stack/sheet/r_metal, 2, 1, 50), \
null, \
new/datum/stack_recipe("computer frame", /obj/station_objects/computerframe, 5, one_per_turf = 1), \
new/datum/stack_recipe("wall girders", /obj/station_objects/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("airlock assembly", /obj/station_objects/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("computer frame", /obj/structure/computerframe, 5, one_per_turf = 1), \
new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, one_per_turf = 1), \
new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, one_per_turf = 1), \
null, \
new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \
new/datum/stack_recipe("grenade casing", /obj/item/weapon/chem_grenade), \
null, \
new/datum/stack_recipe("iron door", /obj/station_objects/mineral_door/iron, 20), \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20), \
)
/obj/item/stack/sheet/metal
@@ -93,7 +93,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
var/global/list/datum/stack_recipe/r_metal_recipes = list ( \
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/reinforced, 2), \
new/datum/stack_recipe("metal sheet", /obj/item/stack/sheet/metal, 1, 2, 50), \
new/datum/stack_recipe("AI core", /obj/station_objects/AIcore, 4, one_per_turf = 1), \
new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, one_per_turf = 1), \
)
/obj/item/stack/sheet/r_metal
+6 -6
View File
@@ -10,7 +10,7 @@ SILVER
//Sandstone
var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
new/datum/stack_recipe("sandstone door", /obj/station_objects/mineral_door/sandstone, 10), \
new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10), \
/* new/datum/stack_recipe("sandstone wall", ???), \
new/datum/stack_recipe("sandstone floor", ???),\*/
)
@@ -22,7 +22,7 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
//Diamond
var/global/list/datum/stack_recipe/diamond_recipes = list ( \
new/datum/stack_recipe("diamond door", /obj/station_objects/mineral_door/transparent/diamond, 10), \
new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10), \
)
/obj/item/stack/sheet/diamond
@@ -32,7 +32,7 @@ var/global/list/datum/stack_recipe/diamond_recipes = list ( \
//Uranium
var/global/list/datum/stack_recipe/uranium_recipes = list ( \
new/datum/stack_recipe("uranium door", /obj/station_objects/mineral_door/uranium, 10), \
new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10), \
)
/obj/item/stack/sheet/uranium
@@ -42,7 +42,7 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \
//Plasma
var/global/list/datum/stack_recipe/plasma_recipes = list ( \
new/datum/stack_recipe("plasma door", /obj/station_objects/mineral_door/transparent/plasma, 10), \
new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10), \
)
/obj/item/stack/sheet/plasma
@@ -52,7 +52,7 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \
//Gold
var/global/list/datum/stack_recipe/gold_recipes = list ( \
new/datum/stack_recipe("golden door", /obj/station_objects/mineral_door/gold, 10), \
new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10), \
)
/obj/item/stack/sheet/gold
@@ -62,7 +62,7 @@ var/global/list/datum/stack_recipe/gold_recipes = list ( \
//Silver
var/global/list/datum/stack_recipe/silver_recipes = list ( \
new/datum/stack_recipe("silver door", /obj/station_objects/mineral_door/silver, 10), \
new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10), \
)
/obj/item/stack/sheet/silver
+1 -1
View File
@@ -5,7 +5,7 @@ WOOD PLANKS
var/global/list/datum/stack_recipe/wood_recipes = list ( \
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/wood, 2), \
new/datum/stack_recipe("wooden barricade", /obj/station_objects/barricade/wooden, 5, time = 30, one_per_turf = 1, on_floor = 1),\
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 30, one_per_turf = 1, on_floor = 1),\
)
/obj/item/stack/sheet/wood
+28 -28
View File
@@ -1,4 +1,4 @@
/obj/station_objects/stool/ex_act(severity)
/obj/structure/stool/ex_act(severity)
switch(severity)
if(1.0)
@@ -18,12 +18,12 @@
else
return
/obj/station_objects/stool/blob_act()
/obj/structure/stool/blob_act()
if(prob(75))
new /obj/item/stack/sheet/metal( src.loc )
del(src)
/obj/station_objects/stool/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/stool/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'Ratchet.ogg', 50, 1)
new /obj/item/stack/sheet/metal( src.loc )
@@ -32,7 +32,7 @@
return
/obj/station_objects/stool/bed/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/stool/bed/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'Ratchet.ogg', 50, 1)
@@ -40,10 +40,10 @@
del(src)
return
/obj/station_objects/stool/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/stool/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (istype(W, /obj/item/assembly/shock_kit))
var/obj/station_objects/stool/chair/e_chair/E = new /obj/station_objects/stool/chair/e_chair( src.loc )
var/obj/structure/stool/chair/e_chair/E = new /obj/structure/stool/chair/e_chair( src.loc )
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
E.dir = src.dir
E.part1 = W
@@ -56,7 +56,7 @@
return
return
/obj/station_objects/stool/bed/Del()
/obj/structure/stool/bed/Del()
for(var/mob/M in src.buckled_mobs)
if (M.buckled == src)
M.lying = 0
@@ -64,13 +64,13 @@
..()
return
/obj/station_objects/stool/proc/unbuckle_all()
/obj/structure/stool/proc/unbuckle_all()
for(var/mob/M in src:buckled_mobs)
if (M.buckled == src)
M.buckled = null
M.anchored = 0
/obj/station_objects/stool/proc/manual_unbuckle_all(mob/user as mob)
/obj/structure/stool/proc/manual_unbuckle_all(mob/user as mob)
var/N = 0;
for(var/mob/M in src:buckled_mobs)
if (M.buckled == src)
@@ -90,7 +90,7 @@
N++
return N
/obj/station_objects/stool/proc/buckle_mob(mob/M as mob, mob/user as mob)
/obj/structure/stool/proc/buckle_mob(mob/M as mob, mob/user as mob)
if (!ticker)
user << "You can't buckle anyone in before the game starts."
if ((!( istype(M, /mob) ) || get_dist(src, user) > 1 || M.loc != src.loc || user.restrained() || usr.stat || M.buckled))
@@ -113,13 +113,13 @@
src.add_fingerprint(user)
return
/obj/station_objects/stool/bed/MouseDrop_T(mob/M as mob, mob/user as mob)
/obj/structure/stool/bed/MouseDrop_T(mob/M as mob, mob/user as mob)
if (!istype(M)) return
buckle_mob(M, user)
M.lying = 1
return
/obj/station_objects/stool/bed/attack_hand(mob/user as mob)
/obj/structure/stool/bed/attack_hand(mob/user as mob)
for(var/mob/M in src.buckled_mobs)
if (M.buckled == src)
M.lying = 0
@@ -127,7 +127,7 @@
src.add_fingerprint(user)
return
/obj/station_objects/stool/chair/e_chair/New()
/obj/structure/stool/chair/e_chair/New()
src.overl = new /atom/movable/overlay( src.loc )
src.overl.icon = 'objects.dmi'
@@ -137,17 +137,17 @@
src.overl.master = src
return
/obj/station_objects/stool/chair/e_chair/Del()
/obj/structure/stool/chair/e_chair/Del()
//src.overl = null
del(src.overl)
..()
return
/obj/station_objects/stool/chair/e_chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/stool/chair/e_chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/wrench))
var/obj/station_objects/stool/chair/C = new /obj/station_objects/stool/chair( src.loc )
var/obj/structure/stool/chair/C = new /obj/structure/stool/chair( src.loc )
playsound(src.loc, 'Ratchet.ogg', 50, 1)
C.dir = src.dir
src.part1.loc = src.loc
@@ -158,7 +158,7 @@
return
return
/obj/station_objects/stool/chair/e_chair/verb/toggle_power()
/obj/structure/stool/chair/e_chair/verb/toggle_power()
set name = "Toggle Electric Chair"
set category = "Object"
set src in oview(1)
@@ -170,7 +170,7 @@
src.overl.icon_state = text("e_chairo[]", src.on)
return
/obj/station_objects/stool/chair/e_chair/proc/shock()
/obj/structure/stool/chair/e_chair/proc/shock()
if (!( src.on ))
return
if ( (src.last_time + 50) > world.time)
@@ -189,7 +189,7 @@
flick("e_chairs", src)
flick("e_chairos", src.overl)
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(12, 1, src)
s.start()
for(var/mob/living/M in src.loc)
@@ -206,7 +206,7 @@
A.updateicon()
return
/obj/station_objects/stool/chair/ex_act(severity)
/obj/structure/stool/chair/ex_act(severity)
unbuckle_all()
switch(severity)
if(1.0)
@@ -222,24 +222,24 @@
return
return
/obj/station_objects/stool/chair/blob_act()
/obj/structure/stool/chair/blob_act()
if(prob(75))
unbuckle_all()
del(src)
/obj/station_objects/stool/chair/New()
/obj/structure/stool/chair/New()
src.verbs -= /atom/movable/verb/pull
if (src.dir == NORTH)
src.layer = FLY_LAYER
..()
return
/obj/station_objects/stool/chair/Del()
/obj/structure/stool/chair/Del()
unbuckle_all()
..()
return
/obj/station_objects/stool/chair/verb/rotate()
/obj/structure/stool/chair/verb/rotate()
set name = "Rotate Chair"
set category = "Object"
set src in oview(1)
@@ -251,21 +251,21 @@
src.layer = OBJ_LAYER
return
/obj/station_objects/stool/chair/MouseDrop_T(mob/M as mob, mob/user as mob)
/obj/structure/stool/chair/MouseDrop_T(mob/M as mob, mob/user as mob)
buckle_mob(M, user)
return
/obj/station_objects/stool/chair/attack_paw(mob/user as mob)
/obj/structure/stool/chair/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/station_objects/stool/chair/attack_hand(mob/user as mob)
/obj/structure/stool/chair/attack_hand(mob/user as mob)
if (manual_unbuckle_all(user))
src.add_fingerprint(user)
return
//roller bed
/obj/station_objects/stool/bed/roller
/obj/structure/stool/bed/roller
name = "roller bed"
icon = 'rollerbed.dmi'
icon_state = "down"
+1 -1
View File
@@ -75,7 +75,7 @@
if (istype(A, /turf/simulated/floor))
user << "\blue You hit the floor with the bible."
if(user.mind && (user.mind.assigned_role == "Chaplain"))
call(/obj/effects/rune/proc/revealrunes)(src)
call(/obj/effect/rune/proc/revealrunes)(src)
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
user << "\blue You bless [A]."
+30 -30
View File
@@ -1,4 +1,4 @@
/obj/station_objects/crate
/obj/structure/crate
desc = "A crate."
name = "Crate"
icon = 'storage.dmi'
@@ -13,7 +13,7 @@
m_amt = 7500
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
/obj/station_objects/crate/internals
/obj/structure/crate/internals
desc = "A internals crate."
name = "Internals crate"
icon = 'storage.dmi'
@@ -22,7 +22,7 @@
openicon = "o2crateopen"
closedicon = "o2crate"
/obj/station_objects/crate/trashcart
/obj/structure/crate/trashcart
desc = "A heavy, metal trashcart with wheels."
name = "Trash Cart"
icon = 'storage.dmi'
@@ -31,7 +31,7 @@
openicon = "trashcartopen"
closedicon = "trashcart"
/obj/station_objects/crate/hat
/obj/structure/crate/hat
desc = "A crate filled with Valuable Collector's Hats!."
name = "Hat Crate"
icon = 'storage.dmi'
@@ -40,7 +40,7 @@
openicon = "crateopen"
closedicon = "crate"
/obj/station_objects/crate/medical
/obj/structure/crate/medical
desc = "A medical crate."
name = "Medical crate"
icon = 'storage.dmi'
@@ -49,7 +49,7 @@
openicon = "medicalcrateopen"
closedicon = "medicalcrate"
/obj/station_objects/crate/rcd
/obj/structure/crate/rcd
desc = "A crate for the storage of the RCD."
name = "RCD crate"
icon = 'storage.dmi'
@@ -58,7 +58,7 @@
openicon = "crateopen"
closedicon = "crate"
/obj/station_objects/crate/freezer
/obj/structure/crate/freezer
desc = "A freezer."
name = "Freezer"
icon = 'storage.dmi'
@@ -67,7 +67,7 @@
openicon = "freezeropen"
closedicon = "freezer"
/obj/station_objects/crate/bin
/obj/structure/crate/bin
desc = "A large bin."
name = "Large bin"
icon = 'storage.dmi'
@@ -76,7 +76,7 @@
openicon = "largebinopen"
closedicon = "largebin"
/obj/station_objects/crate/radiation
/obj/structure/crate/radiation
desc = "A crate with a radiation sign on it."
name = "Radioactive gear crate"
icon = 'storage.dmi'
@@ -87,7 +87,7 @@
/obj/item/clothing/suit/radiation
/obj/station_objects/crate/secure/weapon
/obj/structure/crate/secure/weapon
desc = "A secure weapons crate."
name = "Weapons crate"
icon = 'storage.dmi'
@@ -96,7 +96,7 @@
openicon = "weaponcrateopen"
closedicon = "weaponcrate"
/obj/station_objects/crate/secure/plasma
/obj/structure/crate/secure/plasma
desc = "A secure plasma crate."
name = "Plasma crate"
icon = 'storage.dmi'
@@ -105,7 +105,7 @@
openicon = "plasmacrateopen"
closedicon = "plasmacrate"
/obj/station_objects/crate/secure/gear
/obj/structure/crate/secure/gear
desc = "A secure gear crate."
name = "Gear crate"
icon = 'storage.dmi'
@@ -114,7 +114,7 @@
openicon = "secgearcrateopen"
closedicon = "secgearcrate"
/obj/station_objects/crate/secure/bin
/obj/structure/crate/secure/bin
desc = "A secure bin."
name = "Secure bin"
icon_state = "largebins"
@@ -125,7 +125,7 @@
sparks = "largebinsparks"
emag = "largebinemag"
/obj/station_objects/crate/secure
/obj/structure/crate/secure
desc = "A secure crate."
name = "Secure crate"
icon_state = "securecrate"
@@ -138,7 +138,7 @@
var/broken = 0
locked = 1
/obj/station_objects/crate/hydroponics
/obj/structure/crate/hydroponics
name = "Hydroponics crate"
desc = "All you need to destroy those pesky weeds and pests."
icon = 'storage.dmi'
@@ -158,7 +158,7 @@
new /obj/item/weapon/pestspray(src)
new /obj/item/weapon/pestspray(src) */
/obj/station_objects/crate/hydroponics/prespawned
/obj/structure/crate/hydroponics/prespawned
//This exists so the prespawned hydro crates spawn with their contents.
/* name = "Hydroponics crate"
desc = "All you need to destroy those pesky weeds and pests."
@@ -179,7 +179,7 @@
// new /obj/item/weapon/pestspray(src)
// new /obj/item/weapon/pestspray(src)
/obj/station_objects/crate/New()
/obj/structure/crate/New()
..()
spawn(1)
if(!opened) // if closed, any item at the crate's loc is put in the contents
@@ -187,7 +187,7 @@
if(I.density || I.anchored || I == src) continue
I.loc = src
/obj/station_objects/crate/secure/New()
/obj/structure/crate/secure/New()
..()
if(locked)
overlays = null
@@ -196,14 +196,14 @@
overlays = null
overlays += greenlight
/obj/station_objects/crate/rcd/New()
/obj/structure/crate/rcd/New()
..()
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd(src)
/obj/station_objects/crate/radiation/New()
/obj/structure/crate/radiation/New()
..()
new /obj/item/clothing/suit/radiation(src)
new /obj/item/clothing/head/radiation(src)
@@ -214,7 +214,7 @@
new /obj/item/clothing/suit/radiation(src)
new /obj/item/clothing/head/radiation(src)
/obj/station_objects/crate/proc/open()
/obj/structure/crate/proc/open()
playsound(src.loc, 'click.ogg', 15, 1, -3)
for(var/obj/O in src)
@@ -225,7 +225,7 @@
icon_state = openicon
src.opened = 1
/obj/station_objects/crate/proc/close()
/obj/structure/crate/proc/close()
playsound(src.loc, 'click.ogg', 15, 1, -3)
for(var/obj/O in get_turf(src))
if(O.density || O.anchored || O == src) continue
@@ -233,7 +233,7 @@
icon_state = closedicon
src.opened = 0
/obj/station_objects/crate/attack_hand(mob/user as mob)
/obj/structure/crate/attack_hand(mob/user as mob)
if(!locked)
if(opened) close()
else open()
@@ -241,7 +241,7 @@
user << "\red It's locked."
return
/obj/station_objects/crate/secure/attack_hand(mob/user as mob)
/obj/structure/crate/secure/attack_hand(mob/user as mob)
if(locked && allowed(user) && !broken)
user << "\blue You unlock the [src]."
src.locked = 0
@@ -249,7 +249,7 @@
overlays += greenlight
return ..()
/obj/station_objects/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/card) && src.allowed(user) && !locked && !opened && !broken)
user << "\red You lock the [src]."
src.locked = 1
@@ -269,14 +269,14 @@
return ..()
/obj/station_objects/crate/attack_paw(mob/user as mob)
/obj/structure/crate/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/station_objects/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/packageWrap))
var/obj/item/weapon/packageWrap/O = W
if (O.amount > 3)
var/obj/effects/bigDelivery/P = new /obj/effects/bigDelivery(get_turf(src.loc))
var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(src.loc))
P.wrapped = src
src.loc = P
O.amount -= 3
@@ -288,7 +288,7 @@
W.loc = src.loc
else return attack_hand(user)
/obj/station_objects/crate/secure/emp_act(severity)
/obj/structure/crate/secure/emp_act(severity)
for(var/obj/O in src)
O.emp_act(severity)
if(!broken && !opened && prob(50/severity))
@@ -312,7 +312,7 @@
..()
/obj/station_objects/crate/ex_act(severity)
/obj/structure/crate/ex_act(severity)
switch(severity)
if(1.0)
for(var/obj/O in src.contents)
+106 -118
View File
@@ -1,200 +1,188 @@
/obj/item/weapon/storage/lglo_kit/New()
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/gloves/latex(src)
..()
return
/obj/item/weapon/storage/blankbox/New()
new /obj/item/ammo_casing/shotgun/blank( src )
new /obj/item/ammo_casing/shotgun/blank( src )
new /obj/item/ammo_casing/shotgun/blank( src )
new /obj/item/ammo_casing/shotgun/blank( src )
new /obj/item/ammo_casing/shotgun/blank( src )
new /obj/item/ammo_casing/shotgun/blank( src )
new /obj/item/ammo_casing/shotgun/blank( src )
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
new /obj/item/ammo_casing/shotgun/blank(src)
..()
return
/obj/item/weapon/storage/flashbang_kit/New()
new /obj/item/weapon/flashbang( src )
new /obj/item/weapon/flashbang( src )
new /obj/item/weapon/flashbang( src )
new /obj/item/weapon/flashbang( src )
new /obj/item/weapon/flashbang( src )
new /obj/item/weapon/flashbang( src )
new /obj/item/weapon/flashbang( src )
new /obj/item/weapon/flashbang(src)
new /obj/item/weapon/flashbang(src)
new /obj/item/weapon/flashbang(src)
new /obj/item/weapon/flashbang(src)
new /obj/item/weapon/flashbang(src)
new /obj/item/weapon/flashbang(src)
new /obj/item/weapon/flashbang(src)
..()
return
/obj/item/weapon/storage/emp_kit/New()
new /obj/item/weapon/empgrenade( src )
new /obj/item/weapon/empgrenade( src )
new /obj/item/weapon/empgrenade( src )
new /obj/item/weapon/empgrenade( src )
new /obj/item/weapon/empgrenade( src )
new /obj/item/weapon/empgrenade(src)
new /obj/item/weapon/empgrenade(src)
new /obj/item/weapon/empgrenade(src)
new /obj/item/weapon/empgrenade(src)
new /obj/item/weapon/empgrenade(src)
..()
return
/obj/item/weapon/storage/stma_kit/New()
new /obj/item/clothing/mask/surgical( src )
new /obj/item/clothing/mask/surgical( src )
new /obj/item/clothing/mask/surgical( src )
new /obj/item/clothing/mask/surgical( src )
new /obj/item/clothing/mask/surgical( src )
new /obj/item/clothing/mask/surgical( src )
new /obj/item/clothing/mask/surgical( src )
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
..()
return
/obj/item/weapon/storage/gl_kit/New()
new /obj/item/clothing/glasses/regular( src )
new /obj/item/clothing/glasses/regular( src )
new /obj/item/clothing/glasses/regular( src )
new /obj/item/clothing/glasses/regular( src )
new /obj/item/clothing/glasses/regular( src )
new /obj/item/clothing/glasses/regular( src )
new /obj/item/clothing/glasses/regular( src )
..()
return
/obj/item/weapon/storage/bb_kit/New()
new /obj/item/bodybag( src )
new /obj/item/bodybag( src )
new /obj/item/bodybag( src )
new /obj/item/bodybag( src )
new /obj/item/bodybag( src )
new /obj/item/bodybag( src )
new /obj/item/bodybag( src )
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
..()
return
/obj/item/weapon/storage/trackimp_kit/New()
new /obj/item/weapon/implantcase/tracking( src )
new /obj/item/weapon/implantcase/tracking( src )
new /obj/item/weapon/implantcase/tracking( src )
new /obj/item/weapon/implantcase/tracking( src )
new /obj/item/weapon/implanter( src )
new /obj/item/weapon/implantpad( src )
new /obj/item/weapon/locator( src )
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implanter(src)
new /obj/item/weapon/implantpad(src)
new /obj/item/weapon/locator(src)
..()
return
/obj/item/weapon/storage/chemimp_kit/New()
new /obj/item/weapon/implantcase/chem( src )
new /obj/item/weapon/implantcase/chem( src )
new /obj/item/weapon/implantcase/chem( src )
new /obj/item/weapon/implantcase/chem( src )
new /obj/item/weapon/implantcase/chem( src )
new /obj/item/weapon/implanter( src )
new /obj/item/weapon/implantpad( src )
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implanter(src)
new /obj/item/weapon/implantpad(src)
..()
return
/obj/item/weapon/storage/injectbox/New()
new /obj/item/weapon/dnainjector/h2m( src )
new /obj/item/weapon/dnainjector/h2m( src )
new /obj/item/weapon/dnainjector/h2m( src )
new /obj/item/weapon/dnainjector/m2h( src )
new /obj/item/weapon/dnainjector/m2h( src )
new /obj/item/weapon/dnainjector/m2h( src )
new /obj/item/weapon/dnainjector/h2m(src)
new /obj/item/weapon/dnainjector/h2m(src)
new /obj/item/weapon/dnainjector/h2m(src)
new /obj/item/weapon/dnainjector/m2h(src)
new /obj/item/weapon/dnainjector/m2h(src)
new /obj/item/weapon/dnainjector/m2h(src)
..()
return
/obj/item/weapon/storage/fcard_kit/New()
new /obj/item/weapon/f_card( src )
new /obj/item/weapon/f_card( src )
new /obj/item/weapon/f_card( src )
new /obj/item/weapon/f_card( src )
new /obj/item/weapon/f_card( src )
new /obj/item/weapon/f_card( src )
new /obj/item/weapon/f_card( src )
new /obj/item/weapon/f_card(src)
new /obj/item/weapon/f_card(src)
new /obj/item/weapon/f_card(src)
new /obj/item/weapon/f_card(src)
new /obj/item/weapon/f_card(src)
new /obj/item/weapon/f_card(src)
new /obj/item/weapon/f_card(src)
..()
return
/obj/item/weapon/storage/id_kit/New()
new /obj/item/weapon/card/id( src )
new /obj/item/weapon/card/id( src )
new /obj/item/weapon/card/id( src )
new /obj/item/weapon/card/id( src )
new /obj/item/weapon/card/id( src )
new /obj/item/weapon/card/id( src )
new /obj/item/weapon/card/id( src )
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
..()
return
/obj/item/weapon/storage/handcuff_kit/New()
new /obj/item/weapon/handcuffs( src )
new /obj/item/weapon/handcuffs( src )
new /obj/item/weapon/handcuffs( src )
new /obj/item/weapon/handcuffs( src )
new /obj/item/weapon/handcuffs( src )
new /obj/item/weapon/handcuffs( src )
new /obj/item/weapon/handcuffs( src )
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/handcuffs(src)
..()
return
/obj/item/weapon/storage/donkpocket_kit/New()
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket( src )
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket( src )
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket( src )
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket( src )
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket( src )
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket( src )
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
..()
return
/obj/item/weapon/storage/condimentbottles/New()
new /obj/item/weapon/reagent_containers/food/condiment( src )
new /obj/item/weapon/reagent_containers/food/condiment( src )
new /obj/item/weapon/reagent_containers/food/condiment( src )
new /obj/item/weapon/reagent_containers/food/condiment( src )
new /obj/item/weapon/reagent_containers/food/condiment( src )
new /obj/item/weapon/reagent_containers/food/condiment( src )
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
..()
return
/obj/item/weapon/storage/drinkingglasses/New()
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( src )
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( src )
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( src )
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( src )
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( src )
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( src )
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
..()
return
/*
/obj/item/weapon/storage/disk_kit/disks/New()
new /obj/item/weapon/card/data( src )
new /obj/item/weapon/card/data( src )
new /obj/item/weapon/card/data( src )
new /obj/item/weapon/card/data( src )
new /obj/item/weapon/card/data( src )
new /obj/item/weapon/card/data( src )
new /obj/item/weapon/card/data( src )
new /obj/item/weapon/card/data(src)
new /obj/item/weapon/card/data(src)
new /obj/item/weapon/card/data(src)
new /obj/item/weapon/card/data(src)
new /obj/item/weapon/card/data(src)
new /obj/item/weapon/card/data(src)
new /obj/item/weapon/card/data(src)
..()
return
+1 -1
View File
@@ -39,7 +39,7 @@
desc = "It appears to be broken."
icon_state = src.icon_broken
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
+2 -2
View File
@@ -257,8 +257,8 @@
return
if ("screwed")
new /obj/effects/spawner/newbomb/timer/syndicate(src)
new /obj/effects/spawner/newbomb/timer/syndicate(src)
new /obj/effect/spawner/newbomb/timer/syndicate(src)
new /obj/effect/spawner/newbomb/timer/syndicate(src)
new /obj/item/device/powersink(src)
new /obj/item/clothing/suit/space/syndicate(src)
new /obj/item/clothing/head/helmet/space/syndicate(src)
+18 -18
View File
@@ -1,4 +1,4 @@
obj/station_objects/structure
obj/structure
icon = 'structures.dmi'
girder
@@ -15,8 +15,8 @@ obj/station_objects/structure
icon_state = "reinforced"
state = 2
/obj/station_objects/structure/girder/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/wrench) && state == 0 && anchored && !istype(src,/obj/station_objects/structure/girder/displaced))
/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/wrench) && state == 0 && anchored && !istype(src,/obj/structure/girder/displaced))
playsound(src.loc, 'Ratchet.ogg', 100, 1)
user << "\blue Now disassembling the girder"
if(do_after(user,40))
@@ -36,31 +36,31 @@ obj/station_objects/structure
new /obj/item/stack/sheet/metal(get_turf(src))
del(src)
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/station_objects/structure/girder/displaced))
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/structure/girder/displaced))
W:use(2)
user << "\blue You create a false wall! Push on it to open or close the passage."
new /obj/station_objects/falsewall (src.loc)
new /obj/structure/falsewall (src.loc)
del(src)
else if(istype(W, /obj/item/stack/sheet/r_metal) && istype(src,/obj/station_objects/structure/girder/displaced))
else if(istype(W, /obj/item/stack/sheet/r_metal) && istype(src,/obj/structure/girder/displaced))
W:use(2)
user << "\blue You create a false r wall! Push on it to open or close the passage."
new /obj/station_objects/falserwall (src.loc)
new /obj/structure/falserwall (src.loc)
del(src)
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/station_objects/structure/girder/reinforced))
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced))
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
user << "\blue Now unsecuring support struts"
if(do_after(user,40))
user << "\blue You unsecured the support struts!"
state = 1
else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/station_objects/structure/girder/reinforced) && state == 1)
else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1)
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
user << "\blue Now removing support struts"
if(do_after(user,40))
user << "\blue You removed the support struts!"
new/obj/station_objects/structure/girder( src.loc )
new/obj/structure/girder( src.loc )
del(src)
else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored )
@@ -68,7 +68,7 @@ obj/station_objects/structure
user << "\blue Now dislodging the girder"
if(do_after(user, 40))
user << "\blue You dislodged the girder!"
new/obj/station_objects/structure/girder/displaced( src.loc )
new/obj/structure/girder/displaced( src.loc )
del(src)
else if(istype(W, /obj/item/weapon/wrench) && state == 0 && !anchored )
@@ -76,7 +76,7 @@ obj/station_objects/structure
user << "\blue Now securing the girder"
if(get_turf(user, 40))
user << "\blue You secured the girder!"
new/obj/station_objects/structure/girder( src.loc )
new/obj/structure/girder( src.loc )
del(src)
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2))
@@ -105,17 +105,17 @@ obj/station_objects/structure
if (do_after(user,60))
user << "\blue Girders reinforced!"
W:use(1)
new/obj/station_objects/structure/girder/reinforced( src.loc )
new/obj/structure/girder/reinforced( src.loc )
del(src)
return
else
..()
/obj/station_objects/structure/girder/blob_act()
/obj/structure/girder/blob_act()
if(prob(40))
del(src)
/obj/station_objects/structure/girder/ex_act(severity)
/obj/structure/girder/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -138,11 +138,11 @@ obj/station_objects/structure
// LATTICE
/obj/station_objects/lattice/blob_act()
/obj/structure/lattice/blob_act()
del(src)
return
/obj/station_objects/lattice/ex_act(severity)
/obj/structure/lattice/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -155,7 +155,7 @@ obj/station_objects/structure
else
return
/obj/station_objects/lattice/attackby(obj/item/C as obj, mob/user as mob)
/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob)
if (istype(C, /obj/item/stack/tile))
+28 -28
View File
@@ -5,7 +5,7 @@ TABLE AND RACK OBJECT INTERATIONS
//TABLE
/obj/station_objects/table/ex_act(severity)
/obj/structure/table/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -21,9 +21,9 @@ TABLE AND RACK OBJECT INTERATIONS
return
/obj/station_objects/table/blob_act()
/obj/structure/table/blob_act()
if(prob(75))
if(istype(src, /obj/station_objects/table/woodentable))
if(istype(src, /obj/structure/table/woodentable))
new /obj/item/weapon/table_parts/wood( src.loc )
del(src)
return
@@ -32,26 +32,26 @@ TABLE AND RACK OBJECT INTERATIONS
return
/obj/station_objects/table/hand_p(mob/user as mob)
/obj/structure/table/hand_p(mob/user as mob)
return src.attack_paw(user)
return
/obj/station_objects/table/attack_paw(mob/user as mob)
/obj/structure/table/attack_paw(mob/user as mob)
if ((usr.mutations & HULK))
usr << text("\blue You destroy the table.")
for(var/mob/O in oviewers())
if ((O.client && !( O.blinded )))
O << text("\red [] smashes the table apart!", usr)
if(istype(src, /obj/station_objects/table/reinforced))
if(istype(src, /obj/structure/table/reinforced))
new /obj/item/weapon/table_parts/reinforced( src.loc )
else if(istype(src, /obj/station_objects/table/woodentable))
else if(istype(src, /obj/structure/table/woodentable))
new/obj/item/weapon/table_parts/wood( src.loc )
else
new /obj/item/weapon/table_parts( src.loc )
src.density = 0
del(src)
if (!( locate(/obj/station_objects/table, user.loc) ))
if (!( locate(/obj/structure/table, user.loc) ))
step(user, get_dir(user, src))
if (user.loc == src.loc)
user.layer = TURF_LAYER
@@ -62,14 +62,14 @@ TABLE AND RACK OBJECT INTERATIONS
return
/obj/station_objects/table/attack_alien(mob/user as mob) //Removed code for larva since it doesn't work. Previous code is now a larva ability. /N
/obj/structure/table/attack_alien(mob/user as mob) //Removed code for larva since it doesn't work. Previous code is now a larva ability. /N
usr << text("\green You destroy the table.")
for(var/mob/O in oviewers())
if ((O.client && !( O.blinded )))
O << text("\red [] slices the table apart!", user)
if(istype(src, /obj/station_objects/table/reinforced))
if(istype(src, /obj/structure/table/reinforced))
new /obj/item/weapon/table_parts/reinforced( src.loc )
else if(istype(src, /obj/station_objects/table/woodentable))
else if(istype(src, /obj/structure/table/woodentable))
new/obj/item/weapon/table_parts/wood( src.loc )
else
new /obj/item/weapon/table_parts( src.loc )
@@ -78,15 +78,15 @@ TABLE AND RACK OBJECT INTERATIONS
return
/obj/station_objects/table/attack_hand(mob/user as mob)
/obj/structure/table/attack_hand(mob/user as mob)
if ((usr.mutations & HULK))
usr << text("\blue You destroy the table.")
for(var/mob/O in oviewers())
if ((O.client && !( O.blinded )))
O << text("\red [] smashes the table apart!", usr)
if(istype(src, /obj/station_objects/table/reinforced))
if(istype(src, /obj/structure/table/reinforced))
new /obj/item/weapon/table_parts/reinforced( src.loc )
else if(istype(src, /obj/station_objects/table/woodentable))
else if(istype(src, /obj/structure/table/woodentable))
new/obj/item/weapon/table_parts/wood( src.loc )
else
new /obj/item/weapon/table_parts( src.loc )
@@ -95,7 +95,7 @@ TABLE AND RACK OBJECT INTERATIONS
return
/obj/station_objects/table/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
/obj/structure/table/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group || (height==0)) return 1
if(istype(mover) && mover.checkpass(PASSTABLE))
@@ -104,7 +104,7 @@ TABLE AND RACK OBJECT INTERATIONS
return 0
/obj/station_objects/table/MouseDrop_T(obj/O as obj, mob/user as mob)
/obj/structure/table/MouseDrop_T(obj/O as obj, mob/user as mob)
if ((!( istype(O, /obj/item/weapon) ) || user.equipped() != O))
return
@@ -116,7 +116,7 @@ TABLE AND RACK OBJECT INTERATIONS
return
/obj/station_objects/table/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/table/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if(G.state<2)
@@ -144,7 +144,7 @@ TABLE AND RACK OBJECT INTERATIONS
return
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
@@ -161,7 +161,7 @@ TABLE AND RACK OBJECT INTERATIONS
//WOODEN TABLES
/obj/station_objects/table/woodentable/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/table/woodentable/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
@@ -186,7 +186,7 @@ TABLE AND RACK OBJECT INTERATIONS
if(isrobot(user))
return
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
@@ -203,7 +203,7 @@ TABLE AND RACK OBJECT INTERATIONS
//REINFORCED TABLES
/obj/station_objects/table/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/table/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
@@ -256,7 +256,7 @@ TABLE AND RACK OBJECT INTERATIONS
return
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
@@ -273,7 +273,7 @@ TABLE AND RACK OBJECT INTERATIONS
//RACKS
/obj/station_objects/rack/ex_act(severity)
/obj/structure/rack/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -289,7 +289,7 @@ TABLE AND RACK OBJECT INTERATIONS
else
return
/obj/station_objects/rack/blob_act()
/obj/structure/rack/blob_act()
if(prob(75))
del(src)
return
@@ -298,14 +298,14 @@ TABLE AND RACK OBJECT INTERATIONS
src.density = 0
return
/obj/station_objects/rack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
/obj/structure/rack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group || (height==0)) return 1
if(istype(mover) && mover.checkpass(PASSTABLE))
return 1
else
return 0
/obj/station_objects/rack/MouseDrop_T(obj/O as obj, mob/user as mob)
/obj/structure/rack/MouseDrop_T(obj/O as obj, mob/user as mob)
if ((!( istype(O, /obj/item/weapon) ) || user.equipped() != O))
return
if(isrobot(user))
@@ -315,7 +315,7 @@ TABLE AND RACK OBJECT INTERATIONS
step(O, get_dir(O, src))
return
/obj/station_objects/rack/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/rack/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/weapon/rack_parts( src.loc )
playsound(src.loc, 'Ratchet.ogg', 50, 1)
@@ -328,7 +328,7 @@ TABLE AND RACK OBJECT INTERATIONS
if(W && W.loc) W.loc = src.loc
return
/obj/station_objects/rack/meteorhit(obj/O as obj)
/obj/structure/rack/meteorhit(obj/O as obj)
if(prob(75))
del(src)
return
+2 -2
View File
@@ -29,7 +29,7 @@
var/on = 0.0
w_class = 4.0
item_state = "jetpack"
var/datum/effects/system/ion_trail_follow/ion_trail
var/datum/effect/system/ion_trail_follow/ion_trail
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
//volume = 140 //jetpack sould be larger, but then it will never deplete -rastaf0
@@ -400,7 +400,7 @@
/obj/item/weapon/tank/jetpack/New()
..()
src.ion_trail = new /datum/effects/system/ion_trail_follow()
src.ion_trail = new /datum/effect/system/ion_trail_follow()
src.ion_trail.set_up(src)
src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
+3 -3
View File
@@ -139,7 +139,7 @@ CRAYONS
if("rune")
user << "You start drawing a rune on the [target.name]."
if(instant || do_after(user, 50))
new /obj/effects/decal/cleanable/crayon(target,colour,shadeColour,drawtype)
new /obj/effect/decal/cleanable/crayon(target,colour,shadeColour,drawtype)
user << "You finish drawing."
if(uses)
uses--
@@ -160,14 +160,14 @@ CRAYONS
else
..()
/obj/effects/decal/cleanable/crayon
/obj/effect/decal/cleanable/crayon
name = "rune"
desc = "A rune drawn in crayon."
icon = 'rune.dmi'
layer = 2.1
anchored = 1
/obj/effects/decal/cleanable/crayon/New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune")
/obj/effect/decal/cleanable/crayon/New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune")
..()
loc = location
+4 -4
View File
@@ -132,7 +132,7 @@
tank_two_icon = tank_two.icon_state
if(tank_one)
var/icon/I = new(src.icon, icon_state = "[tank_one_icon]")
//var/obj/effects/overlay/tank_one_overlay = new
//var/obj/effect/overlay/tank_one_overlay = new
//tank_one_overlay.icon = src.icon
//tank_one_overlay.icon_state = tank_one_icon
src.underlays += I
@@ -145,7 +145,7 @@
src.underlays += J
if(attached_device)
var/icon/K = new(src.icon, icon_state = "device")
//var/obj/effects/overlay/device_overlay = new
//var/obj/effect/overlay/device_overlay = new
//device_overlay.icon = src.icon
//device_overlay.icon_state = device_icon
src.overlays += K
@@ -198,7 +198,7 @@
/obj/station_objects/falsewall/
/obj/structure/falsewall/
attack_hand(mob/user as mob)
if(density)
// Open wall
@@ -242,7 +242,7 @@
*/
/obj/station_objects/falserwall/
/obj/structure/falserwall/
attack_hand(mob/user as mob)
if(density)
// Open wall
+27 -27
View File
@@ -1,4 +1,4 @@
/obj/effects/pressure_plate
/obj/effect/pressure_plate
name = "pressure plate"
desc = "A pressure plate that triggers a trap or a few of them."
density = 0
@@ -6,32 +6,32 @@
var/list/connected_traps = list() //actual references to the connected traps. leave empty, it is generated at runtime from connected_traps_names
var/trigger_type = "mob and obj" //can be "mob", "obj" or "mob and obj", the only moveable types
/obj/effects/pressure_plate/New()
/obj/effect/pressure_plate/New()
..()
src:visibility = 0
refresh()
/obj/effects/pressure_plate/verb/refresh()
/obj/effect/pressure_plate/verb/refresh()
set name = "Refresh Pressure Plate Links"
set category = "Object"
set src in view()
connected_traps = list() //emptying the list first
for(var/trap_name in connected_traps_names)
for(var/obj/effects/trap/the_trap in world)
for(var/obj/effect/trap/the_trap in world)
if(the_trap.name == trap_name)
connected_traps += the_trap //adding the trap with the matching name
/obj/effects/pressure_plate/HasEntered(atom/victim as mob|obj)
/obj/effect/pressure_plate/HasEntered(atom/victim as mob|obj)
if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))))
for(var/obj/effects/trap/T in connected_traps)
for(var/obj/effect/trap/T in connected_traps)
T.trigger(victim)
/obj/effects/pressure_plate/Bumped(atom/victim as mob|obj)
/obj/effect/pressure_plate/Bumped(atom/victim as mob|obj)
if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))))
for(var/obj/effects/trap/T in connected_traps)
for(var/obj/effect/trap/T in connected_traps)
T.trigger(victim)
/obj/effects/trap //has three subtypes - /aoe, /area (ie affects an entire area), /single (only the victim is affected)
/obj/effect/trap //has three subtypes - /aoe, /area (ie affects an entire area), /single (only the victim is affected)
name = "trap"
desc = "It's a trap!"
density = 0
@@ -40,33 +40,33 @@
var/target_type = "mob" //if it targets mobs, turfs or objs
var/include_dense = 1 //if it includes dense targets in the aoe (may be important for some reason). you'll probably want to change it to 1 if you target mobs or objs
/obj/effects/trap/New()
/obj/effect/trap/New()
..()
src:visibility = 0 //seriously, it keeps saying "undefined var" when I try to do it in the define
/obj/effects/trap/HasEntered(victim as mob|obj)
/obj/effect/trap/HasEntered(victim as mob|obj)
if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))
trigger(victim)
/obj/effects/trap/Bumped(victim as mob|obj)
/obj/effect/trap/Bumped(victim as mob|obj)
if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))
trigger(victim)
/obj/effects/trap/proc/trigger(victim)
/obj/effect/trap/proc/trigger(victim)
if(!uses)
return
uses--
activate(victim)
/obj/effects/trap/proc/activate()
/obj/effect/trap/proc/activate()
/obj/effects/trap/aoe
/obj/effect/trap/aoe
name = "aoe trap"
desc = "This trap affects a number of mobs, turfs or objs in an aoe"
var/aoe_radius = 3 //radius of aoe
var/aoe_range_or_view = "view" //if it includes all tiles in [radius] range or view
/obj/effects/trap/aoe/proc/picktargets()
/obj/effect/trap/aoe/proc/picktargets()
var/list/targets = list()
@@ -104,7 +104,7 @@
return targets
/obj/effects/trap/aoe/rocksfall
/obj/effect/trap/aoe/rocksfall
name = "rocks fall trap"
desc = "Your DM must really hate you."
target_type = "turf"
@@ -115,13 +115,13 @@
var/rocks_hit_chance = 100 //the chance for a rock to hit you
var/list/rocks_type = list() //what rocks might it drop on the target. with var editing, not even limited to rocks.
/obj/effects/trap/aoe/rocksfall/New()
/obj/effect/trap/aoe/rocksfall/New()
..()
rocks_type = pick_rock_types()
/obj/effects/trap/aoe/rocksfall/proc/pick_rock_types() //since we may want subtypes of the trap with completely different rock types, which is best done this way
/obj/effect/trap/aoe/rocksfall/proc/pick_rock_types() //since we may want subtypes of the trap with completely different rock types, which is best done this way
var/list/varieties = list()
@@ -132,7 +132,7 @@
return varieties
/obj/effects/trap/aoe/rocksfall/activate()
/obj/effect/trap/aoe/rocksfall/activate()
var/list/targets = list()
targets = picktargets()
@@ -156,11 +156,11 @@
hit_loc.take_organ_damage(rand(rocks_min_dmg,rocks_max_dmg))
hit_loc << "A chunk of [lowertext(rock.name)] hits you in the head!"
/obj/effects/trap/single
/obj/effect/trap/single
name = "single-target trap"
desc = "This trap targets a single movable atom, usually the one who triggered it" //usually as in I will code only those ones. if you want to add a different type of targeting, go ahead.
/obj/effects/trap/single/rockfalls
/obj/effect/trap/single/rockfalls
name = "rock falls trap"
desc = "Your DM must really hate <b>YOU</b>."
trigger_type = "mob"
@@ -169,13 +169,13 @@
var/rock_hit_chance = 100 //the chance for the rock to hit you
var/list/rocks_type = list() //what rocks might it drop on the target. with var editing, not even limited to rocks.
/obj/effects/trap/single/rockfalls/New()
/obj/effect/trap/single/rockfalls/New()
..()
rocks_type = pick_rock_types()
/obj/effects/trap/single/rockfalls/proc/pick_rock_types() //since we may want subtypes of the trap with completely different rock types, which is best done this way
/obj/effect/trap/single/rockfalls/proc/pick_rock_types() //since we may want subtypes of the trap with completely different rock types, which is best done this way
var/list/varieties = list()
@@ -186,7 +186,7 @@
return varieties
/obj/effects/trap/single/rockfalls/activate(mob/living/victim)
/obj/effect/trap/single/rockfalls/activate(mob/living/victim)
var/rock_type = pick(rocks_type)
var/obj/item/weapon/ore/rock = new rock_type(victim:loc)
if (istype(victim) && prob(rock_hit_chance))
@@ -200,11 +200,11 @@
victim.take_organ_damage(dmg)
victim << "A chunk of [lowertext(rock.name)] hits you in the head!"
/obj/effects/trap/area
/obj/effect/trap/area
name = "area trap"
desc = "This trap targets all atoms of the target_type in its area"
/obj/effects/trap/area/proc/pick_targets() //src.loc.loc should be the area
/obj/effect/trap/area/proc/pick_targets() //src.loc.loc should be the area
var/list/targets = list()
+14 -14
View File
@@ -4,8 +4,8 @@
M << "<font color='red'><b> You have been banned FOR NO REISIN by [user]<b></font>"
user << "<font color='red'> You have <b>BANNED</b> [M]</font>"
/obj/effects/mine/proc/triggerrad(obj)
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
/obj/effect/mine/proc/triggerrad(obj)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
obj:radiation += 50
@@ -14,15 +14,15 @@
spawn(0)
del(src)
/obj/effects/mine/proc/triggerstun(obj)
/obj/effect/mine/proc/triggerstun(obj)
obj:stunned += 30
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
spawn(0)
del(src)
/obj/effects/mine/proc/triggern2o(obj)
/obj/effect/mine/proc/triggern2o(obj)
//example: n2o triggerproc
//note: im lazy
@@ -42,7 +42,7 @@
spawn(0)
del(src)
/obj/effects/mine/proc/triggerplasma(obj)
/obj/effect/mine/proc/triggerplasma(obj)
for (var/turf/simulated/floor/target in range(1,src))
if(!target.blocks_air)
if(target.parent)
@@ -59,24 +59,24 @@
spawn(0)
del(src)
/obj/effects/mine/proc/triggerkick(obj)
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
/obj/effect/mine/proc/triggerkick(obj)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
del(obj:client)
spawn(0)
del(src)
/obj/effects/mine/proc/explode(obj)
/obj/effect/mine/proc/explode(obj)
explosion(loc, 0, 1, 2, 3)
spawn(0)
del(src)
/obj/effects/mine/HasEntered(AM as mob|obj)
/obj/effect/mine/HasEntered(AM as mob|obj)
Bumped(AM)
/obj/effects/mine/Bumped(mob/M as mob|obj)
/obj/effect/mine/Bumped(mob/M as mob|obj)
if(triggered) return
@@ -86,7 +86,7 @@
triggered = 1
call(src,triggerproc)(M)
/obj/effects/mine/New()
/obj/effect/mine/New()
icon_state = "uglyminearmed"
/atom/proc/ex_act()
@@ -106,8 +106,8 @@
/turf/Entered(atom/A as mob|obj)
..()
if ((A && A.density && !( istype(A, /obj/effects/beam) )))
for(var/obj/effects/beam/i_beam/I in src)
if ((A && A.density && !( istype(A, /obj/effect/beam) )))
for(var/obj/effect/beam/i_beam/I in src)
spawn( 0 )
if (I)
I.hit()
+19 -19
View File
@@ -1,4 +1,4 @@
/obj/station_objects/window/bullet_act(var/obj/item/projectile/Proj)
/obj/structure/window/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
if(health <=0)
@@ -8,7 +8,7 @@
del(src)
return
/obj/station_objects/window/ex_act(severity)
/obj/structure/window/ex_act(severity)
switch(severity)
if(1.0)
del(src)
@@ -28,12 +28,12 @@
return
return
/obj/station_objects/window/blob_act()
/obj/structure/window/blob_act()
if(reinf) new /obj/item/stack/rods( src.loc)
density = 0
del(src)
/obj/station_objects/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
/obj/structure/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(istype(mover) && mover.checkpass(PASSGLASS))
return 1
if (src.dir == SOUTHWEST || src.dir == SOUTHEAST || src.dir == NORTHWEST || src.dir == NORTHEAST)
@@ -43,14 +43,14 @@
else
return 1
/obj/station_objects/window/CheckExit(atom/movable/O as mob|obj, target as turf)
/obj/structure/window/CheckExit(atom/movable/O as mob|obj, target as turf)
if(istype(O) && O.checkpass(PASSGLASS))
return 1
if (get_dir(O.loc, target) == dir)
return 0
return 1
/obj/station_objects/window/meteorhit()
/obj/structure/window/meteorhit()
//*****RM
//world << "glass at [x],[y],[z] Mhit"
@@ -64,7 +64,7 @@
return
/obj/station_objects/window/hitby(AM as mob|obj)
/obj/structure/window/hitby(AM as mob|obj)
..()
for(var/mob/O in viewers(src, null))
@@ -89,7 +89,7 @@
..()
return
/obj/station_objects/window/attack_hand()
/obj/structure/window/attack_hand()
if ((usr.mutations & HULK))
usr << text("\blue You smash through the window.")
for(var/mob/O in oviewers())
@@ -102,7 +102,7 @@
del(src)
return
/obj/station_objects/window/attack_paw()
/obj/structure/window/attack_paw()
if ((usr.mutations & HULK))
usr << text("\blue You smash through the window.")
for(var/mob/O in oviewers())
@@ -115,7 +115,7 @@
del(src)
return
/obj/station_objects/window/attack_alien()
/obj/structure/window/attack_alien()
if (istype(usr, /mob/living/carbon/alien/larva))//Safety check for larva. /N
return
usr << text("\green You smash against the window.")
@@ -138,7 +138,7 @@
return
return
/obj/station_objects/window/attack_metroid()
/obj/structure/window/attack_metroid()
if(!istype(usr, /mob/living/carbon/metroid/adult))
return
@@ -162,7 +162,7 @@
return
return
/obj/station_objects/window/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/window/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/screwdriver))
if(reinf && state >= 1)
state = 3 - state
@@ -207,7 +207,7 @@
return
/obj/station_objects/window/verb/rotate()
/obj/structure/window/verb/rotate()
set name = "Rotate Window Counter-Clockwise"
set category = "Object"
set src in oview(1)
@@ -227,7 +227,7 @@
src.ini_dir = src.dir
return
/obj/station_objects/window/verb/revrotate()
/obj/structure/window/verb/revrotate()
set name = "Rotate Window Clockwise"
set category = "Object"
set src in oview(1)
@@ -247,7 +247,7 @@
src.ini_dir = src.dir
return
/obj/station_objects/window/proc/updateSilicate()
/obj/structure/window/proc/updateSilicate()
if(silicateIcon && silicate)
src.icon = initial(icon)
@@ -260,7 +260,7 @@
icon = I
silicateIcon = I
/obj/station_objects/window/New(Loc,re=0)
/obj/structure/window/New(Loc,re=0)
..()
if(re) reinf = re
@@ -279,7 +279,7 @@
return
/obj/station_objects/window/Del()
/obj/structure/window/Del()
density = 0
update_nearby_tiles()
@@ -287,7 +287,7 @@
playsound(src, "shatter", 70, 1)
..()
/obj/station_objects/window/Move()
/obj/structure/window/Move()
update_nearby_tiles(need_rebuild=1)
..()
@@ -297,7 +297,7 @@
return
/obj/station_objects/window/proc/update_nearby_tiles(need_rebuild)
/obj/structure/window/proc/update_nearby_tiles(need_rebuild)
if(!air_master) return 0
var/turf/simulated/source = loc