From 3cbbbd78ea177ec30802720e3bdaca6c6114e856 Mon Sep 17 00:00:00 2001 From: "elly1989@rocketmail.com" Date: Sun, 2 Sep 2012 18:27:45 +0000 Subject: [PATCH] Fixes an issue with smoke bombs calling the smoke effect set_up improperly Supply_packs ow use paths rather than strings. This is because paths for some of the items have changed with recent updates which was causing the strings to become invalid, but the compiler does not check them. Now that they are paths, the compiler will warn you. Fixes a number of runtimes with supply_packs/shuttle. A number of items that were meant to spawn in supply crates that were affected by this now spawn again. (stuff like grenades, spray bottles, etc) Added a damp rag to the janitorial closet. Added ammonia to the hydro crate (removed 2 bottles of pest-spray and increased cost slightly to offset) Moved explosion2.dm to WIP/carn/Explosion2.dm git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4601 316c924e-a436-60f5-8080-3fe189b3f50e --- .../carn/Explosion2.dm} | 0 code/defines/obj/supplypacks.dm | 682 +++++++++--------- .../items/weapons/grenades/smokebomb.dm | 2 +- code/game/supplyshuttle.dm | 38 +- 4 files changed, 362 insertions(+), 360 deletions(-) rename code/{game/objects/explosion2.dm => WorkInProgress/carn/Explosion2.dm} (100%) diff --git a/code/game/objects/explosion2.dm b/code/WorkInProgress/carn/Explosion2.dm similarity index 100% rename from code/game/objects/explosion2.dm rename to code/WorkInProgress/carn/Explosion2.dm diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 9d2fb25d00f..3ba5796fd5c 100644 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -5,568 +5,590 @@ //BIG NOTE: Don't add living things to crates, that's bad, it will break the shuttle. //NEW NOTE: Do NOT set the price of any crates below 7 points. Doing so allows infinite points. +/datum/supply_packs + var/name = null + var/list/contains = list() + var/manifest + var/amount = null + var/cost = null + var/containertype = null + var/containername = null + var/access = null + var/hidden = 0 + var/contraband = 0 + +/datum/supply_packs/New() + manifest = "" + /datum/supply_packs/specialops name = "Special Ops supplies" - contains = list("/obj/item/weapon/storage/emp_kit", - "/obj/item/weapon/smokebomb", - "/obj/item/weapon/smokebomb", - "/obj/item/weapon/smokebomb", - "/obj/item/weapon/pen/paralysis", - "/obj/item/weapon/grenade/chem_grenade/incendiary") + contains = list(/obj/item/weapon/storage/emp_kit, + /obj/item/weapon/grenade/smokebomb, + /obj/item/weapon/grenade/smokebomb, + /obj/item/weapon/grenade/smokebomb, + /obj/item/weapon/pen/paralysis, + /obj/item/weapon/grenade/chem_grenade/incendiary) cost = 20 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Special Ops crate" hidden = 1 /datum/supply_packs/food name = "Food crate" - contains = list("/obj/item/weapon/reagent_containers/food/snacks/flour", - "/obj/item/weapon/reagent_containers/food/snacks/flour", - "/obj/item/weapon/reagent_containers/food/snacks/flour", - "/obj/item/weapon/reagent_containers/food/snacks/flour", - "/obj/item/weapon/reagent_containers/food/snacks/flour", - "/obj/item/weapon/reagent_containers/food/drinks/milk", - "/obj/item/weapon/reagent_containers/food/drinks/milk", - "/obj/item/weapon/storage/fancy/egg_box", - "/obj/item/weapon/reagent_containers/food/condiment/enzyme", - "/obj/item/weapon/reagent_containers/food/snacks/grown/banana", - "/obj/item/weapon/reagent_containers/food/snacks/grown/banana", - "/obj/item/weapon/reagent_containers/food/snacks/grown/banana") + contains = list(/obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/drinks/milk, + /obj/item/weapon/reagent_containers/food/drinks/milk, + /obj/item/weapon/storage/fancy/egg_box, + /obj/item/weapon/reagent_containers/food/condiment/enzyme, + /obj/item/weapon/reagent_containers/food/snacks/grown/banana, + /obj/item/weapon/reagent_containers/food/snacks/grown/banana, + /obj/item/weapon/reagent_containers/food/snacks/grown/banana) cost = 10 - containertype = "/obj/structure/closet/crate/freezer" + containertype = /obj/structure/closet/crate/freezer containername = "Food crate" /datum/supply_packs/monkey name = "Monkey crate" - contains = list ("/obj/item/weapon/storage/monkeycube_box") + contains = list (/obj/item/weapon/storage/monkeycube_box) cost = 20 - containertype = "/obj/structure/closet/crate/freezer" + containertype = /obj/structure/closet/crate/freezer containername = "Monkey crate" /datum/supply_packs/beanbagammo name = "Beanbag shells" - contains = list("/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag", - "/obj/item/ammo_casing/shotgun/beanbag") + contains = list(/obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag, + /obj/item/ammo_casing/shotgun/beanbag) cost = 10 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Beanbag shells" /datum/supply_packs/toner name = "Toner Cartridges" - contains = list("/obj/item/device/toner", - "/obj/item/device/toner", - "/obj/item/device/toner", - "/obj/item/device/toner", - "/obj/item/device/toner", - "/obj/item/device/toner") + contains = list(/obj/item/device/toner, + /obj/item/device/toner, + /obj/item/device/toner, + /obj/item/device/toner, + /obj/item/device/toner, + /obj/item/device/toner) cost = 10 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Toner Cartridges" /datum/supply_packs/party name = "Party equipment" - contains = list("/obj/item/weapon/storage/drinkingglasses", - "/obj/item/weapon/reagent_containers/food/drinks/shaker", - "/obj/item/weapon/reagent_containers/food/drinks/bottle/patron", - "/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager", - "/obj/item/weapon/reagent_containers/food/drinks/ale", - "/obj/item/weapon/reagent_containers/food/drinks/ale", - "/obj/item/weapon/reagent_containers/food/drinks/beer", - "/obj/item/weapon/reagent_containers/food/drinks/beer", - "/obj/item/weapon/reagent_containers/food/drinks/beer", - "/obj/item/weapon/reagent_containers/food/drinks/beer") + contains = list(/obj/item/weapon/storage/drinkingglasses, + /obj/item/weapon/reagent_containers/food/drinks/shaker, + /obj/item/weapon/reagent_containers/food/drinks/bottle/patron, + /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, + /obj/item/weapon/reagent_containers/food/drinks/ale, + /obj/item/weapon/reagent_containers/food/drinks/ale, + /obj/item/weapon/reagent_containers/food/drinks/beer, + /obj/item/weapon/reagent_containers/food/drinks/beer, + /obj/item/weapon/reagent_containers/food/drinks/beer, + /obj/item/weapon/reagent_containers/food/drinks/beer) cost = 20 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Party equipment" /datum/supply_packs/internals name = "Internals crate" - contains = list("/obj/item/clothing/mask/gas", - "/obj/item/clothing/mask/gas", - "/obj/item/clothing/mask/gas", - "/obj/item/weapon/tank/air", - "/obj/item/weapon/tank/air", - "/obj/item/weapon/tank/air") + contains = list(/obj/item/clothing/mask/gas, + /obj/item/clothing/mask/gas, + /obj/item/clothing/mask/gas, + /obj/item/weapon/tank/air, + /obj/item/weapon/tank/air, + /obj/item/weapon/tank/air) cost = 10 - containertype = "/obj/structure/closet/crate/internals" + containertype = /obj/structure/closet/crate/internals containername = "Internals crate" /datum/supply_packs/evacuation name = "Emergency equipment" - contains = list("/obj/machinery/bot/floorbot", - "/obj/machinery/bot/floorbot", - "/obj/machinery/bot/medbot", - "/obj/machinery/bot/medbot", - "/obj/item/weapon/tank/air", - "/obj/item/weapon/tank/air", - "/obj/item/weapon/tank/air", - "/obj/item/weapon/tank/air", - "/obj/item/weapon/tank/air", - "/obj/item/clothing/mask/gas", - "/obj/item/clothing/mask/gas", - "/obj/item/clothing/mask/gas", - "/obj/item/clothing/mask/gas", - "/obj/item/clothing/mask/gas") + contains = list(/obj/machinery/bot/floorbot, + /obj/machinery/bot/floorbot, + /obj/machinery/bot/medbot, + /obj/machinery/bot/medbot, + /obj/item/weapon/tank/air, + /obj/item/weapon/tank/air, + /obj/item/weapon/tank/air, + /obj/item/weapon/tank/air, + /obj/item/weapon/tank/air, + /obj/item/clothing/mask/gas, + /obj/item/clothing/mask/gas, + /obj/item/clothing/mask/gas, + /obj/item/clothing/mask/gas, + /obj/item/clothing/mask/gas) cost = 35 - containertype = "/obj/structure/closet/crate/internals" + containertype = /obj/structure/closet/crate/internals containername = "Emergency Crate" /datum/supply_packs/janitor name = "Janitorial supplies" - contains = list("/obj/item/weapon/reagent_containers/glass/bucket", - "/obj/item/weapon/reagent_containers/glass/bucket", - "/obj/item/weapon/reagent_containers/glass/bucket", - "/obj/item/weapon/mop", - "/obj/item/weapon/caution", - "/obj/item/weapon/caution", - "/obj/item/weapon/caution", - "/obj/item/weapon/cleaner", - "/obj/item/weapon/grenade/chem_grenade/cleaner", - "/obj/item/weapon/grenade/chem_grenade/cleaner", - "/obj/item/weapon/grenade/chem_grenade/cleaner", - "/obj/structure/mopbucket") + contains = list(/obj/item/weapon/reagent_containers/glass/bucket, + /obj/item/weapon/reagent_containers/glass/bucket, + /obj/item/weapon/reagent_containers/glass/bucket, + /obj/item/weapon/mop, + /obj/item/weapon/caution, + /obj/item/weapon/caution, + /obj/item/weapon/caution, + /obj/item/weapon/reagent_containers/spray/cleaner, + /obj/item/weapon/reagent_containers/glass/rag, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/item/weapon/grenade/chem_grenade/cleaner, + /obj/structure/mopbucket) cost = 10 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Janitorial supplies" /datum/supply_packs/lightbulbs name = "Replacement lights" - contains = list("/obj/item/weapon/storage/lightbox/mixed", - "/obj/item/weapon/storage/lightbox/mixed", - "/obj/item/weapon/storage/lightbox/mixed") + contains = list(/obj/item/weapon/storage/lightbox/mixed, + /obj/item/weapon/storage/lightbox/mixed, + /obj/item/weapon/storage/lightbox/mixed) cost = 10 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Replacement lights" /datum/supply_packs/costume name = "Standard Costume crate" - contains = list("/obj/item/weapon/storage/backpack/clown", - "/obj/item/clothing/shoes/clown_shoes", - "/obj/item/clothing/mask/gas/clown_hat", - "/obj/item/clothing/under/rank/clown", - "/obj/item/weapon/bikehorn", - "/obj/item/clothing/under/mime", - "/obj/item/clothing/shoes/black", - "/obj/item/clothing/gloves/white", - "/obj/item/clothing/mask/gas/mime", - "/obj/item/clothing/head/beret", - "/obj/item/clothing/suit/suspenders", - "/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing") + contains = list(/obj/item/weapon/storage/backpack/clown, + /obj/item/clothing/shoes/clown_shoes, + /obj/item/clothing/mask/gas/clown_hat, + /obj/item/clothing/under/rank/clown, + /obj/item/weapon/bikehorn, + /obj/item/clothing/under/mime, + /obj/item/clothing/shoes/black, + /obj/item/clothing/gloves/white, + /obj/item/clothing/mask/gas/mime, + /obj/item/clothing/head/beret, + /obj/item/clothing/suit/suspenders, + /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing) cost = 10 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Standard Costumes" access = access_theatre /datum/supply_packs/wizard name = "Wizard costume" - contains = list("/obj/item/weapon/staff", - "/obj/item/clothing/suit/wizrobe/fake", - "/obj/item/clothing/shoes/sandal", - "/obj/item/clothing/head/wizard/fake") + contains = list(/obj/item/weapon/staff, + /obj/item/clothing/suit/wizrobe/fake, + /obj/item/clothing/shoes/sandal, + /obj/item/clothing/head/wizard/fake) cost = 20 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Wizard costume crate" /datum/supply_packs/mule name = "MULEbot Crate" - contains = list("/obj/machinery/bot/mulebot") + contains = list(/obj/machinery/bot/mulebot) cost = 20 - containertype = "/obj/structure/largecrate/mule" + containertype = /obj/structure/largecrate/mule containername = "MULEbot Crate" /datum/supply_packs/hydroponics // -- Skie name = "Hydroponics Supply Crate" - contains = list("/obj/item/weapon/plantbgone", - "/obj/item/weapon/plantbgone", - "/obj/item/weapon/plantbgone", - "/obj/item/weapon/plantbgone", - "/obj/item/weapon/hatchet", - "/obj/item/weapon/minihoe", - "/obj/item/device/analyzer/plant_analyzer", - "/obj/item/clothing/gloves/botanic_leather", - "/obj/item/clothing/suit/apron") // Updated with new things - cost = 10 - containertype = "/obj/structure/closet/crate/hydroponics" + contains = list(/obj/item/weapon/reagent_containers/spray/plantbgone, + /obj/item/weapon/reagent_containers/spray/plantbgone, + /obj/item/weapon/reagent_containers/glass/bottle/ammonia, + /obj/item/weapon/reagent_containers/glass/bottle/ammonia, + /obj/item/weapon/hatchet, + /obj/item/weapon/minihoe, + /obj/item/device/analyzer/plant_analyzer, + /obj/item/clothing/gloves/botanic_leather, + /obj/item/clothing/suit/apron) // Updated with new things + cost = 15 + containertype = /obj/structure/closet/crate/hydroponics containername = "Hydroponics crate" access = access_hydroponics /datum/supply_packs/seeds name = "Seeds Crate" - contains = list("/obj/item/seeds/chiliseed", - "/obj/item/seeds/berryseed", - "/obj/item/seeds/cornseed", - "/obj/item/seeds/eggplantseed", - "/obj/item/seeds/tomatoseed", - "/obj/item/seeds/soyaseed", - "/obj/item/seeds/wheatseed", - "/obj/item/seeds/carrotseed", - "/obj/item/seeds/sunflowerseed", - "/obj/item/seeds/chantermycelium", - "/obj/item/seeds/potatoseed", - "/obj/item/seeds/sugarcaneseed") + contains = list(/obj/item/seeds/chiliseed, + /obj/item/seeds/berryseed, + /obj/item/seeds/cornseed, + /obj/item/seeds/eggplantseed, + /obj/item/seeds/tomatoseed, + /obj/item/seeds/soyaseed, + /obj/item/seeds/wheatseed, + /obj/item/seeds/carrotseed, + /obj/item/seeds/sunflowerseed, + /obj/item/seeds/chantermycelium, + /obj/item/seeds/potatoseed, + /obj/item/seeds/sugarcaneseed) cost = 10 - containertype = "/obj/structure/closet/crate/hydroponics" + containertype = /obj/structure/closet/crate/hydroponics containername = "Seeds crate" access = access_hydroponics /datum/supply_packs/exoticseeds name = "Exotic Seeds Crate" - contains = list("/obj/item/seeds/nettleseed", - "/obj/item/seeds/replicapod", - "/obj/item/seeds/replicapod", - "/obj/item/seeds/replicapod", - "/obj/item/seeds/plumpmycelium", - "/obj/item/seeds/libertymycelium", - "/obj/item/seeds/amanitamycelium", - "/obj/item/seeds/reishimycelium", - "/obj/item/seeds/bananaseed", - "/obj/item/seeds/eggyseed") + contains = list(/obj/item/seeds/nettleseed, + /obj/item/seeds/replicapod, + /obj/item/seeds/replicapod, + /obj/item/seeds/replicapod, + /obj/item/seeds/plumpmycelium, + /obj/item/seeds/libertymycelium, + /obj/item/seeds/amanitamycelium, + /obj/item/seeds/reishimycelium, + /obj/item/seeds/bananaseed, + /obj/item/seeds/eggyseed) cost = 15 - containertype = "/obj/structure/closet/crate/hydroponics" + containertype = /obj/structure/closet/crate/hydroponics containername = "Exotic Seeds crate" access = access_hydroponics /datum/supply_packs/medical name = "Medical crate" - contains = list("/obj/item/weapon/storage/firstaid/regular", - "/obj/item/weapon/storage/firstaid/fire", - "/obj/item/weapon/storage/firstaid/toxin", - "/obj/item/weapon/storage/firstaid/o2", - "/obj/item/weapon/reagent_containers/glass/bottle/antitoxin", - "/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline", - "/obj/item/weapon/reagent_containers/glass/bottle/stoxin", - "/obj/item/weapon/storage/syringes") + contains = list(/obj/item/weapon/storage/firstaid/regular, + /obj/item/weapon/storage/firstaid/fire, + /obj/item/weapon/storage/firstaid/toxin, + /obj/item/weapon/storage/firstaid/o2, + /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, + /obj/item/weapon/reagent_containers/glass/bottle/stoxin, + /obj/item/weapon/storage/syringes) cost = 10 - containertype = "/obj/structure/closet/crate/medical" + containertype = /obj/structure/closet/crate/medical containername = "Medical crate" /datum/supply_packs/virus name = "Virus crate" - contains = list("/obj/item/weapon/reagent_containers/glass/bottle/flu_virion", - "/obj/item/weapon/reagent_containers/glass/bottle/cold", - "/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs", - "/obj/item/weapon/reagent_containers/glass/bottle/magnitis", -// "/obj/item/weapon/reagent_containers/glass/bottle/wizarditis", worse than GBS if anything -// "/obj/item/weapon/reagent_containers/glass/bottle/gbs", No. Just no. - "/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat", - "/obj/item/weapon/reagent_containers/glass/bottle/brainrot", - "/obj/item/weapon/storage/syringes", - "/obj/item/weapon/storage/beakerbox") + contains = list(/obj/item/weapon/reagent_containers/glass/bottle/flu_virion, + /obj/item/weapon/reagent_containers/glass/bottle/cold, + /obj/item/weapon/reagent_containers/glass/bottle/fake_gbs, + /obj/item/weapon/reagent_containers/glass/bottle/magnitis, +// /obj/item/weapon/reagent_containers/glass/bottle/wizarditis, worse than GBS if anything +// /obj/item/weapon/reagent_containers/glass/bottle/gbs, No. Just no. + /obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat, + /obj/item/weapon/reagent_containers/glass/bottle/brainrot, + /obj/item/weapon/storage/syringes, + /obj/item/weapon/storage/beakerbox) cost = 20 - containertype = "/obj/structure/closet/crate/secure/weapon" + containertype = /obj/structure/closet/crate/secure/weapon containername = "Virus crate" access = access_cmo /datum/supply_packs/metal50 name = "50 Metal Sheets" - contains = list("/obj/item/stack/sheet/metal") + contains = list(/obj/item/stack/sheet/metal) amount = 50 cost = 10 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Metal sheets crate" /datum/supply_packs/glass50 name = "50 Glass Sheets" - contains = list("/obj/item/stack/sheet/glass") + contains = list(/obj/item/stack/sheet/glass) amount = 50 cost = 10 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Glass sheets crate" /datum/supply_packs/electrical name = "Electrical maintenance crate" - contains = list("/obj/item/weapon/storage/toolbox/electrical", - "/obj/item/weapon/storage/toolbox/electrical", - "/obj/item/clothing/gloves/yellow", - "/obj/item/clothing/gloves/yellow", - "/obj/item/weapon/cell", - "/obj/item/weapon/cell", - "/obj/item/weapon/cell/high", - "/obj/item/weapon/cell/high") + contains = list(/obj/item/weapon/storage/toolbox/electrical, + /obj/item/weapon/storage/toolbox/electrical, + /obj/item/clothing/gloves/yellow, + /obj/item/clothing/gloves/yellow, + /obj/item/weapon/cell, + /obj/item/weapon/cell, + /obj/item/weapon/cell/high, + /obj/item/weapon/cell/high) cost = 15 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Electrical maintenance crate" /datum/supply_packs/mechanical name = "Mechanical maintenance crate" - contains = list("/obj/item/weapon/storage/belt/utility/full", - "/obj/item/weapon/storage/belt/utility/full", - "/obj/item/weapon/storage/belt/utility/full", - "/obj/item/clothing/suit/hazardvest", - "/obj/item/clothing/suit/hazardvest", - "/obj/item/clothing/suit/hazardvest", - "/obj/item/clothing/head/welding", - "/obj/item/clothing/head/welding", - "/obj/item/clothing/head/hardhat") + contains = list(/obj/item/weapon/storage/belt/utility/full, + /obj/item/weapon/storage/belt/utility/full, + /obj/item/weapon/storage/belt/utility/full, + /obj/item/clothing/suit/hazardvest, + /obj/item/clothing/suit/hazardvest, + /obj/item/clothing/suit/hazardvest, + /obj/item/clothing/head/welding, + /obj/item/clothing/head/welding, + /obj/item/clothing/head/hardhat) cost = 10 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Mechanical maintenance crate" /datum/supply_packs/watertank name = "Water tank crate" - contains = list("/obj/structure/reagent_dispensers/watertank") + contains = list(/obj/structure/reagent_dispensers/watertank) cost = 8 - containertype = "/obj/structure/largecrate" + containertype = /obj/structure/largecrate containername = "water tank crate" /datum/supply_packs/fueltank name = "Fuel tank crate" - contains = list("/obj/structure/reagent_dispensers/fueltank") + contains = list(/obj/structure/reagent_dispensers/fueltank) cost = 8 - containertype = "/obj/structure/largecrate" + containertype = /obj/structure/largecrate containername = "fuel tank crate" /datum/supply_packs/engine name = "Emitter crate" - contains = list("/obj/machinery/emitter", - "/obj/machinery/emitter",) + contains = list(/obj/machinery/emitter, + /obj/machinery/emitter) cost = 10 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Emitter crate" access = access_heads /datum/supply_packs/engine/field_gen name = "Field Generator crate" - contains = list("/obj/machinery/field_generator", - "/obj/machinery/field_generator",) + contains = list(/obj/machinery/field_generator, + /obj/machinery/field_generator) containername = "Field Generator crate" /datum/supply_packs/engine/sing_gen name = "Singularity Generator crate" - contains = list("/obj/machinery/the_singularitygen") + contains = list(/obj/machinery/the_singularitygen) containername = "Singularity Generator crate" /datum/supply_packs/engine/collector name = "Collector crate" - contains = list("/obj/machinery/power/rad_collector", - "/obj/machinery/power/rad_collector", - "/obj/machinery/power/rad_collector") + contains = list(/obj/machinery/power/rad_collector, + /obj/machinery/power/rad_collector, + /obj/machinery/power/rad_collector) containername = "Collector crate" /datum/supply_packs/engine/PA name = "Particle Accelerator crate" cost = 40 - contains = list("/obj/structure/particle_accelerator/fuel_chamber", - "/obj/machinery/particle_accelerator/control_box", - "/obj/structure/particle_accelerator/particle_emitter/center", - "/obj/structure/particle_accelerator/particle_emitter/left", - "/obj/structure/particle_accelerator/particle_emitter/right", - "/obj/structure/particle_accelerator/power_box", - "/obj/structure/particle_accelerator/end_cap") + contains = list(/obj/structure/particle_accelerator/fuel_chamber, + /obj/machinery/particle_accelerator/control_box, + /obj/structure/particle_accelerator/particle_emitter/center, + /obj/structure/particle_accelerator/particle_emitter/left, + /obj/structure/particle_accelerator/particle_emitter/right, + /obj/structure/particle_accelerator/power_box, + /obj/structure/particle_accelerator/end_cap) containername = "Particle Accelerator crate" /datum/supply_packs/mecha_ripley name = "Circuit Crate (\"Ripley\" APLU)" - contains = list("/obj/item/weapon/book/manual/ripley_build_and_repair", - "/obj/item/weapon/circuitboard/mecha/ripley/main", //TEMPORARY due to lack of circuitboard printer - "/obj/item/weapon/circuitboard/mecha/ripley/peripherals") //TEMPORARY due to lack of circuitboard printer + contains = list(/obj/item/weapon/book/manual/ripley_build_and_repair, + /obj/item/weapon/circuitboard/mecha/ripley/main, //TEMPORARY due to lack of circuitboard printer + /obj/item/weapon/circuitboard/mecha/ripley/peripherals) //TEMPORARY due to lack of circuitboard printer cost = 30 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "APLU \"Ripley\" Circuit Crate" access = access_robotics /datum/supply_packs/mecha_odysseus name = "Circuit Crate (\"Odysseus\")" - contains = list("/obj/item/weapon/circuitboard/mecha/odysseus/peripherals", //TEMPORARY due to lack of circuitboard printer - "/obj/item/weapon/circuitboard/mecha/odysseus/main") //TEMPORARY due to lack of circuitboard printer + contains = list(/obj/item/weapon/circuitboard/mecha/odysseus/peripherals, //TEMPORARY due to lack of circuitboard printer + /obj/item/weapon/circuitboard/mecha/odysseus/main) //TEMPORARY due to lack of circuitboard printer cost = 25 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "\"Odysseus\" Circuit Crate" access = access_robotics /datum/supply_packs/robotics name = "Robotics Assembly Crate" - contains = list("/obj/item/device/assembly/prox_sensor", - "/obj/item/device/assembly/prox_sensor", - "/obj/item/device/assembly/prox_sensor", - "/obj/item/weapon/storage/toolbox/electrical", - "/obj/item/device/flash", - "/obj/item/device/flash", - "/obj/item/device/flash", - "/obj/item/device/flash", - "/obj/item/weapon/cell/high", - "/obj/item/weapon/cell/high") + contains = list(/obj/item/device/assembly/prox_sensor, + /obj/item/device/assembly/prox_sensor, + /obj/item/device/assembly/prox_sensor, + /obj/item/weapon/storage/toolbox/electrical, + /obj/item/device/flash, + /obj/item/device/flash, + /obj/item/device/flash, + /obj/item/device/flash, + /obj/item/weapon/cell/high, + /obj/item/weapon/cell/high) cost = 10 - containertype = "/obj/structure/closet/crate/secure/gear" + containertype = /obj/structure/closet/crate/secure/gear containername = "Robotics Assembly" access = access_robotics /datum/supply_packs/plasma name = "Plasma assembly crate" - contains = list("/obj/item/weapon/tank/plasma", - "/obj/item/weapon/tank/plasma", - "/obj/item/weapon/tank/plasma", - "/obj/item/device/assembly/igniter", - "/obj/item/device/assembly/igniter", - "/obj/item/device/assembly/igniter", - "/obj/item/device/assembly/prox_sensor", - "/obj/item/device/assembly/prox_sensor", - "/obj/item/device/assembly/prox_sensor", - "/obj/item/device/assembly/timer", - "/obj/item/device/assembly/timer", - "/obj/item/device/assembly/timer") + contains = list(/obj/item/weapon/tank/plasma, + /obj/item/weapon/tank/plasma, + /obj/item/weapon/tank/plasma, + /obj/item/device/assembly/igniter, + /obj/item/device/assembly/igniter, + /obj/item/device/assembly/igniter, + /obj/item/device/assembly/prox_sensor, + /obj/item/device/assembly/prox_sensor, + /obj/item/device/assembly/prox_sensor, + /obj/item/device/assembly/timer, + /obj/item/device/assembly/timer, + /obj/item/device/assembly/timer) cost = 10 - containertype = "/obj/structure/closet/crate/secure/plasma" + containertype = /obj/structure/closet/crate/secure/plasma containername = "Plasma assembly crate" access = access_tox /datum/supply_packs/weapons name = "Weapons crate" - contains = list("/obj/item/weapon/melee/baton", - "/obj/item/weapon/melee/baton", - "/obj/item/weapon/gun/energy/laser", - "/obj/item/weapon/gun/energy/laser", - "/obj/item/weapon/gun/energy/taser", - "/obj/item/weapon/gun/energy/taser", - "/obj/item/weapon/storage/flashbang_kit", - "/obj/item/weapon/storage/flashbang_kit") + contains = list(/obj/item/weapon/melee/baton, + /obj/item/weapon/melee/baton, + /obj/item/weapon/gun/energy/laser, + /obj/item/weapon/gun/energy/laser, + /obj/item/weapon/gun/energy/taser, + /obj/item/weapon/gun/energy/taser, + /obj/item/weapon/storage/flashbang_kit, + /obj/item/weapon/storage/flashbang_kit) cost = 30 - containertype = "/obj/structure/closet/crate/secure/weapon" + containertype = /obj/structure/closet/crate/secure/weapon containername = "Weapons crate" access = access_security /datum/supply_packs/eweapons name = "Experimental weapons crate" - contains = list("/obj/item/weapon/flamethrower/full", - "/obj/item/weapon/tank/plasma", - "/obj/item/weapon/tank/plasma", - "/obj/item/weapon/tank/plasma", - "/obj/item/weapon/grenade/chem_grenade/incendiary", - "/obj/item/weapon/grenade/chem_grenade/incendiary", - "/obj/item/weapon/grenade/chem_grenade/incendiary") + contains = list(/obj/item/weapon/flamethrower/full, + /obj/item/weapon/tank/plasma, + /obj/item/weapon/tank/plasma, + /obj/item/weapon/tank/plasma, + /obj/item/weapon/grenade/chem_grenade/incendiary, + /obj/item/weapon/grenade/chem_grenade/incendiary, + /obj/item/weapon/grenade/chem_grenade/incendiary) cost = 25 - containertype = "/obj/structure/closet/crate/secure/weapon" + containertype = /obj/structure/closet/crate/secure/weapon containername = "Experimental weapons crate" access = access_heads /datum/supply_packs/armor name = "Armor crate" - contains = list("/obj/item/clothing/head/helmet", - "/obj/item/clothing/head/helmet", - "/obj/item/clothing/suit/armor/vest", - "/obj/item/clothing/suit/armor/vest") + contains = list(/obj/item/clothing/head/helmet, + /obj/item/clothing/head/helmet, + /obj/item/clothing/suit/armor/vest, + /obj/item/clothing/suit/armor/vest) cost = 15 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Armor crate" access = access_security /datum/supply_packs/riot name = "Riot gear crate" - contains = list("/obj/item/weapon/melee/baton", - "/obj/item/weapon/melee/baton", - "/obj/item/weapon/melee/baton", - "/obj/item/weapon/shield/riot", - "/obj/item/weapon/shield/riot", - "/obj/item/weapon/shield/riot", - "/obj/item/weapon/storage/flashbang_kit", - "/obj/item/weapon/storage/flashbang_kit", - "/obj/item/weapon/storage/flashbang_kit", - "/obj/item/weapon/handcuffs", - "/obj/item/weapon/handcuffs", - "/obj/item/weapon/handcuffs", - "/obj/item/clothing/head/helmet/riot", - "/obj/item/clothing/suit/armor/riot", - "/obj/item/clothing/head/helmet/riot", - "/obj/item/clothing/suit/armor/riot", - "/obj/item/clothing/head/helmet/riot", - "/obj/item/clothing/suit/armor/riot") + contains = list(/obj/item/weapon/melee/baton, + /obj/item/weapon/melee/baton, + /obj/item/weapon/melee/baton, + /obj/item/weapon/shield/riot, + /obj/item/weapon/shield/riot, + /obj/item/weapon/shield/riot, + /obj/item/weapon/storage/flashbang_kit, + /obj/item/weapon/storage/flashbang_kit, + /obj/item/weapon/storage/flashbang_kit, + /obj/item/weapon/handcuffs, + /obj/item/weapon/handcuffs, + /obj/item/weapon/handcuffs, + /obj/item/clothing/head/helmet/riot, + /obj/item/clothing/suit/armor/riot, + /obj/item/clothing/head/helmet/riot, + /obj/item/clothing/suit/armor/riot, + /obj/item/clothing/head/helmet/riot, + /obj/item/clothing/suit/armor/riot) cost = 60 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Riot gear crate" access = access_armory /datum/supply_packs/loyalty name = "Loyalty implant crate" - contains = list ("/obj/item/weapon/storage/lockbox/loyalty") + contains = list (/obj/item/weapon/storage/lockbox/loyalty) cost = 60 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Loyalty implant crate" access = access_armory /datum/supply_packs/ballistic name = "Ballistic gear crate" - contains = list("/obj/item/clothing/suit/armor/bulletproof", - "/obj/item/clothing/suit/armor/bulletproof", - "/obj/item/weapon/gun/projectile/shotgun/pump/combat", - "/obj/item/weapon/gun/projectile/shotgun/pump/combat") + contains = list(/obj/item/clothing/suit/armor/bulletproof, + /obj/item/clothing/suit/armor/bulletproof, + /obj/item/weapon/gun/projectile/shotgun/pump/combat, + /obj/item/weapon/gun/projectile/shotgun/pump/combat) cost = 50 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Ballistic gear crate" access = access_armory /datum/supply_packs/expenergy name = "Experimental energy gear crate" - contains = list("/obj/item/clothing/suit/armor/laserproof", - "/obj/item/clothing/suit/armor/laserproof", - "/obj/item/weapon/gun/energy/gun", - "/obj/item/weapon/gun/energy/gun") + contains = list(/obj/item/clothing/suit/armor/laserproof, + /obj/item/clothing/suit/armor/laserproof, + /obj/item/weapon/gun/energy/gun, + /obj/item/weapon/gun/energy/gun) cost = 50 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Experimental energy gear crate" access = access_armory /datum/supply_packs/exparmor name = "Experimental armor crate" - contains = list("/obj/item/clothing/suit/armor/laserproof", - "/obj/item/clothing/suit/armor/bulletproof", - "/obj/item/clothing/head/helmet/riot", - "/obj/item/clothing/suit/armor/riot") + contains = list(/obj/item/clothing/suit/armor/laserproof, + /obj/item/clothing/suit/armor/bulletproof, + /obj/item/clothing/head/helmet/riot, + /obj/item/clothing/suit/armor/riot) cost = 35 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Experimental armor crate" access = access_armory /datum/supply_packs/securitybarriers name = "Security Barriers" - contains = list("/obj/machinery/deployable/barrier", - "/obj/machinery/deployable/barrier", - "/obj/machinery/deployable/barrier", - "/obj/machinery/deployable/barrier") + contains = list(/obj/machinery/deployable/barrier, + /obj/machinery/deployable/barrier, + /obj/machinery/deployable/barrier, + /obj/machinery/deployable/barrier) cost = 20 - containertype = "/obj/structure/closet/crate/secure/gear" + containertype = /obj/structure/closet/crate/secure/gear containername = "Security Barriers crate" /datum/supply_packs/randomised var/num_contained = 3 //number of items picked to be contained in a randomised crate - contains = list("/obj/item/clothing/head/collectable/chef", - "/obj/item/clothing/head/collectable/paper", - "/obj/item/clothing/head/collectable/tophat", - "/obj/item/clothing/head/collectable/captain", - "/obj/item/clothing/head/collectable/beret", - "/obj/item/clothing/head/collectable/welding", - "/obj/item/clothing/head/collectable/flatcap", - "/obj/item/clothing/head/collectable/pirate", - "/obj/item/clothing/head/collectable/kitty", - "/obj/item/clothing/head/collectable/rabbitears", - "/obj/item/clothing/head/collectable/wizard", - "/obj/item/clothing/head/collectable/hardhat", - "/obj/item/clothing/head/collectable/HoS", - "/obj/item/clothing/head/collectable/thunderdome", - "/obj/item/clothing/head/collectable/swat", - "/obj/item/clothing/head/collectable/metroid", - "/obj/item/clothing/head/collectable/metroid", - "/obj/item/clothing/head/collectable/police", - "/obj/item/clothing/head/collectable/police", - "/obj/item/clothing/head/collectable/slime", - "/obj/item/clothing/head/collectable/slime", - "/obj/item/clothing/head/collectable/xenom", - "/obj/item/clothing/head/collectable/xenom", - "/obj/item/clothing/head/collectable/petehat") + contains = list(/obj/item/clothing/head/collectable/chef, + /obj/item/clothing/head/collectable/paper, + /obj/item/clothing/head/collectable/tophat, + /obj/item/clothing/head/collectable/captain, + /obj/item/clothing/head/collectable/beret, + /obj/item/clothing/head/collectable/welding, + /obj/item/clothing/head/collectable/flatcap, + /obj/item/clothing/head/collectable/pirate, + /obj/item/clothing/head/collectable/kitty, + /obj/item/clothing/head/collectable/rabbitears, + /obj/item/clothing/head/collectable/wizard, + /obj/item/clothing/head/collectable/hardhat, + /obj/item/clothing/head/collectable/HoS, + /obj/item/clothing/head/collectable/thunderdome, + /obj/item/clothing/head/collectable/swat, + /obj/item/clothing/head/collectable/metroid, + /obj/item/clothing/head/collectable/metroid, + /obj/item/clothing/head/collectable/police, + /obj/item/clothing/head/collectable/police, + /obj/item/clothing/head/collectable/slime, + /obj/item/clothing/head/collectable/slime, + /obj/item/clothing/head/collectable/xenom, + /obj/item/clothing/head/collectable/xenom, + /obj/item/clothing/head/collectable/petehat) name = "Collectable hat crate!" cost = 200 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Collectable hats crate! Brought to you by Bass.inc!" /datum/supply_packs/randomised/New() @@ -579,10 +601,10 @@ /datum/supply_packs/randomised/contraband num_contained = 5 - contains = list("/obj/item/weapon/contraband/poster", - "/obj/item/weapon/cigpacket/dromedaryco") + contains = list(/obj/item/weapon/contraband/poster, + /obj/item/weapon/cigpacket/dromedaryco) name = "Contraband crate" cost = 30 - containertype = "/obj/structure/closet/crate" + containertype = /obj/structure/closet/crate containername = "Contraband crate" contraband = 1 diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index aa8920bb4fc..ea6ab037bc4 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -13,10 +13,10 @@ ..() src.smoke = new /datum/effect/effect/system/bad_smoke_spread src.smoke.attach(src) - src.smoke.set_up(10, 0, usr.loc) prime() playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) + src.smoke.set_up(10, 0, usr.loc) spawn(0) src.smoke.start() sleep(10) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 8834b4a6b78..dc66b2e1391 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -118,17 +118,6 @@ var/list/mechtoys = list( var/orderedby = null var/comment = null -/datum/supply_packs - var/name = null - var/list/contains = new/list() - var/amount = null - var/cost = null - var/containertype = null - var/containername = null - var/access = null - var/hidden = 0 - var/contraband = 0 - /datum/controller/supply_shuttle var/processing = 1 var/processing_interval = 300 @@ -307,10 +296,9 @@ var/list/mechtoys = list( if(SP.access) A:req_access = list() A:req_access += text2num(SP.access) - for(var/B in SP.contains) - if(!B) continue - var/thepath = text2path(B) - var/atom/B2 = new thepath(A) + for(var/typepath in SP.contains) + if(!typepath) continue + var/atom/B2 = new typepath(A) if(SP.amount && B2:amount) B2:amount = SP.amount slip.info += "
  • [B2.name]
  • " //add the item to the manifest @@ -416,13 +404,9 @@ var/list/mechtoys = list( reqform.info += "RANK: [idrank]
    " reqform.info += "REASON: [reason]
    " reqform.info += "SUPPLY CRATE TYPE: [P.name]
    " - reqform.info += "CONTENTS:

    " + reqform.info += "CONTENTS:
    " + reqform.info += P.manifest + reqform.info += "
    " reqform.info += "STAMP BELOW TO APPROVE THIS REQUISITION:
    " reqform.update_icon() //Fix for appearing blank when printed. @@ -593,13 +577,9 @@ var/list/mechtoys = list( reqform.info += "RANK: [idrank]
    " reqform.info += "REASON: [reason]
    " reqform.info += "SUPPLY CRATE TYPE: [P.name]
    " - reqform.info += "CONTENTS:

    " + reqform.info += "CONTENTS:
    " + reqform.info += P.manifest + reqform.info += "
    " reqform.info += "STAMP BELOW TO APPROVE THIS REQUISITION:
    " reqform.update_icon() //Fix for appearing blank when printed.