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
+1
View File
@@ -4,6 +4,7 @@ protect: true
entry-fee: '' entry-fee: ''
clear-wave-before-next: false clear-wave-before-next: false
clear-boss-before-next: false clear-boss-before-next: false
clear-wave-before-boss: false
lightning: true lightning: true
auto-equip-armor: true auto-equip-armor: true
soft-restore: false soft-restore: false
@@ -35,7 +35,7 @@ public class MASpawnThread implements Runnable
private MonsterManager monsterManager; private MonsterManager monsterManager;
private int playerCount, monsterLimit; private int playerCount, monsterLimit;
private boolean waveClear, bossClear; private boolean waveClear, bossClear, preBossClear;
/** /**
* Create a new monster spawner for the input arena. * 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); monsterLimit = arena.getSettings().getInt("monster-limit", 100);
waveClear = arena.getSettings().getBoolean("clear-wave-before-next", false); waveClear = arena.getSettings().getBoolean("clear-wave-before-next", false);
bossClear = arena.getSettings().getBoolean("clear-boss-before-next", false); bossClear = arena.getSettings().getBoolean("clear-boss-before-next", false);
preBossClear = arena.getSettings().getBoolean("clear-wave-before-boss", false);
} }
public void run() { public void run() {
@@ -214,11 +215,16 @@ public class MASpawnThread implements Runnable
return false; return false;
} }
// Check for wave clear // Check for wave and pre boss clear
if (waveClear && !monsterManager.getMonsters().isEmpty()) { if (waveClear && !monsterManager.getMonsters().isEmpty()) {
return false; return false;
} }
// Check for pre boss clear
if (preBossClear && waveManager.getNext().getType() == WaveType.BOSS && !monsterManager.getMonsters().isEmpty()) {
return false;
}
// Check for final wave // Check for final wave
if (!monsterManager.getMonsters().isEmpty() && waveManager.getWaveNumber() == waveManager.getFinalWave()) { if (!monsterManager.getMonsters().isEmpty() && waveManager.getWaveNumber() == waveManager.getFinalWave()) {
return false; return false;