Files
Yogstation/code/modules/events/carp_migration.dm
2022-08-14 18:28:03 +01:00

49 lines
1.5 KiB
Plaintext

/datum/round_event_control/carp_migration
name = "Carp Migration"
typepath = /datum/round_event/carp_migration
weight = 15
min_players = 2
earliest_start = 10 MINUTES
max_occurrences = 6
max_alert = SEC_LEVEL_DELTA
/datum/round_event_control/carp_migration/New()
. = ..()
if(!HAS_TRAIT(SSstation, STATION_TRAIT_CARP_INFESTATION))
return
weight *= 3
max_occurrences *= 2
earliest_start *= 0.5
/datum/round_event/carp_migration
announceWhen = 3
startWhen = 50
var/hasAnnounced = FALSE
/datum/round_event/carp_migration/setup()
startWhen = rand(40, 60)
/datum/round_event/carp_migration/announce(fake)
priority_announce("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert")
/datum/round_event/carp_migration/start()
var/mob/living/simple_animal/hostile/carp/fish
for(var/obj/effect/landmark/carpspawn/C in GLOB.landmarks_list)
//yogs -- Gondola Day for some goddamn reason. Can't they just let go of Oak?
if(SSevents.holidays && SSevents.holidays["Gondola Day"])
fish = new /mob/living/simple_animal/pet/gondola
return
//yogs end
if(prob(95))
fish = new (C.loc)
else
fish = new /mob/living/simple_animal/hostile/carp/megacarp(C.loc)
fishannounce(fish) //Prefer to announce the megacarps over the regular fishies
fishannounce(fish)
/datum/round_event/carp_migration/proc/fishannounce(atom/fish)
if (!hasAnnounced)
announce_to_ghosts(fish) //Only anounce the first fish
hasAnnounced = TRUE