Add clear-wave-before-boss option.

This commit is contained in:
Andreas Troelsen 2013-02-16 15:05:21 +01:00
parent 7e1b2c2b9f
commit 9cca20aa92
2 changed files with 9 additions and 2 deletions

View File

@ -4,6 +4,7 @@ protect: true
entry-fee: ''
clear-wave-before-next: false
clear-boss-before-next: false
clear-wave-before-boss: false
lightning: true
auto-equip-armor: true
soft-restore: false

View File

@ -35,7 +35,7 @@ public class MASpawnThread implements Runnable
private MonsterManager monsterManager;
private int playerCount, monsterLimit;
private boolean waveClear, bossClear;
private boolean waveClear, bossClear, preBossClear;
/**
* Create a new monster spawner for the input arena.
@ -64,6 +64,7 @@ public class MASpawnThread implements Runnable
monsterLimit = arena.getSettings().getInt("monster-limit", 100);
waveClear = arena.getSettings().getBoolean("clear-wave-before-next", false);
bossClear = arena.getSettings().getBoolean("clear-boss-before-next", false);
preBossClear = arena.getSettings().getBoolean("clear-wave-before-boss", false);
}
public void run() {
@ -214,10 +215,15 @@ public class MASpawnThread implements Runnable
return false;
}
// Check for wave clear
// Check for wave and pre boss clear
if (waveClear && !monsterManager.getMonsters().isEmpty()) {
return false;
}
// Check for pre boss clear
if (preBossClear && waveManager.getNext().getType() == WaveType.BOSS && !monsterManager.getMonsters().isEmpty()) {
return false;
}
// Check for final wave
if (!monsterManager.getMonsters().isEmpty() && waveManager.getWaveNumber() == waveManager.getFinalWave()) {