diff --git a/MobArena.jar b/MobArena.jar index 3577c47..c976364 100644 Binary files a/MobArena.jar and b/MobArena.jar differ diff --git a/resources/plugin.yml b/resources/plugin.yml index 4f5980d..8734f7f 100644 --- a/resources/plugin.yml +++ b/resources/plugin.yml @@ -1,6 +1,6 @@ name: MobArena main: com.garbagemule.MobArena.MobArena -version: 0.94.3.23 +version: 0.94.3.24 softdepend: [Spout,Permissions,MultiVerse,XcraftGate,Towny,Heroes,MagicSpells] commands: ma: diff --git a/src/com/garbagemule/MobArena/Arena.java b/src/com/garbagemule/MobArena/Arena.java index a5e1eff..2ae9991 100644 --- a/src/com/garbagemule/MobArena/Arena.java +++ b/src/com/garbagemule/MobArena/Arena.java @@ -76,7 +76,7 @@ public class Arena protected String logging; // Wave/reward/entryfee fields - protected int spawnTaskId, sheepTaskId, waveDelay, waveInterval, specialModulo, spawnMonstersInt, maxIdleTime; + protected int spawnTaskId, sheepTaskId, waveDelay, waveInterval, specialModulo, spawnMonstersInt, maxIdleTime, finalWave; protected MASpawnThread spawnThread; protected Map> everyWaveMap, afterWaveMap; protected Map classMap; @@ -901,6 +901,7 @@ public class Arena waveInterval = config.getInt(arenaPath + "wave-interval", 20) * 20; specialModulo = config.getInt(arenaPath + "special-modulo", 4); maxIdleTime = config.getInt(arenaPath + "max-idle-time", 0) * 20; + finalWave = config.getInt(arenaPath + "final-wave", 0); everyWaveMap = MAUtils.getArenaRewardMap(config, configName, "every"); afterWaveMap = MAUtils.getArenaRewardMap(config, configName, "after"); diff --git a/src/com/garbagemule/MobArena/MASpawnThread.java b/src/com/garbagemule/MobArena/MASpawnThread.java index 64759ea..348b424 100644 --- a/src/com/garbagemule/MobArena/MASpawnThread.java +++ b/src/com/garbagemule/MobArena/MASpawnThread.java @@ -74,6 +74,14 @@ public class MASpawnThread implements Runnable // Detonate creepers if needed detonateCreepers(arena.detCreepers); + // Check if this is the final wave, in which case, end instead of spawn + if (wave > 1 && wave == arena.finalWave) + { + for (Player p : arena.arenaPlayers) + arena.playerDeath(p); + return; + } + // Find the wave to spawn spawnWave(wave);