You can now interact with belts that are not on your belt slot.

Added Security Belts, 4 slot belt that can carry basic sec gear.
The security shuttle control can now be emag'd.
Removed the old take off and stabilize verbs for the pshuttle. 
Cleaned up some computer defines.
The detective's cabinet is now a secure cabinet.
Most of the secure closets cleaned up a bit.
The captain no longer spawns with an ID box in his backpack.
RD's locker got its flash back.
Added the blob node sprites.
Removed the 2% laser resist that normal jumpsuits gave.  Normal clothing should not be blocking lasers.  Left the 10% special block on each department.
Riot suit slowdown lowered to 1 from 2.5
Repiped the right side of sec and tidied up the powerlines.
Loyalty Implanter moved into the outer rec room checkpoint.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2277 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-09-27 06:26:45 +00:00
parent d8991f9d25
commit cf0023bbb2
34 changed files with 9526 additions and 9735 deletions

View File

@@ -26,13 +26,6 @@
icon_closed = "cabinet_closed"
icon_opened = "cabinet_open"
/obj/closet/cabinet2
desc = "Old will forever be in fashion."
name = "Cabinet"
icon_state = "cabinetdet_closed"
icon_closed = "cabinetdet_closed"
icon_opened = "cabinetdet_open"
/obj/spresent
desc = "It's a ... present?"
name = "strange present"
@@ -363,7 +356,7 @@
icon_closed = "extinguisher10"
opened = 1
var/localopened = 1
desc = "Sure was nice of CentCom to install these everywhere. Foam in them would have been nicer."
desc = "A small wall mounted cabinet designed to hold a fire extinguisher."
anchored = 1
open()
@@ -373,8 +366,6 @@
return
attackby(var/obj/item/O as obj, var/mob/user as mob)
//..() don't want it to behave like a normal closet.
if (isrobot(usr))
return
if (istype(O, /obj/item/weapon/extinguisher))
@@ -466,8 +457,6 @@
icon_opened = "syndicate1open"
desc = "Tacticool Gear Closet"
// Ending of my edit. ~Sillazi
/obj/closet/thunderdome
desc = "Everything you need!"
icon_state = "syndicate"
@@ -504,98 +493,90 @@
/obj/closet/wardrobe/black
name = "Black Wardrobe"
desc = "This contains clothes which appears to be black."
desc = "Contains black jumpsuits."
icon_state = "black"
icon_closed = "black"
/obj/closet/wardrobe/chaplain_black
name = "Chaplain Wardrobe"
desc = "Closet of chaplain clothes. Looks meh."
desc = "Closet of basic chaplain clothes."
icon_state = "black"
icon_closed = "black"
/obj/closet/wardrobe/green
name = "Green Wardrobe"
desc = "Green is the new green."
desc = "Contains green jumpsuits."
icon_state = "green"
icon_closed = "green"
/obj/closet/wardrobe/mixed
name = "Mixed Wardrobe"
desc = "This appears to contain two different sets of clothing."
desc = "This appears to contain several different sets of clothing."
icon_state = "mixed"
icon_closed = "mixed"
/obj/closet/wardrobe/orange
name = "Prisoners Wardrobe"
desc = "Prisoners now wear orange. The Security Officers kept thinking the Mime was an escapee."
desc = "Contains orange jumpsuits."
icon_state = "orange"
icon_closed = "orange"
/obj/closet/wardrobe/pink
name = "Pink Wardrobe"
desc = "Closet of of soft clothing."
desc = "Contains pink jumpsuits."
icon_state = "pink"
icon_closed = "pink"
/obj/closet/wardrobe/red
name = "Red Wardrobe"
desc = "This closer appears to contain clothing which are red."
desc = "Contains red jumpsuits."
icon_state = "red"
icon_closed = "red"
/obj/closet/wardrobe/forensics_red
name = "Forensics Wardrobe"
desc = "Used by your local Forensics."
icon_state = "red"
icon_closed = "red"
/obj/closet/wardrobe/white
name = "White Wardrobe"
desc = "Basic plain white clothing. Boring..."
desc = "Contains white jumpsuits."
icon_state = "white"
icon_closed = "white"
/obj/closet/wardrobe/toxins_white
name = "Toxins Wardrobe"
desc = "Clothes for toxins."
desc = "Contains toxins jumpsuits."
icon_state = "white"
icon_closed = "white"
/obj/closet/wardrobe/genetics_white
name = "Genetics Wardrobe"
desc = "Clothes for genetics. They will need this when they are human."
desc = "Contains genetics jumpsuits."
icon_state = "white"
icon_closed = "white"
/obj/closet/wardrobe/yellow
name = "Yellow Wardrobe"
desc = "Basic yellow clothing."
desc = "Contains yellow jumpsuits."
icon_state = "wardrobe-y"
icon_closed = "wardrobe-y"
/obj/closet/wardrobe/engineering_yellow
name = "Engineering Wardrobe"
desc = "The yellow Engineers loves."
desc = "Contains engineering jumpsuits."
icon_state = "yellow"
icon_closed = "yellow"
/obj/closet/wardrobe/atmospherics_yellow
name = "Atmospherics Wardrobe"
desc = "Clothing for the most dangerous job."
desc = "Contains atmospheric jumpsuits."
icon_state = "yellow"
icon_closed = "yellow"
/obj/closet/wardrobe/grey
name = "Grey Wardrobe"
desc = "This contains the clothing of the Grey Shirts."
desc = "Contains grey jumpsuits."
icon_state = "grey"
icon_closed = "grey"
/obj/secure_closet
desc = "An immobile card-locked storage closet."
name = "Security Locker"
@@ -614,72 +595,6 @@
var/wall_mounted = 0 //never solid (You can always pass over it)
var/health = 300
/obj/secure_closet/courtroom
name = "Courtroom Locker"
req_access = list(access_court)
/obj/secure_closet/animal
name = "Animal Control"
req_access = list(access_medical)
/obj/secure_closet/brig
name = "Brig Locker"
req_access = list(access_brig)
var/id = null
/obj/secure_closet/highsec
name = "Head of Personnel"
req_access = list(access_hop)
/obj/secure_closet/hos
name = "Head Of Security"
req_access = list(access_hos)
/obj/secure_closet/injection
name = "Lethal Injections"
req_access = list(access_hos)
/obj/secure_closet/captains
name = "Captain's Closet"
req_access = list(access_captain)
/obj/secure_closet/medical1
name = "Medicine Closet"
desc = "Filled with medical junk."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medical1"
req_access = list(access_medical)
/obj/secure_closet/chemical
name = "Chemical Closet"
desc = "Store dangerous chemicals in here. This closet is full of cobwebs."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medical1"
req_access = list(access_medical)
/obj/secure_closet/medical2
name = "Anesthetic"
desc = "Used to knock people out, but who uses this trash?"
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medical1"
req_access = list(access_medical)
/obj/secure_closet/medical3
name = "Medical Doctor's Locker"
req_access = list(access_medical)
/obj/secure_closet/medical_wall
anchored = 1
name = "First Aid Closet"
@@ -693,14 +608,6 @@
req_access = list(access_medical)
wall_mounted = 1
/obj/secure_closet/RD
name = "Research Director"
req_access = list(access_rd)
/obj/secure_closet/CMO
name = "Chief Medical Officer"
req_access = list(access_cmo)
/obj/secure_closet/personal
desc = "The first card swiped gains control."
name = "Personal Closet"
@@ -708,26 +615,6 @@
/obj/secure_closet/personal/patient
name = "Patient's closet"
/obj/secure_closet/security1
name = "Security Equipment"
req_access = list(access_security)
/obj/secure_closet/security2
name = "Forensics Locker"
req_access = list(access_forensics_lockers)
/obj/secure_closet/scientist
name = "Scientist Locker"
req_access = list(access_tox_storage)
/obj/secure_closet/chemtoxin
name = "Chemistry Locker"
req_access = list(access_medical)
/obj/secure_closet/bar
name = "Booze"
req_access = list(access_bar)
/obj/secure_closet/kitchen
name = "Kitchen Cabinet"
req_access = list(access_kitchen)
@@ -763,22 +650,6 @@
icon_off = "fridge1"
req_access = list(access_heads_vault)
/obj/secure_closet/engineering_chief
name = "Chief Engineer's Locker"
req_access = list(access_ce)
/obj/secure_closet/engineering_electrical
name = "Electrical Supplies"
req_access = list(access_engine)
/obj/secure_closet/engineering_welding
name = "Welding Supplies"
req_access = list(access_engine)
/obj/secure_closet/engineering_personal
name = "Engineer's Locker"
req_access = list(access_engine)
/obj/secure_closet/wall
name = "wall locker"
req_access = list(access_security)

View File

@@ -16,7 +16,7 @@
3 = Report location
*/
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
// Colors
@@ -91,7 +91,7 @@
item_state = "w_suit"
color = "white"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/color/yellow
name = "Yellow Jumpsuit"
@@ -129,7 +129,7 @@
icon_state = "engine"
item_state = "y_suit"
color = "engine"
armor = list(melee = 0, bullet = 0, laser = 10, taser = 2, bomb = 0, bio = 0, rad = 10)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 10)
/obj/item/clothing/under/rank/forensic_technician
desc = "It has a Forensics rank stripe on it."
@@ -144,7 +144,7 @@
icon_state = "darkred"
item_state = "r_suit"
color = "darkred"
armor = list(melee = 10, bullet = 5, laser = 5, taser = 5, bomb = 5, bio = 0, rad = 0)
armor = list(melee = 10, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/security
name = "Security Jumpsuit"
@@ -152,7 +152,7 @@
icon_state = "red"
item_state = "r_suit"
color = "red"
armor = list(melee = 10, bullet = 5, laser = 5, taser = 5, bomb = 5, bio = 0, rad = 0)
armor = list(melee = 10, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/vice
name = "Vice officer Jumpsuit"
@@ -160,7 +160,7 @@
icon_state = "vice"
item_state = "gy_suit"
color = "vice"
armor = list(melee = 10, bullet = 5, laser = 5, taser = 5, bomb = 5, bio = 0, rad = 0)
armor = list(melee = 10, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/geneticist
desc = "Made of a special fiber that gives special protection against biohazards. Has a genetics rank stripe on it."
@@ -169,7 +169,7 @@
item_state = "w_suit"
color = "geneticswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/chemist
desc = "Made of a special fiber that gives special protection against biohazards. Has a chemist rank stripe on it."
@@ -178,7 +178,7 @@
item_state = "w_suit"
color = "geneticswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/head_of_personnel
desc = "It has a Head of Personnel rank stripe on it."
@@ -221,7 +221,7 @@
icon_state = "hos"
item_state = "r_suit"
color = "hosred"
armor = list(melee = 10, bullet = 5, laser = 5, taser = 5, bomb = 5, bio = 0, rad = 0)
armor = list(melee = 10, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/chief_engineer
desc = "It has a Chief Engineer rank stripe on it."
@@ -229,7 +229,7 @@
icon_state = "chiefengineer"
item_state = "g_suit"
color = "chief"
armor = list(melee = 0, bullet = 0, laser = 10, taser = 2, bomb = 0, bio = 0, rad = 10)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 10)
/obj/item/clothing/under/rank/research_director
desc = "It has a Research Director rank stripe on it."
@@ -237,14 +237,14 @@
icon_state = "director"
item_state = "g_suit"
color = "director"
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 10)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/janitor
desc = "Official clothing of the station's poopscooper. It has a janitor rank stripe on it"
name = "Janitor's Jumpsuit"
icon_state = "janitor"
color = "janitor"
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/scientist
desc = "Made of a special fiber that gives special protection against biohazards. Has a toxins rank stripe on it."
@@ -253,7 +253,7 @@
item_state = "w_suit"
color = "toxinswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 10, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 10, bio = 0, rad = 0)
/obj/item/clothing/under/rank/medical
desc = "Made of a special fiber that gives special protection against biohazards. It has a medical rank stripe on it."
@@ -262,7 +262,7 @@
item_state = "w_suit"
color = "medical"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/chief_medical_officer
desc = "Made of a special fiber that gives special protection against biohazards. Has a Chief Medical Officer rank stripe on it."
@@ -280,7 +280,7 @@
item_state = "g_suit"
color = "hydroponics"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/cargo
name = "Quartermaster's Jumpsuit"
@@ -337,7 +337,7 @@
item_state = "w_suit"
color = "genetics_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/chemist_new
desc = "Made of a special fiber that gives special protection against biohazards."
@@ -346,7 +346,7 @@
item_state = "w_suit"
color = "chemist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/scientist_new
desc = "Made of a special fiber that gives special protection against biohazards and small explosions."
@@ -355,7 +355,7 @@
item_state = "w_suit"
color = "scientist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 10, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 10, bio = 0, rad = 0)
/obj/item/clothing/under/rank/virologist_new
desc = "Made of a special fiber that gives increased protection against biohazards."
@@ -364,7 +364,7 @@
item_state = "w_suit"
color = "virologist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 15, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
// OTHER NONRANKED STATION JOBS
@@ -374,7 +374,7 @@
icon_state = "detective"
item_state = "det"
color = "detective"
armor = list(melee = 10, bullet = 5, laser = 5, taser = 5, bomb = 5, bio = 0, rad = 0)
armor = list(melee = 10, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/scratch
name = "White Suit"
@@ -398,7 +398,7 @@
item_state = "bl_suit"
color = "syndicate"
has_sensor = 0
armor = list(melee = 10, bullet = 5, laser = 5, taser = 5, bomb = 5, bio = 0, rad = 0)
armor = list(melee = 10, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/syndicate/tacticool
name = "Tacticool Turtleneck"
@@ -406,7 +406,7 @@
icon_state = "tactifool"
item_state = "bl_suit"
color = "tactifool"
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/syndicate/combat
name = "Combat Turtleneck"
@@ -489,7 +489,7 @@
item_state = "nursesuit"
color = "nursesuit"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 10, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/acj
name = "Administrative Cybernetic Jumpsuit"

View File

@@ -6,7 +6,7 @@
var/fire_resist = T0C+100
flags = FPRINT | TABLEPASS
var/list/allowed = list(/obj/item/weapon/tank/emergency_oxygen)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 2, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/bomb_suit
name = "bomb suit"
@@ -39,7 +39,7 @@
heat_transfer_coefficient = 0.30
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 1.3
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 100, rad = 20)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 100, rad = 20)
/obj/item/clothing/suit/bio_suit/general
icon_state = "bio_general"
@@ -96,7 +96,7 @@
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 50, rad = 5)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 50, rad = 5)
/obj/item/clothing/suit/labcoat/cmo
name = "chief medical officer's labcoat"
@@ -104,7 +104,7 @@
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen)
icon_state = "labcoat_cmo_open"
item_state = "labcoat_cmo"
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 55, rad = 5)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 55, rad = 5)
/obj/item/clothing/suit/labcoat/mad
name = "The Mad's labcoat"
@@ -130,7 +130,7 @@
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a green stripe on the shoulder."
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen)
icon_state = "labcoat_vir_open"
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 55, rad = 5)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 55, rad = 5)
/obj/item/clothing/suit/labcoat/science
name = "Scientist Labcoat"
@@ -212,7 +212,7 @@
icon_state = "wizard-fake"
item_state = "wizrobe"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS //It's not magic, shit is reasonable. --NEO
armor = list(melee = 5, bullet = 0, laser = 5, taser = 5, bomb = 5, bio = 5, rad = 5)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/wizrobe/marisa
name = "Witch Robe"
@@ -362,8 +362,8 @@
icon_state = "riot"
item_state = "swat_suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 2.5
armor = list(melee = 82, bullet = 5, laser = 2, taser = 2, bomb = 5, bio = 0, rad = 0)
slowdown = 1
armor = list(melee = 80, bullet = 5, laser = 5, taser = 0, bomb = 5, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/bulletproof
name = "Bulletproof Vest"
@@ -415,7 +415,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen)
slowdown = 1.3
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 60, rad = 100)
armor = list(melee = 0, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 60, rad = 100)
/obj/item/clothing/suit/fire/heavy
name = "firesuit"
@@ -477,7 +477,7 @@
icon_state = "chickensuit"
item_state = "chickensuit"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HEAD
armor = list(melee = 5, bullet = 2, laser = 2, taser = 2, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 5, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/monkeysuit
name = "Monkey Suit"
@@ -485,7 +485,7 @@
icon_state = "monkeysuit"
item_state = "monkeysuit"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HANDS
armor = list(melee = 5, bullet = 2, laser = 2, taser = 2, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 5, bullet = 0, laser = 0, taser = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/holidaypriest
name = "Holiday Priest"

View File

@@ -5,12 +5,6 @@
anchored = 1.0
var/obj/item/weapon/circuitboard/circuit = null //if circuit==null, computer can't disassemble
/*
/obj/machinery/computer/airtunnel
name = "Air Tunnel Control"
icon = 'airtunnelcomputer.dmi'
icon_state = "console00"
*/
/obj/machinery/computer/operating
name = "Operating Computer"
@@ -18,15 +12,10 @@
anchored = 1.0
icon_state = "operating"
circuit = "/obj/item/weapon/circuitboard/operating"
var/mob/living/carbon/human/victim = null
var/obj/machinery/optable/table = null
var/id = 0.0
/*
* Arcade -- An arcade cabinet.
*/
/obj/machinery/computer/arcade
name = "arcade machine"
@@ -43,41 +32,46 @@
var/gameover = 0
var/blocked = 0 //Player cannot attack/heal while set
/obj/machinery/computer/aiupload
name = "AI Upload"
desc = "It is said that you can upload silly laws to AI's with this."
desc = "Used to upload laws to the AI."
icon_state = "command"
circuit = "/obj/item/weapon/circuitboard/aiupload"
var/mob/living/silicon/ai/current = null
var/opened = 0
/obj/machinery/computer/borgupload
name = "Cyborg Upload"
desc = "Used for uploading responsible laws to Cyborg. Right..."
desc = "Used to upload laws to Cyborgs."
icon_state = "command"
circuit = "/obj/item/weapon/circuitboard/borgupload"
var/mob/living/silicon/robot/current = null
/obj/machinery/computer/atmosphere
name = "atmos"
desc = "A computer for Atmospherics."
/obj/machinery/computer/station_alert
name = "Station Alert Computer"
desc = "Alert. Alert. ALERT!!!"
desc = "Used to access the station's automated alert system."
icon_state = "alert:0"
circuit = "/obj/item/weapon/circuitboard/stationalert"
var/alarms = list("Fire"=list(), "Atmosphere"=list(), "Power"=list())
/obj/machinery/computer/atmos_alert
name = "Atmospheric Alert Computer"
desc = "Used to detect where they messed up this time."
desc = "Used to access the station's atmospheric sensors."
icon_state = "alert:0"
var/list/priority_alarms = list()
var/list/minor_alarms = list()
var/receive_frequency = 1437
/obj/machinery/computer/atmosphere
name = "atmos"
desc = "A computer for Atmospherics."
/obj/machinery/computer/atmosphere/siphonswitch
name = "Area Air Control"
desc = "Nanotrasen provided this, barely."
@@ -85,12 +79,14 @@
var/otherarea
var/area/area
/obj/machinery/computer/atmosphere/siphonswitch/mastersiphonswitch
name = "Master Air Control"
/obj/machinery/computer/card
name = "Identification Computer"
desc = "You can use this to change ID's. YOU ARE GOD!"
desc = "You can use this to change ID's."
icon_state = "id"
circuit = "/obj/item/weapon/circuitboard/card"
var/obj/item/weapon/card/id/scan = null
@@ -100,29 +96,13 @@
var/printing = null
req_access = list(access_change_ids)
//ID changing computer for CentCom.
/obj/machinery/computer/card/centcom
name = "CentCom Identification Computer"
desc = "You are the Gods's God."
circuit = "/obj/item/weapon/circuitboard/card/centcom"
req_access = list(access_cent_captain)
/obj/machinery/computer/data
name = "data"
icon_state = "aiupload"
var/list/topics = list( )
/obj/machinery/computer/data/weapon
name = "weapon"
/obj/machinery/computer/data/weapon/info
name = "Research Computer"
/obj/machinery/computer/data/weapon/log
name = "Log Computer"
/obj/machinery/computer/dna
name = "DNA operations computer"
desc = "A Computer used to advanced DNA stuff."
@@ -133,6 +113,7 @@
var/mode = null
var/temp = null
/obj/machinery/computer/hologram_comp
name = "Hologram Computer"
desc = "Rumoured to control holograms."
@@ -145,6 +126,7 @@
var/h_g = 245.0
var/h_b = 245.0
/obj/machinery/computer/med_data
name = "Medical Records"
desc = "This can be used to check medical records."
@@ -161,11 +143,13 @@
var/temp = null
var/printing = null
/obj/machinery/computer/med_data/laptop
name = "Medical Laptop"
desc = "Cheap Nanotrasen Laptop."
icon_state = "medlaptop"
/obj/machinery/computer/pod
name = "Pod Launch Control"
desc = "A controll for launching pods. Some people prefer firing Mechas."
@@ -175,19 +159,108 @@
var/timing = 0.0
var/time = 30.0
/obj/machinery/computer/pod/old
icon_state = "old"
name = "DoorMex Control Computer"
/obj/machinery/computer/pod/old/syndicate
name = "ProComp Executive IIc"
desc = "The Syndicate operate on a tight budget. Operates external airlocks."
/obj/machinery/computer/pod/old/swf
name = "Magix System IV"
desc = "An arcane artifact that holds much magic. Running E-Knock 2.2: Sorceror's Edition"
/*/obj/machinery/computer/scan_consolenew //Coming Soon
/obj/machinery/computer/secure_data
name = "Security Records"
desc = "Used to view and edit personnel's security records"
icon_state = "security"
req_access = list(access_security)
circuit = "/obj/item/weapon/circuitboard/secure_data"
var/obj/item/weapon/card/id/scan = null
var/authenticated = null
var/rank = null
var/screen = null
var/datum/data/record/active1 = null
var/datum/data/record/active2 = null
var/a_id = null
var/temp = null
var/printing = null
var/can_change_id = 0
/obj/machinery/computer/secure_data/detective_computer
icon = 'computer.dmi'
icon_state = "messyfiles"
/obj/machinery/computer/security
name = "Security Cameras"
desc = "Used to access the various cameras on the station."
icon_state = "cameras"
circuit = "/obj/item/weapon/circuitboard/security"
var/obj/machinery/camera/current = null
var/last_pic = 1.0
var/network = "SS13"
var/maplevel = 1
/obj/machinery/computer/security/telescreen
name = "Telescreen"
desc = "Used for watching an empty arena."
icon = 'stationobjs.dmi'
icon_state = "telescreen"
network = "thunder"
density = 0
circuit = null
/obj/machinery/computer/security/wooden_tv
name = "Security Cameras"
desc = "An old TV hooked into the stations camera network."
icon_state = "security_det"
/obj/machinery/computer/security/mining
name = "Outpost Cameras"
desc = "Used to access the various cameras on the outpost."
icon_state = "miningcameras"
network = "MINE"
circuit = "/obj/item/weapon/circuitboard/mining"
/obj/machinery/computer/crew
name = "Crew monitoring computer"
desc = "Used to monitor active health sensors built into most of the crew's uniforms."
icon_state = "crew"
use_power = 1
idle_power_usage = 250
active_power_usage = 500
circuit = "/obj/item/weapon/circuitboard/crew"
var/list/tracked = list( )
/obj/machinery/computer/robotics
name = "Robotics Control"
desc = "Used to remotely lockdown or detonate linked Cyborgs."
icon = 'computer.dmi'
icon_state = "robot"
req_access = list(access_robotics)
circuit = "/obj/item/weapon/circuitboard/robotics"
var/id = 0.0
var/temp = null
var/status = 0
var/timeleft = 60
var/stop = 0.0
var/screen = 0 // 0 - Main Menu, 1 - Cyborg Status, 2 - Kill 'em All! -- In text
/*/obj/machinery/computer/scan_consolenew //Coming Soon, I highly doubt this but Ill leave it here anyways
name = "DNA Modifier Access Console"
desc = "Scand DNA."
icon = 'computer.dmi'
@@ -224,101 +297,3 @@
use_power = 1
idle_power_usage = 10
active_power_usage = 400 */
/obj/machinery/computer/secure_data
name = "Security Records"
desc = "Beepsky. ARREST!!!"
icon_state = "security"
req_access = list(access_security)
circuit = "/obj/item/weapon/circuitboard/secure_data"
var/obj/item/weapon/card/id/scan = null
var/authenticated = null
var/rank = null
var/screen = null
var/datum/data/record/active1 = null
var/datum/data/record/active2 = null
var/a_id = null
var/temp = null
var/printing = null
var/can_change_id = 0
/obj/machinery/computer/secure_data/detective_computer
icon = 'computer.dmi'
icon_state = "messyfiles"
/obj/machinery/computer/security
name = "Security Cameras"
desc = "Better than Television."
icon_state = "cameras"
circuit = "/obj/item/weapon/circuitboard/security"
var/obj/machinery/camera/current = null
var/last_pic = 1.0
var/network = "SS13"
var/maplevel = 1
/obj/machinery/computer/security/telescreen
name = "Telescreen"
desc = "Used for watching an empty arena."
icon = 'stationobjs.dmi'
icon_state = "telescreen"
network = "thunder"
density = 0
circuit = null
/obj/machinery/computer/security/wooden_tv
name = "Security Cameras"
desc = "Nanotrasen gave the detective this for Noir feeling."
icon_state = "security_det"
/obj/machinery/computer/security/mining
name = "Outpost Status Display"
desc = "It's better than reality TV."
icon_state = "miningcameras"
network = "MINE"
circuit = "/obj/item/weapon/circuitboard/mining"
/obj/machinery/computer/shuttle
name = "Shuttle"
desc = "For shuttle controll."
icon_state = "shuttle"
var/auth_need = 3.0
var/list/authorized = list( )
/obj/machinery/computer/teleporter
name = "Teleporter"
desc = "Use this to set your destination...hopefully..."
icon_state = "teleport"
circuit = "/obj/item/weapon/circuitboard/teleporter"
var/obj/item/locked = null
var/id = null
/obj/machinery/computer/teleporter/security
name = "Teleporter"
desc = "Use this to set your destination...hopefully..."
icon_state = "teleport"
locked = null
id = null
/obj/machinery/computer/crew
name = "Crew monitoring computer"
icon_state = "crew"
use_power = 1
idle_power_usage = 250
active_power_usage = 500
circuit = "/obj/item/weapon/circuitboard/crew"
var/list/tracked = list( )
/obj/machinery/computer/robotics
name = "Robotics Control"
icon = 'computer.dmi'
icon_state = "robot"
req_access = list(access_robotics)
circuit = "/obj/item/weapon/circuitboard/robotics"
var/id = 0.0
var/temp = null
var/status = 0
var/timeleft = 60
var/stop = 0.0
var/screen = 0 // 0 - Main Menu, 1 - Cyborg Status, 2 - Kill 'em All! -- In text

View File

@@ -1,54 +1,3 @@
/obj/item/weapon/storage/utilitybelt
name = "utility belt"
desc = "Can hold various tools."
icon = 'belts.dmi'
icon_state = "utilitybelt"
item_state = "utility"
can_hold = list(
"/obj/item/weapon/crowbar",
"/obj/item/weapon/screwdriver",
"/obj/item/weapon/weldingtool",
"/obj/item/weapon/wirecutters",
"/obj/item/weapon/wrench",
"/obj/item/device/multitool",
"/obj/item/device/flashlight",
"/obj/item/weapon/cable_coil",
"/obj/item/device/t_scanner",
"/obj/item/device/analyzer")
flags = FPRINT | TABLEPASS | ONBELT
/obj/item/weapon/storage/utilitybelt/full/New()
..()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/weapon/cable_coil(src,30,pick("red","yellow"))
/obj/item/weapon/storage/utilitybelt/medical
name = "medical belt"
desc = "Can hold various medical equipment."
icon_state = "medicalbelt"
item_state = "medical"
can_hold = list(
"/obj/item/device/healthanalyzer",
"/obj/item/weapon/dnainjector",
"/obj/item/weapon/reagent_containers/dropper",
"/obj/item/weapon/reagent_containers/glass/beaker",
"/obj/item/weapon/reagent_containers/glass/bottle",
"/obj/item/weapon/reagent_containers/pill",
"/obj/item/weapon/reagent_containers/syringe",
"/obj/item/weapon/reagent_containers/glass/dispenser",
"/obj/item/weapon/zippo",
"/obj/item/weapon/cigpacket",
"/obj/item/weapon/storage/pill_bottle",
"/obj/item/stack/medical",
"/obj/item/device/flashlight/pen"
)
flags = FPRINT | TABLEPASS | ONBELT
/obj/item/weapon/storage/backpack
name = "backpack"
desc = "You wear this on your back and put items into it."

View File

@@ -300,9 +300,9 @@
/datum/supply_packs/mechanical
name = "Mechanical maintenance crate"
contains = list("/obj/item/weapon/storage/utilitybelt/full",
"/obj/item/weapon/storage/utilitybelt/full",
"/obj/item/weapon/storage/utilitybelt/full",
contains = list("/obj/item/weapon/storage/belt/utility/full",
"/obj/item/weapon/storage/belt/utility/full",
"/obj/item/weapon/storage/belt/utility/full",
"/obj/item/clothing/suit/hazardvest",
"/obj/item/clothing/suit/hazardvest",
"/obj/item/clothing/suit/hazardvest",

View File

@@ -319,9 +319,10 @@
temp_apc.overload_lighting()
for (var/obj/machinery/computer/prison_shuttle/temp_shuttle in world)
temp_shuttle.prison_break()
for (var/obj/secure_closet/security1/temp_closet in world)
for (var/obj/secure_closet/security/temp_closet in world)
if(istype(get_area(temp_closet), /area/prison))
temp_closet.prison_break()
temp_closet.locked = 0
temp_closet.icon_state = temp_closet.icon_closed
for (var/obj/machinery/door/airlock/security/temp_airlock in world)
if(istype(get_area(temp_airlock), /area/prison))
temp_airlock.prison_open()

View File

@@ -338,8 +338,7 @@
src.equip_if_possible(new /obj/item/device/pda/engineering(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/shoes/orange(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat(src), slot_head)
src.equip_if_possible(new /obj/item/weapon/storage/utilitybelt/full(src), slot_l_hand) //currently spawns in hand due to traitor assignment requiring a PDA to be on the belt. --Errorage
//src.equip_if_possible(new /obj/item/clothing/gloves/yellow(src), slot_gloves) removed as part of Dangercon 2011, approved by Urist_McDorf --Errorage
src.equip_if_possible(new /obj/item/weapon/storage/belt/utility/full(src), slot_l_hand)
src.equip_if_possible(new /obj/item/device/t_scanner(src), slot_r_store)
if ("Shaft Miner")
@@ -559,14 +558,13 @@
src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/box/engineer(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/radio/headset/heads/ce (src), slot_ears)
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves) //changed to black as part of dangercon 2011, approved by Urist_McDorf --Errorage
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves)
src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat/white(src), slot_head)
src.equip_if_possible(new /obj/item/weapon/storage/utilitybelt/full(src), slot_l_hand) //currently spawns in hand due to traitor assignment requiring a PDA to be on the belt. --Errorage
src.equip_if_possible(new /obj/item/weapon/storage/belt/utility/full(src), slot_l_hand)
var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(src)
CIG.light("")
src.equip_if_possible(CIG, slot_wear_mask) // sorry, no more cigar
//src.equip_if_possible(new /obj/item/clothing/glasses/meson(src), slot_glasses) Removed as part of DangerCon 2011, approved by Urist_McDorf, --Errorage
src.equip_if_possible(CIG, slot_wear_mask)
src.equip_if_possible(new /obj/item/clothing/under/rank/chief_engineer(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/device/pda/heads/ce(src), slot_belt)

View File

@@ -177,7 +177,7 @@ proc/setup_jobs()
JOB.equipment_shoes = list(/obj/item/clothing/shoes/orange,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/black)
JOB.equipment_suit = list(/obj/item/clothing/suit/hazardvest)
JOB.equipment_under = list(/obj/item/clothing/under/rank/engineer,/obj/item/clothing/under/color/yellow)
JOB.equipment_belt = list(/obj/item/weapon/storage/utilitybelt/full)
JOB.equipment_belt = list(/obj/item/weapon/storage/belt/utility/full)
JOB.equipment_back = list(/obj/item/weapon/storage/backpack/industrial,/obj/item/weapon/storage/backpack)
JOB.equipment_pda = /obj/item/device/pda/engineering
JOB.equipment_id = /obj/item/weapon/card/id

View File

@@ -1,191 +1,64 @@
/obj/machinery/computer/shuttle/attackby(var/obj/item/weapon/card/W as obj, var/mob/user as mob)
if(stat & (BROKEN|NOPOWER))
return
if ((!( istype(W, /obj/item/weapon/card) ) || !( ticker ) || emergency_shuttle.location != 1 || !( user )))
return
/obj/machinery/computer/shuttle
name = "Shuttle"
desc = "For shuttle control."
icon_state = "shuttle"
var/auth_need = 3.0
var/list/authorized = list( )
if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
if (istype(W, /obj/item/device/pda))
var/obj/item/device/pda/pda = W
W = pda.id
if (!W:access) //no access
user << "The access level of [W:registered]\'s card is not high enough. "
return
var/list/cardaccess = W:access
if(!istype(cardaccess, /list) || !cardaccess.len) //no access
user << "The access level of [W:registered]\'s card is not high enough. "
return
if(!(access_heads in W:access)) //doesn't have this access
user << "The access level of [W:registered]\'s card is not high enough. "
return 0
var/choice = alert(user, text("Would you like to (un)authorize a shortened launch time? [] authorization\s are still needed. Use abort to cancel all authorizations.", src.auth_need - src.authorized.len), "Shuttle Launch", "Authorize", "Repeal", "Abort")
switch(choice)
if("Authorize")
src.authorized -= W:registered
src.authorized += W:registered
if (src.auth_need - src.authorized.len > 0)
message_admins("[key_name_admin(user)] has authorized early shuttle launch")
log_game("[user.ckey] has authorized early shuttle launch")
world << text("\blue <B>Alert: [] authorizations needed until shuttle is launched early</B>", src.auth_need - src.authorized.len)
else
message_admins("[key_name_admin(user)] has launched the shuttle")
log_game("[user.ckey] has launched the shuttle early")
world << "\blue <B>Alert: Shuttle launch time shortened to 10 seconds!</B>"
emergency_shuttle.settimeleft(10)
//src.authorized = null
del(src.authorized)
src.authorized = list( )
if("Repeal")
src.authorized -= W:registered
world << text("\blue <B>Alert: [] authorizations needed until shuttle is launched early</B>", src.auth_need - src.authorized.len)
if("Abort")
world << "\blue <B>All authorizations to shorting time for shuttle launch have been revoked!</B>"
src.authorized.len = 0
src.authorized = list( )
else if (istype(W, /obj/item/weapon/card/emag))
var/choice = alert(user, "Would you like to launch the shuttle?","Shuttle control", "Launch", "Cancel")
switch(choice)
if("Launch")
world << "\blue <B>Alert: Shuttle launch time shortened to 10 seconds!</B>"
emergency_shuttle.settimeleft( 10 )
if("Cancel")
attackby(var/obj/item/weapon/card/W as obj, var/mob/user as mob)
if(stat & (BROKEN|NOPOWER)) return
if ((!( istype(W, /obj/item/weapon/card) ) || !( ticker ) || emergency_shuttle.location != 1 || !( user ))) return
if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
if (istype(W, /obj/item/device/pda))
var/obj/item/device/pda/pda = W
W = pda.id
if (!W:access) //no access
user << "The access level of [W:registered]\'s card is not high enough. "
return
return
var/list/cardaccess = W:access
if(!istype(cardaccess, /list) || !cardaccess.len) //no access
user << "The access level of [W:registered]\'s card is not high enough. "
return
/*
/obj/shut_controller/proc/rotate(direct)
if(!(access_heads in W:access)) //doesn't have this access
user << "The access level of [W:registered]\'s card is not high enough. "
return 0
var/SE_X = 1
var/SE_Y = 1
var/SW_X = 1
var/SW_Y = 1
var/NE_X = 1
var/NE_Y = 1
var/NW_X = 1
var/NW_Y = 1
for(var/obj/move/M in src.parts)
if (M.x < SW_X)
SW_X = M.x
if (M.x > SE_X)
SE_X = M.x
if (M.y < SW_Y)
SW_Y = M.y
if (M.y > NW_Y)
NW_Y = M.y
if (M.y > NE_Y)
NE_Y = M.y
if (M.y < SE_Y)
SE_Y = M.y
if (M.x > NE_X)
NE_X = M.x
if (M.x < NW_X)
NW_X = M.y
var/length = abs(NE_X - NW_X)
var/width = abs(NE_Y - SE_Y)
var/obj/random = pick(src.parts)
var/s_direct = null
switch(s_direct)
if(1.0)
switch(direct)
if(90.0)
var/tx = SE_X
var/ty = SE_Y
var/t_z = random.z
for(var/obj/move/M in src.parts)
M.ty = -M.x - tx
M.tx = -M.y - ty
var/T = locate(M.x, M.y, 11)
M.relocate(T)
M.ty = -M.ty
M.tx += length
//Foreach goto(374)
for(var/obj/move/M in src.parts)
M.tx += tx
M.ty += ty
var/T = locate(M.tx, M.ty, t_z)
M.relocate(T, 90)
//Foreach goto(468)
if(-90.0)
var/tx = SE_X
var/ty = SE_Y
var/t_z = random.z
for(var/obj/move/M in src.parts)
M.ty = M.x - tx
M.tx = M.y - ty
var/T = locate(M.x, M.y, 11)
M.relocate(T)
M.ty = -M.ty
M.ty += width
//Foreach goto(571)
for(var/obj/move/M in src.parts)
M.tx += tx
M.ty += ty
var/T = locate(M.tx, M.ty, t_z)
M.relocate(T, -90.0)
//Foreach goto(663)
else
else
return
*/
var/choice = alert(user, text("Would you like to (un)authorize a shortened launch time? [] authorization\s are still needed. Use abort to cancel all authorizations.", src.auth_need - src.authorized.len), "Shuttle Launch", "Authorize", "Repeal", "Abort")
switch(choice)
if("Authorize")
src.authorized -= W:registered
src.authorized += W:registered
if (src.auth_need - src.authorized.len > 0)
message_admins("[key_name_admin(user)] has authorized early shuttle launch")
log_game("[user.ckey] has authorized early shuttle launch")
world << text("\blue <B>Alert: [] authorizations needed until shuttle is launched early</B>", src.auth_need - src.authorized.len)
else
message_admins("[key_name_admin(user)] has launched the shuttle")
log_game("[user.ckey] has launched the shuttle early")
world << "\blue <B>Alert: Shuttle launch time shortened to 10 seconds!</B>"
emergency_shuttle.settimeleft(10)
//src.authorized = null
del(src.authorized)
src.authorized = list( )
/obj/machinery/computer/prison_shuttle/verb/take_off()
set category = "Object"
set name = "Launch Prison Shuttle"
set src in oview(1)
if("Repeal")
src.authorized -= W:registered
world << text("\blue <B>Alert: [] authorizations needed until shuttle is launched early</B>", src.auth_need - src.authorized.len)
if (usr.stat || usr.restrained())
if("Abort")
world << "\blue <B>All authorizations to shorting time for shuttle launch have been revoked!</B>"
src.authorized.len = 0
src.authorized = list( )
else if (istype(W, /obj/item/weapon/card/emag))
var/choice = alert(user, "Would you like to launch the shuttle?","Shuttle control", "Launch", "Cancel")
switch(choice)
if("Launch")
world << "\blue <B>Alert: Shuttle launch time shortened to 10 seconds!</B>"
emergency_shuttle.settimeleft( 10 )
if("Cancel")
return
return
src.add_fingerprint(usr)
if(!src.allowedtocall)
usr << "\red The console seems irreparably damaged!"
return
if(src.z == 3)
usr << "\red Already in transit! Please wait!"
return
var/A = locate(/area/shuttle/prison/)
for(var/mob/M in A)
M.show_message("\red Launch sequence initiated!")
spawn(0) shake_camera(M, 10, 1)
sleep(10)
if(src.z == 2) //This is the laziest proc ever
for(var/atom/movable/AM as mob|obj in A)
AM.z = 3
AM.Move()
sleep(rand(600,1800))
for(var/atom/movable/AM as mob|obj in A)
AM.z = 1
AM.Move()
else
for(var/atom/movable/AM as mob|obj in A)
AM.z = 3
AM.Move()
sleep(rand(600,1800))
for(var/atom/movable/AM as mob|obj in A)
AM.z = 2
AM.Move()
for(var/mob/M in A)
M.show_message("\red Prison shuttle has arrived at destination!")
spawn(0) shake_camera(M, 2, 1)
return
/obj/machinery/computer/prison_shuttle/verb/restabalize()
set category = "Object"
set name = "Restabilize Prison Shuttle"
set src in oview(1)
src.add_fingerprint(usr)
var/A = locate(/area/shuttle/prison/)
for(var/mob/M in A)
M.show_message("\red <B>Restabilizing prison shuttle atmosphere!</B>")

View File

@@ -1,3 +1,11 @@
/obj/machinery/computer/teleporter
name = "Teleporter"
desc = "Used to control a linked teleportation Hub and Station."
icon_state = "teleport"
circuit = "/obj/item/weapon/circuitboard/teleporter"
var/obj/item/locked = null
var/id = null
/obj/machinery/computer/teleporter/New()
src.id = text("[]", rand(1000, 9999))
..()
@@ -304,77 +312,3 @@
/atom/proc/laserhit(L as obj)
return 1
/obj/machinery/computer/data/weapon/log/New()
..()
src.topics["Super-heater"] = "This turns a can of semi-liquid plasma into a super-heated ball of plasma."
src.topics["Amplifier"] = "This increases the intensity of a laser."
src.topics["Class 11 Laser"] = "This creates a very slow laser that is capable of penetrating most objects."
src.topics["Plasma Energizer"] = "This combines super-heated plasma with a laser beam."
src.topics["Generator"] = "This controls the entire power grid."
src.topics["Mirror"] = "this can reflect LOW power lasers. HIGH power goes through it!"
src.topics["Targetting Prism"] = "This focuses a laser coming from any direction forward."
return
/obj/machinery/computer/data/weapon/log/display()
set src in oview(1)
usr << "<B>Research Log:</B>"
..()
return
/obj/machinery/computer/data/weapon/info/New()
..()
src.topics["LOG(001)"] = "System: Deployment successful"
src.topics["LOG(002)"] = "System: Safe orbit at inclination .003 established"
src.topics["LOG(003)"] = "CenCom: Attempting test fire...ALERT(001)"
src.topics["ALERT(001)"] = "System: Cannot attempt test fire"
src.topics["LOG(004)"] = "System: Airlock accessed..."
src.topics["LOG(005)"] = "System: System successfully reset...Generator engaged"
src.topics["LOG(006)"] = "Physical: Super-heater (W005) added to power grid"
src.topics["LOG(007)"] = "Physical: Amplifier (W007) added to power grid"
src.topics["LOG(008)"] = "Physical: Plasma Energizer (W006) added to power grid"
src.topics["LOG(009)"] = "Physical: Laser (W004) added to power grid"
src.topics["LOG(010)"] = "Physical: Laser test firing"
src.topics["LOG(011)"] = "Physical: Plasma added to Super-heater"
src.topics["LOG(012)"] = "Physical: Orient N12.525,E22.124"
src.topics["LOG(013)"] = "System: Location N12.525,E22.124"
src.topics["LOG(014)"] = "Physical: Test fire...successful"
src.topics["LOG(015)"] = "Physical: Airlock accessed..."
src.topics["LOG(016)"] = "******: Disable locater systems"
src.topics["LOG(017)"] = "System: Locater Beacon-Disengaged,CenCom link-Cut...ALERT(002)"
src.topics["ALERT(002)"] = "System: Cannot seem to establish contact with Central Command"
src.topics["LOG(018)"] = "******: Shutting down all systems...ALERT(003)"
src.topics["ALERT(003)"] = "System: Power grid failure-Activating back-up power...ALERT(004)"
src.topics["ALERT(004)"] = "System: Engine failure...All systems deactivated."
return
/obj/machinery/computer/data/weapon/info/display()
set src in oview(1)
usr << "<B>Research Information:</B>"
..()
return
/obj/machinery/computer/data/verb/display()
set name = "Display"
set category = "Object"
set src in oview(1)
for(var/x in src.topics)
usr << text("[], \...", x)
usr << ""
src.add_fingerprint(usr)
return
/obj/machinery/computer/data/verb/read(topic as text)
set name = "Read"
set category = "Object"
set src in oview(1)
if (src.topics[text("[]", topic)])
usr << text("<B>[]</B>\n\t []", topic, src.topics[text("[]", topic)])
else
usr << text("Unable to find- []", topic)
src.add_fingerprint(usr)
return

View File

@@ -58,7 +58,7 @@
if(prob(70))
new /obj/item/device/t_scanner(src)
if(prob(20))
new /obj/item/weapon/storage/utilitybelt(src)
new /obj/item/weapon/storage/belt/utility(src)
if(prob(30))
new /obj/item/weapon/cable_coil(src)
if(prob(30))

View File

@@ -1,7 +1,3 @@
/obj/closet/gimmick/New()
..()
sleep(2)
/obj/closet/gimmick/russian/New()
..()
sleep(2)

View File

@@ -1,10 +0,0 @@
/obj/secure_closet/animal/New()
..()
sleep(2)
new /obj/item/device/radio/signaler( src )
new /obj/item/device/radio/electropack( src )
new /obj/item/device/radio/electropack( src )
new /obj/item/device/radio/electropack( src )
new /obj/item/device/radio/electropack( src )
new /obj/item/device/radio/electropack( src )
return

View File

@@ -1,14 +1,19 @@
/obj/secure_closet/bar/New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
return
/obj/secure_closet/bar
name = "Booze"
req_access = list(access_bar)
New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
return

View File

@@ -1,6 +0,0 @@
/obj/secure_closet/brig/New()
new /obj/item/clothing/under/color/orange( src )
new /obj/item/clothing/under/color/orange( src )
new /obj/item/clothing/shoes/orange( src )
new /obj/item/clothing/shoes/orange( src )
return

View File

@@ -1,16 +0,0 @@
/obj/secure_closet/captains/New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/food/drinks/flask(src)
new /obj/item/device/radio/headset/heads/captain( src )
new /obj/item/weapon/gun/energy( src )
new /obj/item/weapon/storage/id_kit( src )
new /obj/item/clothing/under/rank/captain( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/clothing/glasses/sunglasses( src )
new /obj/item/clothing/suit/armor/vest( src )
new /obj/item/clothing/head/helmet/swat( src )
new /obj/item/clothing/suit/captunic( src )
new /obj/item/clothing/head/helmet/cap( src )
new /obj/item/clothing/gloves/captain( src )
return

View File

@@ -1,6 +0,0 @@
/obj/secure_closet/chemtoxin/New()
..()
sleep(2)
new /obj/item/weapon/storage/pillbottlebox(src)
new /obj/item/weapon/storage/pillbottlebox(src)
return

View File

@@ -1,15 +0,0 @@
/obj/secure_closet/courtroom/New()
..()
sleep(2)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/pen (src)
new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/clothing/under/lawyer/red(src)
new /obj/item/clothing/under/lawyer/blue(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/weapon/storage/briefcase(src)
return

View File

@@ -1,59 +1,78 @@
/obj/secure_closet/engineering_chief/New()
..()
sleep(2)
new /obj/item/blueprints( src )
new /obj/item/device/radio/headset/heads/ce( src )
new /obj/item/clothing/under/rank/chief_engineer( src )
new /obj/item/clothing/gloves/yellow( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/weapon/storage/toolbox/mechanical( src )
//new /obj/item/clothing/shoes/magboots( src ) Moved to RIG suit rack --errorage
//new /obj/item/clothing/ears/earmuffs( src ) useless --errorage
//new /obj/item/clothing/glasses/meson( src ) Moved to his desk --errorage
//new /obj/item/clothing/suit/fire/firefighter( src )
new /obj/item/clothing/suit/hazardvest( src )
new /obj/item/clothing/mask/gas( src )
new /obj/item/clothing/head/helmet/welding( src )
new /obj/item/clothing/head/helmet/hardhat/white( src )
new /obj/item/device/multitool( src )
new /obj/item/device/flash( src )
return
/obj/secure_closet/engineering_chief
name = "Chief Engineer's Locker"
req_access = list(access_ce)
/obj/secure_closet/engineering_electrical/New()
..()
sleep(2)
new /obj/item/clothing/gloves/yellow( src )
new /obj/item/clothing/gloves/yellow( src )
//new /obj/item/clothing/gloves/yellow( src ) --Part of DangerCon 2011, approved by Urist_McDorf, --Errorage
new /obj/item/weapon/storage/toolbox/electrical( src )
new /obj/item/weapon/storage/toolbox/electrical( src )
new /obj/item/weapon/storage/toolbox/electrical( src )
new /obj/item/device/multitool( src )
new /obj/item/device/multitool( src )
new /obj/item/device/multitool( src )
return
/obj/secure_closet/engineering_welding/New()
..()
sleep(2)
new /obj/item/clothing/head/helmet/welding( src )
new /obj/item/clothing/head/helmet/welding( src )
new /obj/item/clothing/head/helmet/welding( src )
new /obj/item/weapon/weldingtool/largetank( src )
new /obj/item/weapon/weldingtool/largetank( src )
new /obj/item/weapon/weldingtool/largetank( src )
return
New()
..()
sleep(2)
new /obj/item/blueprints(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/suit/hazardvest(src)
new /obj/item/clothing/head/helmet/hardhat/white(src)
new /obj/item/clothing/head/helmet/welding(src)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/heads/ce(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/device/multitool(src)
new /obj/item/device/flash(src)
return
/obj/secure_closet/engineering_personal/New()
..()
sleep(2)
new /obj/item/weapon/storage/toolbox/mechanical( src )
new /obj/item/device/radio/headset/headset_eng( src )
new /obj/item/clothing/under/rank/engineer( src )
new /obj/item/clothing/shoes/orange( src )
new /obj/item/clothing/suit/hazardvest( src )
new /obj/item/clothing/mask/gas( src )
//new /obj/item/clothing/head/helmet/hardhat( src ) engineers now spawn with them --Errorage
//new /obj/item/clothing/ears/earmuffs( src ) useless --Errorage
new /obj/item/clothing/glasses/meson( src )
return
/obj/secure_closet/engineering_electrical
name = "Electrical Supplies"
req_access = list(access_engine)
New()
..()
sleep(2)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
return
/obj/secure_closet/engineering_welding
name = "Welding Supplies"
req_access = list(access_engine)
New()
..()
sleep(2)
new /obj/item/clothing/head/helmet/welding(src)
new /obj/item/clothing/head/helmet/welding(src)
new /obj/item/clothing/head/helmet/welding(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
return
/obj/secure_closet/engineering_personal
name = "Engineer's Locker"
req_access = list(access_engine)
New()
..()
sleep(2)
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/suit/hazardvest(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson(src)
return

View File

@@ -1,61 +1,126 @@
/obj/secure_closet/medical1/New()
..()
sleep(2)
//new /obj/item/weapon/storage/gl_kit( src )
//new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin( src )
new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin( src )
new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin( src )
//new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline( src )
new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline( src )
new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline( src )
//new /obj/item/weapon/reagent_containers/glass/bottle/stoxin( src )
//new /obj/item/weapon/reagent_containers/glass/bottle/stoxin( src )
//new /obj/item/weapon/reagent_containers/glass/bottle/toxin( src )
new /obj/item/weapon/storage/syringes( src )
new /obj/item/weapon/reagent_containers/dropper( src )
new /obj/item/weapon/reagent_containers/dropper( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
return
/obj/secure_closet/medical1
name = "Medicine Closet"
desc = "Filled with medical junk."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medical1"
req_access = list(access_medical)
/obj/secure_closet/medical2/New()
..()
sleep(2)
new /obj/item/weapon/tank/anesthetic( src )
new /obj/item/weapon/tank/anesthetic( src )
new /obj/item/weapon/tank/anesthetic( src )
new /obj/item/clothing/mask/medical( src )
new /obj/item/clothing/mask/medical( src )
new /obj/item/clothing/mask/medical( src )
return
/obj/secure_closet/medical3/New()
..()
sleep(2)
new /obj/item/clothing/under/rank/medical( src )
new /obj/item/clothing/suit/labcoat( src )
new /obj/item/clothing/shoes/white( src )
new /obj/item/weapon/storage/backpack/medic( src )
new /obj/item/clothing/mask/breath( src )
new /obj/item/weapon/cartridge/medical( src )
new /obj/item/device/radio/headset/headset_med( src )
new /obj/item/weapon/storage/utilitybelt/medical( src )
new /obj/item/clothing/under/rank/nursesuit ( src )
new /obj/item/clothing/head/nursehat ( src )
return
New()
..()
sleep(2)
new /obj/item/weapon/storage/syringes(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/weapon/reagent_containers/glass/beaker(src)
new /obj/item/weapon/reagent_containers/glass/beaker(src)
new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
return
/obj/secure_closet/CMO/New()
..()
sleep(2)
new /obj/item/clothing/suit/labcoat/cmo( src )
new /obj/item/clothing/under/rank/chief_medical_officer( src )
new /obj/item/clothing/suit/bio_suit/cmo( src )
new /obj/item/clothing/shoes/brown ( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/head/bio_hood/general( src )
new /obj/item/clothing/suit/labcoat(src)
new /obj/item/clothing/mask/gas( src )
new /obj/item/device/radio/headset/heads/cmo( src )
new /obj/item/clothing/under/rank/nursesuit ( src )
new /obj/item/clothing/head/nursehat ( src )
return
/obj/secure_closet/medical2
name = "Anesthetic"
desc = "Used to knock people out."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medical1"
req_access = list(access_medical)
New()
..()
sleep(2)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/weapon/tank/anesthetic(src)
new /obj/item/clothing/mask/medical(src)
new /obj/item/clothing/mask/medical(src)
new /obj/item/clothing/mask/medical(src)
return
/obj/secure_closet/medical3
name = "Medical Doctor's Locker"
req_access = list(access_medical)
New()
..()
sleep(2)
new /obj/item/weapon/storage/backpack/medic(src)
new /obj/item/clothing/under/rank/nursesuit (src)
new /obj/item/clothing/head/nursehat (src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/suit/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/device/radio/headset/headset_med(src)
new /obj/item/weapon/storage/belt/medical(src)
return
/obj/secure_closet/CMO
name = "Chief Medical Officer"
req_access = list(access_cmo)
New()
..()
sleep(2)
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/general(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
new /obj/item/clothing/suit/labcoat/cmo(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/shoes/brown (src)
new /obj/item/device/radio/headset/heads/cmo(src)
return
/obj/secure_closet/animal
name = "Animal Control"
req_access = list(access_medical)
New()
..()
sleep(2)
new /obj/item/device/radio/signaler(src)
new /obj/item/device/radio/electropack(src)
new /obj/item/device/radio/electropack(src)
new /obj/item/device/radio/electropack(src)
return
/obj/secure_closet/chemical
name = "Chemical Closet"
desc = "Store dangerous chemicals in here."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medical1"
req_access = list(access_medical)
New()
..()
sleep(2)
new /obj/item/weapon/storage/pillbottlebox(src)
new /obj/item/weapon/storage/pillbottlebox(src)
return

View File

@@ -1,27 +1,37 @@
/obj/secure_closet/scientist/New()
..()
sleep(2)
new /obj/item/device/radio/headset/headset_sci( src )
new /obj/item/weapon/tank/air( src )
new /obj/item/clothing/mask/gas( src )
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/under/rank/scientist( src )
new /obj/item/clothing/shoes/white( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/head/bio_hood/general( src )
new /obj/item/clothing/suit/labcoat(src)
return
/obj/secure_closet/scientist
name = "Scientist Locker"
req_access = list(access_tox_storage)
/obj/secure_closet/RD/New()
..()
sleep(2)
new /obj/item/device/radio/headset/heads/rd( src )
new /obj/item/clothing/under/rank/research_director( src )
new /obj/item/weapon/tank/air( src )
new /obj/item/clothing/mask/gas( src )
new /obj/item/clothing/suit/bio_suit/scientist( src )
new /obj/item/clothing/shoes/white( src )
new /obj/item/clothing/gloves/latex( src )
new /obj/item/clothing/head/bio_hood/scientist( src )
new /obj/item/clothing/suit/labcoat(src)
return
New()
..()
sleep(2)
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/suit/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/device/radio/headset/headset_sci(src)
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
return
/obj/secure_closet/RD
name = "Research Director"
req_access = list(access_rd)
New()
..()
sleep(2)
new /obj/item/clothing/suit/bio_suit/scientist(src)
new /obj/item/clothing/head/bio_hood/scientist(src)
new /obj/item/clothing/under/rank/research_director(src)
new /obj/item/clothing/suit/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/device/radio/headset/heads/rd(src)
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/device/flash(src)
return

View File

@@ -1,73 +1,181 @@
/obj/secure_closet/security1/New()
..()
sleep(2)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/weapon/flashbang(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/gun/energy/taser(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/weapon/melee/baton(src)
return
/obj/secure_closet/security1/proc/prison_break()
src.locked = 0
src.icon_state = src.icon_closed
/obj/secure_closet/captains
name = "Captain's Closet"
req_access = list(access_captain)
/obj/secure_closet/security2/New()
..()
sleep(2)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/clothing/under/det( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/clothing/head/det_hat( src )
new /obj/item/clothing/suit/det_suit( src )
new /obj/item/clothing/suit/det_suit/armor( src )
new /obj/item/weapon/storage/fcard_kit( src )
new /obj/item/clothing/gloves/black( src )
new /obj/item/weapon/storage/lglo_kit( src )
new /obj/item/weapon/fcardholder( src )
new /obj/item/weapon/clipboard( src )
new /obj/item/device/detective_scanner( src )
return
New()
..()
sleep(2)
new /obj/item/clothing/suit/captunic( src )
new /obj/item/clothing/head/helmet/cap( src )
new /obj/item/clothing/under/rank/captain( src )
new /obj/item/clothing/suit/armor/vest( src )
new /obj/item/clothing/gloves/captain( src )
new /obj/item/clothing/head/helmet/swat( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/device/radio/headset/heads/captain( src )
new /obj/item/weapon/reagent_containers/food/drinks/flask(src)
new /obj/item/weapon/gun/energy( src )
return
/obj/secure_closet/highsec/New()
..()
sleep(2)
new /obj/item/device/radio/headset/heads/hop( src )
new /obj/item/weapon/gun/energy( src )
new /obj/item/device/flash( src )
new /obj/item/weapon/storage/id_kit( src )
new /obj/item/clothing/under/rank/head_of_personnel( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/clothing/glasses/sunglasses( src )
new /obj/item/clothing/suit/armor/vest( src )
new /obj/item/clothing/head/helmet( src )
return
/obj/secure_closet/hos/New()
..()
sleep(2)
new /obj/item/device/radio/headset/heads/hos(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/gun/energy( src )
new /obj/item/device/flash( src )
new /obj/item/clothing/under/rank/head_of_security( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/clothing/glasses/sunglasses/sechud( src )
new /obj/item/clothing/suit/armor/hos( src )
new /obj/item/clothing/head/helmet( src )
new /obj/item/weapon/storage/flashbang_kit(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/melee/baton(src)
return
/obj/secure_closet/injection/New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/ld50_syringe/choral ( src )
new /obj/item/weapon/reagent_containers/ld50_syringe/choral ( src )
return
/obj/secure_closet/hop
name = "Head of Personnel"
req_access = list(access_hop)
New()
..()
sleep(2)
new /obj/item/clothing/under/rank/head_of_personnel(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/device/radio/headset/heads/hop(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/storage/id_kit(src)
new /obj/item/weapon/storage/id_kit( src )
new /obj/item/weapon/gun/energy(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/glasses/sunglasses(src)
return
/obj/secure_closet/hos
name = "Head Of Security"
req_access = list(access_hos)
New()
..()
sleep(2)
new /obj/item/clothing/under/rank/head_of_security(src)
new /obj/item/clothing/suit/armor/hos(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/device/radio/headset/heads/hos(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/gun/energy(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/weapon/storage/flashbang_kit(src)
new /obj/item/weapon/melee/baton(src)
return
/obj/secure_closet/warden
name = "Warden's Locker"
req_access = list(access_armory)
New()
..()
sleep(2)
new /obj/item/clothing/under/rank/warden(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet/warden(src)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/weapon/storage/flashbang_kit(src)
new /obj/item/weapon/melee/baton(src)
new /obj/item/weapon/gun/energy/taser(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
return
/obj/secure_closet/security
name = "Security Locker"
req_access = list(access_security)
New()
..()
sleep(2)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/weapon/flashbang(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/melee/baton(src)
new /obj/item/weapon/gun/energy/taser(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
return
/obj/secure_closet/detective
name = "Detective"
req_access = list(access_forensics_lockers)
icon_state = "cabinetdetective"
icon_closed = "cabinetdetective"
icon_locked = "cabinetdetective_locked"
icon_opened = "cabinetdetective_open"
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
New()
..()
sleep(2)
new /obj/item/clothing/under/det(src)
new /obj/item/clothing/suit/det_suit/armor(src)
new /obj/item/clothing/suit/det_suit(src)
new /obj/item/clothing/gloves/black(src)
new /obj/item/clothing/head/det_hat(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/weapon/storage/fcard_kit(src)
new /obj/item/weapon/fcardholder(src)
new /obj/item/weapon/clipboard(src)
new /obj/item/device/detective_scanner(src)
return
/obj/secure_closet/injection
name = "Lethal Injections"
req_access = list(access_hos)
New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src)
new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src)
return
/obj/secure_closet/brig
name = "Brig Locker"
req_access = list(access_brig)
var/id = null
New()
new /obj/item/clothing/under/color/orange( src )
new /obj/item/clothing/under/color/orange( src )
new /obj/item/clothing/shoes/orange( src )
new /obj/item/clothing/shoes/orange( src )
return
/obj/secure_closet/courtroom
name = "Courtroom Locker"
req_access = list(access_court)
New()
..()
sleep(2)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/paper/Court (src)
new /obj/item/weapon/pen (src)
new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/weapon/storage/briefcase(src)
return

View File

@@ -168,20 +168,3 @@
new /obj/item/clothing/suit/lawyer/purpjacket(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/black(src)
/obj/closet/cabinet/New()
..()
sleep(2)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/clothing/under/det( src )
new /obj/item/clothing/shoes/brown( src )
new /obj/item/clothing/head/det_hat( src )
new /obj/item/clothing/suit/det_suit( src )
new /obj/item/clothing/suit/det_suit/armor( src )
new /obj/item/weapon/storage/fcard_kit( src )
new /obj/item/clothing/gloves/black( src )
new /obj/item/weapon/storage/lglo_kit( src )
new /obj/item/weapon/fcardholder( src )
new /obj/item/weapon/clipboard( src )
new /obj/item/device/detective_scanner( src )
return

View File

@@ -109,15 +109,7 @@
//..()
if (usr.stat)
return
if (\
!(\
issilicon(usr) || \
(\
usr.contents.Find(src) || \
( in_range(src, usr) && istype(loc, /turf) )\
)\
)\
)
if (!(issilicon(usr) || (usr.contents.Find(src) || ( in_range(src, usr) && istype(loc, /turf) ))))
usr << browse(null, "window=radio")
return
usr.machine = src
@@ -186,7 +178,7 @@
add_fingerprint(usr)
/obj/item/device/radio/talk_into(mob/M as mob, message, channel)
var/datum/radio_frequency/connection = null // Code shared by Mport2004 for Security Headsets -- TLE
var/datum/radio_frequency/connection = null
if(channel && channels && channels.len > 0)
if (channel == "department")
//world << "DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\""

View File

@@ -0,0 +1,115 @@
/obj/item/weapon/storage/belt
name = "belt"
desc = "Can hold various things."
icon = 'belts.dmi'
icon_state = "utilitybelt"
item_state = "utility"
flags = FPRINT | TABLEPASS | ONBELT
proc/can_use()
if(!ismob(loc)) return 0
var/mob/M = loc
if(src in M.get_equipped_items())
return 1
else
return 0
MouseDrop(obj/over_object as obj, src_location, over_location)
var/mob/M = usr
if(!istype(over_object, /obj/screen))
return ..()
playsound(src.loc, "rustle", 50, 1, -5)
if (!M.restrained() && !M.stat && can_use())
if (over_object.name == "r_hand")
if (!( M.r_hand ))
M.u_equip(src)
M.r_hand = src
else
if (over_object.name == "l_hand")
if (!( M.l_hand ))
M.u_equip(src)
M.l_hand = src
M.update_clothing()
src.add_fingerprint(usr)
return
attack_hand(mob/user as mob)
src.add_fingerprint(user)
if(src.loc == user)
playsound(src.loc, "rustle", 50, 1, -5)
if (user.s_active)
user.s_active.close(user)
src.show_to(user)
else
return ..()
/obj/item/weapon/storage/belt/utility
name = "utility belt"
desc = "Can hold various tools."
icon_state = "utilitybelt"
item_state = "utility"
can_hold = list(
"/obj/item/weapon/crowbar",
"/obj/item/weapon/screwdriver",
"/obj/item/weapon/weldingtool",
"/obj/item/weapon/wirecutters",
"/obj/item/weapon/wrench",
"/obj/item/device/multitool",
"/obj/item/device/flashlight",
"/obj/item/weapon/cable_coil",
"/obj/item/device/t_scanner",
"/obj/item/device/analyzer")
/obj/item/weapon/storage/belt/utility/full/New()
..()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/weapon/cable_coil(src,30,pick("red","yellow"))
/obj/item/weapon/storage/belt/medical
name = "medical belt"
desc = "Can hold various medical equipment."
icon_state = "medicalbelt"
item_state = "medical"
can_hold = list(
"/obj/item/device/healthanalyzer",
"/obj/item/weapon/dnainjector",
"/obj/item/weapon/reagent_containers/dropper",
"/obj/item/weapon/reagent_containers/glass/beaker",
"/obj/item/weapon/reagent_containers/glass/bottle",
"/obj/item/weapon/reagent_containers/pill",
"/obj/item/weapon/reagent_containers/syringe",
"/obj/item/weapon/reagent_containers/glass/dispenser",
"/obj/item/weapon/zippo",
"/obj/item/weapon/cigpacket",
"/obj/item/weapon/storage/pill_bottle",
"/obj/item/stack/medical",
"/obj/item/device/flashlight/pen"
)
/obj/item/weapon/storage/belt/security
name = "security belt"
desc = "Can hold security gear like handcuffs and flashes."
icon_state = "securitybelt"
item_state = "security"//Could likely use a better one.
storage_slots = 4
can_hold = list(
"/obj/item/weapon/flashbang",
"/obj/item/weapon/handcuffs",
"/obj/item/device/flash",
"/obj/item/clothing/glasses",
"/obj/item/ammo_casing/shotgun",
"/obj/item/ammo_magazine"
)

View File

@@ -328,63 +328,3 @@
return
////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/storage/utilitybelt/proc/can_use()
if(!ismob(loc)) return 0
var/mob/M = loc
if(src in M.get_equipped_items())
return 1
else
return 0
/obj/item/weapon/storage/utilitybelt/dropped(mob/user as mob)
..()
/obj/item/weapon/storage/utilitybelt/MouseDrop(obj/over_object as obj, src_location, over_location)
var/mob/M = usr
if (!istype(over_object, /obj/screen))
if(can_use())
return ..()
else
M << "\red I need to wear the belt for that."
return
playsound(src.loc, "rustle", 50, 1, -5)
if (!M.restrained() && !M.stat && can_use())
if (over_object.name == "r_hand")
if (!( M.r_hand ))
M.u_equip(src)
M.r_hand = src
else
if (over_object.name == "l_hand")
if (!( M.l_hand ))
M.u_equip(src)
M.l_hand = src
M.update_clothing()
src.add_fingerprint(usr)
return
/obj/item/weapon/storage/utilitybelt/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/item/weapon/storage/utilitybelt/attack_hand(mob/user as mob)
if (src.loc == user)
if(can_use())
playsound(src.loc, "rustle", 50, 1, -5)
if (user.s_active)
user.s_active.close(user)
src.show_to(user)
else
user << "\red I need to wear the belt for that."
return
else
return ..()
src.add_fingerprint(user)
/obj/item/weapon/storage/utilitybelt/attackby(obj/item/weapon/W as obj, mob/user as mob)
//..() //This will make it impossible to wrap the belt in wrapping paper, but will enable them to work as intended once more.
if(!can_use())
user << "\red I need to wear the belt for that."
return
else
..()

View File

@@ -20,208 +20,198 @@ var/prison_shuttle_timeleft = 0
var/allowedtocall = 0
var/prison_break = 0
/proc/prison_process()
while(prison_shuttle_time - world.timeofday > 0)
var/ticksleft = prison_shuttle_time - world.timeofday
if(ticksleft > 1e5)
prison_shuttle_time = world.timeofday + 10 // midnight rollover
prison_shuttle_timeleft = (ticksleft / 10)
sleep(5)
prison_shuttle_moving_to_station = 0
prison_shuttle_moving_to_prison = 0
switch(prison_shuttle_at_station)
if(0)
prison_shuttle_at_station = 1
if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
return
var/area/start_location = locate(/area/shuttle/prison/prison)
var/area/end_location = locate(/area/shuttle/prison/station)
var/list/dstturfs = list()
var/throwy = world.maxy
for(var/turf/T in end_location)
dstturfs += T
if(T.y < throwy)
throwy = T.y
// hey you, get out of the way!
for(var/turf/T in dstturfs)
// find the turf to move things to
var/turf/D = locate(T.x, throwy - 1, 1)
//var/turf/E = get_step(D, SOUTH)
for(var/atom/movable/AM as mob|obj in T)
AM.Move(D)
if(istype(T, /turf/simulated))
del(T)
start_location.move_contents_to(end_location)
if(1)
prison_shuttle_at_station = 0
if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
return
var/area/start_location = locate(/area/shuttle/prison/station)
var/area/end_location = locate(/area/shuttle/prison/prison)
var/list/dstturfs = list()
var/throwy = world.maxy
for(var/turf/T in end_location)
dstturfs += T
if(T.y < throwy)
throwy = T.y
// hey you, get out of the way!
for(var/turf/T in dstturfs)
// find the turf to move things to
var/turf/D = locate(T.x, throwy - 1, 1)
//var/turf/E = get_step(D, SOUTH)
for(var/atom/movable/AM as mob|obj in T)
AM.Move(D)
if(istype(T, /turf/simulated))
del(T)
start_location.move_contents_to(end_location)
/proc/prison_can_move()
if(prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return 0
else return 1
/obj/machinery/computer/prison_shuttle/attackby(I as obj, user as mob)
return src.attack_hand(user)
/obj/machinery/computer/prison_shuttle/attack_ai(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/prison_shuttle/attack_paw(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/prison_shuttle/attackby(I as obj, user as mob)
if(istype(I,/obj/item/weapon/card/emag))
user << "\blue Nothing happens."
else
attackby(I as obj, user as mob)
return src.attack_hand(user)
/obj/machinery/computer/prison_shuttle/attack_hand(var/mob/user as mob)
if(!src.allowed(user))
user << "\red Access Denied."
attack_ai(var/mob/user as mob)
return src.attack_hand(user)
attack_paw(var/mob/user as mob)
return src.attack_hand(user)
attackby(I as obj, user as mob)
if(istype(I,/obj/item/weapon/card/emag) && (!hacked))
hacked = 1
user << "\blue You disable the lock."
else
return src.attack_hand(user)
attack_hand(var/mob/user as mob)
if(!src.allowed(user) && (!hacked))
user << "\red Access Denied."
return
if(prison_break)
user << "\red Unable to locate shuttle."
return
if(..())
return
user.machine = src
post_signal("prison")
var/dat
if (src.temp)
dat = src.temp
else
dat += {"<BR><B>Prison Shuttle</B><HR>
\nLocation: [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "Moving to station ([prison_shuttle_timeleft] Secs.)":prison_shuttle_at_station ? "Station":"Dock"]<BR>
[prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "\n*Shuttle already called*<BR>\n<BR>":prison_shuttle_at_station ? "\n<A href='?src=\ref[src];sendtodock=1'>Send to Dock</A><BR>\n<BR>":"\n<A href='?src=\ref[src];sendtostation=1'>Send to station</A><BR>\n<BR>"]
\n<A href='?src=\ref[user];mach_close=computer'>Close</A>"}
user << browse(dat, "window=computer;size=575x450")
onclose(user, "computer")
return
if(prison_break)
user << "\red Unable to locate shuttle."
return
if(..())
return
user.machine = src
post_signal("prison")
var/dat
if (src.temp)
dat = src.temp
else
dat += {"<BR><B>Prison Shuttle</B><HR>
\nLocation: [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "Moving to station ([prison_shuttle_timeleft] Secs.)":prison_shuttle_at_station ? "Station":"Dock"]<BR>
[prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "\n*Shuttle already called*<BR>\n<BR>":prison_shuttle_at_station ? "\n<A href='?src=\ref[src];sendtodock=1'>Send to Dock</A><BR>\n<BR>":"\n<A href='?src=\ref[src];sendtostation=1'>Send to station</A><BR>\n<BR>"]
\n<A href='?src=\ref[user];mach_close=computer'>Close</A>"}
user << browse(dat, "window=computer;size=575x450")
onclose(user, "computer")
return
/obj/machinery/computer/prison_shuttle/Topic(href, href_list)
if(..())
return
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
usr.machine = src
if (href_list["sendtodock"])
if(!prison_shuttle_at_station|| prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
Topic(href, href_list)
if(..())
return
post_signal("prison")
usr << "\blue The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."
src.temp += "Shuttle sent.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
src.updateUsrDialog()
prison_shuttle_moving_to_prison = 1
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
else if (href_list["sendtostation"])
if(prison_shuttle_at_station || prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
return
post_signal("prison")
usr << "\blue The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."
src.temp += "Shuttle sent.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
src.updateUsrDialog()
prison_shuttle_moving_to_station = 1
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
else if (href_list["mainmenu"])
src.temp = null
src.add_fingerprint(usr)
src.updateUsrDialog()
return
/obj/machinery/computer/prison_shuttle/proc/prison_break()
switch(prison_break)
if (0)
if(!prison_shuttle_at_station || prison_shuttle_moving_to_prison) return
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
usr.machine = src
if (href_list["sendtodock"])
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
return
if(!prison_shuttle_at_station|| prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
post_signal("prison")
usr << "\blue The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."
src.temp += "Shuttle sent.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
src.updateUsrDialog()
prison_shuttle_moving_to_prison = 1
prison_shuttle_at_station = prison_shuttle_at_station
if (!prison_shuttle_moving_to_prison || !prison_shuttle_moving_to_station)
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
prison_break = 1
if(1)
prison_break = 0
/obj/machinery/computer/prison_shuttle/proc/post_signal(var/command)
else if (href_list["sendtostation"])
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
return
if(prison_shuttle_at_station || prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
post_signal("prison")
usr << "\blue The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."
src.temp += "Shuttle sent.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
src.updateUsrDialog()
prison_shuttle_moving_to_station = 1
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
var/datum/radio_frequency/frequency = radio_controller.return_frequency(1311)
else if (href_list["mainmenu"])
src.temp = null
if(!frequency) return
src.add_fingerprint(usr)
src.updateUsrDialog()
return
var/datum/signal/status_signal = new
status_signal.source = src
status_signal.transmission_method = 1
status_signal.data["command"] = command
frequency.post_signal(src, status_signal)
proc/prison_can_move()
if(prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return 0
else return 1
proc/prison_break()
switch(prison_break)
if (0)
if(!prison_shuttle_at_station || prison_shuttle_moving_to_prison) return
prison_shuttle_moving_to_prison = 1
prison_shuttle_at_station = prison_shuttle_at_station
if (!prison_shuttle_moving_to_prison || !prison_shuttle_moving_to_station)
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
prison_break = 1
if(1)
prison_break = 0
proc/post_signal(var/command)
var/datum/radio_frequency/frequency = radio_controller.return_frequency(1311)
if(!frequency) return
var/datum/signal/status_signal = new
status_signal.source = src
status_signal.transmission_method = 1
status_signal.data["command"] = command
frequency.post_signal(src, status_signal)
return
proc/prison_process()
while(prison_shuttle_time - world.timeofday > 0)
var/ticksleft = prison_shuttle_time - world.timeofday
if(ticksleft > 1e5)
prison_shuttle_time = world.timeofday + 10 // midnight rollover
prison_shuttle_timeleft = (ticksleft / 10)
sleep(5)
prison_shuttle_moving_to_station = 0
prison_shuttle_moving_to_prison = 0
switch(prison_shuttle_at_station)
if(0)
prison_shuttle_at_station = 1
if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
return
var/area/start_location = locate(/area/shuttle/prison/prison)
var/area/end_location = locate(/area/shuttle/prison/station)
var/list/dstturfs = list()
var/throwy = world.maxy
for(var/turf/T in end_location)
dstturfs += T
if(T.y < throwy)
throwy = T.y
// hey you, get out of the way!
for(var/turf/T in dstturfs)
// find the turf to move things to
var/turf/D = locate(T.x, throwy - 1, 1)
//var/turf/E = get_step(D, SOUTH)
for(var/atom/movable/AM as mob|obj in T)
AM.Move(D)
if(istype(T, /turf/simulated))
del(T)
start_location.move_contents_to(end_location)
if(1)
prison_shuttle_at_station = 0
if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if (!prison_can_move())
usr << "\red The prison shuttle is unable to leave."
return
var/area/start_location = locate(/area/shuttle/prison/station)
var/area/end_location = locate(/area/shuttle/prison/prison)
var/list/dstturfs = list()
var/throwy = world.maxy
for(var/turf/T in end_location)
dstturfs += T
if(T.y < throwy)
throwy = T.y
// hey you, get out of the way!
for(var/turf/T in dstturfs)
// find the turf to move things to
var/turf/D = locate(T.x, throwy - 1, 1)
//var/turf/E = get_step(D, SOUTH)
for(var/atom/movable/AM as mob|obj in T)
AM.Move(D)
if(istype(T, /turf/simulated))
del(T)
start_location.move_contents_to(end_location)
return