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);
}
Aggregations