From c1d66ab81a96d335217654932cdd9074f561b452 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 23 May 2018 00:17:20 -0400 Subject: [PATCH 1/7] KOI --- code/modules/events/event_container.dm | 3 +- code/modules/events/koi_mirgration.dm | 41 ++++++++++++++++++ .../simple_animal/hostile/retaliate/fish.dm | 39 ++++++++++++++++- icons/obj/fish_items.dmi | Bin 15203 -> 34359 bytes paradise.dme | 1 + 5 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 code/modules/events/koi_mirgration.dm diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index ef7b99e1133..96a271db644 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -139,7 +139,8 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Vermin Infestation",/datum/event/infestation, 100, list(ASSIGNMENT_JANITOR = 100)), 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, "Aurora Caelus", /datum/event/aurora_caelus, 15, is_one_shot = TRUE), + new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Koi School", /datum/event/koi_migration, 200,) ) /datum/event_container/moderate diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm new file mode 100644 index 00000000000..52e4a3d37cc --- /dev/null +++ b/code/modules/events/koi_mirgration.dm @@ -0,0 +1,41 @@ +/datum/event/koi_migration + announceWhen = 50 + endWhen = 900 + + var/list/spawned_koi = list() + +/datum/event/koi_migration/setup() + announceWhen = rand(40, 60) + endWhen = rand(600,1200) + +/datum/event/koi_migration/announce() + var/announcement = "" + announcement = "Unknown biological [spawned_koi.len == 1 ? "entity has" : "entities have"] been detected near [station_name()], please stand-by." + event_announcement.Announce(announcement, "Lifesign Alert") + +/datum/event/koi_migration/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) + var/list/spawn_locations = list() + + for(var/obj/effect/landmark/C in landmarks_list) + if(C.name == "carpspawn") + 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/retaliate/carp/koi + spawned_koi.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) + if(!C.stat) + var/turf/T = get_turf(C) + if(istype(T, /turf/space)) + qdel(C) 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 3462e8e18e7..4ac78a86fcb 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm @@ -27,4 +27,41 @@ speak_emote = list("gnashes") faction = list("carp") - flying = 1 \ No newline at end of file + flying = 1 + + +/mob/living/simple_animal/hostile/retaliate/carp/koi + name = "space koi" + desc = "a gentle space faring koi." + icon = 'icons/obj/fish_items.dmi' + icon_state = "koi1" + icon_living = "koi1" + icon_dead = "koi1-dead" + icon_gib = "carp_gib" + + harm_intent_damage = 1 + melee_damage_lower = 2 + melee_damage_upper = 2 + attacktext = "bites" + attack_sound = 'sound/weapons/bite.ogg' + speak_emote = list("blurps") + + 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) + minbodytemp = 0 + maxbodytemp = 1500 + + faction = list("carp") + flying = 1 + +/mob/living/simple_animal/hostile/retaliate/carp/koi/New() + ..() + var/koinum = rand(1,4) + icon_state = "koi[koinum]" + icon_living = "koi[koinum]" + icon_dead = "koi[koinum]-dead" + if(prob(1)) + icon_state = "koi5" + + +/mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir = 0) + return 1 \ No newline at end of file diff --git a/icons/obj/fish_items.dmi b/icons/obj/fish_items.dmi index fd8eea365405dfbc1a2fd3edf12a4df3515637b1..47b62af97f751c7817dc6a33f89ac34a9f3e07bc 100644 GIT binary patch literal 34359 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

%`BtG4ogq=*NHk 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 z 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 diff --git a/paradise.dme b/paradise.dme index 6cf47e457f5..8dea50b6372 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1339,6 +1339,7 @@ #include "code\modules\events\immovable_rod.dm" #include "code\modules\events\infestation.dm" #include "code\modules\events\ion_storm.dm" +#include "code\modules\events\koi_mirgration.dm" #include "code\modules\events\mass_hallucination.dm" #include "code\modules\events\meaty_gore.dm" #include "code\modules\events\meaty_ops.dm" From dd997a0b20e210defc892743e4fee8abe64d5068 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 23 May 2018 01:34:58 -0400 Subject: [PATCH 2/7] some tweaks. --- code/modules/events/koi_mirgration.dm | 7 +++---- .../mob/living/simple_animal/hostile/retaliate/fish.dm | 2 ++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm index 52e4a3d37cc..9fba9f092be 100644 --- a/code/modules/events/koi_mirgration.dm +++ b/code/modules/events/koi_mirgration.dm @@ -9,8 +9,7 @@ endWhen = rand(600,1200) /datum/event/koi_migration/announce() - var/announcement = "" - announcement = "Unknown biological [spawned_koi.len == 1 ? "entity has" : "entities have"] been detected near [station_name()], please stand-by." + var/announcement = "Unknown biological entities have been detected near [station_name()], please stand-by." event_announcement.Announce(announcement, "Lifesign Alert") /datum/event/koi_migration/start() @@ -29,8 +28,8 @@ 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/retaliate/carp/koi - spawned_koi.Add(new carptype(spawn_locations[i])) + var/mob/living/simple_animal/hostile/retaliate/carp/koi/K = new(spawn_locations[i]) + spawned_koi.Add(K) i++ /datum/event/koi_migration/end() 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 4ac78a86fcb..4422c695196 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm @@ -45,6 +45,7 @@ attacktext = "bites" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("blurps") + butcher_results = null 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) minbodytemp = 0 @@ -52,6 +53,7 @@ faction = list("carp") flying = 1 + gold_core_spawnable = CHEM_MOB_SPAWN_FRIENDLY /mob/living/simple_animal/hostile/retaliate/carp/koi/New() ..() From 4e7aa78dcaea817dbfc3bdcb1526389df3f956e2 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 23 May 2018 01:38:32 -0400 Subject: [PATCH 3/7] I can be stupid. --- code/modules/events/koi_mirgration.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm index 9fba9f092be..bb986a0f899 100644 --- a/code/modules/events/koi_mirgration.dm +++ b/code/modules/events/koi_mirgration.dm @@ -9,8 +9,7 @@ endWhen = rand(600,1200) /datum/event/koi_migration/announce() - var/announcement = "Unknown biological entities have been detected near [station_name()], please stand-by." - event_announcement.Announce(announcement, "Lifesign Alert") + event_announcement.Announce("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert") /datum/event/koi_migration/start() spawn_fish(landmarks_list.len) From 5ae7eb3963ce91e0bb0426a419db761c2e239f2d Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 24 May 2018 18:58:29 -0400 Subject: [PATCH 4/7] feedback update --- code/modules/events/event_container.dm | 2 +- .../simple_animal/hostile/retaliate/fish.dm | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 96a271db644..45bf962178b 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, 200,) + new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Koi School", /datum/event/koi_migration, 80,) ) /datum/event_container/moderate 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 4422c695196..28a8826362f 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm @@ -32,18 +32,15 @@ /mob/living/simple_animal/hostile/retaliate/carp/koi name = "space koi" - desc = "a gentle space faring koi." + desc = "A gentle space-faring koi." icon = 'icons/obj/fish_items.dmi' icon_state = "koi1" icon_living = "koi1" icon_dead = "koi1-dead" - icon_gib = "carp_gib" harm_intent_damage = 1 melee_damage_lower = 2 melee_damage_upper = 2 - attacktext = "bites" - attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("blurps") butcher_results = null @@ -51,19 +48,17 @@ minbodytemp = 0 maxbodytemp = 1500 - faction = list("carp") - flying = 1 - gold_core_spawnable = CHEM_MOB_SPAWN_FRIENDLY + gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE /mob/living/simple_animal/hostile/retaliate/carp/koi/New() ..() - var/koinum = rand(1,4) + var/koinum = rand(1, 4) + if(prob(1)) + koinum = 5 icon_state = "koi[koinum]" icon_living = "koi[koinum]" icon_dead = "koi[koinum]-dead" - if(prob(1)) - icon_state = "koi5" -/mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir = 0) - return 1 \ No newline at end of file +/mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir) + return TRUE \ No newline at end of file From edbac20f4adcdab1d8c2ab8c0048ca7bbdccf90a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Mon, 2 Jul 2018 17:03:02 -0400 Subject: [PATCH 5/7] 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 From 9422d3a846ed753482b4f1939f4e58dfa0bc4be8 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 4 Jul 2018 00:12:54 -0400 Subject: [PATCH 6/7] Suggested changes --- code/modules/events/carp_migration.dm | 2 +- code/modules/events/koi_mirgration.dm | 26 +------------------------- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index 34a7743b082..cd9b0c02206 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -47,7 +47,7 @@ i++ /datum/event/carp_migration/end() - for(var/mob/living/simple_animal/hostile/carp/C in spawned_carp) + for(var/mob/living/simple_animal/hostile/C in spawned_carp) if(!C.stat) var/turf/T = get_turf(C) if(istype(T, /turf/space)) diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm index 6372d0ea1cd..868457721b2 100644 --- a/code/modules/events/koi_mirgration.dm +++ b/code/modules/events/koi_mirgration.dm @@ -6,28 +6,4 @@ /datum/event/carp_migration/koi/start() - spawn_fish(landmarks_list.len) - -/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) - if(C.name == "carpspawn") - 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 = pickweight(spawned_mobs) - spawned_carp.Add(new carptype(spawn_locations[i])) - i++ - -/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)) - qdel(C) + spawn_fish(landmarks_list.len) \ No newline at end of file From d3b06b5318d22606432079df621e444c8ab769a1 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 12 Jul 2018 20:00:50 -0400 Subject: [PATCH 7/7] fixed a icon name it is now ded --- icons/obj/fish_items.dmi | Bin 34359 -> 34359 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/fish_items.dmi b/icons/obj/fish_items.dmi index 47b62af97f751c7817dc6a33f89ac34a9f3e07bc..76a9486fee604f8137f5cd307b79c70521c3ddc8 100644 GIT binary patch delta 336 zcmV-W0k8hIi~_fe0+2d3O>5&Y5Qfk8uMq83yCk-=(1R~aO39)93u0o8Wub{xWVI&$ zeh-0lwoRf@VDZI<=Y8kHqmPkrRDTI}9W_2vVSdp8~OKHYeP&H zN?z8+ljf7G8b^#t#(!c^dq0!vKZsOE2xG2D+YpccTQmUmIq9J>m%(cJWofmnzo>fe zwOa8a^xkWg-f$MS;<1F_xH%AlyOzVvLJ7fLOXy6vmep6GWjBZ{yFU>|mpy@tC}Wr+ zj4pea7Ewl|87O~MEu!2=xiu{!UZe@=;M3kGjJK0b0|dvTxQ4+VnAe2}qf1YdtN}C{ i?Z3Ipe{<9SQ9QqG#rAbq{sABsL%~3>lP8hov3aA delta 336 zcmV-W0k8hIi~_fe0+2d3&uZf^5XR5;Q;7DeT@u?_=)spIrR31Qf|yuiS!iMvS*^+2 z?;)_xwn;P!EWX(A`@Z=!*1wT(RDS_G^7EL1vJ#*%YU;dCcav2Z3A-3;Lx>$9hRy6kmh*uNIPjr{v8Ha()oz;83FZM~fa)qAg#q#=LZu{q1WIyK{) zl9$?e(tMIN#t~zZ@t+vf-p{1^4>0R-GA2`m z(PdAjMU+u#2FhPmizv5J?wA%4uhIl`@M-T8#@orJ0fOUET*F`w%8enXCf<