I love BYOND RNG, it is perfect and 100% reliable for testing.

This commit is contained in:
Mechoid
2020-05-02 18:50:57 -04:00
committed by VirgoBot
parent 39641529a5
commit 8d328777b7
2 changed files with 142 additions and 0 deletions
+129
View File
@@ -203,3 +203,132 @@
prob(30);/mob/living/simple_mob/animal/passive/mouse/brown,
prob(30);/mob/living/simple_mob/animal/passive/mouse/gray,
prob(25);/obj/random/mouseremains) //because figuring out how to come up with it picking nothing is beyond my coding ability.
<<<<<<< HEAD
=======
// Mercs
/obj/random/mob/merc
name = "Random Mercenary"
desc = "This is a random PoI mercenary."
icon_state = "syndicate"
mob_faction = "syndicate"
mob_returns_home = 1
mob_wander_distance = 7 // People like to wander, and these people probably have a lot of stuff to guard.
/obj/random/mob/merc/item_to_spawn()
return pick(prob(60);/mob/living/simple_mob/humanoid/merc/melee/poi,
prob(40);/mob/living/simple_mob/humanoid/merc/melee/sword/poi,
prob(40);/mob/living/simple_mob/humanoid/merc/ranged/poi,
prob(30);/mob/living/simple_mob/humanoid/merc/ranged/smg/poi,
prob(20);/mob/living/simple_mob/humanoid/merc/ranged/laser/poi,
prob(5);/mob/living/simple_mob/humanoid/merc/ranged/ionrifle/poi,
prob(10);/mob/living/simple_mob/humanoid/merc/ranged/grenadier/poi,
prob(10);/mob/living/simple_mob/humanoid/merc/ranged/rifle/poi,
prob(15);/mob/living/simple_mob/humanoid/merc/ranged/rifle/mag/poi,
prob(10);/mob/living/simple_mob/humanoid/merc/ranged/technician/poi
)
/obj/random/mob/merc/armored
name = "Random Armored Infantry Merc"
desc = "This is a random PoI exo or robot for mercs."
icon_state = "drone3"
/obj/random/mob/merc/armored/item_to_spawn()
return pick(prob(30);/mob/living/simple_mob/mechanical/mecha/combat/gygax/dark,
prob(40);/mob/living/simple_mob/mechanical/mecha/combat/gygax/medgax,
prob(40);/mob/living/simple_mob/mechanical/mecha/combat/gygax,
prob(10);/mob/living/simple_mob/mechanical/mecha/combat/durand/defensive/mercenary,
prob(60);/mob/living/simple_mob/mechanical/mecha/hoverpod/manned,
prob(5);/mob/living/simple_mob/mechanical/mecha/combat/marauder,
prob(1);/mob/living/simple_mob/mechanical/mecha/combat/marauder/seraph,
prob(15);/mob/living/simple_mob/mechanical/mecha/odysseus/manned,
prob(15);/mob/living/simple_mob/mechanical/mecha/odysseus/murdysseus/manned,
prob(60);/mob/living/simple_mob/mechanical/mecha/ripley/manned
)
/obj/random/mob/merc/all
name = "Random Mercenary All"
desc = "A random PoI mercenary, including armored."
/obj/random/mob/merc/all/item_to_spawn()
return pick(prob(20);/obj/random/mob/merc,
prob(1);/obj/random/mob/merc/armored
)
// Multiple mobs, one spawner.
/obj/random/mob/multiple
name = "Random Multiple Mob Spawner"
desc = "A base multiple-mob spawner. Takes lists of lists."
/obj/random/mob/multiple/spawn_item()
var/list/things_to_make = item_to_spawn()
for(var/new_type in things_to_make)
var/mob/living/simple_mob/M = new new_type(src.loc)
if(!istype(M))
continue
if(M.has_AI())
var/datum/ai_holder/AI = M.ai_holder
AI.go_sleep() //Don't fight eachother while we're still setting up!
AI.returns_home = mob_returns_home
AI.wander = mob_wander
AI.max_home_distance = mob_wander_distance
if(overwrite_hostility)
AI.hostile = mob_hostile
AI.retaliate = mob_retaliate
AI.go_wake() //Now you can kill eachother if your faction didn't override.
if(pixel_x || pixel_y)
M.pixel_x = pixel_x
M.pixel_y = pixel_y
/obj/random/mob/multiple/sifmobs
name = "Random Sifmob Pack"
desc = "A pack of random neutral sif mobs."
/obj/random/mob/multiple/sifmobs/item_to_spawn()
return pick(
prob(60);list(
/mob/living/simple_mob/animal/sif/diyaab,
/mob/living/simple_mob/animal/sif/diyaab,
/mob/living/simple_mob/animal/sif/diyaab
),
prob(15);list(
/mob/living/simple_mob/animal/sif/duck,
/mob/living/simple_mob/animal/sif/duck,
/mob/living/simple_mob/animal/sif/duck
),
prob(10);list(
/mob/living/simple_mob/animal/sif/shantak/retaliate,
/mob/living/simple_mob/animal/sif/shantak/retaliate,
/mob/living/simple_mob/animal/sif/shantak/retaliate,
/mob/living/simple_mob/animal/sif/shantak/leader/autofollow/retaliate
),
prob(5);list(
/mob/living/simple_mob/animal/sif/kururak/leader,
/mob/living/simple_mob/animal/sif/kururak,
/mob/living/simple_mob/animal/sif/kururak
),
prob(5);list(
/mob/living/simple_mob/animal/sif/glitterfly,
/mob/living/simple_mob/animal/sif/glitterfly,
/mob/living/simple_mob/animal/sif/glitterfly,
/mob/living/simple_mob/animal/sif/glitterfly,
/mob/living/simple_mob/animal/sif/glitterfly
),
prob(1);list(
/mob/living/simple_mob/animal/goat,
/mob/living/simple_mob/animal/goat
),
prob(1);list(
/mob/living/simple_mob/animal/sif/sakimm/intelligent,
/mob/living/simple_mob/animal/sif/sakimm,
/mob/living/simple_mob/animal/sif/sakimm,
/mob/living/simple_mob/animal/sif/sakimm
)
)
>>>>>>> 7d52c30... I love BYOND RNG, it is perfect and 100% reliable for testing. (#7070)