package Reinforcements import GameTimer import Creep import Assets constant ITEM_ID = 'I006' constant ARCHER_ID = 'n00M' constant PRIEST_ID = 'n00N' public class Reinforcement extends UnitEntity construct(vec2 pos, player owne, int id, angle angl) super(createUnit(owne, id, pos, angl)) flashEffect(Abilities.massTeleportTarget, pos) actor.setTimedLife(60) public function onReinforcements() let val = (getElapsedGameTime() / 80. + 1.5).round() let owner = GetManipulatingUnit().getOwner() let toV = min(7, val) for i = 0 to toV-1 let angl = (i* (360./toV)).asAngleDegrees() new Reinforcement(middle.polarOffset(angl, 256), owner, ARCHER_ID, angl) if val >= 5 let toVal = min(7, val -4) for i = 0 to toVal-1 let angl = ( -15 + i* (360./toVal)).asAngleDegrees() new Reinforcement(middle.polarOffset(angl, 256), owner, PRIEST_ID, angl) init EventListener.add(EVENT_PLAYER_UNIT_PICKUP_ITEM) -> if GetManipulatedItem().getTypeId() == ITEM_ID GetManipulatedItem().remove() onReinforcements()