Skip to content

Commit

Permalink
Add clear-wave-before-boss option.
Browse files Browse the repository at this point in the history
  • Loading branch information
garbagemule committed Feb 16, 2013
1 parent 7e1b2c2 commit 9cca20a
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
1 change: 1 addition & 0 deletions resources/res/settings.yml
Expand Up @@ -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
Expand Down
10 changes: 8 additions & 2 deletions src/com/garbagemule/MobArena/MASpawnThread.java
Expand Up @@ -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.
Expand Down Expand Up @@ -64,6 +64,7 @@ public void reset() {
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() {
Expand Down Expand Up @@ -214,10 +215,15 @@ private boolean isWaveClear() {
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()) {
Expand Down

0 comments on commit 9cca20a

Please sign in to comment.