package server.buffs.buffclasses.adventurer; import client.MapleBuffStat; import client.MapleJob; import server.MapleStatEffect; import server.MapleStatInfo; import server.buffs.AbstractBuffClass; public class ThiefBuff extends AbstractBuffClass { public ThiefBuff() { buffs = new int[]{ 4001003, // 隱身術 4001005, // 速度激發 4101003, // 極速暗殺 4201002, // 快速之刀 4201009, // 輪迴 4201011, // 楓幣護盾 4111002, // 影分身 4111009, // 無形鏢 4211003, // 勇者掠奪術 4211008, // 影分身 4121000, // 楓葉祝福 4121014, // 黑暗能量 4121053, // 傳說冒險 4121054, // 出血毒素 4221000, // 楓葉祝福 4221013, // 暗殺本能 4221053, // 傳說冒險 4221054, // 翻轉硬幣 4301003, // 自我速度激發 4311005, // 輪迴 4311009, // 神速雙刀 4331002, // 替身術 4331006, // 隱‧鎖鏈地獄 4341000, // 楓葉祝福 4341007, // 荊棘特效 //4341006, // 幻影替身 4341052, // 修羅 4341054, // 隱藏刀 4341053, // 傳說冒險 }; } @Override public boolean containsJob(int job) { return MapleJob.is冒險家(job) && job / 100 == 4; } @Override public void handleBuff(MapleStatEffect eff, int skill) { switch (skill) { case 4001005: // 速度激發 case 4301003: // 自我速度激發 eff.statups.put(MapleBuffStat.SPEED, eff.info.get(MapleStatInfo.speed)); eff.statups.put(MapleBuffStat.JUMP, eff.info.get(MapleStatInfo.jump)); break; case 4001003: //Dark Sight eff.statups.put(MapleBuffStat.DARKSIGHT, eff.info.get(MapleStatInfo.x)); break; case 4101003: //Claw Booster case 4201002: //Dagger Booster case 4311009: // 神速雙刀 eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x)); break; case 4201011: //Meso Guard eff.statups.put(MapleBuffStat.MESOGUARD, eff.info.get(MapleStatInfo.x)); break; case 4201009: // 輪迴 case 4311005: // 輪迴 eff.statups.put(MapleBuffStat.WATK, eff.info.get(MapleStatInfo.pad)); break; case 4211003: //Pick Pocket eff.info.put(MapleStatInfo.time, 2100000000); eff.statups.put(MapleBuffStat.PICKPOCKET, eff.info.get(MapleStatInfo.x)); break; case 4111002: //Shadow Partner case 4211008: //Shadow Partner case 4331002: // 替身術 eff.statups.put(MapleBuffStat.SHADOWPARTNER, eff.info.get(MapleStatInfo.x)); break; case 4111009: //Shadow Star eff.statups.put(MapleBuffStat.SPIRIT_CLAW, 0); break; case 4121014: //Dark Harmony eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad));//test - works without break; case 4331006: // 隱‧鎖鏈地獄 eff.statups.put(MapleBuffStat.INVINCIBILITY, 1); eff.statups.put(MapleBuffStat.STATUS_RESIST_TWO, 1); break; case 4341007: // 荊棘特效 eff.statups.put(MapleBuffStat.STANCE, (int) eff.info.get(MapleStatInfo.prop)); eff.statups.put(MapleBuffStat.ENHANCED_WATK, (int) eff.info.get(MapleStatInfo.epad)); break; case 4221013: //Shadow Instinct break; case 4121000: //Maple Warrior case 4221000: //Maple Warrior case 4341000: // 楓葉祝福 eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x)); break; case 4121054: //Bleed Dart break; case 4341052: // 修羅 eff.statups.put(MapleBuffStat.ASURA_IS_ANGER, eff.info.get(MapleStatInfo.x)); break; case 4341054: // 隱藏刀 eff.statups.put(MapleBuffStat.BLADE_CLONE, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.INDIE_DAM_R, eff.info.get(MapleStatInfo.indieDamR)); case 4121053: //Epic Adventure case 4221053: //Epic Adventure case 4341053: // 傳說冒險 eff.statups.put(MapleBuffStat.INDIE_DAM_R, eff.info.get(MapleStatInfo.indieDamR)); eff.statups.put(MapleBuffStat.INDIE_MAX_DAMAGE_OVER, eff.info.get(MapleStatInfo.indieMaxDamageOver)); break; default: // System.out.println("Thief skill not coded: " + skill); break; } } }