Removes Weapons (#7415)

* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
This commit is contained in:
Werner
2019-11-16 18:36:13 +01:00
committed by GitHub
parent 128ca2235b
commit af16a489a6
1123 changed files with 27193 additions and 27175 deletions
+17 -17
View File
@@ -2,28 +2,28 @@
name = "Stunprod"
description = "%BOSSSHORT needs to pacify some rioting \"cows\". Craft one, then ship it."
reward = 1300
wanted_types = list(/obj/item/weapon/melee/baton/cattleprod)
wanted_types = list(/obj/item/melee/baton/cattleprod)
/datum/bounty/item/assistant/soap
name = "Soap"
description = "Soap has gone missing from %BOSSSHORT's bathrooms and nobody knows who took it. Replace it and be the hero %BOSSSHORT needs."
reward = 2000
required_count = 3
wanted_types = list(/obj/item/weapon/soap)
wanted_types = list(/obj/item/soap)
/datum/bounty/item/assistant/spear
name = "Spears"
description = "As part of our cultural appreciation programs, we require a bunch of spears to please a Unathi diplomat. Please send your best!"
reward = 2000
required_count = 5
wanted_types = list(/obj/item/weapon/material/twohanded/spear)
wanted_types = list(/obj/item/material/twohanded/spear)
/datum/bounty/item/assistant/toolbox
name = "Toolboxes"
description = "There's an absence of \"engineering robustness\" at %BOSSNAME. Hurry up and ship some toolboxes as a solution."
reward = 2000
required_count = 6
wanted_types = list(/obj/item/weapon/storage/toolbox)
wanted_types = list(/obj/item/storage/toolbox)
/datum/bounty/item/assistant/statue
name = "Statue"
@@ -44,7 +44,7 @@
description = "Apparently the company that makes Cheesie Honkers is going out of business soon. %BOSSSHORT wants to stock up before it happens!"
reward = 1200
required_count = 30
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers)
wanted_types = list(/obj/item/reagent_containers/food/snacks/cheesiehonkers)
/datum/bounty/item/assistant/baseball_bat
@@ -52,28 +52,28 @@
description = "Baseball fever is going on at %BOSSSHORT! Be a dear and ship them some baseball bats, so that management can live out their childhood dream."
reward = 2000
required_count = 5
wanted_types = list(/obj/item/weapon/material/twohanded/baseballbat)
wanted_types = list(/obj/item/material/twohanded/baseballbat)
/datum/bounty/item/assistant/donut
name = "Donuts"
description = "%BOSSSHORT's security forces are demoralized. Ship donuts to raise morale."
reward = 3000
required_count = 10
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/donut)
wanted_types = list(/obj/item/reagent_containers/food/snacks/donut)
/datum/bounty/item/assistant/donkpocket
name = "Donk-Pockets"
description = "Consumer safety recall: Warning. Donk-Pockets manufactured in the past year contain hazardous lizard biomatter. Return units to %BOSSSHORT immediately."
reward = 3000
required_count = 10
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket)
wanted_types = list(/obj/item/reagent_containers/food/snacks/donkpocket)
/datum/bounty/item/assistant/briefcase
name = "Briefcase"
description = "%BOSSNAME will be holding a business convention this year. Ship a few briefcases in support."
reward = 2500
required_count = 5
wanted_types = list(/obj/item/weapon/storage/briefcase)
wanted_types = list(/obj/item/storage/briefcase)
/datum/bounty/item/assistant/sunglasses
name = "Sunglasses"
@@ -112,7 +112,7 @@
description = "A killer clown has been stalking %BOSSSHORT, and staff have been unable to catch her because she's not wearing shoes. Please ship some shards so that a booby trap can be constructed."
reward = 1500
required_count = 15
wanted_types = list(/obj/item/weapon/material/shard)
wanted_types = list(/obj/item/material/shard)
/datum/bounty/item/assistant/comfy_chair
name = "Comfy Chairs"
@@ -125,13 +125,13 @@
name = "Revolver"
description = "One of our Lead Investigators lost their revolver. He's asked for help securing an appropriate replacement."
reward = 2000
wanted_types = list(/obj/item/weapon/gun/projectile/revolver)
wanted_types = list(/obj/item/gun/projectile/revolver)
/datum/bounty/item/assistant/hand_tele
name = "Hand Tele"
description = "%BOSSNAME has come up with a genius idea: Why not teleport cargo rather than ship it? Send over a hand tele, receive payment, then wait 6-8 years while they deliberate."
reward = 2000
wanted_types = list(/obj/item/weapon/hand_tele)
wanted_types = list(/obj/item/hand_tele)
/datum/bounty/item/assistant/potted_plants
name = "Potted Plants"
@@ -151,32 +151,32 @@
description = "A large influx of escaped convicts have arrived at %BOSSNAME. Now is the perfect time to ship out spare handcuffs."
reward = 1000
required_count = 5
wanted_types = list(/obj/item/weapon/handcuffs)
wanted_types = list(/obj/item/handcuffs)
/datum/bounty/item/assistant/monkey_cubes
name = "Monkey Cubes"
description = "Due to a recent genetics accident, %BOSSNAME is in serious need of monkeys. Your mission is to ship monkey cubes."
reward = 2000
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube)
wanted_types = list(/obj/item/reagent_containers/food/snacks/monkeycube)
/datum/bounty/item/assistant/chainsaw
name = "Chainsaw"
description = "The chef at %BOSSSHORT is having trouble butchering her animals. She requests one chainsaw, please."
reward = 2500
wanted_types = list(/obj/item/weapon/material/twohanded/chainsaw)
wanted_types = list(/obj/item/material/twohanded/chainsaw)
/datum/bounty/item/assistant/plasma_tank/
name = "Full Tank of Plasma"
description = "Station 12 has requested supplies to set up a singularity engine. In particular, they request 28 moles of plasma."
reward = 2500
wanted_types = list(/obj/item/weapon/tank)
wanted_types = list(/obj/item/tank)
var/moles_required = 20 // A full tank is 28 moles, but %BOSSSHORT ignores that fact.
/datum/bounty/item/assistant/plasma_tank/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/weapon/tank/T = O
var/obj/item/tank/T = O
if(T)
if(!T.air_contents.gas["phoron"])
return FALSE
+21 -21
View File
@@ -3,84 +3,84 @@
description = "Miranda Trasen's birthday is coming up! Ship a complete birthday cake to celebrate!"
reward = 4000
wanted_types = list(
/obj/item/weapon/reagent_containers/food/snacks/variable/cake,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cake)
/obj/item/reagent_containers/food/snacks/variable/cake,
/obj/item/reagent_containers/food/snacks/sliceable/cake)
/datum/bounty/item/chef/soup
name = "Soup"
description = "To quell the homeless uprising, %COMPNAME will be serving soup to all underpaid workers. Ship any type of soup."
reward = 3000
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/soup)
wanted_types = list(/obj/item/reagent_containers/food/snacks/soup)
/datum/bounty/item/chef/popcorn
name = "Popcorn Bags"
description = "Upper management wants to host a movie night. Ship bags of popcorn for the occasion."
reward = 3000
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/popcorn)
wanted_types = list(/obj/item/reagent_containers/food/snacks/popcorn)
/datum/bounty/item/chef/icecreamsandwich
name = "Ice Cream Sandwiches"
description = "The Air Conditioning System in the CCIA Offices has failed. Ship some icecream."
reward = 4000
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich)
wanted_types = list(/obj/item/reagent_containers/food/snacks/icecreamsandwich)
/datum/bounty/item/chef/pie
name = "Pie"
description = "3.14159? No! %BOSSSHORT management wants edible pie! Ship a whole one."
reward = 3142
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/pie)
wanted_types = list(/obj/item/reagent_containers/food/snacks/pie)
/datum/bounty/item/chef/salad
name = "Salad or Rice Bowls"
description = "%BOSSSHORT management is going on a health binge. Your order is to ship salad or rice bowls."
reward = 3000
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/salad)
wanted_types = list(/obj/item/reagent_containers/food/snacks/salad)
/datum/bounty/item/chef/carrotfries
name = "Carrot Fries"
description = "Night sight can mean life or death! A shipment of carrot fries is the order."
reward = 3500
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/carrotfries)
wanted_types = list(/obj/item/reagent_containers/food/snacks/carrotfries)
/datum/bounty/item/chef/superbite
name = "Super Bite Burger"
description = "Commander Tubbs thinks he can set a competitive eating world record. All he needs is a super bite burger shipped to him."
reward = 12000
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/burger/superbite)
wanted_types = list(/obj/item/reagent_containers/food/snacks/burger/superbite)
/datum/bounty/item/chef/poppypretzel
name = "Poppy Pretzel"
description = "%BOSSNAME needs a popply brezel for the drug-training of their security department."
reward = 3000
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/poppypretzel)
wanted_types = list(/obj/item/reagent_containers/food/snacks/poppypretzel)
/datum/bounty/item/chef/cubancarp
name = "Cuban Carp"
description = "A Adhomai Representative is visiting %BOSSSHORT. Ship one cuban carp."
reward = 8000
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/cubancarp)
wanted_types = list(/obj/item/reagent_containers/food/snacks/cubancarp)
/datum/bounty/item/chef/hotdog
name = "Hot Dog"
description = "%COMPNAME is conducting taste tests to determine the best hot dog recipe. Ship your station's version to participate."
reward = 8000
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/hotdog)
wanted_types = list(/obj/item/reagent_containers/food/snacks/hotdog)
/datum/bounty/item/chef/lemon
name = "Lemons"
description = "A commander claims he can turn lemons into money. Ship him a few and he'll deposit the money into the station's account."
reward = 4444
required_count = 10
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/grown)
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown)
/datum/bounty/item/chef/lemon/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/weapon/reagent_containers/food/snacks/grown/L = O
var/obj/item/reagent_containers/food/snacks/grown/L = O
if(L && L.plantname == "lemon")
return TRUE
return FALSE
@@ -90,45 +90,45 @@
description = "A famous singer will be arriving at %BOSSSHORT, and their contract demands that they only be served Eggplant Parmigiana. Ship some, please!"
reward = 3500
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/eggplantparm)
wanted_types = list(/obj/item/reagent_containers/food/snacks/eggplantparm)
/datum/bounty/item/chef/muffin
name = "Muffins"
description = "The Muffin Man is visiting %BOSSSHORT, but he's forgotten his muffins! Your order is to rectify this."
reward = 3000
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/muffin)
wanted_types = list(/obj/item/reagent_containers/food/snacks/muffin)
/datum/bounty/item/chef/chawanmush
name = "Chawanmushi"
description = "Someone from middle-management mentioned Chawanmushi. We never tried them so we need you to ship Chawanmushi immediately."
reward = 8000
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/chawanmushi)
wanted_types = list(/obj/item/reagent_containers/food/snacks/chawanmushi)
/datum/bounty/item/chef/kebab
name = "Kebabs"
description = "Remove all kebab from station you are best food. Ship to %BOSSSHORT to remove from the premises."
reward = 3500
required_count = 3
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/variable/kebab)
wanted_types = list(/obj/item/reagent_containers/food/snacks/variable/kebab)
/datum/bounty/item/chef/soylentgreen
name = "Soylent Green"
description = "%BOSSSHORT has heard wonderful things about the product 'Soylent Green', and would love to try some. If you endulge them, expect a pleasant bonus."
reward = 5000
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/soylentgreen)
wanted_types = list(/obj/item/reagent_containers/food/snacks/soylentgreen)
/datum/bounty/item/chef/pancakes
name = "Pancakes"
description = "Here at %COMPNAME we consider employees to be family. And you know what families love? Pancakes. Ship a baker's dozen."
reward = 5000
required_count = 13
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/pancakes)
wanted_types = list(/obj/item/reagent_containers/food/snacks/pancakes)
/datum/bounty/item/chef/nuggies
name = "Chicken Nuggets"
description = "The vice president's son won't shut up about chicken nuggies. Would you mind shipping some?"
reward = 4000
required_count = 6
wanted_types = list(/obj/item/weapon/reagent_containers/food/snacks/nugget)
wanted_types = list(/obj/item/reagent_containers/food/snacks/nugget)
+1 -1
View File
@@ -10,7 +10,7 @@
return ..() && shipped_volume >= required_volume
/datum/bounty/reagent/applies_to(obj/O)
if(!istype(O, /obj/item/weapon/reagent_containers))
if(!istype(O, /obj/item/reagent_containers))
return FALSE
if(!O.reagents || !O.reagents.has_reagent(wanted_reagent.id))
return FALSE
+4 -4
View File
@@ -2,7 +2,7 @@
name = "Bag of Holding"
description = "%COMPNAME would make good use of high-capacity backpacks. If you have any, please ship them."
reward = 10000
wanted_types = list(/obj/item/weapon/storage/backpack/holding)
wanted_types = list(/obj/item/storage/backpack/holding)
/*
/datum/bounty/item/science/tboh
name = "Trash Bag of Holding"
@@ -33,13 +33,13 @@
description = "A recent accident has left most of %BOSSSHORT's welding tools exploded. Ship replacements to be rewarded."
reward = 10000
required_count = 3
wanted_types = list(/obj/item/weapon/weldingtool/experimental)
wanted_types = list(/obj/item/weldingtool/experimental)
/datum/bounty/item/science/cryostasis_beaker
name = "Cryostasis Beaker"
description = "Chemists at %BOSSNAME have discovered a new chemical that can only be held in cryostasis beakers. The only problem is they don't have any! Rectify this to receive payment."
reward = 10000
wanted_types = list(/obj/item/weapon/reagent_containers/glass/beaker/noreact)
wanted_types = list(/obj/item/reagent_containers/glass/beaker/noreact)
/datum/bounty/item/science/mech_diamond_drill
name = "Mech Diamond Mining Drill"
@@ -51,7 +51,7 @@
name = "Advanced Energy Gun"
description = "With the price of rechargers on the rise, upper management is interested in purchasing guns that are self-powered. If you ship one, they'll pay."
reward = 10000
wanted_types = list(/obj/item/weapon/gun/energy/gun/nuclear)
wanted_types = list(/obj/item/gun/energy/gun/nuclear)
/datum/bounty/item/science/posibrain
name = "Posibrain"
+5 -5
View File
@@ -8,7 +8,7 @@
name = "Security Belt"
description = "%BOSSSHORT is having difficulties with their security belts. Ship one from the station to receive compensation."
reward = 800
wanted_types = list(/obj/item/weapon/storage/belt/security)
wanted_types = list(/obj/item/storage/belt/security)
/datum/bounty/item/security/sechuds
name = "Security HUDSunglasses"
@@ -21,19 +21,19 @@
description = "Tajara are protesting in the Civilian Sectors! Ship riot shotguns quickly, or things are going to get dirty."
reward = 5000
required_count = 2
wanted_types = list(/obj/item/weapon/gun/projectile/shotgun/pump)
wanted_types = list(/obj/item/gun/projectile/shotgun/pump)
/datum/bounty/item/security/pinpointer
name = "Pinpointer"
description = "Someone might or might not have misplaced a high-value item. Can the station spare a pinpointer to help out?"
reward = 1500
wanted_types = list(/obj/item/weapon/pinpointer)
wanted_types = list(/obj/item/pinpointer)
/datum/bounty/item/security/captains_spare
name = "Captain's Spare"
description = "Captain Bart of Station 12 has forgotten his ID! Ship him your station's spare, would you?"
reward = 1500
wanted_types = list(/obj/item/weapon/card/id/captains_spare)
wanted_types = list(/obj/item/card/id/captains_spare)
/datum/bounty/item/security/hardsuit
name = "Security Hardsuit"
@@ -58,5 +58,5 @@
name = "Telebaton"
description = "Assistants are staging a \"peaceful protest\" on the Odin. Quickly ship a telebaton so we can ensure their swift return to work."
reward = 2500
wanted_types = list(/obj/item/weapon/melee/telebaton)
wanted_types = list(/obj/item/melee/telebaton)
+1 -1
View File
@@ -22,7 +22,7 @@
/datum/bounty/virus/applies_to(obj/O)
if(shipped)
return FALSE
if(!istype(O, /obj/item/weapon/reagent_containers || !O.reagents || !O.reagents.reagent_list))
if(!istype(O, /obj/item/reagent_containers || !O.reagents || !O.reagents.reagent_list))
return FALSE
var/datum/reagent/blood/B = locate() in O.reagents.reagent_list
if(!B)
@@ -20,7 +20,7 @@
/datum/bounty/weapon_prototype/applies_to(obj/O)
if(shipped)
return FALSE
if(!istype(O, /obj/item/weapon/gun/energy/laser/prototype))
if(!istype(O, /obj/item/gun/energy/laser/prototype))
return FALSE
if(accepts_weapon(O))
return TRUE
@@ -38,7 +38,7 @@
return type != W.type
/datum/bounty/weapon_prototype/proc/accepts_weapon(var/obj/item/weapon/gun/energy/laser/prototype/P)
/datum/bounty/weapon_prototype/proc/accepts_weapon(var/obj/item/gun/energy/laser/prototype/P)
return TRUE
/datum/bounty/weapon_prototype/burst
@@ -46,7 +46,7 @@
stat_value = 3
stat_comparison = "greater than"
/datum/bounty/weapon_prototype/burst/accepts_weapon(var/obj/item/weapon/gun/energy/laser/prototype/P)
/datum/bounty/weapon_prototype/burst/accepts_weapon(var/obj/item/gun/energy/laser/prototype/P)
return P.burst > stat_value
/datum/bounty/weapon_prototype/fire_delay
@@ -54,7 +54,7 @@
stat_value = 1
stat_comparison = "smaller than"
/datum/bounty/weapon_prototype/fire_delay/accepts_weapon(var/obj/item/weapon/gun/energy/laser/prototype/P)
/datum/bounty/weapon_prototype/fire_delay/accepts_weapon(var/obj/item/gun/energy/laser/prototype/P)
return P.fire_delay < stat_value
/datum/bounty/weapon_prototype/reliability
@@ -62,7 +62,7 @@
stat_value = 60
stat_comparison = "greater than"
/datum/bounty/weapon_prototype/reliability/accepts_weapon(var/obj/item/weapon/gun/energy/laser/prototype/P)
/datum/bounty/weapon_prototype/reliability/accepts_weapon(var/obj/item/gun/energy/laser/prototype/P)
return P.reliability > stat_value
/datum/bounty/weapon_prototype/reliability
@@ -70,5 +70,5 @@
stat_value = 3
stat_comparison = "greater than"
/datum/bounty/weapon_prototype/reliability/accepts_weapon(var/obj/item/weapon/gun/energy/laser/prototype/P)
/datum/bounty/weapon_prototype/reliability/accepts_weapon(var/obj/item/gun/energy/laser/prototype/P)
return P.accuracy > stat_value
+1 -1
View File
@@ -13,7 +13,7 @@
/datum/export/gear/riot_shield
cost = 100
unit_name = "riot shield"
export_types = list(/obj/item/weapon/shield/riot)
export_types = list(/obj/item/shield/riot)
/datum/export/gear/mask/breath
+2 -2
View File
@@ -8,12 +8,12 @@
/datum/export/solar/tracker_board
cost = 100
unit_name = "solar tracker board"
export_types = list(/obj/item/weapon/tracker_electronics)
export_types = list(/obj/item/tracker_electronics)
/datum/export/solar/control_board
cost = 150
unit_name = "solar panel control board"
export_types = list(/obj/item/weapon/circuitboard/solar_control)
export_types = list(/obj/item/circuitboard/solar_control)
/*
/datum/export/swarmer
+11 -11
View File
@@ -1,7 +1,7 @@
/datum/export/toolbox
cost = 4
unit_name = "toolbox"
export_types = list(/obj/item/weapon/storage/toolbox)
export_types = list(/obj/item/storage/toolbox)
// mechanical toolbox: 22cr
// emergency toolbox: 17-20cr
@@ -12,48 +12,48 @@
/datum/export/screwdriver
cost = 2
unit_name = "screwdriver"
export_types = list(/obj/item/weapon/screwdriver)
export_types = list(/obj/item/screwdriver)
include_subtypes = FALSE
/datum/export/wrench
cost = 2
unit_name = "wrench"
export_types = list(/obj/item/weapon/wrench)
export_types = list(/obj/item/wrench)
/datum/export/crowbar
cost = 2
unit_name = "crowbar"
export_types = list(/obj/item/weapon/crowbar)
export_types = list(/obj/item/crowbar)
/datum/export/wirecutters
cost = 2
unit_name = "pair"
message = "of wirecutters"
export_types = list(/obj/item/weapon/wirecutters)
export_types = list(/obj/item/wirecutters)
/datum/export/weldingtool
cost = 5
unit_name = "welding tool"
export_types = list(/obj/item/weapon/weldingtool)
export_types = list(/obj/item/weldingtool)
include_subtypes = FALSE
/datum/export/weldingtool/industrial
cost = 10
unit_name = "industrial welding tool"
export_types = list(/obj/item/weapon/weldingtool/largetank, /obj/item/weapon/weldingtool/hugetank)
export_types = list(/obj/item/weldingtool/largetank, /obj/item/weldingtool/hugetank)
/datum/export/extinguisher
cost = 15
unit_name = "fire extinguisher"
export_types = list(/obj/item/weapon/extinguisher)
export_types = list(/obj/item/extinguisher)
include_subtypes = FALSE
/datum/export/extinguisher/mini
cost = 2
unit_name = "pocket fire extinguisher"
export_types = list(/obj/item/weapon/extinguisher/mini)
export_types = list(/obj/item/extinguisher/mini)
/datum/export/flashlight
@@ -93,9 +93,9 @@
/datum/export/rfd_construction
cost = 100
unit_name = "Rapid-Fabrication-Device C-Class"
export_types = list(/obj/item/weapon/rfd/construction)
export_types = list(/obj/item/rfd/construction)
/datum/export/rfd_ammo
cost = 60
unit_name = "compressed matter cartridge"
export_types = list(/obj/item/weapon/rfd_ammo)
export_types = list(/obj/item/rfd_ammo)
+8 -8
View File
@@ -6,34 +6,34 @@
/datum/export/weapon/baton
cost = 100
unit_name = "stun baton"
export_types = list(/obj/item/weapon/melee/baton/)
exclude_types = list(/obj/item/weapon/melee/baton/cattleprod)
export_types = list(/obj/item/melee/baton/)
exclude_types = list(/obj/item/melee/baton/cattleprod)
include_subtypes = TRUE
/datum/export/weapon/knife
cost = 100
unit_name = "tactical knife"
export_types = list(/obj/item/weapon/material/knife/tacknife )
export_types = list(/obj/item/material/knife/tacknife )
/datum/export/weapon/laser
cost = 200
unit_name = "laser gun"
export_types = list(/obj/item/weapon/gun/energy/rifle/laser)
export_types = list(/obj/item/gun/energy/rifle/laser)
/datum/export/weapon/energy_gun
cost = 300
unit_name = "energy gun"
export_types = list(/obj/item/weapon/gun/energy/gun)
export_types = list(/obj/item/gun/energy/gun)
/datum/export/weapon/flashbang
cost = 5
unit_name = "flashbang grenade"
export_types = list(/obj/item/weapon/grenade/flashbang)
export_types = list(/obj/item/grenade/flashbang)
/datum/export/weapon/teargas
cost = 5
unit_name = "tear gas grenade"
export_types = list(/obj/item/weapon/grenade/chem_grenade/teargas)
export_types = list(/obj/item/grenade/chem_grenade/teargas)
/datum/export/weapon/flash
@@ -46,4 +46,4 @@
cost = 3
unit_name = "pair"
message = "of handcuffs"
export_types = list(/obj/item/weapon/handcuffs)
export_types = list(/obj/item/handcuffs)
+134 -134
View File
@@ -2,7 +2,7 @@
STOCK_ITEM_COMMON(toolbox, 4)
if (prob(5))
new /obj/item/weapon/storage/toolbox/syndicate(L)
new /obj/item/storage/toolbox/syndicate(L)
else
new /obj/random/toolbox(L)
@@ -39,8 +39,8 @@ STOCK_ITEM_COMMON(lightreplacer, 1)
LR = new /obj/item/device/lightreplacer(L)
LR.uses = 0
new /obj/item/weapon/storage/box/lights/mixed(L)
new /obj/item/weapon/storage/box/lights/mixed(L)
new /obj/item/storage/box/lights/mixed(L)
new /obj/item/storage/box/lights/mixed(L)
//A bundle of bodybags or stasis bags
STOCK_ITEM_COMMON(bodybag, 2.2)
@@ -50,7 +50,7 @@ STOCK_ITEM_COMMON(bodybag, 2.2)
new /obj/item/bodybag/cryobag(L)
new /obj/item/bodybag/cryobag(L)
else
new /obj/item/weapon/storage/box/bodybags(L)
new /obj/item/storage/box/bodybags(L)
STOCK_ITEM_COMMON(lamp, 2.4)
for (var/i in 1 to rand(1, 3))
@@ -63,26 +63,26 @@ STOCK_ITEM_COMMON(lamp, 2.4)
P.queue_icon_update()
STOCK_ITEM_COMMON(mousetrap, 2)
new /obj/item/weapon/storage/box/mousetraps(L)
new /obj/item/storage/box/mousetraps(L)
STOCK_ITEM_COMMON(sterile, 2)
new /obj/item/weapon/storage/box/gloves(L)
new /obj/item/weapon/storage/box/masks(L)
new /obj/item/storage/box/gloves(L)
new /obj/item/storage/box/masks(L)
STOCK_ITEM_COMMON(light, 1.8)
new /obj/item/weapon/storage/box/lights/mixed(L)
new /obj/item/storage/box/lights/mixed(L)
if (prob(50))
new /obj/item/weapon/storage/box/lights/mixed(L)
new /obj/item/storage/box/lights/mixed(L)
if (prob(25))
new /obj/item/weapon/storage/box/lights/coloredmixed(L)
new /obj/item/storage/box/lights/coloredmixed(L)
if (prob(15))
var/type = pick( \
/obj/item/weapon/storage/box/lights/colored/red, \
/obj/item/weapon/storage/box/lights/colored/green, \
/obj/item/weapon/storage/box/lights/colored/blue, \
/obj/item/weapon/storage/box/lights/colored/cyan, \
/obj/item/weapon/storage/box/lights/colored/yellow, \
/obj/item/weapon/storage/box/lights/colored/magenta \
/obj/item/storage/box/lights/colored/red, \
/obj/item/storage/box/lights/colored/green, \
/obj/item/storage/box/lights/colored/blue, \
/obj/item/storage/box/lights/colored/cyan, \
/obj/item/storage/box/lights/colored/yellow, \
/obj/item/storage/box/lights/colored/magenta \
)
new type(L)
@@ -90,13 +90,13 @@ STOCK_ITEM_COMMON(aid, 4)
new /obj/random/firstaid(L)
STOCK_ITEM_COMMON(flame, 2)
new /obj/item/weapon/storage/box/matches(L)
new /obj/item/weapon/flame/lighter/random(L)
new /obj/item/weapon/storage/fancy/candle_box(L)
new /obj/item/weapon/storage/fancy/candle_box(L)
new /obj/item/storage/box/matches(L)
new /obj/item/flame/lighter/random(L)
new /obj/item/storage/fancy/candle_box(L)
new /obj/item/storage/fancy/candle_box(L)
STOCK_ITEM_COMMON(crayons, 1.5)
new /obj/item/weapon/storage/fancy/crayons(L)
new /obj/item/storage/fancy/crayons(L)
STOCK_ITEM_COMMON(figure, 1)
@@ -113,52 +113,52 @@ STOCK_ITEM_COMMON(tech, 5)
new /obj/random/tech_supply(L)
STOCK_ITEM_COMMON(smokes, 2)
new /obj/item/weapon/flame/lighter/random(L)
new /obj/item/flame/lighter/random(L)
if (prob(20))
new /obj/item/weapon/storage/fancy/cigar(L)
new /obj/item/weapon/storage/fancy/cigar(L)
new /obj/item/storage/fancy/cigar(L)
new /obj/item/storage/fancy/cigar(L)
else
new /obj/item/weapon/storage/fancy/cigarettes/blank(L)
new /obj/item/weapon/storage/fancy/cigarettes/blank(L)
new /obj/item/storage/fancy/cigarettes/blank(L)
new /obj/item/storage/fancy/cigarettes/blank(L)
if (prob(50))
new /obj/item/weapon/storage/fancy/cigarettes/dromedaryco(L)
new /obj/item/weapon/storage/fancy/cigarettes/dromedaryco(L)
new /obj/item/weapon/storage/fancy/cigarettes/dromedaryco(L)
new /obj/item/weapon/storage/fancy/cigarettes/dromedaryco(L)
new /obj/item/storage/fancy/cigarettes/dromedaryco(L)
new /obj/item/storage/fancy/cigarettes/dromedaryco(L)
new /obj/item/storage/fancy/cigarettes/dromedaryco(L)
new /obj/item/storage/fancy/cigarettes/dromedaryco(L)
else
new /obj/item/weapon/storage/fancy/cigarettes(L)
new /obj/item/weapon/storage/fancy/cigarettes(L)
new /obj/item/weapon/storage/fancy/cigarettes(L)
new /obj/item/weapon/storage/fancy/cigarettes(L)
new /obj/item/storage/fancy/cigarettes(L)
new /obj/item/storage/fancy/cigarettes(L)
new /obj/item/storage/fancy/cigarettes(L)
new /obj/item/storage/fancy/cigarettes(L)
if (prob(30))
new /obj/item/clothing/mask/smokable/pipe(L)
STOCK_ITEM_COMMON(vials, 2)
if (prob(20))
new /obj/item/weapon/storage/lockbox/vials(L)
new /obj/item/storage/lockbox/vials(L)
else
new /obj/item/weapon/storage/fancy/vials(L)
new /obj/item/storage/fancy/vials(L)
STOCK_ITEM_COMMON(smallcell, 4)
for (var/i in 1 to rand(1, 4))
var/type = pick( \
/obj/item/weapon/cell, \
/obj/item/weapon/cell/device, \
/obj/item/weapon/cell/apc, \
/obj/item/weapon/cell/high \
/obj/item/cell, \
/obj/item/cell/device, \
/obj/item/cell/apc, \
/obj/item/cell/high \
)
new type(L)
//Spawns a random circuitboard
//Allboards being a global list might be faster, but it didnt seem worth the extra memory
STOCK_ITEM_COMMON(circuitboard, 2)
var/list/allboards = subtypesof(/obj/item/weapon/circuitboard)
var/list/allboards = subtypesof(/obj/item/circuitboard)
var/list/exclusion = list(
/obj/item/weapon/circuitboard/unary_atmos,
/obj/item/weapon/circuitboard/telecomms
/obj/item/circuitboard/unary_atmos,
/obj/item/circuitboard/telecomms
)
exclusion += typesof(/obj/item/weapon/circuitboard/mecha)
exclusion += typesof(/obj/item/circuitboard/mecha)
allboards -= exclusion
var/type = pick(allboards)
@@ -183,10 +183,10 @@ STOCK_ITEM_COMMON(weldgear, 2)
if (prob(50))
new /obj/item/clothing/head/welding(L)
if (prob(50))
new /obj/item/weapon/weldpack(L)
new /obj/item/weldpack(L)
STOCK_ITEM_COMMON(inflatable, 3)
new /obj/item/weapon/storage/briefcase/inflatable(L)
new /obj/item/storage/briefcase/inflatable(L)
STOCK_ITEM_COMMON(wheelchair, 1)
//Wheelchair is not dense so it doesnt NEED a clear tile, but it looks a little silly to
@@ -208,21 +208,21 @@ STOCK_ITEM_COMMON(meson, 1.5)
new /obj/item/clothing/glasses/meson(L)
STOCK_ITEM_COMMON(trap, 2)
new /obj/item/weapon/trap(L)
new /obj/item/trap(L)
if (prob(50))
new /obj/item/weapon/trap(L)
new /obj/item/trap(L)
STOCK_ITEM_COMMON(trays, 1.8)
for (var/i in 1 to rand(1, 7))
new /obj/item/weapon/tray(L)
new /obj/item/tray(L)
STOCK_ITEM_COMMON(utensil, 2)
new /obj/item/weapon/storage/box/kitchen(L)
new /obj/item/storage/box/kitchen(L)
STOCK_ITEM_COMMON(metalfoam, 1.5)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(L)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(L)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(L)
new /obj/item/grenade/chem_grenade/metalfoam(L)
new /obj/item/grenade/chem_grenade/metalfoam(L)
new /obj/item/grenade/chem_grenade/metalfoam(L)
STOCK_ITEM_COMMON(nanopaste, 2)
new /obj/item/stack/nanopaste(L)
@@ -263,13 +263,13 @@ STOCK_ITEM_COMMON(scanners, 3.2)
/obj/item/device/mass_spectrometer = 0.5,
/obj/item/device/mass_spectrometer/adv = 0.5,
/obj/item/device/slime_scanner = 1,
/obj/item/weapon/autopsy_scanner = 1,
/obj/item/autopsy_scanner = 1,
/obj/item/device/robotanalyzer = 4,
/obj/item/weapon/mining_scanner = 1,
/obj/item/mining_scanner = 1,
/obj/item/device/ano_scanner = 1,
/obj/item/device/reagent_scanner = 2,
/obj/item/device/reagent_scanner/adv = 2,
/obj/item/weapon/barcodescanner = 1,
/obj/item/barcodescanner = 1,
/obj/item/device/depth_scanner = 1,
/obj/item/device/antibody_scanner = 0.5
)
@@ -292,22 +292,22 @@ STOCK_ITEM_COMMON(maglock, 2)
new /obj/item/device/magnetic_lock/security(L)
STOCK_ITEM_COMMON(luminol, 2)
new /obj/item/weapon/reagent_containers/spray/luminol(L)
new /obj/item/reagent_containers/spray/luminol(L)
STOCK_ITEM_COMMON(cleaning, 3.5)
if (prob(80))
new /obj/item/weapon/reagent_containers/glass/rag(L)
new /obj/item/reagent_containers/glass/rag(L)
if (prob(80))
var/list/soaps = list(
/obj/item/weapon/soap,
/obj/item/weapon/soap/nanotrasen,
/obj/item/weapon/soap/deluxe,
/obj/item/weapon/soap/syndie
/obj/item/soap,
/obj/item/soap/nanotrasen,
/obj/item/soap/deluxe,
/obj/item/soap/syndie
)
var/soaptype = pick(soaps)
new soaptype(L)
if (prob(80))
new /obj/item/weapon/mop(L)
new /obj/item/mop(L)
STOCK_ITEM_COMMON(bsdm, 2)
if (prob(50))
@@ -330,7 +330,7 @@ STOCK_ITEM_COMMON(rollerbed, 2.2)
new /obj/item/roller(L)
STOCK_ITEM_COMMON(smokebombs, 1.1)
new /obj/item/weapon/storage/box/smokebombs(L)
new /obj/item/storage/box/smokebombs(L)
STOCK_ITEM_COMMON(jar, 2)
new /obj/item/glass_jar(L)
@@ -339,28 +339,28 @@ STOCK_ITEM_COMMON(uvlight, 1.2)
new /obj/item/device/uv_light(L)
STOCK_ITEM_COMMON(glasses, 1.2)
new /obj/item/weapon/storage/box/rxglasses(L)
new /obj/item/storage/box/rxglasses(L)
STOCK_ITEM_COMMON(pills, 1.2)
var/list/options = pick( \
/obj/item/weapon/storage/pill_bottle/bicaridine, \
/obj/item/weapon/storage/pill_bottle/dexalin_plus, \
/obj/item/weapon/storage/pill_bottle/dermaline, \
/obj/item/weapon/storage/pill_bottle/dylovene, \
/obj/item/weapon/storage/pill_bottle/inaprovaline, \
/obj/item/weapon/storage/pill_bottle/kelotane, \
/obj/item/weapon/storage/pill_bottle/antihistamine, \
/obj/item/weapon/storage/pill_bottle/tramadol, \
/obj/item/weapon/storage/pill_bottle/paracetamol \
/obj/item/storage/pill_bottle/bicaridine, \
/obj/item/storage/pill_bottle/dexalin_plus, \
/obj/item/storage/pill_bottle/dermaline, \
/obj/item/storage/pill_bottle/dylovene, \
/obj/item/storage/pill_bottle/inaprovaline, \
/obj/item/storage/pill_bottle/kelotane, \
/obj/item/storage/pill_bottle/antihistamine, \
/obj/item/storage/pill_bottle/tramadol, \
/obj/item/storage/pill_bottle/paracetamol \
)
var/newtype = pick(options)
new newtype(L)
STOCK_ITEM_COMMON(cosmetic, 2.2)
if (prob(50))
new /obj/item/weapon/lipstick/random(L)
new /obj/item/lipstick/random(L)
else
new /obj/item/weapon/haircomb(L)
new /obj/item/haircomb(L)
STOCK_ITEM_COMMON(suitcooler, 1.2)
new /obj/item/device/suit_cooling_unit(L)
@@ -388,8 +388,8 @@ STOCK_ITEM_COMMON(booze, 3.7)
else
new /obj/structure/reagent_dispensers/keg/xuizikeg(T)
else
var/list/drinks = typesof(/obj/item/weapon/reagent_containers/food/drinks/bottle)
drinks -= /obj/item/weapon/reagent_containers/food/drinks/bottle
var/list/drinks = typesof(/obj/item/reagent_containers/food/drinks/bottle)
drinks -= /obj/item/reagent_containers/food/drinks/bottle
for (var/i in 1 to rand(1, 3))
var/type = pick(drinks)
@@ -406,13 +406,13 @@ STOCK_ITEM_COMMON(plant, 3.5)
STOCK_ITEM_COMMON(bag, 3.5)
var/type = pick( \
/obj/item/weapon/storage/bag/trash, \
/obj/item/weapon/storage/bag/plasticbag, \
/obj/item/weapon/storage/bag/ore, \
/obj/item/weapon/storage/bag/plants, \
/obj/item/weapon/storage/bag/sheetsnatcher, \
/obj/item/weapon/storage/bag/cash, \
/obj/item/weapon/storage/bag/books \
/obj/item/storage/bag/trash, \
/obj/item/storage/bag/plasticbag, \
/obj/item/storage/bag/ore, \
/obj/item/storage/bag/plants, \
/obj/item/storage/bag/sheetsnatcher, \
/obj/item/storage/bag/cash, \
/obj/item/storage/bag/books \
)
new type(L)
if (prob(30))
@@ -421,8 +421,8 @@ STOCK_ITEM_COMMON(bag, 3.5)
STOCK_ITEM_COMMON(extinguish, 2.2)
for (var/i in 1 to rand(1, 3))
var/type = pick( \
/obj/item/weapon/extinguisher, \
/obj/item/weapon/extinguisher/mini \
/obj/item/extinguisher, \
/obj/item/extinguisher/mini \
)
new type(L)
@@ -456,20 +456,20 @@ STOCK_ITEM_COMMON(snacks, 4)
L = get_turf(pick(CS.tables))
var/list/snacks = list(
/obj/item/weapon/storage/box/donkpockets = 10,
/obj/item/weapon/storage/box/sinpockets = 5,
/obj/item/weapon/storage/box/snack = 10,
/obj/item/weapon/storage/box/produce = 8,
/obj/item/weapon/storage/field_ration = 3,
/obj/item/weapon/storage/field_ration/nka = 1
/obj/item/storage/box/donkpockets = 10,
/obj/item/storage/box/sinpockets = 5,
/obj/item/storage/box/snack = 10,
/obj/item/storage/box/produce = 8,
/obj/item/storage/field_ration = 3,
/obj/item/storage/field_ration/nka = 1
)
var/type = pickweight(snacks)
new type(L)
STOCK_ITEM_COMMON(oxytank, 2.5)
new /obj/item/weapon/tank/oxygen(L)
new /obj/item/weapon/tank/oxygen(L)
new /obj/item/tank/oxygen(L)
new /obj/item/tank/oxygen(L)
STOCK_ITEM_COMMON(signs, 4)
var/list/allsigns = subtypesof(/obj/structure/sign)
@@ -486,37 +486,37 @@ STOCK_ITEM_COMMON(signs, 4)
S.unfasten()
STOCK_ITEM_COMMON(posters, 3)
new /obj/item/weapon/contraband/poster(L)
new /obj/item/contraband/poster(L)
if (prob(50))
new /obj/item/weapon/contraband/poster(L)
new /obj/item/contraband/poster(L)
if (prob(50))
new /obj/item/weapon/contraband/poster(L)
new /obj/item/contraband/poster(L)
STOCK_ITEM_COMMON(parts, 6)
var/list/parts = list(
/obj/item/weapon/stock_parts/console_screen = 3, //Low ranking parts, common
/obj/item/weapon/stock_parts/capacitor = 3,
/obj/item/weapon/stock_parts/scanning_module = 3,
/obj/item/weapon/stock_parts/manipulator = 3,
/obj/item/weapon/stock_parts/micro_laser = 3,
/obj/item/weapon/stock_parts/matter_bin = 3,
/obj/item/weapon/stock_parts/capacitor/adv = 1, //Improved parts, less common
/obj/item/weapon/stock_parts/scanning_module/adv = 1,
/obj/item/weapon/stock_parts/manipulator/nano = 1,
/obj/item/weapon/stock_parts/micro_laser/high = 1,
/obj/item/weapon/stock_parts/matter_bin/adv = 1,
/obj/item/weapon/stock_parts/capacitor/super = 0.3, //Top level parts, rare
/obj/item/weapon/stock_parts/scanning_module/phasic = 0.3,
/obj/item/weapon/stock_parts/manipulator/pico = 0.3,
/obj/item/weapon/stock_parts/micro_laser/ultra = 0.3,
/obj/item/weapon/stock_parts/matter_bin/super = 0.3,
/obj/item/weapon/stock_parts/subspace/ansible = 0.5, //Telecomms parts, useless novelties and red herrings.
/obj/item/weapon/stock_parts/subspace/filter = 0.5,
/obj/item/weapon/stock_parts/subspace/amplifier = 0.5,
/obj/item/weapon/stock_parts/subspace/treatment = 0.5,
/obj/item/weapon/stock_parts/subspace/analyzer = 0.5,
/obj/item/weapon/stock_parts/subspace/crystal = 0.5,
/obj/item/weapon/stock_parts/subspace/transmitter = 0.5
/obj/item/stock_parts/console_screen = 3, //Low ranking parts, common
/obj/item/stock_parts/capacitor = 3,
/obj/item/stock_parts/scanning_module = 3,
/obj/item/stock_parts/manipulator = 3,
/obj/item/stock_parts/micro_laser = 3,
/obj/item/stock_parts/matter_bin = 3,
/obj/item/stock_parts/capacitor/adv = 1, //Improved parts, less common
/obj/item/stock_parts/scanning_module/adv = 1,
/obj/item/stock_parts/manipulator/nano = 1,
/obj/item/stock_parts/micro_laser/high = 1,
/obj/item/stock_parts/matter_bin/adv = 1,
/obj/item/stock_parts/capacitor/super = 0.3, //Top level parts, rare
/obj/item/stock_parts/scanning_module/phasic = 0.3,
/obj/item/stock_parts/manipulator/pico = 0.3,
/obj/item/stock_parts/micro_laser/ultra = 0.3,
/obj/item/stock_parts/matter_bin/super = 0.3,
/obj/item/stock_parts/subspace/ansible = 0.5, //Telecomms parts, useless novelties and red herrings.
/obj/item/stock_parts/subspace/filter = 0.5,
/obj/item/stock_parts/subspace/amplifier = 0.5,
/obj/item/stock_parts/subspace/treatment = 0.5,
/obj/item/stock_parts/subspace/analyzer = 0.5,
/obj/item/stock_parts/subspace/crystal = 0.5,
/obj/item/stock_parts/subspace/transmitter = 0.5
)
for (var/i in 1 to rand(2, 5))
@@ -525,17 +525,17 @@ STOCK_ITEM_COMMON(parts, 6)
STOCK_ITEM_COMMON(cane, 2)
if (prob(5))
new /obj/item/weapon/cane/concealed(L)
new /obj/item/cane/concealed(L)
else if (prob(20))
new /obj/item/weapon/staff/broom(L)
new /obj/item/staff/broom(L)
else
new /obj/item/weapon/cane(L)
new /obj/item/cane(L)
STOCK_ITEM_COMMON(warning, 2.2)
if (prob(50))
new /obj/item/weapon/caution(L)
new /obj/item/caution(L)
else
new /obj/item/weapon/caution/cone(L)
new /obj/item/caution/cone(L)
STOCK_ITEM_COMMON(gasmask, 2)
var/list/masks = list(
@@ -555,25 +555,25 @@ STOCK_ITEM_COMMON(gasmask, 2)
new type(L)
STOCK_ITEM_COMMON(cleanernades, 1.5)
new /obj/item/weapon/grenade/chem_grenade/cleaner(L)
new /obj/item/weapon/grenade/chem_grenade/cleaner(L)
new /obj/item/grenade/chem_grenade/cleaner(L)
new /obj/item/grenade/chem_grenade/cleaner(L)
if (prob(50))
new /obj/item/weapon/grenade/chem_grenade/cleaner(L)
new /obj/item/weapon/grenade/chem_grenade/cleaner(L)
new /obj/item/grenade/chem_grenade/cleaner(L)
new /obj/item/grenade/chem_grenade/cleaner(L)
STOCK_ITEM_COMMON(mining, 2)
if (prob(50))
new /obj/item/weapon/shovel(L)
new /obj/item/shovel(L)
if (prob(50))
new /obj/item/weapon/pickaxe(L)
new /obj/item/pickaxe(L)
if (prob(50))
new /obj/item/clothing/glasses/material(L)
if (prob(50))
new /obj/item/device/flashlight/lantern(L)
if (prob(50))
new /obj/item/weapon/mining_scanner(L)
new /obj/item/mining_scanner(L)
if (prob(25))
new /obj/item/weapon/storage/box/excavation(L)
new /obj/item/storage/box/excavation(L)
STOCK_ITEM_COMMON(paicard, 2)
new /obj/item/device/paicard(L)
+67 -67
View File
@@ -30,33 +30,33 @@ STOCK_ITEM_UNCOMMON(flare, 2)
new /obj/random/glowstick(L)
STOCK_ITEM_UNCOMMON(deathalarm, 2)
new /obj/item/weapon/storage/box/cdeathalarm_kit(L)
new /obj/item/storage/box/cdeathalarm_kit(L)
STOCK_ITEM_UNCOMMON(trackimp, 1)
new /obj/item/weapon/storage/box/trackimp(L)
new /obj/item/storage/box/trackimp(L)
STOCK_ITEM_UNCOMMON(flashbang, 0.75)
new /obj/item/weapon/storage/box/flashbangs(L)
new /obj/item/storage/box/flashbangs(L)
STOCK_ITEM_UNCOMMON(cuffs, 1)
new /obj/item/weapon/storage/box/handcuffs(L)
new /obj/item/storage/box/handcuffs(L)
STOCK_ITEM_UNCOMMON(monkey, 2)
if (prob(40))
var/type = pick( \
/obj/item/weapon/storage/box/monkeycubes/farwacubes, \
/obj/item/weapon/storage/box/monkeycubes/stokcubes, \
/obj/item/weapon/storage/box/monkeycubes/neaeracubes \
/obj/item/storage/box/monkeycubes/farwacubes, \
/obj/item/storage/box/monkeycubes/stokcubes, \
/obj/item/storage/box/monkeycubes/neaeracubes \
)
new type(L)
else
new /obj/item/weapon/storage/box/monkeycubes(L)
new /obj/item/storage/box/monkeycubes(L)
STOCK_ITEM_UNCOMMON(specialcrayon, 1.5)
if (prob(50))
new /obj/item/weapon/pen/crayon/mime(L)
new /obj/item/pen/crayon/mime(L)
else
new /obj/item/weapon/pen/crayon/rainbow(L)
new /obj/item/pen/crayon/rainbow(L)
STOCK_ITEM_UNCOMMON(contraband, 2)
for (var/i in 1 to rand(1,8))
@@ -65,9 +65,9 @@ STOCK_ITEM_UNCOMMON(contraband, 2)
STOCK_ITEM_UNCOMMON(mediumcell, 3)
for (var/i in 1 to rand(1,2))
var/type = pick( \
/obj/item/weapon/cell/super, \
/obj/item/weapon/cell/potato, \
/obj/item/weapon/cell/high \
/obj/item/cell/super, \
/obj/item/cell/potato, \
/obj/item/cell/high \
)
new type(L)
@@ -77,7 +77,7 @@ STOCK_ITEM_UNCOMMON(chempack, 5)
"sglue", "black_matter", "lightning", "trioxin", "phoron_salt", "nanites")
chems -= exclusion
for (var/i in 1 to rand(2, 6))
var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge(L)
var/obj/item/reagent_containers/chem_disp_cartridge/C = new /obj/item/reagent_containers/chem_disp_cartridge(L)
var/rname = pick(chems)
var/datum/reagent/R = SSchemistry.chemical_reagents[rname]
@@ -101,12 +101,12 @@ STOCK_ITEM_UNCOMMON(robolimbs, 3)
new type(L, manuf)
STOCK_ITEM_UNCOMMON(circuitboards, 3)
var/list/allboards = subtypesof(/obj/item/weapon/circuitboard)
var/list/allboards = subtypesof(/obj/item/circuitboard)
var/list/exclusion = list(
/obj/item/weapon/circuitboard/unary_atmos,
/obj/item/weapon/circuitboard/telecomms
/obj/item/circuitboard/unary_atmos,
/obj/item/circuitboard/telecomms
)
exclusion += typesof(/obj/item/weapon/circuitboard/mecha)
exclusion += typesof(/obj/item/circuitboard/mecha)
allboards -= exclusion
for (var/i in 1 to rand(2, 5))
@@ -114,8 +114,8 @@ STOCK_ITEM_UNCOMMON(circuitboards, 3)
new type(L)
STOCK_ITEM_UNCOMMON(jetpack, 3)
new /obj/item/weapon/tank/jetpack/void(L)
new /obj/item/weapon/tank/emergency_oxygen/double(L)
new /obj/item/tank/jetpack/void(L)
new /obj/item/tank/emergency_oxygen/double(L)
STOCK_ITEM_UNCOMMON(xenocostume, 1)
new /obj/item/clothing/suit/xenos(L)
@@ -125,23 +125,23 @@ STOCK_ITEM_UNCOMMON(inhaler, 1)
log_debug("Unimplemented item inhaler.")
STOCK_ITEM_UNCOMMON(advwelder, 2)
new /obj/item/weapon/weldingtool/hugetank(L)
new /obj/item/weldingtool/hugetank(L)
STOCK_ITEM_UNCOMMON(sord, 1)
new /obj/item/weapon/sord(L)
new /obj/item/sord(L)
STOCK_ITEM_UNCOMMON(policebaton, 1.5)
new /obj/item/weapon/melee/classic_baton(L)
new /obj/item/melee/classic_baton(L)
STOCK_ITEM_UNCOMMON(stunbaton, 0.75) //batons spawn with no powercell
var/obj/item/weapon/melee/baton/B = new /obj/item/weapon/melee/baton(L)
var/obj/item/melee/baton/B = new /obj/item/melee/baton(L)
if (B.bcell)
QDEL_NULL(B.bcell)
B.queue_icon_update()
STOCK_ITEM_UNCOMMON(firingpin, 3)
new /obj/item/weapon/storage/box/firingpins(L)
new /obj/item/storage/box/firingpins(L)
STOCK_ITEM_UNCOMMON(watches, 3)
new /obj/item/clothing/gloves/watch(L)
@@ -172,16 +172,16 @@ STOCK_ITEM_UNCOMMON(debugger, 2)
new /obj/item/device/debugger(L)//No idea what this thing does, or if it works at all
STOCK_ITEM_UNCOMMON(surgerykit, 2.5)
new /obj/item/weapon/storage/firstaid/surgery(L)
new /obj/item/storage/firstaid/surgery(L)
STOCK_ITEM_UNCOMMON(crimekit, 1)
new /obj/item/weapon/storage/briefcase/crimekit(L)
new /obj/item/storage/briefcase/crimekit(L)
STOCK_ITEM_UNCOMMON(carpet, 2)
new /obj/item/stack/tile/carpet(L, 50)
STOCK_ITEM_UNCOMMON(gift, 4)
new /obj/item/weapon/a_gift(L)
new /obj/item/a_gift(L)
STOCK_ITEM_UNCOMMON(coatrack, 1)
var/turf/T = get_turf(L)
@@ -193,15 +193,15 @@ STOCK_ITEM_UNCOMMON(coatrack, 1)
new /obj/structure/coatrack(T)
STOCK_ITEM_UNCOMMON(riotshield, 2)
new /obj/item/weapon/shield/riot(L)
new /obj/item/shield/riot(L)
if (prob(60))
new /obj/item/weapon/shield/riot(L)
new /obj/item/shield/riot(L)
STOCK_ITEM_UNCOMMON(fireaxe, 1)
new /obj/item/weapon/material/twohanded/fireaxe(L)
new /obj/item/material/twohanded/fireaxe(L)
STOCK_ITEM_UNCOMMON(service, 2)
new /obj/item/weapon/rfd/service(L)
new /obj/item/rfd/service(L)
STOCK_ITEM_UNCOMMON(robot, 2)
var/list/bots = list(
@@ -245,32 +245,32 @@ STOCK_ITEM_UNCOMMON(headset, 2)
new type(L)
STOCK_ITEM_UNCOMMON(bat, 1.2)
new /obj/item/weapon/material/twohanded/baseballbat(L)
new /obj/item/material/twohanded/baseballbat(L)
STOCK_ITEM_UNCOMMON(scythe, 0.75)
new /obj/item/weapon/material/scythe(L)
new /obj/item/material/scythe(L)
STOCK_ITEM_UNCOMMON(manual, 2)
var/type = pick( \
/obj/item/weapon/book/manual/excavation, \
/obj/item/weapon/book/manual/mass_spectrometry, \
/obj/item/weapon/book/manual/anomaly_spectroscopy, \
/obj/item/weapon/book/manual/materials_chemistry_analysis, \
/obj/item/weapon/book/manual/anomaly_testing, \
/obj/item/weapon/book/manual/stasis, \
/obj/item/weapon/book/manual/engineering_particle_accelerator, \
/obj/item/weapon/book/manual/supermatter_engine, \
/obj/item/weapon/book/manual/engineering_singularity_safety, \
/obj/item/weapon/book/manual/medical_cloning, \
/obj/item/weapon/book/manual/ripley_build_and_repair, \
/obj/item/weapon/book/manual/research_and_development, \
/obj/item/weapon/book/manual/robotics_cyborgs, \
/obj/item/weapon/book/manual/medical_diagnostics_manual, \
/obj/item/weapon/book/manual/chef_recipes, \
/obj/item/weapon/book/manual/barman_recipes, \
/obj/item/weapon/book/manual/detective, \
/obj/item/weapon/book/manual/atmospipes, \
/obj/item/weapon/book/manual/evaguide \
/obj/item/book/manual/excavation, \
/obj/item/book/manual/mass_spectrometry, \
/obj/item/book/manual/anomaly_spectroscopy, \
/obj/item/book/manual/materials_chemistry_analysis, \
/obj/item/book/manual/anomaly_testing, \
/obj/item/book/manual/stasis, \
/obj/item/book/manual/engineering_particle_accelerator, \
/obj/item/book/manual/supermatter_engine, \
/obj/item/book/manual/engineering_singularity_safety, \
/obj/item/book/manual/medical_cloning, \
/obj/item/book/manual/ripley_build_and_repair, \
/obj/item/book/manual/research_and_development, \
/obj/item/book/manual/robotics_cyborgs, \
/obj/item/book/manual/medical_diagnostics_manual, \
/obj/item/book/manual/chef_recipes, \
/obj/item/book/manual/barman_recipes, \
/obj/item/book/manual/detective, \
/obj/item/book/manual/atmospipes, \
/obj/item/book/manual/evaguide \
)
new type(L)
@@ -279,24 +279,24 @@ STOCK_ITEM_UNCOMMON(jammer, 2)
new /obj/item/device/radiojammer(L)
STOCK_ITEM_UNCOMMON(rped, 2)
new /obj/item/weapon/storage/part_replacer(L)
new /obj/item/storage/part_replacer(L)
STOCK_ITEM_UNCOMMON(briefcase, 2)
if (prob(20))
new /obj/item/weapon/storage/secure/briefcase(L)
new /obj/item/storage/secure/briefcase(L)
else
new /obj/item/weapon/storage/briefcase(L)
new /obj/item/storage/briefcase(L)
STOCK_ITEM_UNCOMMON(blade, 1.2)
var/list/blades = list(
/obj/item/weapon/material/knife/butterfly = 1,
/obj/item/weapon/material/knife/butterfly/switchblade = 1,
/obj/item/weapon/material/hook = 1.5,
/obj/item/weapon/material/knife/ritual = 1.5,
/obj/item/weapon/material/hatchet/butch = 1,
/obj/item/weapon/material/hatchet = 1.5,
/obj/item/weapon/material/hatchet/unathiknife = 0.75,
/obj/item/weapon/material/knife/tacknife = 1
/obj/item/material/knife/butterfly = 1,
/obj/item/material/knife/butterfly/switchblade = 1,
/obj/item/material/hook = 1.5,
/obj/item/material/knife/ritual = 1.5,
/obj/item/material/hatchet/butch = 1,
/obj/item/material/hatchet = 1.5,
/obj/item/material/hatchet/unathiknife = 0.75,
/obj/item/material/knife/tacknife = 1
)
var/type = pickweight(blades)
@@ -332,9 +332,9 @@ STOCK_ITEM_UNCOMMON(exoquip, 2)
STOCK_ITEM_UNCOMMON(laserscalpel, 1.3)
var/list/lasers = list(
/obj/item/weapon/scalpel/laser1 = 3,
/obj/item/weapon/scalpel/laser2 = 2,
/obj/item/weapon/scalpel/laser3 = 1
/obj/item/scalpel/laser1 = 3,
/obj/item/scalpel/laser2 = 2,
/obj/item/scalpel/laser3 = 1
)
var/type = pickweight(lasers)
new type(L)
+29 -29
View File
@@ -10,13 +10,13 @@ STOCK_ITEM_RARE(uranium, 3)
new /obj/item/stack/material/uranium(L, rand(5,30))
STOCK_ITEM_RARE(EMP, 0.75)
new /obj/item/weapon/storage/box/emps(L)
new /obj/item/storage/box/emps(L)
STOCK_ITEM_RARE(hypercell, 3)
new /obj/item/weapon/cell/hyper(L)
new /obj/item/cell/hyper(L)
STOCK_ITEM_RARE(combatmeds, 3)
new /obj/item/weapon/storage/firstaid/combat(L)
new /obj/item/storage/firstaid/combat(L)
STOCK_ITEM_RARE(batterer, 0.75)
new /obj/item/device/batterer(L)
@@ -25,39 +25,39 @@ STOCK_ITEM_RARE(posibrain, 3)
new /obj/item/device/mmi/digital/posibrain(L)
STOCK_ITEM_RARE(bsbeaker, 3)
new /obj/item/weapon/reagent_containers/glass/beaker/bluespace(L)
new /obj/item/reagent_containers/glass/beaker/bluespace(L)
if (prob(50))
new /obj/item/weapon/reagent_containers/glass/beaker/bluespace(L)
new /obj/item/reagent_containers/glass/beaker/bluespace(L)
STOCK_ITEM_RARE(energyshield, 2)
new /obj/item/weapon/shield/energy(L)
new /obj/item/shield/energy(L)
// A random RIG/hardsuit.
// It'll come with some screwy electronics, possibly needing reprogramming.
STOCK_ITEM_RARE(hardsuit, 0.75)
var/list/rigs = list(
/obj/item/weapon/rig/unathi = 2,
/obj/item/weapon/rig/unathi/fancy = 0.75,
/obj/item/weapon/rig/combat = 0.1,
/obj/item/weapon/rig/ert = 0.1,
/obj/item/weapon/rig/ert/engineer = 0.1,
/obj/item/weapon/rig/ert/medical = 0.15,
/obj/item/weapon/rig/ert/security = 0.075,
/obj/item/weapon/rig/light = 0.5,
/obj/item/weapon/rig/light/hacker = 0.8,
/obj/item/weapon/rig/light/stealth = 0.5,
/obj/item/weapon/rig/merc/empty = 0.5,
/obj/item/weapon/rig/industrial = 3,
/obj/item/weapon/rig/eva = 3,
/obj/item/weapon/rig/ce = 2,
/obj/item/weapon/rig/hazmat = 4,
/obj/item/weapon/rig/medical = 4,
/obj/item/weapon/rig/hazard = 3,
/obj/item/weapon/rig/diving = 1
/obj/item/rig/unathi = 2,
/obj/item/rig/unathi/fancy = 0.75,
/obj/item/rig/combat = 0.1,
/obj/item/rig/ert = 0.1,
/obj/item/rig/ert/engineer = 0.1,
/obj/item/rig/ert/medical = 0.15,
/obj/item/rig/ert/security = 0.075,
/obj/item/rig/light = 0.5,
/obj/item/rig/light/hacker = 0.8,
/obj/item/rig/light/stealth = 0.5,
/obj/item/rig/merc/empty = 0.5,
/obj/item/rig/industrial = 3,
/obj/item/rig/eva = 3,
/obj/item/rig/ce = 2,
/obj/item/rig/hazmat = 4,
/obj/item/rig/medical = 4,
/obj/item/rig/hazard = 3,
/obj/item/rig/diving = 1
)
var/type = pickweight(rigs)
var/obj/item/weapon/rig/module = new type(L)
var/obj/item/rig/module = new type(L)
//screw it up a bit
var/cnd = rand(40,100)
@@ -67,16 +67,16 @@ STOCK_ITEM_RARE(hardsuit, 0.75)
module.sabotage_tank()
STOCK_ITEM_RARE(cluster, 2.0)
new /obj/item/weapon/grenade/flashbang/clusterbang(L)
new /obj/item/grenade/flashbang/clusterbang(L)
STOCK_ITEM_RARE(ladder, 3)
new /obj/item/weapon/ladder_mobile(L)
new /obj/item/ladder_mobile(L)
STOCK_ITEM_RARE(sword, 0.5)
new /obj/random/sword(L)
STOCK_ITEM_RARE(ims, 1.5)
new /obj/item/weapon/scalpel/manager(L)
new /obj/item/scalpel/manager(L)
STOCK_ITEM_RARE(exogear, 1.5)
var/list/equips = list(
@@ -106,7 +106,7 @@ STOCK_ITEM_RARE(exogear, 1.5)
new type(L)
STOCK_ITEM_RARE(teleporter, 1)
new /obj/item/weapon/hand_tele(L)
new /obj/item/hand_tele(L)
STOCK_ITEM_RARE(voice, 1.5)
new /obj/item/clothing/mask/gas/voice(L)