Files
Aurora.3/code/game/objects/random/loot.dm
Ben 25569ce312 Poster Refactor + TCAF GPS Tags (#20278)
- TCAF Corvette given GPS tags and posters for recruitment
- In process ballooned into major poster refactoring, replacing global
list with singletons and adding defined poster subtypes for mappers
- All defined posters switched to subtype equivalent

Held of on placing any posters in Horizon, as that would be best for a
seperate PR if I ever do that

We also might need better names for some of these posters.

---------

Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
2025-01-31 13:53:23 +00:00

654 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/device/firing_pin = 0.3,
/obj/item/device/firing_pin/clown = 0.01,
/obj/item/device/flashlight = 1,
/obj/item/device/flashlight/flare = 0.5,
/obj/item/device/flashlight/heavy = 0.5,
/obj/item/device/flashlight/lantern = 0.4,
/obj/item/device/flashlight/maglight = 0.4,
/obj/item/device/paint_sprayer = 0.6,
/obj/item/device/gps/engineering = 0.6,
/obj/item/device/kinetic_analyzer = 0.1,
/obj/item/device/laser_pointer/purple = 0.1,
/obj/item/device/light_meter = 0.1,
/obj/item/device/magnetic_lock/engineering = 0.3,
/obj/item/device/magnetic_lock/keypad = 0.1,
/obj/item/device/magnetic_lock/security = 0.3,
/obj/item/device/megaphone = 0.3,
/obj/item/device/price_scanner = 0.1,
/obj/item/device/taperecorder = 0.6,
/obj/item/device/uv_light = 0.1,
/obj/item/device/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/condimentbottles = 0.2,
/obj/item/storage/box/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/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/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/device/synthesized_instrument/violin = 0.1,
/obj/item/device/synthesized_instrument/guitar = 1,
/obj/item/device/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/lawgiver = 0.1,
/obj/item/gun/projectile/automatic/terminator = 0.1,
/obj/item/device/personal_shield = 0.4,
/obj/random/safe_rig = 0.4,
/obj/item/gun/energy/disruptorpistol/magnum = 0.3,
/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/lawgiver = 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/device/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/device/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/energy/disruptorpistol/magnum = 0.3,
/obj/item/gun/projectile/shotgun/pump/combat = 0.2,
/obj/item/gun/energy/lawgiver = 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 = "crystal"
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 = "need_sprite"
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 = 1,
/obj/item/storage/box/syndie_kit/syringe_gun = 0.5,
/obj/item/reagent_containers/syringe/drugs = 1,
/obj/item/reagent_containers/syringe/raskara_dust = 1,
/obj/item/reagent_containers/syringe/heroin = 1,
/obj/item/reagent_containers/inhaler/raskara_dust = 2,
/obj/item/reagent_containers/inhaler/space_drugs = 2,
/obj/item/storage/box/smokes = 0.7,
/obj/item/grenade/napalm = 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 = 3,
/obj/item/melee/baton/cattleprod = 1,
/obj/item/material/knife/tacknife = 1,
/obj/item/material/knife/bayonet = 2,
/obj/item/material/kitchen/utensil/knife/boot = 2,
/obj/item/storage/secure/briefcase/money = 1,
/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/mask/gas/voice = 1,
/obj/item/clothing/gloves/brassknuckles = 2,
/obj/item/reagent_containers/inhaler/xuxigas = 1,
/obj/item/toy/balloon/syndicate = 4
)
/obj/random/contraband/pill
name = "random contraband pill"
desc = "This is a random pill of illegal drugs."
icon_state = "knife"
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."
icon_state = "knife"
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."
icon_state = "cash"
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/device/flashlight = 1,
/obj/item/device/flashlight/flare = 2,
/obj/item/device/flashlight/lamp = 0.5,
/obj/item/device/flashlight/maglight = 0.25,
/obj/item/device/flashlight/marshallingwand = 0.25,
/obj/item/device/flashlight/pen = 1,
/obj/item/device/flashlight/heavy = 0.05,
/obj/item/device/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)
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
)