From ae5fa73809da155adc378ae7dacad3b301f0b73c Mon Sep 17 00:00:00 2001 From: Armhulen Date: Wed, 7 Feb 2018 06:12:47 -0800 Subject: [PATCH] balances the netherworld link, spawners can now spawn from a pool of mobs, and the netherworld link can now summon all three types of netherworld critters. (and mining spawner cleanup for admin events i guess) (#35386) * woah totally wacky wazoo * OH I'M SAYIN IT * donezo now lets do the rest lol * commiting this so i can revert back to it when nobody likes my changes past this point * :pray: * jesus * christ * move'd --- .../hostile/mining_mobs/hivelord.dm | 2 +- .../hostile/mining_mobs/necropolis_tendril.dm | 6 ++--- .../simple_animal/hostile/netherworld.dm | 6 ++--- .../mob/living/simple_animal/spawner.dm | 24 ++++++++++++------- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 5cb5bbe165..57dda3b39c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -226,7 +226,7 @@ max_mobs = 3 spawn_time = 200 spawn_text = "peels itself off from" - mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion + mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion) melee_damage_lower = 20 melee_damage_upper = 20 anchored = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm index 118f0e1e69..6a7af7910e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm @@ -17,7 +17,7 @@ maxHealth = 250 max_mobs = 3 spawn_time = 300 //30 seconds default - mob_type = /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril + mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril) spawn_text = "emerges from" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 @@ -28,10 +28,10 @@ var/obj/effect/light_emitter/tendril/emitted_light /mob/living/simple_animal/hostile/spawner/lavaland/goliath - mob_type = /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril + mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril) /mob/living/simple_animal/hostile/spawner/lavaland/legion - mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril + mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril) /mob/living/simple_animal/hostile/spawner/lavaland/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 67a565f945..79503d3235 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -71,11 +71,11 @@ icon_living = "nether" health = 50 maxHealth = 50 - spawn_time = 50 //5 seconds + spawn_time = 600 //1 minute max_mobs = 15 icon = 'icons/mob/nest.dmi' spawn_text = "crawls through" - mob_type = /mob/living/simple_animal/hostile/netherworld/migo + mob_types = list(/mob/living/simple_animal/hostile/netherworld/migo, /mob/living/simple_animal/hostile/netherworld, /mob/living/simple_animal/hostile/netherworld/blankbody) atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) faction = list("nether") deathmessage = "shatters into oblivion." @@ -93,7 +93,7 @@ if(M) playsound(src, 'sound/magic/demon_consume.ogg', 50, 1) M.adjustBruteLoss(60) - new /obj/effect/gibspawner/human(get_turf(M)) + new /obj/effect/gibspawner/generic(get_turf(M)) if(M.stat == DEAD) var/mob/living/simple_animal/hostile/netherworld/blankbody/blank blank = new(loc) diff --git a/code/modules/mob/living/simple_animal/spawner.dm b/code/modules/mob/living/simple_animal/spawner.dm index a6970ece68..2d3fce3e0b 100644 --- a/code/modules/mob/living/simple_animal/spawner.dm +++ b/code/modules/mob/living/simple_animal/spawner.dm @@ -8,7 +8,7 @@ var/max_mobs = 5 var/spawn_delay = 0 var/spawn_time = 300 //30 seconds default - var/mob_type = /mob/living/simple_animal/hostile/carp + var/mob_types = list(/mob/living/simple_animal/hostile/carp) var/spawn_text = "emerges from" status_flags = 0 anchored = TRUE @@ -42,7 +42,8 @@ if(spawn_delay > world.time) return 0 spawn_delay = world.time + spawn_time - var/mob/living/simple_animal/L = new mob_type(src.loc) + var/chosen_mob_type = pick(mob_types) + var/mob/living/simple_animal/L = new chosen_mob_type(src.loc) L.admin_spawned = admin_spawned //If we were admin spawned, lets have our children count as that as well. spawned_mobs += L L.nest = src @@ -54,7 +55,7 @@ icon = 'icons/obj/device.dmi' icon_state = "syndbeacon" spawn_text = "warps in from" - mob_type = /mob/living/simple_animal/hostile/syndicate/ranged + mob_types = list(/mob/living/simple_animal/hostile/syndicate/ranged) faction = list(ROLE_SYNDICATE) /mob/living/simple_animal/hostile/spawner/skeleton @@ -67,7 +68,7 @@ maxHealth = 150 max_mobs = 15 spawn_time = 150 - mob_type = /mob/living/simple_animal/hostile/skeleton + mob_types = list(/mob/living/simple_animal/hostile/skeleton) spawn_text = "climbs out of" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) faction = list("skeleton") @@ -82,26 +83,31 @@ max_mobs = 3 icon = 'icons/mob/nest.dmi' spawn_text = "crawls out of" - mob_type = /mob/living/simple_animal/hostile/asteroid/goldgrub + mob_types = list(/mob/living/simple_animal/hostile/asteroid/goldgrub, /mob/living/simple_animal/hostile/asteroid/goliath, /mob/living/simple_animal/hostile/asteroid/hivelord, /mob/living/simple_animal/hostile/asteroid/basilisk, /mob/living/simple_animal/hostile/asteroid/fugu) atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) faction = list("mining") +/mob/living/simple_animal/hostile/spawner/mining/goldgrub + name = "goldgrub den" + desc = "A den housing a nest of goldgrubs, annoying but arguably much better than anything else you'll find in a nest." + mob_types = list(/mob/living/simple_animal/hostile/asteroid/goldgrub) + /mob/living/simple_animal/hostile/spawner/mining/goliath name = "goliath den" desc = "A den housing a nest of goliaths, oh god why?" - mob_type = /mob/living/simple_animal/hostile/asteroid/goliath + mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath) /mob/living/simple_animal/hostile/spawner/mining/hivelord name = "hivelord den" desc = "A den housing a nest of hivelords." - mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord + mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord) /mob/living/simple_animal/hostile/spawner/mining/basilisk name = "basilisk den" desc = "A den housing a nest of basilisks, bring a coat." - mob_type = /mob/living/simple_animal/hostile/asteroid/basilisk + mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk) /mob/living/simple_animal/hostile/spawner/mining/wumborian name = "wumborian fugu den" desc = "A den housing a nest of wumborian fugus, how do they all even fit in there?" - mob_type = /mob/living/simple_animal/hostile/asteroid/fugu + mob_types = list(/mob/living/simple_animal/hostile/asteroid/fugu)