mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-23 05:06:50 +01:00
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:
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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)*/
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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,4 +1,4 @@
|
||||
/obj/station_objects/closet/gmcloset/New()
|
||||
/obj/structure/closet/gmcloset/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/clothing/head/that(src)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,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,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,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)
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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,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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,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
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
*/
|
||||
@@ -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"])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
@@ -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]."
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user