package client.status; import client.MapleDisease; import constants.GameConstants; import handling.Buffstat; import server.skill.冒险家.无影人; import java.io.Serializable; /** * 怪物获得的BUFF基址 */ public enum MonsterStatus implements Serializable, Buffstat { 物攻(0x1, 1), // ok 物防(0x2, 1), // ok 魔攻(0x4, 1), 魔防(0x8, 1), 命中(0x10, 1), 回避(0x20, 1), 速度(0x40, 1), // ok 眩晕(0x80,1), // ok 结冰(0x100, 1),//麻痹 中毒(0x200, 1), // ok 沉默(0x400, 1), 挑衅(0x800, 1), 恐慌(0x1000,1 ), 物理防御无效(0x2000,1), 魔法防御无效(0x4000,1), 封印(0x8000,1), // ok 影网(0x20000,1), 物攻提升(0x10000,1), 魔攻提升(0x20000,1), 物防提升(0x40000,1), 固定住不动(0x8000,1), 魔防提升(0x80000,1 ); static final long serialVersionUID = 0L; private final int i; private final int first; private final boolean end; private MonsterStatus(int i, int first) { this.i = i; this.first = first; this.end = false; } private MonsterStatus(int i, int first, boolean end) { this.i = i; this.first = first; this.end = end; } @Override public int getPosition() { return this.first; } public boolean isEmpty() { return this.end; } @Override public int getValue() { return this.i; } public static MonsterStatus getBySkill_Pokemon(int skill) { switch (skill) { case 120: return 沉默; case 123: return 眩晕; case 125: return 中毒; case 126: return 速度; case 137: return 结冰; case 122: case 124: case 127: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: } return null; } public static MapleDisease getLinkedDisease(MonsterStatus stat) { switch (stat) { case 眩晕: // case 影网: return MapleDisease.昏迷; case 中毒: // case 心灵控制: return MapleDisease.中毒; case 沉默: // case 魔击无效: return MapleDisease.封印; case 结冰: // return MapleDisease.FREEZE; // case 反射物攻: // return MapleDisease.黑暗; case 速度: // return MapleDisease.缓慢; } return null; } public static int genericSkill(MonsterStatus stat) { switch (stat) { case 眩晕: return 90001001; case 速度: return 90001002; case 中毒: return 90001003; // case 反射物攻: // return 90001004; case 沉默: return 90001005; case 结冰: return 90001006; // case 魔击无效: // return 1111007; case 挑衅: return 4121003; case 影网: return 无影人.影网术; // case 烈焰喷射: // return 5211004; // case 巫毒: // return 2311005; // case 忍者伏击: // return 4121004; /*case 三角进攻: return 36110005;*/ } return 0; } }