From d91ea514d95aadbe48646eed2a0b421bb218a81e Mon Sep 17 00:00:00 2001 From: "johnsonmt88@gmail.com" Date: Wed, 5 Sep 2012 22:44:48 +0000 Subject: [PATCH] More file structuring. closet.dm, costume.dm, decal.dm and window.dm have been knocked out of the define folder and their defines have been moved into appropriate files. The closet folder has been re-organized a little. supplypacks.dm has been moved into the datums folder since that's what it is. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4627 316c924e-a436-60f5-8080-3fe189b3f50e --- code/{defines/obj => datums}/supplypacks.dm | 0 code/defines/obj/closet.dm | 474 ------------------ code/defines/obj/costume.dm | 139 ----- code/defines/obj/decal.dm | 310 ------------ code/defines/obj/window.dm | 40 -- .../effects/decals/Cleanable/aliens.dm | 61 +++ .../effects/decals/Cleanable/humans.dm | 74 +++ .../objects/effects/decals/Cleanable/misc.dm | 117 +++++ .../effects/decals/Cleanable/robots.dm | 57 +++ code/game/objects/effects/decals/blood.dm | 64 --- code/game/objects/effects/decals/cleanable.dm | 7 + code/game/objects/effects/decals/misc.dm | 13 + code/game/objects/effects/decals/remains.dm | 23 + code/game/objects/effects/landmarks.dm | 138 ++++- code/game/objects/effects/misc.dm | 8 + .../structures/crates_lockers/closets.dm | 17 + .../crates_lockers/closets/bombsuit.dm | 15 - .../crates_lockers/closets/coffin.dm | 12 + .../crates_lockers/closets/crittercrate.dm | 6 + .../crates_lockers/closets/emergency.dm | 37 -- .../crates_lockers/closets/firecloset.dm | 78 --- .../closets/{fitnesscloset.dm => fitness.dm} | 30 ++ .../crates_lockers/closets/gimmick.dm | 113 ++++- .../crates_lockers/closets/gmcloset.dm | 13 - .../crates_lockers/closets/janitor.dm | 16 - .../crates_lockers/closets/job_closets.dm | 75 +++ .../crates_lockers/closets/l3closet.dm | 37 ++ .../crates_lockers/closets/malfunction.dm | 7 + .../crates_lockers/closets/nuclear.dm | 24 - .../closets/{kitchen.dm => secure/freezer.dm} | 0 .../crates_lockers/closets/secure/medical.dm | 28 +- .../crates_lockers/closets/secure/personal.dm | 32 +- .../closets/secure/secure_closets.dm | 18 + .../crates_lockers/closets/secure/security.dm | 26 + .../crates_lockers/closets/syndicate.dm | 39 ++ .../crates_lockers/closets/thunderdome.dm | 47 -- .../crates_lockers/closets/utility_closets.dm | 221 ++++++++ .../crates_lockers/closets/wardrobe.dm | 149 ++++-- code/game/objects/structures/window.dm | 35 ++ tgstation.dme | 246 ++++++++- 40 files changed, 1536 insertions(+), 1310 deletions(-) rename code/{defines/obj => datums}/supplypacks.dm (100%) delete mode 100644 code/defines/obj/closet.dm delete mode 100644 code/defines/obj/costume.dm delete mode 100644 code/defines/obj/decal.dm delete mode 100644 code/defines/obj/window.dm create mode 100644 code/game/objects/effects/decals/Cleanable/aliens.dm create mode 100644 code/game/objects/effects/decals/Cleanable/humans.dm create mode 100644 code/game/objects/effects/decals/Cleanable/misc.dm create mode 100644 code/game/objects/effects/decals/Cleanable/robots.dm delete mode 100644 code/game/objects/effects/decals/blood.dm create mode 100644 code/game/objects/effects/decals/cleanable.dm create mode 100644 code/game/objects/effects/decals/misc.dm create mode 100644 code/game/objects/effects/decals/remains.dm create mode 100644 code/game/objects/effects/misc.dm delete mode 100644 code/game/objects/structures/crates_lockers/closets/bombsuit.dm create mode 100644 code/game/objects/structures/crates_lockers/closets/coffin.dm create mode 100644 code/game/objects/structures/crates_lockers/closets/crittercrate.dm delete mode 100644 code/game/objects/structures/crates_lockers/closets/emergency.dm delete mode 100644 code/game/objects/structures/crates_lockers/closets/firecloset.dm rename code/game/objects/structures/crates_lockers/closets/{fitnesscloset.dm => fitness.dm} (58%) delete mode 100644 code/game/objects/structures/crates_lockers/closets/gmcloset.dm delete mode 100644 code/game/objects/structures/crates_lockers/closets/janitor.dm create mode 100644 code/game/objects/structures/crates_lockers/closets/job_closets.dm delete mode 100644 code/game/objects/structures/crates_lockers/closets/nuclear.dm rename code/game/objects/structures/crates_lockers/closets/{kitchen.dm => secure/freezer.dm} (100%) delete mode 100644 code/game/objects/structures/crates_lockers/closets/thunderdome.dm create mode 100644 code/game/objects/structures/crates_lockers/closets/utility_closets.dm diff --git a/code/defines/obj/supplypacks.dm b/code/datums/supplypacks.dm similarity index 100% rename from code/defines/obj/supplypacks.dm rename to code/datums/supplypacks.dm diff --git a/code/defines/obj/closet.dm b/code/defines/obj/closet.dm deleted file mode 100644 index 1e9d9c91d83..00000000000 --- a/code/defines/obj/closet.dm +++ /dev/null @@ -1,474 +0,0 @@ -/obj/structure/closet - name = "closet" - desc = "It's a basic storage unit." - icon = 'icons/obj/closet.dmi' - icon_state = "closed" - density = 1 - flags = FPRINT - var/icon_closed = "closed" - var/icon_opened = "open" - var/opened = 0 - var/welded = 0 - var/wall_mounted = 0 //never solid (You can always pass over it) - var/health = 100 - var/lastbang - var/storage_capacity = 20 //This is so that someone can't pack hundreds of items in a locker/crate - //then open it in a populated area to crash clients. - -/obj/structure/closet/acloset - name = "strange closet" - desc = "It looks alien!" - icon_state = "acloset" - icon_closed = "acloset" - icon_opened = "aclosetopen" - -/obj/structure/closet/cabinet - name = "cabinet" - desc = "Old will forever be in fashion." - icon_state = "cabinet_closed" - icon_closed = "cabinet_closed" - icon_opened = "cabinet_open" - -/obj/structure/closet/cabinet/update_icon() - if(!opened) - icon_state = icon_closed - else - icon_state = icon_opened - - -/obj/effect/spresent - name = "strange present" - desc = "It's a ... present?" - icon = 'icons/obj/items.dmi' - icon_state = "strangepresent" - density = 1 - anchored = 0 - -/obj/structure/closet/gmcloset - name = "formal closet" - desc = "It's a storage unit for formal clothing." - icon_state = "black" - icon_closed = "black" - -/obj/structure/closet/emcloset - name = "emergency closet" - desc = "It's a storage unit for emergency breathmasks and o2 tanks." - icon_state = "emergency" - icon_closed = "emergency" - icon_opened = "emergencyopen" - -/obj/structure/closet/emcloset/legacy - -/obj/structure/closet/firecloset - name = "fire-safety closet" - desc = "It's a storage unit for fire-fighting supplies." - icon_state = "firecloset" - icon_closed = "firecloset" - icon_opened = "fireclosetopen" - -/obj/structure/closet/firecloset/update_icon() - if(!opened) - icon_state = icon_closed - else - icon_state = icon_opened - -/obj/structure/closet/hydrant //wall mounted fire closet - name = "fire-safety closet" - desc = "It's a storage unit for fire-fighting supplies." - icon_state = "hydrant" - icon_closed = "hydrant" - icon_opened = "hydrant_open" - anchored = 1 - density = 0 - wall_mounted = 1 - -/obj/structure/closet/medical_wall //wall mounted medical closet - name = "first-aid closet" - desc = "It's wall-mounted storage unit for first aid supplies." - icon_state = "medical_wall" - icon_closed = "medical_wall" - icon_opened = "medical_wall_open" - anchored = 1 - density = 0 - wall_mounted = 1 - -/obj/structure/closet/medical_wall/update_icon() - if(!opened) - icon_state = icon_closed - else - icon_state = icon_opened - -/obj/structure/closet/toolcloset - name = "tool closet" - desc = "It's a storage unit for tools." - icon_state = "toolcloset" - icon_closed = "toolcloset" - icon_opened = "toolclosetopen" - -/obj/structure/closet/radiation - name = "radiation suit closet" - desc = "It's a storage unit for rad-protective suits." - icon_state = "radsuitcloset" - icon_opened = "toolclosetopen" - icon_closed = "radsuitcloset" - -/obj/structure/closet/jcloset - name = "custodial closet" - desc = "It's a storage unit for janitorial clothes and gear." - icon_state = "mixed" - icon_closed = "mixed" - -/obj/structure/closet/lawcloset - name = "legal closet" - desc = "It's a storage unit for courtroom apparel and items." - icon_state = "blue" - icon_closed = "blue" - -/obj/structure/closet/boxinggloves - name = "boxing gloves" - desc = "It's a storage unit for gloves for use in the boxing ring." - -/obj/structure/closet/masks - name = "mask closet" - desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!" - -/obj/structure/closet/lasertag/red - name = "red laser tag equipment" - desc = "It's a storage unit for laser tag equipment." - icon_state = "red" - icon_closed = "red" - -/obj/structure/closet/lasertag/blue - name = "blue laser tag equipment" - desc = "It's a storage unit for laser tag equipment." - icon_state = "blue" - icon_closed = "blue" - -/obj/structure/closet/athletic_mixed - name = "athletic wardrobe" - desc = "It's a storage unit for athletic wear." - icon_state = "mixed" - icon_closed = "mixed" - -/obj/structure/closet/coffin - name = "coffin" - desc = "It's a burial receptacle for the dearly departed." - icon_state = "coffin" - icon_closed = "coffin" - icon_opened = "coffin_open" - -/obj/structure/closet/coffin/update_icon() - if(!opened) - icon_state = icon_closed - else - icon_state = icon_opened - -/obj/structure/closet/bombcloset - name = "\improper EOD closet" - desc = "It's a storage unit for explosion-protective suits." - icon_state = "bombsuit" - icon_closed = "bombsuit" - icon_opened = "bombsuitopen" - -/obj/structure/closet/bombclosetsecurity - name = "\improper EOD closet" - desc = "It's a storage unit for explosion-protective suits." - icon_state = "bombsuitsec" - icon_closed = "bombsuitsec" - icon_opened = "bombsuitsecopen" - -/obj/structure/closet/l3closet - name = "level-3 biohazard suit closet" - desc = "It's a storage unit for level-3 biohazard gear." - icon_state = "bio" - icon_closed = "bio" - icon_opened = "bioopen" - -/obj/structure/closet/l3closet/general - icon_state = "bio_general" - icon_closed = "bio_general" - icon_opened = "bio_generalopen" - -/obj/structure/closet/l3closet/virology - icon_state = "bio_virology" - icon_closed = "bio_virology" - icon_opened = "bio_virologyopen" - -/obj/structure/closet/l3closet/security - icon_state = "bio_security" - icon_closed = "bio_security" - icon_opened = "bio_securityopen" - -/obj/structure/closet/l3closet/janitor - icon_state = "bio_janitor" - icon_closed = "bio_janitor" - icon_opened = "bio_janitoropen" - -/obj/structure/closet/l3closet/scientist - icon_state = "bio_scientist" - icon_closed = "bio_scientist" - icon_opened = "bio_scientistopen" - -/obj/structure/closet/syndicate - name = "armoury closet" - desc = "Why is this here?" - icon_state = "syndicate" - icon_closed = "syndicate" - icon_opened = "syndicateopen" - -/obj/structure/closet/syndicate/personal - desc = "It's a storage unit for operative gear." - -/obj/structure/closet/syndicate/nuclear - desc = "It's a storage unit for nuclear-operative gear." - - // Inserting the gimmick clothing stuff here for generic items, IE Tacticool stuff - - -/obj/structure/closet/gimmick - name = "administrative supply closet" - desc = "It's a storage unit for things that have no right being here." - icon_state = "syndicate1" - icon_closed = "syndicate1" - icon_opened = "syndicate1open" - anchored = 0 - -/obj/structure/closet/gimmick/russian - name = "russian surplus closet" - desc = "It's a storage unit for Russian standard-issue surplus." - icon_state = "syndicate1" - icon_closed = "syndicate1" - icon_opened = "syndicate1open" - -/obj/structure/closet/gimmick/tacticool - name = "tacticool gear closet" - desc = "It's a storage unit for Tacticool gear." - icon_state = "syndicate1" - icon_closed = "syndicate1" - icon_opened = "syndicate1open" - -/obj/structure/closet/thunderdome - name = "\improper Thunderdome closet" - desc = "Everything you need!" - icon_state = "syndicate" - icon_closed = "syndicate" - icon_opened = "syndicateopen" - anchored = 1 - -/obj/structure/closet/thunderdome/tdred - name = "red-team Thunderdome closet" - -/obj/structure/closet/thunderdome/tdgreen - name = "green-team Thunderdome closet" - icon_state = "syndicate1" - icon_closed = "syndicate1" - icon_opened = "syndicate1open" - - -/obj/structure/closet/malf/suits - desc = "It's a storage unit for operational gear." - icon_state = "syndicate" - icon_closed = "syndicate" - icon_opened = "syndicateopen" - -/obj/structure/closet/wardrobe - name = "wardrobe" - desc = "It's a storage unit for standard-issue Nanotrasen attire." - icon_state = "blue" - icon_closed = "blue" - -/obj/structure/closet/wardrobe/black - name = "black wardrobe" - icon_state = "black" - icon_closed = "black" - -/obj/structure/closet/wardrobe/chaplain_black - name = "chapel wardrobe" - desc = "It's a storage unit for Nanotrasen-approved religious attire." - icon_state = "black" - icon_closed = "black" - -/obj/structure/closet/wardrobe/green - name = "green wardrobe" - icon_state = "green" - icon_closed = "green" - -/obj/structure/closet/wardrobe/mixed - name = "mixed wardrobe" - icon_state = "mixed" - icon_closed = "mixed" - -/obj/structure/closet/wardrobe/orange - name = "prison wardrobe" - desc = "It's a storage unit for Nanotrasen-regulation prisoner attire." - icon_state = "orange" - icon_closed = "orange" - -/obj/structure/closet/wardrobe/pink - name = "pink wardrobe" - icon_state = "pink" - icon_closed = "pink" - -/obj/structure/closet/wardrobe/red - name = "security wardrobe" - icon_state = "red" - icon_closed = "red" - -/obj/structure/closet/wardrobe/white - name = "white wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/pjs - name = "Pajama wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/toxins_white - name = "toxins wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/robotics_black - name = "robotics wardrobe" - icon_state = "black" - icon_closed = "black" - -/obj/structure/closet/wardrobe/chemistry_white - name = "chemistry wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/genetics_white - name = "genetics wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/virology_white - name = "virology wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/yellow - name = "yellow wardrobe" - icon_state = "wardrobe-y" - icon_closed = "wardrobe-y" - -/obj/structure/closet/wardrobe/engineering_yellow - name = "engineering wardrobe" - icon_state = "yellow" - icon_closed = "yellow" - -/obj/structure/closet/wardrobe/atmospherics_yellow - name = "atmospherics wardrobe" - icon_state = "yellow" - icon_closed = "yellow" - -/obj/structure/closet/wardrobe/grey - name = "grey wardrobe" - icon_state = "grey" - icon_closed = "grey" - -/obj/structure/closet/secure_closet - name = "secure locker" - desc = "It's an immobile card-locked storage unit." - icon = 'icons/obj/closet.dmi' - icon_state = "secure1" - density = 1 - opened = 0 - var/locked = 1 - var/broken = 0 - var/large = 1 - icon_closed = "secure" - var/icon_locked = "secure1" - icon_opened = "secureopen" - var/icon_broken = "securebroken" - var/icon_off = "secureoff" - wall_mounted = 0 //never solid (You can always pass over it) - health = 200 - -/obj/structure/closet/secure_closet/medical_wall - name = "First Aid Closet" - desc = "It's a secure wall-mounted storage unit for first aid supplies." - icon_state = "medical_wall_locked" - icon_closed = "medical_wall_unlocked" - icon_locked = "medical_wall_locked" - icon_opened = "medical_wall_open" - icon_broken = "medical_wall_spark" - icon_off = "medical_wall_off" - anchored = 1 - density = 0 - wall_mounted = 1 - req_access = list(access_medical) - -/obj/structure/closet/secure_closet/medical_wall/update_icon() - if(broken) - icon_state = icon_broken - else - if(!opened) - if(locked) - icon_state = icon_locked - else - icon_state = icon_closed - else - icon_state = icon_opened - -/obj/structure/closet/secure_closet/personal - desc = "It's a secure locker for personell. The first card swiped gains control." - name = "personal closet" - -/obj/structure/closet/secure_closet/personal/cabinet - icon_state = "cabinetdetective_locked" - icon_closed = "cabinetdetective" - icon_locked = "cabinetdetective_locked" - icon_opened = "cabinetdetective_open" - icon_broken = "cabinetdetective_broken" - icon_off = "cabinetdetective_broken" - -/obj/structure/closet/secure_closet/personal/cabinet/update_icon() - if(broken) - icon_state = icon_broken - else - if(!opened) - if(locked) - icon_state = icon_locked - else - icon_state = icon_closed - else - icon_state = icon_opened - -/obj/structure/closet/secure_closet/personal/patient - name = "patient's closet" - -/obj/structure/closet/secure_closet/wall - name = "wall locker" - req_access = list(access_security) - icon_state = "wall-locker1" - density = 1 - icon_closed = "wall-locker" - icon_locked = "wall-locker1" - icon_opened = "wall-lockeropen" - icon_broken = "wall-lockerbroken" - icon_off = "wall-lockeroff" - - //too small to put a man in - large = 0 - -/obj/structure/closet/secure_closet/wall/update_icon() - if(broken) - icon_state = icon_broken - else - if(!opened) - if(locked) - icon_state = icon_locked - else - icon_state = icon_closed - else - icon_state = icon_opened - -/obj/structure/closet/crate/critter - name = "critter crate" - desc = "A crate which can sustain life for a while." - icon_state = "critter" - icon_opened = "critteropen" - icon_closed = "critter" \ No newline at end of file diff --git a/code/defines/obj/costume.dm b/code/defines/obj/costume.dm deleted file mode 100644 index f710a5875d0..00000000000 --- a/code/defines/obj/costume.dm +++ /dev/null @@ -1,139 +0,0 @@ -//Costume spawner - -/obj/effect/landmark/costume/New() //costume spawner, selects a random subclass and disappears - - var/list/options = typesof(/obj/effect/landmark/costume) - var/PICK= options[rand(1,options.len)] - new PICK(src.loc) - del(src) - -//SUBCLASSES. Spawn a bunch of items and disappear likewise -/obj/effect/landmark/costume/chicken/New() - new /obj/item/clothing/suit/chickensuit(src.loc) - del(src) - -/obj/effect/landmark/costume/gladiator/New() - new /obj/item/clothing/under/gladiator(src.loc) - new /obj/item/clothing/head/helmet/gladiator(src.loc) - del(src) - -/obj/effect/landmark/costume/madscientist/New() - new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) - new /obj/item/clothing/head/flatcap(src.loc) - new /obj/item/clothing/suit/labcoat/mad(src.loc) - new /obj/item/clothing/glasses/gglasses(src.loc) - del(src) - -/obj/effect/landmark/costume/elpresidente/New() - new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) - new /obj/item/clothing/head/flatcap(src.loc) - new /obj/item/clothing/mask/cigarette/cigar/havana(src.loc) - new /obj/item/clothing/shoes/jackboots(src.loc) - del(src) - -/obj/effect/landmark/costume/nyangirl/New() - new /obj/item/clothing/under/schoolgirl(src.loc) - new /obj/item/clothing/head/kitty(src.loc) - del(src) - -/obj/effect/landmark/costume/maid/New() - new /obj/item/clothing/under/blackskirt(src.loc) - var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears ) - new CHOICE(src.loc) - new /obj/item/clothing/glasses/blindfold(src.loc) - del(src) - -/obj/effect/landmark/costume/butler/New() - new /obj/item/clothing/suit/wcoat(src.loc) - new /obj/item/clothing/under/suit_jacket(src.loc) - new /obj/item/clothing/head/that(src.loc) - del(src) - -/obj/effect/landmark/costume/scratch/New() - new /obj/item/clothing/gloves/white(src.loc) - new /obj/item/clothing/shoes/white(src.loc) - new /obj/item/clothing/under/scratch(src.loc) - if (prob(30)) - new /obj/item/clothing/head/cueball(src.loc) - del(src) - -/obj/effect/landmark/costume/highlander/New() - new /obj/item/clothing/under/kilt(src.loc) - new /obj/item/clothing/head/beret(src.loc) - del(src) - -/obj/effect/landmark/costume/prig/New() - new /obj/item/clothing/suit/wcoat(src.loc) - new /obj/item/clothing/glasses/monocle(src.loc) - var/CHOICE= pick( /obj/item/clothing/head/bowler, /obj/item/clothing/head/that) - new CHOICE(src.loc) - new /obj/item/clothing/shoes/black(src.loc) - new /obj/item/weapon/cane(src.loc) - new /obj/item/clothing/under/sl_suit(src.loc) - new /obj/item/clothing/mask/fakemoustache(src.loc) - del(src) - -/obj/effect/landmark/costume/plaguedoctor/New() - new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc) - new /obj/item/clothing/head/plaguedoctorhat(src.loc) - del(src) - -/obj/effect/landmark/costume/nightowl/New() - new /obj/item/clothing/under/owl(src.loc) - new /obj/item/clothing/mask/owl_mask(src.loc) - del(src) - -/obj/effect/landmark/costume/waiter/New() - new /obj/item/clothing/under/waiter(src.loc) - var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears) - new CHOICE(src.loc) - new /obj/item/clothing/suit/apron(src.loc) - del(src) - -/obj/effect/landmark/costume/pirate/New() - new /obj/item/clothing/under/pirate(src.loc) - new /obj/item/clothing/suit/pirate(src.loc) - var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana ) - new CHOICE(src.loc) - new /obj/item/clothing/glasses/eyepatch(src.loc) - del(src) - -/obj/effect/landmark/costume/commie/New() - new /obj/item/clothing/under/soviet(src.loc) - new /obj/item/clothing/head/ushanka(src.loc) - del(src) - -/obj/effect/landmark/costume/imperium_monk/New() - new /obj/item/clothing/suit/imperium_monk(src.loc) - if (prob(25)) - new /obj/item/clothing/mask/gas/cyborg(src.loc) - del(src) - -/obj/effect/landmark/costume/holiday_priest/New() - new /obj/item/clothing/suit/holidaypriest(src.loc) - del(src) - -/obj/effect/landmark/costume/marisawizard/fake/New() - new /obj/item/clothing/head/wizard/marisa/fake(src.loc) - new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc) - del(src) - -/obj/effect/landmark/costume/fakewizard/New() - new /obj/item/clothing/suit/wizrobe/fake(src.loc) - new /obj/item/clothing/head/wizard/fake(src.loc) - del(src) - -/obj/effect/landmark/costume/sexyclown/New() - new /obj/item/clothing/mask/gas/sexyclown(src.loc) - new /obj/item/clothing/under/sexyclown(src.loc) - del(src) - -/obj/effect/landmark/costume/sexymime/New() - new /obj/item/clothing/mask/gas/sexymime(src.loc) - new /obj/item/clothing/under/sexymime(src.loc) - del(src) - -///obj/effect/landmark/costume/hidden/master/New() -// var/list/templist = list() -// templist += src -// for(var/obj/effect/landmark/costume/hidden/H in z1 \ No newline at end of file diff --git a/code/defines/obj/decal.dm b/code/defines/obj/decal.dm deleted file mode 100644 index 0ff3334e9c9..00000000000 --- a/code/defines/obj/decal.dm +++ /dev/null @@ -1,310 +0,0 @@ -/obj/effect/decal/remains/human - name = "remains" - desc = "They look like human remains. They have a strange aura about them." - gender = PLURAL - icon = 'icons/effects/blood.dmi' - icon_state = "remains" - anchored = 1 - -/obj/effect/decal/remains/xeno - name = "remains" - desc = "They look like the remains of something... alien. They have a strange aura about them." - gender = PLURAL - icon = 'icons/effects/blood.dmi' - icon_state = "remainsxeno" - anchored = 1 - -/obj/effect/decal/remains/robot - name = "remains" - desc = "They look like the remains of something mechanical. They have a strange aura about them." - gender = PLURAL - icon = 'icons/mob/robots.dmi' - icon_state = "remainsrobot" - anchored = 1 - -/obj/effect/decal/point - name = "arrow" - desc = "It's an arrow hanging in mid-air. There may be a wizard about." - icon = 'icons/mob/screen1.dmi' - icon_state = "arrow" - layer = 16.0 - anchored = 1 - -/obj/effect/decal/cleanable - var/list/random_icon_states = list() - -//HUMANS - -/obj/effect/decal/cleanable/ash - name = "ashes" - desc = "Ashes to ashes, dust to dust, and into space." - gender = PLURAL - icon = 'icons/obj/objects.dmi' - icon_state = "ash" - anchored = 1 - -/obj/effect/decal/cleanable/blood - name = "blood" - desc = "It's red and gooey. Perhaps it's the chef's cooking?" - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/effects/blood.dmi' - icon_state = "floor1" - random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7") - var/list/viruses = list() - blood_DNA = list() - //var/datum/disease2/disease/virus2 = null - -/obj/effect/decal/cleanable/blood/Del() - for(var/datum/disease/D in viruses) - D.cure(0) - ..() - -/obj/effect/decal/cleanable/blood/New() - ..() - if(istype(src, /obj/effect/decal/cleanable/blood/gibs)) - return - if(src.loc && isturf(src.loc)) - for(var/obj/effect/decal/cleanable/blood/B in src.loc) - if(B != src) - del(B) - -/obj/effect/decal/cleanable/blood/splatter - random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") - -/obj/effect/decal/cleanable/blood/tracks - icon_state = "tracks" - desc = "They look like tracks left by wheels." - gender = PLURAL - random_icon_states = null - -/obj/effect/decal/cleanable/blood/gibs - name = "gibs" - desc = "They look bloody and gruesome." - gender = PLURAL - density = 0 - anchored = 0 - layer = 2 - icon = 'icons/effects/blood.dmi' - icon_state = "gibbl5" - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6") - -/obj/effect/decal/cleanable/blood/gibs/up - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1") - -/obj/effect/decal/cleanable/blood/gibs/down - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1") - -/obj/effect/decal/cleanable/blood/gibs/body - random_icon_states = list("gibhead", "gibtorso") - -/obj/effect/decal/cleanable/blood/gibs/limb - random_icon_states = list("gibleg", "gibarm") - -/obj/effect/decal/cleanable/blood/gibs/core - random_icon_states = list("gibmid1", "gibmid2", "gibmid3") - -//ALIENS - -/obj/effect/decal/cleanable/xenoblood - name = "xeno blood" - desc = "It's green and acidic. It looks like... blood?" - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/effects/blood.dmi' - icon_state = "xfloor1" - random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") - var/list/viruses = list() - blood_DNA = list() - - Del() - for(var/datum/disease/D in viruses) - D.cure(0) - ..() - -/obj/effect/decal/cleanable/xenoblood/xsplatter - random_icon_states = list("xgibbl1", "xgibbl2", "xgibbl3", "xgibbl4", "xgibbl5") - -/obj/effect/decal/cleanable/xenoblood/xgibs - name = "xeno gibs" - desc = "Gnarly..." - gender = PLURAL - icon = 'icons/effects/blood.dmi' - icon_state = "xgib1" - random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6") - -/obj/effect/decal/cleanable/xenoblood/xgibs/up - random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibup1","xgibup1","xgibup1") - -/obj/effect/decal/cleanable/xenoblood/xgibs/down - random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibdown1","xgibdown1","xgibdown1") - -/obj/effect/decal/cleanable/xenoblood/xgibs/body - random_icon_states = list("xgibhead", "xgibtorso") - -/obj/effect/decal/cleanable/xenoblood/xgibs/limb - random_icon_states = list("xgibleg", "xgibarm") - -/obj/effect/decal/cleanable/xenoblood/xgibs/core - random_icon_states = list("xgibmid1", "xgibmid2", "xgibmid3") - -/obj/effect/decal/cleanable/blood/xtracks - icon_state = "xtracks" - random_icon_states = null - -//ROBOTS - -/obj/effect/decal/cleanable/robot_debris - name = "robot debris" - desc = "It's a useless heap of junk... or is it?" - gender = PLURAL - density = 0 - anchored = 0 - layer = 2 - icon = 'icons/mob/robots.dmi' - icon_state = "gib1" - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") - -/obj/effect/decal/cleanable/robot_debris/limb - random_icon_states = list("gibarm", "gibleg") - -/obj/effect/decal/cleanable/robot_debris/up - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibup1","gibup1") //2:7 is close enough to 1:4 - -/obj/effect/decal/cleanable/robot_debris/down - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibdown1","gibdown1") //2:7 is close enough to 1:4 - -/obj/effect/decal/cleanable/oil - name = "motor oil" - desc = "It's black and greasy. Looks like Beepsky made another mess." - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/mob/robots.dmi' - icon_state = "floor1" - var/viruses = list() - random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7") - - Del() - for(var/datum/disease/D in viruses) - D.cure(0) - ..() - -/obj/effect/decal/cleanable/oil/streak - random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5") - -//OTHER - -/obj/effect/decal/cleanable/generic - name = "clutter" - desc = "Someone should clean that up." - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/obj/objects.dmi' - icon_state = "shards" - -/obj/effect/decal/cleanable/dirt - name = "dirt" - desc = "Someone should clean that up." - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/effects/effects.dmi' - icon_state = "dirt" - -/obj/effect/decal/cleanable/greenglow - name = "glowing goo" - desc = "Jeez. I hope that's not for lunch." - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - luminosity = 1 - icon = 'icons/effects/effects.dmi' - icon_state = "greenglow" - -/obj/effect/decal/cleanable/cobweb - name = "cobweb" - desc = "Somebody should remove that." - density = 0 - anchored = 1 - layer = 3 - icon = 'icons/effects/effects.dmi' - icon_state = "cobweb1" - -/obj/effect/decal/cleanable/molten_item - name = "gooey grey mass" - desc = "It looks like a melted... something." - density = 0 - anchored = 1 - layer = 3 - icon = 'icons/obj/chemical.dmi' - icon_state = "molten" - -/obj/effect/decal/cleanable/cobweb2 - name = "cobweb" - desc = "Somebody should remove that." - density = 0 - anchored = 1 - layer = 3 - icon = 'icons/effects/effects.dmi' - icon_state = "cobweb2" - -// Used for spray that you spray at walls, tables, hydrovats etc -/obj/effect/decal/spraystill - density = 0 - anchored = 1 - layer = 50 - -//Vomit (sorry) -/obj/effect/decal/cleanable/vomit - name = "vomit" - desc = "Gosh, how unpleasant." - gender = PLURAL - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/effects/blood.dmi' - icon_state = "vomit_1" - random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4") - var/list/viruses = list() - - Del() - for(var/datum/disease/D in viruses) - D.cure(0) - ..() - -/obj/effect/decal/cleanable/tomato_smudge - name = "tomato smudge" - desc = "It's red." - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/effects/tomatodecal.dmi' - random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3") - -/obj/effect/decal/cleanable/egg_smudge - name = "smashed egg" - desc = "Seems like this one won't hatch." - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/effects/tomatodecal.dmi' - random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3") - -/obj/effect/decal/cleanable/pie_smudge //honk - name = "smashed pie" - desc = "It's pie cream from a cream pie." - density = 0 - anchored = 1 - layer = 2 - icon = 'icons/effects/tomatodecal.dmi' - random_icon_states = list("smashed_pie") diff --git a/code/defines/obj/window.dm b/code/defines/obj/window.dm deleted file mode 100644 index 509380f4a2f..00000000000 --- a/code/defines/obj/window.dm +++ /dev/null @@ -1,40 +0,0 @@ -/obj/structure/window - name = "window" - icon = 'icons/obj/structures.dmi' - desc = "A window." - density = 1 - layer = 3.2//Just above doors - var/health = 14.0 - var/ini_dir = null - var/state = 0 - var/reinf = 0 - var/silicate = 0 // number of units of silicate - var/icon/silicateIcon = null // the silicated icon - pressure_resistance = 4*ONE_ATMOSPHERE - anchored = 1.0 - flags = ON_BORDER - -// Prefab windows to make it easy... - - - -// Basic - -/obj/structure/window/basic - icon_state = "window" - -// Reinforced - -/obj/structure/window/reinforced - reinf = 1 - icon_state = "rwindow" - name = "reinforced window" - -/obj/structure/window/reinforced/tinted - name = "tinted window" - icon_state = "twindow" - opacity = 1 - -/obj/structure/window/reinforced/tinted/frosted - icon_state = "fwindow" - name = "frosted window" \ No newline at end of file diff --git a/code/game/objects/effects/decals/Cleanable/aliens.dm b/code/game/objects/effects/decals/Cleanable/aliens.dm new file mode 100644 index 00000000000..65c1cc700a8 --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/aliens.dm @@ -0,0 +1,61 @@ +// Note: BYOND is object oriented. There is no reason for this to be copy/pasted blood code. + +/obj/effect/decal/cleanable/xenoblood + name = "xeno blood" + desc = "It's green and acidic. It looks like... blood?" + gender = PLURAL + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/blood.dmi' + icon_state = "xfloor1" + random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") + var/list/viruses = list() + blood_DNA = list() + + Del() + for(var/datum/disease/D in viruses) + D.cure(0) + ..() + +/obj/effect/decal/cleanable/xenoblood/xgibs/proc/streak(var/list/directions) + spawn (0) + var/direction = pick(directions) + for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) + sleep(3) + if (i > 0) + var/obj/effect/decal/cleanable/xenoblood/b = new /obj/effect/decal/cleanable/xenoblood/xsplatter(src.loc) + for(var/datum/disease/D in src.viruses) + b.viruses += D + if (step_to(src, get_step(src, direction), 0)) + break + +/obj/effect/decal/cleanable/xenoblood/xsplatter + random_icon_states = list("xgibbl1", "xgibbl2", "xgibbl3", "xgibbl4", "xgibbl5") + +/obj/effect/decal/cleanable/xenoblood/xgibs + name = "xeno gibs" + desc = "Gnarly..." + gender = PLURAL + icon = 'icons/effects/blood.dmi' + icon_state = "xgib1" + random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6") + +/obj/effect/decal/cleanable/xenoblood/xgibs/up + random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibup1","xgibup1","xgibup1") + +/obj/effect/decal/cleanable/xenoblood/xgibs/down + random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibdown1","xgibdown1","xgibdown1") + +/obj/effect/decal/cleanable/xenoblood/xgibs/body + random_icon_states = list("xgibhead", "xgibtorso") + +/obj/effect/decal/cleanable/xenoblood/xgibs/limb + random_icon_states = list("xgibleg", "xgibarm") + +/obj/effect/decal/cleanable/xenoblood/xgibs/core + random_icon_states = list("xgibmid1", "xgibmid2", "xgibmid3") + +/obj/effect/decal/cleanable/blood/xtracks + icon_state = "xtracks" + random_icon_states = null \ No newline at end of file diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm new file mode 100644 index 00000000000..69720bd5f92 --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -0,0 +1,74 @@ +/obj/effect/decal/cleanable/blood + name = "blood" + desc = "It's red and gooey. Perhaps it's the chef's cooking?" + gender = PLURAL + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/blood.dmi' + icon_state = "floor1" + random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7") + var/list/viruses = list() + blood_DNA = list() + +/obj/effect/decal/cleanable/blood/Del() + for(var/datum/disease/D in viruses) + D.cure(0) + ..() + +/obj/effect/decal/cleanable/blood/New() + ..() + if(istype(src, /obj/effect/decal/cleanable/blood/gibs)) + return + if(src.loc && isturf(src.loc)) + for(var/obj/effect/decal/cleanable/blood/B in src.loc) + if(B != src) + del(B) + +/obj/effect/decal/cleanable/blood/splatter + random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") + +/obj/effect/decal/cleanable/blood/tracks + icon_state = "tracks" + desc = "They look like tracks left by wheels." + gender = PLURAL + random_icon_states = null + +/obj/effect/decal/cleanable/blood/gibs + name = "gibs" + desc = "They look bloody and gruesome." + gender = PLURAL + density = 0 + anchored = 0 + layer = 2 + icon = 'icons/effects/blood.dmi' + icon_state = "gibbl5" + random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6") + +/obj/effect/decal/cleanable/blood/gibs/up + random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1") + +/obj/effect/decal/cleanable/blood/gibs/down + random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1") + +/obj/effect/decal/cleanable/blood/gibs/body + random_icon_states = list("gibhead", "gibtorso") + +/obj/effect/decal/cleanable/blood/gibs/limb + random_icon_states = list("gibleg", "gibarm") + +/obj/effect/decal/cleanable/blood/gibs/core + random_icon_states = list("gibmid1", "gibmid2", "gibmid3") + + +/obj/effect/decal/cleanable/blood/gibs/proc/streak(var/list/directions) + spawn (0) + var/direction = pick(directions) + for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) + sleep(3) + if (i > 0) + var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc) + for(var/datum/disease/D in src.viruses) + b.viruses += D + if (step_to(src, get_step(src, direction), 0)) + break \ No newline at end of file diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm new file mode 100644 index 00000000000..bc73d9f5580 --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -0,0 +1,117 @@ +/obj/effect/decal/cleanable/generic + name = "clutter" + desc = "Someone should clean that up." + gender = PLURAL + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/obj/objects.dmi' + icon_state = "shards" + +/obj/effect/decal/cleanable/ash + name = "ashes" + desc = "Ashes to ashes, dust to dust, and into space." + gender = PLURAL + icon = 'icons/obj/objects.dmi' + icon_state = "ash" + anchored = 1 + +/obj/effect/decal/cleanable/greenglow + + New() + ..() + spawn(1200)// 2 minutes + del(src) + +/obj/effect/decal/cleanable/dirt + name = "dirt" + desc = "Someone should clean that up." + gender = PLURAL + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/effects.dmi' + icon_state = "dirt" + +/obj/effect/decal/cleanable/greenglow + name = "glowing goo" + desc = "Jeez. I hope that's not for lunch." + gender = PLURAL + density = 0 + anchored = 1 + layer = 2 + luminosity = 1 + icon = 'icons/effects/effects.dmi' + icon_state = "greenglow" + +/obj/effect/decal/cleanable/cobweb + name = "cobweb" + desc = "Somebody should remove that." + density = 0 + anchored = 1 + layer = 3 + icon = 'icons/effects/effects.dmi' + icon_state = "cobweb1" + +/obj/effect/decal/cleanable/molten_item + name = "gooey grey mass" + desc = "It looks like a melted... something." + density = 0 + anchored = 1 + layer = 3 + icon = 'icons/obj/chemical.dmi' + icon_state = "molten" + +/obj/effect/decal/cleanable/cobweb2 + name = "cobweb" + desc = "Somebody should remove that." + density = 0 + anchored = 1 + layer = 3 + icon = 'icons/effects/effects.dmi' + icon_state = "cobweb2" + +//Vomit (sorry) +/obj/effect/decal/cleanable/vomit + name = "vomit" + desc = "Gosh, how unpleasant." + gender = PLURAL + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/blood.dmi' + icon_state = "vomit_1" + random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4") + var/list/viruses = list() + + Del() + for(var/datum/disease/D in viruses) + D.cure(0) + ..() + +/obj/effect/decal/cleanable/tomato_smudge + name = "tomato smudge" + desc = "It's red." + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/tomatodecal.dmi' + random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3") + +/obj/effect/decal/cleanable/egg_smudge + name = "smashed egg" + desc = "Seems like this one won't hatch." + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/tomatodecal.dmi' + random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3") + +/obj/effect/decal/cleanable/pie_smudge //honk + name = "smashed pie" + desc = "It's pie cream from a cream pie." + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/tomatodecal.dmi' + random_icon_states = list("smashed_pie") diff --git a/code/game/objects/effects/decals/Cleanable/robots.dm b/code/game/objects/effects/decals/Cleanable/robots.dm new file mode 100644 index 00000000000..b813feb28b1 --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/robots.dm @@ -0,0 +1,57 @@ +// Note: BYOND is object oriented. There is no reason for this to be copy/pasted blood code. + +/obj/effect/decal/cleanable/robot_debris + name = "robot debris" + desc = "It's a useless heap of junk... or is it?" + gender = PLURAL + density = 0 + anchored = 0 + layer = 2 + icon = 'icons/mob/robots.dmi' + icon_state = "gib1" + random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") + +/obj/effect/decal/cleanable/robot_debris/proc/streak(var/list/directions) + spawn (0) + var/direction = pick(directions) + for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) + sleep(3) + if (i > 0) + if (prob(40)) + /*var/obj/effect/decal/cleanable/oil/o =*/ + new /obj/effect/decal/cleanable/oil/streak(src.loc) + else if (prob(10)) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() + if (step_to(src, get_step(src, direction), 0)) + break + +/obj/effect/decal/cleanable/robot_debris/limb + random_icon_states = list("gibarm", "gibleg") + +/obj/effect/decal/cleanable/robot_debris/up + random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibup1","gibup1") //2:7 is close enough to 1:4 + +/obj/effect/decal/cleanable/robot_debris/down + random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibdown1","gibdown1") //2:7 is close enough to 1:4 + +/obj/effect/decal/cleanable/oil + name = "motor oil" + desc = "It's black and greasy. Looks like Beepsky made another mess." + gender = PLURAL + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/mob/robots.dmi' + icon_state = "floor1" + var/viruses = list() + random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7") + + Del() + for(var/datum/disease/D in viruses) + D.cure(0) + ..() + +/obj/effect/decal/cleanable/oil/streak + random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5") \ No newline at end of file diff --git a/code/game/objects/effects/decals/blood.dm b/code/game/objects/effects/decals/blood.dm deleted file mode 100644 index 9cf16281c08..00000000000 --- a/code/game/objects/effects/decals/blood.dm +++ /dev/null @@ -1,64 +0,0 @@ -/obj/effect/decal/cleanable/New() - if (random_icon_states && length(src.random_icon_states) > 0) - src.icon_state = pick(src.random_icon_states) - ..() -/* -/obj/effect/decal/cleanable/blood/burn(fi_amount) - if(fi_amount > 900000.0) - src.virus = null - sleep(11) - del(src) - return -*/ - -//Gibs.spread proc in gibs.dm - -/obj/effect/decal/cleanable/blood/gibs/proc/streak(var/list/directions) - spawn (0) - var/direction = pick(directions) - for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) - sleep(3) - if (i > 0) - var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc) - for(var/datum/disease/D in src.viruses) - b.viruses += D - if (step_to(src, get_step(src, direction), 0)) - break - -/obj/effect/decal/cleanable/xenoblood/xgibs/proc/streak(var/list/directions) - spawn (0) - var/direction = pick(directions) - for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) - sleep(3) - if (i > 0) - var/obj/effect/decal/cleanable/xenoblood/b = new /obj/effect/decal/cleanable/xenoblood/xsplatter(src.loc) - for(var/datum/disease/D in src.viruses) - b.viruses += D - if (step_to(src, get_step(src, direction), 0)) - break - -/obj/effect/decal/cleanable/robot_debris/proc/streak(var/list/directions) - spawn (0) - var/direction = pick(directions) - for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) - sleep(3) - if (i > 0) - if (prob(40)) - /*var/obj/effect/decal/cleanable/oil/o =*/ - new /obj/effect/decal/cleanable/oil/streak(src.loc) - else if (prob(10)) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(3, 1, src) - s.start() - if (step_to(src, get_step(src, direction), 0)) - break - - -// not a great place for it, but as good as any - -/obj/effect/decal/cleanable/greenglow - - New() - ..() - spawn(1200) // 2 minutes - del(src) \ No newline at end of file diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm new file mode 100644 index 00000000000..d1227d3aa38 --- /dev/null +++ b/code/game/objects/effects/decals/cleanable.dm @@ -0,0 +1,7 @@ +/obj/effect/decal/cleanable + var/list/random_icon_states = list() + +/obj/effect/decal/cleanable/New() + if (random_icon_states && length(src.random_icon_states) > 0) + src.icon_state = pick(src.random_icon_states) + ..() \ No newline at end of file diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm new file mode 100644 index 00000000000..bc3dae0537d --- /dev/null +++ b/code/game/objects/effects/decals/misc.dm @@ -0,0 +1,13 @@ +/obj/effect/decal/point + name = "arrow" + desc = "It's an arrow hanging in mid-air. There may be a wizard about." + icon = 'icons/mob/screen1.dmi' + icon_state = "arrow" + layer = 16.0 + anchored = 1 + +// Used for spray that you spray at walls, tables, hydrovats etc +/obj/effect/decal/spraystill + density = 0 + anchored = 1 + layer = 50 \ No newline at end of file diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm new file mode 100644 index 00000000000..d50d595d3ea --- /dev/null +++ b/code/game/objects/effects/decals/remains.dm @@ -0,0 +1,23 @@ +/obj/effect/decal/remains/human + name = "remains" + desc = "They look like human remains. They have a strange aura about them." + gender = PLURAL + icon = 'icons/effects/blood.dmi' + icon_state = "remains" + anchored = 1 + +/obj/effect/decal/remains/xeno + name = "remains" + desc = "They look like the remains of something... alien. They have a strange aura about them." + gender = PLURAL + icon = 'icons/effects/blood.dmi' + icon_state = "remainsxeno" + anchored = 1 + +/obj/effect/decal/remains/robot + name = "remains" + desc = "They look like the remains of something mechanical. They have a strange aura about them." + gender = PLURAL + icon = 'icons/mob/robots.dmi' + icon_state = "remainsrobot" + anchored = 1 \ No newline at end of file diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 5f0ccad98a3..0e1e09b784c 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -9,4 +9,140 @@ name = "start" icon = 'icons/mob/screen1.dmi' icon_state = "x" - anchored = 1.0 \ No newline at end of file + anchored = 1.0 + + +//Costume spawner landmarks + +/obj/effect/landmark/costume/New() //costume spawner, selects a random subclass and disappears + + var/list/options = typesof(/obj/effect/landmark/costume) + var/PICK= options[rand(1,options.len)] + new PICK(src.loc) + del(src) + +//SUBCLASSES. Spawn a bunch of items and disappear likewise +/obj/effect/landmark/costume/chicken/New() + new /obj/item/clothing/suit/chickensuit(src.loc) + del(src) + +/obj/effect/landmark/costume/gladiator/New() + new /obj/item/clothing/under/gladiator(src.loc) + new /obj/item/clothing/head/helmet/gladiator(src.loc) + del(src) + +/obj/effect/landmark/costume/madscientist/New() + new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) + new /obj/item/clothing/head/flatcap(src.loc) + new /obj/item/clothing/suit/labcoat/mad(src.loc) + new /obj/item/clothing/glasses/gglasses(src.loc) + del(src) + +/obj/effect/landmark/costume/elpresidente/New() + new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) + new /obj/item/clothing/head/flatcap(src.loc) + new /obj/item/clothing/mask/cigarette/cigar/havana(src.loc) + new /obj/item/clothing/shoes/jackboots(src.loc) + del(src) + +/obj/effect/landmark/costume/nyangirl/New() + new /obj/item/clothing/under/schoolgirl(src.loc) + new /obj/item/clothing/head/kitty(src.loc) + del(src) + +/obj/effect/landmark/costume/maid/New() + new /obj/item/clothing/under/blackskirt(src.loc) + var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears ) + new CHOICE(src.loc) + new /obj/item/clothing/glasses/blindfold(src.loc) + del(src) + +/obj/effect/landmark/costume/butler/New() + new /obj/item/clothing/suit/wcoat(src.loc) + new /obj/item/clothing/under/suit_jacket(src.loc) + new /obj/item/clothing/head/that(src.loc) + del(src) + +/obj/effect/landmark/costume/scratch/New() + new /obj/item/clothing/gloves/white(src.loc) + new /obj/item/clothing/shoes/white(src.loc) + new /obj/item/clothing/under/scratch(src.loc) + if (prob(30)) + new /obj/item/clothing/head/cueball(src.loc) + del(src) + +/obj/effect/landmark/costume/highlander/New() + new /obj/item/clothing/under/kilt(src.loc) + new /obj/item/clothing/head/beret(src.loc) + del(src) + +/obj/effect/landmark/costume/prig/New() + new /obj/item/clothing/suit/wcoat(src.loc) + new /obj/item/clothing/glasses/monocle(src.loc) + var/CHOICE= pick( /obj/item/clothing/head/bowler, /obj/item/clothing/head/that) + new CHOICE(src.loc) + new /obj/item/clothing/shoes/black(src.loc) + new /obj/item/weapon/cane(src.loc) + new /obj/item/clothing/under/sl_suit(src.loc) + new /obj/item/clothing/mask/fakemoustache(src.loc) + del(src) + +/obj/effect/landmark/costume/plaguedoctor/New() + new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc) + new /obj/item/clothing/head/plaguedoctorhat(src.loc) + del(src) + +/obj/effect/landmark/costume/nightowl/New() + new /obj/item/clothing/under/owl(src.loc) + new /obj/item/clothing/mask/owl_mask(src.loc) + del(src) + +/obj/effect/landmark/costume/waiter/New() + new /obj/item/clothing/under/waiter(src.loc) + var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears) + new CHOICE(src.loc) + new /obj/item/clothing/suit/apron(src.loc) + del(src) + +/obj/effect/landmark/costume/pirate/New() + new /obj/item/clothing/under/pirate(src.loc) + new /obj/item/clothing/suit/pirate(src.loc) + var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana ) + new CHOICE(src.loc) + new /obj/item/clothing/glasses/eyepatch(src.loc) + del(src) + +/obj/effect/landmark/costume/commie/New() + new /obj/item/clothing/under/soviet(src.loc) + new /obj/item/clothing/head/ushanka(src.loc) + del(src) + +/obj/effect/landmark/costume/imperium_monk/New() + new /obj/item/clothing/suit/imperium_monk(src.loc) + if (prob(25)) + new /obj/item/clothing/mask/gas/cyborg(src.loc) + del(src) + +/obj/effect/landmark/costume/holiday_priest/New() + new /obj/item/clothing/suit/holidaypriest(src.loc) + del(src) + +/obj/effect/landmark/costume/marisawizard/fake/New() + new /obj/item/clothing/head/wizard/marisa/fake(src.loc) + new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc) + del(src) + +/obj/effect/landmark/costume/fakewizard/New() + new /obj/item/clothing/suit/wizrobe/fake(src.loc) + new /obj/item/clothing/head/wizard/fake(src.loc) + del(src) + +/obj/effect/landmark/costume/sexyclown/New() + new /obj/item/clothing/mask/gas/sexyclown(src.loc) + new /obj/item/clothing/under/sexyclown(src.loc) + del(src) + +/obj/effect/landmark/costume/sexymime/New() + new /obj/item/clothing/mask/gas/sexymime(src.loc) + new /obj/item/clothing/under/sexymime(src.loc) + del(src) \ No newline at end of file diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm new file mode 100644 index 00000000000..c2f590c5613 --- /dev/null +++ b/code/game/objects/effects/misc.dm @@ -0,0 +1,8 @@ +//The effect when you wrap a dead body in gift wrap +/obj/effect/spresent + name = "strange present" + desc = "It's a ... present?" + icon = 'icons/obj/items.dmi' + icon_state = "strangepresent" + density = 1 + anchored = 0 \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 9d0e89eb320..2c45213ec44 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -1,3 +1,20 @@ +/obj/structure/closet + name = "closet" + desc = "It's a basic storage unit." + icon = 'icons/obj/closet.dmi' + icon_state = "closed" + density = 1 + flags = FPRINT + var/icon_closed = "closed" + var/icon_opened = "open" + var/opened = 0 + var/welded = 0 + var/wall_mounted = 0 //never solid (You can always pass over it) + var/health = 100 + var/lastbang + var/storage_capacity = 20 //This is so that someone can't pack hundreds of items in a locker/crate + //then open it in a populated area to crash clients. + /obj/structure/closet/alter_health() return get_turf(src) diff --git a/code/game/objects/structures/crates_lockers/closets/bombsuit.dm b/code/game/objects/structures/crates_lockers/closets/bombsuit.dm deleted file mode 100644 index e88201c1650..00000000000 --- a/code/game/objects/structures/crates_lockers/closets/bombsuit.dm +++ /dev/null @@ -1,15 +0,0 @@ -/obj/structure/closet/bombcloset/New() - ..() - sleep(2) - new /obj/item/clothing/suit/bomb_suit( src ) - new /obj/item/clothing/under/color/black( src ) - new /obj/item/clothing/shoes/black( src ) - new /obj/item/clothing/head/bomb_hood( src ) - -/obj/structure/closet/bombclosetsecurity/New() - ..() - sleep(2) - new /obj/item/clothing/suit/bomb_suit/security( src ) - new /obj/item/clothing/under/rank/security( src ) - new /obj/item/clothing/shoes/brown( src ) - new /obj/item/clothing/head/bomb_hood/security( src ) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/coffin.dm b/code/game/objects/structures/crates_lockers/closets/coffin.dm new file mode 100644 index 00000000000..256f72522e8 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/coffin.dm @@ -0,0 +1,12 @@ +/obj/structure/closet/coffin + name = "coffin" + desc = "It's a burial receptacle for the dearly departed." + icon_state = "coffin" + icon_closed = "coffin" + icon_opened = "coffin_open" + +/obj/structure/closet/coffin/update_icon() + if(!opened) + icon_state = icon_closed + else + icon_state = icon_opened \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/crittercrate.dm b/code/game/objects/structures/crates_lockers/closets/crittercrate.dm new file mode 100644 index 00000000000..d3ab79e7688 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/crittercrate.dm @@ -0,0 +1,6 @@ +/obj/structure/closet/crate/critter + name = "critter crate" + desc = "A crate which can sustain life for a while." + icon_state = "critter" + icon_opened = "critteropen" + icon_closed = "critter" \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/emergency.dm b/code/game/objects/structures/crates_lockers/closets/emergency.dm deleted file mode 100644 index cd7a0be2227..00000000000 --- a/code/game/objects/structures/crates_lockers/closets/emergency.dm +++ /dev/null @@ -1,37 +0,0 @@ -/obj/structure/closet/emcloset/New() - ..() - - if (prob(40)) - new /obj/item/weapon/storage/toolbox/emergency(src) - - switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1))) - if ("small") - new /obj/item/weapon/tank/emergency_oxygen(src) - new /obj/item/weapon/tank/emergency_oxygen(src) - - if ("aid") - new /obj/item/weapon/tank/emergency_oxygen(src) - new /obj/item/weapon/storage/firstaid/o2(src) - - if ("tank") - new /obj/item/weapon/tank/air(src) - - if ("both") - new /obj/item/weapon/tank/emergency_oxygen(src) - new /obj/item/clothing/mask/breath(src) - - if ("nothing") - // doot - - // teehee - if ("delete") - del(src) - - //If you want to re-add fire, just add "fire" = 15 to the pick list. - /*if ("fire") - new /obj/structure/closet/firecloset(src.loc) - del(src)*/ - -/obj/structure/closet/emcloset/legacy/New() - new /obj/item/weapon/tank/oxygen(src) - new /obj/item/clothing/mask/gas(src) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/firecloset.dm b/code/game/objects/structures/crates_lockers/closets/firecloset.dm deleted file mode 100644 index 42b494f0c06..00000000000 --- a/code/game/objects/structures/crates_lockers/closets/firecloset.dm +++ /dev/null @@ -1,78 +0,0 @@ -/obj/structure/closet/firecloset/full/New() - ..() - sleep(4) - contents = list() - - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/oxygen/red(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/hardhat/red(src) - -/obj/structure/closet/firecloset/New() - ..() - - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/oxygen/red(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/hardhat/red(src) - - /*switch (pickweight(list("nothing" = 5, "bare-bones" = 35, "basic" = 40, "pickpocketed" = 10, "untouched" = 10))) - if ("nothing") - //better luck next time - if ("bare-bones") - new /obj/item/weapon/extinguisher(src) - if ("basic") - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/emergency_oxygen(src) - new /obj/item/weapon/extinguisher(src) - if ("pickpocketed") //suit got stolen - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/oxygen(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/helmet/hardhat/red(src) - if ("untouched") - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/oxygen(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/head/helmet/hardhat/red(src)*/ - -/obj/structure/closet/toolcloset/New() - if(prob(40)) - new /obj/item/clothing/suit/hazardvest(src) - if(prob(70)) - new /obj/item/device/flashlight(src) - if(prob(70)) - new /obj/item/weapon/screwdriver(src) - if(prob(70)) - new /obj/item/weapon/wrench(src) - if(prob(70)) - new /obj/item/weapon/weldingtool(src) - if(prob(70)) - new /obj/item/weapon/crowbar(src) - if(prob(70)) - new /obj/item/weapon/wirecutters(src) - if(prob(70)) - new /obj/item/device/t_scanner(src) - if(prob(20)) - new /obj/item/weapon/storage/belt/utility(src) - if(prob(30)) - new /obj/item/weapon/cable_coil/random(src) - if(prob(30)) - new /obj/item/weapon/cable_coil/random(src) - if(prob(30)) - new /obj/item/weapon/cable_coil/random(src) - if(prob(20)) - new /obj/item/device/multitool(src) - if(prob(5)) - new /obj/item/clothing/gloves/yellow(src) - if(prob(40)) - new /obj/item/clothing/head/hardhat(src) - -/obj/structure/closet/radiation/New() - ..() - new /obj/item/clothing/suit/radiation(src) - new /obj/item/clothing/head/radiation(src) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/fitnesscloset.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm similarity index 58% rename from code/game/objects/structures/crates_lockers/closets/fitnesscloset.dm rename to code/game/objects/structures/crates_lockers/closets/fitness.dm index c676464ccdf..cc9204af123 100644 --- a/code/game/objects/structures/crates_lockers/closets/fitnesscloset.dm +++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm @@ -1,3 +1,9 @@ +/obj/structure/closet/athletic_mixed + name = "athletic wardrobe" + desc = "It's a storage unit for athletic wear." + icon_state = "mixed" + icon_closed = "mixed" + /obj/structure/closet/athletic_mixed/New() ..() sleep(2) @@ -7,6 +13,11 @@ new /obj/item/clothing/under/shorts/blue(src) new /obj/item/clothing/under/shorts/green(src) + +/obj/structure/closet/boxinggloves + name = "boxing gloves" + desc = "It's a storage unit for gloves for use in the boxing ring." + /obj/structure/closet/boxinggloves/New() ..() sleep(2) @@ -15,6 +26,11 @@ new /obj/item/clothing/gloves/boxing/yellow(src) new /obj/item/clothing/gloves/boxing(src) + +/obj/structure/closet/masks + name = "mask closet" + desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!" + /obj/structure/closet/masks/New() ..() sleep(2) @@ -22,6 +38,13 @@ new /obj/item/clothing/mask/luchador/rudos(src) new /obj/item/clothing/mask/luchador/tecnicos(src) + +/obj/structure/closet/lasertag/red + name = "red laser tag equipment" + desc = "It's a storage unit for laser tag equipment." + icon_state = "red" + icon_closed = "red" + /obj/structure/closet/lasertag/red/New() ..() sleep(2) @@ -30,6 +53,13 @@ new /obj/item/clothing/suit/redtag(src) new /obj/item/clothing/suit/redtag(src) + +/obj/structure/closet/lasertag/blue + name = "blue laser tag equipment" + desc = "It's a storage unit for laser tag equipment." + icon_state = "blue" + icon_closed = "blue" + /obj/structure/closet/lasertag/blue/New() ..() sleep(2) diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index bb3d58e8d1f..b9ebc56d102 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -1,3 +1,39 @@ +/obj/structure/closet/cabinet + name = "cabinet" + desc = "Old will forever be in fashion." + icon_state = "cabinet_closed" + icon_closed = "cabinet_closed" + icon_opened = "cabinet_open" + +/obj/structure/closet/cabinet/update_icon() + if(!opened) + icon_state = icon_closed + else + icon_state = icon_opened + +/obj/structure/closet/acloset + name = "strange closet" + desc = "It looks alien!" + icon_state = "acloset" + icon_closed = "acloset" + icon_opened = "aclosetopen" + + +/obj/structure/closet/gimmick + name = "administrative supply closet" + desc = "It's a storage unit for things that have no right being here." + icon_state = "syndicate1" + icon_closed = "syndicate1" + icon_opened = "syndicate1open" + anchored = 0 + +/obj/structure/closet/gimmick/russian + name = "russian surplus closet" + desc = "It's a storage unit for Russian standard-issue surplus." + icon_state = "syndicate1" + icon_closed = "syndicate1" + icon_opened = "syndicate1open" + /obj/structure/closet/gimmick/russian/New() ..() sleep(2) @@ -12,6 +48,14 @@ new /obj/item/clothing/under/soviet(src) new /obj/item/clothing/under/soviet(src) + +/obj/structure/closet/gimmick/tacticool + name = "tacticool gear closet" + desc = "It's a storage unit for Tacticool gear." + icon_state = "syndicate1" + icon_closed = "syndicate1" + icon_opened = "syndicate1open" + /obj/structure/closet/gimmick/tacticool/New() ..() sleep(2) @@ -28,4 +72,71 @@ new /obj/item/clothing/suit/armor/swat(src) new /obj/item/clothing/suit/armor/swat(src) new /obj/item/clothing/under/syndicate/tacticool(src) - new /obj/item/clothing/under/syndicate/tacticool(src) \ No newline at end of file + new /obj/item/clothing/under/syndicate/tacticool(src) + + +/obj/structure/closet/thunderdome + name = "\improper Thunderdome closet" + desc = "Everything you need!" + icon_state = "syndicate" + icon_closed = "syndicate" + icon_opened = "syndicateopen" + anchored = 1 + +/obj/structure/closet/thunderdome/New() + ..() + sleep(2) + +/obj/structure/closet/thunderdome/tdred + name = "red-team Thunderdome closet" + +/obj/structure/closet/thunderdome/tdred/New() + ..() + sleep(2) + new /obj/item/clothing/suit/armor/tdome/red(src) + new /obj/item/clothing/suit/armor/tdome/red(src) + new /obj/item/clothing/suit/armor/tdome/red(src) + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/gun/energy/laser(src) + new /obj/item/weapon/gun/energy/laser(src) + new /obj/item/weapon/gun/energy/laser(src) + new /obj/item/weapon/melee/baton(src) + new /obj/item/weapon/melee/baton(src) + new /obj/item/weapon/melee/baton(src) + new /obj/item/weapon/storage/flashbang_kit(src) + new /obj/item/weapon/storage/flashbang_kit(src) + new /obj/item/weapon/storage/flashbang_kit(src) + new /obj/item/clothing/head/helmet/thunderdome(src) + new /obj/item/clothing/head/helmet/thunderdome(src) + new /obj/item/clothing/head/helmet/thunderdome(src) + +/obj/structure/closet/thunderdome/tdgreen + name = "green-team Thunderdome closet" + icon_state = "syndicate1" + icon_closed = "syndicate1" + icon_opened = "syndicate1open" + +/obj/structure/closet/thunderdome/tdgreen/New() + ..() + sleep(2) + new /obj/item/clothing/suit/armor/tdome/green(src) + new /obj/item/clothing/suit/armor/tdome/green(src) + new /obj/item/clothing/suit/armor/tdome/green(src) + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/gun/energy/laser(src) + new /obj/item/weapon/gun/energy/laser(src) + new /obj/item/weapon/gun/energy/laser(src) + new /obj/item/weapon/melee/baton(src) + new /obj/item/weapon/melee/baton(src) + new /obj/item/weapon/melee/baton(src) + new /obj/item/weapon/storage/flashbang_kit(src) + new /obj/item/weapon/storage/flashbang_kit(src) + new /obj/item/weapon/storage/flashbang_kit(src) + new /obj/item/clothing/head/helmet/thunderdome(src) + new /obj/item/clothing/head/helmet/thunderdome(src) + new /obj/item/clothing/head/helmet/thunderdome(src) + diff --git a/code/game/objects/structures/crates_lockers/closets/gmcloset.dm b/code/game/objects/structures/crates_lockers/closets/gmcloset.dm deleted file mode 100644 index 3f3aadd70be..00000000000 --- a/code/game/objects/structures/crates_lockers/closets/gmcloset.dm +++ /dev/null @@ -1,13 +0,0 @@ -/obj/structure/closet/gmcloset/New() - ..() - sleep(2) - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/under/sl_suit(src) - new /obj/item/clothing/under/sl_suit(src) - new /obj/item/clothing/under/rank/bartender(src) - new /obj/item/clothing/under/rank/bartender(src) - new /obj/item/clothing/suit/wcoat(src) - new /obj/item/clothing/suit/wcoat(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) diff --git a/code/game/objects/structures/crates_lockers/closets/janitor.dm b/code/game/objects/structures/crates_lockers/closets/janitor.dm deleted file mode 100644 index fcc9c93999c..00000000000 --- a/code/game/objects/structures/crates_lockers/closets/janitor.dm +++ /dev/null @@ -1,16 +0,0 @@ -/obj/structure/closet/jcloset/New() - ..() - sleep(2) - new /obj/item/clothing/under/rank/janitor(src) - new /obj/item/weapon/cartridge/janitor(src) - new /obj/item/device/flashlight(src) - new /obj/item/clothing/shoes/galoshes(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/trashbag(src) - new /obj/item/device/lightreplacer(src) - new /obj/item/clothing/head/soft/purple(src) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm new file mode 100644 index 00000000000..49d4b9539d8 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -0,0 +1,75 @@ +/* Closets for specific jobs + * Contains: + * Bartender + * Janitor + * Lawyer + */ + +/* + * Bartender + */ +/obj/structure/closet/gmcloset + name = "formal closet" + desc = "It's a storage unit for formal clothing." + icon_state = "black" + icon_closed = "black" + +/obj/structure/closet/gmcloset/New() + ..() + sleep(2) + new /obj/item/clothing/head/that(src) + new /obj/item/clothing/head/that(src) + new /obj/item/clothing/under/sl_suit(src) + new /obj/item/clothing/under/sl_suit(src) + new /obj/item/clothing/under/rank/bartender(src) + new /obj/item/clothing/under/rank/bartender(src) + new /obj/item/clothing/suit/wcoat(src) + new /obj/item/clothing/suit/wcoat(src) + new /obj/item/clothing/shoes/black(src) + new /obj/item/clothing/shoes/black(src) + +/* + * Janitor + */ +/obj/structure/closet/jcloset + name = "custodial closet" + desc = "It's a storage unit for janitorial clothes and gear." + icon_state = "mixed" + icon_closed = "mixed" + +/obj/structure/closet/jcloset/New() + ..() + sleep(2) + new /obj/item/clothing/under/rank/janitor(src) + new /obj/item/weapon/cartridge/janitor(src) + new /obj/item/device/flashlight(src) + new /obj/item/clothing/shoes/galoshes(src) + new /obj/item/weapon/caution(src) + new /obj/item/weapon/caution(src) + new /obj/item/weapon/caution(src) + new /obj/item/weapon/caution(src) + new /obj/item/weapon/caution(src) + new /obj/item/weapon/caution(src) + new /obj/item/weapon/trashbag(src) + new /obj/item/device/lightreplacer(src) + new /obj/item/clothing/head/soft/purple(src) + +/* + * Lawyer + */ +/obj/structure/closet/lawcloset + name = "legal closet" + desc = "It's a storage unit for courtroom apparel and items." + icon_state = "blue" + icon_closed = "blue" + +/obj/structure/closet/lawcloset/New() + new /obj/item/clothing/under/lawyer/female(src) + new /obj/item/clothing/under/lawyer/black(src) + new /obj/item/clothing/under/lawyer/red(src) + new /obj/item/clothing/under/lawyer/bluesuit(src) + new /obj/item/clothing/suit/lawyer/bluejacket(src) + new /obj/item/clothing/under/lawyer/purpsuit(src) + new /obj/item/clothing/suit/lawyer/purpjacket(src) + new /obj/item/clothing/shoes/brown(src) + new /obj/item/clothing/shoes/black(src) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm index 9cc2393c72c..6e7591868a3 100644 --- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm +++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm @@ -1,9 +1,22 @@ +/obj/structure/closet/l3closet + name = "level-3 biohazard suit closet" + desc = "It's a storage unit for level-3 biohazard gear." + icon_state = "bio" + icon_closed = "bio" + icon_opened = "bioopen" + /obj/structure/closet/l3closet/New() ..() sleep(2) new /obj/item/clothing/suit/bio_suit/general( src ) new /obj/item/clothing/head/bio_hood/general( src ) + +/obj/structure/closet/l3closet/general + icon_state = "bio_general" + icon_closed = "bio_general" + icon_opened = "bio_generalopen" + /obj/structure/closet/l3closet/general/New() ..() sleep(2) @@ -11,6 +24,12 @@ new /obj/item/clothing/suit/bio_suit/general( src ) new /obj/item/clothing/head/bio_hood/general( src ) + +/obj/structure/closet/l3closet/virology + icon_state = "bio_virology" + icon_closed = "bio_virology" + icon_opened = "bio_virologyopen" + /obj/structure/closet/l3closet/virology/New() ..() sleep(2) @@ -18,6 +37,12 @@ new /obj/item/clothing/suit/bio_suit/virology( src ) new /obj/item/clothing/head/bio_hood/virology( src ) + +/obj/structure/closet/l3closet/security + icon_state = "bio_security" + icon_closed = "bio_security" + icon_opened = "bio_securityopen" + /obj/structure/closet/l3closet/security/New() ..() sleep(2) @@ -25,6 +50,12 @@ new /obj/item/clothing/suit/bio_suit/security( src ) new /obj/item/clothing/head/bio_hood/security( src ) + +/obj/structure/closet/l3closet/janitor + icon_state = "bio_janitor" + icon_closed = "bio_janitor" + icon_opened = "bio_janitoropen" + /obj/structure/closet/l3closet/janitor/New() ..() sleep(2) @@ -32,6 +63,12 @@ new /obj/item/clothing/suit/bio_suit/janitor( src ) new /obj/item/clothing/head/bio_hood/janitor( src ) + +/obj/structure/closet/l3closet/scientist + icon_state = "bio_scientist" + icon_closed = "bio_scientist" + icon_opened = "bio_scientistopen" + /obj/structure/closet/l3closet/scientist/New() ..() sleep(2) diff --git a/code/game/objects/structures/crates_lockers/closets/malfunction.dm b/code/game/objects/structures/crates_lockers/closets/malfunction.dm index a21311fdfea..7cfb4f18e2f 100644 --- a/code/game/objects/structures/crates_lockers/closets/malfunction.dm +++ b/code/game/objects/structures/crates_lockers/closets/malfunction.dm @@ -1,3 +1,10 @@ + +/obj/structure/closet/malf/suits + desc = "It's a storage unit for operational gear." + icon_state = "syndicate" + icon_closed = "syndicate" + icon_opened = "syndicateopen" + /obj/structure/closet/malf/suits/New() ..() sleep(2) diff --git a/code/game/objects/structures/crates_lockers/closets/nuclear.dm b/code/game/objects/structures/crates_lockers/closets/nuclear.dm deleted file mode 100644 index ae1720bfbee..00000000000 --- a/code/game/objects/structures/crates_lockers/closets/nuclear.dm +++ /dev/null @@ -1,24 +0,0 @@ -/obj/structure/closet/syndicate/nuclear/New() - ..() - sleep(2) - new /obj/item/ammo_magazine/a50(src) - new /obj/item/ammo_magazine/a50(src) - new /obj/item/ammo_magazine/a50(src) - new /obj/item/ammo_magazine/a50(src) - new /obj/item/ammo_magazine/a50(src) - new /obj/item/weapon/storage/handcuff_kit(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/device/pda/syndicate(src) - var/obj/item/device/radio/uplink/U = new(src) - U.hidden_uplink.uses = 40 - return diff --git a/code/game/objects/structures/crates_lockers/closets/kitchen.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm similarity index 100% rename from code/game/objects/structures/crates_lockers/closets/kitchen.dm rename to code/game/objects/structures/crates_lockers/closets/secure/freezer.dm diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 5e9925db55a..bedb0ac7066 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -158,4 +158,30 @@ sleep(2) new /obj/item/weapon/storage/pillbottlebox(src) new /obj/item/weapon/storage/pillbottlebox(src) - return \ No newline at end of file + return + +/obj/structure/closet/secure_closet/medical_wall + name = "First Aid Closet" + desc = "It's a secure wall-mounted storage unit for first aid supplies." + icon_state = "medical_wall_locked" + icon_closed = "medical_wall_unlocked" + icon_locked = "medical_wall_locked" + icon_opened = "medical_wall_open" + icon_broken = "medical_wall_spark" + icon_off = "medical_wall_off" + anchored = 1 + density = 0 + wall_mounted = 1 + req_access = list(access_medical) + +/obj/structure/closet/secure_closet/medical_wall/update_icon() + if(broken) + icon_state = icon_broken + else + if(!opened) + if(locked) + icon_state = icon_locked + else + icon_state = icon_closed + else + icon_state = icon_opened \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 28b220918e1..12d2e3fed40 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -1,5 +1,8 @@ -/obj/structure/closet/secure_closet/personal/var/registered_name = null -/obj/structure/closet/secure_closet/personal/req_access = list(access_all_personal_lockers) +/obj/structure/closet/secure_closet/personal + desc = "It's a secure locker for personell. The first card swiped gains control." + name = "personal closet" + req_access = list(access_all_personal_lockers) + var/registered_name = null /obj/structure/closet/secure_closet/personal/New() ..() @@ -11,6 +14,10 @@ new /obj/item/device/radio/headset( src ) return + +/obj/structure/closet/secure_closet/personal/patient + name = "patient's closet" + /obj/structure/closet/secure_closet/personal/patient/New() ..() spawn(4) @@ -20,6 +27,27 @@ return + +/obj/structure/closet/secure_closet/personal/cabinet + icon_state = "cabinetdetective_locked" + icon_closed = "cabinetdetective" + icon_locked = "cabinetdetective_locked" + icon_opened = "cabinetdetective_open" + icon_broken = "cabinetdetective_broken" + icon_off = "cabinetdetective_broken" + +/obj/structure/closet/secure_closet/personal/cabinet/update_icon() + if(broken) + icon_state = icon_broken + else + if(!opened) + if(locked) + icon_state = icon_locked + else + icon_state = icon_closed + else + icon_state = icon_opened + /obj/structure/closet/secure_closet/personal/cabinet/New() ..() spawn(4) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index efe451b6607..aca03793d9d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -1,3 +1,21 @@ +/obj/structure/closet/secure_closet + name = "secure locker" + desc = "It's an immobile card-locked storage unit." + icon = 'icons/obj/closet.dmi' + icon_state = "secure1" + density = 1 + opened = 0 + var/locked = 1 + var/broken = 0 + var/large = 1 + icon_closed = "secure" + var/icon_locked = "secure1" + icon_opened = "secureopen" + var/icon_broken = "securebroken" + var/icon_off = "secureoff" + wall_mounted = 0 //never solid (You can always pass over it) + health = 200 + /obj/structure/closet/secure_closet/can_open() ..() if(src.locked) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 193dfa5abb1..01cc19d7606 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -242,3 +242,29 @@ new /obj/item/clothing/head/powdered_wig (src) new /obj/item/weapon/storage/briefcase(src) return + +/obj/structure/closet/secure_closet/wall + name = "wall locker" + req_access = list(access_security) + icon_state = "wall-locker1" + density = 1 + icon_closed = "wall-locker" + icon_locked = "wall-locker1" + icon_opened = "wall-lockeropen" + icon_broken = "wall-lockerbroken" + icon_off = "wall-lockeroff" + + //too small to put a man in + large = 0 + +/obj/structure/closet/secure_closet/wall/update_icon() + if(broken) + icon_state = icon_broken + else + if(!opened) + if(locked) + icon_state = icon_locked + else + icon_state = icon_closed + else + icon_state = icon_opened diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index dd17e11fd95..790237b2eb6 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -1,3 +1,14 @@ +/obj/structure/closet/syndicate + name = "armoury closet" + desc = "Why is this here?" + icon_state = "syndicate" + icon_closed = "syndicate" + icon_opened = "syndicateopen" + + +/obj/structure/closet/syndicate/personal + desc = "It's a storage unit for operative gear." + /obj/structure/closet/syndicate/personal/New() ..() sleep(2) @@ -12,3 +23,31 @@ new /obj/item/device/multitool(src) new /obj/item/weapon/shield/energy(src) + +/obj/structure/closet/syndicate/nuclear + desc = "It's a storage unit for nuclear-operative gear." + +/obj/structure/closet/syndicate/nuclear/New() + ..() + sleep(2) + new /obj/item/ammo_magazine/a50(src) + new /obj/item/ammo_magazine/a50(src) + new /obj/item/ammo_magazine/a50(src) + new /obj/item/ammo_magazine/a50(src) + new /obj/item/ammo_magazine/a50(src) + new /obj/item/weapon/storage/handcuff_kit(src) + new /obj/item/weapon/storage/flashbang_kit(src) + new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/pinpointer/nukeop(src) + new /obj/item/weapon/pinpointer/nukeop(src) + new /obj/item/weapon/pinpointer/nukeop(src) + new /obj/item/weapon/pinpointer/nukeop(src) + new /obj/item/weapon/pinpointer/nukeop(src) + new /obj/item/device/pda/syndicate(src) + var/obj/item/device/radio/uplink/U = new(src) + U.hidden_uplink.uses = 40 + return diff --git a/code/game/objects/structures/crates_lockers/closets/thunderdome.dm b/code/game/objects/structures/crates_lockers/closets/thunderdome.dm deleted file mode 100644 index 19b7ed2376c..00000000000 --- a/code/game/objects/structures/crates_lockers/closets/thunderdome.dm +++ /dev/null @@ -1,47 +0,0 @@ -/obj/structure/closet/thunderdome/New() - ..() - sleep(2) - -/obj/structure/closet/thunderdome/tdred/New() - ..() - sleep(2) - new /obj/item/clothing/suit/armor/tdome/red(src) - new /obj/item/clothing/suit/armor/tdome/red(src) - new /obj/item/clothing/suit/armor/tdome/red(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - -/obj/structure/closet/thunderdome/tdgreen/New() - ..() - sleep(2) - new /obj/item/clothing/suit/armor/tdome/green(src) - new /obj/item/clothing/suit/armor/tdome/green(src) - new /obj/item/clothing/suit/armor/tdome/green(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm new file mode 100644 index 00000000000..1706e5acc67 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -0,0 +1,221 @@ +/* Utility Closets + * Contains: + * Emergency Closet + * Fire Closet + * Tool Closet + * Radiation Closet + * Bombsuit Closet + * Hydrant + * First Aid + */ + +/* + * Emergency Closet + */ +/obj/structure/closet/emcloset + name = "emergency closet" + desc = "It's a storage unit for emergency breathmasks and o2 tanks." + icon_state = "emergency" + icon_closed = "emergency" + icon_opened = "emergencyopen" + +/obj/structure/closet/emcloset/New() + ..() + + if (prob(40)) + new /obj/item/weapon/storage/toolbox/emergency(src) + + switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1))) + if ("small") + new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/tank/emergency_oxygen(src) + + if ("aid") + new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/storage/firstaid/o2(src) + + if ("tank") + new /obj/item/weapon/tank/air(src) + + if ("both") + new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/clothing/mask/breath(src) + + if ("nothing") + // doot + + // teehee + if ("delete") + del(src) + + //If you want to re-add fire, just add "fire" = 15 to the pick list. + /*if ("fire") + new /obj/structure/closet/firecloset(src.loc) + del(src)*/ + +/obj/structure/closet/emcloset/legacy/New() + new /obj/item/weapon/tank/oxygen(src) + new /obj/item/clothing/mask/gas(src) + +/* + * Fire Closet + */ +/obj/structure/closet/firecloset + name = "fire-safety closet" + desc = "It's a storage unit for fire-fighting supplies." + icon_state = "firecloset" + icon_closed = "firecloset" + icon_opened = "fireclosetopen" + +/obj/structure/closet/firecloset/New() + ..() + + new /obj/item/clothing/suit/fire/firefighter(src) + new /obj/item/clothing/mask/gas(src) + new /obj/item/weapon/tank/oxygen/red(src) + new /obj/item/weapon/extinguisher(src) + new /obj/item/clothing/head/hardhat/red(src) + +/obj/structure/closet/firecloset/full/New() + ..() + sleep(4) + contents = list() + + new /obj/item/clothing/suit/fire/firefighter(src) + new /obj/item/clothing/mask/gas(src) + new /obj/item/device/flashlight(src) + new /obj/item/weapon/tank/oxygen/red(src) + new /obj/item/weapon/extinguisher(src) + new /obj/item/clothing/head/hardhat/red(src) + +/obj/structure/closet/firecloset/update_icon() + if(!opened) + icon_state = icon_closed + else + icon_state = icon_opened + + +/* + * Tool Closet + */ +/obj/structure/closet/toolcloset + name = "tool closet" + desc = "It's a storage unit for tools." + icon_state = "toolcloset" + icon_closed = "toolcloset" + icon_opened = "toolclosetopen" + +/obj/structure/closet/toolcloset/New() + if(prob(40)) + new /obj/item/clothing/suit/hazardvest(src) + if(prob(70)) + new /obj/item/device/flashlight(src) + if(prob(70)) + new /obj/item/weapon/screwdriver(src) + if(prob(70)) + new /obj/item/weapon/wrench(src) + if(prob(70)) + new /obj/item/weapon/weldingtool(src) + if(prob(70)) + new /obj/item/weapon/crowbar(src) + if(prob(70)) + new /obj/item/weapon/wirecutters(src) + if(prob(70)) + new /obj/item/device/t_scanner(src) + if(prob(20)) + new /obj/item/weapon/storage/belt/utility(src) + if(prob(30)) + new /obj/item/weapon/cable_coil/random(src) + if(prob(30)) + new /obj/item/weapon/cable_coil/random(src) + if(prob(30)) + new /obj/item/weapon/cable_coil/random(src) + if(prob(20)) + new /obj/item/device/multitool(src) + if(prob(5)) + new /obj/item/clothing/gloves/yellow(src) + if(prob(40)) + new /obj/item/clothing/head/hardhat(src) + + +/* + * Radiation Closet + */ + +/obj/structure/closet/radiation + name = "radiation suit closet" + desc = "It's a storage unit for rad-protective suits." + icon_state = "radsuitcloset" + icon_opened = "toolclosetopen" + icon_closed = "radsuitcloset" + +/obj/structure/closet/radiation/New() + ..() + new /obj/item/clothing/suit/radiation(src) + new /obj/item/clothing/head/radiation(src) + +/* + * Bombsuit closet + */ + /obj/structure/closet/bombcloset + name = "\improper EOD closet" + desc = "It's a storage unit for explosion-protective suits." + icon_state = "bombsuit" + icon_closed = "bombsuit" + icon_opened = "bombsuitopen" + +/obj/structure/closet/bombcloset/New() + ..() + sleep(2) + new /obj/item/clothing/suit/bomb_suit( src ) + new /obj/item/clothing/under/color/black( src ) + new /obj/item/clothing/shoes/black( src ) + new /obj/item/clothing/head/bomb_hood( src ) + + +/obj/structure/closet/bombclosetsecurity + name = "\improper EOD closet" + desc = "It's a storage unit for explosion-protective suits." + icon_state = "bombsuitsec" + icon_closed = "bombsuitsec" + icon_opened = "bombsuitsecopen" + +/obj/structure/closet/bombclosetsecurity/New() + ..() + sleep(2) + new /obj/item/clothing/suit/bomb_suit/security( src ) + new /obj/item/clothing/under/rank/security( src ) + new /obj/item/clothing/shoes/brown( src ) + new /obj/item/clothing/head/bomb_hood/security( src ) + +/* + * Hydrant + */ +/obj/structure/closet/hydrant //wall mounted fire closet + name = "fire-safety closet" + desc = "It's a storage unit for fire-fighting supplies." + icon_state = "hydrant" + icon_closed = "hydrant" + icon_opened = "hydrant_open" + anchored = 1 + density = 0 + wall_mounted = 1 + +/* + * First Aid + */ +/obj/structure/closet/medical_wall //wall mounted medical closet + name = "first-aid closet" + desc = "It's wall-mounted storage unit for first aid supplies." + icon_state = "medical_wall" + icon_closed = "medical_wall" + icon_opened = "medical_wall_open" + anchored = 1 + density = 0 + wall_mounted = 1 + +/obj/structure/closet/medical_wall/update_icon() + if(!opened) + icon_state = icon_closed + else + icon_state = icon_opened \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index fd93cd3a8ca..823ba0bbab4 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -1,3 +1,9 @@ +/obj/structure/closet/wardrobe + name = "wardrobe" + desc = "It's a storage unit for standard-issue Nanotrasen attire." + icon_state = "blue" + icon_closed = "blue" + /obj/structure/closet/wardrobe/New() new /obj/item/clothing/under/color/blue(src) new /obj/item/clothing/under/color/blue(src) @@ -7,6 +13,12 @@ new /obj/item/clothing/shoes/brown(src) return + +/obj/structure/closet/wardrobe/red + name = "security wardrobe" + icon_state = "red" + icon_closed = "red" + /obj/structure/closet/wardrobe/red/New() new /obj/item/clothing/under/rank/security(src) new /obj/item/clothing/under/rank/security(src) @@ -22,6 +34,12 @@ new /obj/item/clothing/head/beret/sec(src) return + +/obj/structure/closet/wardrobe/pink + name = "pink wardrobe" + icon_state = "pink" + icon_closed = "pink" + /obj/structure/closet/wardrobe/pink/New() new /obj/item/clothing/under/color/pink(src) new /obj/item/clothing/under/color/pink(src) @@ -31,6 +49,11 @@ new /obj/item/clothing/shoes/brown(src) return +/obj/structure/closet/wardrobe/black + name = "black wardrobe" + icon_state = "black" + icon_closed = "black" + /obj/structure/closet/wardrobe/black/New() new /obj/item/clothing/under/color/black(src) new /obj/item/clothing/under/color/black(src) @@ -43,6 +66,13 @@ new /obj/item/clothing/head/that(src) return + +/obj/structure/closet/wardrobe/chaplain_black + name = "chapel wardrobe" + desc = "It's a storage unit for Nanotrasen-approved religious attire." + icon_state = "black" + icon_closed = "black" + /obj/structure/closet/wardrobe/chaplain_black/New() new /obj/item/clothing/under/rank/chaplain(src) new /obj/item/clothing/shoes/black(src) @@ -56,6 +86,12 @@ new /obj/item/weapon/storage/fancy/candle_box(src) return + +/obj/structure/closet/wardrobe/green + name = "green wardrobe" + icon_state = "green" + icon_closed = "green" + /obj/structure/closet/wardrobe/green/New() new /obj/item/clothing/under/color/green(src) new /obj/item/clothing/under/color/green(src) @@ -63,11 +99,15 @@ new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) - //new /obj/item/clothing/head/soft/green(src) - //new /obj/item/clothing/head/soft/green(src) - //new /obj/item/clothing/head/soft/green(src) return + +/obj/structure/closet/wardrobe/orange + name = "prison wardrobe" + desc = "It's a storage unit for Nanotrasen-regulation prisoner attire." + icon_state = "orange" + icon_closed = "orange" + /obj/structure/closet/wardrobe/orange/New() new /obj/item/clothing/under/color/orange(src) new /obj/item/clothing/under/color/orange(src) @@ -75,11 +115,14 @@ new /obj/item/clothing/shoes/orange(src) new /obj/item/clothing/shoes/orange(src) new /obj/item/clothing/shoes/orange(src) - //new /obj/item/clothing/head/soft/orange(src) - //new /obj/item/clothing/head/soft/orange(src) - //new /obj/item/clothing/head/soft/orange(src) return + +/obj/structure/closet/wardrobe/yellow + name = "yellow wardrobe" + icon_state = "wardrobe-y" + icon_closed = "wardrobe-y" + /obj/structure/closet/wardrobe/yellow/New() new /obj/item/clothing/under/color/yellow(src) new /obj/item/clothing/under/color/yellow(src) @@ -87,11 +130,14 @@ new /obj/item/clothing/shoes/orange(src) new /obj/item/clothing/shoes/orange(src) new /obj/item/clothing/shoes/orange(src) - //new /obj/item/clothing/head/soft/yellow(src) - //new /obj/item/clothing/head/soft/yellow(src) - //new /obj/item/clothing/head/soft/yellow(src) return + +/obj/structure/closet/wardrobe/atmospherics_yellow + name = "atmospherics wardrobe" + icon_state = "yellow" + icon_closed = "yellow" + /obj/structure/closet/wardrobe/atmospherics_yellow/New() new /obj/item/clothing/under/rank/atmospheric_technician(src) new /obj/item/clothing/under/rank/atmospheric_technician(src) @@ -99,11 +145,15 @@ new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) - //new /obj/item/clothing/head/soft/yellow(src) - //new /obj/item/clothing/head/soft/yellow(src) - //new /obj/item/clothing/head/soft/yellow(src) return + + +/obj/structure/closet/wardrobe/engineering_yellow + name = "engineering wardrobe" + icon_state = "yellow" + icon_closed = "yellow" + /obj/structure/closet/wardrobe/engineering_yellow/New() new /obj/item/clothing/under/rank/engineer(src) new /obj/item/clothing/under/rank/engineer(src) @@ -111,11 +161,14 @@ new /obj/item/clothing/shoes/orange(src) new /obj/item/clothing/shoes/orange(src) new /obj/item/clothing/shoes/orange(src) - //new /obj/item/clothing/head/soft/yellow(src) - //new /obj/item/clothing/head/soft/yellow(src) - //new /obj/item/clothing/head/soft/yellow(src) return + +/obj/structure/closet/wardrobe/white + name = "white wardrobe" + icon_state = "white" + icon_closed = "white" + /obj/structure/closet/wardrobe/white/New() new /obj/item/clothing/under/color/white(src) new /obj/item/clothing/under/color/white(src) @@ -125,6 +178,12 @@ new /obj/item/clothing/shoes/white(src) return + +/obj/structure/closet/wardrobe/pjs + name = "Pajama wardrobe" + icon_state = "white" + icon_closed = "white" + /obj/structure/closet/wardrobe/pjs/New() new /obj/item/clothing/under/pj/red(src) new /obj/item/clothing/under/pj/red(src) @@ -136,6 +195,12 @@ new /obj/item/clothing/shoes/white(src) return + +/obj/structure/closet/wardrobe/toxins_white + name = "toxins wardrobe" + icon_state = "white" + icon_closed = "white" + /obj/structure/closet/wardrobe/toxins_white/New() new /obj/item/clothing/under/rank/scientist(src) new /obj/item/clothing/under/rank/scientist(src) @@ -148,6 +213,12 @@ new /obj/item/clothing/shoes/white(src) return + +/obj/structure/closet/wardrobe/robotics_black + name = "robotics wardrobe" + icon_state = "black" + icon_closed = "black" + /obj/structure/closet/wardrobe/robotics_black/New() new /obj/item/clothing/under/rank/roboticist(src) new /obj/item/clothing/under/rank/roboticist(src) @@ -157,6 +228,12 @@ new /obj/item/clothing/shoes/black(src) return + +/obj/structure/closet/wardrobe/chemistry_white + name = "chemistry wardrobe" + icon_state = "white" + icon_closed = "white" + /obj/structure/closet/wardrobe/chemistry_white/New() new /obj/item/clothing/under/rank/chemist(src) new /obj/item/clothing/under/rank/chemist(src) @@ -166,6 +243,12 @@ new /obj/item/clothing/suit/labcoat/chemist(src) return + +/obj/structure/closet/wardrobe/genetics_white + name = "genetics wardrobe" + icon_state = "white" + icon_closed = "white" + /obj/structure/closet/wardrobe/genetics_white/New() new /obj/item/clothing/under/rank/geneticist(src) new /obj/item/clothing/under/rank/geneticist(src) @@ -175,6 +258,12 @@ new /obj/item/clothing/suit/labcoat/genetics(src) return + +/obj/structure/closet/wardrobe/virology_white + name = "virology wardrobe" + icon_state = "white" + icon_closed = "white" + /obj/structure/closet/wardrobe/virology_white/New() new /obj/item/clothing/under/rank/virologist(src) new /obj/item/clothing/under/rank/virologist(src) @@ -186,6 +275,12 @@ new /obj/item/clothing/mask/surgical(src) return + +/obj/structure/closet/wardrobe/grey + name = "grey wardrobe" + icon_state = "grey" + icon_closed = "grey" + /obj/structure/closet/wardrobe/grey/New() new /obj/item/clothing/under/color/grey(src) new /obj/item/clothing/under/color/grey(src) @@ -198,6 +293,12 @@ new /obj/item/clothing/head/soft/grey(src) return + +/obj/structure/closet/wardrobe/mixed + name = "mixed wardrobe" + icon_state = "mixed" + icon_closed = "mixed" + /obj/structure/closet/wardrobe/mixed/New() new /obj/item/clothing/under/color/white(src) new /obj/item/clothing/under/color/blue(src) @@ -208,22 +309,4 @@ new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/clothing/shoes/white(src) - //new /obj/item/clothing/head/soft/mime(src) - //new /obj/item/clothing/head/soft/blue(src) - //new /obj/item/clothing/head/soft/yellow(src) - //new /obj/item/clothing/head/soft/green(src) - //new /obj/item/clothing/head/soft/orange(src) - //new /obj/item/clothing/head/soft/purple(src) - //if(prob(10)) new /obj/item/clothing/head/soft/rainbow(src) return - -/obj/structure/closet/lawcloset/New() - new /obj/item/clothing/under/lawyer/female(src) - new /obj/item/clothing/under/lawyer/black(src) - new /obj/item/clothing/under/lawyer/red(src) - new /obj/item/clothing/under/lawyer/bluesuit(src) - new /obj/item/clothing/suit/lawyer/bluejacket(src) - new /obj/item/clothing/under/lawyer/purpsuit(src) - new /obj/item/clothing/suit/lawyer/purpjacket(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/black(src) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 4a1a5aee4cc..31c006f40fe 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -1,3 +1,19 @@ +/obj/structure/window + name = "window" + icon = 'icons/obj/structures.dmi' + desc = "A window." + density = 1 + layer = 3.2//Just above doors + var/health = 14.0 + var/ini_dir = null + var/state = 0 + var/reinf = 0 + var/silicate = 0 // number of units of silicate + var/icon/silicateIcon = null // the silicated icon + pressure_resistance = 4*ONE_ATMOSPHERE + anchored = 1.0 + flags = ON_BORDER + /obj/structure/window/bullet_act(var/obj/item/projectile/Proj) health -= Proj.damage ..() @@ -396,3 +412,22 @@ src.icon_state = "window[junction]" return + + + +/obj/structure/window/basic + icon_state = "window" + +/obj/structure/window/reinforced + reinf = 1 + icon_state = "rwindow" + name = "reinforced window" + +/obj/structure/window/reinforced/tinted + name = "tinted window" + icon_state = "twindow" + opacity = 1 + +/obj/structure/window/reinforced/tinted/frosted + icon_state = "fwindow" + name = "frosted window" \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 16ffca86d4b..d870e32a694 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6,6 +6,222 @@ // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR "code" +#define FILE_DIR "code/ATMOSPHERICS" +#define FILE_DIR "code/ATMOSPHERICS/components" +#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices" +#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices" +#define FILE_DIR "code/ATMOSPHERICS/components/unary" +#define FILE_DIR "code/controllers" +#define FILE_DIR "code/datums" +#define FILE_DIR "code/datums/diseases" +#define FILE_DIR "code/datums/helper_datums" +#define FILE_DIR "code/datums/spells" +#define FILE_DIR "code/defines" +#define FILE_DIR "code/defines/area" +#define FILE_DIR "code/defines/obj" +#define FILE_DIR "code/defines/procs" +#define FILE_DIR "code/defines/tanning" +#define FILE_DIR "code/FEA" +#define FILE_DIR "code/game" +#define FILE_DIR "code/game/area" +#define FILE_DIR "code/game/asteroid" +#define FILE_DIR "code/game/gamemodes" +#define FILE_DIR "code/game/gamemodes/blob" +#define FILE_DIR "code/game/gamemodes/blob/blobs" +#define FILE_DIR "code/game/gamemodes/changeling" +#define FILE_DIR "code/game/gamemodes/cult" +#define FILE_DIR "code/game/gamemodes/events" +#define FILE_DIR "code/game/gamemodes/events/holidays" +#define FILE_DIR "code/game/gamemodes/extended" +#define FILE_DIR "code/game/gamemodes/malfunction" +#define FILE_DIR "code/game/gamemodes/meteor" +#define FILE_DIR "code/game/gamemodes/nuclear" +#define FILE_DIR "code/game/gamemodes/revolution" +#define FILE_DIR "code/game/gamemodes/sandbox" +#define FILE_DIR "code/game/gamemodes/traitor" +#define FILE_DIR "code/game/gamemodes/wizard" +#define FILE_DIR "code/game/jobs" +#define FILE_DIR "code/game/jobs/job" +#define FILE_DIR "code/game/machinery" +#define FILE_DIR "code/game/machinery/atmoalter" +#define FILE_DIR "code/game/machinery/bots" +#define FILE_DIR "code/game/machinery/camera" +#define FILE_DIR "code/game/machinery/computer" +#define FILE_DIR "code/game/machinery/doors" +#define FILE_DIR "code/game/machinery/embedded_controller" +#define FILE_DIR "code/game/machinery/kitchen" +#define FILE_DIR "code/game/machinery/pipe" +#define FILE_DIR "code/game/machinery/telecomms" +#define FILE_DIR "code/game/mecha" +#define FILE_DIR "code/game/mecha/combat" +#define FILE_DIR "code/game/mecha/equipment" +#define FILE_DIR "code/game/mecha/equipment/tools" +#define FILE_DIR "code/game/mecha/equipment/weapons" +#define FILE_DIR "code/game/mecha/medical" +#define FILE_DIR "code/game/mecha/working" +#define FILE_DIR "code/game/objects" +#define FILE_DIR "code/game/objects/effects" +#define FILE_DIR "code/game/objects/effects/decals" +#define FILE_DIR "code/game/objects/effects/decals/Cleanable" +#define FILE_DIR "code/game/objects/effects/spawners" +#define FILE_DIR "code/game/objects/items" +#define FILE_DIR "code/game/objects/items/devices" +#define FILE_DIR "code/game/objects/items/devices/PDA" +#define FILE_DIR "code/game/objects/items/devices/radio" +#define FILE_DIR "code/game/objects/items/robot" +#define FILE_DIR "code/game/objects/items/stacks" +#define FILE_DIR "code/game/objects/items/stacks/sheets" +#define FILE_DIR "code/game/objects/items/stacks/tiles" +#define FILE_DIR "code/game/objects/items/weapons" +#define FILE_DIR "code/game/objects/items/weapons/grenades" +#define FILE_DIR "code/game/objects/items/weapons/implants" +#define FILE_DIR "code/game/objects/items/weapons/secstorage" +#define FILE_DIR "code/game/objects/items/weapons/storage" +#define FILE_DIR "code/game/objects/items/weapons/tanks" +#define FILE_DIR "code/game/objects/structures" +#define FILE_DIR "code/game/objects/structures/crates_lockers" +#define FILE_DIR "code/game/objects/structures/crates_lockers/closets" +#define FILE_DIR "code/game/objects/structures/crates_lockers/closets/secure" +#define FILE_DIR "code/game/objects/structures/stool_bed_chair_nest" +#define FILE_DIR "code/game/turfs" +#define FILE_DIR "code/game/turfs/simulated" +#define FILE_DIR "code/game/turfs/unsimulated" +#define FILE_DIR "code/game/vehicles" +#define FILE_DIR "code/game/vehicles/airtight" +#define FILE_DIR "code/game/verbs" +#define FILE_DIR "code/js" +#define FILE_DIR "code/modules" +#define FILE_DIR "code/modules/admin" +#define FILE_DIR "code/modules/admin/DB ban" +#define FILE_DIR "code/modules/admin/verbs" +#define FILE_DIR "code/modules/assembly" +#define FILE_DIR "code/modules/awaymissions" +#define FILE_DIR "code/modules/awaymissions/maploader" +#define FILE_DIR "code/modules/client" +#define FILE_DIR "code/modules/clothing" +#define FILE_DIR "code/modules/clothing/glasses" +#define FILE_DIR "code/modules/clothing/gloves" +#define FILE_DIR "code/modules/clothing/head" +#define FILE_DIR "code/modules/clothing/masks" +#define FILE_DIR "code/modules/clothing/shoes" +#define FILE_DIR "code/modules/clothing/spacesuits" +#define FILE_DIR "code/modules/clothing/suits" +#define FILE_DIR "code/modules/clothing/under" +#define FILE_DIR "code/modules/clothing/under/jobs" +#define FILE_DIR "code/modules/critters" +#define FILE_DIR "code/modules/critters/hivebots" +#define FILE_DIR "code/modules/detectivework" +#define FILE_DIR "code/modules/flufftext" +#define FILE_DIR "code/modules/food" +#define FILE_DIR "code/modules/library" +#define FILE_DIR "code/modules/liquid" +#define FILE_DIR "code/modules/mining" +#define FILE_DIR "code/modules/mob" +#define FILE_DIR "code/modules/mob/dead" +#define FILE_DIR "code/modules/mob/dead/observer" +#define FILE_DIR "code/modules/mob/living" +#define FILE_DIR "code/modules/mob/living/blob" +#define FILE_DIR "code/modules/mob/living/carbon" +#define FILE_DIR "code/modules/mob/living/carbon/alien" +#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid" +#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste" +#define FILE_DIR "code/modules/mob/living/carbon/alien/larva" +#define FILE_DIR "code/modules/mob/living/carbon/alien/special" +#define FILE_DIR "code/modules/mob/living/carbon/brain" +#define FILE_DIR "code/modules/mob/living/carbon/human" +#define FILE_DIR "code/modules/mob/living/carbon/metroid" +#define FILE_DIR "code/modules/mob/living/carbon/monkey" +#define FILE_DIR "code/modules/mob/living/silicon" +#define FILE_DIR "code/modules/mob/living/silicon/ai" +#define FILE_DIR "code/modules/mob/living/silicon/ai/freelook" +#define FILE_DIR "code/modules/mob/living/silicon/decoy" +#define FILE_DIR "code/modules/mob/living/silicon/pai" +#define FILE_DIR "code/modules/mob/living/silicon/robot" +#define FILE_DIR "code/modules/mob/living/simple_animal" +#define FILE_DIR "code/modules/mob/new_player" +#define FILE_DIR "code/modules/mob/organ" +#define FILE_DIR "code/modules/paperwork" +#define FILE_DIR "code/modules/power" +#define FILE_DIR "code/modules/power/antimatter" +#define FILE_DIR "code/modules/power/singularity" +#define FILE_DIR "code/modules/power/singularity/particle_accelerator" +#define FILE_DIR "code/modules/projectiles" +#define FILE_DIR "code/modules/projectiles/ammunition" +#define FILE_DIR "code/modules/projectiles/guns" +#define FILE_DIR "code/modules/projectiles/guns/energy" +#define FILE_DIR "code/modules/projectiles/guns/projectile" +#define FILE_DIR "code/modules/projectiles/projectile" +#define FILE_DIR "code/modules/reagents" +#define FILE_DIR "code/modules/reagents/reagent_containers" +#define FILE_DIR "code/modules/reagents/reagent_containers/food" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks/bottle" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/snacks" +#define FILE_DIR "code/modules/reagents/reagent_containers/glass" +#define FILE_DIR "code/modules/reagents/reagent_containers/glass/bottle" +#define FILE_DIR "code/modules/recycling" +#define FILE_DIR "code/modules/research" +#define FILE_DIR "code/modules/scripting" +#define FILE_DIR "code/modules/scripting/AST" +#define FILE_DIR "code/modules/scripting/AST/Operators" +#define FILE_DIR "code/modules/scripting/Implementations" +#define FILE_DIR "code/modules/scripting/Interpreter" +#define FILE_DIR "code/modules/scripting/Parser" +#define FILE_DIR "code/modules/scripting/Scanner" +#define FILE_DIR "code/modules/security levels" +#define FILE_DIR "code/unused" +#define FILE_DIR "code/unused/beast" +#define FILE_DIR "code/unused/computer2" +#define FILE_DIR "code/unused/disease2" +#define FILE_DIR "code/unused/gamemodes" +#define FILE_DIR "code/unused/hivebot" +#define FILE_DIR "code/unused/mining" +#define FILE_DIR "code/unused/optics" +#define FILE_DIR "code/unused/pda2" +#define FILE_DIR "code/unused/powerarmor" +#define FILE_DIR "code/unused/spacecraft" +#define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/carn" +#define FILE_DIR "code/WorkInProgress/mapload" +#define FILE_DIR "code/WorkInProgress/organs" +#define FILE_DIR "code/WorkInProgress/virus2" +#define FILE_DIR "html" +#define FILE_DIR "icons" +#define FILE_DIR "icons/effects" +#define FILE_DIR "icons/mecha" +#define FILE_DIR "icons/misc" +#define FILE_DIR "icons/mob" +#define FILE_DIR "icons/obj" +#define FILE_DIR "icons/obj/assemblies" +#define FILE_DIR "icons/obj/atmospherics" +#define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/doors" +#define FILE_DIR "icons/obj/machines" +#define FILE_DIR "icons/obj/pipes" +#define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/spideros_icons" +#define FILE_DIR "icons/Testing" +#define FILE_DIR "icons/turf" +#define FILE_DIR "icons/vehicles" +#define FILE_DIR "icons/vending_icons" +#define FILE_DIR "interface" +#define FILE_DIR "maps" +#define FILE_DIR "maps/RandomZLevels" +#define FILE_DIR "sound" +#define FILE_DIR "sound/AI" +#define FILE_DIR "sound/ambience" +#define FILE_DIR "sound/effects" +#define FILE_DIR "sound/hallucinations" +#define FILE_DIR "sound/items" +#define FILE_DIR "sound/machines" +#define FILE_DIR "sound/mecha" +#define FILE_DIR "sound/misc" +#define FILE_DIR "sound/piano" +#define FILE_DIR "sound/voice" +#define FILE_DIR "sound/weapons" +#define FILE_DIR "tools" +#define FILE_DIR "tools/Redirector" // END_FILE_DIR // BEGIN_PREFERENCES @@ -60,6 +276,7 @@ #include "code\datums\recipe.dm" #include "code\datums\spell.dm" #include "code\datums\sun.dm" +#include "code\datums\supplypacks.dm" #include "code\datums\vote.dm" #include "code\datums\diseases\alien_embryo.dm" #include "code\datums\diseases\appendicitis.dm" @@ -106,17 +323,12 @@ #include "code\defines\turf.dm" #include "code\defines\world.dm" #include "code\defines\area\Space Station 13 areas.dm" -#include "code\defines\obj\closet.dm" -#include "code\defines\obj\costume.dm" -#include "code\defines\obj\decal.dm" #include "code\defines\obj\hydro.dm" #include "code\defines\obj\machinery.dm" #include "code\defines\obj\storage.dm" -#include "code\defines\obj\supplypacks.dm" #include "code\defines\obj\toy.dm" #include "code\defines\obj\vending.dm" #include "code\defines\obj\weapon.dm" -#include "code\defines\obj\window.dm" #include "code\defines\procs\AStar.dm" #include "code\defines\procs\captain_announce.dm" #include "code\defines\procs\church_name.dm" @@ -393,12 +605,19 @@ #include "code\game\objects\effects\landmarks.dm" #include "code\game\objects\effects\manifest.dm" #include "code\game\objects\effects\mines.dm" +#include "code\game\objects\effects\misc.dm" #include "code\game\objects\effects\overlays.dm" #include "code\game\objects\effects\portals.dm" #include "code\game\objects\effects\signs.dm" -#include "code\game\objects\effects\decals\blood.dm" +#include "code\game\objects\effects\decals\cleanable.dm" #include "code\game\objects\effects\decals\contraband.dm" #include "code\game\objects\effects\decals\crayon.dm" +#include "code\game\objects\effects\decals\misc.dm" +#include "code\game\objects\effects\decals\remains.dm" +#include "code\game\objects\effects\decals\Cleanable\aliens.dm" +#include "code\game\objects\effects\decals\Cleanable\humans.dm" +#include "code\game\objects\effects\decals\Cleanable\misc.dm" +#include "code\game\objects\effects\decals\Cleanable\robots.dm" #include "code\game\objects\effects\spawners\bombspawner.dm" #include "code\game\objects\effects\spawners\gibspawner.dm" #include "code\game\objects\items\apc_frame.dm" @@ -538,24 +757,21 @@ #include "code\game\objects\structures\crates_lockers\closets.dm" #include "code\game\objects\structures\crates_lockers\crates.dm" #include "code\game\objects\structures\crates_lockers\largecrate.dm" -#include "code\game\objects\structures\crates_lockers\closets\bombsuit.dm" -#include "code\game\objects\structures\crates_lockers\closets\emergency.dm" +#include "code\game\objects\structures\crates_lockers\closets\coffin.dm" +#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" #include "code\game\objects\structures\crates_lockers\closets\fireaxe.dm" -#include "code\game\objects\structures\crates_lockers\closets\firecloset.dm" -#include "code\game\objects\structures\crates_lockers\closets\fitnesscloset.dm" +#include "code\game\objects\structures\crates_lockers\closets\fitness.dm" #include "code\game\objects\structures\crates_lockers\closets\gimmick.dm" -#include "code\game\objects\structures\crates_lockers\closets\gmcloset.dm" -#include "code\game\objects\structures\crates_lockers\closets\janitor.dm" -#include "code\game\objects\structures\crates_lockers\closets\kitchen.dm" +#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" #include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" #include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" -#include "code\game\objects\structures\crates_lockers\closets\nuclear.dm" #include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" -#include "code\game\objects\structures\crates_lockers\closets\thunderdome.dm" +#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" #include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm"