From 3aa455a757aa082423af65fe2a08a73af2b3e563 Mon Sep 17 00:00:00 2001 From: P0nk Date: Thu, 9 Sep 2021 22:08:48 +0200 Subject: [PATCH] Rename and clean up MapleMonsterStats --- .../java/server/life/ChangeableStats.java | 6 +-- src/main/java/server/life/LifeFactory.java | 16 +++---- src/main/java/server/life/Monster.java | 8 ++-- ...pleMonsterStats.java => MonsterStats.java} | 44 +++++++++---------- .../java/tools/mapletools/ArrowFetcher.java | 8 ++-- .../java/tools/mapletools/MesoFetcher.java | 8 ++-- .../tools/mapletools/MonsterStatFetcher.java | 10 ++--- .../mapletools/SkillbookChanceFetcher.java | 4 +- 8 files changed, 52 insertions(+), 52 deletions(-) rename src/main/java/server/life/{MapleMonsterStats.java => MonsterStats.java} (97%) diff --git a/src/main/java/server/life/ChangeableStats.java b/src/main/java/server/life/ChangeableStats.java index 876cc7b553..1ae4312d7c 100644 --- a/src/main/java/server/life/ChangeableStats.java +++ b/src/main/java/server/life/ChangeableStats.java @@ -23,7 +23,7 @@ public class ChangeableStats extends OverrideMonsterStats { public int watk, matk, wdef, mdef, level; - public ChangeableStats(MapleMonsterStats stats, OverrideMonsterStats ostats) { + public ChangeableStats(MonsterStats stats, OverrideMonsterStats ostats) { hp = ostats.getHp(); exp = ostats.getExp(); mp = ostats.getMp(); @@ -34,7 +34,7 @@ public class ChangeableStats extends OverrideMonsterStats { level = stats.getLevel(); } - public ChangeableStats(MapleMonsterStats stats, int newLevel, boolean pqMob) { // here we go i think + public ChangeableStats(MonsterStats stats, int newLevel, boolean pqMob) { // here we go i think final double mod = (double) newLevel / (double) stats.getLevel(); final double hpRatio = (double) stats.getHp() / (double) stats.getExp(); final double pqMod = (pqMob ? 1.5 : 1.0); // god damn @@ -48,7 +48,7 @@ public class ChangeableStats extends OverrideMonsterStats { level = newLevel; } - public ChangeableStats(MapleMonsterStats stats, float statModifier, boolean pqMob) { + public ChangeableStats(MonsterStats stats, float statModifier, boolean pqMob) { this(stats, (int)(statModifier * stats.getLevel()), pqMob); } } diff --git a/src/main/java/server/life/LifeFactory.java b/src/main/java/server/life/LifeFactory.java index 274b62da9a..0fb44abbb9 100644 --- a/src/main/java/server/life/LifeFactory.java +++ b/src/main/java/server/life/LifeFactory.java @@ -39,7 +39,7 @@ public class LifeFactory { private final static DataProvider stringDataWZ = DataProviderFactory.getDataProvider(WZFiles.STRING); private static final Data mobStringData = stringDataWZ.getData("Mob.img"); private static final Data npcStringData = stringDataWZ.getData("Npc.img"); - private static final Map monsterStats = new HashMap<>(); + private static final Map monsterStats = new HashMap<>(); private static final Set hpbarBosses = getHpBarBosses(); private static Set getHpBarBosses() { @@ -89,7 +89,7 @@ public class LifeFactory { } } - private static Pair> getMonsterStats(int mid) { + private static Pair> getMonsterStats(int mid) { Data monsterData = data.getData(StringUtil.getLeftPaddedStr(mid + ".img", '0', 11)); if (monsterData == null) { return null; @@ -97,11 +97,11 @@ public class LifeFactory { Data monsterInfoData = monsterData.getChildByPath("info"); List attackInfos = new LinkedList<>(); - MapleMonsterStats stats = new MapleMonsterStats(); + MonsterStats stats = new MonsterStats(); int linkMid = DataTool.getIntConvert("link", monsterInfoData, 0); if (linkMid != 0) { - Pair> linkStats = getMonsterStats(linkMid); + Pair> linkStats = getMonsterStats(linkMid); if (linkStats == null) { return null; } @@ -239,9 +239,9 @@ public class LifeFactory { public static Monster getMonster(int mid) { try { - MapleMonsterStats stats = monsterStats.get(mid); + MonsterStats stats = monsterStats.get(mid); if (stats == null) { - Pair> mobStats = getMonsterStats(mid); + Pair> mobStats = getMonsterStats(mid); stats = mobStats.getLeft(); setMonsterAttackInfo(mid, mobStats.getRight()); @@ -259,7 +259,7 @@ public class LifeFactory { public static int getMonsterLevel(int mid) { try { - MapleMonsterStats stats = monsterStats.get(mid); + MonsterStats stats = monsterStats.get(mid); if (stats == null) { Data monsterData = data.getData(StringUtil.getLeftPaddedStr(mid + ".img", '0', 11)); if (monsterData == null) { @@ -278,7 +278,7 @@ public class LifeFactory { return -1; } - private static void decodeElementalString(MapleMonsterStats stats, String elemAttr) { + private static void decodeElementalString(MonsterStats stats, String elemAttr) { for (int i = 0; i < elemAttr.length(); i += 2) { stats.setEffectiveness(Element.getFromChar(elemAttr.charAt(i)), ElementalEffectiveness.getByNumber(Integer.parseInt(String.valueOf(elemAttr.charAt(i + 1))))); } diff --git a/src/main/java/server/life/Monster.java b/src/main/java/server/life/Monster.java index 90b289fba2..773890e45b 100644 --- a/src/main/java/server/life/Monster.java +++ b/src/main/java/server/life/Monster.java @@ -67,7 +67,7 @@ import java.util.concurrent.atomic.AtomicLong; public class Monster extends AbstractLoadedLife { private ChangeableStats ostats = null; //unused, v83 WZs offers no support for changeable stats. - private MapleMonsterStats stats; + private MonsterStats stats; private final AtomicInteger hp = new AtomicInteger(1); private final AtomicLong maxHpPlusHeal = new AtomicLong(1); private int mp; @@ -100,7 +100,7 @@ public class Monster extends AbstractLoadedLife { private MonitoredReentrantLock animationLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.MOB_ANI); private final MonitoredReentrantLock aggroUpdateLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.MOB_AGGRO); - public Monster(int id, MapleMonsterStats stats) { + public Monster(int id, MonsterStats stats) { super(id); initWithStats(stats); } @@ -118,7 +118,7 @@ public class Monster extends AbstractLoadedLife { externalLock.unlock(); } - private void initWithStats(MapleMonsterStats baseStats) { + private void initWithStats(MonsterStats baseStats) { setStance(5); this.stats = baseStats.copy(); hp.set(stats.getHp()); @@ -277,7 +277,7 @@ public class Monster extends AbstractLoadedLife { this.VenomMultiplier = multiplier; } - public MapleMonsterStats getStats() { + public MonsterStats getStats() { return stats; } diff --git a/src/main/java/server/life/MapleMonsterStats.java b/src/main/java/server/life/MonsterStats.java similarity index 97% rename from src/main/java/server/life/MapleMonsterStats.java rename to src/main/java/server/life/MonsterStats.java index 5f58b70a1c..8a7cecddbd 100644 --- a/src/main/java/server/life/MapleMonsterStats.java +++ b/src/main/java/server/life/MonsterStats.java @@ -32,7 +32,7 @@ import java.util.*; /** * @author Frz */ -public class MapleMonsterStats { +public class MonsterStats { public boolean changeable; public int exp, hp, mp, level, PADamage, PDDamage, MADamage, MDDamage, dropPeriod, cp, buffToGive = -1, removeAfter; public boolean boss, undead, ffaLoot, isExplosiveReward, firstAttack, removeOnMiss; @@ -56,7 +56,7 @@ public class MapleMonsterStats { public boolean isChangeable() { return changeable; } - + public int getExp() { return exp; } @@ -194,7 +194,7 @@ public class MapleMonsterStats { for (int i = this.skills.size(); i < skills.size(); i++) { this.skills.add(null); } - + for (int i = 0; i < skills.size(); i++) { this.skills.set(i, skills.get(i)); } @@ -279,7 +279,7 @@ public class MapleMonsterStats { public void setSelfDestruction(selfDestruction sd) { this.selfDestruction = sd; } - + public void setExplosiveReward(boolean isExplosiveReward) { this.isExplosiveReward = isExplosiveReward; } @@ -303,49 +303,49 @@ public class MapleMonsterStats { public Pair getCool() { return cool; } - + public int getPDDamage() { return PDDamage; } - + public int getMADamage() { return MADamage; } - + public int getMDDamage() { return MDDamage; } - + public boolean isFriendly() { return friendly; } - + public void setFriendly(boolean value) { this.friendly = value; } - + public void setPDDamage(int PDDamage) { this.PDDamage = PDDamage; } - + public void setMADamage(int MADamage) { this.MADamage = MADamage; } - + public void setMDDamage(int MDDamage) { this.MDDamage = MDDamage; - } - + } + public int getFixedStance() { return this.fixedStance; } - + public void setFixedStance(int stance) { this.fixedStance = stance; } - - public MapleMonsterStats copy() { - MapleMonsterStats copy = new MapleMonsterStats(); + + public MonsterStats copy() { + MonsterStats copy = new MonsterStats(); try { FieldCopyUtil.setFields(this, copy); } catch (Exception e) { @@ -353,14 +353,14 @@ public class MapleMonsterStats { try { Thread.sleep(10000); } catch (Exception ex) { - + } - + } - + return copy; } - + // FieldCopyUtil src: http://www.codesenior.com/en/tutorial/Java-Copy-Fields-From-One-Object-to-Another-Object-with-Reflection private static class FieldCopyUtil { // thanks to Codesenior dev team private static void setFields(Object from, Object to) { diff --git a/src/main/java/tools/mapletools/ArrowFetcher.java b/src/main/java/tools/mapletools/ArrowFetcher.java index d492414a1a..f2d4344e5f 100644 --- a/src/main/java/tools/mapletools/ArrowFetcher.java +++ b/src/main/java/tools/mapletools/ArrowFetcher.java @@ -19,7 +19,7 @@ */ package tools.mapletools; -import server.life.MapleMonsterStats; +import server.life.MonsterStats; import tools.Pair; import java.io.PrintWriter; @@ -52,7 +52,7 @@ public class ArrowFetcher { private static final Map> mobRange = new HashMap<>(); private static PrintWriter printWriter; - private static Map mobStats; + private static Map mobStats; private static Pair calcArrowRange(int level, boolean boss) { int minRange, maxRange; @@ -69,8 +69,8 @@ public class ArrowFetcher { private static void calcAllMobsArrowRange() { System.out.print("Calculating range... "); - for (Entry mobStat : mobStats.entrySet()) { - MapleMonsterStats mms = mobStat.getValue(); + for (Entry mobStat : mobStats.entrySet()) { + MonsterStats mms = mobStat.getValue(); Pair arrowRange; arrowRange = calcArrowRange(mms.getLevel(), mms.isBoss()); diff --git a/src/main/java/tools/mapletools/MesoFetcher.java b/src/main/java/tools/mapletools/MesoFetcher.java index e6a98dba38..7f777664c9 100644 --- a/src/main/java/tools/mapletools/MesoFetcher.java +++ b/src/main/java/tools/mapletools/MesoFetcher.java @@ -1,6 +1,6 @@ package tools.mapletools; -import server.life.MapleMonsterStats; +import server.life.MonsterStats; import tools.Pair; import java.io.File; @@ -35,7 +35,7 @@ public class MesoFetcher { private static final Map> mobRange = new HashMap<>(); private static PrintWriter printWriter; - private static Map mobStats; + private static Map mobStats; private static Pair calcMesoRange90(int level, boolean boss) { int minRange, maxRange; @@ -76,8 +76,8 @@ public class MesoFetcher { private static void calcAllMobsMesoRange() { System.out.print("Calculating range... "); - for (Map.Entry mobStat : mobStats.entrySet()) { - MapleMonsterStats mms = mobStat.getValue(); + for (Map.Entry mobStat : mobStats.entrySet()) { + MonsterStats mms = mobStat.getValue(); Pair mesoRange; if (mms.getLevel() < 90) { diff --git a/src/main/java/tools/mapletools/MonsterStatFetcher.java b/src/main/java/tools/mapletools/MonsterStatFetcher.java index d99c76b766..b0866ee6f1 100644 --- a/src/main/java/tools/mapletools/MonsterStatFetcher.java +++ b/src/main/java/tools/mapletools/MonsterStatFetcher.java @@ -8,7 +8,7 @@ import server.life.ElementalEffectiveness; import server.life.LifeFactory.BanishInfo; import server.life.LifeFactory.loseItem; import server.life.LifeFactory.selfDestruction; -import server.life.MapleMonsterStats; +import server.life.MonsterStats; import tools.Pair; import java.util.*; @@ -17,9 +17,9 @@ public class MonsterStatFetcher { private static final DataProvider data = DataProviderFactory.getDataProvider(WZFiles.MOB); private static final DataProvider stringDataWZ = DataProviderFactory.getDataProvider(WZFiles.STRING); private static final Data mobStringData = stringDataWZ.getData("Mob.img"); - private static final Map monsterStats = new HashMap<>(); + private static final Map monsterStats = new HashMap<>(); - static Map getAllMonsterStats() { + static Map getAllMonsterStats() { DataDirectoryEntry root = data.getRoot(); System.out.print("Parsing mob stats... "); @@ -36,7 +36,7 @@ public class MonsterStatFetcher { Integer mid = getMonsterId(fileName); Data monsterInfoData = monsterData.getChildByPath("info"); - MapleMonsterStats stats = new MapleMonsterStats(); + MonsterStats stats = new MonsterStats(); stats.setHp(DataTool.getIntConvert("maxHP", monsterInfoData)); stats.setFriendly(DataTool.getIntConvert("damagedByMob", monsterInfoData, 0) == 1); stats.setPADamage(DataTool.getIntConvert("PADamage", monsterInfoData)); @@ -134,7 +134,7 @@ public class MonsterStatFetcher { return Integer.parseInt(fileName.substring(0, 7)); } - private static void decodeElementalString(MapleMonsterStats stats, String elemAttr) { + private static void decodeElementalString(MonsterStats stats, String elemAttr) { for (int i = 0; i < elemAttr.length(); i += 2) { stats.setEffectiveness(Element.getFromChar(elemAttr.charAt(i)), ElementalEffectiveness.getByNumber(Integer.valueOf(String.valueOf(elemAttr.charAt(i + 1))))); } diff --git a/src/main/java/tools/mapletools/SkillbookChanceFetcher.java b/src/main/java/tools/mapletools/SkillbookChanceFetcher.java index 5d03f0aa84..411c7626f2 100644 --- a/src/main/java/tools/mapletools/SkillbookChanceFetcher.java +++ b/src/main/java/tools/mapletools/SkillbookChanceFetcher.java @@ -1,6 +1,6 @@ package tools.mapletools; -import server.life.MapleMonsterStats; +import server.life.MonsterStats; import tools.Pair; import java.io.File; @@ -31,7 +31,7 @@ public class SkillbookChanceFetcher { private static final Map, Integer> skillbookChances = new HashMap<>(); private static PrintWriter printWriter; - private static Map mobStats; + private static Map mobStats; private static List, Integer>> sortedSkillbookChances() { List, Integer>> skillbookChancesList = new ArrayList<>(skillbookChances.entrySet());