package client;
import java.io.PrintStream;
public enum MapleJob {
BEGINNER(0),
WARRIOR(100),
FIGHTER(110),
CRUSADER(111),
HERO(112),
PAGE(120),
WHITEKNIGHT(121),
PALADIN(122),
SPEARMAN(130),
DRAGONKNIGHT(131),
DARKKNIGHT(132),
MAGICIAN(200),
FP_WIZARD(210),
FP_MAGE(211),
FP_ARCHMAGE(212),
IL_WIZARD(220),
IL_MAGE(221),
IL_ARCHMAGE(222),
CLERIC(230),
PRIEST(231),
BISHOP(232),
BOWMAN(300),
HUNTER(310),
RANGER(311),
BOWMASTER(312),
CROSSBOWMAN(320),
SNIPER(321),
MARKSMAN(322),
THIEF(400),
ASSASSIN(410),
HERMIT(411),
NIGHTLORD(412),
BANDIT(420),
CHIEFBANDIT(421),
SHADOWER(422),
BLADE_RECRUIT(430),
BLADE_ACOLYTE(431),
BLADE_SPECIALIST(432),
BLADE_LORD(433),
BLADE_MASTER(434),
PIRATE(500),
PIRATE_CS(501),
JETT1(508),
BRAWLER(510),
MARAUDER(511),
BUCCANEER(512),
GUNSLINGER(520),
OUTLAW(521),
CORSAIR(522),
CANNONEER(530),
CANNON_BLASTER(531),
CANNON_MASTER(532),
JETT2(570),
JETT3(571),
JETT4(572),
MANAGER(800),
GM(900),
SUPERGM(910),
NOBLESSE(1000),
DAWNWARRIOR1(1100),
DAWNWARRIOR2(1110),
DAWNWARRIOR3(1111),
DAWNWARRIOR4(1112),
BLAZEWIZARD1(1200),
BLAZEWIZARD2(1210),
BLAZEWIZARD3(1211),
BLAZEWIZARD4(1212),
WINDARCHER1(1300),
WINDARCHER2(1310),
WINDARCHER3(1311),
WINDARCHER4(1312),
NIGHTWALKER1(1400),
NIGHTWALKER2(1410),
NIGHTWALKER3(1411),
NIGHTWALKER4(1412),
THUNDERBREAKER1(1500),
THUNDERBREAKER2(1510),
THUNDERBREAKER3(1511),
THUNDERBREAKER4(1512),
LEGEND(2000),
EVAN_NOOB(2001),
ARAN1(2100),
ARAN2(2110),
ARAN3(2111),
ARAN4(2112),
EVAN1(2200),
EVAN2(2210),
EVAN3(2211),
EVAN4(2212),
EVAN5(2213),
EVAN6(2214),
EVAN7(2215),
EVAN8(2216),
EVAN9(2217),
EVAN10(2218),
MERCEDES_NOOB(2002),
MERCEDES1(2300),
MERCEDES2(2310),
MERCEDES3(2311),
MERCEDES4(2312),
PHANTOM_NOOB(2003),
PHANTOM1(2400),
PHANTOM2(2410),
PHANTOM3(2411),
PHANTOM4(2412),
luminous(2004),
luminous1(2700),
luminous2(2710),
luminous3(2711),
luminous4(2712),
CITIZEN(3000),
CITIZEN_DS(3001),
DEMON_SLAYER1(3100),
DEMON_SLAYER2(3110),
DEMON_SLAYER3(3111),
DEMON_SLAYER4(3112),
BATTLE_MAGE_1(3200),
BATTLE_MAGE_2(3210),
BATTLE_MAGE_3(3211),
BATTLE_MAGE_4(3212),
WILD_HUNTER_1(3300),
WILD_HUNTER_2(3310),
WILD_HUNTER_3(3311),
WILD_HUNTER_4(3312),
MECHANIC_1(3500),
MECHANIC_2(3510),
MECHANIC_3(3511),
MECHANIC_4(3512),
xenon(3002),
xenon1(3600),
xenon2(3610),
xenon3(3611),
xenon4(3612),
hayato(4001),
hayato1(4100),
hayato2(4110),
hayato3(4111),
hayato4(4112),
kanna(4002),
kanna1(4200),
kanna2(4210),
kanna3(4211),
kanna4(4212),
MIHILE(5000),
MIHILE_1ST(5100),
MIHILE_2ND(5110),
MIHILE_3RD(5111),
MIHILE_4TH(5112),
Kaiser(6000),
Kaiser1(6100),
Kaiser2(6110),
Kaiser3(6111),
Kaiser4(6112),
Angelic(6001),
Angelic1(6500),
Angelic2(6510),
Angelic3(6511),
Angelic4(6512),
Zero(10000),
Zero1(10100),
Zero2(10110),
Zero3(10111),
Zero4(10112),
ADDITIONAL_SKILLS(9000);
private final int jobid;
private MapleJob(int id) {
this.jobid = id;
}
public int getId() {
return this.jobid;
}
public static String getName(MapleJob mjob) {
return mjob.name();
}
public static MapleJob getById(int id) {
for (MapleJob l : values()) {
if (l.getId() == id) {
return l;
}
}
return null;
}
public static int getEncodingByJob(int job) {
int exponent = job / 100;
return (int) Math.pow(2.0D, exponent);
}
public boolean isA(MapleJob basejob) {
return (this.jobid >= basejob.getId()) && (basejob.getId() % 100 > 0 ? this.jobid / 10 == basejob.getId() / 10 : this.jobid / 100 == basejob.getId() / 100);
}
public boolean isSeparatedSp() {
return (this.jobid == 508) || (this.jobid / 10 == 57) || (this.jobid == 2001) || (this.jobid == 2002) || (this.jobid == 2003) || (this.jobid >= 2200);
}
public int getBaseJob() {
return this.jobid - this.jobid % 100;
}
public int getBeginnerJob() {
if (this.jobid / 1000 == 1) {
return 1000;
}
if ((this.jobid == 2000) || (this.jobid / 100 == 21)) {
return 2000;
}
if ((this.jobid == 2001) || (this.jobid / 100 == 22)) {
return 2001;
}
if ((this.jobid == 2002) || (this.jobid / 100 == 23)) {
return 2002;
}
if ((this.jobid == 2003) || (this.jobid / 100 == 24)) {
return 2003;
}
if ((this.jobid == 2004) || (this.jobid / 100 == 27)) {
return 2004;
}
if ((this.jobid == 3000) || (this.jobid >= 3200)) {
return 3000;
}
if ((this.jobid == 3001) || (this.jobid / 100 == 31)) {
return 3001;
}
if ((this.jobid == 4001) || (this.jobid / 100 == 41)) {
return 4001;
}
if ((this.jobid == 4002) || (this.jobid / 100 == 42)) {
return 4002;
}
if ((this.jobid == 6000) || (this.jobid / 100 == 61)) {
return 6000;
}
if ((this.jobid == 6001) || (this.jobid / 100 == 65)) {
return 6001;
}
if (this.jobid < 1000) {
return 0;
}
System.out.println("getBeginnerJob() is unknown for jobid: " + this.jobid);
return 0;
}
public boolean isBeginner() {
return this.jobid == getBeginnerJob();
}
public boolean isWH() {
return this.jobid / 100 == 33;
}
public boolean isEvan() {
return (this.jobid == 2001) || (this.jobid / 100 == 22);
}
public boolean isEvanButNotNoob() {
return this.jobid / 100 == 22;
}
public boolean isDemonSlayer() {
return (this.jobid == 3001) || (this.jobid / 100 == 31);
}
public boolean isDemonSlayerButNotNoob() {
return this.jobid / 100 == 31;
}
public boolean isCygnus() {
return (this.jobid >= 1000) && (this.jobid < 1600);
}
public boolean isMechanic() {
return this.jobid / 100 == 35;
}
public boolean isMercedes() {
return (this.jobid == 2002) || (this.jobid / 100 == 23);
}
public boolean isCannonShooter() {
return this.jobid / 10 == 53;
}
public boolean isAran() {
return (this.jobid == 2000) || (this.jobid / 100 == 21);
}
public boolean isResistance() {
return this.jobid / 1000 == 3;
}
public boolean isJett() {
return (this.jobid == 508) || (this.jobid / 10 == 57);
}
public boolean isPhantom() {
return (this.jobid == 2003) || (this.jobid / 100 == 24);
}
public boolean isluminous() {
return (this.jobid == 2004) || (this.jobid / 100 == 27);
}
public boolean ishayato() {
return (this.jobid == 4001) || (this.jobid / 100 == 41);
}
public boolean iskanna() {
return (this.jobid == 4002) || (this.jobid / 100 == 42);
}
public boolean iskaiser() {
return (this.jobid == 6000) || (this.jobid / 100 == 61);
}
public boolean isangelic() {
return (this.jobid == 6001) || (this.jobid / 100 == 65);
}
}