Files
Paradise/code/defines/obj/supplypacks.dm
mport2004@gmail.com 62e28c2abf Organs:
Moved into their own folder and got split into three files.
Damage  zones have been regrouped slightly to make it easier to deal with them. Currently the organ groups are head, l/r leg, l/r arm, and head.

Attacking:
Armor is properly checked.
Currently aiming for the chest gives a higher chance to stun whereas the head will stun for longer.
Stungloves/Disarm now show up in the attack log.
Stungloves ignore intent.

Silicon:
AI units can now move between cams that are not on the ss13 network.
Cyborg's alert screen should not longer pop up every time they get an alert if they have opened it once during the round.
Robot vision now uses the standard amount of energy.

Gamemodes:
Added Deuryn's unrev message.
Runes can only be examined if you are close to them.
Moved the Loyalty implants to the HoS' locker at the request of HerpA.
Nuke agents now come with explosive implants that will activate upon death.

Projectiles:
Once again went though the gun code and cleaned things up, it is much better now.
Bullet_act fixed up and most mobs now use the one in living, just overload it if they need to do something diff.
Freeze /caplaser/xbow no longer have an infinite loop.
Shotguns have to be pumped manually.

Went though the latest runtime log.

Power cells now use return on their give/use procs

Assemblies have been reworked and are nearly finished, just need to finish up the special assembly code, redo the signalers, and add one or two new assembly items.
Laying down will now only take 3 ticks to get up, from 5.

You can no longer punch people on the spawn screen.

This is a big one and was cleared by two heads, TK will only allow you to pick up items.  If you have an item in your hand it will act normal.

This revision got much larger than originally intended my tests show everything is working fine, but you never know.  Ill likely do more mob teaks in the next few days.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2333 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-08 10:38:01 +00:00

555 lines
21 KiB
Plaintext

//SUPPLY PACKS
//NOTE: only secure crate types use the access var (and are lockable)
//NOTE: hidden packs only show up when the computer has been hacked.
//BIG NOTE: Don't add living things to crates, that's bad, it will break the shuttle.
/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/sleepypen",
"/obj/item/weapon/chem_grenade/incendiary")
cost = 20
containertype = "/obj/structure/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/kitchen/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 = 5
containertype = "/obj/structure/crate/freezer"
containername = "Food crate"
/datum/supply_packs/monkey
name = "Monkey crate"
contains = list ("/obj/item/weapon/monkeycube_box")
cost = 20
containertype = "/obj/structure/crate/freezer"
containername = "Monkey crate"
/*
/datum/supply_packs/shotgun
name = "Shotgun crate"
contains = list("/obj/item/weapon/gun/projectile/shotgun",
"/obj/item/ammo_casing/shotgun/beanbag",
"/obj/item/ammo_casing/shotgun/beanbag")
cost = 25
containertype = "/obj/structure/crate"
containername = "Shotgun crate"
//APPARENTLY OP?
*/
/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")
cost = 10
containertype = "/obj/structure/crate"
containername = "Beanbag shells"
/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")
cost = 20
containertype = "/obj/structure/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")
cost = 10
containertype = "/obj/structure/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")
cost = 35
containertype = "/obj/structure/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/chem_grenade/cleaner",
"/obj/item/weapon/chem_grenade/cleaner",
"/obj/item/weapon/chem_grenade/cleaner",
"/obj/structure/mopbucket")
cost = 10
containertype = "/obj/structure/crate"
containername = "Janitorial supplies"
/obj/item/weapon/storage/lightbox/tubes
/datum/supply_packs/lightbulbs
name = "Replacement lights"
contains = list("/obj/item/weapon/storage/lightbox/tubes",
"/obj/item/weapon/storage/lightbox/tubes",
"/obj/item/weapon/storage/lightbox/tubes",
"/obj/item/weapon/storage/lightbox/tubes",
"/obj/item/weapon/storage/lightbox/tubes",
"/obj/item/weapon/storage/lightbox/tubes",
"/obj/item/weapon/storage/lightbox/bulbs",
"/obj/item/weapon/storage/lightbox/bulbs")
cost = 5
containertype = "/obj/structure/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")
cost = 10
containertype = "/obj/structure/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")
cost = 20
containertype = "/obj/structure/crate"
containername = "Wizard costume crate"
/datum/supply_packs/mule
name = "MULEbot Crate"
contains = list("/obj/machinery/bot/mulebot")
cost = 20
containertype = "/obj/structure/crate"
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/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/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")
cost = 10
containertype = /obj/structure/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/bananaseed",
"/obj/item/seeds/eggyseed")
cost = 15
containertype = /obj/structure/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")
cost = 10
containertype = "/obj/structure/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")
cost = 20
containertype = "/obj/structure/crate/secure/weapon"
containername = "Virus crate"
access = access_cmo
/datum/supply_packs/metal50
name = "50 Metal Sheets"
contains = list("/obj/item/stack/sheet/metal")
amount = 50
cost = 10
containertype = "/obj/structure/crate"
containername = "Metal sheets crate"
/datum/supply_packs/glass50
name = "50 Glass Sheets"
contains = list("/obj/item/stack/sheet/glass")
amount = 50
cost = 10
containertype = "/obj/structure/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")
cost = 15
containertype = "/obj/structure/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/helmet/welding",
"/obj/item/clothing/head/helmet/welding",
"/obj/item/clothing/head/helmet/hardhat")
cost = 10
containertype = "/obj/structure/crate"
containername = "Mechanical maintenance crate"
/datum/supply_packs/waterfueltank
name = "Water/Fuel tank crate"
contains = list("/obj/structure/reagent_dispensers/watertank",
"/obj/structure/reagent_dispensers/fueltank")
cost = 15
containertype = "/obj/structure/crate"
containername = "Water/Fuel tank crate"
/datum/supply_packs/engine
name = "Emitter crate"
contains = list("/obj/machinery/emitter",
"/obj/machinery/emitter",)
cost = 10
containertype = "/obj/structure/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",)
containername = "Field Generator crate"
/datum/supply_packs/engine/sing_gen
name = "Singularity Generator crate"
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")
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")
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/mecha_parts/circuitboard/ripley/peripherals", //TEMPORARY due to lack of circuitboard printer
"/obj/item/mecha_parts/circuitboard/ripley/main") //TEMPORARY due to lack of circuitboard printer
cost = 40
containertype = "/obj/structure/crate/secure"
containername = "APLU \"Ripley\" 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")
cost = 10
containertype = "/obj/structure/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")
cost = 10
containertype = "/obj/structure/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")
cost = 30
containertype = "/obj/structure/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/chem_grenade/incendiary",
"/obj/item/weapon/chem_grenade/incendiary",
"/obj/item/weapon/chem_grenade/incendiary",
"/obj/item/clothing/gloves/stungloves")
cost = 25
containertype = "/obj/structure/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")
cost = 15
containertype = "/obj/structure/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")
cost = 60
containertype = "/obj/structure/crate/secure"
containername = "Riot gear 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/combat2",
"/obj/item/weapon/gun/projectile/shotgun/combat2")
cost = 50
containertype = "/obj/structure/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")
cost = 50
containertype = "/obj/structure/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")
cost = 35
containertype = "/obj/structure/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")
cost = 20
containertype = "/obj/structure/crate/secure/gear"
containername = "Secruity Barriers crate"
/datum/supply_packs/hats/
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/crate/hat"
containername = "Collectable Hats Crate! Brought to you by Bass.inc!"
/datum/supply_packs/hats/New()
var/list/tempContains = list()
for(var/i = 0,i<min(3,contains.len),i++)
tempContains += pick(contains)
contains = tempContains
..()
//SUPPLY PACKS