mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-02-03 21:00:19 +00:00
Rebalances the random armory so there are always energy weapons, projectile weapons, and ion weapons. Ammo no longer random. Fixes some oversights with the EMT area and improves flow. Sec Guns fit in belts. Fixes typos and a missing price in the vending machine.
230 lines
7.2 KiB
Plaintext
230 lines
7.2 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
|
|
|
|
|
|
// creates a new object and deletes itself
|
|
/obj/random/New()
|
|
..()
|
|
if (!prob(spawn_nothing_percentage))
|
|
spawn_item()
|
|
del src
|
|
|
|
|
|
// this function should return a specific item to spawn
|
|
/obj/random/proc/item_to_spawn()
|
|
return 0
|
|
|
|
|
|
// creates the random item
|
|
/obj/random/proc/spawn_item()
|
|
var/build_path = item_to_spawn()
|
|
return (new build_path(src.loc))
|
|
|
|
|
|
/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/items.dmi'
|
|
icon_state = "welder"
|
|
item_to_spawn()
|
|
return pick(/obj/item/weapon/screwdriver,\
|
|
/obj/item/weapon/wirecutters,\
|
|
/obj/item/weapon/weldingtool,\
|
|
/obj/item/weapon/crowbar,\
|
|
/obj/item/weapon/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"
|
|
item_to_spawn()
|
|
return pick(prob(5);/obj/item/device/t_scanner,\
|
|
prob(2);/obj/item/device/radio,\
|
|
prob(5);/obj/item/device/analyzer)
|
|
|
|
|
|
/obj/random/powercell
|
|
name = "random powercell"
|
|
desc = "This is a random powercell."
|
|
icon = 'icons/obj/power.dmi'
|
|
icon_state = "cell"
|
|
item_to_spawn()
|
|
return pick(prob(10);/obj/item/weapon/cell/crap,\
|
|
prob(40);/obj/item/weapon/cell,\
|
|
prob(40);/obj/item/weapon/cell/high,\
|
|
prob(9);/obj/item/weapon/cell/super,\
|
|
prob(1);/obj/item/weapon/cell/hyper)
|
|
|
|
|
|
/obj/random/bomb_supply
|
|
name = "bomb supply"
|
|
desc = "This is a random bomb supply."
|
|
icon = 'icons/obj/assemblies/new_assemblies.dmi'
|
|
icon_state = "signaller"
|
|
item_to_spawn()
|
|
return pick(/obj/item/device/assembly/igniter,\
|
|
/obj/item/device/assembly/prox_sensor,\
|
|
/obj/item/device/assembly/signaler,\
|
|
/obj/item/device/multitool)
|
|
|
|
|
|
/obj/random/toolbox
|
|
name = "random toolbox"
|
|
desc = "This is a random toolbox."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "red"
|
|
item_to_spawn()
|
|
return pick(prob(3);/obj/item/weapon/storage/toolbox/mechanical,\
|
|
prob(2);/obj/item/weapon/storage/toolbox/electrical,\
|
|
prob(1);/obj/item/weapon/storage/toolbox/emergency)
|
|
|
|
|
|
/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
|
|
item_to_spawn()
|
|
return pick(prob(3);/obj/random/powercell,\
|
|
prob(2);/obj/random/technology_scanner,\
|
|
prob(1);/obj/item/weapon/packageWrap,\
|
|
prob(2);/obj/random/bomb_supply,\
|
|
prob(1);/obj/item/weapon/extinguisher,\
|
|
prob(1);/obj/item/clothing/gloves/fyellow,\
|
|
prob(3);/obj/item/stack/cable_coil,\
|
|
prob(2);/obj/random/toolbox,\
|
|
prob(2);/obj/item/weapon/storage/belt/utility,\
|
|
prob(5);/obj/random/tool,\
|
|
prob(2);/obj/item/weapon/tape_roll)
|
|
|
|
/obj/random/medical
|
|
name = "Random Medicine"
|
|
desc = "This is a random medical item."
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "brutepack"
|
|
spawn_nothing_percentage = 25
|
|
item_to_spawn()
|
|
return pick(prob(4);/obj/item/stack/medical/bruise_pack,\
|
|
prob(4);/obj/item/stack/medical/ointment,\
|
|
prob(2);/obj/item/stack/medical/advanced/bruise_pack,\
|
|
prob(2);/obj/item/stack/medical/advanced/ointment,\
|
|
prob(1);/obj/item/stack/medical/splint,\
|
|
prob(2);/obj/item/bodybag,\
|
|
prob(1);/obj/item/bodybag/cryobag,\
|
|
prob(2);/obj/item/weapon/storage/pill_bottle/kelotane,\
|
|
prob(2);/obj/item/weapon/storage/pill_bottle/antitox,\
|
|
prob(2);/obj/item/weapon/storage/pill_bottle/tramadol,\
|
|
prob(2);/obj/item/weapon/reagent_containers/syringe/antitoxin,\
|
|
prob(1);/obj/item/weapon/reagent_containers/syringe/antiviral,\
|
|
prob(2);/obj/item/weapon/reagent_containers/syringe/inaprovaline,\
|
|
prob(1);/obj/item/stack/nanopaste)
|
|
|
|
|
|
/obj/random/firstaid
|
|
name = "Random First Aid Kit"
|
|
desc = "This is a random first aid kit."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "firstaid"
|
|
item_to_spawn()
|
|
return pick(prob(3);/obj/item/weapon/storage/firstaid/regular,\
|
|
prob(2);/obj/item/weapon/storage/firstaid/toxin,\
|
|
prob(2);/obj/item/weapon/storage/firstaid/o2,\
|
|
prob(1);/obj/item/weapon/storage/firstaid/adv,\
|
|
prob(2);/obj/item/weapon/storage/firstaid/fire)
|
|
|
|
|
|
/obj/random/contraband
|
|
name = "Random Illegal Item"
|
|
desc = "Hot Stuff."
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "purplecomb"
|
|
spawn_nothing_percentage = 50
|
|
item_to_spawn()
|
|
return pick(prob(3);/obj/item/weapon/storage/pill_bottle/tramadol,\
|
|
prob(4);/obj/item/weapon/haircomb/fluff/cado_keppel_1,\
|
|
prob(2);/obj/item/weapon/storage/pill_bottle/happy,\
|
|
prob(2);/obj/item/weapon/storage/pill_bottle/zoom,\
|
|
prob(5);/obj/item/weapon/contraband/poster,\
|
|
prob(2);/obj/item/weapon/butterfly,\
|
|
prob(3);/obj/item/butterflyblade,\
|
|
prob(3);/obj/item/butterflyhandle,\
|
|
prob(3);/obj/item/weapon/wirerod,\
|
|
prob(1);/obj/item/weapon/butterfly/switchblade,\
|
|
prob(1);/obj/item/weapon/reagent_containers/syringe/drugs)
|
|
|
|
|
|
/obj/random/energy
|
|
name = "Random Energy Weapon"
|
|
desc = "This is a random security weapon."
|
|
icon = 'icons/obj/gun.dmi'
|
|
icon_state = "energykill100"
|
|
item_to_spawn()
|
|
return pick(prob(2);/obj/item/weapon/gun/energy/laser,\
|
|
prob(1);/obj/item/weapon/gun/energy/gun,\
|
|
prob(2);/obj/item/weapon/gun/energy/stunrevolver)
|
|
|
|
/obj/random/projectile
|
|
name = "Random Projectile Weapon"
|
|
desc = "This is a random security weapon."
|
|
icon = 'icons/obj/gun.dmi'
|
|
icon_state = "revolver"
|
|
item_to_spawn()
|
|
return pick(prob(3);/obj/item/weapon/gun/projectile/shotgun/pump,\
|
|
prob(2);/obj/item/weapon/gun/projectile/automatic/wt550,\
|
|
prob(3);/obj/item/weapon/gun/projectile/sec,\
|
|
prob(2);/obj/item/weapon/gun/projectile/sec/wood,\
|
|
prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat)
|
|
|
|
|
|
/obj/random/ammo
|
|
name = "Random Ammunition"
|
|
desc = "This is random ammunition."
|
|
icon = 'icons/obj/ammo.dmi'
|
|
icon_state = "45-10"
|
|
item_to_spawn()
|
|
return pick(prob(3);/obj/item/weapon/storage/box/beanbags,\
|
|
prob(1);/obj/item/weapon/storage/box/shotgunammo,\
|
|
prob(2);/obj/item/weapon/storage/box/shotgunshells,\
|
|
prob(2);/obj/item/weapon/storage/box/stunshells,\
|
|
prob(1);/obj/item/ammo_magazine/c45m,\
|
|
prob(2);/obj/item/ammo_magazine/c45m/rubber,\
|
|
prob(2);/obj/item/ammo_magazine/c45m/flash,\
|
|
prob(1);/obj/item/ammo_magazine/mc9mmt,\
|
|
prob(3);/obj/item/ammo_magazine/mc9mmt/rubber)
|
|
|
|
|
|
|
|
|
|
/obj/random/plushie
|
|
name = "random plushie"
|
|
desc = "This is a random plushie."
|
|
icon = 'icons/obj/toy.dmi'
|
|
icon_state = "nymphplushie"
|
|
item_to_spawn()
|
|
return pick(/obj/structure/plushie/ian,\
|
|
/obj/structure/plushie/drone,\
|
|
/obj/structure/plushie/carp,\
|
|
/obj/structure/plushie/beepsky,\
|
|
/obj/item/toy/plushie/nymph,\
|
|
/obj/item/toy/plushie/mouse,\
|
|
/obj/item/toy/plushie/kitten,\
|
|
/obj/item/toy/plushie/lizard)
|
|
|