Search in sources :

Example 1 with EntityDetail

use of com.skelril.openboss.EntityDetail in project Skree by Skelril.

the class CatacombsInstance method spawnBossWave.

private void spawnBossWave() {
    Zombie zombie = spawnZombie(entryPoint);
    Boss<Zombie, CatacombsBossDetail> boss = new Boss<>(zombie, new CatacombsBossDetail(this, wave));
    List<Instruction<DamageCondition, Boss<Zombie, CatacombsBossDetail>>> damageProcessor = boss.getDamageProcessor();
    if (Probability.getChance(2)) {
        damageProcessor.add(new ThorAttack());
    }
    if (Probability.getChance(2)) {
        damageProcessor.add(new SoulReaper());
    }
    List<Instruction<DamagedCondition, Boss<Zombie, CatacombsBossDetail>>> damagedProcessor = boss.getDamagedProcessor();
    if (Probability.getChance(4)) {
        damagedProcessor.add(new BlipDefense());
    }
    if (Probability.getChance(3)) {
        damagedProcessor.add(new ExplosiveArrowBarrage() {

            @Override
            public boolean activate(EntityDetail detail) {
                return Probability.getChance(12);
            }
        });
    }
    if (Probability.getChance(2)) {
        damagedProcessor.add(new DeathMark());
    }
    if (Probability.getChance(2)) {
        damagedProcessor.add(new CatacombsDamageNearby());
    }
    if (Probability.getChance(2)) {
        damagedProcessor.add(new UndeadMinionRetaliation(Probability.getRangedRandom(23, 36)));
    }
    bossManager.bind(boss);
}
Also used : Zombie(org.spongepowered.api.entity.living.monster.Zombie) CatacombsHealthInstruction(com.skelril.skree.content.zone.group.catacombs.instruction.CatacombsHealthInstruction) Instruction(com.skelril.openboss.Instruction) Boss(com.skelril.openboss.Boss) EntityDetail(com.skelril.openboss.EntityDetail)

Aggregations

Boss (com.skelril.openboss.Boss)1 EntityDetail (com.skelril.openboss.EntityDetail)1 Instruction (com.skelril.openboss.Instruction)1 CatacombsHealthInstruction (com.skelril.skree.content.zone.group.catacombs.instruction.CatacombsHealthInstruction)1 Zombie (org.spongepowered.api.entity.living.monster.Zombie)1