/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/armory name = "Random Armory Weapon" desc = "This is a random security weapon." icon = 'icons/obj/gun.dmi' icon_state = "energykill100" item_to_spawn() return pick(prob(3);/obj/item/weapon/gun/projectile/shotgun/pump,\ prob(2);/obj/item/weapon/gun/energy/ionrifle,\ prob(2);/obj/item/weapon/gun/projectile/automatic/wt550,\ prob(1);/obj/item/weapon/gun/projectile/automatic/z8,\ prob(2);/obj/item/weapon/gun/energy/laser,\ prob(1);/obj/item/weapon/gun/energy/gun,\ prob(3);/obj/item/weapon/gun/projectile/sec,\ prob(2);/obj/item/weapon/gun/projectile/sec/wood,\ prob(3);/obj/item/weapon/gun/energy/taser,\ 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,\ prob(2);/obj/item/ammo_magazine/a556) /obj/random/armor name = "Random Armor" desc = "This is a random armor vest." icon = 'icons/obj/clothing/suits.dmi' icon_state = "kvest" item_to_spawn() return pick(prob(4);/obj/item/clothing/suit/storage/vest,\ prob(3);/obj/item/clothing/suit/storage/vest/officer,\ prob(3);/obj/item/clothing/suit/storage/vest/warden,\ prob(3);/obj/item/clothing/suit/storage/vest/hos,\ prob(2);/obj/item/clothing/suit/storage/vest/pcrc,\ prob(1);/obj/item/clothing/suit/storage/vest/detective,\ prob(2);/obj/item/clothing/suit/storage/vest/heavy,\ prob(2);/obj/item/clothing/suit/storage/vest/heavy/officer,\ prob(2);/obj/item/clothing/suit/storage/vest/heavy/warden,\ prob(2);/obj/item/clothing/suit/storage/vest/heavy/hos,\ prob(2);/obj/item/clothing/suit/storage/vest/heavy/pcrc) /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)