Files
Aurora.3/code/game/objects/random/loot.dm
T
BatrachophrenoandGitHub 98d00638ce Horizon maint access rights and contents variety (#22262)
Two major changes to Horizon maints:
1. Updated maint door access to actually be consistent across the ship.
That is to say, you should have access to the maints behind your own
department, you should be able to make meaningful use out of them (no
random useless dead ends), but you shouldn't automatically get free
access to the entirety of the ship maints due to lack of hatch access
control. This was a non-issue until the Horizon expansion that greatly
increased maint interconnectivity. Now, everyone has consistent maint
access, and free access remains for Code Blue (or manually Command
disabling access controls).

2. Maint loot should be more interesting. Static contraband spawns were
reduced but a large number of new spawners were added that should make
loot, contraband, tools, trash, etc., spawn in more varied places. This
should make maint travel involve more Happy Surprises rather than
strictly being a rote process of 'lets see what spawned in XYZ room this
time).

Miscellaneous other bugfixes and spawn tweaks based on my observation;
on repeatedly re-loading the Horizon, the numbers chosen seemed to
repeatedly give me the most satisfying results. See file changes.
2026-04-21 14:19:40 +00:00

665 lines
22 KiB
Plaintext

/obj/random/loot
name = "random maintenance loot"
desc = "Stuff for the maint-dwellers."
icon_state = "gasmask"
problist = list(
/obj/item/bluespace_crystal/artificial = 0.1,
/obj/item/bodybag = 0.7,
/obj/item/clothing/accessory/storage/knifeharness = 0.3,
/obj/item/clothing/accessory/storage/webbing = 0.6,
/obj/item/clothing/glasses/sunglasses = 0.75,
/obj/item/clothing/glasses/welding = 0.75,
/obj/item/clothing/head/bearpelt = 0.4,
/obj/item/clothing/head/collectable/petehat = 0.1,
/obj/item/clothing/head/hardhat = 1.2,
/obj/item/clothing/head/helmet/augment = 0.1,
/obj/item/clothing/head/pirate = 0.2,
/obj/item/clothing/head/pumpkin/lantern = 0.4,
/obj/item/clothing/head/redcoat = 0.2,
/obj/item/clothing/head/richard = 0.3,
/obj/item/clothing/head/softcap/rainbow = 0.7,
/obj/item/clothing/head/syndicatefake = 0.5,
/obj/item/clothing/head/ushanka = 0.3,
/obj/item/clothing/head/witchwig = 0.5,
/obj/item/clothing/mask/balaclava = 0.75,
/obj/item/clothing/mask/fakemoustache = 0.4,
/obj/item/clothing/mask/gas = 1.25,
/obj/item/clothing/mask/gas/cyborg = 0.7,
/obj/item/clothing/mask/gas/mime = 0.1,
/obj/item/clothing/mask/gas/old = 0.75,
/obj/item/clothing/mask/gas/owl_mask = 0.5,
/obj/item/clothing/mask/gas/syndicate = 0.4,
/obj/item/clothing/mask/horsehead = 0.5,
/obj/item/clothing/mask/luchador = 0.1,
/obj/item/clothing/mask/luchador/rudos = 0.1,
/obj/item/clothing/mask/luchador/tecnicos = 0.1,
/obj/item/clothing/mask/muzzle = 0.2,
/obj/item/clothing/mask/pig = 0.3,
/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba = 0.7,
/obj/item/clothing/mask/smokable/pipe/cobpipe = 0.5,
/obj/item/clothing/shoes/slippers/carp = 0.5,
/obj/item/clothing/shoes/combat = 0.2,
/obj/item/clothing/shoes/cyborg = 0.4,
/obj/item/clothing/shoes/galoshes = 0.6,
/obj/item/clothing/shoes/jackboots = 0.5,
/obj/item/clothing/shoes/sneakers/rainbow = 0.5,
/obj/item/clothing/shoes/slippers/worn = 0.5,
/obj/item/clothing/shoes/winter = 0.3,
/obj/item/clothing/shoes/workboots = 0.75,
/obj/item/clothing/suit/ianshirt = 0.5,
/obj/item/clothing/suit/storage/hazardvest = 0.75,
/obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 0.7,
/obj/item/clothing/suit/storage/vest = 0.2,
/obj/item/clothing/suit/syndicatefake = 0.6,
/obj/item/clothing/under/overalls = 1,
/obj/item/clothing/under/syndicate/tacticool = 0.4,
/obj/item/clothing/under/syndicate/tracksuit = 0.2,
/obj/item/clothing/under/skrell/wetsuit/swimstars = 0.1, // WE LOVE SWIMSTARS!
/obj/item/clothing/under/skrell/wetsuit/swimstars/alt = 0.1,
/obj/item/firing_pin = 0.3,
/obj/item/firing_pin/clown = 0.01,
/obj/item/flashlight = 1,
/obj/item/flashlight/flare = 0.5,
/obj/item/flashlight/heavy = 0.5,
/obj/item/flashlight/lantern = 0.4,
/obj/item/flashlight/maglight = 0.4,
/obj/item/paint_sprayer = 0.6,
/obj/item/gps/engineering = 0.6,
/obj/item/kinetic_analyzer = 0.1,
/obj/item/laser_pointer/purple = 0.1,
/obj/item/light_meter = 0.1,
/obj/item/magnetic_lock/engineering = 0.3,
/obj/item/magnetic_lock/keypad = 0.1,
/obj/item/magnetic_lock/security = 0.3,
/obj/item/megaphone = 0.3,
/obj/item/price_scanner = 0.1,
/obj/item/taperecorder = 0.6,
/obj/item/uv_light = 0.1,
/obj/item/wormhole_jaunter = 0.1,
/obj/item/inflatable/door/ = 0.1,
/obj/item/seeds/random = 0.25,
/obj/item/stack/material/bronze{amount=10},
/obj/item/banhammer = 0.05,
/obj/item/clothing/head/cone = 0.7,
/obj/item/contraband/poster = 1.3,
/obj/item/extinguisher = 1.3,
/obj/item/extinguisher/mini = 0.9,
/obj/item/flame/lighter = 0.9,
/obj/item/flame/lighter/zippo = 0.7,
/obj/item/grenade/chem_grenade/cleaner = 0.1,
/obj/item/grenade/smokebomb = 0.05, //We /tg/ now.
/obj/item/haircomb = 0.5,
/obj/item/inflatable_duck = 0.2,
/obj/item/lipstick = 0.6,
/obj/item/material/hook = 0.3,
/obj/item/material/knife/tacknife = 0.4,
/obj/item/mesmetron = 0.1,
/obj/item/pickaxe = 0.4,
/obj/item/razor = 0.5,
/obj/item/reagent_containers/extinguisher_refill = 0.1,
/obj/item/reagent_containers/extinguisher_refill/filled = 0.5,
/obj/item/reagent_containers/glass/beaker/teapot = 0.4,
/obj/item/reagent_containers/cooking_container/board/bowl = 0.8,
/obj/item/reagent_containers/inhaler/hyperzine = 0.1,
/obj/item/reagent_containers/spray/cleaner = 0.6,
/obj/item/reagent_containers/spray/sterilizine = 0.4,
/obj/item/reagent_containers/spray/waterflower = 0.2,
/obj/item/shovel = 0.5,
/obj/item/spacecash/ewallet/lotto = 0.3,
/obj/item/staff/broom = 0.5,
/obj/item/storage/bag/plasticbag = 1,
/obj/item/storage/box/large/condimentbottles = 0.2,
/obj/item/storage/box/unique/donkpockets = 0.6,
/obj/item/storage/box/drinkingglasses = 0.2,
/obj/item/storage/box/lights = 0.5,
/obj/item/storage/box/lights/colored/blue = 0.1,
/obj/item/storage/box/lights/colored/cyan = 0.1,
/obj/item/storage/box/lights/colored/green = 0.1,
/obj/item/storage/box/lights/colored/magenta = 0.1,
/obj/item/storage/box/lights/colored/red = 0.1,
/obj/item/storage/box/lights/colored/yellow = 0.1,
/obj/item/storage/box/lights/coloredmixed = 0.2,
/obj/item/storage/box/masks = 0.5,
/obj/item/storage/box/cleaner_tablets = 0.4,
/obj/item/storage/box/mousetraps = 0.3,
/obj/item/storage/box/pineapple = 0.1,
/obj/item/storage/box/tactical/smokebombs = 0.1,
/obj/item/storage/box/syringes = 0.3,
/obj/item/storage/box/fancy/cigarettes = 1.2,
/obj/item/storage/box/fancy/cigarettes/acmeco = 0.3,
/obj/item/storage/box/fancy/cigarettes/blank = 1,
/obj/item/storage/box/fancy/cigarettes/dromedaryco = 0.8,
/obj/item/storage/box/fancy/crayons = 0.5,
/obj/item/storage/wallet/random/ = 0.1,
/obj/item/trap/animal = 0.8,
/obj/random/arcade = 0.25,
/obj/random/backpack = 0.7,
/obj/random/belt = 0.9,
/obj/random/booze = 1.1,
/obj/random/yoke/soda = 1.1,
/obj/random/yoke/energy = 1.1,
/obj/random/chameleon = 0.5,
/obj/random/coin = 1.2,
/obj/random/colored_jumpsuit = 0.7,
/obj/random/contraband = 0.9,
/obj/random/firstaid = 0.4,
/obj/random/gloves = 2,
/obj/random/glowstick = 0.4,
/obj/random/hoodie = 0.5,
/obj/random/bandana = 0.5,
/obj/random/softcap = 0.5,
/obj/random/beret = 0.5,
/obj/random/junk = 0.4,
/obj/random/medical = 0.4,
/obj/random/powercell = 0.8,
/obj/random/smalltank = 0.5,
/obj/random/soap = 0.5,
/obj/random/spacecash = 0.3,
/obj/random/tech_supply = 1.2,
/obj/random/technology_scanner = 1,
/obj/random/tool = 1,
/obj/random/toolbox = 1,
/obj/random_produce = 0.25,
/obj/random/watches = 1,
/obj/random/wizard_dressup = 0.25,
/obj/item/synthesized_instrument/violin = 0.1,
/obj/item/synthesized_instrument/guitar = 1,
/obj/item/synthesized_instrument/trumpet = 0.25,
/obj/item/reagent_containers/pill/cleaner_tablet = 0.6,
/obj/item/storage/box/fancy/food/pralinebox = 0.1
)
/obj/random/highvalue
name = "random high value item"
desc = "This is a random high value item."
icon_state = "coin"
problist = list(
/obj/random/telecrystals = 0.1,
/obj/item/gun/projectile/automatic/rifle/shotgun = 0.1,
/obj/random/melee = 0.3,
/obj/item/gun/energy/acp = 0.1,
/obj/item/gun/projectile/automatic/terminator = 0.1,
/obj/item/personal_shield = 0.4,
/obj/random/safe_rig = 0.4,
/obj/item/gun/projectile/shotgun/pump/combat = 0.2,
/obj/item/clothing/glasses/thermal = 0.5
)
/obj/random/highvalue/no_crystal
problist = list(
/obj/item/clothing/suit/armor/reactive = 0.5,
/obj/item/clothing/glasses/thermal = 0.5,
/obj/item/gun/projectile/automatic/rifle/shotgun = 0.5,
/obj/random/sword = 0.5,
/obj/item/gun/energy/acp = 0.5,
/obj/item/melee/energy/axe = 0.5,
/obj/item/gun/projectile/automatic/terminator = 0.5,
/obj/item/rig/military = 0.5,
/obj/item/rig/unathi/fancy = 0.5,
/obj/item/rig/vaurca = 0.5,
/obj/item/anomaly_core = 0.5,
/obj/item/reagent_containers/food/drinks/bottle/vintage_wine = 0.1
)
//Can be good loot for away sites as well as a guaranteed valuable for a merchant.
/obj/random/highvalue/no_weapon
problist = list(
/obj/item/bluespace_crystal = 1,
/obj/item/reagent_containers/food/drinks/bottle/vintage_wine = 0.1,
/obj/item/clothing/glasses/thermal = 0.5,
/obj/item/anomaly_core = 0.5,
/obj/item/rig/military = 0.2,
/obj/item/rig/unathi/fancy = 0.2,
/obj/item/rig/vaurca = 0.2,
/obj/item/stack/material/phoron/full = 0.1,
/obj/item/stack/material/plasteel/full = 0.8,
/obj/random/voidsuit = 1,
/obj/item/rfd/construction = 0.4,
/obj/item/vaurca/box = 0.1,
/obj/item/melee/vaurca/rock = 0.1,
/obj/item/personal_shield = 0.1,
/obj/item/storage/secure/briefcase/money = 0.1
)
/obj/random/highvalue/cash
problist = list(
/obj/item/storage/secure/briefcase/money = 1,
/obj/item/stack/material/phoron/full = 0.1
)
/obj/random/highvalue/safe
name = "random corporate safe high value item"
desc = "This is a random corporate safe high value item."
icon_state = "coin"
problist = list(
/obj/item/personal_shield = 0.4,
/obj/random/safe_rig = 0.4,
/obj/item/clothing/glasses/thermal = 0.3,
/obj/item/storage/toolbox/infiltration = 0.3,
/obj/random/melee/highvalue = 0.3,
/obj/item/gun/projectile/shotgun/pump/combat = 0.2,
/obj/item/gun/energy/acp = 0.1,
/obj/item/gun/projectile/automatic/terminator = 0.1,
/obj/item/gun/projectile/automatic/rifle/shotgun = 0.1
)
/obj/random/custom_ka
name = "random custom kinetic accelerator"
desc = "Contains random assemblies. The parts may not always be compatible with eachother."
icon_state = "kinetic"
spawnlist = list(
/obj/item/toy/mech/honk
)
has_postspawn = TRUE
/obj/random/custom_ka/post_spawn(obj/thing)
var/list/frames = list(
/obj/item/gun/custom_ka/frame01 = 1,
/obj/item/gun/custom_ka/frame02 = 2,
/obj/item/gun/custom_ka/frame03 = 3,
/obj/item/gun/custom_ka/frame04 = 2,
/obj/item/gun/custom_ka/frame05 = 1
)
var/list/cells = list(
/obj/item/custom_ka_upgrade/cells/cell01 = 2,
/obj/item/custom_ka_upgrade/cells/cell02 = 3,
/obj/item/custom_ka_upgrade/cells/cell03 = 2,
/obj/item/custom_ka_upgrade/cells/cell04 = 1,
/obj/item/custom_ka_upgrade/cells/cell05 = 1
)
var/list/barrels = list(
/obj/item/custom_ka_upgrade/barrels/barrel01 = 2,
/obj/item/custom_ka_upgrade/barrels/barrel02 = 3,
/obj/item/custom_ka_upgrade/barrels/barrel03 = 2,
/obj/item/custom_ka_upgrade/barrels/barrel04 = 1,
/obj/item/custom_ka_upgrade/barrels/barrel05 = 1
)
var/frame_type = pickweight(frames)
var/obj/item/gun/custom_ka/spawned_frame = new frame_type(thing.loc)
var/cell_type = pickweight(cells)
spawned_frame.installed_cell = new cell_type(spawned_frame)
var/barrel_type = pickweight(barrels)
spawned_frame.installed_barrel = new barrel_type(spawned_frame)
spawned_frame.installed_upgrade_chip = new /obj/item/custom_ka_upgrade/upgrade_chips/capacity(spawned_frame)
spawned_frame.update_icon()
spawned_frame.update_stats()
qdel(thing)
/obj/random/prebuilt_ka
name = "random prebuilt kinetic accelerator"
desc = "Contains working kinetic accelerators that were prebuilt in code."
icon_state = "kinetic"
spawnlist = list(
/obj/item/gun/custom_ka/frame01/prebuilt = 2.5,
/obj/item/gun/custom_ka/frame02/prebuilt = 5,
/obj/item/gun/custom_ka/frame03/prebuilt = 10,
/obj/item/gun/custom_ka/frame04/prebuilt = 5,
/obj/item/gun/custom_ka/frame05/prebuilt = 2.5,
/obj/item/gun/custom_ka/frameA/prebuilt = 1,
/obj/item/gun/custom_ka/frameB/prebuilt = 1,
/obj/item/gun/custom_ka/frameC/prebuilt = 1,
/obj/item/gun/custom_ka/frameD/prebuilt = 1,
/obj/item/gun/custom_ka/frameF/prebuilt01 = 1,
/obj/item/gun/custom_ka/frameF/prebuilt02 = 1
)
/obj/random/telecrystals
name = "random telecrystals"
desc = "Contains a random amount of telecrystals."
icon_state = "coin"
spawnlist = list(
/obj/item/stack/telecrystal{amount = 10} = 0.5,
/obj/item/stack/telecrystal{amount = 15} = 0.4,
/obj/item/stack/telecrystal{amount = 20} = 0.3,
/obj/item/stack/telecrystal{amount = 30} = 0.2
)
/obj/random/contraband
name = "random contraband"
desc = "This is some random contraband."
icon_state = "coin"
problist = list(
/obj/item/storage/pill_bottle/mortaphenyl = 3,
/obj/item/storage/pill_bottle/happy = 2,
/obj/item/storage/pill_bottle/zoom = 2,
/obj/item/storage/pill_bottle/smart = 2,
/obj/random/contraband/pill = 3,
/obj/item/reagent_containers/hypospray/autoinjector/stimpack = 2,
/obj/item/reagent_containers/hypospray/autoinjector/krokjuice = 2,
/obj/item/reagent_containers/hypospray/autoinjector/impedrezene = 0.4,
/obj/item/reagent_containers/hypospray/autoinjector/night_juice = 1,
/obj/item/reagent_containers/hypospray/autoinjector/snowflake = 2,
/obj/item/storage/box/syndie_kit/syringe_gun = 0.5,
/obj/item/reagent_containers/syringe/drugs = 1,
/obj/item/reagent_containers/syringe/raskara_dust = 0.5,
/obj/item/reagent_containers/syringe/heroin = 1,
/obj/item/reagent_containers/inhaler/raskara_dust = 1,
/obj/item/reagent_containers/inhaler/space_drugs = 2,
/obj/item/storage/box/tactical/smokes = 0.7,
/obj/item/storage/box/tactical/flashbangs = 0.05,
/obj/random/grenade = 0.4,
/obj/item/reagent_containers/glass/beaker/vial/random/toxin = 1,
/obj/item/material/knife/butterfly = 2,
/obj/item/material/butterflyblade = 3,
/obj/item/material/butterflyhandle = 3,
/obj/item/material/wirerod = 2,
/obj/item/melee/baton/cattleprod = 1,
/obj/item/melee/baton/stunrod = 0.05,
/obj/item/material/knife/tacknife = 1,
/obj/item/material/knife/bayonet = 2,
/obj/item/material/kitchen/utensil/knife/boot = 2,
/obj/item/gun/projectile/pistol = 0.2,
/obj/item/gun/projectile/revolver/derringer = 0.4,
/obj/item/gun/projectile/shotgun/improvised/sawn = 0.3,
/obj/random/contraband/pillbottle = 1,
/obj/item/material/knife/butterfly/switchblade = 1,
/obj/item/clothing/gloves/brassknuckles = 2,
/obj/item/reagent_containers/inhaler/xuxigas = 1,
/obj/item/toy/balloon/syndicate = 3
)
/obj/random/contraband/pill
name = "random contraband pill"
desc = "This is a random pill of illegal drugs."
problist = list(
/obj/item/reagent_containers/pill/cocaine = 3,
/obj/item/reagent_containers/pill/contemplus = 3,
/obj/item/reagent_containers/pill/sparkle = 3,
/obj/item/reagent_containers/pill/spotlight = 3,
/obj/item/reagent_containers/pill/heroin = 2,
/obj/item/reagent_containers/pill/joy = 2
)
/obj/random/contraband/pillbottle
name = "random contraband pill bottle"
desc = "This is a random bottle of illegal pills."
problist = list(
/obj/item/storage/pill_bottle/cocaine = 1,
/obj/item/storage/pill_bottle/contemplus = 1,
/obj/item/storage/pill_bottle/sparkle = 1,
/obj/item/storage/pill_bottle/spotlight = 1,
/obj/item/storage/pill_bottle/heroin = 1,
/obj/item/storage/pill_bottle/joy = 1
)
/obj/random/coin
name = "random coin"
desc = "This is a random coin."
icon_state = "coin"
problist = list(
/obj/item/coin/iron = 5,
/obj/item/coin/silver = 3,
/obj/item/coin/gold = 0.7,
/obj/item/coin/phoron = 0.5,
/obj/item/coin/uranium = 0.5,
/obj/item/coin/platinum = 0.2,
/obj/item/coin/diamond = 0.1
)
/obj/random/spacecash
name = "random credit chips"
desc = "This is a random credit chip."
problist = list(
/obj/item/spacecash/c1 = 6,
/obj/item/spacecash/c10 = 3,
/obj/item/spacecash/c20 = 2,
/obj/item/spacecash/c50 = 1,
/obj/item/spacecash/c100 = 0.3,
/obj/item/spacecash/c200 = 0.2,
/obj/item/spacecash/c1000 = 0.1
)
/obj/random/finances
name = "random valued item"
desc = "Contains raw valued items like phoron, gold, and money."
icon_state = "valuable"
spawnlist = list(
/obj/item/spacecash/bundle{worth = 5000} = 0.25,
/obj/item/spacecash/bundle{worth = 10000} = 0.5,
/obj/item/spacecash/bundle{worth = 25000} = 0.25,
/obj/item/stack/material/phoron{amount = 50} = 1,
/obj/item/stack/material/gold{amount = 50} = 1
)
has_postspawn = TRUE
/obj/random/finances/post_spawn(var/obj/item/spawned)
spawned.update_icon()
/obj/random/barricade_materials
name = "random barricade materials"
icon_state = "barricade"
spawnlist = list(
/obj/item/stack/material/steel = 0.75,
/obj/item/stack/material/plasteel = 0.25,
/obj/item/stack/material/wood = 0.75
)
has_postspawn = TRUE
/obj/random/barricade_materials/post_spawn(obj/thing)
var/obj/item/stack/material/M = thing
M.amount = rand(10, 20)
M.update_icon()
/obj/random/barbed_wire
name = "barbed wire"
icon_state = "barbed_wire"
spawnlist = list(
/obj/item/stack/barbed_wire = 1
)
has_postspawn = TRUE
/obj/random/barbed_wire/post_spawn(obj/thing)
var/obj/item/stack/material/M = thing
M.amount = rand(10, 20)
M.update_icon()
/obj/random/tool_konyang
name = "tool"
icon_state = "tool"
spawnlist = list(
/obj/item/screwdriver = 1,
/obj/item/crowbar = 1,
/obj/item/wirecutters = 1,
/obj/item/wrench = 1,
/obj/item/crowbar/rescue_axe = 0.25,
/obj/item/crowbar/red = 0.25,
)
/obj/random/survival_weapon
name = "survival weapon"
icon_state = "melee"
problist = list(
/obj/item/crowbar = 1,
/obj/item/shovel = 1,
/obj/item/pickaxe = 0.5,
/obj/item/surgery/scalpel = 0.5,
/obj/item/surgery/surgicaldrill = 0.5,
/obj/item/surgery/circular_saw = 0.5,
/obj/item/material/sword/improvised_sword = 0.5,
/obj/item/material/twohanded/baseballbat = 0.5,
/obj/item/material/twohanded/fireaxe = 0.05,
/obj/item/material/harpoon = 0.5,
/obj/item/material/knife/bayonet = 0.5,
/obj/item/material/knife/trench = 0.5,
/obj/item/material/knife/butterfly = 0.25,
/obj/item/material/twohanded/spear/steel = 0.5,
/obj/item/material/twohanded/spear/plasteel = 0.05,
/obj/item/melee/classic_baton = 0.5
)
/obj/random/high_grade_weapon
name = "high grade weapon"
icon_state = "melee"
problist = list(
/obj/item/material/sword/axe = 0.5,
/obj/item/material/sword/longsword = 0.25,
/obj/item/material/sword/rapier = 0.5,
/obj/item/material/sword/sabre = 0.25,
/obj/item/material/sword/khopesh = 0.5,
/obj/item/material/sword/katana = 0.05,
/obj/item/pickaxe/hammer = 0.5
)
/obj/random/light
name = "random light"
icon_state = "flashlight"
problist = list(
/obj/item/flashlight = 1,
/obj/item/flashlight/flare = 2,
/obj/item/flashlight/lamp = 0.5,
/obj/item/flashlight/maglight = 0.25,
/obj/item/flashlight/marshallingwand = 0.25,
/obj/item/flashlight/pen = 1,
/obj/item/flashlight/heavy = 0.05,
/obj/item/flashlight/lamp = 0.25
)
/obj/random/med_stack
name = "medical supplies"
icon_state = "med"
problist = list(
/obj/item/stack/medical/bruise_pack = 2,
/obj/item/stack/medical/ointment = 2,
/obj/item/stack/medical/advanced/bruise_pack = 0.05,
/obj/item/stack/medical/advanced/ointment = 0.05
)
has_postspawn = TRUE
/obj/random/med_stack/post_spawn(obj/thing)
var/obj/item/stack/M = thing
M.amount = rand(1, 10)
M.update_icon()
/obj/random/splints
name = "splints"
icon_state = "med"
problist = list(
/obj/item/stack/medical/splint = 1
)
has_postspawn = TRUE
/obj/random/splints/post_spawn(obj/thing)
var/obj/item/stack/M = thing
M.amount = rand(1, 5)
M.update_icon()
/obj/random/gun_with_ammo
icon_state = "blast_carbine"
has_postspawn = TRUE
/obj/random/gun_with_ammo/post_spawn(obj/thing)
var/obj/item/gun/projectile/G = thing
if(G.ammo_magazine)
var/mags = rand(0, 2)
for(var/i = 1 to mags)
var/obj/item/ammo_magazine/AG = new G.ammo_magazine.type(get_turf(G))
if(prob(50))
var/to_delete = rand(1, length(AG.stored_ammo))
var/delete_counter = 0
for(var/obj/item/ammo_casing/AC in AG.stored_ammo)
AG.stored_ammo -= AC
qdel(AC)
delete_counter++
if(delete_counter > to_delete)
break
AG.update_icon()
/obj/random/gun_with_ammo/pistols
name = "pistols"
problist = list(
/obj/item/gun/projectile/pistol = 1,
/obj/item/gun/projectile/pistol/detective = 1,
/obj/item/gun/projectile/colt = 1,
/obj/item/gun/projectile/pistol/sol = 0.5,
/obj/item/gun/projectile/tanto = 0.25,
/obj/item/gun/projectile/sec/lethal = 1,
/obj/item/gun/projectile/leyon = 1,
/obj/item/gun/projectile/revolver = 0.05,
/obj/item/gun/projectile/revolver/detective = 1,
/obj/item/gun/projectile/revolver/lemat = 0.5,
/obj/item/gun/projectile/revolver/konyang/pirate = 0.5,
/obj/item/gun/projectile/revolver/konyang/police = 0.5
)
/obj/random/gun_with_ammo/automatic
name = "automatics"
problist = list(
/obj/item/gun/projectile/automatic/mini_uzi = 1,
/obj/item/gun/projectile/automatic/c20r = 1,
/obj/item/gun/projectile/automatic/xanusmg = 1,
/obj/item/gun/projectile/automatic/rifle/jingya = 0.25,
/obj/item/gun/projectile/automatic/rifle/sol = 0.1,
/obj/item/gun/projectile/automatic/rifle/carbine/civcarbine = 0.75,
/obj/item/gun/projectile/automatic/konyang_pirate = 1,
/obj/item/gun/projectile/automatic/tommygun = 0.5,
/obj/item/gun/projectile/automatic/lebman = 1,
/obj/item/gun/projectile/automatic/x9 = 0.5
)
/obj/random/shotgun
name = "shotgun"
icon_state = "shotgun"
problist = list(
/obj/item/gun/projectile/shotgun/foldable = 1,
/obj/item/gun/projectile/shotgun/doublebarrel = 1,
/obj/item/gun/projectile/shotgun/doublebarrel/sawn = 1,
/obj/item/gun/projectile/shotgun/pump = 1,
/obj/item/gun/projectile/shotgun/pump/combat = 0.5,
/obj/item/gun/projectile/shotgun/pump/lever_action = 0.5
)
has_postspawn = TRUE
/obj/random/shotgun/post_spawn(obj/thing)
var/shells = rand(1, 10)
var/shell_type = pick("shells", "slugs")
for(var/i = 1 to shells)
if(shell_type == "shells")
new /obj/item/ammo_casing/shotgun/pellet(get_turf(thing))
else
new /obj/item/ammo_casing/shotgun(get_turf(thing))
/obj/random/semiautos
name = "semiautos"
icon_state = "shotgun"
problist = list(
/obj/item/gun/projectile/shotgun/pump/rifle/scope = 0.05,
/obj/item/gun/projectile/shotgun/pump/rifle/obrez = 1,
/obj/item/gun/projectile/shotgun/pump/rifle/vintage = 0.5,
/obj/item/gun/projectile/shotgun/pump/lever_action = 0.5
)
has_postspawn = TRUE
/obj/random/semiautos/post_spawn(obj/thing)
var/shells = rand(1, 20)
var/obj/item/gun/projectile/shotgun/pump/rifle/R = thing
for(var/i = 1 to shells)
new R.ammo_type(get_turf(R))
/obj/random/barricade_kit
name = "barricade kits"
icon_state = "barricade"
problist = list(
/obj/item/stack/barricade/random = 1,
/obj/item/stack/barricade/wood/random = 0.5,
/obj/item/stack/barricade/plasteel/random = 0.25
)
/obj/random/grenade
name = "random grenade"
desc = "This is a random grenade."
icon_state = "syrup"
problist = list(
/obj/item/grenade/frag = 5,
/obj/item/grenade/stinger = 4,
/obj/item/grenade/napalm = 2,
/obj/item/grenade/empgrenade = 2
)