Files
CHOMPStation2/code/game/objects/random/random_vr.dm
Cameron Lennox e650c62c6b LOTS OF FIXES
2017-10-08 18:05:27 -04:00

212 lines
9.8 KiB
Plaintext

/obj/random/weapon // For Gateway maps and Syndicate. Can possibly spawn almost any gun in the game.
name = "Random Illegal Weapon"
desc = "This is a random illegal weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "p08"
spawn_nothing_percentage = 50
item_to_spawn()
return pick(prob(11);/obj/random/ammo_all,\
prob(11);/obj/item/weapon/gun/energy/laser,\
prob(11);/obj/item/weapon/gun/projectile/pirate,\
prob(10);/obj/item/weapon/material/twohanded/spear,\
prob(10);/obj/item/weapon/gun/energy/stunrevolver,\
prob(10);/obj/item/weapon/gun/energy/taser,\
prob(10);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet,\
prob(10);/obj/item/weapon/material/knife,\
prob(10);/obj/item/weapon/gun/projectile/luger,\
/* prob(10);/obj/item/weapon/gun/projectile/pipegun,\ */
prob(10);/obj/item/weapon/gun/projectile/revolver/detective,\
prob(10);/obj/item/weapon/gun/projectile/revolver/judge,\
prob(10);/obj/item/weapon/gun/projectile/colt,\
prob(10);/obj/item/weapon/gun/projectile/shotgun/pump,\
prob(10);/obj/item/weapon/gun/projectile/shotgun/pump/rifle,\
prob(10);/obj/item/weapon/melee/baton,\
prob(10);/obj/item/weapon/melee/telebaton,\
prob(10);/obj/item/weapon/melee/classic_baton,\
prob(9);/obj/item/weapon/gun/projectile/automatic/wt550/lethal,\
prob(9);/obj/item/weapon/gun/projectile/automatic/pdw,\
prob(9);/obj/item/weapon/gun/projectile/automatic/sol, \
prob(9);/obj/item/weapon/gun/energy/crossbow/largecrossbow,\
prob(9);/obj/item/weapon/gun/projectile/pistol,\
prob(9);/obj/item/weapon/gun/projectile/shotgun/pump,\
prob(9);/obj/item/weapon/cane/concealed,\
prob(9);/obj/item/weapon/gun/energy/gun,\
prob(8);/obj/item/weapon/gun/energy/retro,\
prob(8);/obj/item/weapon/gun/energy/gun/eluger,\
prob(8);/obj/item/weapon/gun/energy/xray,\
prob(8);/obj/item/weapon/gun/projectile/automatic/c20r,\
prob(8);/obj/item/weapon/melee/energy/sword,\
prob(8);/obj/item/weapon/gun/projectile/derringer,\
prob(8);/obj/item/weapon/gun/projectile/revolver/lemat,\
prob(8);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/mosin,\
/* prob(8);/obj/item/weapon/gun/projectile/automatic/m41a,\ */
prob(7);/obj/item/weapon/material/butterfly,\
prob(7);/obj/item/weapon/material/butterfly/switchblade,\
prob(7);/obj/item/weapon/gun/projectile/giskard,\
prob(7);/obj/item/weapon/gun/projectile/automatic/p90,\
prob(7);/obj/item/weapon/gun/projectile/automatic/sts35,\
prob(7);/obj/item/weapon/gun/projectile/shotgun/pump/combat,\
prob(6);/obj/item/weapon/gun/energy/sniperrifle,\
prob(6);/obj/item/weapon/gun/projectile/automatic/z8,\
prob(6);/obj/item/weapon/gun/energy/captain,\
prob(6);/obj/item/weapon/material/hatchet/tacknife,\
prob(5);/obj/item/weapon/gun/projectile/shotgun/pump/USDF,\
prob(5);/obj/item/weapon/gun/projectile/giskard/olivaw,\
prob(5);/obj/item/weapon/gun/projectile/revolver/consul,\
prob(5);/obj/item/weapon/gun/projectile/revolver/mateba,\
prob(5);/obj/item/weapon/gun/projectile/revolver,\
prob(4);/obj/item/weapon/gun/projectile/deagle,\
prob(4);/obj/item/weapon/material/hatchet/tacknife/combatknife,\
prob(4);/obj/item/weapon/melee/energy/sword,\
prob(4);/obj/item/weapon/gun/projectile/automatic/mini_uzi,\
prob(4);/obj/item/weapon/gun/projectile/contender,\
prob(4);/obj/item/weapon/gun/projectile/contender/tacticool,\
prob(3);/obj/item/weapon/gun/projectile/SVD,\
prob(3);/obj/item/weapon/gun/energy/lasercannon,\
prob(3);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,\
prob(3);/obj/item/weapon/gun/projectile/automatic/bullpup,\
prob(2);/obj/item/weapon/gun/energy/pulse_rifle,\
prob(2);/obj/item/weapon/gun/energy/gun/nuclear,\
prob(2);/obj/item/weapon/gun/projectile/automatic/l6_saw,\
prob(2);/obj/item/weapon/gun/energy/gun/burst,\
prob(2);/obj/item/weapon/storage/box/frags,\
prob(2);/obj/item/weapon/twohanded/fireaxe,\
prob(2);/obj/item/weapon/gun/projectile/luger/brown,\
prob(2);/obj/item/weapon/gun/launcher/crossbow,\
/* prob(1);/obj/item/weapon/gun/projectile/automatic/battlerifle,\ */ // Too OP
prob(1);/obj/item/weapon/gun/projectile/deagle/gold,\
prob(1);/obj/item/weapon/gun/energy/imperial,\
prob(1);/obj/item/weapon/gun/projectile/automatic/as24,\
prob(1);/obj/item/weapon/gun/launcher/rocket,\
prob(1);/obj/item/weapon/gun/launcher/grenade,\
prob(1);/obj/item/weapon/gun/projectile/gyropistol,\
prob(1);/obj/item/weapon/gun/projectile/heavysniper,\
prob(1);/obj/item/weapon/plastique,\
prob(1);/obj/item/weapon/gun/energy/ionrifle,\
prob(1);/obj/item/weapon/material/sword,\
prob(1);/obj/item/weapon/cane/concealed,\
prob(1);/obj/item/weapon/material/sword/katana)
/obj/random/weapon/guarenteed
spawn_nothing_percentage = 0
/obj/random/ammo_all
name = "Random Ammunition (All)"
desc = "This is random ammunition. Spawns all ammo types."
icon = 'icons/obj/ammo.dmi'
icon_state = "666"
item_to_spawn()
return pick(prob(5);/obj/item/weapon/storage/box/shotgunammo,\
prob(5);/obj/item/weapon/storage/box/shotgunshells,\
prob(5);/obj/item/ammo_magazine/clip/c762,\
prob(5);/obj/item/ammo_magazine/m380,\
prob(5);/obj/item/ammo_magazine/m45,\
prob(5);/obj/item/ammo_magazine/m9mm,\
prob(5);/obj/item/ammo_magazine/s38,\
prob(4);/obj/item/ammo_magazine/clip/c45,\
prob(4);/obj/item/ammo_magazine/clip/c9mm,\
prob(4);/obj/item/ammo_magazine/m45uzi,\
prob(4);/obj/item/ammo_magazine/m9mml,\
prob(4);/obj/item/ammo_magazine/m9mmt,\
prob(4);/obj/item/ammo_magazine/m9mmp90,\
prob(4);/obj/item/ammo_magazine/m10mm,\
prob(4);/obj/item/ammo_magazine/m545/small,\
prob(3);/obj/item/ammo_magazine/clip/c10mm,\
prob(3);/obj/item/ammo_magazine/clip/c44,\
prob(3);/obj/item/ammo_magazine/s44,\
prob(3);/obj/item/ammo_magazine/m762,\
prob(3);/obj/item/ammo_magazine/m545,\
prob(3);/obj/item/weapon/cell/device/weapon,\
prob(2);/obj/item/ammo_magazine/m44,\
prob(2);/obj/item/ammo_magazine/s357,\
prob(2);/obj/item/ammo_magazine/m762m,\
prob(2);/obj/item/ammo_magazine/clip/c12g,
prob(2);/obj/item/ammo_magazine/clip/c12g/pellet,\
prob(1);/obj/item/ammo_magazine/m45tommy,\
/* prob(1);/obj/item/ammo_magazine/m95,\ */
prob(1);/obj/item/ammo_casing/rocket,\
prob(1);/obj/item/weapon/storage/box/sniperammo,\
prob(1);/obj/item/weapon/storage/box/flashshells,\
prob(1);/obj/item/weapon/storage/box/beanbags,\
prob(1);/obj/item/weapon/storage/box/stunshells,\
prob(1);/obj/item/ammo_magazine/mtg,\
prob(1);/obj/item/ammo_magazine/m12gdrum,\
prob(1);/obj/item/ammo_magazine/m12gdrum/pellet,\
prob(1);/obj/item/ammo_magazine/m45tommydrum
)
/obj/random/cargopod
name = "Random Cargo Item"
desc = "Hot Stuff."
icon = 'icons/obj/items.dmi'
icon_state = "purplecomb"
spawn_nothing_percentage = 0
/obj/random/cargopod/item_to_spawn()
return pick(prob(10);/obj/item/weapon/contraband/poster,\
prob(8);/obj/item/weapon/haircomb,\
prob(6);/obj/item/weapon/material/wirerod,\
prob(6);/obj/item/weapon/storage/pill_bottle/tramadol,\
prob(6);/obj/item/weapon/material/butterflyblade,\
prob(6);/obj/item/weapon/material/butterflyhandle,\
prob(4);/obj/item/weapon/storage/pill_bottle/happy,\
prob(4);/obj/item/weapon/storage/pill_bottle/zoom,\
prob(4);/obj/item/weapon/material/butterfly,\
prob(2);/obj/item/weapon/material/butterfly/switchblade,\
prob(2);/obj/item/weapon/material/knuckledusters,\
prob(2);/obj/item/weapon/reagent_containers/syringe/drugs,\
prob(1);/obj/item/weapon/material/hatchet/tacknife,\
prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc,\
prob(1);/obj/item/weapon/beartrap,\
prob(1);/obj/item/weapon/handcuffs,\
prob(1);/obj/item/weapon/handcuffs/legcuffs,\
prob(1);/obj/item/weapon/reagent_containers/syringe/steroid)
//A random thing so that the spawn_nothing_percentage can be used w/o duplicating code.
/obj/random/trash_pile
name = "Random Trash Pile"
desc = "Hot Garbage."
icon = 'icons/obj/trash_piles.dmi'
icon_state = "randompile"
spawn_nothing_percentage = 0
/obj/random/trash_pile/item_to_spawn()
return /obj/structure/trash_pile
/obj/random/outside_mob
name = "Random Mob"
desc = "Eek!"
icon = 'icons/mob/screen1.dmi'
icon_state = "x"
spawn_nothing_percentage = 10
var/faction = "wild animal"
/obj/random/outside_mob/item_to_spawn() // Special version for mobs to have the same faction.
var/mob = pick(
prob(50);/mob/living/simple_animal/retaliate/gaslamp,
// prob(50);/mob/living/simple_animal/otie/feral, // Removed until Otie code is unfucked.
prob(20);/mob/living/simple_animal/hostile/dino/virgo3b,
prob(1);/mob/living/simple_animal/hostile/dragon/virgo3b)
if (istype(mob, /mob/living)) // This is just to prevent runtime errors in case some dev is a dumbass and puts invalid items into this.
var/mob/living/simple_animal/this_mob = mob
this_mob.faction = src.faction
if (this_mob.minbodytemp > 200) // Temporary hotfix. Eventually I'll add code to change all mob vars to fit the environment they are spawned in.
this_mob.minbodytemp = 200
return this_mob
else
return mob
/obj/random/outside_mob/spawn_item()
..()
var/datum/map_z_level/z_level = get_z_level_datum(spawned_thing)
if(!istype(z_level, /datum/map_z_level/tether/wilderness))
return
if(!istype(spawned_thing, /mob/living/simple_animal))
return
var/datum/map_z_level/tether/wilderness/wilderness = z_level
if(wilderness.activated)
return
var/mob/living/simple_animal/M = spawned_thing
wilderness.frozen_mobs += M
M.life_disabled = 1
for(var/i = 1 to 20) //wander the mobs around so they aren't always in the same spots
step_rand(M)
sleep(2)