From ef3b1b42cc5cb821ddcbb58c1843b916a24eb006 Mon Sep 17 00:00:00 2001 From: Andreas Troelsen Date: Tue, 26 Feb 2013 20:12:58 +0100 Subject: [PATCH] Add per-arena option: display-waves-as-level If true, this option will cause wave numbers to be displayed as the players' level to aid in wave tracking. It does NOT replace the announcements, which can still be disabled by putting blank values in the announcements-file. --- resources/res/settings.yml | 1 + src/com/garbagemule/MobArena/MASpawnThread.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/resources/res/settings.yml b/resources/res/settings.yml index bda2174..8738fe5 100644 --- a/resources/res/settings.yml +++ b/resources/res/settings.yml @@ -34,3 +34,4 @@ player-time-in-arena: world auto-ignite-tnt: false auto-start-timer: 0 use-class-chests: false +display-waves-as-level: false diff --git a/src/com/garbagemule/MobArena/MASpawnThread.java b/src/com/garbagemule/MobArena/MASpawnThread.java index 116f4d7..f7516aa 100644 --- a/src/com/garbagemule/MobArena/MASpawnThread.java +++ b/src/com/garbagemule/MobArena/MASpawnThread.java @@ -35,7 +35,7 @@ public class MASpawnThread implements Runnable private MonsterManager monsterManager; private int playerCount, monsterLimit; - private boolean waveClear, bossClear, preBossClear; + private boolean waveClear, bossClear, preBossClear, wavesAsLevel; /** * Create a new monster spawner for the input arena. @@ -65,6 +65,7 @@ public class MASpawnThread implements Runnable 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); + wavesAsLevel = arena.getSettings().getBoolean("display-waves-as-level", false); } public void run() { @@ -126,6 +127,14 @@ public class MASpawnThread implements Runnable Wave w = waveManager.next(); w.announce(arena, wave); + + // Set the players' level to the wave number + if (wavesAsLevel) { + for (Player p : arena.getPlayersInArena()) { + p.setLevel(wave); + p.setExp(0.0f); + } + } if (w.getType() == WaveType.UPGRADE) { handleUpgradeWave(w);