package server.buffs.buffclasses.sengoku; import client.MapleBuffStat; import client.MonsterStatus; import constants.GameConstants; import server.MapleStatEffect; import server.MapleStatInfo; import server.buffs.AbstractBuffClass; import tools.packet.CWvsContext; /** * * @author Charmander */ public class HayatoBuff extends AbstractBuffClass { public HayatoBuff() { buffs = new int[]{ 41001001, // Battoujutsu Stance 41101003, // Military Might 41101005, // Katana Booster 41121003, // Iron Skin 41121005, // Akatsuki Hero 41121054, // God of Blades 41121053, // Princess's Vow }; } @Override public boolean containsJob(int job) { return GameConstants.isHayato(job); } @Override public void handleBuff(MapleStatEffect eff, int skill) { switch (skill) { case 41110008: case 41001001: // Battoujutsu Stance eff.info.put(MapleStatInfo.time, Integer.valueOf(2100000000)); eff.statups.put(MapleBuffStat.CRITICAL_DAMAGE, eff.info.get(MapleStatInfo.y)); eff.statups.put(MapleBuffStat.BATTOUJUTSU_STANCE, 1); eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.actionSpeed)); eff.statups.put(MapleBuffStat.HAYATO_STANCE, eff.info.get(MapleStatInfo.prop)); CWvsContext.enableActions(); break; case 41101003: // Military Might eff.statups.put(MapleBuffStat.JUMP, eff.info.get(MapleStatInfo.jump)); eff.statups.put(MapleBuffStat.JUMP, eff.info.get(MapleStatInfo.u)); eff.statups.put(MapleBuffStat.SPEED, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.HAYATO3, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.HAYATO4, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.HAYATO5, eff.info.get(MapleStatInfo.x)); break; case 41101005: // Katana Booster eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x)); break; case 41121003: // Iron Skin, eff.statups.put(MapleBuffStat.ABNORMAL_STATUS_R, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.ELEMENTAL_STATUS_R, eff.info.get(MapleStatInfo.y)); break; case 41121005: // Akatsuki Hero eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x)); break; case 41121054: // God of Blades //TODO - works without break; case 41121053: // Princess's Vow eff.statups.put(MapleBuffStat.DAMAGE_CAP_INCREASE, eff.info.get(MapleStatInfo.indieMaxDamageOver)); eff.statups.put(MapleBuffStat.DAMAGE_PERCENT, eff.info.get(MapleStatInfo.indieDamR)); break; default: //System.out.println("Hayato skill not coded: " + skill); break; } } }