Reformat and clean up "constants" package

This commit is contained in:
P0nk
2021-09-09 23:23:32 +02:00
parent 250d49e85d
commit 69f4580637
61 changed files with 307 additions and 356 deletions

View File

@@ -38,7 +38,7 @@ public final class ExpTable {
public static int getMountExpNeededForLevel(int level) { public static int getMountExpNeededForLevel(int level) {
return mount[level]; return mount[level];
} }
public static int getEquipExpNeededForLevel(int level) { public static int getEquipExpNeededForLevel(int level) {
return equip[level]; return equip[level];
} }

View File

@@ -20,38 +20,38 @@ import java.util.*;
*/ */
public class GameConstants { public class GameConstants {
public static String[] WORLD_NAMES = {"Scania", "Bera", "Broa", "Windia", "Khaini", "Bellocan", "Mardia", "Kradia", "Yellonde", "Demethos", "Galicia", "El Nido", "Zenith", "Arcenia", "Kastia", "Judis", "Plana", "Kalluna", "Stius", "Croa", "Medere"}; public static String[] WORLD_NAMES = {"Scania", "Bera", "Broa", "Windia", "Khaini", "Bellocan", "Mardia", "Kradia", "Yellonde", "Demethos", "Galicia", "El Nido", "Zenith", "Arcenia", "Kastia", "Judis", "Plana", "Kalluna", "Stius", "Croa", "Medere"};
public static final int[] OWL_DATA = new int[]{1082002, 2070005, 2070006, 1022047, 1102041, 2044705, 2340000, 2040017, 1092030, 2040804}; public static final int[] OWL_DATA = new int[]{1082002, 2070005, 2070006, 1022047, 1102041, 2044705, 2340000, 2040017, 1092030, 2040804};
public static final String[] stats = {"tuc", "reqLevel", "reqJob", "reqSTR", "reqDEX", "reqINT", "reqLUK", "reqPOP", "cash", "cursed", "success", "setItemID", "equipTradeBlock", "durability", "randOption", "randStat", "masterLevel", "reqSkillLevel", "elemDefault", "incRMAS", "incRMAF", "incRMAI", "incRMAL", "canLevel", "skill", "charmEXP"}; public static final String[] stats = {"tuc", "reqLevel", "reqJob", "reqSTR", "reqDEX", "reqINT", "reqLUK", "reqPOP", "cash", "cursed", "success", "setItemID", "equipTradeBlock", "durability", "randOption", "randStat", "masterLevel", "reqSkillLevel", "elemDefault", "incRMAS", "incRMAF", "incRMAI", "incRMAL", "canLevel", "skill", "charmEXP"};
public static final int[] CASH_DATA = new int[]{50200004, 50200069, 50200117, 50100008, 50000047}; public static final int[] CASH_DATA = new int[]{50200004, 50200069, 50200117, 50100008, 50000047};
// Ronan's rates upgrade system // Ronan's rates upgrade system
private static final int[] DROP_RATE_GAIN = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}; private static final int[] DROP_RATE_GAIN = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
private static final int[] MESO_RATE_GAIN = {1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105}; private static final int[] MESO_RATE_GAIN = {1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105};
private static final int[] EXP_RATE_GAIN = {1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610}; //fibonacci :3 private static final int[] EXP_RATE_GAIN = {1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610}; //fibonacci :3
private static final int[] jobUpgradeBlob = {1, 20, 60, 110, 190}; private static final int[] jobUpgradeBlob = {1, 20, 60, 110, 190};
private static final int[] jobUpgradeSpUp = {0, 1, 2, 3, 6}; private static final int[] jobUpgradeSpUp = {0, 1, 2, 3, 6};
private final static Map<Integer, String> jobNames = new HashMap<>(); private final static Map<Integer, String> jobNames = new HashMap<>();
private final static NumberFormat nfFormatter = new DecimalFormat("#,###,###,###"); private final static NumberFormat nfFormatter = new DecimalFormat("#,###,###,###");
private final static NumberFormat nfParser = NumberFormat.getInstance(YamlConfig.config.server.USE_UNITPRICE_WITH_COMMA ? Locale.FRANCE : Locale.UK); private final static NumberFormat nfParser = NumberFormat.getInstance(YamlConfig.config.server.USE_UNITPRICE_WITH_COMMA ? Locale.FRANCE : Locale.UK);
public static final Disease[] CPQ_DISEASES = {Disease.SLOW, Disease.SEDUCE, Disease.STUN, Disease.POISON, public static final Disease[] CPQ_DISEASES = {Disease.SLOW, Disease.SEDUCE, Disease.STUN, Disease.POISON,
Disease.SEAL, Disease.DARKNESS, Disease.WEAKEN, Disease.CURSE}; Disease.SEAL, Disease.DARKNESS, Disease.WEAKEN, Disease.CURSE};
public static final int MAX_FIELD_MOB_DAMAGE = getMaxObstacleMobDamageFromWz() * 2; public static final int MAX_FIELD_MOB_DAMAGE = getMaxObstacleMobDamageFromWz() * 2;
public static int getPlayerBonusDropRate(int slot) { public static int getPlayerBonusDropRate(int slot) {
return(DROP_RATE_GAIN[slot]); return (DROP_RATE_GAIN[slot]);
} }
public static int getPlayerBonusMesoRate(int slot) { public static int getPlayerBonusMesoRate(int slot) {
return(MESO_RATE_GAIN[slot]); return (MESO_RATE_GAIN[slot]);
} }
public static int getPlayerBonusExpRate(int slot) { public static int getPlayerBonusExpRate(int slot) {
return(EXP_RATE_GAIN[slot]); return (EXP_RATE_GAIN[slot]);
} }
// "goto" command for players // "goto" command for players
public static final HashMap<String, Integer> GOTO_TOWNS = new HashMap<String, Integer>() {{ public static final HashMap<String, Integer> GOTO_TOWNS = new HashMap<String, Integer>() {{
put("southperry", 60000); put("southperry", 60000);
@@ -91,7 +91,7 @@ public class GameConstants {
put("neo", 240070000); put("neo", 240070000);
put("mushking", 106020000); put("mushking", 106020000);
}}; }};
// "goto" command for only-GMs // "goto" command for only-GMs
public static final HashMap<String, Integer> GOTO_AREAS = new HashMap<String, Integer>() {{ public static final HashMap<String, Integer> GOTO_AREAS = new HashMap<String, Integer>() {{
put("gmmap", 180000000); put("gmmap", 180000000);
@@ -114,7 +114,7 @@ public class GameConstants {
put("bosspq", 970030000); put("bosspq", 970030000);
put("fm", 910000000); put("fm", 910000000);
}}; }};
public static final List<String> GAME_SONGS = new ArrayList<String>(170) {{ public static final List<String> GAME_SONGS = new ArrayList<String>(170) {{
add("Jukebox/Congratulation"); add("Jukebox/Congratulation");
add("Bgm00/SleepyWood"); add("Bgm00/SleepyWood");
@@ -269,70 +269,70 @@ public class GameConstants {
add("BgmUI/ShopBgm"); add("BgmUI/ShopBgm");
add("BgmUI/Title"); add("BgmUI/Title");
}}; }};
// MapleStory default keyset // MapleStory default keyset
private static final int[] DEFAULT_KEY = {18, 65, 2, 23, 3, 4, 5, 6, 16, 17, 19, 25, 26, 27, 31, 34, 35, 37, 38, 40, 43, 44, 45, 46, 50, 56, 59, 60, 61, 62, 63, 64, 57, 48, 29, 7, 24, 33, 41, 39}; private static final int[] DEFAULT_KEY = {18, 65, 2, 23, 3, 4, 5, 6, 16, 17, 19, 25, 26, 27, 31, 34, 35, 37, 38, 40, 43, 44, 45, 46, 50, 56, 59, 60, 61, 62, 63, 64, 57, 48, 29, 7, 24, 33, 41, 39};
private static final int[] DEFAULT_TYPE = {4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 4, 4, 5, 6, 6, 6, 6, 6, 6, 5, 4, 5, 4, 4, 4, 4, 4}; private static final int[] DEFAULT_TYPE = {4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 4, 4, 5, 6, 6, 6, 6, 6, 6, 5, 4, 5, 4, 4, 4, 4, 4};
private static final int[] DEFAULT_ACTION = {0, 106, 10, 1, 12, 13, 18, 24, 8, 5, 4, 19, 14, 15, 2, 17, 11, 3, 20, 16, 9, 50, 51, 6, 7, 53, 100, 101, 102, 103, 104, 105, 54, 22, 52, 21, 25, 26, 23, 27}; private static final int[] DEFAULT_ACTION = {0, 106, 10, 1, 12, 13, 18, 24, 8, 5, 4, 19, 14, 15, 2, 17, 11, 3, 20, 16, 9, 50, 51, 6, 7, 53, 100, 101, 102, 103, 104, 105, 54, 22, 52, 21, 25, 26, 23, 27};
// HeavenMS custom keyset // HeavenMS custom keyset
private static final int[] CUSTOM_KEY = {2, 3, 4, 5, 31, 56, 59, 32, 42, 6, 17, 29, 30, 41, 50, 60, 61, 62, 63, 64, 65, 16, 7, 9, 13, 8}; private static final int[] CUSTOM_KEY = {2, 3, 4, 5, 31, 56, 59, 32, 42, 6, 17, 29, 30, 41, 50, 60, 61, 62, 63, 64, 65, 16, 7, 9, 13, 8};
private static final int[] CUSTOM_TYPE = {4, 4, 4, 4, 5, 5, 6, 5, 5, 4, 4, 4, 5, 4, 4, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4}; private static final int[] CUSTOM_TYPE = {4, 4, 4, 4, 5, 5, 6, 5, 5, 4, 4, 4, 5, 4, 4, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4};
private static final int[] CUSTOM_ACTION = {1, 0, 3, 2, 53, 54, 100, 52, 51, 19, 5, 9, 50, 7, 22, 101, 102, 103, 104, 105, 106, 8, 17, 26, 20, 4}; private static final int[] CUSTOM_ACTION = {1, 0, 3, 2, 53, 54, 100, 52, 51, 19, 5, 9, 50, 7, 22, 101, 102, 103, 104, 105, 106, 8, 17, 26, 20, 4};
public static int[] getCustomKey(boolean customKeyset) { public static int[] getCustomKey(boolean customKeyset) {
return(customKeyset ? CUSTOM_KEY : DEFAULT_KEY); return (customKeyset ? CUSTOM_KEY : DEFAULT_KEY);
} }
public static int[] getCustomType(boolean customKeyset) { public static int[] getCustomType(boolean customKeyset) {
return(customKeyset ? CUSTOM_TYPE : DEFAULT_TYPE); return (customKeyset ? CUSTOM_TYPE : DEFAULT_TYPE);
} }
public static int[] getCustomAction(boolean customKeyset) { public static int[] getCustomAction(boolean customKeyset) {
return(customKeyset ? CUSTOM_ACTION : DEFAULT_ACTION); return (customKeyset ? CUSTOM_ACTION : DEFAULT_ACTION);
} }
private static final int[] mobHpVal = {0, 15, 20, 25, 35, 50, 65, 80, 95, 110, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, private static final int[] mobHpVal = {0, 15, 20, 25, 35, 50, 65, 80, 95, 110, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350,
375, 405, 435, 465, 495, 525, 580, 650, 720, 790, 900, 990, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 375, 405, 435, 465, 495, 525, 580, 650, 720, 790, 900, 990, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800,
1900, 2000, 2100, 2200, 2300, 2400, 2520, 2640, 2760, 2880, 3000, 3200, 3400, 3600, 3800, 4000, 4300, 4600, 4900, 5200, 1900, 2000, 2100, 2200, 2300, 2400, 2520, 2640, 2760, 2880, 3000, 3200, 3400, 3600, 3800, 4000, 4300, 4600, 4900, 5200,
5500, 5900, 6300, 6700, 7100, 7500, 8000, 8500, 9000, 9500, 10000, 11000, 12000, 13000, 14000, 15000, 17000, 19000, 21000, 23000, 5500, 5900, 6300, 6700, 7100, 7500, 8000, 8500, 9000, 9500, 10000, 11000, 12000, 13000, 14000, 15000, 17000, 19000, 21000, 23000,
25000, 27000, 29000, 31000, 33000, 35000, 37000, 39000, 41000, 43000, 45000, 47000, 49000, 51000, 53000, 55000, 57000, 59000, 61000, 63000, 25000, 27000, 29000, 31000, 33000, 35000, 37000, 39000, 41000, 43000, 45000, 47000, 49000, 51000, 53000, 55000, 57000, 59000, 61000, 63000,
65000, 67000, 69000, 71000, 73000, 75000, 77000, 79000, 81000, 83000, 85000, 89000, 91000, 93000, 95000, 97000, 99000, 101000, 103000, 65000, 67000, 69000, 71000, 73000, 75000, 77000, 79000, 81000, 83000, 85000, 89000, 91000, 93000, 95000, 97000, 99000, 101000, 103000,
105000, 107000, 109000, 111000, 113000, 115000, 118000, 120000, 125000, 130000, 135000, 140000, 145000, 150000, 155000, 160000, 165000, 170000, 175000, 180000, 105000, 107000, 109000, 111000, 113000, 115000, 118000, 120000, 125000, 130000, 135000, 140000, 145000, 150000, 155000, 160000, 165000, 170000, 175000, 180000,
185000, 190000, 195000, 200000, 205000, 210000, 215000, 220000, 225000, 230000, 235000, 240000, 250000, 260000, 270000, 280000, 290000, 300000, 310000, 320000, 185000, 190000, 195000, 200000, 205000, 210000, 215000, 220000, 225000, 230000, 235000, 240000, 250000, 260000, 270000, 280000, 290000, 300000, 310000, 320000,
330000, 340000, 350000, 360000, 370000, 380000, 390000, 400000, 410000, 420000, 430000, 440000, 450000, 460000, 470000, 480000, 490000, 500000, 510000, 520000, 330000, 340000, 350000, 360000, 370000, 380000, 390000, 400000, 410000, 420000, 430000, 440000, 450000, 460000, 470000, 480000, 490000, 500000, 510000, 520000,
530000, 550000, 570000, 590000, 610000, 630000, 650000, 670000, 690000, 710000, 730000, 750000, 770000, 790000, 810000, 830000, 850000, 870000, 890000, 910000}; 530000, 550000, 570000, 590000, 610000, 630000, 650000, 670000, 690000, 710000, 730000, 750000, 770000, 790000, 810000, 830000, 850000, 870000, 890000, 910000};
public static String getJobName(int jobid) { public static String getJobName(int jobid) {
String name = jobNames.get(jobid); String name = jobNames.get(jobid);
if(name == null) { if (name == null) {
Job job = Job.getById(jobid); Job job = Job.getById(jobid);
if(job != null) { if (job != null) {
name = job.name().toLowerCase(); name = job.name().toLowerCase();
name = name.replaceAll("[*0-9]", ""); name = name.replaceAll("[*0-9]", "");
name = name.substring(0, 1).toUpperCase() + name.substring(1); name = name.substring(0, 1).toUpperCase() + name.substring(1);
} else { } else {
name = ""; name = "";
} }
jobNames.put(jobid, name); jobNames.put(jobid, name);
} }
return name; return name;
} }
public static int getJobUpgradeLevelRange(int jobbranch) { public static int getJobUpgradeLevelRange(int jobbranch) {
return jobUpgradeBlob[jobbranch]; return jobUpgradeBlob[jobbranch];
} }
public static int getChangeJobSpUpgrade(int jobbranch) { public static int getChangeJobSpUpgrade(int jobbranch) {
return jobUpgradeSpUp[jobbranch]; return jobUpgradeSpUp[jobbranch];
} }
public static boolean isHallOfFameMap(int mapid) { public static boolean isHallOfFameMap(int mapid) {
switch(mapid) { switch (mapid) {
case 102000004: // warrior case 102000004: // warrior
case 101000004: // magician case 101000004: // magician
case 100000204: // bowman case 100000204: // bowman
@@ -344,281 +344,285 @@ public class GameConstants {
case 130000120: // cygnus 3rd floor (beginners) case 130000120: // cygnus 3rd floor (beginners)
case 140010110: // aran case 140010110: // aran
return true; return true;
default: default:
return false; return false;
} }
} }
public static boolean isPodiumHallOfFameMap(int mapid) { public static boolean isPodiumHallOfFameMap(int mapid) {
switch(mapid) { switch (mapid) {
case 102000004: // warrior case 102000004: // warrior
case 101000004: // magician case 101000004: // magician
case 100000204: // bowman case 100000204: // bowman
case 103000008: // thief case 103000008: // thief
case 120000105: // pirate case 120000105: // pirate
return true; return true;
default: default:
return false; return false;
} }
} }
public static byte getHallOfFameBranch(Job job, int mapid) { public static byte getHallOfFameBranch(Job job, int mapid) {
if(!isHallOfFameMap(mapid)) { if (!isHallOfFameMap(mapid)) {
return (byte) (26 + 4 * (mapid / 100000000)); // custom, 400 pnpcs available per continent return (byte) (26 + 4 * (mapid / 100000000)); // custom, 400 pnpcs available per continent
} }
if(job.isA(Job.WARRIOR)) { if (job.isA(Job.WARRIOR)) {
return 10; return 10;
} else if(job.isA(Job.MAGICIAN)) { } else if (job.isA(Job.MAGICIAN)) {
return 11; return 11;
} else if(job.isA(Job.BOWMAN)) { } else if (job.isA(Job.BOWMAN)) {
return 12; return 12;
} else if(job.isA(Job.THIEF)) { } else if (job.isA(Job.THIEF)) {
return 13; return 13;
} else if(job.isA(Job.PIRATE)) { } else if (job.isA(Job.PIRATE)) {
return 14; return 14;
} else if(job.isA(Job.DAWNWARRIOR1)) { } else if (job.isA(Job.DAWNWARRIOR1)) {
return 15; return 15;
} else if(job.isA(Job.BLAZEWIZARD1)) { } else if (job.isA(Job.BLAZEWIZARD1)) {
return 16; return 16;
} else if(job.isA(Job.WINDARCHER1)) { } else if (job.isA(Job.WINDARCHER1)) {
return 17; return 17;
} else if(job.isA(Job.NIGHTWALKER1)) { } else if (job.isA(Job.NIGHTWALKER1)) {
return 18; return 18;
} else if(job.isA(Job.THUNDERBREAKER1)) { } else if (job.isA(Job.THUNDERBREAKER1)) {
return 19; return 19;
} else if(job.isA(Job.ARAN1)) { } else if (job.isA(Job.ARAN1)) {
return 20; return 20;
} else if(job.isA(Job.EVAN1)) { } else if (job.isA(Job.EVAN1)) {
return 21; return 21;
} else if(job.isA(Job.BEGINNER)) { } else if (job.isA(Job.BEGINNER)) {
return 22; return 22;
} else if(job.isA(Job.NOBLESSE)) { } else if (job.isA(Job.NOBLESSE)) {
return 23; return 23;
} else if(job.isA(Job.LEGEND)) { } else if (job.isA(Job.LEGEND)) {
return 24; return 24;
} else { } else {
return 25; return 25;
} }
} }
public static int getOverallJobRankByScriptId(int scriptId) { public static int getOverallJobRankByScriptId(int scriptId) {
int branch = (scriptId / 100) % 100; int branch = (scriptId / 100) % 100;
if(branch < 26) { if (branch < 26) {
return (scriptId % 100) + 1; return (scriptId % 100) + 1;
} else { } else {
return ((scriptId - 2600) % 400) + 1; return ((scriptId - 2600) % 400) + 1;
} }
} }
public static boolean canPnpcBranchUseScriptId(byte branch, int scriptId) { public static boolean canPnpcBranchUseScriptId(byte branch, int scriptId) {
scriptId /= 100; scriptId /= 100;
scriptId %= 100; scriptId %= 100;
if(branch < 26) { if (branch < 26) {
return branch == scriptId; return branch == scriptId;
} else { } else {
return scriptId >= branch && scriptId < branch + 4; return scriptId >= branch && scriptId < branch + 4;
} }
} }
public static int getHallOfFameMapid(Job job) { public static int getHallOfFameMapid(Job job) {
int jobid = job.getId(); int jobid = job.getId();
if(isCygnus(jobid)) { if (isCygnus(jobid)) {
return 130000100; return 130000100;
} else if(isAran(jobid)) { } else if (isAran(jobid)) {
return 140010110; return 140010110;
} else { } else {
if(job.isA(Job.WARRIOR)) { if (job.isA(Job.WARRIOR)) {
return 102000004; return 102000004;
} else if(job.isA(Job.MAGICIAN)) { } else if (job.isA(Job.MAGICIAN)) {
return 101000004; return 101000004;
} else if(job.isA(Job.BOWMAN)) { } else if (job.isA(Job.BOWMAN)) {
return 100000204; return 100000204;
} else if(job.isA(Job.THIEF)) { } else if (job.isA(Job.THIEF)) {
return 103000008; return 103000008;
} else if(job.isA(Job.PIRATE)) { } else if (job.isA(Job.PIRATE)) {
return 120000105; return 120000105;
} else { } else {
return 130000110; // beginner explorers are allotted with the Cygnus, available map lul return 130000110; // beginner explorers are allotted with the Cygnus, available map lul
} }
} }
} }
public static int getJobBranch(Job job) { public static int getJobBranch(Job job) {
int jobid = job.getId(); int jobid = job.getId();
if(jobid % 1000 == 0) { if (jobid % 1000 == 0) {
return 0; return 0;
} else if(jobid % 100 == 0) { } else if (jobid % 100 == 0) {
return 1; return 1;
} else { } else {
return 2 + (jobid % 10); return 2 + (jobid % 10);
} }
} }
public static int getJobMaxLevel(Job job) { public static int getJobMaxLevel(Job job) {
int jobBranch = getJobBranch(job); int jobBranch = getJobBranch(job);
switch(jobBranch) { switch (jobBranch) {
case 0: case 0:
return 10; // beginner return 10; // beginner
case 1: case 1:
return 30; // 1st job return 30; // 1st job
case 2: case 2:
return 70; // 2nd job return 70; // 2nd job
case 3: case 3:
return 120; // 3rd job return 120; // 3rd job
default: default:
return (job.getId() / 1000 == 1) ? 120 : 200; // 4th job: cygnus is 120, rest is 200 return (job.getId() / 1000 == 1) ? 120 : 200; // 4th job: cygnus is 120, rest is 200
} }
} }
public static int getSkillBook(final int job) { public static int getSkillBook(final int job) {
if (job >= 2210 && job <= 2218) { if (job >= 2210 && job <= 2218) {
return job - 2209; return job - 2209;
} }
return 0; return 0;
} }
public static boolean isAranSkills(final int skill) { public static boolean isAranSkills(final int skill) {
return Aran.FULL_SWING == skill || Aran.OVER_SWING == skill || Aran.COMBO_TEMPEST == skill || Aran.COMBO_FENRIR == skill || Aran.COMBO_DRAIN == skill return Aran.FULL_SWING == skill || Aran.OVER_SWING == skill || Aran.COMBO_TEMPEST == skill || Aran.COMBO_FENRIR == skill || Aran.COMBO_DRAIN == skill
|| Aran.HIDDEN_FULL_DOUBLE == skill || Aran.HIDDEN_FULL_TRIPLE == skill || Aran.HIDDEN_OVER_DOUBLE == skill || Aran.HIDDEN_OVER_TRIPLE == skill || Aran.HIDDEN_FULL_DOUBLE == skill || Aran.HIDDEN_FULL_TRIPLE == skill || Aran.HIDDEN_OVER_DOUBLE == skill || Aran.HIDDEN_OVER_TRIPLE == skill
|| Aran.COMBO_SMASH == skill || Aran.DOUBLE_SWING == skill || Aran.TRIPLE_SWING == skill; || Aran.COMBO_SMASH == skill || Aran.DOUBLE_SWING == skill || Aran.TRIPLE_SWING == skill;
} }
public static boolean isHiddenSkills(final int skill) { public static boolean isHiddenSkills(final int skill) {
return Aran.HIDDEN_FULL_DOUBLE == skill || Aran.HIDDEN_FULL_TRIPLE == skill || Aran.HIDDEN_OVER_DOUBLE == skill || Aran.HIDDEN_OVER_TRIPLE == skill; return Aran.HIDDEN_FULL_DOUBLE == skill || Aran.HIDDEN_FULL_TRIPLE == skill || Aran.HIDDEN_OVER_DOUBLE == skill || Aran.HIDDEN_OVER_TRIPLE == skill;
} }
public static boolean isCygnus(final int job) { public static boolean isCygnus(final int job) {
return job / 1000 == 1; return job / 1000 == 1;
} }
public static boolean isAran(final int job) { public static boolean isAran(final int job) {
return job == 2000 || (job >= 2100 && job <= 2112); return job == 2000 || (job >= 2100 && job <= 2112);
} }
private static boolean isInBranchJobTree(int skillJobId, int jobId, int branchType) { private static boolean isInBranchJobTree(int skillJobId, int jobId, int branchType) {
int branch = (int)(Math.pow(10, branchType)); int branch = (int) (Math.pow(10, branchType));
int skillBranch = (skillJobId / branch) * branch; int skillBranch = (skillJobId / branch) * branch;
int jobBranch = (jobId / branch) * branch; int jobBranch = (jobId / branch) * branch;
return skillBranch == jobBranch; return skillBranch == jobBranch;
} }
private static boolean hasDivergedBranchJobTree(int skillJobId, int jobId, int branchType) { private static boolean hasDivergedBranchJobTree(int skillJobId, int jobId, int branchType) {
int branch = (int)(Math.pow(10, branchType)); int branch = (int) (Math.pow(10, branchType));
int skillBranch = skillJobId / branch; int skillBranch = skillJobId / branch;
int jobBranch = jobId / branch; int jobBranch = jobId / branch;
return skillBranch != jobBranch && skillBranch % 10 != 0; return skillBranch != jobBranch && skillBranch % 10 != 0;
} }
public static boolean isInJobTree(int skillId, int jobId) { public static boolean isInJobTree(int skillId, int jobId) {
int skillJob = skillId / 10000; int skillJob = skillId / 10000;
if(!isInBranchJobTree(skillJob, jobId, 0)) { if (!isInBranchJobTree(skillJob, jobId, 0)) {
for(int i = 1; i <= 3; i++) { for (int i = 1; i <= 3; i++) {
if(hasDivergedBranchJobTree(skillJob, jobId, i)) return false; if (hasDivergedBranchJobTree(skillJob, jobId, i)) {
if(isInBranchJobTree(skillJob, jobId, i)) return (skillJob <= jobId); return false;
}
if (isInBranchJobTree(skillJob, jobId, i)) {
return (skillJob <= jobId);
}
} }
} else { } else {
return (skillJob <= jobId); return (skillJob <= jobId);
} }
return false; return false;
} }
public static boolean isPqSkill(final int skill) { public static boolean isPqSkill(final int skill) {
return (skill >= 20000014 && skill <= 20000018) || skill == 10000013 || skill == 20001013 || (skill % 10000000 >= 1009 && skill % 10000000 <= 1011) || skill % 10000000 == 1020; return (skill >= 20000014 && skill <= 20000018) || skill == 10000013 || skill == 20001013 || (skill % 10000000 >= 1009 && skill % 10000000 <= 1011) || skill % 10000000 == 1020;
} }
public static boolean bannedBindSkills(final int skill) { public static boolean bannedBindSkills(final int skill) {
return isAranSkills(skill) || isPqSkill(skill); return isAranSkills(skill) || isPqSkill(skill);
} }
public static boolean isGMSkills(final int skill) { public static boolean isGMSkills(final int skill) {
return skill >= 9001000 && skill <= 9101008 || skill >= 8001000 && skill <= 8001001; return skill >= 9001000 && skill <= 9101008 || skill >= 8001000 && skill <= 8001001;
} }
public static boolean isFreeMarketRoom(int mapid) { public static boolean isFreeMarketRoom(int mapid) {
return mapid / 1000000 == 910 && mapid > 910000000; // FM rooms subset, thanks to shavitush (shavit) return mapid / 1000000 == 910 && mapid > 910000000; // FM rooms subset, thanks to shavitush (shavit)
} }
public static boolean isMerchantLocked(MapleMap map) { public static boolean isMerchantLocked(MapleMap map) {
if(FieldLimit.CANNOTMIGRATE.check(map.getFieldLimit())) { // maps that cannot access cash shop cannot access merchants too (except FM rooms). if (FieldLimit.CANNOTMIGRATE.check(map.getFieldLimit())) { // maps that cannot access cash shop cannot access merchants too (except FM rooms).
return true; return true;
} }
switch(map.getId()) { switch (map.getId()) {
case 910000000: case 910000000:
return true; return true;
} }
return false; return false;
} }
public static boolean isBossRush(int mapid) { public static boolean isBossRush(int mapid) {
return mapid >= 970030100 && mapid <= 970042711; return mapid >= 970030100 && mapid <= 970042711;
} }
public static boolean isDojo(int mapid) { public static boolean isDojo(int mapid) {
return mapid >= 925020000 && mapid < 925040000; return mapid >= 925020000 && mapid < 925040000;
} }
public static boolean isDojoPartyArea(int mapid) { public static boolean isDojoPartyArea(int mapid) {
return mapid >= 925030100 && mapid < 925040000; return mapid >= 925030100 && mapid < 925040000;
} }
public static boolean isDojoBoss(int mobid) { public static boolean isDojoBoss(int mobid) {
return mobid >= 9300184 && mobid < 9300216; return mobid >= 9300184 && mobid < 9300216;
} }
public static boolean isDojoBossArea(int mapid) { public static boolean isDojoBossArea(int mapid) {
return isDojo(mapid) && (((mapid / 100) % 100) % 6) > 0; return isDojo(mapid) && (((mapid / 100) % 100) % 6) > 0;
} }
public static boolean isPyramid(int mapid) { public static boolean isPyramid(int mapid) {
return mapid >= 926010010 & mapid <= 930010000; return mapid >= 926010010 & mapid <= 930010000;
} }
public static boolean isAriantColiseumLobby(int mapid) { public static boolean isAriantColiseumLobby(int mapid) {
int mapbranch = mapid / 1000; int mapbranch = mapid / 1000;
return mapbranch == 980010 && mapid % 10 == 0; return mapbranch == 980010 && mapid % 10 == 0;
} }
public static boolean isAriantColiseumArena(int mapid) { public static boolean isAriantColiseumArena(int mapid) {
int mapbranch = mapid / 1000; int mapbranch = mapid / 1000;
return mapbranch == 980010 && mapid % 10 == 1; return mapbranch == 980010 && mapid % 10 == 1;
} }
public static boolean isPqSkillMap(int mapid) { public static boolean isPqSkillMap(int mapid) {
return isDojo(mapid) || isPyramid(mapid); return isDojo(mapid) || isPyramid(mapid);
} }
public static boolean isFishingArea(int mapid) { public static boolean isFishingArea(int mapid) {
return mapid == 120010000 || mapid == 251000100 || mapid == 541010110; return mapid == 120010000 || mapid == 251000100 || mapid == 541010110;
} }
public static boolean isFinisherSkill(int skillId) { public static boolean isFinisherSkill(int skillId) {
return skillId > 1111002 && skillId < 1111007 || skillId == 11111002 || skillId == 11111003; return skillId > 1111002 && skillId < 1111007 || skillId == 11111002 || skillId == 11111003;
} }
public static boolean isMedalQuest(short questid) { public static boolean isMedalQuest(short questid) {
return Quest.getInstance(questid).getMedalRequirement() != -1; return Quest.getInstance(questid).getMedalRequirement() != -1;
} }
public static boolean hasSPTable(Job job) { public static boolean hasSPTable(Job job) {
switch (job) { switch (job) {
case EVAN: case EVAN:
@@ -637,54 +641,54 @@ public class GameConstants {
return false; return false;
} }
} }
public static int getMonsterHP(final int level) { public static int getMonsterHP(final int level) {
if (level < 0 || level >= mobHpVal.length) { if (level < 0 || level >= mobHpVal.length) {
return Integer.MAX_VALUE; return Integer.MAX_VALUE;
} }
return mobHpVal[level]; return mobHpVal[level];
} }
public static String ordinal(int i) { public static String ordinal(int i) {
String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" }; String[] sufixes = new String[]{"th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th"};
switch (i % 100) { switch (i % 100) {
case 11: case 11:
case 12: case 12:
case 13: case 13:
return i + "th"; return i + "th";
default: default:
return i + sufixes[i % 10]; return i + sufixes[i % 10];
} }
} }
public synchronized static String numberWithCommas(int i) { public synchronized static String numberWithCommas(int i) {
if(!YamlConfig.config.server.USE_DISPLAY_NUMBERS_WITH_COMMA) { if (!YamlConfig.config.server.USE_DISPLAY_NUMBERS_WITH_COMMA) {
return nfFormatter.format(i); // will display number on whatever locale is currently assigned on NumberFormat return nfFormatter.format(i); // will display number on whatever locale is currently assigned on NumberFormat
} else { } else {
return NumberFormat.getNumberInstance(Locale.UK).format(i); return NumberFormat.getNumberInstance(Locale.UK).format(i);
} }
} }
public synchronized static Number parseNumber(String value) { public synchronized static Number parseNumber(String value) {
try { try {
return nfParser.parse(value); return nfParser.parse(value);
} catch(Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return 0.0f; return 0.0f;
} }
} }
private static int getMaxObstacleMobDamageFromWz() { private static int getMaxObstacleMobDamageFromWz() {
DataProvider mapSource = DataProviderFactory.getDataProvider(WZFiles.MAP); DataProvider mapSource = DataProviderFactory.getDataProvider(WZFiles.MAP);
int maxMobDmg = 0; int maxMobDmg = 0;
DataDirectoryEntry root = mapSource.getRoot(); DataDirectoryEntry root = mapSource.getRoot();
for (DataDirectoryEntry objData : root.getSubdirectories()) { for (DataDirectoryEntry objData : root.getSubdirectories()) {
if (!objData.getName().contentEquals("Obj")) { if (!objData.getName().contentEquals("Obj")) {
continue; continue;
} }
for (DataFileEntry obj : objData.getFiles()) { for (DataFileEntry obj : objData.getFiles()) {
for (Data l0 : mapSource.getData(objData.getName() + "/" + obj.getName()).getChildren()) { for (Data l0 : mapSource.getData(objData.getName() + "/" + obj.getName()).getChildren()) {
for (Data l1 : l0.getChildren()) { for (Data l1 : l0.getChildren()) {
@@ -698,8 +702,8 @@ public class GameConstants {
} }
} }
} }
return maxMobDmg; return maxMobDmg;
} }
} }

View File

@@ -1,7 +1,6 @@
package constants.inventory; package constants.inventory;
/** /**
*
* @author The Spookster (The Real Spookster) * @author The Spookster (The Real Spookster)
*/ */
public enum EquipSlot { public enum EquipSlot {
@@ -33,10 +32,10 @@ public enum EquipSlot {
private String name; private String name;
private int[] allowed; private int[] allowed;
private EquipSlot() { EquipSlot() {
} }
private EquipSlot(String wz, int... in) { EquipSlot(String wz, int... in) {
name = wz; name = wz;
allowed = in; allowed = in;
} }

View File

@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
*
* @author RonanLana * @author RonanLana
*/ */
public enum EquipType { public enum EquipType {
@@ -66,30 +65,30 @@ public enum EquipType {
private final int i; private final int i;
private static final Map<Integer, EquipType> map = new HashMap(34); private static final Map<Integer, EquipType> map = new HashMap(34);
private EquipType(int val) { EquipType(int val) {
this.i = val; this.i = val;
} }
public int getValue() { public int getValue() {
return i; return i;
} }
static { static {
for (EquipType eqEnum : EquipType.values()) { for (EquipType eqEnum : EquipType.values()) {
map.put(eqEnum.i, eqEnum); map.put(eqEnum.i, eqEnum);
} }
} }
public static EquipType getEquipTypeById(int itemid) { public static EquipType getEquipTypeById(int itemid) {
EquipType ret; EquipType ret;
int val = itemid / 100000; int val = itemid / 100000;
if(val == 13 || val == 14) { if (val == 13 || val == 14) {
ret = map.get(itemid / 1000); ret = map.get(itemid / 1000);
} else { } else {
ret = map.get(itemid / 10000); ret = map.get(itemid / 10000);
} }
return (ret != null) ? ret : EquipType.UNDEFINED; return (ret != null) ? ret : EquipType.UNDEFINED;
} }
} }

View File

@@ -30,13 +30,12 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
/** /**
*
* @author Jay Estrella * @author Jay Estrella
* @author Ronan * @author Ronan
*/ */
public final class ItemConstants { public final class ItemConstants {
protected static Map<Integer, InventoryType> inventoryTypeCache = new HashMap<>(); protected static Map<Integer, InventoryType> inventoryTypeCache = new HashMap<>();
public final static short LOCK = 0x01; public final static short LOCK = 0x01;
public final static short SPIKES = 0x02; public final static short SPIKES = 0x02;
public final static short KARMA_USE = 0x02; public final static short KARMA_USE = 0x02;
@@ -53,11 +52,11 @@ public final class ItemConstants {
static { static {
int[] pi = {5000060, 5000100, 5000101, 5000102}; // i ain't going to open one gigantic itemid cache just for 4 perma itemids, no way! int[] pi = {5000060, 5000100, 5000101, 5000102}; // i ain't going to open one gigantic itemid cache just for 4 perma itemids, no way!
for(int i : pi) { for (int i : pi) {
permanentItemids.add(i); permanentItemids.add(i);
} }
} }
public static int getFlagByInt(int type) { public static int getFlagByInt(int type) {
if (type == 128) { if (type == 128) {
return PET_COME; return PET_COME;
@@ -74,16 +73,16 @@ public final class ItemConstants {
public static boolean isBullet(int itemId) { public static boolean isBullet(int itemId) {
return itemId / 10000 == 233; return itemId / 10000 == 233;
} }
public static boolean isPotion(int itemId) { public static boolean isPotion(int itemId) {
return itemId / 1000 == 2000; return itemId / 1000 == 2000;
} }
public static boolean isFood(int itemId) { public static boolean isFood(int itemId) {
int useType = itemId / 1000; int useType = itemId / 1000;
return useType == 2022 || useType == 2010 || useType == 2020; return useType == 2022 || useType == 2010 || useType == 2020;
} }
public static boolean isConsumable(int itemId) { public static boolean isConsumable(int itemId) {
return isPotion(itemId) || isFood(itemId); return isPotion(itemId) || isFood(itemId);
} }
@@ -99,7 +98,7 @@ public final class ItemConstants {
public static boolean isArrowForBow(int itemId) { public static boolean isArrowForBow(int itemId) {
return itemId / 1000 == 2060; return itemId / 1000 == 2060;
} }
public static boolean isArrow(int itemId) { public static boolean isArrow(int itemId) {
return isArrowForBow(itemId) || isArrowForCrossBow(itemId); return isArrowForBow(itemId) || isArrowForCrossBow(itemId);
} }
@@ -107,112 +106,113 @@ public final class ItemConstants {
public static boolean isPet(int itemId) { public static boolean isPet(int itemId) {
return itemId / 1000 == 5000; return itemId / 1000 == 5000;
} }
public static boolean isExpirablePet(int itemId) { public static boolean isExpirablePet(int itemId) {
return YamlConfig.config.server.USE_ERASE_PET_ON_EXPIRATION || itemId == 5000054; return YamlConfig.config.server.USE_ERASE_PET_ON_EXPIRATION || itemId == 5000054;
} }
public static boolean isPermanentItem(int itemId) { public static boolean isPermanentItem(int itemId) {
return permanentItemids.contains(itemId); return permanentItemids.contains(itemId);
} }
public static boolean isNewYearCardEtc(int itemId) { public static boolean isNewYearCardEtc(int itemId) {
return itemId / 10000 == 430; return itemId / 10000 == 430;
} }
public static boolean isNewYearCardUse(int itemId) { public static boolean isNewYearCardUse(int itemId) {
return itemId / 10000 == 216; return itemId / 10000 == 216;
} }
public static boolean isAccessory(int itemId) { public static boolean isAccessory(int itemId) {
return itemId >= 1110000 && itemId < 1140000; return itemId >= 1110000 && itemId < 1140000;
} }
public static boolean isTaming(int itemId) { public static boolean isTaming(int itemId) {
int itemType = itemId / 1000; int itemType = itemId / 1000;
return itemType == 1902 || itemType == 1912; return itemType == 1902 || itemType == 1912;
} }
public static boolean isTownScroll(int itemId) { public static boolean isTownScroll(int itemId) {
return itemId >= 2030000 && itemId < 2030100; return itemId >= 2030000 && itemId < 2030100;
} }
public static boolean isAntibanishScroll(int itemId) { public static boolean isAntibanishScroll(int itemId) {
return itemId == 2030100; return itemId == 2030100;
} }
public static boolean isCleanSlate(int scrollId) { public static boolean isCleanSlate(int scrollId) {
return scrollId > 2048999 && scrollId < 2049004; return scrollId > 2048999 && scrollId < 2049004;
} }
public static boolean isModifierScroll(int scrollId) { public static boolean isModifierScroll(int scrollId) {
return scrollId == 2040727 || scrollId == 2041058; return scrollId == 2040727 || scrollId == 2041058;
} }
public static boolean isFlagModifier(int scrollId, short flag) { public static boolean isFlagModifier(int scrollId, short flag) {
if(scrollId == 2041058 && ((flag & ItemConstants.COLD) == ItemConstants.COLD)) return true; if (scrollId == 2041058 && ((flag & ItemConstants.COLD) == ItemConstants.COLD)) {
if(scrollId == 2040727 && ((flag & ItemConstants.SPIKES) == ItemConstants.SPIKES)) return true; return true;
return false; }
return scrollId == 2040727 && ((flag & ItemConstants.SPIKES) == ItemConstants.SPIKES);
} }
public static boolean isChaosScroll(int scrollId) { public static boolean isChaosScroll(int scrollId) {
return scrollId >= 2049100 && scrollId <= 2049103; return scrollId >= 2049100 && scrollId <= 2049103;
} }
public static boolean isRateCoupon(int itemId) { public static boolean isRateCoupon(int itemId) {
int itemType = itemId / 1000; int itemType = itemId / 1000;
return itemType == 5211 || itemType == 5360; return itemType == 5211 || itemType == 5360;
} }
public static boolean isExpCoupon(int couponId) { public static boolean isExpCoupon(int couponId) {
return couponId / 1000 == 5211; return couponId / 1000 == 5211;
} }
public static boolean isPartyItem(int itemId) { public static boolean isPartyItem(int itemId) {
return itemId >= 2022430 && itemId <= 2022433 || itemId >= 2022160 && itemId <= 2022163; return itemId >= 2022430 && itemId <= 2022433 || itemId >= 2022160 && itemId <= 2022163;
} }
public static boolean isPartyAllcure(int itemId) { public static boolean isPartyAllcure(int itemId) {
return itemId == 2022433 || itemId == 2022163; return itemId == 2022433 || itemId == 2022163;
} }
public static boolean isHiredMerchant(int itemId) { public static boolean isHiredMerchant(int itemId) {
return itemId / 10000 == 503; return itemId / 10000 == 503;
} }
public static boolean isPlayerShop(int itemId) { public static boolean isPlayerShop(int itemId) {
return itemId / 10000 == 514; return itemId / 10000 == 514;
} }
public static InventoryType getInventoryType(final int itemId) { public static InventoryType getInventoryType(final int itemId) {
if (inventoryTypeCache.containsKey(itemId)) { if (inventoryTypeCache.containsKey(itemId)) {
return inventoryTypeCache.get(itemId); return inventoryTypeCache.get(itemId);
} }
InventoryType ret = InventoryType.UNDEFINED; InventoryType ret = InventoryType.UNDEFINED;
final byte type = (byte) (itemId / 1000000); final byte type = (byte) (itemId / 1000000);
if (type >= 1 && type <= 5) { if (type >= 1 && type <= 5) {
ret = InventoryType.getByType(type); ret = InventoryType.getByType(type);
} }
inventoryTypeCache.put(itemId, ret); inventoryTypeCache.put(itemId, ret);
return ret; return ret;
} }
public static boolean isMakerReagent(int itemId) { public static boolean isMakerReagent(int itemId) {
return itemId / 10000 == 425; return itemId / 10000 == 425;
} }
public static boolean isOverall(int itemId) { public static boolean isOverall(int itemId) {
return itemId / 10000 == 105; return itemId / 10000 == 105;
} }
public static boolean isCashStore(int itemId) { public static boolean isCashStore(int itemId) {
int itemType = itemId / 10000; int itemType = itemId / 10000;
return itemType == 503 || itemType == 514; return itemType == 503 || itemType == 514;
} }
public static boolean isMapleLife(int itemId) { public static boolean isMapleLife(int itemId) {
int itemType = itemId / 10000; int itemType = itemId / 10000;
return itemType == 543 && itemId != 5430000; return itemType == 543 && itemId != 5430000;
@@ -221,7 +221,7 @@ public final class ItemConstants {
public static boolean isWeapon(int itemId) { public static boolean isWeapon(int itemId) {
return itemId >= 1302000 && itemId < 1493000; return itemId >= 1302000 && itemId < 1493000;
} }
public static boolean isEquipment(int itemId) { public static boolean isEquipment(int itemId) {
return itemId < 2000000 && itemId != 0; return itemId < 2000000 && itemId != 0;
} }
@@ -229,31 +229,31 @@ public final class ItemConstants {
public static boolean isFishingChair(int itemId) { public static boolean isFishingChair(int itemId) {
return itemId == 3011000; return itemId == 3011000;
} }
public static boolean isMedal(int itemId) { public static boolean isMedal(int itemId) {
return itemId >= 1140000 && itemId < 1143000; return itemId >= 1140000 && itemId < 1143000;
} }
public static boolean isWeddingRing(int itemId) { public static boolean isWeddingRing(int itemId) {
return itemId >= 1112803 && itemId <= 1112809; return itemId >= 1112803 && itemId <= 1112809;
} }
public static boolean isWeddingToken(int itemId) { public static boolean isWeddingToken(int itemId) {
return itemId >= 4031357 && itemId <= 4031364; return itemId >= 4031357 && itemId <= 4031364;
} }
public static boolean isFace(int itemId) { public static boolean isFace(int itemId) {
return itemId >= 20000 && itemId < 22000; return itemId >= 20000 && itemId < 22000;
} }
public static boolean isHair(int itemId) { public static boolean isHair(int itemId) {
return itemId >= 30000 && itemId < 35000; return itemId >= 30000 && itemId < 35000;
} }
public static boolean isFaceExpression(int itemId) { public static boolean isFaceExpression(int itemId) {
return itemId / 10000 == 516; return itemId / 10000 == 516;
} }
public static boolean isChair(int itemId) { public static boolean isChair(int itemId) {
return itemId / 10000 == 301; return itemId / 10000 == 301;
} }

View File

@@ -19,27 +19,27 @@
*/ */
package constants.net; package constants.net;
import java.util.Map;
import java.util.HashMap;
import net.opcodes.RecvOpcode; import net.opcodes.RecvOpcode;
import net.opcodes.SendOpcode; import net.opcodes.SendOpcode;
import java.util.HashMap;
import java.util.Map;
/** /**
*
* @author Ronan * @author Ronan
*/ */
public class OpcodeConstants { public class OpcodeConstants {
public static Map<Integer, String> sendOpcodeNames = new HashMap<>(); public static Map<Integer, String> sendOpcodeNames = new HashMap<>();
public static Map<Integer, String> recvOpcodeNames = new HashMap<>(); public static Map<Integer, String> recvOpcodeNames = new HashMap<>();
public static void generateOpcodeNames() { public static void generateOpcodeNames() {
for (SendOpcode op : SendOpcode.values()) { for (SendOpcode op : SendOpcode.values()) {
sendOpcodeNames.put(op.getValue(), op.name()); sendOpcodeNames.put(op.getValue(), op.name());
} }
for (RecvOpcode op : RecvOpcode.values()) { for (RecvOpcode op : RecvOpcode.values()) {
recvOpcodeNames.put(op.getValue(), op.name()); recvOpcodeNames.put(op.getValue(), op.name());
} }
} }
} }

View File

@@ -1,7 +1,7 @@
package constants.net; package constants.net;
public class ServerConstants { public class ServerConstants {
//Server Version //Server Version
public static final short VERSION = 83; public static final short VERSION = 83;

View File

@@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Aran { public class Aran {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Archer { public class Archer {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Assassin { public class Assassin {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Bandit { public class Bandit {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Beginner { public class Beginner {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Bishop { public class Bishop {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class BlazeWizard { public class BlazeWizard {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Bowmaster { public class Bowmaster {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Brawler { public class Brawler {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Buccaneer { public class Buccaneer {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class ChiefBandit { public class ChiefBandit {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Corsair { public class Corsair {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Crossbowman { public class Crossbowman {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Crusader { public class Crusader {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class DarkKnight { public class DarkKnight {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class DawnWarrior { public class DawnWarrior {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author David * @author David
*/ */
public class DragonKnight { public class DragonKnight {

View File

@@ -1,58 +1,58 @@
package constants.skills; package constants.skills;
public class Evan { public class Evan {
// EVAN1 // EVAN1
public static final int BLESSING_OF_THE_FAIRY = 20010012; public static final int BLESSING_OF_THE_FAIRY = 20010012;
public static final int THREE_SNAILS = 20011000; public static final int THREE_SNAILS = 20011000;
public static final int RECOVERY = 20011001; public static final int RECOVERY = 20011001;
public static final int NIMBLE_FEET = 20011002; public static final int NIMBLE_FEET = 20011002;
public static final int LEGENDARY_SPIRIT = 20011003; public static final int LEGENDARY_SPIRIT = 20011003;
public static final int MONSTER_RIDER = 20011004; public static final int MONSTER_RIDER = 20011004;
public static final int JUMP_DOWN = 20011006; public static final int JUMP_DOWN = 20011006;
public static final int ECHO_OF_HERO = 20011005; public static final int ECHO_OF_HERO = 20011005;
public static final int MAKER = 20011007; public static final int MAKER = 20011007;
public static final int BAMBOO_THRUST = 20011009; public static final int BAMBOO_THRUST = 20011009;
public static final int INVINCIBLE_BARRIER = 20011010; public static final int INVINCIBLE_BARRIER = 20011010;
public static final int POWER_EXPLOSION = 20011011; public static final int POWER_EXPLOSION = 20011011;
// EVAN2 // EVAN2
public static final int DRAGON_SOUL = 22000000; public static final int DRAGON_SOUL = 22000000;
public static final int MAGIC_MISSILE = 22001001; public static final int MAGIC_MISSILE = 22001001;
// EVAN3 // EVAN3
public static final int FIRE_CIRCLE = 22101000; public static final int FIRE_CIRCLE = 22101000;
public static final int TELEPORT = 22101001; public static final int TELEPORT = 22101001;
// EVAN4 // EVAN4
public static final int LIGHTNING_BOLT = 22111000; public static final int LIGHTNING_BOLT = 22111000;
public static final int MAGIC_GUARD = 22111001; public static final int MAGIC_GUARD = 22111001;
// EVAN5 // EVAN5
public static final int ICE_BREATH = 22121000; public static final int ICE_BREATH = 22121000;
public static final int ELEMENTAL_RESET = 22121001; public static final int ELEMENTAL_RESET = 22121001;
// EVAN6 // EVAN6
public static final int MAGIC_FLARE = 22131000; public static final int MAGIC_FLARE = 22131000;
public static final int MAGIC_SHIELD = 22131001; public static final int MAGIC_SHIELD = 22131001;
// EVAN7 // EVAN7
public static final int CRITICAL_MAGIC = 22140000; public static final int CRITICAL_MAGIC = 22140000;
public static final int DRAGON_THRUST = 22141001; public static final int DRAGON_THRUST = 22141001;
public static final int MAGIC_BOOSTER = 22141002; public static final int MAGIC_BOOSTER = 22141002;
public static final int SLOW = 22141003; public static final int SLOW = 22141003;
// EVAN8 // EVAN8
public static final int MAGIC_AMPLIFICATION = 22150000; public static final int MAGIC_AMPLIFICATION = 22150000;
public static final int FIRE_BREATH = 22151001; public static final int FIRE_BREATH = 22151001;
public static final int KILLER_WINGS = 22151002; public static final int KILLER_WINGS = 22151002;
public static final int MAGIC_RESISTANCE = 22151003; public static final int MAGIC_RESISTANCE = 22151003;
// EVAN9 // EVAN9
public static final int DRAGON_FURY = 22160000; public static final int DRAGON_FURY = 22160000;
public static final int EARTHQUAKE = 22161001; public static final int EARTHQUAKE = 22161001;
public static final int PHANTOM_IMPRINT = 22161002; public static final int PHANTOM_IMPRINT = 22161002;
public static final int RECOVERY_AURA = 22161003; public static final int RECOVERY_AURA = 22161003;
// EVAN10 // EVAN10
public static final int MAGIC_MASTERY = 22170001; public static final int MAGIC_MASTERY = 22170001;
public static final int MAPLE_WARRIOR = 22171000; public static final int MAPLE_WARRIOR = 22171000;
public static final int ILLUSION = 22171002; public static final int ILLUSION = 22171002;
public static final int FLAME_WHEEL = 22171003; public static final int FLAME_WHEEL = 22171003;
public static final int HEROS_WILL = 22171004; public static final int HEROS_WILL = 22171004;
// EVAN11 // EVAN11
public static final int BLESSING_OF_THE_ONYX = 22181000; public static final int BLESSING_OF_THE_ONYX = 22181000;
public static final int BLAZE = 22181001; public static final int BLAZE = 22181001;
public static final int DARK_FOG = 22181002; public static final int DARK_FOG = 22181002;
public static final int SOUL_STONE = 22181003; public static final int SOUL_STONE = 22181003;
} }

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class FPArchMage { public class FPArchMage {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class FPMage { public class FPMage {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class FPWizard { public class FPWizard {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Fighter { public class Fighter {

View File

@@ -20,8 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class GM { public class GM {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Gunslinger { public class Gunslinger {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Hermit { public class Hermit {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Hero { public class Hero {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Hunter { public class Hunter {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class ILArchMage { public class ILArchMage {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class ILMage { public class ILMage {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class ILWizard { public class ILWizard {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author kevintjuh93 * @author kevintjuh93
*/ */
public class Legend { public class Legend {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Magician { public class Magician {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Marauder { public class Marauder {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Marksman { public class Marksman {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class NightLord { public class NightLord {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class NightWalker { public class NightWalker {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Noblesse { public class Noblesse {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Outlaw { public class Outlaw {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Page { public class Page {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Paladin { public class Paladin {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Pirate { public class Pirate {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Priest { public class Priest {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Ranger { public class Ranger {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Rogue { public class Rogue {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Shadower { public class Shadower {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Sniper { public class Sniper {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class Spearman { public class Spearman {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class SuperGM { public class SuperGM {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class ThunderBreaker { public class ThunderBreaker {

View File

@@ -5,11 +5,10 @@
package constants.skills; package constants.skills;
/** /**
*
* @author Tyler * @author Tyler
*/ */
public class Warrior { public class Warrior {
public static final int IMPROVED_HPREC = 1000000; public static final int IMPROVED_HPREC = 1000000;
public static final int IMPROVED_MAXHP = 1000001; public static final int IMPROVED_MAXHP = 1000001;
public static final int IRON_BODY = 1000003; public static final int IRON_BODY = 1000003;
} }

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class WhiteKnight { public class WhiteKnight {

View File

@@ -22,7 +22,6 @@
package constants.skills; package constants.skills;
/** /**
*
* @author BubblesDev * @author BubblesDev
*/ */
public class WindArcher { public class WindArcher {

View File

@@ -3,9 +3,9 @@
* To change this template file, choose Tools | Templates * To change this template file, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package constants.string; package constants.string;
/* /*
* Thanks to GabrielSin (EllinMS) - gabrielsin@playellin.net * Thanks to GabrielSin (EllinMS) - gabrielsin@playellin.net
* Ellin * Ellin

View File

@@ -3,28 +3,27 @@ package constants.string;
import client.Character; import client.Character;
/** /**
*
* @author Drago (Dragohe4rt) * @author Drago (Dragohe4rt)
*/ */
public class LanguageConstants { public class LanguageConstants {
enum Language { enum Language {
LANG_PRT(0), LANG_PRT(0),
LANG_ESP(1), LANG_ESP(1),
LANG_ENG(2); LANG_ENG(2);
int lang; int lang;
private Language(int lang) { Language(int lang) {
this.lang = lang; this.lang = lang;
} }
private int getValue() { private int getValue() {
return this.lang; return this.lang;
} }
} }
public static String[] CPQBlue = new String[3]; public static String[] CPQBlue = new String[3];
public static String[] CPQError = new String[3]; public static String[] CPQError = new String[3];
public static String[] CPQEntry = new String[3]; public static String[] CPQEntry = new String[3];
@@ -38,10 +37,10 @@ public class LanguageConstants {
public static String[] CPQChallengeRoomAnswer = new String[3]; public static String[] CPQChallengeRoomAnswer = new String[3];
public static String[] CPQChallengeRoomSent = new String[3]; public static String[] CPQChallengeRoomSent = new String[3];
public static String[] CPQChallengeRoomDenied = new String[3]; public static String[] CPQChallengeRoomDenied = new String[3];
static { static {
int lang; int lang;
lang = Language.LANG_PRT.getValue(); lang = Language.LANG_PRT.getValue();
LanguageConstants.CPQBlue[lang] = "Maple Azul"; LanguageConstants.CPQBlue[lang] = "Maple Azul";
LanguageConstants.CPQRed[lang] = "Maple Vermelho"; LanguageConstants.CPQRed[lang] = "Maple Vermelho";
@@ -49,7 +48,7 @@ public class LanguageConstants {
LanguageConstants.CPQPlayerExit[lang] = " deixou o Carnaval de Monstros."; LanguageConstants.CPQPlayerExit[lang] = " deixou o Carnaval de Monstros.";
LanguageConstants.CPQError[lang] = "Ocorreu um problema. Favor recriar a sala."; LanguageConstants.CPQError[lang] = "Ocorreu um problema. Favor recriar a sala.";
LanguageConstants.CPQLeaderNotFound[lang] = "Nao foi possivel encontrar o Lider."; LanguageConstants.CPQLeaderNotFound[lang] = "Nao foi possivel encontrar o Lider.";
LanguageConstants.CPQPickRoom[lang] = "Inscreva-se no Festival de Monstros!\r\n"; LanguageConstants.CPQPickRoom[lang] = "Inscreva-se no Festival de Monstros!\r\n";
LanguageConstants.CPQChallengeRoomAnswer[lang] = "O grupo esta respondendo um desafio no momento."; LanguageConstants.CPQChallengeRoomAnswer[lang] = "O grupo esta respondendo um desafio no momento.";
LanguageConstants.CPQChallengeRoomSent[lang] = "Um desafio foi enviado para o grupo na sala. Aguarde um momento."; LanguageConstants.CPQChallengeRoomSent[lang] = "Um desafio foi enviado para o grupo na sala. Aguarde um momento.";
LanguageConstants.CPQChallengeRoomDenied[lang] = "O grupo na sala cancelou seu desafio."; LanguageConstants.CPQChallengeRoomDenied[lang] = "O grupo na sala cancelou seu desafio.";
@@ -71,7 +70,7 @@ public class LanguageConstants {
LanguageConstants.CPQFindError[lang] = "No se pudo encontrar un grupo en esta sala.\r\nProbablemente el grupo fue deshecho dentro de la sala!"; LanguageConstants.CPQFindError[lang] = "No se pudo encontrar un grupo en esta sala.\r\nProbablemente el grupo fue deshecho dentro de la sala!";
LanguageConstants.CPQEntryLobby[lang] = "Ahora usted recibira los retos de otros grupos. Si usted no acepta un desafio en 3 minutos, usted sera llevado hacia fuera."; LanguageConstants.CPQEntryLobby[lang] = "Ahora usted recibira los retos de otros grupos. Si usted no acepta un desafio en 3 minutos, usted sera llevado hacia fuera.";
LanguageConstants.CPQEntry[lang] = "Usted puede seleccionar \"Invocar Monstruos\", \"Habilidad\", o \"Protector\" como su tactica durante el Carnaval de los Monstruos. Utilice Tab y F1 ~ F12 para acceso rapido!"; LanguageConstants.CPQEntry[lang] = "Usted puede seleccionar \"Invocar Monstruos\", \"Habilidad\", o \"Protector\" como su tactica durante el Carnaval de los Monstruos. Utilice Tab y F1 ~ F12 para acceso rapido!";
lang = Language.LANG_ENG.getValue(); lang = Language.LANG_ENG.getValue();
LanguageConstants.CPQBlue[lang] = "Maple Blue"; LanguageConstants.CPQBlue[lang] = "Maple Blue";
LanguageConstants.CPQRed[lang] = "Maple Red"; LanguageConstants.CPQRed[lang] = "Maple Red";
@@ -86,8 +85,8 @@ public class LanguageConstants {
LanguageConstants.CPQFindError[lang] = "We could not find a group in this room.\r\nProbably the group was scrapped inside the room!"; LanguageConstants.CPQFindError[lang] = "We could not find a group in this room.\r\nProbably the group was scrapped inside the room!";
LanguageConstants.CPQEntryLobby[lang] = "You will now receive challenges from other groups. If you do not accept a challenge within 3 minutes, you will be taken out."; LanguageConstants.CPQEntryLobby[lang] = "You will now receive challenges from other groups. If you do not accept a challenge within 3 minutes, you will be taken out.";
LanguageConstants.CPQEntry[lang] = "You can select \"Summon Monsters\", \"Ability\", or \"Protector\" as your tactic during the Monster Carnival. Use Tab and F1 ~ F12 for quick access!"; LanguageConstants.CPQEntry[lang] = "You can select \"Summon Monsters\", \"Ability\", or \"Protector\" as your tactic during the Monster Carnival. Use Tab and F1 ~ F12 for quick access!";
} }
public static String getMessage(Character chr, String[] message) { public static String getMessage(Character chr, String[] message) {