Adds badmin abuse limits to petsplosions (#492)
This commit is contained in:
committed by
Poojawa
parent
a7f6c44681
commit
032baebb85
@@ -4,14 +4,29 @@
|
||||
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))
|
||||
new F.type(F.loc)
|
||||
if(!ishostile(F) && F.z == ZLEVEL_STATION)
|
||||
new F.type(F.loc)
|
||||
mobs_duped++
|
||||
if(mobs_duped > 400)
|
||||
kill()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user