diff --git a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm index 80ae7f2e1cf..2bf520e8559 100644 --- a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm +++ b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm @@ -25,8 +25,6 @@ var/obj/effect/proc_holder/tentacle_slap/tentacle_slap - ghost_controllable = TRUE //SKYRAT EDIT CHANGE - BE GOOD! - /mob/living/simple_animal/hostile/vatbeast/Initialize() . = ..() tentacle_slap = new(src) diff --git a/modular_skyrat/modules/decay_subsystem/code/decaySS.dm b/modular_skyrat/modules/decay_subsystem/code/decaySS.dm index c1452e7e608..7d8736aa91e 100644 --- a/modular_skyrat/modules/decay_subsystem/code/decaySS.dm +++ b/modular_skyrat/modules/decay_subsystem/code/decaySS.dm @@ -27,13 +27,12 @@ SUBSYSTEM_DEF(decay) var/severity_modifier = 1 var/list/possible_nests = list( - /obj/structure/mob_spawner/swarmers, /obj/structure/mob_spawner/spiders, /obj/structure/mob_spawner/bush, /obj/structure/mob_spawner/grapes, /obj/structure/mob_spawner/beehive, /obj/structure/mob_spawner/rats, - /obj/structure/mob_spawner/headcrab, + /obj/structure/mob_spawner/snake, /obj/structure/mob_spawner/beehive/toxic ) diff --git a/modular_skyrat/modules/decay_subsystem/code/nests.dm b/modular_skyrat/modules/decay_subsystem/code/nests.dm index 64b42ddbc80..b7e00243047 100644 --- a/modular_skyrat/modules/decay_subsystem/code/nests.dm +++ b/modular_skyrat/modules/decay_subsystem/code/nests.dm @@ -1,3 +1,5 @@ +#define NEST_FACTION "nest spawned" + /obj/structure/mob_spawner name = "nest" desc = "A nasty looking pile of sticks and debris." @@ -15,22 +17,22 @@ var/list/var/monster_types = list(/mob/living/simple_animal/hostile/blackmesa/xen/headcrab) /// How many mobs can we spawn? var/max_mobs = 3 - var/list/faction = list("nest spawned") + var/list/faction = list(NEST_FACTION) var/spawned_mobs = 0 /// How long it takes for a new mob to emerge after being triggered. var/spawn_cooldown = 30 SECONDS /// How long it takes to regenerate mobs to spawn again - var/regenerate_time = 15 MINUTES + var/regenerate_time = 20 MINUTES var/retaliated = FALSE /// How long it takes for us to retaliate again. - var/retaliate_cooldown = 15 SECONDS + var/retaliate_cooldown = 20 SECONDS var/list/registered_turfs = list() /// What loot do we spawn upon death? var/list/loot = list() /obj/structure/mob_spawner/Initialize() . = ..() - for(var/turf/open/seen_turf in view(7, src)) + for(var/turf/open/seen_turf in view(5, src)) registered_turfs += seen_turf RegisterSignal(seen_turf, COMSIG_ATOM_ENTERED, .proc/proximity_trigger) @@ -65,7 +67,7 @@ var/mob/living/entered_mob = AM - if(entered_mob.faction in faction) + if((NEST_FACTION in entered_mob.faction)) return var/sound/sound_to_play = pick('modular_skyrat/master_files/sound/effects/rustle1.ogg', 'modular_skyrat/master_files/sound/effects/rustle2.ogg') @@ -74,15 +76,18 @@ do_squish(0.8, 1.2) + spawned_mobs++ + var/chosen_mob_type = pick(monster_types) var/mob/living/simple_animal/L = new chosen_mob_type(loc) L.flags_1 |= (flags_1 & ADMIN_SPAWNED_1) - spawned_mobs++ + L.faction = faction visible_message(span_danger("[L] emerges from [src].")) - addtimer(CALLBACK(src, .proc/regenerate_mobs), regenerate_time) + if(spawned_mobs >= max_mobs) + addtimer(CALLBACK(src, .proc/regenerate_mobs), regenerate_time) /obj/structure/mob_spawner/proc/regenerate_mobs() visible_message(span_danger("[src] contorts and wriggles!")) @@ -104,16 +109,6 @@ visible_message(span_danger("[src] calms down.")) ///////////// CUSTOM SPAWNERS -/obj/structure/mob_spawner/swarmers - name = "broken metal heap" - desc = "A heap of broken metal... it's moving." - icon_state = "nest_swarmer" - light_color = LIGHT_COLOR_BLUE - monster_types = list(/mob/living/simple_animal/hostile/swarmer/ai/resource) - loot = list(/obj/item/stack/sheet/bluespace_crystal/five, /obj/item/stack/sheet/mineral/diamond) - -/obj/item/stack/sheet/bluespace_crystal/five - amount = 5 /obj/structure/mob_spawner/spiders name = "sticky cobwebs" @@ -145,7 +140,7 @@ light_color = LIGHT_COLOR_GREEN monster_types = list(/mob/living/simple_animal/hostile/killertomato) loot = list(/obj/item/seeds/random = 3) - max_mobs = 8 + max_mobs = 6 /obj/structure/mob_spawner/beehive name = "beehive" @@ -153,8 +148,8 @@ icon_state = "nest_bee" light_color = LIGHT_COLOR_YELLOW monster_types = list(/mob/living/simple_animal/hostile/bee) - max_mobs = 20 - spawn_cooldown = 2 SECONDS + max_mobs = 15 + spawn_cooldown = 5 SECONDS loot = list(/obj/item/reagent_containers/honeycomb = 5, /obj/item/queen_bee) var/swarmed = FALSE @@ -175,18 +170,14 @@ max_mobs = 6 color = LIGHT_COLOR_ELECTRIC_GREEN -/obj/structure/mob_spawner/headcrab +/obj/structure/mob_spawner/snake name = "disgusting eggs" desc = "These pulsating eggs are oozing out a puss like substance..." icon_state = "nest_eggs" light_color = LIGHT_COLOR_YELLOW - monster_types = list(/mob/living/simple_animal/hostile/headcrab/innate) - max_mobs = 10 + monster_types = list(/mob/living/simple_animal/hostile/retaliate/snake) + max_mobs = 8 spawn_cooldown = 5 SECONDS - loot = list(/obj/item/fish = 5) - -/mob/living/simple_animal/hostile/headcrab/innate/Infect(mob/living/carbon/victim) - return /obj/structure/mob_spawner/rats name = "nasty nest" @@ -204,7 +195,7 @@ icon_state = "nest_grapes" light_color = LIGHT_COLOR_PURPLE monster_types = list(/mob/living/simple_animal/hostile/ooze/grapes) - loot = list(/obj/item/food/grown/berries/glow = 10) + loot = list(/obj/item/resurrection_crystal) /obj/structure/mob_spawner/grapes/obj_destruction(damage_flag) if(loot)