mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 17:41:56 +00:00
1782 lines
61 KiB
Plaintext
1782 lines
61 KiB
Plaintext
/obj/random
|
|
name = "random object"
|
|
desc = "This item type is used to spawn random objects at round-start"
|
|
icon = 'icons/misc/mark.dmi'
|
|
icon_state = "rup"
|
|
var/spawn_nothing_percentage = 0 // this variable determines the likelyhood that this random object will not spawn anything
|
|
var/list/spawnlist
|
|
var/list/problist
|
|
var/has_postspawn
|
|
|
|
// creates a new object and deletes itself
|
|
|
|
/obj/random/Initialize()
|
|
. = ..()
|
|
if (!prob(spawn_nothing_percentage))
|
|
var/obj/spawned_item = spawn_item()
|
|
if(spawned_item)
|
|
spawned_item.pixel_x = pixel_x
|
|
spawned_item.pixel_y = pixel_y
|
|
if(has_postspawn)
|
|
post_spawn(spawned_item)
|
|
|
|
return INITIALIZE_HINT_QDEL
|
|
|
|
// this function should return a specific item to spawn
|
|
/obj/random/proc/item_to_spawn()
|
|
return 0
|
|
|
|
/obj/random/proc/post_spawn(obj/thing)
|
|
log_debug("random_obj: [DEBUG_REF(src)] registered itself as having post_spawn, but did not override post_spawn()!")
|
|
|
|
// creates the random item
|
|
/obj/random/proc/spawn_item()
|
|
if (spawnlist)
|
|
var/itemtype = pick(spawnlist)
|
|
. = new itemtype(loc)
|
|
|
|
else if (problist)
|
|
var/itemtype = pickweight(problist)
|
|
. = new itemtype(loc)
|
|
|
|
else
|
|
var/itemtype = item_to_spawn()
|
|
. = new itemtype(loc)
|
|
|
|
if (!.)
|
|
log_debug("random_obj: [DEBUG_REF(src)] returned null item!")
|
|
|
|
/obj/random/single
|
|
name = "randomly spawned object"
|
|
desc = "This item type is used to randomly spawn a given object at round-start"
|
|
icon_state = "x3"
|
|
var/spawn_object = null
|
|
item_to_spawn()
|
|
return ispath(spawn_object) ? spawn_object : text2path(spawn_object)
|
|
|
|
/obj/random/tool
|
|
name = "random tool"
|
|
desc = "This is a random tool"
|
|
icon = 'icons/obj/tools.dmi'
|
|
icon_state = "welder_off"
|
|
spawnlist = list(
|
|
/obj/item/screwdriver,
|
|
/obj/item/wirecutters,
|
|
/obj/item/weldingtool,
|
|
/obj/item/crowbar,
|
|
/obj/item/wrench,
|
|
/obj/item/device/flashlight
|
|
)
|
|
|
|
/obj/random/technology_scanner
|
|
name = "random scanner"
|
|
desc = "This is a random technology scanner."
|
|
icon = 'icons/obj/device.dmi'
|
|
icon_state = "atmos"
|
|
problist = list(
|
|
/obj/item/device/t_scanner = 5,
|
|
/obj/item/device/radio = 2,
|
|
/obj/item/device/analyzer = 5
|
|
)
|
|
|
|
/obj/random/powercell
|
|
name = "random powercell"
|
|
desc = "This is a random powercell."
|
|
icon = 'icons/obj/power.dmi'
|
|
icon_state = "cell"
|
|
problist = list(
|
|
/obj/item/cell/crap = 10,
|
|
/obj/item/cell = 40,
|
|
/obj/item/cell/high = 40,
|
|
/obj/item/cell/super = 9,
|
|
/obj/item/cell/hyper = 1
|
|
)
|
|
|
|
/obj/random/bomb_supply
|
|
name = "bomb supply"
|
|
desc = "This is a random bomb supply."
|
|
icon = 'icons/obj/assemblies/new_assemblies.dmi'
|
|
icon_state = "signaller"
|
|
problist = list(
|
|
/obj/item/device/assembly/igniter = 2,
|
|
/obj/item/device/assembly/prox_sensor = 2,
|
|
/obj/item/device/assembly/signaler = 2,
|
|
/obj/item/device/multitool = 1,
|
|
/obj/item/device/transfer_valve = 0.5
|
|
)
|
|
|
|
/obj/random/toolbox
|
|
name = "random toolbox"
|
|
desc = "This is a random toolbox."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "red"
|
|
spawnlist = list(
|
|
/obj/item/storage/toolbox/mechanical = 3,
|
|
/obj/item/storage/toolbox/electrical = 2,
|
|
/obj/item/storage/toolbox/emergency = 1
|
|
)
|
|
|
|
/obj/random/tech_supply
|
|
name = "random tech supply"
|
|
desc = "This is a random piece of technology supplies."
|
|
icon = 'icons/obj/power.dmi'
|
|
icon_state = "cell"
|
|
// spawn_nothing_percentage = 50
|
|
problist = list(
|
|
/obj/random/powercell = 3,
|
|
/obj/random/technology_scanner = 2,
|
|
/obj/item/stack/packageWrap = 1,
|
|
/obj/random/bomb_supply = 2,
|
|
/obj/item/extinguisher = 1,
|
|
/obj/item/clothing/gloves/fyellow = 1,
|
|
/obj/item/stack/cable_coil = 3,
|
|
/obj/random/toolbox = 2,
|
|
/obj/item/storage/belt/utility = 2,
|
|
/obj/random/tool = 5,
|
|
/obj/item/tape_roll = 2
|
|
)
|
|
|
|
/obj/random/medical
|
|
name = "Random Medicine"
|
|
desc = "This is a random medical item."
|
|
icon = 'icons/obj/stacks/medical.dmi'
|
|
icon_state = "brutepack"
|
|
spawn_nothing_percentage = 25
|
|
problist = list(
|
|
/obj/item/stack/medical/bruise_pack = 4,
|
|
/obj/item/stack/medical/ointment = 4,
|
|
/obj/item/stack/medical/advanced/bruise_pack = 2,
|
|
/obj/item/stack/medical/advanced/ointment = 2,
|
|
/obj/item/stack/medical/splint = 1,
|
|
/obj/item/bodybag = 2,
|
|
/obj/item/bodybag/cryobag = 1,
|
|
/obj/item/storage/pill_bottle/kelotane = 2,
|
|
/obj/item/storage/pill_bottle/bicaridine = 2,
|
|
/obj/item/storage/pill_bottle/antitox = 2,
|
|
/obj/item/storage/pill_bottle/mortaphenyl = 2,
|
|
/obj/item/reagent_containers/syringe/dylovene = 2,
|
|
/obj/item/reagent_containers/syringe/inaprovaline = 2,
|
|
/obj/item/stack/nanopaste = 1
|
|
)
|
|
|
|
/obj/random/firstaid
|
|
name = "Random First Aid Kit"
|
|
desc = "This is a random first aid kit."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "firstaid"
|
|
problist = list(
|
|
/obj/item/storage/firstaid/regular = 3,
|
|
/obj/item/storage/firstaid/toxin = 2,
|
|
/obj/item/storage/firstaid/o2 = 2,
|
|
/obj/item/storage/firstaid/fire = 2,
|
|
/obj/item/storage/firstaid/brute = 1,
|
|
/obj/item/storage/firstaid/adv = 1
|
|
)
|
|
|
|
/obj/random/contraband
|
|
name = "Random Illegal Item"
|
|
desc = "Hot Stuff."
|
|
icon = 'icons/obj/cosmetics.dmi'
|
|
icon_state = "purplecomb"
|
|
// spawn_nothing_percentage = 50
|
|
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/reagent_containers/glass/beaker/vial/random/toxin = 1,
|
|
/obj/item/contraband/poster = 5,
|
|
/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/kitchen/utensil/knife/boot = 2,
|
|
/obj/item/storage/secure/briefcase/money = 1,
|
|
/obj/item/material/knife/butterfly/switchblade = 1,
|
|
/obj/item/reagent_containers/syringe/drugs = 1,
|
|
/obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 2,
|
|
/obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris = 2,
|
|
/obj/item/reagent_containers/food/snacks/grown/ambrosiadeus = 1,
|
|
/obj/item/reagent_containers/food/snacks/grown/mushroom/reishi = 1,
|
|
/obj/item/reagent_containers/food/snacks/grown/mushroom/destroyingangel = 1,
|
|
/obj/item/reagent_containers/food/snacks/grown/mushroom/ghostmushroom = 0.5,
|
|
/obj/item/seeds/ambrosiavulgarisseed = 2,
|
|
/obj/item/seeds/ambrosiadeusseed = 1,
|
|
/obj/item/clothing/mask/gas/voice = 1,
|
|
/obj/item/clothing/gloves/brassknuckles = 2,
|
|
/obj/item/reagent_containers/inhaler/space_drugs = 2
|
|
)
|
|
|
|
/obj/random/smokable
|
|
name = "random smokable"
|
|
desc = "This is a random smoking item."
|
|
icon = 'icons/obj/cigs_lighters.dmi'
|
|
icon_state = "cigpacket"
|
|
problist = list(
|
|
/obj/item/storage/box/fancy/cigarettes = 30,
|
|
/obj/item/storage/box/fancy/cigarettes/blank = 5,
|
|
/obj/item/storage/box/fancy/cigarettes/acmeco = 2,
|
|
/obj/item/storage/box/fancy/cigarettes/dromedaryco = 10,
|
|
/obj/item/storage/box/fancy/cigarettes/cigar = 9,
|
|
/obj/item/storage/box/fancy/cigarettes/nicotine = 10,
|
|
/obj/item/storage/box/fancy/cigarettes/rugged = 10,
|
|
/obj/item/storage/box/fancy/cigarettes/pra = 5,
|
|
/obj/item/storage/box/fancy/cigarettes/dpra = 2,
|
|
/obj/item/storage/box/fancy/cigarettes/nka = 2
|
|
)
|
|
|
|
/obj/random/energy
|
|
name = "Random Energy Weapon"
|
|
desc = "This is a random security weapon."
|
|
icon = 'icons/obj/guns/ecarbine.dmi'
|
|
icon_state = "energykill100"
|
|
problist = list(
|
|
/obj/item/gun/energy/rifle/laser = 2,
|
|
/obj/item/gun/energy/gun = 2,
|
|
/obj/item/gun/energy/stunrevolver = 1
|
|
)
|
|
|
|
/obj/random/projectile
|
|
name = "Random Projectile Weapon"
|
|
desc = "This is a random security weapon."
|
|
icon = 'icons/obj/guns/cshotgun.dmi'
|
|
icon_state = "cshotgun"
|
|
problist = list(
|
|
/obj/item/gun/projectile/shotgun/pump = 3,
|
|
/obj/item/gun/projectile/automatic/wt550 = 2,
|
|
/obj/item/gun/projectile/shotgun/pump/combat = 1
|
|
)
|
|
|
|
/obj/random/handgun
|
|
name = "Random Handgun"
|
|
desc = "This is a random security sidearm."
|
|
icon = 'icons/obj/guns/secgun.dmi'
|
|
icon_state = "secgun"
|
|
problist = list(
|
|
/obj/item/gun/projectile/sec = 3,
|
|
/obj/item/gun/projectile/sec/wood = 1
|
|
)
|
|
|
|
/obj/random/ammo
|
|
name = "Random Ammunition"
|
|
desc = "This is random ammunition."
|
|
icon = 'icons/obj/ammo.dmi'
|
|
icon_state = "45-10"
|
|
problist = list(
|
|
/obj/item/storage/box/beanbags = 6,
|
|
/obj/item/storage/box/shotgunammo = 2,
|
|
/obj/item/storage/box/shotgunshells = 4,
|
|
/obj/item/storage/box/stunshells = 1,
|
|
/obj/item/ammo_magazine/c45m = 2,
|
|
/obj/item/ammo_magazine/c45m/rubber = 4,
|
|
/obj/item/ammo_magazine/c45m/flash = 4,
|
|
/obj/item/ammo_magazine/mc9mmt = 2,
|
|
/obj/item/ammo_magazine/mc9mmt/rubber = 6
|
|
)
|
|
|
|
/obj/random/action_figure
|
|
name = "random action figure"
|
|
desc = "This is a random action figure."
|
|
icon = 'icons/obj/toy.dmi'
|
|
icon_state = "assistant"
|
|
spawnlist = list(
|
|
/obj/item/toy/figure/cmo,
|
|
/obj/item/toy/figure/assistant,
|
|
/obj/item/toy/figure/atmos,
|
|
/obj/item/toy/figure/bartender,
|
|
/obj/item/toy/figure/borg,
|
|
/obj/item/toy/figure/gardener,
|
|
/obj/item/toy/figure/captain,
|
|
/obj/item/toy/figure/cargotech,
|
|
/obj/item/toy/figure/ce,
|
|
/obj/item/toy/figure/chaplain,
|
|
/obj/item/toy/figure/chef,
|
|
/obj/item/toy/figure/chemist,
|
|
/obj/item/toy/figure/clown,
|
|
/obj/item/toy/figure/corgi,
|
|
/obj/item/toy/figure/detective,
|
|
/obj/item/toy/figure/dsquad,
|
|
/obj/item/toy/figure/engineer,
|
|
/obj/item/toy/figure/geneticist,
|
|
/obj/item/toy/figure/hop,
|
|
/obj/item/toy/figure/hos,
|
|
/obj/item/toy/figure/qm,
|
|
/obj/item/toy/figure/janitor,
|
|
/obj/item/toy/figure/agent,
|
|
/obj/item/toy/figure/librarian,
|
|
/obj/item/toy/figure/md,
|
|
/obj/item/toy/figure/mime,
|
|
/obj/item/toy/figure/miner,
|
|
/obj/item/toy/figure/ninja,
|
|
/obj/item/toy/figure/wizard,
|
|
/obj/item/toy/figure/rd,
|
|
/obj/item/toy/figure/roboticist,
|
|
/obj/item/toy/figure/scientist,
|
|
/obj/item/toy/figure/syndie,
|
|
/obj/item/toy/figure/secofficer,
|
|
/obj/item/toy/figure/warden,
|
|
/obj/item/toy/figure/psychologist,
|
|
/obj/item/toy/figure/paramedic,
|
|
/obj/item/toy/figure/ert
|
|
)
|
|
|
|
/obj/random/plushie
|
|
name = "random plushie"
|
|
desc = "This is a random plushie."
|
|
icon = 'icons/obj/toy.dmi'
|
|
icon_state = "nymphplushie"
|
|
spawnlist = list(
|
|
/obj/item/toy/plushie/ian,
|
|
/obj/item/toy/plushie/drone,
|
|
/obj/item/toy/plushie/carp,
|
|
/obj/item/toy/plushie/beepsky,
|
|
/obj/item/toy/plushie/ivancarp,
|
|
/obj/item/toy/plushie/nymph,
|
|
/obj/item/toy/plushie/mouse,
|
|
/obj/item/toy/plushie/kitten,
|
|
/obj/item/toy/plushie/lizard,
|
|
/obj/item/toy/plushie/farwa,
|
|
/obj/item/toy/plushie/squid,
|
|
/obj/item/toy/plushie/bear,
|
|
/obj/item/toy/plushie/bearfire
|
|
)
|
|
|
|
/obj/random/balloon
|
|
name = "random balloon"
|
|
desc = "This is a random balloon."
|
|
icon = 'icons/obj/toy.dmi'
|
|
icon_state = "balloon"
|
|
spawnlist = list(
|
|
/obj/item/toy/balloon/color = 7,
|
|
/obj/item/toy/balloon/latex = 1,
|
|
/obj/item/toy/balloon/latex/nitrile = 1,
|
|
/obj/item/toy/balloon/syndicate = 2,
|
|
/obj/item/toy/balloon/nanotrasen = 2,
|
|
/obj/item/toy/balloon/fellowship = 1,
|
|
/obj/item/toy/balloon/fellowshiphead = 1,
|
|
/obj/item/toy/balloon/contender = 1,
|
|
/obj/item/toy/balloon/contenderhead = 1,
|
|
/obj/item/toy/balloon/bat = 1,
|
|
/obj/item/toy/balloon/ghost = 1,
|
|
/obj/item/toy/balloon/xmastree = 1,
|
|
/obj/item/toy/balloon/candycane = 1
|
|
)
|
|
|
|
/obj/random/desktoy
|
|
name = "random desk toy"
|
|
desc = "This is a random desk toy."
|
|
icon = 'icons/obj/toy.dmi'
|
|
icon_state = "dippybird"
|
|
spawnlist = list(
|
|
/obj/item/toy/desk/newtoncradle,
|
|
/obj/item/toy/desk/fan,
|
|
/obj/item/toy/desk/officetoy,
|
|
/obj/item/toy/desk/dippingbird
|
|
)
|
|
|
|
/obj/random/lavalamp
|
|
name = "random lava lamp"
|
|
desc = "This is a random lava lamp."
|
|
icon = 'icons/obj/lighting.dmi'
|
|
icon_state = "lavalamp"
|
|
spawnlist = list(
|
|
/obj/item/device/flashlight/lamp/lava,
|
|
/obj/item/device/flashlight/lamp/lava/red,
|
|
/obj/item/device/flashlight/lamp/lava/orange,
|
|
/obj/item/device/flashlight/lamp/lava/yellow,
|
|
/obj/item/device/flashlight/lamp/lava/green,
|
|
/obj/item/device/flashlight/lamp/lava/cyan,
|
|
/obj/item/device/flashlight/lamp/lava/blue,
|
|
/obj/item/device/flashlight/lamp/lava/purple,
|
|
/obj/item/device/flashlight/lamp/lava/pink
|
|
)
|
|
|
|
/obj/random/smalltank
|
|
name = "random small tank"
|
|
|
|
/obj/random/smalltank/item_to_spawn()
|
|
if (prob(40))
|
|
return /obj/item/tank/emergency_oxygen
|
|
else if (prob(60))
|
|
return /obj/item/tank/emergency_oxygen/engi
|
|
else
|
|
return /obj/item/tank/emergency_oxygen/double
|
|
|
|
/obj/random/belt
|
|
name = "random belt"
|
|
problist = list(
|
|
/obj/item/storage/belt/utility = 1,
|
|
/obj/item/storage/belt/medical = 0.4,
|
|
/obj/item/storage/belt/medical/first_responder = 0.4,
|
|
/obj/item/storage/belt/security/tactical = 0.1,
|
|
/obj/item/storage/belt/military = 0.1,
|
|
/obj/item/storage/belt/janitor = 0.4
|
|
)
|
|
|
|
// Spawns a random backpack.
|
|
// Novelty and rare backpacks have lower weights.
|
|
/obj/random/backpack
|
|
name = "random backpack"
|
|
problist = list(
|
|
/obj/item/storage/backpack = 3,
|
|
/obj/item/storage/backpack/holding = 0.5,
|
|
/obj/item/storage/backpack/cultpack = 2,
|
|
/obj/item/storage/backpack/clown = 2,
|
|
/obj/item/storage/backpack/medic = 3,
|
|
/obj/item/storage/backpack/security = 3,
|
|
/obj/item/storage/backpack/captain = 2,
|
|
/obj/item/storage/backpack/industrial = 3,
|
|
/obj/item/storage/backpack/toxins = 3,
|
|
/obj/item/storage/backpack/hydroponics = 3,
|
|
/obj/item/storage/backpack/genetics = 3,
|
|
/obj/item/storage/backpack/virology = 3,
|
|
/obj/item/storage/backpack/pharmacy = 3,
|
|
/obj/item/storage/backpack/cloak = 2,
|
|
/obj/item/storage/backpack/syndie = 1,
|
|
/obj/item/storage/backpack/wizard = 1,
|
|
/obj/item/storage/backpack/satchel = 3,
|
|
/obj/item/storage/backpack/satchel_norm = 3,
|
|
/obj/item/storage/backpack/satchel_eng = 3,
|
|
/obj/item/storage/backpack/satchel_med = 3,
|
|
/obj/item/storage/backpack/satchel_vir = 3,
|
|
/obj/item/storage/backpack/satchel_pharm = 3,
|
|
/obj/item/storage/backpack/satchel_gen = 3,
|
|
/obj/item/storage/backpack/satchel_tox = 3,
|
|
/obj/item/storage/backpack/satchel_sec = 3,
|
|
/obj/item/storage/backpack/satchel_hyd = 3,
|
|
/obj/item/storage/backpack/satchel_cap = 1,
|
|
/obj/item/storage/backpack/satchel_syndie = 1,
|
|
/obj/item/storage/backpack/satchel_wizard = 1,
|
|
/obj/item/storage/backpack/ert = 1,
|
|
/obj/item/storage/backpack/ert/security = 1,
|
|
/obj/item/storage/backpack/ert/engineer = 1,
|
|
/obj/item/storage/backpack/ert/medical = 1,
|
|
/obj/item/storage/backpack/duffel = 3,
|
|
/obj/item/storage/backpack/duffel/cap = 1,
|
|
/obj/item/storage/backpack/duffel/hyd = 3,
|
|
/obj/item/storage/backpack/duffel/vir = 3,
|
|
/obj/item/storage/backpack/duffel/med = 3,
|
|
/obj/item/storage/backpack/duffel/eng = 3,
|
|
/obj/item/storage/backpack/duffel/tox = 3,
|
|
/obj/item/storage/backpack/duffel/sec = 3,
|
|
/obj/item/storage/backpack/duffel/gen = 3,
|
|
/obj/item/storage/backpack/duffel/pharm = 3,
|
|
/obj/item/storage/backpack/duffel/syndie = 1,
|
|
/obj/item/storage/backpack/duffel/wizard = 1,
|
|
/obj/item/storage/backpack/messenger = 2,
|
|
/obj/item/storage/backpack/messenger/pharm = 2,
|
|
/obj/item/storage/backpack/messenger/med = 2,
|
|
/obj/item/storage/backpack/messenger/viro = 2,
|
|
/obj/item/storage/backpack/messenger/tox = 2,
|
|
/obj/item/storage/backpack/messenger/gen = 2,
|
|
/obj/item/storage/backpack/messenger/com = 1,
|
|
/obj/item/storage/backpack/messenger/engi = 2,
|
|
/obj/item/storage/backpack/messenger/hyd = 2,
|
|
/obj/item/storage/backpack/messenger/sec = 2,
|
|
/obj/item/storage/backpack/messenger/syndie = 1,
|
|
/obj/item/storage/backpack/messenger/wizard = 1
|
|
)
|
|
|
|
/obj/random/voidsuit
|
|
name = "random voidsuit"
|
|
var/damaged = 0
|
|
var/list/suitmap = list(
|
|
/obj/item/clothing/suit/space/void = /obj/item/clothing/head/helmet/space/void,
|
|
/obj/item/clothing/suit/space/void/engineering = /obj/item/clothing/head/helmet/space/void/engineering,
|
|
/obj/item/clothing/suit/space/void/mining = /obj/item/clothing/head/helmet/space/void/mining,
|
|
/obj/item/clothing/suit/space/void/medical = /obj/item/clothing/head/helmet/space/void/medical,
|
|
/obj/item/clothing/suit/space/void/security = /obj/item/clothing/head/helmet/space/void/security,
|
|
/obj/item/clothing/suit/space/void/atmos = /obj/item/clothing/head/helmet/space/void/atmos,
|
|
/obj/item/clothing/suit/space/void/merc = /obj/item/clothing/head/helmet/space/void/merc,
|
|
/obj/item/clothing/suit/space/void/captain = /obj/item/clothing/head/helmet/space/void/captain,
|
|
/obj/item/clothing/suit/space/void/cruiser = /obj/item/clothing/head/helmet/space/void/cruiser,
|
|
/obj/item/clothing/suit/space/void/coalition = /obj/item/clothing/head/helmet/space/void/coalition,
|
|
/obj/item/clothing/suit/space/void/hos = /obj/item/clothing/head/helmet/space/void/hos,
|
|
/obj/item/clothing/suit/space/void/lancer = /obj/item/clothing/head/helmet/space/void/lancer,
|
|
/obj/item/clothing/suit/space/void/sci = /obj/item/clothing/head/helmet/space/void/sci,
|
|
/obj/item/clothing/suit/space/void/sol = /obj/item/clothing/head/helmet/space/void/sol,
|
|
/obj/item/clothing/suit/space/void/hephaestus = /obj/item/clothing/head/helmet/space/void/hephaestus,
|
|
/obj/item/clothing/suit/space/void/zenghu = /obj/item/clothing/head/helmet/space/void/zenghu,
|
|
/obj/item/clothing/suit/space/void/einstein = /obj/item/clothing/head/helmet/space/void/einstein,
|
|
/obj/item/clothing/suit/space/void/zavodskoi = /obj/item/clothing/head/helmet/space/void/zavodskoi
|
|
)
|
|
problist = list(
|
|
/obj/item/clothing/suit/space/void = 2,
|
|
/obj/item/clothing/suit/space/void/engineering = 2,
|
|
/obj/item/clothing/suit/space/void/mining = 2,
|
|
/obj/item/clothing/suit/space/void/medical = 2.3,
|
|
/obj/item/clothing/suit/space/void/security = 1,
|
|
/obj/item/clothing/suit/space/void/atmos = 1.5,
|
|
/obj/item/clothing/suit/space/void/merc = 0.5,
|
|
/obj/item/clothing/suit/space/void/captain = 0.3,
|
|
/obj/item/clothing/suit/space/void/cruiser = 0.5,
|
|
/obj/item/clothing/suit/space/void/coalition = 1,
|
|
/obj/item/clothing/suit/space/void/hos = 0.3,
|
|
/obj/item/clothing/suit/space/void/lancer = 0.3,
|
|
/obj/item/clothing/suit/space/void/sci = 2,
|
|
/obj/item/clothing/suit/space/void/sol = 0.5,
|
|
/obj/item/clothing/suit/space/void/zavodskoi = 0.5,
|
|
/obj/item/clothing/suit/space/void/einstein = 0.5,
|
|
/obj/item/clothing/suit/space/void/hephaestus = 0.5,
|
|
/obj/item/clothing/suit/space/void/zenghu = 0.5
|
|
)
|
|
has_postspawn = TRUE
|
|
|
|
/obj/random/voidsuit/no_nanotrasen
|
|
suitmap = list(
|
|
/obj/item/clothing/suit/space/void = /obj/item/clothing/head/helmet/space/void,
|
|
/obj/item/clothing/suit/space/void/merc = /obj/item/clothing/head/helmet/space/void/merc,
|
|
/obj/item/clothing/suit/space/void/cruiser = /obj/item/clothing/head/helmet/space/void/cruiser,
|
|
/obj/item/clothing/suit/space/void/coalition = /obj/item/clothing/head/helmet/space/void/coalition,
|
|
/obj/item/clothing/suit/space/void/lancer = /obj/item/clothing/head/helmet/space/void/lancer,
|
|
/obj/item/clothing/suit/space/void/sol = /obj/item/clothing/head/helmet/space/void/sol,
|
|
/obj/item/clothing/suit/space/void/hephaestus = /obj/item/clothing/head/helmet/space/void/hephaestus,
|
|
/obj/item/clothing/suit/space/void/zenghu = /obj/item/clothing/head/helmet/space/void/zenghu,
|
|
/obj/item/clothing/suit/space/void/einstein = /obj/item/clothing/head/helmet/space/void/einstein,
|
|
/obj/item/clothing/suit/space/void/zavodskoi = /obj/item/clothing/head/helmet/space/void/zavodskoi
|
|
)
|
|
problist = list(
|
|
/obj/item/clothing/suit/space/void = 2,
|
|
/obj/item/clothing/suit/space/void/merc = 0.5,
|
|
/obj/item/clothing/suit/space/void/cruiser = 0.5,
|
|
/obj/item/clothing/suit/space/void/coalition = 1,
|
|
/obj/item/clothing/suit/space/void/lancer = 0.3,
|
|
/obj/item/clothing/suit/space/void/sol = 0.5,
|
|
/obj/item/clothing/suit/space/void/zavodskoi = 0.5,
|
|
/obj/item/clothing/suit/space/void/einstein = 0.5,
|
|
/obj/item/clothing/suit/space/void/hephaestus = 0.5,
|
|
/obj/item/clothing/suit/space/void/zenghu = 0.5
|
|
)
|
|
|
|
/obj/random/voidsuit/Initialize(mapload, _damaged = 0)
|
|
damaged = _damaged
|
|
. = ..(mapload)
|
|
|
|
/obj/random/voidsuit/post_spawn(obj/item/clothing/suit/space/suit)
|
|
var/helmet = suitmap[suit.type]
|
|
if (helmet)
|
|
new helmet(loc)
|
|
else
|
|
log_debug("random_obj (voidsuit): Type [suit.type] was unable to spawn a matching helmet!")
|
|
new /obj/item/clothing/shoes/magboots(loc)
|
|
if (damaged && prob(60))
|
|
suit.create_breaches(pick(BRUTE, BURN), rand(1, 5))
|
|
|
|
/obj/random/vendor
|
|
name = "random vendor"
|
|
var/depleted = FALSE
|
|
var/scan_id = TRUE // Should the spawned vendor check IDs
|
|
problist = list(
|
|
/obj/machinery/vending/boozeomat = 1,
|
|
/obj/machinery/vending/coffee = 1,
|
|
/obj/machinery/vending/snack = 1,
|
|
/obj/machinery/vending/cola = 1,
|
|
/obj/machinery/vending/cigarette = 1,
|
|
/obj/machinery/vending/medical = 1.2,
|
|
/obj/machinery/vending/phoronresearch = 0.7,
|
|
/obj/machinery/vending/security = 0.3,
|
|
/obj/machinery/vending/hydronutrients = 1,
|
|
/obj/machinery/vending/hydroseeds = 1,
|
|
/obj/machinery/vending/magivend = 0.5, //The things it dispenses are just costumes to non-wizards
|
|
/obj/machinery/vending/dinnerware = 1,
|
|
/obj/machinery/vending/sovietsoda = 2,
|
|
/obj/machinery/vending/tool = 1,
|
|
/obj/machinery/vending/engivend = 0.6,
|
|
/obj/machinery/vending/engineering = 1,
|
|
/obj/machinery/vending/robotics = 1,
|
|
/obj/machinery/vending/tacticool = 0.2,
|
|
/obj/machinery/vending/tacticool/ert = 0.1
|
|
)
|
|
has_postspawn = TRUE
|
|
|
|
/obj/random/vendor/Initialize(mapload, _depleted = 0)
|
|
depleted = _depleted
|
|
. = ..()
|
|
|
|
/obj/random/vendor/post_spawn(obj/machinery/vending/V)
|
|
if (!depleted)
|
|
return
|
|
|
|
//Greatly reduce the contents. it will have 0-20% of what it usually has
|
|
for (var/content in V.products)
|
|
if (prob(40))
|
|
V.products[content] = 0 //40% chance to completely lose an item
|
|
else
|
|
var/multiplier = rand(0,20) //Else, we reduce it to a very low percentage
|
|
if (multiplier)
|
|
multiplier /= 100
|
|
|
|
V.products[content] *= multiplier
|
|
if (V.products[content] < 1 && V.products[content] > 0) //But we'll usually have at least 1 left
|
|
V.products[content] = 0
|
|
|
|
// Clamp to an integer so we don't get 0.78 of a screwdriver.
|
|
V.products[content] = round(V.products[content])
|
|
|
|
V.scan_id &= scan_id
|
|
|
|
/obj/random/glowstick
|
|
name = "random glowstick"
|
|
desc = "This is a random glowstick."
|
|
icon = 'icons/obj/lighting.dmi'
|
|
icon_state = "glowstick"
|
|
spawnlist = list(
|
|
/obj/item/device/flashlight/flare/glowstick,
|
|
/obj/item/device/flashlight/flare/glowstick/red,
|
|
/obj/item/device/flashlight/flare/glowstick/blue,
|
|
/obj/item/device/flashlight/flare/glowstick/orange,
|
|
/obj/item/device/flashlight/flare/glowstick/yellow
|
|
)
|
|
|
|
/obj/random/booze
|
|
name = "random alcoholic drink"
|
|
desc = "This is a random alcoholic drink."
|
|
icon = 'icons/obj/drinks.dmi'
|
|
icon_state = "broken_bottle"
|
|
spawnlist = list(
|
|
/obj/item/reagent_containers/food/drinks/bottle/gin,
|
|
/obj/item/reagent_containers/food/drinks/bottle/whiskey,
|
|
/obj/item/reagent_containers/food/drinks/bottle/vodka,
|
|
/obj/item/reagent_containers/food/drinks/bottle/tequila,
|
|
/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing,
|
|
/obj/item/reagent_containers/food/drinks/bottle/rum,
|
|
/obj/item/reagent_containers/food/drinks/bottle/champagne,
|
|
/obj/item/reagent_containers/food/drinks/bottle/vermouth,
|
|
/obj/item/reagent_containers/food/drinks/bottle/kahlua,
|
|
/obj/item/reagent_containers/food/drinks/bottle/cognac,
|
|
/obj/item/reagent_containers/food/drinks/bottle/wine,
|
|
/obj/item/reagent_containers/food/drinks/bottle/absinthe,
|
|
/obj/item/reagent_containers/food/drinks/bottle/melonliquor,
|
|
/obj/item/reagent_containers/food/drinks/bottle/pwine,
|
|
/obj/item/reagent_containers/food/drinks/bottle/brandy,
|
|
/obj/item/reagent_containers/food/drinks/bottle/guinness,
|
|
/obj/item/reagent_containers/food/drinks/bottle/drambuie,
|
|
/obj/item/reagent_containers/food/drinks/bottle/cremeyvette,
|
|
/obj/item/reagent_containers/food/drinks/bottle/cremewhite,
|
|
/obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow,
|
|
/obj/item/reagent_containers/food/drinks/bottle/chartreusegreen,
|
|
/obj/item/reagent_containers/food/drinks/bottle/grenadine,
|
|
/obj/item/reagent_containers/food/drinks/bottle/bluecuracao,
|
|
/obj/item/reagent_containers/food/drinks/bottle/bitters,
|
|
/obj/item/reagent_containers/food/drinks/bottle/champagne,
|
|
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup,
|
|
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine,
|
|
/obj/item/reagent_containers/food/drinks/bottle/small/beer,
|
|
/obj/item/reagent_containers/food/drinks/bottle/small/ale,
|
|
/obj/item/reagent_containers/food/drinks/bottle/small/xuizijuice
|
|
)
|
|
|
|
/obj/random/melee
|
|
name = "random melee weapon"
|
|
desc = "This is a random melee weapon."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
icon_state = "baton"
|
|
spawnlist = list(
|
|
/obj/item/melee/telebaton,
|
|
/obj/item/melee/energy/sword,
|
|
/obj/item/melee/energy/sword/pirate,
|
|
/obj/item/melee/energy/glaive,
|
|
/obj/item/melee/chainsword,
|
|
/obj/item/melee/baton/stunrod,
|
|
/obj/item/material/harpoon,
|
|
/obj/random/sword,
|
|
/obj/item/melee/hammer,
|
|
/obj/item/melee/hammer/powered,
|
|
/obj/item/material/twohanded/fireaxe,
|
|
/obj/item/melee/classic_baton,
|
|
/obj/item/material/twohanded/pike,
|
|
/obj/item/material/twohanded/pike/halberd,
|
|
/obj/item/material/twohanded/pike/pitchfork,
|
|
/obj/item/melee/whip,
|
|
/obj/item/clothing/accessory/storage/bayonet
|
|
)
|
|
|
|
/obj/random/coin
|
|
name = "random coin"
|
|
desc = "This is a random coin."
|
|
icon = 'icons/obj/coins.dmi'
|
|
icon_state = "coin__heads"
|
|
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 = 'icons/obj/cash.dmi'
|
|
icon_state = "spacecash1"
|
|
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/energy_antag
|
|
name = "random energy weapon"
|
|
desc = "This is a random energy weapon."
|
|
icon = 'icons/obj/guns/retro.dmi'
|
|
icon_state = "retro100"
|
|
spawnlist = list(
|
|
/obj/item/gun/energy/retro,
|
|
/obj/item/gun/energy/xray,
|
|
/obj/item/gun/energy/gun,
|
|
/obj/item/gun/energy/pistol,
|
|
/obj/item/gun/energy/mindflayer,
|
|
/obj/item/gun/energy/toxgun,
|
|
/obj/item/gun/energy/vaurca/gatlinglaser,
|
|
/obj/item/gun/energy/vaurca/blaster,
|
|
/obj/item/gun/energy/crossbow/largecrossbow,
|
|
/obj/item/gun/energy/rifle,
|
|
/obj/item/gun/energy/rifle/laser,
|
|
/obj/item/gun/energy/rifle/laser/heavy,
|
|
/obj/item/gun/energy/rifle/laser/xray,
|
|
/obj/item/gun/energy/net,
|
|
/obj/item/gun/energy/laser/shotgun,
|
|
/obj/item/gun/energy/decloner,
|
|
/obj/item/gun/energy/freeze
|
|
)
|
|
|
|
/obj/random/colored_jumpsuit
|
|
name = "random colored jumpsuit"
|
|
desc = "This is a random colored jumpsuit."
|
|
icon = 'icons/obj/clothing/uniforms.dmi'
|
|
icon_state = "black"
|
|
spawnlist = list(
|
|
/obj/item/clothing/under/color/black,
|
|
/obj/item/clothing/under/color/blue,
|
|
/obj/item/clothing/under/color/green,
|
|
/obj/item/clothing/under/color/grey,
|
|
/obj/item/clothing/under/color/orange,
|
|
/obj/item/clothing/under/color/pink,
|
|
/obj/item/clothing/under/color/red,
|
|
/obj/item/clothing/under/color/white,
|
|
/obj/item/clothing/under/color/yellow,
|
|
/obj/item/clothing/under/lightblue,
|
|
/obj/item/clothing/under/aqua,
|
|
/obj/item/clothing/under/purple,
|
|
/obj/item/clothing/under/lightpurple,
|
|
/obj/item/clothing/under/lightgreen,
|
|
/obj/item/clothing/under/lightbrown,
|
|
/obj/item/clothing/under/brown,
|
|
/obj/item/clothing/under/yellowgreen,
|
|
/obj/item/clothing/under/darkblue,
|
|
/obj/item/clothing/under/lightred,
|
|
/obj/item/clothing/under/darkred
|
|
)
|
|
|
|
/obj/random/loot
|
|
name = "random maintenance loot items"
|
|
desc = "Stuff for the maint-dwellers."
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "gift3"
|
|
problist = list(
|
|
/obj/item/assembly/shock_kit = 0.1,
|
|
/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/cueball = 0.25,
|
|
/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/plaguedoctorhat = 0.3,
|
|
/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/clown_hat = 0.1,
|
|
/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/carp = 0.5,
|
|
/obj/item/clothing/shoes/clown_shoes = 0.1,
|
|
/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/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/imperium_monk = 0.4,
|
|
/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/mime = 0.1,
|
|
/obj/item/clothing/under/overalls = 1,
|
|
/obj/item/clothing/under/rainbow = 0.9,
|
|
/obj/item/clothing/under/rank/clown = 0.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/floor_painter = 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/flag/america = 0.1,
|
|
/obj/item/flag/america/l = 0.1,
|
|
/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/food/drinks/flask/lithium = 0.3,
|
|
/obj/item/reagent_containers/food/drinks/flask/shiny = 0.3,
|
|
/obj/item/reagent_containers/food/drinks/teapot = 0.4,
|
|
/obj/item/reagent_containers/cooking_container/plate/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/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/chameleon
|
|
name = "random possible chameleon item"
|
|
desc = "A random possible chameleon item. What could possibly go wrong?"
|
|
icon = 'icons/obj/clothing/gloves.dmi'
|
|
icon_state = "yellow"
|
|
problist = list(
|
|
|
|
/obj/item/clothing/gloves/chameleon = 1,
|
|
/obj/item/clothing/gloves/black = 10,
|
|
|
|
/obj/item/clothing/head/chameleon = 0.5,
|
|
/obj/item/clothing/head/softcap = 5,
|
|
|
|
/obj/item/clothing/mask/chameleon = 1,
|
|
/obj/item/clothing/mask/gas = 10,
|
|
|
|
/obj/item/clothing/shoes/chameleon = 0.5,
|
|
/obj/item/clothing/shoes/black = 5,
|
|
|
|
/obj/item/clothing/suit/chameleon = 0.1,
|
|
/obj/item/clothing/suit/armor/vest = 1,
|
|
|
|
/obj/item/clothing/under/chameleon = 0.75,
|
|
/obj/item/clothing/under/color/black = 7.5,
|
|
|
|
/obj/item/gun/energy/chameleon = 0.1,
|
|
/obj/item/gun/bang/deagle = 0.1,
|
|
|
|
/obj/item/storage/backpack/chameleon = 1,
|
|
/obj/item/storage/backpack = 10,
|
|
|
|
/obj/item/clothing/glasses/chameleon = 1
|
|
|
|
)
|
|
|
|
/obj/random/gloves
|
|
name = "random gloves"
|
|
desc = "Random gloves, assorted usefulness."
|
|
icon = 'icons/obj/clothing/gloves.dmi'
|
|
icon_state = "yellow"
|
|
problist = list(
|
|
/obj/item/clothing/gloves/black = 1,
|
|
/obj/item/clothing/gloves/black_leather = 0.5,
|
|
/obj/item/clothing/gloves/botanic_leather = 0.7,
|
|
/obj/item/clothing/gloves/boxing = 0.3,
|
|
/obj/item/clothing/gloves/boxing/green = 0.3,
|
|
/obj/item/clothing/gloves/captain = 0.1,
|
|
/obj/item/clothing/gloves/combat = 0.2,
|
|
/obj/item/clothing/gloves/fyellow = 1.2,
|
|
/obj/item/clothing/gloves/latex = 0.5,
|
|
/obj/item/clothing/gloves/latex/nitrile = 0.4,
|
|
/obj/item/clothing/gloves/yellow = 0.9
|
|
)
|
|
|
|
/obj/random/watches
|
|
name = "random watches"
|
|
desc = "Random watches, probably able to tell the time."
|
|
icon = 'icons/obj/clothing/gloves.dmi'
|
|
icon_state = "watch"
|
|
problist = list(
|
|
/obj/item/clothing/wrists/watch = 1,
|
|
/obj/item/clothing/wrists/watch/silver = 0.7,
|
|
/obj/item/clothing/wrists/watch/gold = 0.5,
|
|
/obj/item/clothing/wrists/watch/spy = 0.3,
|
|
)
|
|
|
|
/obj/random/hoodie
|
|
name = "random winter coat"
|
|
desc = "This is a random winter coat."
|
|
icon = 'icons/obj/hoodies.dmi'
|
|
icon_state = "coatwinter"
|
|
problist = list(
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat = 5,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering = 3,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos = 3,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/medical = 3,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/science = 3,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/hydro = 3,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/cargo = 3,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/miner = 3,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/security = 2,
|
|
/obj/item/clothing/suit/storage/hooded/wintercoat/captain = 1
|
|
)
|
|
|
|
/obj/random/bandana
|
|
name = "random bandana"
|
|
desc = "This is a random bandana."
|
|
icon = 'icons/obj/clothing/hats/bandanas.dmi'
|
|
icon_state = "bandana"
|
|
problist = list(
|
|
/obj/item/clothing/head/bandana/colorable/random = 5,
|
|
/obj/item/clothing/head/bandana/engineering = 3,
|
|
/obj/item/clothing/head/bandana/atmos = 3,
|
|
/obj/item/clothing/head/bandana/medical = 3,
|
|
/obj/item/clothing/head/bandana/science = 3,
|
|
/obj/item/clothing/head/bandana/hydro = 3,
|
|
/obj/item/clothing/head/bandana/cargo = 3,
|
|
/obj/item/clothing/head/bandana/miner = 3,
|
|
/obj/item/clothing/head/bandana/security = 2,
|
|
/obj/item/clothing/head/bandana/captain = 1
|
|
)
|
|
|
|
/obj/random/softcap
|
|
name = "random softcap"
|
|
desc = "This is a random softcap."
|
|
icon = 'icons/obj/clothing/hats/soft_caps.dmi'
|
|
icon_state = "softcap"
|
|
problist = list(
|
|
/obj/item/clothing/head/softcap/colorable/random = 5,
|
|
/obj/item/clothing/head/softcap/engineering = 3,
|
|
/obj/item/clothing/head/softcap/atmos = 3,
|
|
/obj/item/clothing/head/softcap/medical = 3,
|
|
/obj/item/clothing/head/softcap/science = 3,
|
|
/obj/item/clothing/head/softcap/hydro = 3,
|
|
/obj/item/clothing/head/softcap/cargo = 3,
|
|
/obj/item/clothing/head/softcap/miner = 3,
|
|
/obj/item/clothing/head/softcap/security = 2,
|
|
/obj/item/clothing/head/softcap/captain = 1
|
|
)
|
|
|
|
/obj/random/beret
|
|
name = "random beret"
|
|
desc = "This is a random beret."
|
|
icon = 'icons/obj/clothing/hats/berets.dmi'
|
|
icon_state = "beret"
|
|
problist = list(
|
|
/obj/item/clothing/head/beret/colorable/random = 5,
|
|
/obj/item/clothing/head/beret/engineering = 3,
|
|
/obj/item/clothing/head/beret/atmos = 3,
|
|
/obj/item/clothing/head/beret/medical = 3,
|
|
/obj/item/clothing/head/beret/science = 3,
|
|
/obj/item/clothing/head/beret/hydro = 3,
|
|
/obj/item/clothing/head/beret/cargo = 3,
|
|
/obj/item/clothing/head/beret/miner = 3,
|
|
/obj/item/clothing/head/beret/security = 2,
|
|
/obj/item/clothing/head/beret/captain = 1
|
|
)
|
|
|
|
/obj/random/highvalue
|
|
name = "random high valuable item"
|
|
desc = "This is a random high valuable item."
|
|
icon = 'icons/obj/coins.dmi'
|
|
icon_state = "coin_diamond_heads"
|
|
problist = list(
|
|
/obj/item/bluespace_crystal = 5,
|
|
/obj/item/stack/telecrystal{amount = 10} = 5,
|
|
/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/minimal = 0.5,
|
|
/obj/item/anomaly_core = 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/minimal = 0.5,
|
|
/obj/item/anomaly_core = 0.5
|
|
)
|
|
|
|
/obj/random/junk
|
|
name = "random trash"
|
|
desc = "This is toss."
|
|
icon = 'icons/obj/trash.dmi'
|
|
icon_state = "koisbar"
|
|
spawn_nothing_percentage = 5
|
|
problist = list(
|
|
/obj/item/trash/koisbar = 0.5,
|
|
/obj/item/trash/raisins = 1,
|
|
/obj/item/trash/candy = 1,
|
|
/obj/item/trash/cheesie = 2,
|
|
/obj/item/trash/chips = 0.75,
|
|
/obj/item/trash/popcorn = 0.75,
|
|
/obj/item/trash/sosjerky = 0.5,
|
|
/obj/item/trash/syndi_cakes = 0.25,
|
|
/obj/item/trash/waffles = 0.75,
|
|
/obj/item/trash/plate = 0.75,
|
|
/obj/item/trash/snack_bowl = 0.75,
|
|
/obj/item/trash/pistachios = 0.75,
|
|
/obj/item/trash/semki = 0.5,
|
|
/obj/item/trash/tray = 0.75,
|
|
/obj/item/trash/candle = 0.75,
|
|
/obj/item/trash/liquidfood = 0.75,
|
|
/obj/item/trash/tastybread= 0.75,
|
|
/obj/item/trash/meatsnack = 0.5,
|
|
/obj/item/trash/maps = 0.5,
|
|
/obj/item/trash/tuna = 0.5,
|
|
/obj/effect/decal/cleanable/ash = 1.5,
|
|
/obj/effect/decal/cleanable/dirt = 2,
|
|
/obj/effect/decal/cleanable/flour = 1,
|
|
/obj/effect/decal/cleanable/greenglow = 1,
|
|
/obj/effect/decal/cleanable/molten_item = 1,
|
|
/obj/effect/decal/cleanable/vomit = 2,
|
|
/obj/effect/decal/cleanable/generic = 2,
|
|
/obj/effect/decal/cleanable/liquid_fuel = 0.5,
|
|
/obj/effect/decal/cleanable/mucus = 1.5,
|
|
/obj/effect/decal/cleanable/blood/drip = 1.5,
|
|
/obj/item/storage/box = 1,
|
|
/obj/item/material/shard = 1,
|
|
/obj/item/material/shard/shrapnel = 1,
|
|
/obj/item/broken_bottle = 1,
|
|
/obj/item/stack/material/cardboard = 1,
|
|
/obj/item/stack/rods = 1,
|
|
/obj/item/corncob = 1,
|
|
/obj/item/paper/crumpled = 1,
|
|
/obj/item/inflatable/torn = 1,
|
|
/obj/item/ammo_casing/c45/rubber = 0.5,
|
|
/obj/item/ammo_casing/c9mm/rubber = 0.5,
|
|
/obj/item/ammo_casing/c45/flash = 0.5,
|
|
/obj/item/ammo_casing/shotgun/beanbag = 0.5,
|
|
/obj/item/flame/lighter/random = 0.25,
|
|
/obj/item/lipstick/random = 0.25,
|
|
/obj/item/reagent_containers/glass/beaker/vial/random = 0.1,
|
|
/obj/item/towel/random = 0.1,
|
|
/obj/item/device/flashlight/flare/glowstick/random = 0.25,
|
|
/obj/item/stack/cable_coil/random/ = 0.1,
|
|
/obj/item/bananapeel = 0.1, //honk,
|
|
/obj/item/key = 0.1,
|
|
/obj/item/reagent_containers/blood/ripped = 0.1,
|
|
/obj/item/shreddedp = 0.1
|
|
|
|
)
|
|
|
|
//Sometimes the chef will have spare oil in storage.
|
|
//Sometimes they wont, and will need to order it from cargo
|
|
//Variety is the spice of life!
|
|
/obj/random/cookingoil
|
|
name = "random cooking oil"
|
|
desc = "Has a 50% chance of spawning a tank of cooking oil, otherwise nothing"
|
|
icon = 'icons/obj/reagent_dispensers.dmi'
|
|
icon_state = "oiltank"
|
|
spawn_nothing_percentage = 50
|
|
|
|
spawnlist = list(
|
|
/obj/structure/reagent_dispensers/cookingoil
|
|
)
|
|
|
|
/obj/random/sword
|
|
name = "random sword"
|
|
desc = "This is a random sword."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
icon_state = "claymore"
|
|
spawnlist = list(
|
|
/obj/item/material/sword,
|
|
/obj/item/material/sword/katana,
|
|
/obj/item/material/sword/rapier,
|
|
/obj/item/material/sword/longsword,
|
|
/obj/item/material/sword/sabre,
|
|
/obj/item/material/sword/axe,
|
|
/obj/item/material/sword/khopesh,
|
|
/obj/item/material/sword/dao,
|
|
/obj/item/material/sword/gladius
|
|
)
|
|
|
|
/obj/random/arcade
|
|
name = "random arcade loot"
|
|
desc = "Arcade loot!"
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "gift3"
|
|
spawnlist = list(
|
|
/obj/item/storage/box/snappops = 11,
|
|
/obj/item/clothing/under/syndicate/tacticool = 5,
|
|
/obj/item/toy/sword = 22,
|
|
/obj/item/gun/projectile/revolver/capgun = 11,
|
|
/obj/item/toy/crossbow = 11,
|
|
/obj/item/storage/box/fancy/crayons = 11,
|
|
/obj/item/toy/spinningtoy = 11,
|
|
/obj/item/toy/prize/ripley = 1,
|
|
/obj/item/toy/prize/fireripley = 1,
|
|
/obj/item/toy/prize/deathripley = 1,
|
|
/obj/item/toy/prize/gygax = 1,
|
|
/obj/item/toy/prize/durand = 1,
|
|
/obj/item/toy/prize/honk = 1,
|
|
/obj/item/toy/prize/marauder = 1,
|
|
/obj/item/toy/prize/seraph = 1,
|
|
/obj/item/toy/prize/mauler = 1,
|
|
/obj/item/toy/prize/odysseus = 1,
|
|
/obj/item/toy/prize/phazon = 1,
|
|
/obj/item/reagent_containers/spray/waterflower = 5,
|
|
/obj/random/action_figure = 11,
|
|
/obj/random/plushie = 44,
|
|
/obj/item/toy/cultsword = 5,
|
|
/obj/random/balloon = 22,
|
|
/obj/item/toy/katana = 11,
|
|
/obj/item/toy/bosunwhistle = 5,
|
|
/obj/item/storage/belt/champion = 11,
|
|
/obj/item/pen/invisible = 5,
|
|
/obj/item/grenade/fake = 1,
|
|
/obj/item/bikehorn = 11,
|
|
/obj/item/clothing/mask/fakemoustache = 11,
|
|
/obj/item/clothing/mask/gas/clown_hat = 11,
|
|
/obj/item/clothing/mask/gas/mime = 11,
|
|
/obj/item/clothing/shoes/carp = 9,
|
|
/obj/item/gun/energy/wand/toy = 5,
|
|
/obj/item/device/binoculars = 11,
|
|
/obj/item/device/megaphone = 11,
|
|
/obj/item/eightball = 11,
|
|
/obj/item/eightball/haunted = 1,
|
|
/obj/item/eightball/broken = 1,
|
|
/obj/item/spirit_board = 5,
|
|
/obj/item/device/laser_pointer = 1,
|
|
/obj/item/clothing/accessory/badge/press/plastic = 2,
|
|
/obj/item/storage/box/partypopper = 11
|
|
)
|
|
|
|
/obj/random/arcade/orion
|
|
name = "random arcade loot for orion trails"
|
|
desc = "Arcade loot for orion trails aracde machine!"
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "gift3"
|
|
spawnlist = list(
|
|
/obj/item/clothing/under/syndicate/tacticool = 7,
|
|
/obj/item/toy/sword = 22,
|
|
/obj/item/gun/projectile/revolver/capgun = 11,
|
|
/obj/item/gun/bang = 22,
|
|
/obj/item/toy/crossbow = 11,
|
|
/obj/random/action_figure = 11,
|
|
/obj/item/toy/cultsword = 7,
|
|
/obj/random/balloon = 22,
|
|
/obj/item/toy/katana = 11,
|
|
/obj/random/plushie = 55,
|
|
/obj/item/storage/belt/champion = 11,
|
|
/obj/item/pen/invisible = 10,
|
|
/obj/item/grenade/fake = 7,
|
|
/obj/item/gun/energy/wand/toy = 7,
|
|
/obj/item/device/binoculars = 11,
|
|
/obj/item/device/megaphone = 11,
|
|
/obj/item/eightball = 11,
|
|
/obj/item/eightball/haunted = 5,
|
|
/obj/item/spirit_board = 5,
|
|
/obj/item/clothing/accessory/badge/press/plastic = 2
|
|
)
|
|
|
|
/obj/random/custom_ka
|
|
name = "random custom kinetic accelerator"
|
|
desc = "Contains random assemblies. The parts may not always be compatible with eachother."
|
|
icon = 'icons/obj/kinetic_accelerators.dmi'
|
|
icon_state = "frame01"
|
|
spawnlist = list(
|
|
/obj/item/toy/prize/honk
|
|
)
|
|
has_postspawn = TRUE
|
|
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 = 'icons/obj/kinetic_accelerators.dmi'
|
|
icon_state = "frameA"
|
|
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/vault_rig
|
|
name = "random rigsuit"
|
|
desc = "Contains a random rigsuit found in the vault."
|
|
icon = 'icons/obj/rig_modules.dmi'
|
|
icon_state = "breacher_rig"
|
|
spawnlist = list(
|
|
/obj/item/rig/ce = 1,
|
|
/obj/item/rig/eva= 1,
|
|
/obj/item/rig/hazard = 1,
|
|
/obj/item/rig/hazmat = 1,
|
|
/obj/item/rig/medical = 1,
|
|
/obj/item/rig/industrial = 1
|
|
)
|
|
|
|
/obj/random/telecrystals
|
|
name = "random telecrystals"
|
|
desc = "Contains a random amount of telecrystals."
|
|
icon = 'icons/obj/telescience.dmi'
|
|
icon_state = "telecrystal"
|
|
spawnlist = list(
|
|
/obj/item/stack/telecrystal{amount = 5} = 0.7,
|
|
/obj/item/stack/telecrystal{amount = 10} = 0.1,
|
|
/obj/item/stack/telecrystal{amount = 15} = 0.2,
|
|
)
|
|
|
|
/obj/random/bad_ai
|
|
name = "random evil AI module"
|
|
desc = "Contains a random evil AI module."
|
|
icon = 'icons/obj/module.dmi'
|
|
icon_state = "std_mod"
|
|
spawnlist = list(
|
|
/obj/item/aiModule/antimov = 1,
|
|
/obj/item/aiModule/asimov = 1,
|
|
/obj/item/aiModule/purge = 1,
|
|
/obj/item/aiModule/quarantine = 1,
|
|
/obj/item/aiModule/freeform = 1,
|
|
/obj/item/aiModule/oneHuman = 0.5,
|
|
/obj/item/aiModule/oxygen = 1
|
|
)
|
|
|
|
/obj/random/rig_module
|
|
name = "random rig module"
|
|
desc = "Contains a random rig module worthy of vault protection."
|
|
icon = 'icons/obj/rig_modules.dmi'
|
|
icon_state = "actuators"
|
|
spawnlist = list(
|
|
/obj/item/rig_module/actuators/combat = 1,
|
|
/obj/item/rig_module/chem_dispenser/combat = 1,
|
|
/obj/item/rig_module/chem_dispenser/injector = 1,
|
|
/obj/item/rig_module/device/emag_hand = 1,
|
|
/obj/item/rig_module/device/rfd_c = 1,
|
|
/obj/item/rig_module/electrowarfare_suite = 0.5,
|
|
/obj/item/rig_module/emp_shielding = 0.5,
|
|
/obj/item/rig_module/fabricator/energy_net = 1,
|
|
/obj/item/rig_module/fabricator = 0.5,
|
|
/obj/item/rig_module/grenade_launcher = 0.5,
|
|
/obj/item/rig_module/maneuvering_jets = 0.5,
|
|
/obj/item/rig_module/mounted/egun = 1,
|
|
/obj/item/rig_module/mounted/smg = 0.5,
|
|
/obj/item/rig_module/vision/multi = 0.5
|
|
)
|
|
|
|
/obj/random/finances
|
|
name = "random valued item"
|
|
desc = "Contains raw valued items like phoron, gold, and money."
|
|
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/vault_weapon
|
|
name = "random vault weapon"
|
|
desc = "This is a random vault weapon."
|
|
icon = 'icons/obj/guns/caplaser.dmi'
|
|
icon_state = "caplaser"
|
|
spawnlist = list(
|
|
/obj/item/gun/custom_ka/frameA/prebuilt = 1,
|
|
/obj/item/gun/custom_ka/frameB/prebuilt = 0.5,
|
|
/obj/item/gun/custom_ka/frameC/prebuilt = 0.25,
|
|
/obj/item/gun/custom_ka/frameD/prebuilt = 0.125,
|
|
/obj/item/gun/custom_ka/frameF/prebuilt01 = 0.03125,
|
|
/obj/item/gun/custom_ka/frameF/prebuilt02 = 0.03125,
|
|
/obj/item/gun/custom_ka/frameE/prebuilt = 0.03125,
|
|
/obj/item/gun/energy/captain/xenoarch = 0.5,
|
|
/obj/item/gun/energy/laser/xenoarch = 0.5,
|
|
/obj/item/gun/energy/laser/practice/xenoarch = 0.25,
|
|
/obj/item/gun/energy/xray/xenoarch = 0.25,
|
|
/obj/item/gun/energy/net = 1
|
|
)
|
|
|
|
/obj/random/vault_weapon/post_spawn(var/obj/item/gun/spawned)
|
|
spawned.name = "prototype [spawned.name]"
|
|
if(istype(spawned,/obj/item/gun/custom_ka/))
|
|
var/obj/item/gun/custom_ka/KA = spawned
|
|
KA.can_disassemble_barrel = FALSE
|
|
KA.can_disassemble_cell = FALSE
|
|
|
|
if(istype(spawned,/obj/item/gun/energy/))
|
|
var/obj/item/gun/energy/E = spawned
|
|
E.charge_cost *= 2
|
|
E.self_recharge = 0
|
|
E.reliability = 90
|
|
|
|
/obj/random/animal_crate
|
|
name = "random animal"
|
|
desc = "Contains a random crate with some animal."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "densecrate"
|
|
spawnlist = list(
|
|
/obj/structure/largecrate/animal/corgi = 3,
|
|
/obj/structure/largecrate/animal/cow = 4,
|
|
/obj/structure/largecrate/animal/goat = 3,
|
|
/obj/structure/largecrate/animal/cat = 2,
|
|
/obj/structure/largecrate/animal/chick = 4,
|
|
/obj/structure/largecrate/animal/adhomai = 0.5,
|
|
/obj/structure/largecrate/animal/adhomai/fatshouter = 0.5,
|
|
/obj/structure/largecrate/animal/adhomai/rafama = 0.5,
|
|
/obj/structure/largecrate/animal/adhomai/schlorrgo = 0.2,
|
|
/obj/structure/largecrate/animal/hakhma = 0.5
|
|
)
|
|
|
|
/obj/random/random_flag
|
|
name = "random flag"
|
|
desc = "Contains a random boxed flag or banner."
|
|
icon = 'icons/obj/decals.dmi'
|
|
icon_state = "flag_boxed"
|
|
spawnlist = list(
|
|
/obj/item/flag/biesel,
|
|
/obj/item/flag/biesel/l,
|
|
/obj/item/flag/dominia,
|
|
/obj/item/flag/dominia/l,
|
|
/obj/item/flag/dpra,
|
|
/obj/item/flag/dpra/l,
|
|
/obj/item/flag/elyra,
|
|
/obj/item/flag/elyra/l,
|
|
/obj/item/flag/eridani,
|
|
/obj/item/flag/eridani/l,
|
|
/obj/item/flag/hegemony,
|
|
/obj/item/flag/hegemony/l,
|
|
/obj/item/flag/heph,
|
|
/obj/item/flag/heph/l,
|
|
/obj/item/flag/jargon,
|
|
/obj/item/flag/jargon/l,
|
|
/obj/item/flag/nanotrasen,
|
|
/obj/item/flag/nanotrasen/l,
|
|
/obj/item/flag/nka,
|
|
/obj/item/flag/nka/l,
|
|
/obj/item/flag/pra,
|
|
/obj/item/flag/pra/l,
|
|
/obj/item/flag/sol,
|
|
/obj/item/flag/sol/l,
|
|
/obj/item/flag/vaurca,
|
|
/obj/item/flag/vaurca/l,
|
|
/obj/item/flag/zenghu,
|
|
/obj/item/flag/zenghu/l,
|
|
/obj/item/flag/coalition,
|
|
/obj/item/flag/coalition/l
|
|
)
|
|
|
|
/obj/random/gift
|
|
name = "random gift"
|
|
desc = "Contains a randomly sized gift."
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "gift1"
|
|
spawnlist = list(
|
|
/obj/item/xmasgift = 0.5,
|
|
/obj/item/xmasgift/medium = 0.3,
|
|
/obj/item/xmasgift/large = 0.2
|
|
)
|
|
|
|
/obj/random/weapon_and_ammo
|
|
name = "random weapon and ammo"
|
|
desc = "Summons a random weapon, with ammo if applicable"
|
|
icon = 'icons/obj/guns/xenoblaster.dmi'
|
|
icon_state = "xenoblaster"
|
|
var/chosen_rarity //Can be set to force certain rarity
|
|
var/concealable = FALSE //If the gun should fit in a backpack
|
|
has_postspawn = TRUE
|
|
|
|
var/list/Shoddy = list(
|
|
/obj/item/gun/energy/blaster = 1,
|
|
/obj/item/gun/energy/retro = 0.5,
|
|
/obj/item/gun/energy/toxgun = 0.5,
|
|
/obj/item/gun/projectile/automatic/improvised = 1,
|
|
/obj/item/gun/projectile/contender = 0.5,
|
|
/obj/item/gun/projectile/leyon = 1,
|
|
/obj/item/gun/projectile/revolver/derringer = 1,
|
|
/obj/item/gun/projectile/shotgun/pump/rifle/obrez = 1,
|
|
/obj/item/gun/projectile/shotgun/pump/rifle/vintage = 1,
|
|
/obj/item/gun/launcher/harpoon = 1
|
|
)
|
|
|
|
var/list/Common = list(
|
|
/obj/item/gun/energy/blaster/carbine = 1,
|
|
/obj/item/gun/energy/crossbow/largecrossbow = 1,
|
|
/obj/item/gun/energy/laser = 0.5,
|
|
/obj/item/gun/energy/pistol = 1,
|
|
/obj/item/gun/energy/rifle = 1,
|
|
/obj/item/gun/projectile/automatic/c20r = 1,
|
|
/obj/item/gun/projectile/automatic/mini_uzi = 1,
|
|
/obj/item/gun/projectile/automatic/tommygun = 1,
|
|
/obj/item/gun/projectile/automatic/wt550/lethal = 0.5,
|
|
/obj/item/gun/projectile/colt = 0.5,
|
|
/obj/item/gun/projectile/pistol/sol = 1,
|
|
/obj/item/gun/projectile/pistol/adhomai = 1,
|
|
/obj/item/gun/projectile/revolver/detective = 0.5,
|
|
/obj/item/gun/projectile/revolver/adhomian = 1,
|
|
/obj/item/gun/projectile/revolver/lemat = 1,
|
|
/obj/item/gun/projectile/sec/lethal= 0.5,
|
|
/obj/item/gun/projectile/shotgun/doublebarrel/pellet = 1,
|
|
/obj/item/gun/projectile/shotgun/pump/rifle = 1,
|
|
/obj/item/gun/projectile/tanto = 1,
|
|
/obj/item/gun/projectile/gauss = 1,
|
|
/obj/item/gun/projectile/revolver/knife = 1
|
|
)
|
|
|
|
var/list/Rare = list(
|
|
/obj/item/gun/energy/blaster/revolver = 1,
|
|
/obj/item/gun/energy/blaster/rifle = 1,
|
|
/obj/item/gun/energy/pistol/hegemony = 1,
|
|
/obj/item/gun/energy/rifle/laser = 1,
|
|
/obj/item/gun/energy/rifle/icelance = 1,
|
|
/obj/item/gun/energy/rifle/ionrifle = 0.5,
|
|
/obj/item/gun/energy/vaurca/blaster = 1,
|
|
/obj/item/gun/energy/xray = 1,
|
|
/obj/item/gun/energy/lasercannon = 1,
|
|
/obj/item/gun/projectile/automatic/rifle/sts35 = 1,
|
|
/obj/item/gun/projectile/automatic/x9 = 1,
|
|
/obj/item/gun/projectile/deagle = 1,
|
|
/obj/item/gun/projectile/deagle/adhomai = 1,
|
|
/obj/item/gun/projectile/silenced = 1,
|
|
/obj/item/gun/projectile/dragunov = 1,
|
|
/obj/item/gun/projectile/plasma/bolter = 0.5,
|
|
/obj/item/gun/projectile/shotgun/doublebarrel/sawn = 1,
|
|
/obj/item/gun/projectile/shotgun/foldable = 1,
|
|
/obj/item/gun/projectile/shotgun/pump/combat = 1,
|
|
/obj/item/gun/projectile/shotgun/pump/combat/sol = 1,
|
|
/obj/item/gun/projectile/automatic/rifle/adhomian = 1,
|
|
/obj/item/gun/projectile/musket = 0.5,
|
|
/obj/item/gun/launcher/grenade = 1,
|
|
/obj/item/gun/energy/freeze = 0.5
|
|
)
|
|
|
|
var/list/Epic = list(
|
|
/obj/item/gun/energy/decloner = 0.5,
|
|
/obj/item/gun/energy/rifle/laser/xray = 1,
|
|
/obj/item/gun/energy/rifle/laser/tachyon = 1,
|
|
/obj/item/gun/energy/sniperrifle = 1,
|
|
/obj/item/gun/energy/tesla = 1,
|
|
/obj/item/gun/energy/laser/shotgun = 1,
|
|
/obj/item/gun/energy/vaurca/gatlinglaser = 1,
|
|
/obj/item/gun/projectile/automatic/rifle/shotgun = 0.5,
|
|
/obj/item/gun/projectile/automatic/rifle/sol = 1,
|
|
/obj/item/gun/projectile/automatic/rifle/w556 = 1,
|
|
/obj/item/gun/projectile/automatic/rifle/z8 = 1,
|
|
/obj/item/gun/projectile/cannon = 1,
|
|
/obj/item/gun/projectile/plasma = 0.5,
|
|
/obj/item/gun/projectile/revolver = 0.5
|
|
)
|
|
|
|
var/list/Legendary = list(
|
|
/obj/item/gun/energy/lawgiver = 1,
|
|
/obj/item/gun/energy/pulse = 1,
|
|
/obj/item/gun/energy/pulse/pistol = 1,
|
|
/obj/item/gun/energy/rifle/pulse = 1,
|
|
/obj/item/gun/projectile/automatic/railgun = 1,
|
|
/obj/item/gun/projectile/automatic/rifle/l6_saw = 1,
|
|
/obj/item/gun/projectile/automatic/terminator = 1,
|
|
/obj/item/gun/projectile/gyropistol = 1,
|
|
/obj/item/gun/projectile/nuke = 1,
|
|
/obj/item/gun/projectile/revolver/mateba = 1
|
|
)
|
|
|
|
/obj/random/weapon_and_ammo/concealable
|
|
concealable = TRUE
|
|
|
|
/obj/random/weapon_and_ammo/post_spawn(var/obj/item/gun/projectile/spawned)
|
|
if(istype(spawned, /obj/item/gun/energy))
|
|
return
|
|
|
|
else if(istype(spawned, /obj/item/gun/projectile))
|
|
if(spawned.magazine_type)
|
|
var/obj/item/ammo_magazine/am = spawned.magazine_type
|
|
new am(spawned.loc)
|
|
new am(spawned.loc)
|
|
else if(istype(spawned, /obj/item/gun/projectile/shotgun) && spawned.caliber == "shotgun")
|
|
if(istype(spawned.loc, /obj/item/storage/box))
|
|
spawned.loc.icon_state = "largebox"
|
|
var/obj/item/storage/box/b = new /obj/item/storage/box(spawned.loc)
|
|
for(var/i = 0; i < 8; i++)
|
|
new spawned.ammo_type(b)
|
|
else if(spawned.ammo_type)
|
|
var/list/provided_ammo = list()
|
|
for(var/i = 0; i < (spawned.max_shells * 2); i++)
|
|
provided_ammo += new spawned.ammo_type(spawned.loc)
|
|
if(provided_ammo.len)
|
|
new /obj/item/ammo_pile(spawned.loc, provided_ammo)
|
|
|
|
if(istype(spawned, /obj/item/gun/projectile/musket))
|
|
new /obj/item/reagent_containers/powder_horn(spawned.loc)
|
|
|
|
else if(istype(spawned, /obj/item/gun/launcher))
|
|
if(istype(spawned, /obj/item/gun/launcher/harpoon))
|
|
for(var/i in 1 to 4)
|
|
new /obj/item/material/harpoon(spawned.loc)
|
|
if(istype(spawned, /obj/item/gun/launcher/grenade))
|
|
var/list/grenade_types = list(
|
|
/obj/item/grenade/smokebomb,
|
|
/obj/item/grenade/flashbang,
|
|
/obj/item/grenade/empgrenade,
|
|
/obj/item/grenade/chem_grenade/incendiary
|
|
)
|
|
var/obj/item/storage/bag/plasticbag/bag = new /obj/item/storage/bag/plasticbag(spawned.loc)
|
|
for(var/i in 1 to 7)
|
|
var/chosen_type = pick(grenade_types)
|
|
new chosen_type(bag)
|
|
|
|
/obj/random/weapon_and_ammo/spawn_item()
|
|
var/obj/item/W = pick_gun()
|
|
. = new W(loc)
|
|
|
|
/obj/random/weapon_and_ammo/proc/pick_gun()
|
|
var/list/possible_rarities = list(
|
|
"Shoddy" = 25,
|
|
"Common" = 35,
|
|
"Rare" = 25,
|
|
"Epic" = 14,
|
|
"Legendary" = 1
|
|
)
|
|
if(!chosen_rarity)
|
|
chosen_rarity = pickweight(possible_rarities)
|
|
var/obj/item/W
|
|
switch(chosen_rarity)
|
|
if("Shoddy")
|
|
W = pickweight(Shoddy)
|
|
if("Common")
|
|
W = pickweight(Common)
|
|
if("Rare")
|
|
W = pickweight(Rare)
|
|
if("Epic")
|
|
W = pickweight(Epic)
|
|
if("Legendary")
|
|
W = pickweight(Legendary)
|
|
if(concealable)
|
|
var/weapon_w_class = initial(W.w_class)
|
|
if(weapon_w_class > 3)
|
|
chosen_rarity = null
|
|
return pick_gun()
|
|
|
|
return W
|
|
|
|
/obj/random/keg
|
|
name = "random alcohol keg"
|
|
desc = "Contains a random alcohol keg."
|
|
icon = 'icons/obj/reagent_dispensers.dmi'
|
|
icon_state = "beertankTEMP"
|
|
spawnlist = list(
|
|
/obj/structure/reagent_dispensers/keg/beerkeg = 2,
|
|
/obj/structure/reagent_dispensers/keg/xuizikeg = 0.5,
|
|
/obj/structure/reagent_dispensers/keg/mead = 0.5
|
|
)
|
|
|
|
/obj/random/pizzabox
|
|
name = "random pizzabox"
|
|
desc = "Contains a random pizzabox."
|
|
icon = 'icons/obj/food.dmi'
|
|
icon_state = "pizzabox1"
|
|
spawnlist = list(
|
|
/obj/item/pizzabox/margherita,
|
|
/obj/item/pizzabox/vegetable,
|
|
/obj/item/pizzabox/mushroom,
|
|
/obj/item/pizzabox/meat,
|
|
/obj/item/pizzabox/pineapple
|
|
)
|
|
|
|
/obj/random/seed
|
|
name = "random seed"
|
|
desc = "This is a random normal seed."
|
|
icon = 'icons/obj/seeds.dmi'
|
|
icon_state = "random"
|
|
spawnlist = list(
|
|
/obj/item/seeds/limeseed,
|
|
/obj/item/seeds/lemonseed,
|
|
/obj/item/seeds/orangeseed,
|
|
/obj/item/seeds/grapeseed,
|
|
/obj/item/seeds/berryseed,
|
|
/obj/item/seeds/appleseed,
|
|
/obj/item/seeds/bananaseed,
|
|
/obj/item/seeds/watermelonseed,
|
|
/obj/item/seeds/pumpkinseed,
|
|
/obj/item/seeds/wheatseed,
|
|
/obj/item/seeds/cornseed,
|
|
/obj/item/seeds/riceseed,
|
|
/obj/item/seeds/sugarcaneseed,
|
|
/obj/item/seeds/carrotseed,
|
|
/obj/item/seeds/garlicseed,
|
|
/obj/item/seeds/onionseed,
|
|
/obj/item/seeds/potatoseed,
|
|
/obj/item/seeds/whitebeetseed,
|
|
/obj/item/seeds/tomatoseed,
|
|
/obj/item/seeds/chiliseed,
|
|
/obj/item/seeds/eggplantseed,
|
|
/obj/item/seeds/peanutseed,
|
|
/obj/item/seeds/soyaseed,
|
|
/obj/item/seeds/cabbageseed
|
|
) |