From dc67ed7c3d60ffc407c8eccbbb1b52a7c6f9924e Mon Sep 17 00:00:00 2001
From: Chris Kearney <chris@kearneymail.com>
Date: Sun, 23 Aug 2015 13:48:21 -0700
Subject: [PATCH] new xp system
---
.../creeper/managers/GameManager.java | 1 +
.../npc/BasicNpcLevelStatsModifier.java | 102 ++++++++++++++
.../java/com/comandante/creeper/npc/Npc.java | 22 ++-
.../comandante/creeper/npc/NpcAdapter.java | 4 +
.../comandante/creeper/npc/NpcBuilder.java | 9 +-
.../player/BasicPlayerLevelStatsModifier.java | 6 +
.../creeper/player/ExperienceManager.java | 89 ++++++++++++
.../com/comandante/creeper/player/Player.java | 5 +
.../creeper/player/StatsModifier.java | 2 +
.../creeper/player/StatsModifierFactory.java | 7 +
world/npcs/allah.json | 41 ------
world/npcs/alpinetiger.json | 51 -------
world/npcs/alpineyeti.json | 51 -------
world/npcs/amarok.json | 42 ------
world/npcs/ancientberserker.json | 51 -------
world/npcs/apocalypticdruid.json | 51 -------
world/npcs/banshee.json | 48 -------
world/npcs/basilisk.json | 48 -------
world/npcs/bergorc.json | 43 ------
world/npcs/billcosby.json | 130 ------------------
world/npcs/blackhabrok.json | 51 -------
world/npcs/blackhoodedwizard.json | 51 -------
world/npcs/bloodvulture.json | 51 -------
world/npcs/change_spawn_interval_tick.sh | 6 -
world/npcs/charlesbiggers.json | 46 -------
world/npcs/cliffsatyr.json | 51 -------
world/npcs/deathgriffin.json | 52 -------
world/npcs/demonicelf.json | 51 -------
world/npcs/demonsuccubus.json | 52 -------
world/npcs/drunkentroll.json | 51 -------
world/npcs/dwarfvaettir.json | 51 -------
world/npcs/fieldtroll.json | 51 -------
world/npcs/firechimera.json | 51 -------
world/npcs/forestbysen.json | 44 ------
world/npcs/forestsatyr.json | 51 -------
world/npcs/funneliktomi.json | 51 -------
world/npcs/giantjohul.json | 51 -------
world/npcs/glacierdwarf.json | 51 -------
world/npcs/goblinastronomer.json | 51 -------
world/npcs/goblinnobleman.json | 51 -------
world/npcs/goldenstrix.json | 51 -------
world/npcs/grayekimmu.json | 51 -------
world/npcs/greathellhound.json | 50 -------
world/npcs/highlandwarrior.json | 51 -------
world/npcs/jotunsoldier.json | 51 -------
world/npcs/lightningdruid.json | 51 -------
world/npcs/lonebarbarian.json | 51 -------
world/npcs/mountaingoblin.json | 51 -------
world/npcs/nemeanlion.json | 51 -------
world/npcs/nightmaretroll.json | 51 -------
world/npcs/nomadicsorceror.json | 51 -------
world/npcs/phantomknight.json | 59 --------
world/npcs/phantomorc.json | 51 -------
world/npcs/phantomwizard.json | 51 -------
world/npcs/phoenix.json | 48 -------
world/npcs/razorclawwolf.json | 51 -------
world/npcs/redeyedbear.json | 45 ------
world/npcs/sabretoothboar.json | 51 -------
world/npcs/scaleddeathcrawler.json | 51 -------
world/npcs/scoffin.json | 48 -------
world/npcs/shadowminotaur.json | 51 -------
world/npcs/silverwendigo.json | 51 -------
world/npcs/stealthpanther.json | 51 -------
world/npcs/stonegiant.json | 51 -------
world/npcs/streethustler.json | 43 ------
world/npcs/swampbear.json | 51 -------
world/npcs/swampberserker.json | 43 ------
world/npcs/tatzelwurm.json | 50 -------
world/npcs/thefirstnationalbank.json | 44 ------
world/npcs/thousandeyedspider.json | 51 -------
world/npcs/tigermonoceruses.json | 51 -------
world/npcs/treeberserker.json | 1 +
world/npcs/tribalalchemist.json | 51 -------
world/npcs/tribalranger.json | 51 -------
world/npcs/tunnelcobra.json | 51 -------
world/npcs/vinlandbard.json | 51 -------
world/npcs/warlock.json | 48 -------
77 files changed, 241 insertions(+), 3332 deletions(-)
create mode 100644 src/main/java/com/comandante/creeper/npc/BasicNpcLevelStatsModifier.java
delete mode 100755 world/npcs/allah.json
delete mode 100644 world/npcs/alpinetiger.json
delete mode 100644 world/npcs/alpineyeti.json
delete mode 100644 world/npcs/amarok.json
delete mode 100644 world/npcs/ancientberserker.json
delete mode 100644 world/npcs/apocalypticdruid.json
delete mode 100644 world/npcs/banshee.json
delete mode 100644 world/npcs/basilisk.json
delete mode 100755 world/npcs/bergorc.json
delete mode 100644 world/npcs/billcosby.json
delete mode 100644 world/npcs/blackhabrok.json
delete mode 100755 world/npcs/blackhoodedwizard.json
delete mode 100644 world/npcs/bloodvulture.json
delete mode 100755 world/npcs/change_spawn_interval_tick.sh
delete mode 100755 world/npcs/charlesbiggers.json
delete mode 100644 world/npcs/cliffsatyr.json
delete mode 100755 world/npcs/deathgriffin.json
delete mode 100644 world/npcs/demonicelf.json
delete mode 100755 world/npcs/demonsuccubus.json
delete mode 100644 world/npcs/drunkentroll.json
delete mode 100755 world/npcs/dwarfvaettir.json
delete mode 100644 world/npcs/fieldtroll.json
delete mode 100644 world/npcs/firechimera.json
delete mode 100755 world/npcs/forestbysen.json
delete mode 100644 world/npcs/forestsatyr.json
delete mode 100644 world/npcs/funneliktomi.json
delete mode 100644 world/npcs/giantjohul.json
delete mode 100644 world/npcs/glacierdwarf.json
delete mode 100644 world/npcs/goblinastronomer.json
delete mode 100644 world/npcs/goblinnobleman.json
delete mode 100644 world/npcs/goldenstrix.json
delete mode 100755 world/npcs/grayekimmu.json
delete mode 100644 world/npcs/greathellhound.json
delete mode 100644 world/npcs/highlandwarrior.json
delete mode 100644 world/npcs/jotunsoldier.json
delete mode 100644 world/npcs/lightningdruid.json
delete mode 100644 world/npcs/lonebarbarian.json
delete mode 100644 world/npcs/mountaingoblin.json
delete mode 100644 world/npcs/nemeanlion.json
delete mode 100755 world/npcs/nightmaretroll.json
delete mode 100644 world/npcs/nomadicsorceror.json
delete mode 100755 world/npcs/phantomknight.json
delete mode 100755 world/npcs/phantomorc.json
delete mode 100755 world/npcs/phantomwizard.json
delete mode 100644 world/npcs/phoenix.json
delete mode 100755 world/npcs/razorclawwolf.json
delete mode 100755 world/npcs/redeyedbear.json
delete mode 100644 world/npcs/sabretoothboar.json
delete mode 100755 world/npcs/scaleddeathcrawler.json
delete mode 100644 world/npcs/scoffin.json
delete mode 100644 world/npcs/shadowminotaur.json
delete mode 100644 world/npcs/silverwendigo.json
delete mode 100755 world/npcs/stealthpanther.json
delete mode 100755 world/npcs/stonegiant.json
delete mode 100755 world/npcs/streethustler.json
delete mode 100755 world/npcs/swampbear.json
delete mode 100755 world/npcs/swampberserker.json
delete mode 100644 world/npcs/tatzelwurm.json
delete mode 100755 world/npcs/thefirstnationalbank.json
delete mode 100644 world/npcs/thousandeyedspider.json
delete mode 100755 world/npcs/tigermonoceruses.json
delete mode 100644 world/npcs/tribalalchemist.json
delete mode 100644 world/npcs/tribalranger.json
delete mode 100755 world/npcs/tunnelcobra.json
delete mode 100644 world/npcs/vinlandbard.json
delete mode 100644 world/npcs/warlock.json
diff --git a/src/main/java/com/comandante/creeper/managers/GameManager.java b/src/main/java/com/comandante/creeper/managers/GameManager.java
index 215f741d..a3af9869 100755
--- a/src/main/java/com/comandante/creeper/managers/GameManager.java
+++ b/src/main/java/com/comandante/creeper/managers/GameManager.java
@@ -414,6 +414,7 @@ public class GameManager {
StringBuilder sb = new StringBuilder();
// passing an empty createState because of the "difference calculation"
sb.append(Color.MAGENTA + "-+=[ " + Color.RESET).append(npc.getColorName()).append(Color.MAGENTA + " ]=+- " + Color.RESET).append("\r\n");
+ sb.append("Level: " + npc.getLevel()).append("\r\n");
sb.append(Color.MAGENTA + "Stats--------------------------------" + Color.RESET).append("\r\n");
sb.append(buildLookString(npc.getColorName(), npc.getStats(), new StatsBuilder().createStats())).append("\r\n");
if (npc.getEffects() != null && npc.getEffects().size() > 0) {
diff --git a/src/main/java/com/comandante/creeper/npc/BasicNpcLevelStatsModifier.java b/src/main/java/com/comandante/creeper/npc/BasicNpcLevelStatsModifier.java
new file mode 100644
index 00000000..994866c5
--- /dev/null
+++ b/src/main/java/com/comandante/creeper/npc/BasicNpcLevelStatsModifier.java
@@ -0,0 +1,102 @@
+package com.comandante.creeper.npc;
+
+import com.comandante.creeper.managers.GameManager;
+import com.comandante.creeper.player.Levels;
+import com.comandante.creeper.player.Player;
+import com.comandante.creeper.player.PlayerMetadata;
+import com.comandante.creeper.player.StatsModifier;
+import com.comandante.creeper.stat.Stats;
+import com.comandante.creeper.stat.StatsBuilder;
+
+import static java.lang.Math.pow;
+import static java.lang.StrictMath.sqrt;
+
+
+public class BasicNpcLevelStatsModifier implements StatsModifier {
+
+ private final GameManager gameManager;
+
+ public BasicNpcLevelStatsModifier(GameManager gameManager) {
+ this.gameManager = gameManager;
+ }
+
+ private static double MELE_CONSTANT_MODIFIER = 1.01;
+ private static double WILLPOWER_CONSTANT_MODIFIER = 1.01;
+ private static double AGILE_CONSTANT_MODIFIER = 1.01;
+ private static double AIM_CONSTANT_MODIFIER = 1.01;
+ private static double HEALTH_CONSTANT_MODIFIER = 4;
+ private static double ARMOR_CONSTANT_MODIFIER = 1.01;
+ private static double STRENGTH_CONSTANT_MODIFIER = 1.4;
+ private static double MANA_CONSTANT_MODIFIER = 2;
+
+ public static long getMeleForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, MELE_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ public static long getWillpowerForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, WILLPOWER_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ public static long getAgileForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, AGILE_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ public static long getAimForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, AIM_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ public static long getStrengthForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, STRENGTH_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ public static long getArmorForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, ARMOR_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ public static long getHealthForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, HEALTH_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ public static long getManaForLevel(long baseStat, long level) {
+ double v = (level) * sqrt(pow(level, MANA_CONSTANT_MODIFIER));
+ return (long) Math.floor(v) + baseStat;
+ }
+
+ @Override
+ public Stats modify(Npc npc) {
+ Stats baseStats = npc.getBaseStats();
+ long level = Levels.getLevel(baseStats.getExperience());
+ long newMaxHealth = getHealthForLevel(baseStats.getMaxHealth(), level);
+ long newArmorRating = getArmorForLevel(baseStats.getArmorRating(), level);
+ long newStrengthRating = getStrengthForLevel(baseStats.getStrength(), level);
+ long newMaxMana = getManaForLevel(baseStats.getMaxMana(), level);
+ long newAimRating = getAimForLevel(baseStats.getAim(), level);
+ long newWillpowerRating = getWillpowerForLevel(baseStats.getWillpower(), level);
+ long newAgileRating = getAgileForLevel(baseStats.getAgile(), level);
+ long newMeleRating = getMeleForLevel(baseStats.getMeleSkill(), level);
+ StatsBuilder statsBuilder = new StatsBuilder(baseStats);
+ statsBuilder.setMaxHealth(newMaxHealth);
+ statsBuilder.setArmorRating(newArmorRating);
+ statsBuilder.setStrength(newStrengthRating);
+ statsBuilder.setMaxMana(newMaxMana);
+ statsBuilder.setAim(newAimRating);
+ statsBuilder.setWillpower(newWillpowerRating);
+ statsBuilder.setAgile(newAgileRating);
+ statsBuilder.setMeleSkill(newMeleRating);
+ statsBuilder.setCurrentHealth(baseStats.getCurrentHealth());
+ statsBuilder.setCurrentMana(baseStats.getCurrentMana());
+ return statsBuilder.createStats();
+ }
+
+ @Override
+ public Stats modify(Player player) {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/comandante/creeper/npc/Npc.java b/src/main/java/com/comandante/creeper/npc/Npc.java
index b9399300..41913f25 100644
--- a/src/main/java/com/comandante/creeper/npc/Npc.java
+++ b/src/main/java/com/comandante/creeper/npc/Npc.java
@@ -41,6 +41,7 @@ public class Npc extends CreeperEntity {
private long lastPhraseTimestamp;
private final GameManager gameManager;
private final String name;
+ private final long level;
private final String colorName;
private final Stats stats;
private final String dieMessage;
@@ -60,9 +61,10 @@ public class Npc extends CreeperEntity {
private final Random random = new Random();
- protected Npc(GameManager gameManager, String name, String colorName, long lastPhraseTimestamp, Stats stats, String dieMessage, Set<Area> roamAreas, Set<String> validTriggers, Loot loot, Set<SpawnRule> spawnRules) {
+ protected Npc(GameManager gameManager, String name, long level, String colorName, long lastPhraseTimestamp, Stats stats, String dieMessage, Set<Area> roamAreas, Set<String> validTriggers, Loot loot, Set<SpawnRule> spawnRules) {
this.gameManager = gameManager;
this.name = name;
+ this.level = level;
this.colorName = colorName;
this.lastPhraseTimestamp = lastPhraseTimestamp;
this.stats = stats;
@@ -119,6 +121,10 @@ public class Npc extends CreeperEntity {
}
}
+ public long getLevel() {
+ return level;
+ }
+
private boolean getRandPercent(double percent) {
double rangeMin = 0;
double rangeMax = 100;
@@ -164,6 +170,10 @@ public class Npc extends CreeperEntity {
}
public Stats getStats() {
+ return gameManager.getStatsModifierFactory().getStatsModifier(this);
+ }
+
+ public Stats getBaseStats(){
return stats;
}
@@ -293,19 +303,19 @@ public class Npc extends CreeperEntity {
gameManager.getChannelUtils().write(npcStatsChange.getPlayer().getPlayerId(), message + "\r\n", true);
}
}
- StatsHelper.combineStats(getStats(), npcStatsChange.getStats());
+ StatsHelper.combineStats(getBaseStats(), npcStatsChange.getStats());
long amt = npcStatsChange.getStats().getCurrentHealth();
long damageReportAmt = -npcStatsChange.getStats().getCurrentHealth();
- if (getStats().getCurrentHealth() < 0) {
- damageReportAmt = -amt + getStats().getCurrentHealth();
- getStats().setCurrentHealth(0);
+ if (getBaseStats().getCurrentHealth() < 0) {
+ damageReportAmt = -amt + getBaseStats().getCurrentHealth();
+ getBaseStats().setCurrentHealth(0);
}
long damage = 0;
if (getPlayerDamageMap().containsKey(npcStatsChange.getPlayer().getPlayerId())) {
damage = getPlayerDamageMap().get(npcStatsChange.getPlayer().getPlayerId());
}
addDamageToMap(npcStatsChange.getPlayer().getPlayerId(), damage + damageReportAmt);
- if (getStats().getCurrentHealth() == 0) {
+ if (getBaseStats().getCurrentHealth() == 0) {
killNpc(npcStatsChange.getPlayer());
return;
}
diff --git a/src/main/java/com/comandante/creeper/npc/NpcAdapter.java b/src/main/java/com/comandante/creeper/npc/NpcAdapter.java
index a2727f5a..a19fc810 100644
--- a/src/main/java/com/comandante/creeper/npc/NpcAdapter.java
+++ b/src/main/java/com/comandante/creeper/npc/NpcAdapter.java
@@ -28,6 +28,7 @@ public class NpcAdapter extends TypeAdapter<Npc> {
public void write(JsonWriter jsonWriter, Npc npc) throws IOException {
jsonWriter.beginObject();
jsonWriter.name("name").value(npc.getName());
+ jsonWriter.name("level").value(npc.getLevel());
jsonWriter.name("colorName").value(npc.getColorName());
jsonWriter.name("dieMessage").value(npc.getDieMessage());
@@ -102,6 +103,8 @@ public class NpcAdapter extends TypeAdapter<Npc> {
jsonReader.nextName();
final String npcName = jsonReader.nextString();
jsonReader.nextName();
+ final long level = jsonReader.nextLong();
+ jsonReader.nextName();
final String npcColorName = jsonReader.nextString();
jsonReader.nextName();
final String npcDieMessage = jsonReader.nextString();
@@ -207,6 +210,7 @@ public class NpcAdapter extends TypeAdapter<Npc> {
.setDieMessage(npcDieMessage)
.setLoot(loot)
.setName(npcName)
+ .setLevel(level)
.setRoamAreas(roamAreas)
.setSpawnRules(spawnRules)
.setStats(statsBuilder.createStats())
diff --git a/src/main/java/com/comandante/creeper/npc/NpcBuilder.java b/src/main/java/com/comandante/creeper/npc/NpcBuilder.java
index 642bc548..8d4dff69 100644
--- a/src/main/java/com/comandante/creeper/npc/NpcBuilder.java
+++ b/src/main/java/com/comandante/creeper/npc/NpcBuilder.java
@@ -11,6 +11,7 @@ import java.util.Set;
public class NpcBuilder {
private GameManager gameManager;
private String name;
+ private long level;
private String colorName;
private long lastPhraseTimestamp;
private Stats stats;
@@ -25,6 +26,7 @@ public class NpcBuilder {
public NpcBuilder(Npc npc) {
this.name = npc.getName();
+ this.level = npc.getLevel();
this.colorName = npc.getColorName();
this.lastPhraseTimestamp = npc.getLastPhraseTimestamp();
this.stats = new Stats(npc.getStats());
@@ -46,6 +48,11 @@ public class NpcBuilder {
return this;
}
+ public NpcBuilder setLevel(long level) {
+ this.level = level;
+ return this;
+ }
+
public NpcBuilder setColorName(String colorName) {
this.colorName = colorName;
return this;
@@ -87,6 +94,6 @@ public class NpcBuilder {
}
public Npc createNpc() {
- return new Npc(gameManager, name, colorName, lastPhraseTimestamp, stats, dieMessage, roamAreas, validTriggers, loot, spawnRules);
+ return new Npc(gameManager, name, level, colorName, lastPhraseTimestamp, stats, dieMessage, roamAreas, validTriggers, loot, spawnRules);
}
}
\ No newline at end of file
diff --git a/src/main/java/com/comandante/creeper/player/BasicPlayerLevelStatsModifier.java b/src/main/java/com/comandante/creeper/player/BasicPlayerLevelStatsModifier.java
index bd628769..72642560 100644
--- a/src/main/java/com/comandante/creeper/player/BasicPlayerLevelStatsModifier.java
+++ b/src/main/java/com/comandante/creeper/player/BasicPlayerLevelStatsModifier.java
@@ -1,6 +1,7 @@
package com.comandante.creeper.player;
import com.comandante.creeper.managers.GameManager;
+import com.comandante.creeper.npc.Npc;
import com.comandante.creeper.stat.Stats;
import com.comandante.creeper.stat.StatsBuilder;
@@ -90,4 +91,9 @@ public class BasicPlayerLevelStatsModifier implements StatsModifier {
statsBuilder.setCurrentMana(baseStats.getCurrentMana());
return statsBuilder.createStats();
}
+
+ @Override
+ public Stats modify(Npc npc) {
+ return null;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/comandante/creeper/player/ExperienceManager.java b/src/main/java/com/comandante/creeper/player/ExperienceManager.java
index 632f5c9d..5269af80 100644
--- a/src/main/java/com/comandante/creeper/player/ExperienceManager.java
+++ b/src/main/java/com/comandante/creeper/player/ExperienceManager.java
@@ -1,5 +1,94 @@
package com.comandante.creeper.player;
+import com.comandante.creeper.npc.Npc;
+
public class ExperienceManager {
+ // http://wowwiki.wikia.com/wiki/Formulas:Mob_XP
+
+ enum ExperienceType {
+ RED,
+ ORANGE,
+ YELLOW,
+ GREEN,
+ GRAY;
+ }
+
+ private ExperienceType getExperienceType(Npc npc, Player player) {
+ long npcLevel = npc.getLevel();
+ long playerLevel = player.getLevel();
+ if (npcLevel >= (playerLevel + 5)) {
+ return ExperienceType.RED;
+ } else if ((npcLevel == (playerLevel + 3)) || npcLevel == (playerLevel + 4)) {
+ return ExperienceType.ORANGE;
+ } else if ((npcLevel == (playerLevel + 2)) || (npcLevel == (playerLevel - 2))) {
+ return ExperienceType.YELLOW;
+ } else if ((npcLevel <= (playerLevel - 3)) && npcLevel > getGrayLevel(playerLevel)) {
+ return ExperienceType.GREEN;
+ }
+ return ExperienceType.GRAY;
+ }
+
+ public static long getGrayLevel(long playerLevel) {
+ if (playerLevel >= 1 && playerLevel <= 5) {
+ // All Mobs Give XP.
+ return 0;
+ } else if (playerLevel >= 6 && playerLevel <= 49) {
+ double v = playerLevel - Math.floor(playerLevel / 10) - 5;
+ return (long) v;
+ } else if (playerLevel == 50) {
+ return playerLevel - 10;
+ } else if (playerLevel >= 51 && playerLevel <= 59) {
+ double v = playerLevel - Math.floor(playerLevel / 5) - 1;
+ return (long) v;
+ } else if (playerLevel >= 60 && playerLevel <= 70) {
+ return playerLevel - 9;
+ } else {
+ return 0;
+ }
+ }
+
+ private static long getZeroDifference(long playerLevel) {
+ if (playerLevel >= 1 && playerLevel <= 7){
+ return 5;
+ } else if (playerLevel >= 8 && playerLevel <= 9) {
+ return 6;
+ } else if (playerLevel >= 10 && playerLevel <= 11) {
+ return 7;
+ } else if (playerLevel >= 12 && playerLevel <= 15) {
+ return 8;
+ } else if (playerLevel >= 16 && playerLevel <= 19) {
+ return 9;
+ } else if (playerLevel >= 20 && playerLevel <= 29) {
+ return 11;
+ } else if (playerLevel >= 30 && playerLevel <= 39) {
+ return 12;
+ } else if (playerLevel >= 40 && playerLevel <= 44) {
+ return 13;
+ } else if (playerLevel >= 45 && playerLevel <= 49) {
+ return 14;
+ } else if (playerLevel >= 50 && playerLevel <= 54) {
+ return 15;
+ } else if (playerLevel >= 55 && playerLevel <= 59) {
+ return 16;
+ } else if (playerLevel >= 60 && playerLevel <= 79) {
+ return 17;
+ } else {
+ return 18;
+ }
+
+ }
+
+
+ public static void main(String[] args) {
+ for (int i = 0; i < 70; i++) {
+ System.out.println("Level: " + i + " Gray Level: " + getGrayLevel(i) + " zero-difference:" + getZeroDifference(i) );
+ }
+ }
+
+ //public long getBasicExperienceGained(Npc npc, Player player) {
+ // long level = player.getLevel();
+
+// }
+
}
diff --git a/src/main/java/com/comandante/creeper/player/Player.java b/src/main/java/com/comandante/creeper/player/Player.java
index 38b6960c..c409f3a2 100755
--- a/src/main/java/com/comandante/creeper/player/Player.java
+++ b/src/main/java/com/comandante/creeper/player/Player.java
@@ -728,6 +728,11 @@ public class Player extends CreeperEntity {
}
}
+ public long getLevel() {
+ Stats origStats = gameManager.getStatsModifierFactory().getStatsModifier(this);
+ return Levels.getLevel(origStats.getExperience());
+ }
+
public String getLookString() {
StringBuilder sb = new StringBuilder();
Stats origStats = gameManager.getStatsModifierFactory().getStatsModifier(this);
diff --git a/src/main/java/com/comandante/creeper/player/StatsModifier.java b/src/main/java/com/comandante/creeper/player/StatsModifier.java
index c1b4e968..cfff526d 100644
--- a/src/main/java/com/comandante/creeper/player/StatsModifier.java
+++ b/src/main/java/com/comandante/creeper/player/StatsModifier.java
@@ -1,9 +1,11 @@
package com.comandante.creeper.player;
+import com.comandante.creeper.npc.Npc;
import com.comandante.creeper.stat.Stats;
public interface StatsModifier {
public Stats modify(Player player);
+ public Stats modify(Npc npc);
}
diff --git a/src/main/java/com/comandante/creeper/player/StatsModifierFactory.java b/src/main/java/com/comandante/creeper/player/StatsModifierFactory.java
index 4a321c0e..018824fa 100644
--- a/src/main/java/com/comandante/creeper/player/StatsModifierFactory.java
+++ b/src/main/java/com/comandante/creeper/player/StatsModifierFactory.java
@@ -2,6 +2,8 @@ package com.comandante.creeper.player;
import com.comandante.creeper.managers.GameManager;
+import com.comandante.creeper.npc.BasicNpcLevelStatsModifier;
+import com.comandante.creeper.npc.Npc;
import com.comandante.creeper.stat.Stats;
public class StatsModifierFactory {
@@ -16,4 +18,9 @@ public class StatsModifierFactory {
BasicPlayerLevelStatsModifier basicPlayerLevelStatsModifier = new BasicPlayerLevelStatsModifier(gameManager);
return basicPlayerLevelStatsModifier.modify(player);
}
+
+ public Stats getStatsModifier(Npc npc) {
+ BasicNpcLevelStatsModifier basicNpcLevelStatsModifier = new BasicNpcLevelStatsModifier(gameManager);
+ return basicNpcLevelStatsModifier.modify(npc);
+ }
}
diff --git a/world/npcs/allah.json b/world/npcs/allah.json
deleted file mode 100755
index 2d0ffeb5..00000000
--- a/world/npcs/allah.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "allah",
- "colorName": "\u001B[1m\u001B[35mallah\u001B[0m",
- "dieMessage": "ALLAH U AHKBAR! \u001B[1m\u001B[35mallah\u001B[0m has died and promises to seek vengeance.",
- "loot": {
- "lootGoldMin": 300000,
- "lootGoldMax": 600000,
- "lootItems": []
- },
- "roamAreas": [
- "tisland3_zone",
- "tisland4_zone"
- ],
- "stats": {
- "agile": 400,
- "aim": 400,
- "armorRating": 1440,
- "currentHealth": 300000,
- "currentMana": 300000,
- "experience": 250000,
- "maxHealth": 300000,
- "maxMana": 300000,
- "meleSkill": 2400,
- "numberOfWeaponRolls": 15,
- "strength": 4000,
- "weaponRatingMax": 4000,
- "weaponRatingMin": 2300,
- "willPower": 4000
- },
- "spawnAreas": {
- "tisland10_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "allah"
- ]
-}
diff --git a/world/npcs/alpinetiger.json b/world/npcs/alpinetiger.json
deleted file mode 100644
index 51c30122..00000000
--- a/world/npcs/alpinetiger.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "alpine tiger",
- "colorName": "alpine \u001B[1m\u001B[35mtiger\u001B[0m",
- "dieMessage": "the alpine \u001B[1m\u001B[35mtiger\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 31000000,
- "lootGoldMax": 36000000,
- "lootItems": [76]
- },
- "roamAreas": [
- "bloodridge12_zone",
- "bloodridge13_zone"
- ],
- "stats": {
- "agile": 10000,
- "aim": 12000,
- "armorRating": 41000,
- "currentHealth": 2000000,
- "currentMana": 1200000,
- "experience": 16000000,
- "maxHealth": 2500000,
- "maxMana": 800000,
- "meleSkill": 110000,
- "numberOfWeaponRolls": 20,
- "strength": 110000,
- "weaponRatingMax": 150000,
- "weaponRatingMin": 70000,
- "willPower": 30000
- },
- "spawnAreas": {
- "bloodridge12_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge13_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "alpine tiger",
- "a",
- "t",
- "alpine",
- "tiger"
- ]
-}
diff --git a/world/npcs/alpineyeti.json b/world/npcs/alpineyeti.json
deleted file mode 100644
index aa275c73..00000000
--- a/world/npcs/alpineyeti.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "alpine yeti",
- "colorName": "alpine \u001B[1m\u001B[35myeti\u001B[0m",
- "dieMessage": "alpine yeti \u001B[1m\u001B[35mbiggers\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 35000,
- "lootGoldMax": 50000,
- "lootItems": [55, 56]
- },
- "roamAreas": [
- "bloodridge8_zone",
- "bloodridge9_zone"
- ],
- "stats": {
- "agile": 70,
- "aim": 70,
- "armorRating": 500,
- "currentHealth": 65000,
- "currentMana": 100,
- "experience": 90000,
- "maxHealth": 600,
- "maxMana": 100,
- "meleSkill": 400,
- "numberOfWeaponRolls": 5,
- "strength": 800,
- "weaponRatingMax": 700,
- "weaponRatingMin": 500,
- "willPower": 16
- },
- "spawnAreas": {
- "bloodridge8_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 3
- },
- "bloodridge9_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 2
- }
- },
- "validTriggers": [
- "alpine yeti",
- "a",
- "alpine",
- "y",
- "yeti"
- ]
-}
diff --git a/world/npcs/amarok.json b/world/npcs/amarok.json
deleted file mode 100644
index ee49226c..00000000
--- a/world/npcs/amarok.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "amarok",
- "colorName": "\u001B[1m\u001B[35mamarok\u001B[0m",
- "dieMessage": "the \u001B[1m\u001B[35mamarok\u001B[0m collapses to its death and its spirit vanishes into the shadows.",
- "loot": {
- "lootGoldMin": 500000,
- "lootGoldMax": 800000,
- "lootItems": [57]
- },
- "roamAreas": [
- "bloodridge10_zone",
- "bloodridge11_zone"
- ],
- "stats": {
- "agile": 500,
- "aim": 500,
- "armorRating": 1840,
- "currentHealth": 400000,
- "currentMana": 400000,
- "experience": 400000,
- "maxHealth": 400000,
- "maxMana": 400000,
- "meleSkill": 3000,
- "numberOfWeaponRolls": 15,
- "strength": 6000,
- "weaponRatingMax": 6000,
- "weaponRatingMin": 4300,
- "willPower": 4000
- },
- "spawnAreas": {
- "bloodridge10_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "amarok",
- "a"
- ]
-}
diff --git a/world/npcs/ancientberserker.json b/world/npcs/ancientberserker.json
deleted file mode 100644
index 88ac345f..00000000
--- a/world/npcs/ancientberserker.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "ancient berserker",
- "colorName": "ancient \u001B[1m\u001B[35mberserker\u001B[0m",
- "dieMessage": "the ancient \u001B[1m\u001B[35mberserker\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 42000000,
- "lootGoldMax": 52000000,
- "lootItems": [80]
- },
- "roamAreas": [
- "bloodridge14_zone",
- "bloodridge15_zone"
- ],
- "stats": {
- "agile": 13000,
- "aim": 16000,
- "armorRating": 82000,
- "currentHealth": 4000000,
- "currentMana": 2400000,
- "experience": 24000000,
- "maxHealth": 5000000,
- "maxMana": 1600000,
- "meleSkill": 140000,
- "numberOfWeaponRolls": 20,
- "strength": 160000,
- "weaponRatingMax": 180000,
- "weaponRatingMin": 80000,
- "willPower": 80000
- },
- "spawnAreas": {
- "bloodridge14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "ancient",
- "a",
- "b",
- "berserker",
- "ancient berserker"
- ]
-}
diff --git a/world/npcs/apocalypticdruid.json b/world/npcs/apocalypticdruid.json
deleted file mode 100644
index a3cec740..00000000
--- a/world/npcs/apocalypticdruid.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "apocalyptic druid",
- "colorName": "apocalyptic \u001B[1m\u001B[35mdruid\u001B[0m",
- "dieMessage": "the apocalyptic \u001B[1m\u001B[35mdruid\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 225000000,
- "lootGoldMax": 300000000,
- "lootItems": [85]
- },
- "roamAreas": [
- "tisland8_zone",
- "tisland9_zone"
- ],
- "stats": {
- "agile": 63000,
- "aim": 81000,
- "armorRating": 380000,
- "currentHealth": 15000000,
- "currentMana": 9000000,
- "experience": 120000000,
- "maxHealth": 18000000,
- "maxMana": 7200000,
- "meleSkill": 630000,
- "numberOfWeaponRolls": 50,
- "strength": 1000000,
- "weaponRatingMax": 1050000,
- "weaponRatingMin": 930000,
- "willPower": 400000
- },
- "spawnAreas": {
- "tisland8_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "tisland9_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "apocalyptic druid",
- "a",
- "d",
- "apocalyptic",
- "druid"
- ]
-}
diff --git a/world/npcs/banshee.json b/world/npcs/banshee.json
deleted file mode 100644
index 6df2d74a..00000000
--- a/world/npcs/banshee.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "banshee",
- "colorName": "\u001B[1m\u001B[35mbanshee\u001B[0m",
- "dieMessage": "a \u001B[1m\u001B[35mbanshee\u001B[0m lets out a blood curdling scream as it collapses and dies.",
- "loot": {
- "lootGoldMin": 600000,
- "lootGoldMax": 920000,
- "lootItems": [58]
- },
- "roamAreas": [
- "south2_zone",
- "south3_zone"
- ],
- "stats": {
- "agile": 700,
- "aim": 700,
- "armorRating": 3000,
- "currentHealth": 300000,
- "currentMana": 300000,
- "experience": 250000,
- "maxHealth": 300000,
- "maxMana": 300000,
- "meleSkill": 4000,
- "numberOfWeaponRolls": 15,
- "strength": 5300,
- "weaponRatingMax": 6300,
- "weaponRatingMin": 2300,
- "willPower": 4000
- },
- "spawnAreas": {
- "south2_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 4
- },
- "south3_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "banshee",
- "b"
- ]
-}
diff --git a/world/npcs/basilisk.json b/world/npcs/basilisk.json
deleted file mode 100644
index 1d4d6079..00000000
--- a/world/npcs/basilisk.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "basilisk",
- "colorName": "\u001B[1m\u001B[35mbasilisk\u001B[0m",
- "dieMessage": "the \u001B[1m\u001B[35mbasilisk\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 800000000,
- "lootGoldMax": 1000000000,
- "lootItems": [108]
- },
- "roamAreas": [
- "north14_zone",
- "north15_zone"
- ],
- "stats": {
- "agile": 180000,
- "aim": 178000,
- "armorRating": 750000,
- "currentHealth": 34000000,
- "currentMana": 22000000,
- "experience": 220000000,
- "maxHealth": 34000000,
- "maxMana": 12000000,
- "meleSkill": 1400000,
- "numberOfWeaponRolls": 80,
- "strength": 1350000,
- "weaponRatingMax": 2200000,
- "weaponRatingMin": 1300000,
- "willPower": 1100000
- },
- "spawnAreas": {
- "north14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "north15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "basilisk",
- "b"
- ]
-}
diff --git a/world/npcs/bergorc.json b/world/npcs/bergorc.json
deleted file mode 100755
index a0985005..00000000
--- a/world/npcs/bergorc.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "berg orc",
- "colorName": "berg \u001B[1m\u001B[35morc\u001B[0m",
- "dieMessage": "a berg \u001B[1m\u001B[35morc\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 6,
- "lootGoldMax": 20,
- "lootItems": []
- },
- "roamAreas": [
- "bloodridge1_zone"
- ],
- "stats": {
- "agile": 1,
- "aim": 1,
- "armorRating": 8,
- "currentHealth": 230,
- "currentMana": 100,
- "experience": 250,
- "maxHealth": 230,
- "maxMana": 100,
- "meleSkill": 6,
- "numberOfWeaponRolls": 1,
- "strength": 11,
- "weaponRatingMax": 13,
- "weaponRatingMin": 10,
- "willPower": 1
- },
- "spawnAreas": {
- "bloodridge1_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 12
- }
- },
- "validTriggers": [
- "b",
- "berg orc",
- "orc",
- "o"
- ]
-}
diff --git a/world/npcs/billcosby.json b/world/npcs/billcosby.json
deleted file mode 100644
index e0008131..00000000
--- a/world/npcs/billcosby.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "name": "bill cosby",
- "colorName": "bill \u001B[1m\u001B[35mcosby\u001B[0m",
- "dieMessage": "bill \u001B[1m\u001B[35mcosby\u001B[0m collapses and scatters \u001B[1m\u001B[31mdrugs\u001B[0m all over the ground",
- "loot": {
- "lootGoldMin": 120,
- "lootGoldMax": 180,
- "lootItems": [2, 28, 41, 42, 46, 54]
- },
- "roamAreas": [
- "lobby",
- "newbie_zone",
- "house_zone",
- "fancyhouse_zone",
- "north1_zone",
- "north2_zone",
- "north3_zone",
- "north4_zone",
- "north5_zone",
- "north6_zone",
- "north7_zone",
- "north8_zone",
- "north9_zone",
- "north10_zone",
- "north11_zone",
- "north12_zone",
- "north13_zone",
- "north14_zone",
- "north15_zone",
- "bloodridge1_zone",
- "bloodridge2_zone",
- "bloodridge3_zone",
- "bloodridge4_zone",
- "bloodridge5_zone",
- "bloodridge6_zone",
- "bloodridge7_zone",
- "bloodridge8_zone",
- "bloodridge9_zone",
- "bloodridge10_zone",
- "bloodridge11_zone",
- "bloodridge12_zone",
- "bloodridge13_zone",
- "bloodridge14_zone",
- "bloodridge15_zone",
- "bloodridge11_zone",
- "bloodridge12_zone",
- "bloodridge13_zone",
- "bloodridge14_zone",
- "bloodridge15_zone",
- "western1_zone",
- "western2_zone",
- "western3_zone",
- "western4_zone",
- "western5_zone",
- "western6_zone",
- "western7_zone",
- "western8_zone",
- "western9_zone",
- "western10_zone",
- "toft1_zone",
- "toft2_zone",
- "toft3_zone",
- "toft4_zone",
- "toft5_zone",
- "tisland1_zone",
- "tisland2_zone",
- "tisland3_zone",
- "tisland4_zone",
- "tisland5_zone",
- "tisland6_zone",
- "tisland7_zone",
- "tisland8_zone",
- "tisland9_zone",
- "tisland10_zone",
- "south1_zone",
- "south2_zone",
- "south3_zone",
- "south4_zone",
- "south5_zone",
- "south6_zone",
- "south7_zone",
- "south8_zone",
- "south9_zone",
- "south10_zone",
- "radio_room"
- ],
- "stats": {
- "agile": 14,
- "aim": 14,
- "armorRating": 25,
- "currentHealth": 1200,
- "currentMana": 300,
- "experience": 2600,
- "maxHealth": 1200,
- "maxMana": 100,
- "meleSkill": 19,
- "numberOfWeaponRolls": 1,
- "strength": 70,
- "weaponRatingMax": 60,
- "weaponRatingMin": 35,
- "willPower": 35
- },
- "spawnAreas": {
- "western9_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge10_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "tisland5_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "bill",
- "cosby",
- "b",
- "c",
- "bill cosby"
- ]
-}
diff --git a/world/npcs/blackhabrok.json b/world/npcs/blackhabrok.json
deleted file mode 100644
index c705afa4..00000000
--- a/world/npcs/blackhabrok.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "black habrok",
- "colorName": "black \u001B[1m\u001B[35mhabrok\u001B[0m",
- "dieMessage": "the black \u001B[1m\u001B[35mhabrok\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 11000000,
- "lootGoldMax": 16000000,
- "lootItems": [72]
- },
- "roamAreas": [
- "western3_zone",
- "western4_zone"
- ],
- "stats": {
- "agile": 3000,
- "aim": 4000,
- "armorRating": 23000,
- "currentHealth": 2000000,
- "currentMana": 1200000,
- "experience": 8000000,
- "maxHealth": 1000000,
- "maxMana": 800000,
- "meleSkill": 40000,
- "numberOfWeaponRolls": 15,
- "strength": 40000,
- "weaponRatingMax": 47000,
- "weaponRatingMin": 29000,
- "willPower": 16000
- },
- "spawnAreas": {
- "western3_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "western4_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "black habrok",
- "b",
- "h",
- "black",
- "habrok"
- ]
-}
diff --git a/world/npcs/blackhoodedwizard.json b/world/npcs/blackhoodedwizard.json
deleted file mode 100755
index 7f7239ca..00000000
--- a/world/npcs/blackhoodedwizard.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "black-hooded wizard",
- "colorName": "black-hooded \u001B[1m\u001B[35mwizard\u001B[0m",
- "dieMessage": "a black-hooded \u001B[1m\u001B[35mwizard\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 55,
- "lootGoldMax": 74,
- "lootItems": []
- },
- "roamAreas": [
- "tisland4_zone",
- "tisland5_zone"
- ],
- "stats": {
- "agile": 6,
- "aim": 6,
- "armorRating": 17,
- "currentHealth": 650,
- "currentMana": 100,
- "experience": 1500,
- "maxHealth": 650,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 1,
- "strength": 35,
- "weaponRatingMax": 32,
- "weaponRatingMin": 22,
- "willPower": 7
- },
- "spawnAreas": {
- "tisland4_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "tisland5_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "black-hooded",
- "b",
- "black-hooded wizard",
- "wizard",
- "w"
- ]
-}
diff --git a/world/npcs/bloodvulture.json b/world/npcs/bloodvulture.json
deleted file mode 100644
index 02434f0a..00000000
--- a/world/npcs/bloodvulture.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "blood vulture",
- "colorName": "blood \u001B[1m\u001B[35mvulture\u001B[0m",
- "dieMessage": "the blood \u001B[1m\u001B[35mvulture\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 62000000,
- "lootGoldMax": 72000000,
- "lootItems": [78]
- },
- "roamAreas": [
- "bloodridge14_zone",
- "bloodridge15_zone"
- ],
- "stats": {
- "agile": 20000,
- "aim": 24000,
- "armorRating": 82000,
- "currentHealth": 4000000,
- "currentMana": 2400000,
- "experience": 32000000,
- "maxHealth": 5000000,
- "maxMana": 1600000,
- "meleSkill": 220000,
- "numberOfWeaponRolls": 20,
- "strength": 220000,
- "weaponRatingMax": 300000,
- "weaponRatingMin": 140000,
- "willPower": 60000
- },
- "spawnAreas": {
- "bloodridge14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "blood vulture",
- "b",
- "v",
- "blood",
- "vulture"
- ]
-}
diff --git a/world/npcs/change_spawn_interval_tick.sh b/world/npcs/change_spawn_interval_tick.sh
deleted file mode 100755
index 01e91f81..00000000
--- a/world/npcs/change_spawn_interval_tick.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-for file in $(ls *.json)
-do
- echo "sed 's/^.*spawnIntervalTick.*$/ \"spawnIntervalTicks\": 600,/g' ${file} | tee ${file}"
-done
diff --git a/world/npcs/charlesbiggers.json b/world/npcs/charlesbiggers.json
deleted file mode 100755
index 7a0224f2..00000000
--- a/world/npcs/charlesbiggers.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "charles biggers",
- "colorName": "charles \u001B[1m\u001B[35mbiggers\u001B[0m",
- "dieMessage": "charles biggers \u001B[1m\u001B[35mbiggers\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 15000,
- "lootGoldMax": 20000,
- "lootItems": [40, 41, 47, 48, 49, 50, 51, 52]
- },
- "roamAreas": [
- "tisland3_zone",
- "tisland4_zone"
- ],
- "stats": {
- "agile": 50,
- "aim": 50,
- "armorRating": 300,
- "currentHealth": 40000,
- "currentMana": 100,
- "experience": 50000,
- "maxHealth": 40000,
- "maxMana": 100,
- "meleSkill": 200,
- "numberOfWeaponRolls": 5,
- "strength": 500,
- "weaponRatingMax": 500,
- "weaponRatingMin": 300,
- "willPower": 16
- },
- "spawnAreas": {
- "tisland10_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "charles biggers",
- "b",
- "charles",
- "c",
- "biggers",
- "watchy"
- ]
-}
diff --git a/world/npcs/cliffsatyr.json b/world/npcs/cliffsatyr.json
deleted file mode 100644
index 04ac12df..00000000
--- a/world/npcs/cliffsatyr.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "cliff satyr",
- "colorName": "cliff \u001B[1m\u001B[35msatyr\u001B[0m",
- "dieMessage": "the cliff \u001B[1m\u001B[35msatyr\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 50000000,
- "lootGoldMax": 56000000,
- "lootItems": [79]
- },
- "roamAreas": [
- "bloodridge14_zone",
- "bloodridge15_zone"
- ],
- "stats": {
- "agile": 14000,
- "aim": 18000,
- "armorRating": 94000,
- "currentHealth": 4000000,
- "currentMana": 2400000,
- "experience": 24000000,
- "maxHealth": 5000000,
- "maxMana": 1600000,
- "meleSkill": 140000,
- "numberOfWeaponRolls": 25,
- "strength": 180000,
- "weaponRatingMax": 210000,
- "weaponRatingMin": 80000,
- "willPower": 50000
- },
- "spawnAreas": {
- "bloodridge14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "cliff satyr",
- "c",
- "s",
- "cliff",
- "satyr"
- ]
-}
diff --git a/world/npcs/deathgriffin.json b/world/npcs/deathgriffin.json
deleted file mode 100755
index a02a62a7..00000000
--- a/world/npcs/deathgriffin.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "name": "death griffin",
- "colorName": "death \u001B[1m\u001B[35mgriffin\u001B[0m",
- "dieMessage": "a death \u001B[1m\u001B[35mgriffin\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 60,
- "lootGoldMax": 80,
- "lootItems": []
- },
- "roamAreas": [
- "western8_zone",
- "western9_zone"
- ],
- "stats": {
- "agile": 24,
- "aim": 24,
- "armorRating": 20,
- "currentHealth": 1000,
- "currentMana": 100,
- "experience": 2100,
- "maxHealth": 1000,
- "maxMana": 100,
- "meleSkill": 19,
- "numberOfWeaponRolls": 1,
- "strength": 55,
- "weaponRatingMax": 65,
- "weaponRatingMin": 20,
- "willPower": 30
- },
- "spawnAreas": {
- "western8_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "western9_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "death",
- "d",
- "death griffin",
- "death",
- "griffin",
- "g"
- ]
-}
diff --git a/world/npcs/demonicelf.json b/world/npcs/demonicelf.json
deleted file mode 100644
index 0837576d..00000000
--- a/world/npcs/demonicelf.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "demonic elf",
- "colorName": "demonic \u001B[1m\u001B[35melf\u001B[0m",
- "dieMessage": "the demonic \u001B[1m\u001B[35melf\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 25000000,
- "lootGoldMax": 34000000,
- "lootItems": [75]
- },
- "roamAreas": [
- "bloodridge12_zone",
- "bloodridge13_zone"
- ],
- "stats": {
- "agile": 7000,
- "aim": 9000,
- "armorRating": 47000,
- "currentHealth": 2000000,
- "currentMana": 1200000,
- "experience": 14500000,
- "maxHealth": 2500000,
- "maxMana": 800000,
- "meleSkill": 70000,
- "numberOfWeaponRolls": 20,
- "strength": 110000,
- "weaponRatingMax": 125000,
- "weaponRatingMin": 90000,
- "willPower": 30000
- },
- "spawnAreas": {
- "bloodridge12_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge13_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "demonic elf",
- "d",
- "e",
- "demonic",
- "elf"
- ]
-}
diff --git a/world/npcs/demonsuccubus.json b/world/npcs/demonsuccubus.json
deleted file mode 100755
index 45cce2d5..00000000
--- a/world/npcs/demonsuccubus.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "name": "demon succubus",
- "colorName": "demon \u001B[1m\u001B[35msuccubus\u001B[0m",
- "dieMessage": "a demon \u001B[1m\u001B[35msuccubus\u001B[0m breathes her last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 120,
- "lootGoldMax": 180,
- "lootItems": []
- },
- "roamAreas": [
- "western9_zone",
- "western10_zone"
- ],
- "stats": {
- "agile": 14,
- "aim": 14,
- "armorRating": 25,
- "currentHealth": 1200,
- "currentMana": 300,
- "experience": 2600,
- "maxHealth": 1200,
- "maxMana": 100,
- "meleSkill": 19,
- "numberOfWeaponRolls": 1,
- "strength": 70,
- "weaponRatingMax": 60,
- "weaponRatingMin": 35,
- "willPower": 35
- },
- "spawnAreas": {
- "western9_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "western10_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "demon",
- "d",
- "demon succubus",
- "demon",
- "succubus",
- "s"
- ]
-}
diff --git a/world/npcs/drunkentroll.json b/world/npcs/drunkentroll.json
deleted file mode 100644
index 6f0e4ca3..00000000
--- a/world/npcs/drunkentroll.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "drunken troll",
- "colorName": "drunken \u001B[1m\u001B[35mtroll\u001B[0m",
- "dieMessage": "the drunken \u001B[1m\u001B[35mtroll\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 500000000,
- "lootGoldMax": 700000000,
- "lootItems": [106]
- },
- "roamAreas": [
- "north14_zone",
- "north15_zone"
- ],
- "stats": {
- "agile": 120000,
- "aim": 148000,
- "armorRating": 700000,
- "currentHealth": 30000000,
- "currentMana": 12000000,
- "experience": 220000000,
- "maxHealth": 30000000,
- "maxMana": 9600000,
- "meleSkill": 1200000,
- "numberOfWeaponRolls": 65,
- "strength": 1500000,
- "weaponRatingMax": 1900000,
- "weaponRatingMin": 1500000,
- "willPower": 800000
- },
- "spawnAreas": {
- "north14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "north15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "drunken troll",
- "t",
- "d",
- "drunken",
- "troll"
- ]
-}
diff --git a/world/npcs/dwarfvaettir.json b/world/npcs/dwarfvaettir.json
deleted file mode 100755
index 5712e89c..00000000
--- a/world/npcs/dwarfvaettir.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "dwarf vaettir",
- "colorName": "dwarf \u001B[1m\u001B[35mvaettir\u001B[0m",
- "dieMessage": "a dwarf \u001B[1m\u001B[35mvaettir\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 100,
- "lootGoldMax": 229,
- "lootItems": [36, 38]
- },
- "roamAreas": [
- "north10_zone",
- "north11_zone"
- ],
- "stats": {
- "agile": 5,
- "aim": 32,
- "armorRating": 30,
- "currentHealth": 3500,
- "currentMana": 100,
- "experience": 3200,
- "maxHealth": 3500,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 1,
- "strength": 100,
- "weaponRatingMax": 90,
- "weaponRatingMin": 50,
- "willPower": 9
- },
- "spawnAreas": {
- "north10_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 20
- },
- "north11_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "dwarf",
- "d",
- "dwarf vaettir",
- "vaettir",
- "v"
- ]
-}
diff --git a/world/npcs/fieldtroll.json b/world/npcs/fieldtroll.json
deleted file mode 100644
index d939766f..00000000
--- a/world/npcs/fieldtroll.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "field troll",
- "colorName": "field \u001B[1m\u001B[35mtroll\u001B[0m",
- "dieMessage": "the field \u001B[1m\u001B[35mtroll\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 5700000,
- "lootGoldMax": 8000000,
- "lootItems": [69]
- },
- "roamAreas": [
- "western3_zone",
- "western4_zone"
- ],
- "stats": {
- "agile": 3000,
- "aim": 4000,
- "armorRating": 10000,
- "currentHealth": 1100000,
- "currentMana": 1200000,
- "experience": 5100000,
- "maxHealth": 1000000,
- "maxMana": 800000,
- "meleSkill": 15000,
- "numberOfWeaponRolls": 15,
- "strength": 27000,
- "weaponRatingMax": 30000,
- "weaponRatingMin": 23000,
- "willPower": 12000
- },
- "spawnAreas": {
- "western3_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "western4_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "field troll",
- "f",
- "t",
- "field",
- "troll"
- ]
-}
diff --git a/world/npcs/firechimera.json b/world/npcs/firechimera.json
deleted file mode 100644
index 41807939..00000000
--- a/world/npcs/firechimera.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "fire chimera",
- "colorName": "fire \u001B[1m\u001B[35mchimera\u001B[0m",
- "dieMessage": "a fire \u001B[1m\u001B[35mchimera\u001B[0m lets out a blood curdling scream as it collapses and dies.",
- "loot": {
- "lootGoldMin": 1000000,
- "lootGoldMax": 1750000,
- "lootItems": [61, 62]
- },
- "roamAreas": [
- "tisland6_zone",
- "tisland7_zone"
- ],
- "stats": {
- "agile": 1400,
- "aim": 1400,
- "armorRating": 6000,
- "currentHealth": 600000,
- "currentMana": 600000,
- "experience": 1500000,
- "maxHealth": 550000,
- "maxMana": 500000,
- "meleSkill": 8000,
- "numberOfWeaponRolls": 15,
- "strength": 10100,
- "weaponRatingMax": 12300,
- "weaponRatingMin": 4300,
- "willPower": 8000
- },
- "spawnAreas": {
- "tisland6_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 4
- },
- "tisland7_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "fire chimera",
- "f",
- "c",
- "chimera",
- "fire"
- ]
-}
diff --git a/world/npcs/forestbysen.json b/world/npcs/forestbysen.json
deleted file mode 100755
index 8fe04b40..00000000
--- a/world/npcs/forestbysen.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "forest bysen",
- "colorName": "forest \u001B[1m\u001B[35mbysen\u001B[0m",
- "dieMessage": "a forest \u001B[1m\u001B[35mbysen\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 300,
- "lootGoldMax": 400,
- "lootItems": [39]
- },
- "roamAreas": [
- "south1_zone"
- ],
- "stats": {
- "agile": 35,
- "aim": 32,
- "armorRating": 70,
- "currentHealth": 6500,
- "currentMana": 100,
- "experience": 9200,
- "maxHealth": 6500,
- "maxMana": 100,
- "meleSkill": 30,
- "numberOfWeaponRolls": 1,
- "strength": 170,
- "weaponRatingMax": 180,
- "weaponRatingMin": 150,
- "willPower": 9
- },
- "spawnAreas": {
- "south1_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 18
- }
- },
- "validTriggers": [
- "forest",
- "bysen",
- "forest bysen",
- "b",
- "f"
- ]
-}
diff --git a/world/npcs/forestsatyr.json b/world/npcs/forestsatyr.json
deleted file mode 100644
index 8a5a463c..00000000
--- a/world/npcs/forestsatyr.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "forest satyr",
- "colorName": "forest \u001B[1m\u001B[35msatyr\u001B[0m",
- "dieMessage": "the forest \u001B[1m\u001B[35msatyr\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 700000000,
- "lootGoldMax": 900000000,
- "lootItems": [107]
- },
- "roamAreas": [
- "north14_zone",
- "north15_zone"
- ],
- "stats": {
- "agile": 140000,
- "aim": 128000,
- "armorRating": 600000,
- "currentHealth": 30000000,
- "currentMana": 22000000,
- "experience": 200000000,
- "maxHealth": 30000000,
- "maxMana": 12000000,
- "meleSkill": 1500000,
- "numberOfWeaponRolls": 75,
- "strength": 1250000,
- "weaponRatingMax": 2200000,
- "weaponRatingMin": 1300000,
- "willPower": 1100000
- },
- "spawnAreas": {
- "north14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "north15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "forest satyr",
- "f",
- "s",
- "forest",
- "satyr"
- ]
-}
diff --git a/world/npcs/funneliktomi.json b/world/npcs/funneliktomi.json
deleted file mode 100644
index 339db521..00000000
--- a/world/npcs/funneliktomi.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "funnel iktomi",
- "colorName": "funnel \u001B[1m\u001B[35miktomi\u001B[0m",
- "dieMessage": "the funnel \u001B[1m\u001B[35miktomi\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 200000000,
- "lootGoldMax": 250000000,
- "lootItems": [84]
- },
- "roamAreas": [
- "tisland8_zone",
- "tisland9_zone"
- ],
- "stats": {
- "agile": 50000,
- "aim": 65000,
- "armorRating": 300000,
- "currentHealth": 12000000,
- "currentMana": 73000000,
- "experience": 90000000,
- "maxHealth": 12000000,
- "maxMana": 5200000,
- "meleSkill": 500000,
- "numberOfWeaponRolls": 30,
- "strength": 710000,
- "weaponRatingMax": 850000,
- "weaponRatingMin": 620000,
- "willPower": 300000
- },
- "spawnAreas": {
- "tisland8_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "tisland9_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "funnel iktomi",
- "f",
- "i",
- "funnel",
- "iktomi"
- ]
-}
diff --git a/world/npcs/giantjohul.json b/world/npcs/giantjohul.json
deleted file mode 100644
index 0a8a4c95..00000000
--- a/world/npcs/giantjohul.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "giant johul",
- "colorName": "giant \u001B[1m\u001B[35mjohul\u001B[0m",
- "dieMessage": "the giant \u001B[1m\u001B[35mjohul\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 1100000000,
- "lootGoldMax": 1300000000,
- "lootItems": [115]
- },
- "roamAreas": [
- "bloodridge16_zone",
- "bloodridge17_zone"
- ],
- "stats": {
- "agile": 200000,
- "aim": 198000,
- "armorRating": 900000,
- "currentHealth": 45000000,
- "currentMana": 34000000,
- "experience": 290000000,
- "maxHealth": 45000000,
- "maxMana": 16000000,
- "meleSkill": 2300000,
- "numberOfWeaponRolls": 85,
- "strength": 2250000,
- "weaponRatingMax": 4000000,
- "weaponRatingMin": 2900000,
- "willPower": 2000000
- },
- "spawnAreas": {
- "bloodridge16_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge17_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "giant johul",
- "g",
- "j",
- "giant",
- "johul"
- ]
-}
diff --git a/world/npcs/glacierdwarf.json b/world/npcs/glacierdwarf.json
deleted file mode 100644
index 0e439db3..00000000
--- a/world/npcs/glacierdwarf.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "glacier dwarf",
- "colorName": "glacier \u001B[1m\u001B[35mdwarf\u001B[0m",
- "dieMessage": "the glacier \u001B[1m\u001B[35mdwarf\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 500000000,
- "lootGoldMax": 700000000,
- "lootItems": [110]
- },
- "roamAreas": [
- "bloodridge16_zone",
- "bloodridge17_zone"
- ],
- "stats": {
- "agile": 120000,
- "aim": 148000,
- "armorRating": 700000,
- "currentHealth": 30000000,
- "currentMana": 12000000,
- "experience": 220000000,
- "maxHealth": 30000000,
- "maxMana": 9600000,
- "meleSkill": 1200000,
- "numberOfWeaponRolls": 65,
- "strength": 1500000,
- "weaponRatingMax": 1900000,
- "weaponRatingMin": 1500000,
- "willPower": 800000
- },
- "spawnAreas": {
- "bloodridge16_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge17_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "glacier dwarf",
- "g",
- "d",
- "glacier",
- "dwarf"
- ]
-}
diff --git a/world/npcs/goblinastronomer.json b/world/npcs/goblinastronomer.json
deleted file mode 100644
index b763dee4..00000000
--- a/world/npcs/goblinastronomer.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "goblin astronomer",
- "colorName": "goblin \u001B[1m\u001B[35mastronomer\u001B[0m",
- "dieMessage": "the goblin \u001B[1m\u001B[35mastronomer\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 700000000,
- "lootGoldMax": 900000000,
- "lootItems": [112]
- },
- "roamAreas": [
- "bloodridge16_zone",
- "bloodridge17_zone"
- ],
- "stats": {
- "agile": 140000,
- "aim": 128000,
- "armorRating": 600000,
- "currentHealth": 30000000,
- "currentMana": 22000000,
- "experience": 200000000,
- "maxHealth": 30000000,
- "maxMana": 12000000,
- "meleSkill": 1500000,
- "numberOfWeaponRolls": 75,
- "strength": 1250000,
- "weaponRatingMax": 2200000,
- "weaponRatingMin": 1300000,
- "willPower": 1100000
- },
- "spawnAreas": {
- "bloodridge16_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge17_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "goblin astronomer",
- "g",
- "a",
- "goblin",
- "astronomer"
- ]
-}
diff --git a/world/npcs/goblinnobleman.json b/world/npcs/goblinnobleman.json
deleted file mode 100644
index 3482e2ca..00000000
--- a/world/npcs/goblinnobleman.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "goblin nobleman",
- "colorName": "goblin \u001B[1m\u001B[35mnobleman\u001B[0m",
- "dieMessage": "the goblin \u001B[1m\u001B[35mnobleman\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 1000000000,
- "lootGoldMax": 1200000000,
- "lootItems": [114]
- },
- "roamAreas": [
- "bloodridge16_zone",
- "bloodridge17_zone"
- ],
- "stats": {
- "agile": 190000,
- "aim": 188000,
- "armorRating": 800000,
- "currentHealth": 42000000,
- "currentMana": 32000000,
- "experience": 270000000,
- "maxHealth": 42000000,
- "maxMana": 12000000,
- "meleSkill": 2100000,
- "numberOfWeaponRolls": 85,
- "strength": 1850000,
- "weaponRatingMax": 3200000,
- "weaponRatingMin": 2300000,
- "willPower": 1900000
- },
- "spawnAreas": {
- "bloodridge16_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge17_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "goblin nobleman",
- "g",
- "n",
- "goblin",
- "nobleman"
- ]
-}
diff --git a/world/npcs/goldenstrix.json b/world/npcs/goldenstrix.json
deleted file mode 100644
index 156d808b..00000000
--- a/world/npcs/goldenstrix.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "golden strix",
- "colorName": "golden \u001B[1m\u001B[35mstrix\u001B[0m",
- "dieMessage": "the golden \u001B[1m\u001B[35mstrix\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 7500000,
- "lootGoldMax": 10000000,
- "lootItems": [67, 68]
- },
- "roamAreas": [
- "tisland6_zone",
- "tisland7_zone"
- ],
- "stats": {
- "agile": 3000,
- "aim": 4000,
- "armorRating": 10000,
- "currentHealth": 1800000,
- "currentMana": 1200000,
- "experience": 5100000,
- "maxHealth": 1000000,
- "maxMana": 800000,
- "meleSkill": 15000,
- "numberOfWeaponRolls": 15,
- "strength": 27000,
- "weaponRatingMax": 20000,
- "weaponRatingMin": 13000,
- "willPower": 12000
- },
- "spawnAreas": {
- "tisland6_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "tisland7_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "golden strix",
- "g",
- "s",
- "strix",
- "golden"
- ]
-}
diff --git a/world/npcs/grayekimmu.json b/world/npcs/grayekimmu.json
deleted file mode 100755
index 02dc8039..00000000
--- a/world/npcs/grayekimmu.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "gray ekimmu",
- "colorName": "gray \u001B[1m\u001B[35mekimmu\u001B[0m",
- "dieMessage": "a gray \u001B[1m\u001B[35mekimmu\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 12,
- "lootGoldMax": 24,
- "lootItems": []
- },
- "roamAreas": [
- "north4_zone",
- "north5_zone"
- ],
- "stats": {
- "agile": 4,
- "aim": 4,
- "armorRating": 11,
- "currentHealth": 450,
- "currentMana": 300,
- "experience": 450,
- "maxHealth": 450,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 1,
- "strength": 20,
- "weaponRatingMax": 18,
- "weaponRatingMin": 12,
- "willPower": 4
- },
- "spawnAreas": {
- "north4_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- },
- "north5_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "g",
- "gray ekimmu",
- "gray",
- "ekimmu",
- "e"
- ]
-}
diff --git a/world/npcs/greathellhound.json b/world/npcs/greathellhound.json
deleted file mode 100644
index 1cde9a7c..00000000
--- a/world/npcs/greathellhound.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "name": "great hellhound",
- "colorName": "great \u001B[1m\u001B[35mhellhound\u001B[0m",
- "dieMessage": "a great \u001B[1m\u001B[35mhellhound\u001B[0m screams in agony as it dies.",
- "loot": {
- "lootGoldMin": 300000,
- "lootGoldMax": 600000,
- "lootItems": []
- },
- "roamAreas": [
- "south2_zone",
- "south3_zone"
- ],
- "stats": {
- "agile": 400,
- "aim": 400,
- "armorRating": 1440,
- "currentHealth": 300000,
- "currentMana": 300000,
- "experience": 250000,
- "maxHealth": 300000,
- "maxMana": 300000,
- "meleSkill": 2400,
- "numberOfWeaponRolls": 15,
- "strength": 4000,
- "weaponRatingMax": 4000,
- "weaponRatingMin": 2300,
- "willPower": 4000
- },
- "spawnAreas": {
- "south2_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "south3_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "great hellhound",
- "g",
- "h",
- "hellhound"
- ]
-}
diff --git a/world/npcs/highlandwarrior.json b/world/npcs/highlandwarrior.json
deleted file mode 100644
index 8531baf4..00000000
--- a/world/npcs/highlandwarrior.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "highland warrior",
- "colorName": "highland \u001B[1m\u001B[35mwarrior\u001B[0m",
- "dieMessage": "the highland \u001B[1m\u001B[35mwarrior\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 50000000,
- "lootGoldMax": 68000000,
- "lootItems": [77]
- },
- "roamAreas": [
- "bloodridge14_zone",
- "bloodridge15_zone"
- ],
- "stats": {
- "agile": 14000,
- "aim": 18000,
- "armorRating": 94000,
- "currentHealth": 4000000,
- "currentMana": 2400000,
- "experience": 29000000,
- "maxHealth": 5000000,
- "maxMana": 1600000,
- "meleSkill": 140000,
- "numberOfWeaponRolls": 20,
- "strength": 220000,
- "weaponRatingMax": 250000,
- "weaponRatingMin": 180000,
- "willPower": 60000
- },
- "spawnAreas": {
- "bloodridge14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "highland warrior",
- "h",
- "w",
- "highland",
- "warrior"
- ]
-}
diff --git a/world/npcs/jotunsoldier.json b/world/npcs/jotunsoldier.json
deleted file mode 100644
index 3d8a98ff..00000000
--- a/world/npcs/jotunsoldier.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "jotun soldier",
- "colorName": "jotun \u001B[1m\u001B[35msoldier\u001B[0m",
- "dieMessage": "the jotun \u001B[1m\u001B[35msoldier\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 7500000,
- "lootGoldMax": 10000000,
- "lootItems": [70]
- },
- "roamAreas": [
- "western3_zone",
- "western4_zone"
- ],
- "stats": {
- "agile": 4000,
- "aim": 5000,
- "armorRating": 10000,
- "currentHealth": 1600000,
- "currentMana": 1200000,
- "experience": 6400000,
- "maxHealth": 1000000,
- "maxMana": 800000,
- "meleSkill": 15000,
- "numberOfWeaponRolls": 15,
- "strength": 27000,
- "weaponRatingMax": 26000,
- "weaponRatingMin": 14000,
- "willPower": 12000
- },
- "spawnAreas": {
- "western3_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "western4_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "jotun soldier",
- "j",
- "s",
- "jotun",
- "soldier"
- ]
-}
diff --git a/world/npcs/lightningdruid.json b/world/npcs/lightningdruid.json
deleted file mode 100644
index 79a2496f..00000000
--- a/world/npcs/lightningdruid.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "lightning druid",
- "colorName": "lightning \u001B[1m\u001B[35mdruid\u001B[0m",
- "dieMessage": "the lightning \u001B[1m\u001B[35mdruid\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 800000000,
- "lootGoldMax": 1000000000,
- "lootItems": [113]
- },
- "roamAreas": [
- "bloodridge16_zone",
- "bloodridge17_zone"
- ],
- "stats": {
- "agile": 180000,
- "aim": 178000,
- "armorRating": 750000,
- "currentHealth": 34000000,
- "currentMana": 22000000,
- "experience": 220000000,
- "maxHealth": 34000000,
- "maxMana": 12000000,
- "meleSkill": 1400000,
- "numberOfWeaponRolls": 80,
- "strength": 1350000,
- "weaponRatingMax": 2200000,
- "weaponRatingMin": 1300000,
- "willPower": 1100000
- },
- "spawnAreas": {
- "bloodridge16_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge17_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "lightning",
- "druid",
- "l",
- "d",
- "lightning druid"
- ]
-}
diff --git a/world/npcs/lonebarbarian.json b/world/npcs/lonebarbarian.json
deleted file mode 100644
index 475d14ee..00000000
--- a/world/npcs/lonebarbarian.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "lone barbarian",
- "colorName": "lone \u001B[1m\u001B[35mbarbarian\u001B[0m",
- "dieMessage": "the lone \u001B[1m\u001B[35mbarbarian\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 75000000,
- "lootGoldMax": 100000000,
- "lootItems": [81]
- },
- "roamAreas": [
- "bloodridge14_zone",
- "bloodridge15_zone"
- ],
- "stats": {
- "agile": 21000,
- "aim": 27000,
- "armorRating": 123000,
- "currentHealth": 5000000,
- "currentMana": 3000000,
- "experience": 40000000,
- "maxHealth": 6000000,
- "maxMana": 2400000,
- "meleSkill": 210000,
- "numberOfWeaponRolls": 30,
- "strength": 330000,
- "weaponRatingMax": 375000,
- "weaponRatingMin": 270000,
- "willPower": 100000
- },
- "spawnAreas": {
- "bloodridge14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "lone barbarian",
- "l",
- "b",
- "lone",
- "barbarian"
- ]
-}
diff --git a/world/npcs/mountaingoblin.json b/world/npcs/mountaingoblin.json
deleted file mode 100644
index 700364fd..00000000
--- a/world/npcs/mountaingoblin.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "mountain goblin",
- "colorName": "mountain \u001B[1m\u001B[35mgoblin\u001B[0m",
- "dieMessage": "the mountain \u001B[1m\u001B[35mgoblin\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 1500000,
- "lootGoldMax": 2000000,
- "lootItems": [59, 60]
- },
- "roamAreas": [
- "south3_zone",
- "south4_zone"
- ],
- "stats": {
- "agile": 1000,
- "aim": 1000,
- "armorRating": 3840,
- "currentHealth": 600000,
- "currentMana": 400000,
- "experience": 1100000,
- "maxHealth": 600000,
- "maxMana": 400000,
- "meleSkill": 5000,
- "numberOfWeaponRolls": 15,
- "strength": 9000,
- "weaponRatingMax": 9000,
- "weaponRatingMin": 4300,
- "willPower": 4000
- },
- "spawnAreas": {
- "south3_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "south4_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "mountain goblin",
- "m",
- "g",
- "goblin",
- "mountain"
- ]
-}
diff --git a/world/npcs/nemeanlion.json b/world/npcs/nemeanlion.json
deleted file mode 100644
index 8bce675c..00000000
--- a/world/npcs/nemeanlion.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "nemean lion",
- "colorName": "nemean \u001B[1m\u001B[35mlion\u001B[0m",
- "dieMessage": "the nemean \u001B[1m\u001B[35mlion\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 1500000,
- "lootGoldMax": 2000000,
- "lootItems": [64]
- },
- "roamAreas": [
- "north12_zone",
- "north13_zone"
- ],
- "stats": {
- "agile": 1000,
- "aim": 1000,
- "armorRating": 3840,
- "currentHealth": 600000,
- "currentMana": 400000,
- "experience": 1100000,
- "maxHealth": 600000,
- "maxMana": 400000,
- "meleSkill": 5000,
- "numberOfWeaponRolls": 15,
- "strength": 9000,
- "weaponRatingMax": 9000,
- "weaponRatingMin": 4300,
- "willPower": 4000
- },
- "spawnAreas": {
- "north12_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "north13_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "nemean lion",
- "n",
- "l",
- "nemean",
- "lion"
- ]
-}
diff --git a/world/npcs/nightmaretroll.json b/world/npcs/nightmaretroll.json
deleted file mode 100755
index 43e0ee23..00000000
--- a/world/npcs/nightmaretroll.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "nightmare troll",
- "colorName": "nightmare \u001B[1m\u001B[35mtroll\u001B[0m",
- "dieMessage": "a nightmare \u001B[1m\u001B[35mtroll\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 20,
- "lootGoldMax": 40,
- "lootItems": []
- },
- "roamAreas": [
- "north7_zone",
- "north8_zone"
- ],
- "stats": {
- "agile": 6,
- "aim": 6,
- "armorRating": 18,
- "currentHealth": 550,
- "currentMana": 100,
- "experience": 720,
- "maxHealth": 550,
- "maxMana": 100,
- "meleSkill": 19,
- "numberOfWeaponRolls": 1,
- "strength": 34,
- "weaponRatingMax": 32,
- "weaponRatingMin": 5,
- "willPower": 7
- },
- "spawnAreas": {
- "north7_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "north8_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "nightmare",
- "n",
- "nightmare troll",
- "troll",
- "t"
- ]
-}
diff --git a/world/npcs/nomadicsorceror.json b/world/npcs/nomadicsorceror.json
deleted file mode 100644
index d56803ee..00000000
--- a/world/npcs/nomadicsorceror.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "nomadic sorceror",
- "colorName": "nomadic \u001B[1m\u001B[35msorceror\u001B[0m",
- "dieMessage": "the nomadic \u001B[1m\u001B[35msorceror\u001B[0m chants the incantation of death.",
- "loot": {
- "lootGoldMin": 150000000,
- "lootGoldMax": 200000000,
- "lootItems": [83]
- },
- "roamAreas": [
- "tisland8_zone",
- "tisland9_zone"
- ],
- "stats": {
- "agile": 42000,
- "aim": 54000,
- "armorRating": 256000,
- "currentHealth": 10000000,
- "currentMana": 7000000,
- "experience": 80000000,
- "maxHealth": 12000000,
- "maxMana": 7000000,
- "meleSkill": 420000,
- "numberOfWeaponRolls": 40,
- "strength": 666666,
- "weaponRatingMax": 750000,
- "weaponRatingMin": 540000,
- "willPower": 300000
- },
- "spawnAreas": {
- "tisland8_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "tisland9_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "nomadic sorceror",
- "n",
- "s",
- "nomadic",
- "sorceror"
- ]
-}
diff --git a/world/npcs/phantomknight.json b/world/npcs/phantomknight.json
deleted file mode 100755
index 30ce9541..00000000
--- a/world/npcs/phantomknight.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "name": "phantom knight",
- "colorName": "phantom \u001B[1m\u001B[35mknight\u001B[0m",
- "dieMessage": "a phantom \u001B[1m\u001B[35mknight\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 16,
- "lootGoldMax": 32,
- "lootItems": []
- },
- "roamAreas": [
- "bloodridge7_zone",
- "bloodridge6_zone",
- "bloodridge5_zone"
- ],
- "stats": {
- "agile": 6,
- "aim": 5,
- "armorRating": 14,
- "currentHealth": 500,
- "currentMana": 300,
- "experience": 600,
- "maxHealth": 500,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 1,
- "strength": 28,
- "weaponRatingMax": 22,
- "weaponRatingMin": 12,
- "willPower": 5
- },
- "spawnAreas": {
- "bloodridge5_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "bloodridge6_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- ,
- "bloodridge7_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "p",
- "phantom knight",
- "phantom",
- "knight",
- "k"
- ]
-}
diff --git a/world/npcs/phantomorc.json b/world/npcs/phantomorc.json
deleted file mode 100755
index d9cfc02c..00000000
--- a/world/npcs/phantomorc.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "phantom orc",
- "colorName": "phantom \u001B[1m\u001B[35morc\u001B[0m",
- "dieMessage": "a phantom \u001B[1m\u001B[35morc\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 16,
- "lootGoldMax": 24,
- "lootItems": []
- },
- "roamAreas": [
- "bloodridge4_zone",
- "bloodridge5_zone"
- ],
- "stats": {
- "agile": 6,
- "aim": 5,
- "armorRating": 9,
- "currentHealth": 400,
- "currentMana": 300,
- "experience": 510,
- "maxHealth": 400,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 1,
- "strength": 16,
- "weaponRatingMin": 12,
- "weaponRatingMax": 25,
- "willPower": 5
- },
- "spawnAreas": {
- "bloodridge4_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "bloodridge5_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "p",
- "phantom orc",
- "phantom",
- "orc",
- "o"
- ]
-}
diff --git a/world/npcs/phantomwizard.json b/world/npcs/phantomwizard.json
deleted file mode 100755
index 1cb75fa0..00000000
--- a/world/npcs/phantomwizard.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "phantom wizard",
- "colorName": "phantom \u001B[1m\u001B[35mwizard\u001B[0m",
- "dieMessage": "a phantom \u001B[1m\u001B[35mwizard\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 16,
- "lootGoldMax": 24,
- "lootItems": []
- },
- "roamAreas": [
- "bloodridge4_zone",
- "bloodridge5_zone"
- ],
- "stats": {
- "agile": 6,
- "aim": 5,
- "armorRating": 9,
- "currentHealth": 400,
- "currentMana": 300,
- "experience": 510,
- "maxHealth": 400,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 1,
- "strength": 16,
- "weaponRatingMin": 12,
- "weaponRatingMax": 25,
- "willPower": 5
- },
- "spawnAreas": {
- "bloodridge4_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "bloodridge5_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "p",
- "phantom wizard",
- "phantom",
- "wizard",
- "w"
- ]
-}
diff --git a/world/npcs/phoenix.json b/world/npcs/phoenix.json
deleted file mode 100644
index 31936a0b..00000000
--- a/world/npcs/phoenix.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "phoenix",
- "colorName": "\u001B[1m\u001B[35mphoenix\u001B[0m",
- "dieMessage": "a \u001B[1m\u001B[35mphoenix\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 105000,
- "lootGoldMax": 150000,
- "lootItems": [65]
- },
- "roamAreas": [
- "north12_zone",
- "north13_zone"
- ],
- "stats": {
- "agile": 210,
- "aim": 210,
- "armorRating": 1500,
- "currentHealth": 195000,
- "currentMana": 500,
- "experience": 1270000,
- "maxHealth": 195000,
- "maxMana": 300,
- "meleSkill": 1200,
- "numberOfWeaponRolls": 10,
- "strength": 14400,
- "weaponRatingMax": 41000,
- "weaponRatingMin": 35000,
- "willPower": 50
- },
- "spawnAreas": {
- "north12_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 3
- },
- "north13_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 2
- }
- },
- "validTriggers": [
- "phoenix",
- "p"
- ]
-}
diff --git a/world/npcs/razorclawwolf.json b/world/npcs/razorclawwolf.json
deleted file mode 100755
index 381f98cd..00000000
--- a/world/npcs/razorclawwolf.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "razor-claw wolf",
- "colorName": "razor-claw \u001B[1m\u001B[35mwolf\u001B[0m",
- "dieMessage": "a razor-claw \u001B[1m\u001B[35mwolf\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 20,
- "lootGoldMax": 30,
- "lootItems": []
- },
- "roamAreas": [
- "toft2_zone",
- "toft3_zone"
- ],
- "stats": {
- "agile": 9,
- "aim": 5,
- "armorRating": 8,
- "currentHealth": 500,
- "currentMana": 100,
- "experience": 600,
- "maxHealth": 500,
- "maxMana": 100,
- "meleSkill": 12,
- "numberOfWeaponRolls": 1,
- "strength": 25,
- "weaponRatingMax": 27,
- "weaponRatingMin": 10,
- "willPower": 7
- },
- "spawnAreas": {
- "toft2_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "toft3_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "razor-claw",
- "r",
- "razor-claw wolf",
- "wolf",
- "w"
- ]
-}
diff --git a/world/npcs/redeyedbear.json b/world/npcs/redeyedbear.json
deleted file mode 100755
index 9a15ad24..00000000
--- a/world/npcs/redeyedbear.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "red-eyed bear",
- "colorName": "red-eyed \u001B[1m\u001B[35mbear\u001B[0m",
- "dieMessage": "a red-eyed \u001B[1m\u001B[35mbear\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 6,
- "lootGoldMax": 20,
- "lootItems": []
- },
- "roamAreas": [
- "toft1_zone",
- "toft2_zone"
- ],
- "stats": {
- "agile": 1,
- "aim": 1,
- "armorRating": 8,
- "currentHealth": 230,
- "currentMana": 100,
- "experience": 250,
- "maxHealth": 230,
- "maxMana": 100,
- "meleSkill": 6,
- "numberOfWeaponRolls": 1,
- "strength": 11,
- "weaponRatingMax": 13,
- "weaponRatingMin": 10,
- "willPower": 1
- },
- "spawnAreas": {
- "bloodridge1_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "r",
- "red-eyed bear",
- "red",
- "red-eyed",
- "b"
- ]
-}
diff --git a/world/npcs/sabretoothboar.json b/world/npcs/sabretoothboar.json
deleted file mode 100644
index 7d25df1b..00000000
--- a/world/npcs/sabretoothboar.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "sabretooth boar",
- "colorName": "sabretooth \u001B[1m\u001B[35mboar\u001B[0m",
- "dieMessage": "the sabretooth \u001B[1m\u001B[35mboar\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 25000000,
- "lootGoldMax": 28000000,
- "lootItems": [73]
- },
- "roamAreas": [
- "bloodridge12_zone",
- "bloodridge13_zone"
- ],
- "stats": {
- "agile": 7000,
- "aim": 9000,
- "armorRating": 47000,
- "currentHealth": 2000000,
- "currentMana": 1200000,
- "experience": 12000000,
- "maxHealth": 2500000,
- "maxMana": 800000,
- "meleSkill": 70000,
- "numberOfWeaponRolls": 20,
- "strength": 90000,
- "weaponRatingMax": 105000,
- "weaponRatingMin": 40000,
- "willPower": 30000
- },
- "spawnAreas": {
- "bloodridge12_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge13_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "sabretooth boar",
- "s",
- "b",
- "boar",
- "sabretooth"
- ]
-}
diff --git a/world/npcs/scaleddeathcrawler.json b/world/npcs/scaleddeathcrawler.json
deleted file mode 100755
index 3bf3fb0f..00000000
--- a/world/npcs/scaleddeathcrawler.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "scaled deathcrawler",
- "colorName": "scaled \u001B[1m\u001B[35mdeathcrawler\u001B[0m",
- "dieMessage": "a scaled \u001B[1m\u001B[35mdeathcrawler\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 150,
- "lootGoldMax": 300,
- "lootItems": [37]
- },
- "roamAreas": [
- "north10_zone",
- "north11_zone"
- ],
- "stats": {
- "agile": 750,
- "aim": 32,
- "armorRating": 30,
- "currentHealth": 4000,
- "currentMana": 100,
- "experience": 5600,
- "maxHealth": 4000,
- "maxMana": 100,
- "meleSkill": 57,
- "numberOfWeaponRolls": 1,
- "strength": 1000,
- "weaponRatingMax": 240,
- "weaponRatingMin": 140,
- "willPower": 9
- },
- "spawnAreas": {
- "north10_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 20
- },
- "north11_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "scaled",
- "s",
- "scaled deathcrawler",
- "deathcrawler",
- "d"
- ]
-}
diff --git a/world/npcs/scoffin.json b/world/npcs/scoffin.json
deleted file mode 100644
index 18a44a9c..00000000
--- a/world/npcs/scoffin.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "scoffin",
- "colorName": "\u001B[1m\u001B[35mscoffin\u001B[0m",
- "dieMessage": "the \u001B[1m\u001B[35mscoffin\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 100000000,
- "lootGoldMax": 140000000,
- "lootItems": [82]
- },
- "roamAreas": [
- "tisland8_zone",
- "tisland9_zone"
- ],
- "stats": {
- "agile": 32000,
- "aim": 40000,
- "armorRating": 190000,
- "currentHealth": 7500000,
- "currentMana": 4000000,
- "experience": 55000000,
- "maxHealth": 8500000,
- "maxMana": 3000000,
- "meleSkill": 320000,
- "numberOfWeaponRolls": 30,
- "strength": 330000,
- "weaponRatingMax": 500000,
- "weaponRatingMin": 400000,
- "willPower": 150000
- },
- "spawnAreas": {
- "tisland8_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "tisland9_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "scoffin",
- "s"
- ]
-}
diff --git a/world/npcs/shadowminotaur.json b/world/npcs/shadowminotaur.json
deleted file mode 100644
index 47cfeaa9..00000000
--- a/world/npcs/shadowminotaur.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "shadow minotaur",
- "colorName": "shadow \u001B[1m\u001B[35mminotaur\u001B[0m",
- "dieMessage": "a shadow \u001B[1m\u001B[35mminotaur\u001B[0m lets out a blood curdling scream as it collapses and dies.",
- "loot": {
- "lootGoldMin": 2000000,
- "lootGoldMax": 2500000,
- "lootItems": [63]
- },
- "roamAreas": [
- "tisland6_zone",
- "tisland7_zone"
- ],
- "stats": {
- "agile": 2100,
- "aim": 2100,
- "armorRating": 9000,
- "currentHealth": 900000,
- "currentMana": 900000,
- "experience": 2200000,
- "maxHealth": 900000,
- "maxMana": 900000,
- "meleSkill": 12000,
- "numberOfWeaponRolls": 15,
- "strength": 15800,
- "weaponRatingMax": 18000,
- "weaponRatingMin": 7000,
- "willPower": 12000
- },
- "spawnAreas": {
- "tisland6_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 4
- },
- "tisland7_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "shadow minotaur",
- "shadow",
- "minotaur",
- "s",
- "m"
- ]
-}
diff --git a/world/npcs/silverwendigo.json b/world/npcs/silverwendigo.json
deleted file mode 100644
index f45d239d..00000000
--- a/world/npcs/silverwendigo.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "silver wendigo",
- "colorName": "silver \u001B[1m\u001B[35mwendigo\u001B[0m",
- "dieMessage": "a silver \u001B[1m\u001B[35mwendigo\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 2000000,
- "lootGoldMax": 2500000,
- "lootItems": [66]
- },
- "roamAreas": [
- "north12_zone",
- "north13_zone"
- ],
- "stats": {
- "agile": 140,
- "aim": 140,
- "armorRating": 1000,
- "currentHealth": 300000,
- "currentMana": 200,
- "experience": 1800000,
- "maxHealth": 300000,
- "maxMana": 200,
- "meleSkill": 800,
- "numberOfWeaponRolls": 5,
- "strength": 13000,
- "weaponRatingMax": 70000,
- "weaponRatingMin": 40000,
- "willPower": 32
- },
- "spawnAreas": {
- "north12_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 3
- },
- "north13_zone": {
- "randomChance": 100,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 2
- }
- },
- "validTriggers": [
- "silver wendigo",
- "s",
- "silver",
- "w",
- "wendigo"
- ]
-}
diff --git a/world/npcs/stealthpanther.json b/world/npcs/stealthpanther.json
deleted file mode 100755
index 74188765..00000000
--- a/world/npcs/stealthpanther.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "stealth panther",
- "colorName": "stealth \u001B[1m\u001B[35mpanther\u001B[0m",
- "dieMessage": "a stealth \u001B[1m\u001B[35mpanther\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 16,
- "lootGoldMax": 32,
- "lootItems": []
- },
- "roamAreas": [
- "north5_zone",
- "north6_zone"
- ],
- "stats": {
- "agile": 6,
- "aim": 4,
- "armorRating": 11,
- "currentHealth": 500,
- "currentMana": 300,
- "experience": 510,
- "maxHealth": 500,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 1,
- "strength": 23,
- "weaponRatingMax": 22,
- "weaponRatingMin": 12,
- "willPower": 5
- },
- "spawnAreas": {
- "north5_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- },
- "north6_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "s",
- "stealth panther",
- "panther",
- "stealth",
- "p"
- ]
-}
diff --git a/world/npcs/stonegiant.json b/world/npcs/stonegiant.json
deleted file mode 100755
index 243d557c..00000000
--- a/world/npcs/stonegiant.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "stone giant",
- "colorName": "stone \u001B[1m\u001B[35mgiant\u001B[0m",
- "dieMessage": "a stone \u001B[1m\u001B[35mgiant\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 55,
- "lootGoldMax": 69,
- "lootItems": []
- },
- "roamAreas": [
- "tisland4_zone",
- "tisland5_zone"
- ],
- "stats": {
- "agile": 5,
- "aim": 4,
- "armorRating": 30,
- "currentHealth": 700,
- "currentMana": 100,
- "experience": 1350,
- "maxHealth": 700,
- "maxMana": 100,
- "meleSkill": 8,
- "numberOfWeaponRolls": 2,
- "strength": 50,
- "weaponRatingMax": 35,
- "weaponRatingMin": 25,
- "willPower": 9
- },
- "spawnAreas": {
- "tisland4_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "tisland5_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "stone",
- "s",
- "stone giant",
- "giant",
- "g"
- ]
-}
diff --git a/world/npcs/streethustler.json b/world/npcs/streethustler.json
deleted file mode 100755
index 8838c465..00000000
--- a/world/npcs/streethustler.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "street hustler",
- "colorName": "street \u001B[1m\u001B[35mhustler\u001B[0m",
- "dieMessage": "a street \u001B[1m\u001B[35mdeathcrawler\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 1,
- "lootGoldMax": 3,
- "lootItems": []
- },
- "roamAreas": [
- "newbie_zone"
- ],
- "stats": {
- "agile": 1,
- "aim": 1,
- "armorRating": 5,
- "currentHealth": 150,
- "currentMana": 100,
- "experience": 30,
- "maxHealth": 150,
- "maxMana": 100,
- "meleSkill": 5,
- "numberOfWeaponRolls": 1,
- "strength": 5,
- "weaponRatingMax": 10,
- "weaponRatingMin": 5,
- "willPower": 1
- },
- "spawnAreas": {
- "newbie_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 5
- }
- },
- "validTriggers": [
- "hustler",
- "street hustler",
- "h",
- "s"
- ]
-}
diff --git a/world/npcs/swampbear.json b/world/npcs/swampbear.json
deleted file mode 100755
index c80ac206..00000000
--- a/world/npcs/swampbear.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "swamp bear",
- "colorName": "swamp \u001B[1m\u001B[35mbear\u001B[0m",
- "dieMessage": "a swamp \u001B[1m\u001B[35mbear\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 12,
- "lootGoldMax": 24,
- "lootItems": []
- },
- "roamAreas": [
- "north3_zone",
- "north4_zone"
- ],
- "stats": {
- "agile": 3,
- "aim": 3,
- "armorRating": 8,
- "currentHealth": 300,
- "currentMana": 300,
- "experience": 250,
- "maxHealth": 300,
- "maxMana": 100,
- "meleSkill": 6,
- "numberOfWeaponRolls": 1,
- "strength": 15,
- "weaponRatingMax": 16,
- "weaponRatingMin": 10,
- "willPower": 3
- },
- "spawnAreas": {
- "north3_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- },
- "north4_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "s",
- "swamp bear",
- "swamp",
- "bear",
- "b"
- ]
-}
diff --git a/world/npcs/swampberserker.json b/world/npcs/swampberserker.json
deleted file mode 100755
index bc5e8b04..00000000
--- a/world/npcs/swampberserker.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "swamp berserker",
- "colorName": "swamp \u001B[1m\u001B[35mberserker\u001B[0m",
- "dieMessage": "a swamp \u001B[1m\u001B[35mberserker\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 3,
- "lootGoldMax": 10,
- "lootItems": []
- },
- "roamAreas": [
- "north1_zone"
- ],
- "stats": {
- "agile": 1,
- "aim": 1,
- "armorRating": 8,
- "currentHealth": 230,
- "currentMana": 100,
- "experience": 250,
- "maxHealth": 230,
- "maxMana": 100,
- "meleSkill": 6,
- "numberOfWeaponRolls": 1,
- "strength": 11,
- "weaponRatingMax": 13,
- "weaponRatingMin": 10,
- "willPower": 1
- },
- "spawnAreas": {
- "north2_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 12
- }
- },
- "validTriggers": [
- "t",
- "swamp berserker",
- "berserker",
- "b"
- ]
-}
diff --git a/world/npcs/tatzelwurm.json b/world/npcs/tatzelwurm.json
deleted file mode 100644
index 3951e1be..00000000
--- a/world/npcs/tatzelwurm.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "name": "tatzelwurm",
- "colorName": "\u001B[1m\u001B[35mtatzelwurm\u001B[0m",
- "dieMessage": "the \u001B[1m\u001B[35mtatzelwurm\u001B[0m dies in a pool of blood!",
- "loot": {
- "lootGoldMin": 100000,
- "lootGoldMax": 126000,
- "lootItems": []
- },
- "roamAreas": [
- "bloodridge8_zone",
- "bloodridge9_zone"
- ],
- "stats": {
- "agile": 100,
- "aim": 100,
- "armorRating": 600,
- "currentHealth": 80000,
- "currentMana": 80000,
- "experience": 100000,
- "maxHealth": 80000,
- "maxMana": 80000,
- "meleSkill": 600,
- "numberOfWeaponRolls": 5,
- "strength": 1000,
- "weaponRatingMax": 1000,
- "weaponRatingMin": 700,
- "willPower": 1000
- },
- "spawnAreas": {
- "bloodridge8_zone": {
- "randomChance": 5,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge9_zone": {
- "randomChance": 5,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "tatzelwurm",
- "t",
- "wurm",
- "w"
- ]
-}
diff --git a/world/npcs/thefirstnationalbank.json b/world/npcs/thefirstnationalbank.json
deleted file mode 100755
index bdc059f2..00000000
--- a/world/npcs/thefirstnationalbank.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "first national bank",
- "colorName": "first \u001B[1m\u001B[35mnational bank\u001B[0m",
- "dieMessage": "the bankers cry out in despair! \u001B[1m\u001B[35mnational bank\u001B[0m drowns in its own vomit and \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 30000,
- "lootGoldMax": 60000,
- "lootItems": []
- },
- "roamAreas": [
- "tisland3_zone",
- "tisland4_zone"
- ],
- "stats": {
- "agile": 100,
- "aim": 100,
- "armorRating": 600,
- "currentHealth": 80000,
- "currentMana": 80000,
- "experience": 100000,
- "maxHealth": 80000,
- "maxMana": 80000,
- "meleSkill": 600,
- "numberOfWeaponRolls": 5,
- "strength": 1000,
- "weaponRatingMax": 1000,
- "weaponRatingMin": 700,
- "willPower": 1000
- },
- "spawnAreas": {
- "tisland10_zone": {
- "randomChance": 5,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "national bank",
- "the first national bank",
- "bank",
- "national"
- ]
-}
diff --git a/world/npcs/thousandeyedspider.json b/world/npcs/thousandeyedspider.json
deleted file mode 100644
index b7aaa05e..00000000
--- a/world/npcs/thousandeyedspider.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "thousand-eyed spider",
- "colorName": "thousand-eyed \u001B[1m\u001B[35mspider\u001B[0m",
- "dieMessage": "the thousand-eyed \u001B[1m\u001B[35mspider\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 300000000,
- "lootGoldMax": 400000000,
- "lootItems": [86]
- },
- "roamAreas": [
- "tisland8_zone",
- "tisland9_zone"
- ],
- "stats": {
- "agile": 84000,
- "aim": 108000,
- "armorRating": 500000,
- "currentHealth": 20000000,
- "currentMana": 12000000,
- "experience": 160000000,
- "maxHealth": 24000000,
- "maxMana": 9600000,
- "meleSkill": 840000,
- "numberOfWeaponRolls": 60,
- "strength": 1250000,
- "weaponRatingMax": 1500000,
- "weaponRatingMin": 1000000,
- "willPower": 600000
- },
- "spawnAreas": {
- "tisland8_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "tisland9_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "thousand-eyed spider",
- "t",
- "s",
- "thousand-eyed",
- "spider"
- ]
-}
diff --git a/world/npcs/tigermonoceruses.json b/world/npcs/tigermonoceruses.json
deleted file mode 100755
index 1bb47597..00000000
--- a/world/npcs/tigermonoceruses.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "tiger monocerus",
- "colorName": "tiger \u001B[1m\u001B[35mmonocerus\u001B[0m",
- "dieMessage": "a tiger \u001B[1m\u001B[35mmonocerus\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 20,
- "lootGoldMax": 30,
- "lootItems": []
- },
- "roamAreas": [
- "north8_zone",
- "north9_zone"
- ],
- "stats": {
- "agile": 6,
- "aim": 6,
- "armorRating": 18,
- "currentHealth": 550,
- "currentMana": 100,
- "experience": 800,
- "maxHealth": 550,
- "maxMana": 100,
- "meleSkill": 19,
- "numberOfWeaponRolls": 1,
- "strength": 34,
- "weaponRatingMax": 36,
- "weaponRatingMin": 20,
- "willPower": 7
- },
- "spawnAreas": {
- "north8_zone": {
- "randomChance": 1,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "north9_zone": {
- "randomChance": 1,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "tiger",
- "t",
- "tiger monocerus",
- "monocerus",
- "m"
- ]
-}
diff --git a/world/npcs/treeberserker.json b/world/npcs/treeberserker.json
index fb4ff4f6..dc54f6b4 100755
--- a/world/npcs/treeberserker.json
+++ b/world/npcs/treeberserker.json
@@ -1,5 +1,6 @@
{
"name": "tree berserker",
+ "level": 5,
"colorName": "tree \u001B[1m\u001B[35mberserker\u001B[0m",
"dieMessage": "a tree \u001B[1m\u001B[35mberserker\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
"loot": {
diff --git a/world/npcs/tribalalchemist.json b/world/npcs/tribalalchemist.json
deleted file mode 100644
index 94fa4dd2..00000000
--- a/world/npcs/tribalalchemist.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "tribal alchemist",
- "colorName": "tribal \u001B[1m\u001B[35malchemist\u001B[0m",
- "dieMessage": "the tribal \u001B[1m\u001B[35malchemist\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 1100000000,
- "lootGoldMax": 1300000000,
- "lootItems": [111]
- },
- "roamAreas": [
- "north14_zone",
- "north15_zone"
- ],
- "stats": {
- "agile": 200000,
- "aim": 198000,
- "armorRating": 900000,
- "currentHealth": 45000000,
- "currentMana": 34000000,
- "experience": 290000000,
- "maxHealth": 45000000,
- "maxMana": 16000000,
- "meleSkill": 2300000,
- "numberOfWeaponRolls": 85,
- "strength": 1950000,
- "weaponRatingMax": 3500000,
- "weaponRatingMin": 2200000,
- "willPower": 2000000
- },
- "spawnAreas": {
- "north14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "north15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "tribal alchemist",
- "t",
- "a",
- "tribal",
- "alchemist"
- ]
-}
diff --git a/world/npcs/tribalranger.json b/world/npcs/tribalranger.json
deleted file mode 100644
index cba9a93a..00000000
--- a/world/npcs/tribalranger.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "tribal ranger",
- "colorName": "tribal \u001B[1m\u001B[35mranger\u001B[0m",
- "dieMessage": "the tribal \u001B[1m\u001B[35mranger\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 1000000000,
- "lootGoldMax": 1200000000,
- "lootItems": [109]
- },
- "roamAreas": [
- "north14_zone",
- "north15_zone"
- ],
- "stats": {
- "agile": 190000,
- "aim": 188000,
- "armorRating": 800000,
- "currentHealth": 42000000,
- "currentMana": 32000000,
- "experience": 270000000,
- "maxHealth": 42000000,
- "maxMana": 12000000,
- "meleSkill": 2100000,
- "numberOfWeaponRolls": 85,
- "strength": 1850000,
- "weaponRatingMax": 3200000,
- "weaponRatingMin": 2300000,
- "willPower": 1900000
- },
- "spawnAreas": {
- "north14_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "north15_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "tribal ranger",
- "t",
- "r",
- "tribal",
- "ranger"
- ]
-}
diff --git a/world/npcs/tunnelcobra.json b/world/npcs/tunnelcobra.json
deleted file mode 100755
index 58c25246..00000000
--- a/world/npcs/tunnelcobra.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "tunnel cobra",
- "colorName": "tunnel \u001B[1m\u001B[35mcobra\u001B[0m",
- "dieMessage": "a tunnel \u001B[1m\u001B[35mcobra\u001B[0m breathes his last breath in a pool of \u001B[1m\u001B[31mblood\u001B[0m",
- "loot": {
- "lootGoldMin": 40,
- "lootGoldMax": 54,
- "lootItems": []
- },
- "roamAreas": [
- "tisland3_zone",
- "tisland4_zone"
- ],
- "stats": {
- "agile": 9,
- "aim": 9,
- "armorRating": 20,
- "currentHealth": 300,
- "currentMana": 100,
- "experience": 920,
- "maxHealth": 300,
- "maxMana": 100,
- "meleSkill": 18,
- "numberOfWeaponRolls": 2,
- "strength": 40,
- "weaponRatingMax": 31,
- "weaponRatingMin": 24,
- "willPower": 16
- },
- "spawnAreas": {
- "tisland4_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 6
- },
- "tisland3_zone": {
- "randomChance": 100,
- "maxPerRoom": 3,
- "spawnIntervalTicks": 600,
- "maxInstances": 14
- }
- },
- "validTriggers": [
- "tunnel",
- "t",
- "tunnel cobra",
- "cobra",
- "c"
- ]
-}
diff --git a/world/npcs/vinlandbard.json b/world/npcs/vinlandbard.json
deleted file mode 100644
index 40584fa9..00000000
--- a/world/npcs/vinlandbard.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "vinland bard",
- "colorName": "vinland \u001B[1m\u001B[35mbard\u001B[0m",
- "dieMessage": "the vinland \u001B[1m\u001B[35mbard\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 900000,
- "lootGoldMax": 14000000,
- "lootItems": [71]
- },
- "roamAreas": [
- "western3_zone",
- "western4_zone"
- ],
- "stats": {
- "agile": 3000,
- "aim": 4000,
- "armorRating": 23000,
- "currentHealth": 1800000,
- "currentMana": 1200000,
- "experience": 7000000,
- "maxHealth": 1000000,
- "maxMana": 800000,
- "meleSkill": 15000,
- "numberOfWeaponRolls": 15,
- "strength": 40000,
- "weaponRatingMax": 41000,
- "weaponRatingMin": 23000,
- "willPower": 16000
- },
- "spawnAreas": {
- "western3_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "western4_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "vinland bard",
- "v",
- "b",
- "vinland",
- "bard"
- ]
-}
diff --git a/world/npcs/warlock.json b/world/npcs/warlock.json
deleted file mode 100644
index 211e52bd..00000000
--- a/world/npcs/warlock.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "warlock",
- "colorName": "\u001B[1m\u001B[35mwarlock\u001B[0m",
- "dieMessage": "the \u001B[1m\u001B[35mwarlock\u001B[0m falls to the ground and convulses in death.",
- "loot": {
- "lootGoldMin": 21000000,
- "lootGoldMax": 26000000,
- "lootItems": [74]
- },
- "roamAreas": [
- "bloodridge12_zone",
- "bloodridge13_zone"
- ],
- "stats": {
- "agile": 6000,
- "aim": 8000,
- "armorRating": 41000,
- "currentHealth": 2000000,
- "currentMana": 1200000,
- "experience": 12000000,
- "maxHealth": 2500000,
- "maxMana": 800000,
- "meleSkill": 70000,
- "numberOfWeaponRolls": 20,
- "strength": 80000,
- "weaponRatingMax": 90000,
- "weaponRatingMin": 40000,
- "willPower": 30000
- },
- "spawnAreas": {
- "bloodridge12_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- },
- "bloodridge13_zone": {
- "randomChance": 90,
- "maxPerRoom": 1,
- "spawnIntervalTicks": 600,
- "maxInstances": 1
- }
- },
- "validTriggers": [
- "warlock",
- "w"
- ]
-}
--
GitLab