Rename and clean up MapleDataTool

This commit is contained in:
P0nk
2021-09-09 21:52:32 +02:00
parent 5089f23f79
commit 2332458ed9
56 changed files with 493 additions and 493 deletions

View File

@@ -24,7 +24,7 @@ package server.life;
import provider.Data;
import provider.DataProvider;
import provider.DataProviderFactory;
import provider.MapleDataTool;
import provider.DataTool;
import provider.wz.DataType;
import provider.wz.WZFiles;
import tools.Pair;
@@ -100,7 +100,7 @@ public class MapleLifeFactory {
List<MobAttackInfoHolder> attackInfos = new LinkedList<>();
MapleMonsterStats stats = new MapleMonsterStats();
int linkMid = MapleDataTool.getIntConvert("link", monsterInfoData, 0);
int linkMid = DataTool.getIntConvert("link", monsterInfoData, 0);
if (linkMid != 0) {
Pair<MapleMonsterStats, List<MobAttackInfoHolder>> linkStats = getMonsterStats(linkMid);
if (linkStats == null) {
@@ -111,63 +111,63 @@ public class MapleLifeFactory {
attackInfos.addAll(linkStats.getRight());
}
stats.setHp(MapleDataTool.getIntConvert("maxHP", monsterInfoData));
stats.setFriendly(MapleDataTool.getIntConvert("damagedByMob", monsterInfoData, stats.isFriendly() ? 1 : 0) == 1);
stats.setPADamage(MapleDataTool.getIntConvert("PADamage", monsterInfoData));
stats.setPDDamage(MapleDataTool.getIntConvert("PDDamage", monsterInfoData));
stats.setMADamage(MapleDataTool.getIntConvert("MADamage", monsterInfoData));
stats.setMDDamage(MapleDataTool.getIntConvert("MDDamage", monsterInfoData));
stats.setMp(MapleDataTool.getIntConvert("maxMP", monsterInfoData, stats.getMp()));
stats.setExp(MapleDataTool.getIntConvert("exp", monsterInfoData, stats.getExp()));
stats.setLevel(MapleDataTool.getIntConvert("level", monsterInfoData));
stats.setRemoveAfter(MapleDataTool.getIntConvert("removeAfter", monsterInfoData, stats.removeAfter()));
stats.setBoss(MapleDataTool.getIntConvert("boss", monsterInfoData, stats.isBoss() ? 1 : 0) > 0);
stats.setExplosiveReward(MapleDataTool.getIntConvert("explosiveReward", monsterInfoData, stats.isExplosiveReward() ? 1 : 0) > 0);
stats.setFfaLoot(MapleDataTool.getIntConvert("publicReward", monsterInfoData, stats.isFfaLoot() ? 1 : 0) > 0);
stats.setUndead(MapleDataTool.getIntConvert("undead", monsterInfoData, stats.isUndead() ? 1 : 0) > 0);
stats.setName(MapleDataTool.getString(mid + "/name", mobStringData, "MISSINGNO"));
stats.setBuffToGive(MapleDataTool.getIntConvert("buff", monsterInfoData, stats.getBuffToGive()));
stats.setCP(MapleDataTool.getIntConvert("getCP", monsterInfoData, stats.getCP()));
stats.setRemoveOnMiss(MapleDataTool.getIntConvert("removeOnMiss", monsterInfoData, stats.removeOnMiss() ? 1 : 0) > 0);
stats.setHp(DataTool.getIntConvert("maxHP", monsterInfoData));
stats.setFriendly(DataTool.getIntConvert("damagedByMob", monsterInfoData, stats.isFriendly() ? 1 : 0) == 1);
stats.setPADamage(DataTool.getIntConvert("PADamage", monsterInfoData));
stats.setPDDamage(DataTool.getIntConvert("PDDamage", monsterInfoData));
stats.setMADamage(DataTool.getIntConvert("MADamage", monsterInfoData));
stats.setMDDamage(DataTool.getIntConvert("MDDamage", monsterInfoData));
stats.setMp(DataTool.getIntConvert("maxMP", monsterInfoData, stats.getMp()));
stats.setExp(DataTool.getIntConvert("exp", monsterInfoData, stats.getExp()));
stats.setLevel(DataTool.getIntConvert("level", monsterInfoData));
stats.setRemoveAfter(DataTool.getIntConvert("removeAfter", monsterInfoData, stats.removeAfter()));
stats.setBoss(DataTool.getIntConvert("boss", monsterInfoData, stats.isBoss() ? 1 : 0) > 0);
stats.setExplosiveReward(DataTool.getIntConvert("explosiveReward", monsterInfoData, stats.isExplosiveReward() ? 1 : 0) > 0);
stats.setFfaLoot(DataTool.getIntConvert("publicReward", monsterInfoData, stats.isFfaLoot() ? 1 : 0) > 0);
stats.setUndead(DataTool.getIntConvert("undead", monsterInfoData, stats.isUndead() ? 1 : 0) > 0);
stats.setName(DataTool.getString(mid + "/name", mobStringData, "MISSINGNO"));
stats.setBuffToGive(DataTool.getIntConvert("buff", monsterInfoData, stats.getBuffToGive()));
stats.setCP(DataTool.getIntConvert("getCP", monsterInfoData, stats.getCP()));
stats.setRemoveOnMiss(DataTool.getIntConvert("removeOnMiss", monsterInfoData, stats.removeOnMiss() ? 1 : 0) > 0);
Data special = monsterInfoData.getChildByPath("coolDamage");
if (special != null) {
int coolDmg = MapleDataTool.getIntConvert("coolDamage", monsterInfoData);
int coolProb = MapleDataTool.getIntConvert("coolDamageProb", monsterInfoData, 0);
int coolDmg = DataTool.getIntConvert("coolDamage", monsterInfoData);
int coolProb = DataTool.getIntConvert("coolDamageProb", monsterInfoData, 0);
stats.setCool(new Pair<>(coolDmg, coolProb));
}
special = monsterInfoData.getChildByPath("loseItem");
if (special != null) {
for (Data liData : special.getChildren()) {
stats.addLoseItem(new loseItem(MapleDataTool.getInt(liData.getChildByPath("id")), (byte) MapleDataTool.getInt(liData.getChildByPath("prop")), (byte) MapleDataTool.getInt(liData.getChildByPath("x"))));
stats.addLoseItem(new loseItem(DataTool.getInt(liData.getChildByPath("id")), (byte) DataTool.getInt(liData.getChildByPath("prop")), (byte) DataTool.getInt(liData.getChildByPath("x"))));
}
}
special = monsterInfoData.getChildByPath("selfDestruction");
if (special != null) {
stats.setSelfDestruction(new selfDestruction((byte) MapleDataTool.getInt(special.getChildByPath("action")), MapleDataTool.getIntConvert("removeAfter", special, -1), MapleDataTool.getIntConvert("hp", special, -1)));
stats.setSelfDestruction(new selfDestruction((byte) DataTool.getInt(special.getChildByPath("action")), DataTool.getIntConvert("removeAfter", special, -1), DataTool.getIntConvert("hp", special, -1)));
}
Data firstAttackData = monsterInfoData.getChildByPath("firstAttack");
int firstAttack = 0;
if (firstAttackData != null) {
if (firstAttackData.getType() == DataType.FLOAT) {
firstAttack = Math.round(MapleDataTool.getFloat(firstAttackData));
firstAttack = Math.round(DataTool.getFloat(firstAttackData));
} else {
firstAttack = MapleDataTool.getInt(firstAttackData);
firstAttack = DataTool.getInt(firstAttackData);
}
}
stats.setFirstAttack(firstAttack > 0);
stats.setDropPeriod(MapleDataTool.getIntConvert("dropItemPeriod", monsterInfoData, stats.getDropPeriod() / 10000) * 10000);
stats.setDropPeriod(DataTool.getIntConvert("dropItemPeriod", monsterInfoData, stats.getDropPeriod() / 10000) * 10000);
// thanks yuxaij, Riizade, Z1peR, Anesthetic for noticing some bosses crashing players due to missing requirements
boolean hpbarBoss = stats.isBoss() && hpbarBosses.contains(mid);
stats.setTagColor(hpbarBoss ? MapleDataTool.getIntConvert("hpTagColor", monsterInfoData, 0) : 0);
stats.setTagBgColor(hpbarBoss ? MapleDataTool.getIntConvert("hpTagBgcolor", monsterInfoData, 0) : 0);
stats.setTagColor(hpbarBoss ? DataTool.getIntConvert("hpTagColor", monsterInfoData, 0) : 0);
stats.setTagBgColor(hpbarBoss ? DataTool.getIntConvert("hpTagBgcolor", monsterInfoData, 0) : 0);
for (Data idata : monsterData) {
if (!idata.getName().equals("info")) {
int delay = 0;
for (Data pic : idata.getChildren()) {
delay += MapleDataTool.getIntConvert("delay", pic, 0);
delay += DataTool.getIntConvert("delay", pic, 0);
}
stats.setAnimationTime(idata.getName(), delay);
}
@@ -176,11 +176,11 @@ public class MapleLifeFactory {
if (reviveInfo != null) {
List<Integer> revives = new LinkedList<>();
for (Data data_ : reviveInfo) {
revives.add(MapleDataTool.getInt(data_));
revives.add(DataTool.getInt(data_));
}
stats.setRevives(revives);
}
decodeElementalString(stats, MapleDataTool.getString("elemAttr", monsterInfoData, ""));
decodeElementalString(stats, DataTool.getString("elemAttr", monsterInfoData, ""));
MapleMonsterInformationProvider mi = MapleMonsterInformationProvider.getInstance();
Data monsterSkillInfoData = monsterInfoData.getChildByPath("skill");
@@ -188,15 +188,15 @@ public class MapleLifeFactory {
int i = 0;
List<Pair<Integer, Integer>> skills = new ArrayList<>();
while (monsterSkillInfoData.getChildByPath(Integer.toString(i)) != null) {
int skillId = MapleDataTool.getInt(i + "/skill", monsterSkillInfoData, 0);
int skillLv = MapleDataTool.getInt(i + "/level", monsterSkillInfoData, 0);
int skillId = DataTool.getInt(i + "/skill", monsterSkillInfoData, 0);
int skillLv = DataTool.getInt(i + "/level", monsterSkillInfoData, 0);
skills.add(new Pair<>(skillId, skillLv));
Data monsterSkillData = monsterData.getChildByPath("skill" + (i + 1));
if (monsterSkillData != null) {
int animationTime = 0;
for (Data effectEntry : monsterSkillData.getChildren()) {
animationTime += MapleDataTool.getIntConvert("delay", effectEntry, 0);
animationTime += DataTool.getIntConvert("delay", effectEntry, 0);
}
MobSkill skill = MobSkillFactory.getMobSkill(skillId, skillLv);
@@ -213,23 +213,23 @@ public class MapleLifeFactory {
while ((monsterAttackData = monsterData.getChildByPath("attack" + (i + 1))) != null) {
int animationTime = 0;
for (Data effectEntry : monsterAttackData.getChildren()) {
animationTime += MapleDataTool.getIntConvert("delay", effectEntry, 0);
animationTime += DataTool.getIntConvert("delay", effectEntry, 0);
}
int mpCon = MapleDataTool.getIntConvert("info/conMP", monsterAttackData, 0);
int coolTime = MapleDataTool.getIntConvert("info/attackAfter", monsterAttackData, 0);
int mpCon = DataTool.getIntConvert("info/conMP", monsterAttackData, 0);
int coolTime = DataTool.getIntConvert("info/attackAfter", monsterAttackData, 0);
attackInfos.add(new MobAttackInfoHolder(i, mpCon, coolTime, animationTime));
i++;
}
Data banishData = monsterInfoData.getChildByPath("ban");
if (banishData != null) {
stats.setBanishInfo(new BanishInfo(MapleDataTool.getString("banMsg", banishData), MapleDataTool.getInt("banMap/0/field", banishData, -1), MapleDataTool.getString("banMap/0/portal", banishData, "sp")));
stats.setBanishInfo(new BanishInfo(DataTool.getString("banMsg", banishData), DataTool.getInt("banMap/0/field", banishData, -1), DataTool.getString("banMap/0/portal", banishData, "sp")));
}
int noFlip = MapleDataTool.getInt("noFlip", monsterInfoData, 0);
int noFlip = DataTool.getInt("noFlip", monsterInfoData, 0);
if (noFlip > 0) {
Point origin = MapleDataTool.getPoint("stand/0/origin", monsterData, null);
Point origin = DataTool.getPoint("stand/0/origin", monsterData, null);
if (origin != null) {
stats.setFixedStance(origin.getX() < 1 ? 5 : 4); // fixed left/right
}
@@ -267,7 +267,7 @@ public class MapleLifeFactory {
return -1;
}
Data monsterInfoData = monsterData.getChildByPath("info");
return MapleDataTool.getIntConvert("level", monsterInfoData);
return DataTool.getIntConvert("level", monsterInfoData);
} else {
return stats.getLevel();
}
@@ -286,11 +286,11 @@ public class MapleLifeFactory {
}
public static MapleNPC getNPC(int nid) {
return new MapleNPC(nid, new MapleNPCStats(MapleDataTool.getString(nid + "/name", npcStringData, "MISSINGNO")));
return new MapleNPC(nid, new MapleNPCStats(DataTool.getString(nid + "/name", npcStringData, "MISSINGNO")));
}
public static String getNPCDefaultTalk(int nid) {
return MapleDataTool.getString(nid + "/d0", npcStringData, "(...)");
return DataTool.getString(nid + "/d0", npcStringData, "(...)");
}
public static class BanishInfo {

View File

@@ -25,7 +25,7 @@ import constants.inventory.ItemConstants;
import provider.Data;
import provider.DataProvider;
import provider.DataProviderFactory;
import provider.MapleDataTool;
import provider.DataTool;
import provider.wz.WZFiles;
import server.MapleItemInformationProvider;
import tools.DatabaseConnection;
@@ -233,7 +233,7 @@ public class MapleMonsterInformationProvider {
List<Pair<Integer, String>> mobPairList = new LinkedList<>();
for (Data mobIdData : data.getChildren()) {
int mobIdFromData = Integer.parseInt(mobIdData.getName());
String mobNameFromData = MapleDataTool.getString(mobIdData.getChildByPath("name"), "NO-NAME");
String mobNameFromData = DataTool.getString(mobIdData.getChildByPath("name"), "NO-NAME");
mobPairList.add(new Pair<>(mobIdFromData, mobNameFromData));
}
for (Pair<Integer, String> mobPair : mobPairList) {
@@ -270,7 +270,7 @@ public class MapleMonsterInformationProvider {
DataProvider dataProvider = DataProviderFactory.getDataProvider(WZFiles.STRING);
Data mobData = dataProvider.getData("Mob.img");
mobName = MapleDataTool.getString(mobData.getChildByPath(id + "/name"), "");
mobName = DataTool.getString(mobData.getChildByPath(id + "/name"), "");
mobNameCache.put(id, mobName);
}

View File

@@ -23,7 +23,7 @@ import net.server.Server;
import provider.Data;
import provider.DataProvider;
import provider.DataProviderFactory;
import provider.MapleDataTool;
import provider.DataTool;
import provider.wz.WZFiles;
import java.util.HashMap;
@@ -76,23 +76,23 @@ public class MaplePlayerNPCFactory {
for (Data data : dnpcData.getChildren()) {
int scriptId = Integer.parseInt(data.getName());
String name = MapleDataTool.getString("name", data, "");
int face = MapleDataTool.getIntConvert("face", data, 20000);
int hair = MapleDataTool.getIntConvert("hair", data, 30000);
int gender = MapleDataTool.getIntConvert("gender", data, 0);
byte skin = (byte) MapleDataTool.getIntConvert("skin", data, 0);
int dir = MapleDataTool.getIntConvert("dir", data, 0);
int mapid = MapleDataTool.getIntConvert("map", data, 0);
int FH = MapleDataTool.getIntConvert("fh", data, 0);
int RX0 = MapleDataTool.getIntConvert("rx0", data, 0);
int RX1 = MapleDataTool.getIntConvert("rx1", data, 0);
int CX = MapleDataTool.getIntConvert("cx", data, 0);
int CY = MapleDataTool.getIntConvert("cy", data, 0);
String name = DataTool.getString("name", data, "");
int face = DataTool.getIntConvert("face", data, 20000);
int hair = DataTool.getIntConvert("hair", data, 30000);
int gender = DataTool.getIntConvert("gender", data, 0);
byte skin = (byte) DataTool.getIntConvert("skin", data, 0);
int dir = DataTool.getIntConvert("dir", data, 0);
int mapid = DataTool.getIntConvert("map", data, 0);
int FH = DataTool.getIntConvert("fh", data, 0);
int RX0 = DataTool.getIntConvert("rx0", data, 0);
int RX1 = DataTool.getIntConvert("rx1", data, 0);
int CX = DataTool.getIntConvert("cx", data, 0);
int CY = DataTool.getIntConvert("cy", data, 0);
Map<Short, Integer> equips = new HashMap<>();
for (Data edata : data.getChildByPath("equips").getChildren()) {
short equippos = (short) MapleDataTool.getIntConvert("pos", edata);
int equipid = MapleDataTool.getIntConvert("itemid", edata);
short equippos = (short) DataTool.getIntConvert("pos", edata);
int equipid = DataTool.getIntConvert("itemid", edata);
equips.put(equippos, equipid);
}

View File

@@ -24,7 +24,7 @@ package server.life;
import provider.Data;
import provider.DataProvider;
import provider.DataProviderFactory;
import provider.MapleDataTool;
import provider.DataTool;
import provider.wz.WZFiles;
import tools.StringUtil;
@@ -50,7 +50,7 @@ public class MobAttackInfoFactory {
Data mobData = dataSource.getData(StringUtil.getLeftPaddedStr(mob.getId() + ".img", '0', 11));
if (mobData != null) {
// MapleData infoData = mobData.getChildByPath("info");
String linkedmob = MapleDataTool.getString("link", mobData, "");
String linkedmob = DataTool.getString("link", mobData, "");
if (!linkedmob.equals("")) {
mobData = dataSource.getData(StringUtil.getLeftPaddedStr(linkedmob + ".img", '0', 11));
}
@@ -61,10 +61,10 @@ public class MobAttackInfoFactory {
}
Data deadlyAttack = attackData.getChildByPath("deadlyAttack");
int mpBurn = MapleDataTool.getInt("mpBurn", attackData, 0);
int disease = MapleDataTool.getInt("disease", attackData, 0);
int level = MapleDataTool.getInt("level", attackData, 0);
int mpCon = MapleDataTool.getInt("conMP", attackData, 0);
int mpBurn = DataTool.getInt("mpBurn", attackData, 0);
int disease = DataTool.getInt("disease", attackData, 0);
int level = DataTool.getInt("level", attackData, 0);
int mpCon = DataTool.getInt("conMP", attackData, 0);
ret = new MobAttackInfo(mob.getId(), attack);
ret.setDeadlyAttack(deadlyAttack != null);
ret.setMpBurn(mpBurn);

View File

@@ -30,7 +30,7 @@ import net.server.audit.locks.factory.MonitoredWriteLockFactory;
import provider.Data;
import provider.DataProvider;
import provider.DataProviderFactory;
import provider.MapleDataTool;
import provider.DataTool;
import provider.wz.WZFiles;
import java.awt.*;
@@ -70,24 +70,24 @@ public class MobSkillFactory {
if (ret == null) {
Data skillData = skillRoot.getChildByPath(skillId + "/level/" + level);
if (skillData != null) {
int mpCon = MapleDataTool.getInt(skillData.getChildByPath("mpCon"), 0);
int mpCon = DataTool.getInt(skillData.getChildByPath("mpCon"), 0);
List<Integer> toSummon = new ArrayList<>();
for (int i = 0; i > -1; i++) {
if (skillData.getChildByPath(String.valueOf(i)) == null) {
break;
}
toSummon.add(MapleDataTool.getInt(skillData.getChildByPath(String.valueOf(i)), 0));
toSummon.add(DataTool.getInt(skillData.getChildByPath(String.valueOf(i)), 0));
}
int effect = MapleDataTool.getInt("summonEffect", skillData, 0);
int hp = MapleDataTool.getInt("hp", skillData, 100);
int x = MapleDataTool.getInt("x", skillData, 1);
int y = MapleDataTool.getInt("y", skillData, 1);
int count = MapleDataTool.getInt("count", skillData, 1);
long duration = MapleDataTool.getInt("time", skillData, 0) * 1000;
long cooltime = MapleDataTool.getInt("interval", skillData, 0) * 1000;
int iprop = MapleDataTool.getInt("prop", skillData, 100);
int effect = DataTool.getInt("summonEffect", skillData, 0);
int hp = DataTool.getInt("hp", skillData, 100);
int x = DataTool.getInt("x", skillData, 1);
int y = DataTool.getInt("y", skillData, 1);
int count = DataTool.getInt("count", skillData, 1);
long duration = DataTool.getInt("time", skillData, 0) * 1000;
long cooltime = DataTool.getInt("interval", skillData, 0) * 1000;
int iprop = DataTool.getInt("prop", skillData, 100);
float prop = iprop / 100;
int limit = MapleDataTool.getInt("limit", skillData, 0);
int limit = DataTool.getInt("limit", skillData, 0);
Data ltd = skillData.getChildByPath("lt");
Point lt = null;
Point rb = null;