From edbac20f4adcdab1d8c2ab8c0048ca7bbdccf90a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 2 Jul 2018 17:03:02 -0400 Subject: [PATCH] maybe dis? --- code/modules/events/carp_migration.dm | 11 +++++--- code/modules/events/event_container.dm | 2 +- code/modules/events/koi_mirgration.dm | 28 ++++++++----------- .../simple_animal/hostile/retaliate/fish.dm | 9 ++++-- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index abab5c39254..34a7743b082 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -2,6 +2,10 @@ announceWhen = 50 endWhen = 900 + var/list/spawned_mobs = list( + /mob/living/simple_animal/hostile/carp = 95, + /mob/living/simple_animal/hostile/carp/megacarp = 5, + ) var/list/spawned_carp = list() /datum/event/carp_migration/setup() @@ -17,6 +21,7 @@ event_announcement.Announce(announcement, "Lifesign Alert") /datum/event/carp_migration/start() + if(severity == EVENT_LEVEL_MAJOR) spawn_fish(landmarks_list.len) else if(severity == EVENT_LEVEL_MODERATE) @@ -32,14 +37,12 @@ spawn_locations.Add(C.loc) spawn_locations = shuffle(spawn_locations) num_groups = min(num_groups, spawn_locations.len) - + var/i = 1 while(i <= num_groups) var/group_size = rand(group_size_min, group_size_max) for(var/j = 1, j <= group_size, j++) - var/carptype = /mob/living/simple_animal/hostile/carp - if(prob(5)) - carptype = /mob/living/simple_animal/hostile/carp/megacarp + var/carptype = pickweight(spawned_mobs) spawned_carp.Add(new carptype(spawn_locations[i])) i++ diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 45bf962178b..888e2b38dd1 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -140,7 +140,7 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Sentience", /datum/event/sentience, 50), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Wallrot", /datum/event/wallrot, 0, list(ASSIGNMENT_ENGINEER = 30, ASSIGNMENT_GARDENER = 50)), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Aurora Caelus", /datum/event/aurora_caelus, 15, is_one_shot = TRUE), - new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Koi School", /datum/event/koi_migration, 80,) + new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Koi School", /datum/event/carp_migration/koi, 80,) ) /datum/event_container/moderate diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm index bb986a0f899..6372d0ea1cd 100644 --- a/code/modules/events/koi_mirgration.dm +++ b/code/modules/events/koi_mirgration.dm @@ -1,20 +1,14 @@ -/datum/event/koi_migration - announceWhen = 50 - endWhen = 900 +/datum/event/carp_migration + spawned_mobs = list( + /mob/living/simple_animal/hostile/retaliate/carp/koi = 95, + /mob/living/simple_animal/hostile/retaliate/carp/koi/honk = 2, + ) - var/list/spawned_koi = list() -/datum/event/koi_migration/setup() - announceWhen = rand(40, 60) - endWhen = rand(600,1200) - -/datum/event/koi_migration/announce() - event_announcement.Announce("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert") - -/datum/event/koi_migration/start() +/datum/event/carp_migration/koi/start() spawn_fish(landmarks_list.len) -/datum/event/koi_migration/proc/spawn_fish(var/num_groups, var/group_size_min=3, var/group_size_max=5) +/datum/event/carp_migration/koi/spawn_fish(var/num_groups, var/group_size_min=3, var/group_size_max=5) var/list/spawn_locations = list() for(var/obj/effect/landmark/C in landmarks_list) @@ -27,12 +21,12 @@ while(i <= num_groups) var/group_size = rand(group_size_min, group_size_max) for(var/j = 1, j <= group_size, j++) - var/mob/living/simple_animal/hostile/retaliate/carp/koi/K = new(spawn_locations[i]) - spawned_koi.Add(K) + var/carptype = pickweight(spawned_mobs) + spawned_carp.Add(new carptype(spawn_locations[i])) i++ -/datum/event/koi_migration/end() - for(var/mob/living/simple_animal/hostile/retaliate/carp/koi/C in spawned_koi) +/datum/event/carp_migration/koi/end() + for(var/mob/living/simple_animal/hostile/retaliate/carp/koi/C in spawned_carp) if(!C.stat) var/turf/T = get_turf(C) if(istype(T, /turf/space)) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm index 28a8826362f..7b10c0e828a 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm @@ -53,12 +53,15 @@ /mob/living/simple_animal/hostile/retaliate/carp/koi/New() ..() var/koinum = rand(1, 4) - if(prob(1)) - koinum = 5 icon_state = "koi[koinum]" icon_living = "koi[koinum]" icon_dead = "koi[koinum]-dead" /mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir) - return TRUE \ No newline at end of file + return TRUE + +/mob/living/simple_animal/hostile/retaliate/carp/koi/honk + icon_state = "koi5" + icon_living = "koi5" + icon_dead = "koi5-dead" \ No newline at end of file