MapleJob.java
上传用户:gwt600
上传日期:2021-06-03
资源大小:704k
文件大小:5k
源码类别:

游戏

开发平台:

Java

  1. /*
  2. This file is part of the OdinMS Maple Story Server
  3. Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc> 
  4. Matthias Butz <matze@odinms.de>
  5. Jan Christian Meyer <vimes@odinms.de>
  6. This program is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU Affero General Public License version 3
  8. as published by the Free Software Foundation. You may not use, modify
  9. or distribute this program under any other version of the
  10. GNU Affero General Public License.
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU Affero General Public License for more details.
  15. You should have received a copy of the GNU Affero General Public License
  16. along with this program.  If not, see <http://www.gnu.org/licenses/>.
  17.  */
  18. package net.sf.odinms.client;
  19. public enum MapleJob {
  20.     BEGINNER(0),
  21.     WARRIOR(100),
  22.     FIGHTER(110),
  23.     CRUSADER(111),
  24.     HERO(112),
  25.     PAGE(120),
  26.     WHITEKNIGHT(121),
  27.     PALADIN(122),
  28.     SPEARMAN(130),
  29.     DRAGONKNIGHT(131),
  30.     DARKKNIGHT(132),
  31.     MAGICIAN(200),
  32.     FP_WIZARD(210),
  33.     FP_MAGE(211),
  34.     FP_ARCHMAGE(212),
  35.     IL_WIZARD(220),
  36.     IL_MAGE(221),
  37.     IL_ARCHMAGE(222),
  38.     CLERIC(230),
  39.     PRIEST(231),
  40.     BISHOP(232),
  41.     BOWMAN(300),
  42.     HUNTER(310),
  43.     RANGER(311),
  44.     BOWMASTER(312),
  45.     CROSSBOWMAN(320),
  46.     SNIPER(321),
  47.     CROSSBOWMASTER(322),
  48.     THIEF(400),
  49.     ASSASSIN(410),
  50.     HERMIT(411),
  51.     NIGHTLORD(412),
  52.     BANDIT(420),
  53.     CHIEFBANDIT(421),
  54.     SHADOWER(422),
  55.     PIRATE(500),
  56.     BRAWLER(510),
  57.     MARAUDER(511),
  58.     BUCCANEER(512),
  59.     GUNSLINGER(520),
  60.     OUTLAW(521),
  61.     CORSAIR(522),
  62.     GM(900),
  63.     SUPERGM(910);
  64.     final int jobid;
  65.     private MapleJob(int id) {
  66.         jobid = id;
  67.     }
  68.     public int getId() {
  69.         return jobid;
  70.     }
  71.     public static MapleJob getById(int id) {
  72.         for (MapleJob l : MapleJob.values()) {
  73.             if (l.getId() == id) {
  74.                 return l;
  75.             }
  76.         }
  77.         return null;
  78.     }
  79.     public static MapleJob getBy5ByteEncoding(int encoded) {
  80.         switch (encoded) {
  81.             case 2:
  82.                 return WARRIOR;
  83.             case 4:
  84.                 return MAGICIAN;
  85.             case 8:
  86.                 return BOWMAN;
  87.             case 16:
  88.                 return THIEF;
  89.             case 32: // ??
  90.                 return PIRATE;
  91.             default:
  92.                 return BEGINNER;
  93.         }
  94.     }
  95.     public boolean isA(MapleJob basejob) {
  96.         return getId() >= basejob.getId() && getId() / 100 == basejob.getId() / 100;
  97.     }
  98.     
  99.     public static String getJobName(int id) {
  100.         switch (id) {
  101.             case 0: return "新人";
  102.             case 100: return "战士";
  103.             case 110: return "剑客";
  104.             case 111: return "勇士";
  105.             case 112: return "英雄";
  106.             case 120: return "准骑士";
  107.             case 121: return "骑士";
  108.             case 122: return "圣骑士";
  109.             case 130: return "枪骑士";
  110.             case 131: return "龙骑士";
  111.             case 132: return "黑骑士";
  112.             case 200: return "魔法师";
  113.             case 210: return "火毒法师";
  114.             case 211: return "火毒巫师";
  115.             case 212: return "火毒魔导士";
  116.             case 220: return "冰雷法师";
  117.             case 221: return "冰雷巫师";
  118.             case 222: return "冰雷魔导士";
  119.             case 230: return "牧师";
  120.             case 231: return "祭司";
  121.             case 232: return "主教";
  122.             case 300: return "弓箭手";
  123.             case 310: return "猎人";
  124.             case 320: return "弩弓手";
  125.             case 311: return "射手";
  126.             case 321: return "游侠";
  127.             case 312: return "神箭";
  128.             case 322: return "箭神";
  129.             case 400: return "飞侠";
  130.             case 410: return "刺客";
  131.             case 420: return "侠客";
  132.             case 411: return "无影人";
  133.             case 421: return "独行客";
  134.             case 412: return "隐士";
  135.             case 422: return "侠盗";
  136.             case 500: return "海盗";
  137. case 510: return "拳手";
  138. case 511: return "斗士";
  139. case 512: return "冲锋队长";
  140. case 520: return "火枪手";
  141. case 521: return "大副";
  142. case 522: return "船长";
  143.             case 900: return "GM";
  144.             case 910: return "超级GM";
  145.             default: return "";
  146.         }
  147.     }
  148. }