Files
Aurora.3/code/defines/obj.dm
tronaldnwn@hotmail.com 4cfd1b7d12 - Attempted to straiten up some clothing dms
- Finally got the NASA Jump suit to be spess worthy. Admins please don't spawn a billion of these.
- Jumpsuits can now be used as spess suits if you add the flag "SUITSPACE"
- Tower Caps are in the Hydro seed vending machine again, and you can get logs from them!
- Sec's vending machine has 12 donuts by default, and can spit out 2 boxes of donuts if hacked.
- Logs can to be sawed with a circular saw, makes two planks each. Otherwise can be used to get more seeds.
- Planks can be formed into wooden objects, currently just wooden tables and wooden barricades.
- Wooden barricades, they can be made from 5 planks. They cannot be moved once built. You can repair with more planks, and destroy them by bashing it (giving a few planks).
- Wooden tables now deconstruct into wooden table parts (no more transmutation of wood to metal).
- Plant scanner now lists water and nutriment level.
- Ammonia, nutriment, and diethylamine are VERY good for plant nutrient. Other types of chemicals have been altered to be more effective. Sugar causes everything to grow, weeds and pests, and plants. Cryodone is very good to save plants from poison and death, water gives a 1:1 ratio for injection, soda water is very good for plants, nutriment now works on plants (it is a fertilizer), and radium properly kills your plants slightly.

- Moved the wooden log to harvest DMI
- Added some related semi place holder sprites for wooden tables, wooden planks, and wooden barricades

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1502 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-26 00:00:56 +00:00

1093 lines
25 KiB
Plaintext

/obj
//var/datum/module/mod //not used
var/m_amt = 0 // metal
var/g_amt = 0 // glass
var/w_amt = 0 // waster amounts
var/origin_tech = null //Used by R&D to determine what research bonuses it grants.
var/reliability = 100 //Used by SOME devices to determine how reliable they are.
var/crit_fail = 0
var/unacidable = 0 //universal "unacidabliness" var, here so you can use it in any obj.
animate_movement = 2
var/throwforce = 0
proc
handle_internal_lifeform(mob/lifeform_inside_me, breath_request)
//Return: (NONSTANDARD)
// null if object handles breathing logic for lifeform
// datum/air_group to tell lifeform to process using that breath return
//DEFAULT: Take air from turf to give to have mob process
if(breath_request>0)
return remove_air(breath_request)
else
return null
initialize()
/obj/blob
name = "magma"
icon = 'blob.dmi'
icon_state = "bloba0"
var/health = 40
density = 1
opacity = 0
anchored = 1
/obj/blob/idle
name = "magma"
desc = "it looks... tasty"
icon_state = "blobidle0"
/obj/mark
var/mark = ""
icon = 'mark.dmi'
icon_state = "blank"
anchored = 1
layer = 99
mouse_opacity = 0
unacidable = 1//Just to be sure.
/obj/admins
name = "admins"
var/rank = null
var/owner = null
var/state = 1
//state = 1 for playing : default
//state = 2 for observing
/obj/bhole
name = "black hole"
icon = 'objects.dmi'
desc = "FUCK FUCK FUCK AAAHHH"
icon_state = "bhole2"
opacity = 0
unacidable = 1
density = 0
anchored = 1
var/datum/effects/system/harmless_smoke_spread/smoke
/obj/beam
name = "beam"
unacidable = 1//Just to be sure.
var/def_zone
/obj/beam/a_laser
name = "a laser"
icon = 'projectiles.dmi'
icon_state = "laser"
density = 1
var/yo = null
var/xo = null
var/current = null
var/life = 50.0
anchored = 1.0
flags = TABLEPASS
/obj/beam/i_beam
name = "i beam"
icon = 'projectiles.dmi'
icon_state = "ibeam"
var/obj/beam/i_beam/next = null
var/obj/item/device/infra/master = null
var/limit = null
var/visible = 0.0
var/left = null
anchored = 1.0
flags = TABLEPASS
/obj/bedsheetbin
name = "linen bin"
desc = "A bin for containing bedsheets."
icon = 'items.dmi'
icon_state = "bedbin"
var/amount = 23.0
anchored = 1.0
/obj/begin
name = "begin"
icon = 'stationobjs.dmi'
icon_state = "begin"
anchored = 1.0
unacidable = 1
/obj/bullet
name = "bullet"
icon = 'projectiles.dmi'
icon_state = "bullet"
density = 1
throwforce = 0.1 //an attempt to make it possible to shoot your way through space
unacidable = 1//Just to be sure.
var/yo = null
var/xo = null
var/current = null
anchored = 1.0
flags = TABLEPASS
var/def_zone
/obj/bullet/weakbullet
/obj/bullet/electrode
name = "electrode"
icon_state = "spark"
/obj/bullet/teleshot
name = "teleshot"
icon_state = "spark"
var/failchance = 5
var/obj/item/target = null
/obj/bullet/cbbolt
name = "crossbow bolt"
icon_state = "cbbolt"
/obj/bullet/neurodart
name = "acid"
icon_state = "toxin"
/obj/datacore
name = "datacore"
var/list/medical = list( )
var/list/general = list( )
var/list/security = list( )
/obj/equip_e
name = "equip e"
var/mob/source = null
var/s_loc = null
var/t_loc = null
var/obj/item/item = null
var/place = null
/obj/equip_e/human
name = "human"
var/mob/living/carbon/human/target = null
/obj/equip_e/monkey
name = "monkey"
var/mob/living/carbon/monkey/target = null
/obj/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."
name = "grille"
icon = 'structures.dmi'
icon_state = "grille"
density = 1
var/health = 10.0
var/destroyed = 0.0
anchored = 1.0
flags = FPRINT | CONDUCT
pressure_resistance = 5*ONE_ATMOSPHERE
layer = 2.9
/obj/securearea
desc = "A warning sign which reads 'SECURE AREA'"
name = "SECURE AREA"
icon = 'decals.dmi'
icon_state = "securearea"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/biohazard
desc = "A warning sign which reads 'BIOHAZARD'"
name = "BIOHAZARD"
icon = 'decals.dmi'
icon_state = "bio"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/electricshock
desc = "A warning sign which reads 'HIGH VOLTAGE'"
name = "HIGH VOLTAGE"
icon = 'decals.dmi'
icon_state = "shock"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/examroom
desc = "A guidance sign which reads 'EXAM ROOM'"
name = "EXAM"
icon = 'decals.dmi'
icon_state = "examroom"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/vacuum
desc = "A warning sign which reads 'HARD VACUUM AHEAD'"
name = "HARD VACUUM AHEAD"
icon = 'decals.dmi'
icon_state = "space"
anchored = 1.0
opacity = 0
density = 0
pixel_x = -1
pixel_y = -1
/obj/sign/fire
desc = "A warning sign which reads 'HOT! HOT! AAAH! I'M BURNING!'"
name = "HOT! HOT! AAAH! I'M BURNING!"
icon = 'decals.dmi'
icon_state = "fire"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/nosmoking_1
desc = "A warning sign which reads 'NO SMOKING'"
name = "NO SMOKING"
icon = 'decals.dmi'
icon_state = "nosmoking"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/nosmoking_2
desc = "A warning sign which reads 'NO SMOKING'"
name = "NO SMOKING"
icon = 'decals.dmi'
icon_state = "nosmoking2"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/redcross
desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here.'"
name = "Med-Bay"
icon = 'decals.dmi'
icon_state = "redcross"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/goldenplaque
desc = "To be Robust is not an action or a way of life, but a mental state. Only those with the force of Will strong enough to act during a crisis, saving friend from foe, are truly Robust. Stay Robust my friends."
name = "The Most Robust Men Award for Robustness"
icon = 'decals.dmi'
icon_state = "goldenplaque"
anchored = 1.0
opacity = 0
density = 0
/obj/item/weapon/plaque_assembly
desc = "Put this on a wall and engrave an epitaph"
name = "Plaque Assembly"
icon = 'decals.dmi'
icon_state = "goldenplaque"
/obj/item/weapon/plaque_assembly/afterattack(atom/A as mob|obj|turf|area, mob/user as mob)
if(istype(A,/turf/simulated/wall) || istype(A,/turf/simulated/shuttle/wall) || istype(A,/turf/unsimulated/wall))
var/epitaph = input("What would you like to engrave", null)
if(epitaph)
var/obj/sign/goldenplaque/gp = new/obj/sign/goldenplaque(A)
gp.name = epitaph
gp.layer = 2.9
del(src)
/obj/sign/maltesefalcon1 //The sign is 64x32, so it needs two tiles. ;3
desc = "The Maltese Falcon, Space Bar and Grill"
name = "The Maltese Falcon"
icon = 'decals.dmi'
icon_state = "maltesefalcon1"
anchored = 1.0
opacity = 0
density = 0
/obj/sign/maltesefalcon2
desc = "The Maltese Falcon, Space Bar and Grill"
name = "The Maltese Falcon"
icon = 'decals.dmi'
icon_state = "maltesefalcon2"
anchored = 1.0
opacity = 0
density = 0
/obj/hud
name = "hud"
unacidable = 1
var/mob/mymob = null
var/list/adding = null
var/list/other = null
var/list/intents = null
var/list/mov_int = null
var/list/mon_blo = null
var/list/m_ints = null
var/obj/screen/druggy = null
var/vimpaired = null
var/obj/screen/alien_view = null
var/obj/screen/g_dither = null
var/obj/screen/blurry = null
var/list/darkMask = null
var/obj/screen/station_explosion = null
var/h_type = /obj/screen
/obj/item
name = "item"
icon = 'items.dmi'
var/icon_old = null
var/abstract = 0.0
var/force = null
var/item_state = null
var/damtype = "brute"
var/r_speed = 1.0
var/health = null
var/burn_point = null
var/burning = null
var/hitsound = null
var/w_class = 3.0
flags = FPRINT | TABLEPASS
pressure_resistance = 50
var/obj/item/master = null
/obj/item/device
icon = 'device.dmi'
/obj/item/device/detective_scanner
name = "Scanner"
desc = "Used to scan objects for DNA and fingerprints"
icon_state = "forensic0"
var/amount = 20.0
var/printing = 0.0
w_class = 3.0
item_state = "electronic"
flags = FPRINT | TABLEPASS | ONBELT | CONDUCT | USEDELAY
/obj/item/device/flash
name = "flash"
icon_state = "flash"
var/l_time = 1.0
var/shots = 5.0
throwforce = 5
w_class = 1.0
throw_speed = 4
throw_range = 10
flags = FPRINT | TABLEPASS| CONDUCT
item_state = "electronic"
var/status = 1
/obj/item/device/flashlight
name = "flashlight"
desc = "A hand-held emergency light."
icon_state = "flight0"
var/on = 0
var/brightness_on = 4 //luminosity when on
var/icon_on = "flight1"
var/icon_off = "flight0"
w_class = 2
item_state = "flight"
flags = FPRINT | ONBELT | TABLEPASS | CONDUCT
m_amt = 50
g_amt = 20
/obj/item/device/flashlight/pen
name = "penlight"
desc = "A pen-sized light."
icon_state = "plight0"
flags = FPRINT | TABLEPASS | CONDUCT
item_state = ""
icon_on = "plight1"
icon_off = "plight0"
brightness_on = 3
/obj/item/device/healthanalyzer
name = "Health Analyzer"
icon_state = "health"
item_state = "analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
flags = FPRINT | ONBELT | TABLEPASS | CONDUCT
throwforce = 3
w_class = 1.0
throw_speed = 5
throw_range = 10
m_amt = 200
/obj/item/device/igniter
name = "igniter"
desc = "A small electronic device able to ignite combustable substances."
icon_state = "igniter"
var/status = 1.0
flags = FPRINT | TABLEPASS| CONDUCT
item_state = "electronic"
m_amt = 100
throwforce = 5
w_class = 1.0
throw_speed = 3
throw_range = 10
/obj/item/device/infra
name = "Infrared Beam (Security)"
desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted."
icon_state = "infrared0"
var/obj/beam/i_beam/first = null
var/state = 0.0
var/visible = 0.0
flags = FPRINT | TABLEPASS| CONDUCT
w_class = 2.0
item_state = "electronic"
m_amt = 150
/obj/item/device/infra_sensor
name = "Infrared Sensor"
desc = "Scans for infrared beams in the vicinity."
icon_state = "infra_sensor"
var/passive = 1.0
flags = FPRINT | TABLEPASS| CONDUCT
item_state = "electronic"
m_amt = 150
/obj/item/device/t_scanner
name = "T-ray scanner"
desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
icon_state = "t-ray0"
var/on = 0
flags = FPRINT|ONBELT|TABLEPASS
w_class = 2
item_state = "electronic"
m_amt = 150
/obj/item/device/multitool
name = "multitool"
icon_state = "multitool"
flags = FPRINT | TABLEPASS| CONDUCT
force = 5.0
w_class = 2.0
throwforce = 5.0
throw_range = 15
throw_speed = 3
desc = "You can use this on airlocks or APCs to try to hack them without cutting wires."
m_amt = 50
g_amt = 20
/obj/item/device/prox_sensor
name = "Proximity Sensor"
icon_state = "motion0"
var/state = 0.0
var/timing = 0.0
var/time = null
flags = FPRINT | TABLEPASS| CONDUCT
w_class = 2.0
item_state = "electronic"
m_amt = 300
/obj/item/device/shield
name = "shield"
icon_state = "shield0"
var/active = 0.0
flags = FPRINT | TABLEPASS| CONDUCT
item_state = "electronic"
throwforce = 5.0
throw_speed = 1
throw_range = 5
w_class = 2.0
/obj/item/device/timer
name = "timer"
icon_state = "timer0"
item_state = "electronic"
var/timing = 0.0
var/time = null
flags = FPRINT | TABLEPASS| CONDUCT
w_class = 2.0
m_amt = 100
/obj/item/blueprints
name = "station blueprints"
desc = "Blueprints of the station. There's stamp \"Classified\" and several coffee stains on it."
icon = 'items.dmi'
icon_state = "blueprints"
/obj/item/apc_frame
name = "APC frame"
desc = "Used for repairing or building APCs"
icon = 'apc_repair.dmi'
icon_state = "apc_frame"
flags = FPRINT | TABLEPASS| CONDUCT
/obj/landmark
name = "landmark"
icon = 'screen1.dmi'
icon_state = "x2"
anchored = 1.0
unacidable = 1
/obj/landmark/alterations
name = "alterations"
/obj/laser
name = "laser"
icon = 'projectiles.dmi'
var/damage = 0.0
var/range = 10.0
/obj/lattice
desc = "A lightweight support lattice."
name = "lattice"
icon = 'structures.dmi'
icon_state = "latticefull"
density = 0
anchored = 1.0
layer = 2.3 //under pipes
// flags = 64.0
/obj/lattice/New()
..()
if(!(istype(src.loc, /turf/space)))
del(src)
for(var/obj/lattice/LAT in src.loc)
if(LAT != src)
del(LAT)
icon = 'smoothlattice.dmi'
icon_state = "latticeblank"
updateOverlays()
for (var/dir in cardinal)
var/obj/lattice/L
if(locate(/obj/lattice, get_step(src, dir)))
L = locate(/obj/lattice, get_step(src, dir))
L.updateOverlays()
/obj/lattice/Del()
for (var/dir in cardinal)
var/obj/lattice/L
if(locate(/obj/lattice, get_step(src, dir)))
L = locate(/obj/lattice, get_step(src, dir))
L.updateOverlays(src.loc)
..()
/obj/lattice/proc/updateOverlays()
//if(!(istype(src.loc, /turf/space)))
// del(src)
spawn(1)
overlays = list()
var/dir_sum = 0
for (var/direction in cardinal)
if(locate(/obj/lattice, get_step(src, direction)))
dir_sum += direction
else
if(!(istype(get_step(src, direction), /turf/space)))
dir_sum += direction
icon_state = "lattice[dir_sum]"
return
/*
overlays += icon(icon,"lattice-middlebar") //the nw-se bar in the cneter
for (var/dir in cardinal)
if(locate(/obj/lattice, get_step(src, dir)))
src.overlays += icon(icon,"lattice-[dir2text(dir)]")
else
src.overlays += icon(icon,"lattice-nc-[dir2text(dir)]") //t for turf
if(!(istype(get_step(src, dir), /turf/space)))
src.overlays += icon(icon,"lattice-t-[dir2text(dir)]") //t for turf
//if ( !( (locate(/obj/lattice, get_step(src, SOUTH))) || (locate(/obj/lattice, get_step(src, EAST))) ))
// src.overlays += icon(icon,"lattice-c-se")
if ( !( (locate(/obj/lattice, get_step(src, NORTH))) || (locate(/obj/lattice, get_step(src, WEST))) ))
src.overlays += icon(icon,"lattice-c-nw")
if ( !( (locate(/obj/lattice, get_step(src, NORTH))) || (locate(/obj/lattice, get_step(src, EAST))) ))
src.overlays += icon(icon,"lattice-c-ne")
if ( !( (locate(/obj/lattice, get_step(src, SOUTH))) || (locate(/obj/lattice, get_step(src, WEST))) ))
src.overlays += icon(icon,"lattice-c-sw")
if(!(overlays))
icon_state = "latticefull"
*/
/obj/list_container
name = "list container"
/obj/list_container/mobl
name = "mobl"
var/master = null
var/list/container = list( )
/obj/m_tray
name = "morgue tray"
icon = 'stationobjs.dmi'
icon_state = "morguet"
density = 1
layer = 2.0
var/obj/morgue/connected = null
anchored = 1.0
/obj/c_tray
name = "crematorium tray"
icon = 'stationobjs.dmi'
icon_state = "cremat"
density = 1
layer = 2.0
var/obj/crematorium/connected = null
anchored = 1.0
/obj/cable
level = 1
anchored =1
var/netnum = 0
name = "power cable"
desc = "A flexible superconducting cable for heavy-duty power transfer."
icon = 'power_cond.dmi'
icon_state = "0-1"
var/d1 = 0
var/d2 = 1
layer = 2.5
/obj/manifest
name = "manifest"
icon = 'screen1.dmi'
icon_state = "x"
unacidable = 1//Just to be sure.
/obj/morgue
name = "morgue"
icon = 'stationobjs.dmi'
icon_state = "morgue1"
density = 1
var/obj/m_tray/connected = null
anchored = 1.0
/obj/crematorium
name = "crematorium"
desc = "A human incinerator."
icon = 'stationobjs.dmi'
icon_state = "crema1"
density = 1
var/obj/c_tray/connected = null
anchored = 1.0
var/cremating = 0
var/id = 1
var/locked = 0
/obj/mine
name = "Mine"
desc = "I Better stay away from that thing."
density = 1
anchored = 1
layer = 3
icon = 'weapons.dmi'
icon_state = "uglymine"
var/triggerproc = "explode" //name of the proc thats called when the mine is triggered
var/triggered = 0
/obj/mine/dnascramble
name = "Radiation Mine"
icon_state = "uglymine"
triggerproc = "triggerrad"
/obj/mine/plasma
name = "Plasma Mine"
icon_state = "uglymine"
triggerproc = "triggerplasma"
/obj/mine/kick
name = "Kick Mine"
icon_state = "uglymine"
triggerproc = "triggerkick"
/obj/mine/n2o
name = "N2O Mine"
icon_state = "uglymine"
triggerproc = "triggern2o"
/obj/mine/stun
name = "Stun Mine"
icon_state = "uglymine"
triggerproc = "triggerstun"
/obj/overlay
name = "overlay"
unacidable = 1
/obj/portal
name = "portal"
icon = 'stationobjs.dmi'
icon_state = "portal"
density = 1
unacidable = 1//Can't destroy energy portals.
var/failchance = 5
var/obj/item/target = null
var/creator = null
anchored = 1.0
/obj/projection
name = "Projection"
anchored = 1.0
/obj/rack
name = "rack"
icon = 'objects.dmi'
icon_state = "rack"
density = 1
flags = FPRINT
anchored = 1.0
/obj/screen
name = "screen"
icon = 'screen1.dmi'
layer = 20.0
unacidable = 1
var/id = 0.0
var/obj/master
/obj/screen/close
name = "close"
master = null
/obj/screen/grab
name = "grab"
master = null
/obj/screen/storage
name = "storage"
master = null
/obj/screen/zone_sel
name = "Damage Zone"
icon = 'zone_sel.dmi'
icon_state = "blank"
var/selecting = "chest"
screen_loc = "EAST+1,NORTH"
/obj/shut_controller
name = "shut controller"
var/moving = null
var/list/parts = list( )
/obj/landmark/start
name = "start"
icon = 'screen1.dmi'
icon_state = "x"
anchored = 1.0
/obj/stool
name = "stool"
icon = 'objects.dmi'
icon_state = "stool"
flags = FPRINT
pressure_resistance = 3*ONE_ATMOSPHERE
/obj/stool/bed
name = "bed"
icon_state = "bed"
anchored = 1.0
var/list/buckled_mobs = list( )
/obj/stool/chair
name = "chair"
icon_state = "chair"
var/status = 0.0
anchored = 1.0
var/list/buckled_mobs = list( )
/obj/stool/chair/e_chair
name = "electrified chair"
icon_state = "e_chair0"
var/atom/movable/overlay/overl = null
var/on = 0.0
var/obj/item/assembly/shock_kit/part1 = null
var/last_time = 1.0
/obj/table
name = "table"
icon = 'structures.dmi'
icon_state = "table"
density = 1
anchored = 1.0
layer = 2.8
/obj/table/onetilethick
icon_state = "table_1tilethick"
/obj/table/reinforced
name = "reinforced table"
icon_state = "reinf_table"
var/status = 2
/obj/table/reinforced/onetilethick
icon_state = "reinf_1tilethick"
/obj/table/woodentable
name = "wooden table"
icon_state = "woodentable"
/obj/mopbucket
desc = "Fill it with water, but don't forget a mop!"
name = "mop bucket"
icon = 'janitor.dmi'
icon_state = "mopbucket"
density = 1
flags = FPRINT
pressure_resistance = ONE_ATMOSPHERE
flags = FPRINT | TABLEPASS | OPENCONTAINER
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
/obj/kitchenspike
name = "a meat spike"
icon = 'kitchen.dmi'
icon_state = "spike"
desc = "A spike for collecting meat from animals"
density = 1
anchored = 1
var/meat = 0
var/occupied = 0
var/meattype = 0 // 0 - Nothing, 1 - Monkey, 2 - Xeno
/obj/displaycase
name = "Display Case"
icon = 'stationobjs.dmi'
icon_state = "glassbox1"
desc = "A display case for prized possessions."
density = 1
anchored = 1
unacidable = 1//Dissolving the case would also delete the gun.
var/health = 30
var/occupied = 1
var/destroyed = 0
/obj/showcase
name = "Showcase"
icon = 'stationobjs.dmi'
icon_state = "showcase_1"
desc = "A stand with the empty body of a cyborg bolted to it."
density = 1
anchored = 1
unacidable = 1//temporary until I decide whether the borg can be removed. -veyveyr
/obj/item/brain
name = "brain"
icon = 'surgery.dmi'
icon_state = "brain2"
flags = TABLEPASS
force = 1.0
w_class = 1.0
throwforce = 1.0
throw_speed = 3
throw_range = 5
origin_tech = "biotech=3"
var/mob/living/carbon/human/owner = null
var/mob/living/carbon/brain/brainmob = null
/obj/item/brain/New()
..()
spawn(5)
if(src.owner)
src.name = "[src.owner]'s brain"
//Shifting the brain "mob" over to the brain object so it's easier to keep track of. --NEO
brainmob = new /mob/living/carbon/brain
brainmob.loc = src
brainmob.name = owner.real_name
brainmob.real_name = owner.real_name
brainmob.dna = owner.dna
if(src.owner.mind)
src.owner.mind.transfer_to(brainmob)
brainmob.death() //the brain is dead until stuffed into an MMI. In which case it might still be dead if it's been beat up.
if(brainmob.client)
brainmob.client.screen.len = null //clear the hud
brainmob << "\blue You might feel slightly disoriented. That's normal when your brain gets cut out."
/obj/item/brain/Del()
if(src.brainmob)
if(src.brainmob.client)
var/mob/dead/observer/newmob
newmob = new/mob/dead/observer
newmob.loc = get_turf(src)
src.brainmob:client:mob = newmob
newmob:client:eye = newmob
..()
/obj/noticeboard
name = "Notice Board"
icon = 'stationobjs.dmi'
icon_state = "nboard00"
flags = FPRINT
desc = "A board for pinning important notices upon."
density = 0
anchored = 1
var/notices = 0
/obj/deskclutter
name = "desk clutter"
icon = 'items.dmi'
icon_state = "deskclutter"
desc = "Some clutter the detective has accumalated over the years..."
anchored = 1
/obj/item/mouse_drag_pointer = MOUSE_ACTIVE_POINTER
// TODO: robust mixology system! (and merge with beakers, maybe)
/obj/item/weapon/glass
name = "empty glass"
icon = 'kitchen.dmi'
icon_state = "glass_empty"
item_state = "beaker"
flags = FPRINT | TABLEPASS | OPENCONTAINER
var/datum/substance/inside = null
throwforce = 5
g_amt = 100
New()
..()
src.pixel_x = rand(-5, 5)
src.pixel_y = rand(-5, 5)
/obj/item/weapon/storage/glassbox
name = "Glassware Box"
icon_state = "beakerbox"
item_state = "syringe_kit"
New()
..()
new /obj/item/weapon/glass( src )
new /obj/item/weapon/glass( src )
new /obj/item/weapon/glass( src )
new /obj/item/weapon/glass( src )
new /obj/item/weapon/glass( src )
new /obj/item/weapon/glass( src )
new /obj/item/weapon/glass( src )
/obj/item/weapon/storage/cupbox
name = "Paper-cup Box"
icon_state = "box"
item_state = "syringe_kit"
New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
/obj/falsewall
name = "wall"
icon = 'walls.dmi'
icon_state = ""
density = 1
opacity = 1
anchored = 1
/obj/falserwall
name = "r wall"
icon = 'walls.dmi'
icon_state = "r_wall"
density = 1
opacity = 1
anchored = 1
/obj/item/stack
var/singular_name
var/amount = 1.0
var/max_amount //also see stack recipes initialisation, param "max_res_amount" must be equal to this max_amount
/obj/item/stack/rods
name = "metal rods"
singular_name = "metal rod"
icon_state = "rods"
flags = FPRINT | TABLEPASS| CONDUCT
w_class = 3.0
force = 9.0
throwforce = 15.0
throw_speed = 5
throw_range = 20
m_amt = 1875
max_amount = 60
/obj/item/stack/sheet
name = "sheet"
// var/const/length = 2.5 //2.5*1.5*0.01*100000 == 3750 == m_amt
// var/const/width = 1.5
// var/const/height = 0.01
flags = FPRINT | TABLEPASS
w_class = 3.0
max_amount = 50
var/perunit = 3750
/obj/item/stack/sheet/wood
name = "Wood Planks"
singular_name = "wood plank"
icon_state = "sheet-wood"
force = 5.0
throwforce = 5
throw_speed = 3
throw_range = 3
/obj/item/stack/sheet/glass
name = "glass"
singular_name = "glass sheet"
icon_state = "sheet-glass"
force = 5.0
g_amt = 3750
throwforce = 5
throw_speed = 3
throw_range = 3
/obj/item/stack/sheet/rglass
name = "reinforced glass"
singular_name = "reinforced glass sheet"
icon_state = "sheet-rglass"
force = 6.0
g_amt = 3750
m_amt = 1875
throwforce = 5
throw_speed = 3
throw_range = 3
/obj/item/stack/sheet/metal
name = "metal"
singular_name = "metal sheet"
desc = "A heavy sheet of metal."
icon_state = "sheet-metal"
force = 5.0
m_amt = 3750
throwforce = 14.0
throw_speed = 1
throw_range = 4
flags = FPRINT | TABLEPASS | CONDUCT
/obj/item/stack/sheet/r_metal
name = "reinforced metal"
singular_name = "reinforced metal sheet"
desc = "A very heavy sheet of metal."
icon_state = "sheet-r_metal"
item_state = "sheet-metal"
force = 5.0
m_amt = 7500
throwforce = 15.0
throw_speed = 1
throw_range = 4
flags = FPRINT | TABLEPASS | CONDUCT
/obj/item/stack/tile
name = "steel floor tile"
singular_name = "steel floor tile"
desc = "Those could work as a pretty decent throwing weapon"
icon_state = "tile"
w_class = 3.0
force = 6.0
m_amt = 937.5
throwforce = 15.0
throw_speed = 5
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT
max_amount = 60