package BossFour import Boss import PresetBuffs import Assets import GameTimer constant jumpyBuff = compiletime(createDummyBuffObject("Hyper Aggression", "Jumps towards any attacker. 4 second cooldown.", Icons.bTNAvengingWatcher)) constant JUMP_DIST = 512*512 public class JumpyBuff extends ShieldBuff var lastCast = 0. construct(real dur) super(dur, jumpyBuff, 6500) override function update() super.update() override function defenseModifier() let attacker = GetEventDamageSource() if target.getFlyHeight() <= 1 and attacker.getOwner().isEnemyOf(target.getOwner()) and attacker.getPos().distanceToSq(target.getPos()) < JUMP_DIST and attacker.getPos().distanceToSq(target.getPos()) > 42 and lastCast + 4. < getElapsedGameTime() target.getEntity().setTarget(GetEventDamageSource().getPos3Real(), 8) addEffect(Abilities.roarCaster, target.getPos()).destr() lastCast = getElapsedGameTime() public class BossFour extends Boss construct(vec3 pos, int typId, int bounty, vec2 target) super(pos, typId, bounty, target) new JumpyBuff(55555).apply(actor) override function update() super.update() actor.setXYZReal(pos)