mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
49 lines
1.5 KiB
Plaintext
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
|