Files
Bubberstation/code/modules/events/wizard/petsplosion.dm
T
Incoming fbe51b72b7 Adds badmin abuse limits to petsplosions
Event won't run if initial pet population on station is greater than 100 pets.

Event won't continue after creating 400 pets.

Pets off station won't be affected by the petsplosion.
2017-04-18 19:12:32 -04:00

33 lines
1.1 KiB
Plaintext

/datum/round_event_control/wizard/petsplosion //the horror
name = "Petsplosion"
weight = 2
typepath = /datum/round_event/wizard/petsplosion
max_occurrences = 1 //Exponential growth is nothing to sneeze at!
earliest_start = 0
var/mobs_to_dupe = 0
/datum/round_event_control/wizard/petsplosion/preRunEvent()
for(var/mob/living/simple_animal/F in GLOB.living_mob_list)
if(!ishostile(F) && F.z == ZLEVEL_STATION)
mobs_to_dupe++
if(mobs_to_dupe > 100 || !mobs_to_dupe)
return EVENT_CANT_RUN
..()
/datum/round_event/wizard/petsplosion
endWhen = 61 //1 minute (+1 tick for endWhen not to interfere with tick)
var/countdown = 0
var/mobs_duped = 0
/datum/round_event/wizard/petsplosion/tick()
if(activeFor >= 30 * countdown) // 0 seconds : 2 animals | 30 seconds : 4 animals | 1 minute : 8 animals
countdown += 1
for(var/mob/living/simple_animal/F in GLOB.living_mob_list) //If you cull the heard before the next replication, things will be easier for you
if(!ishostile(F) && F.z == ZLEVEL_STATION)
new F.type(F.loc)
mobs_duped++
if(mobs_duped > 400)
kill()