package server.buffs.buffclasses.sengoku; import client.MapleBuffStat; import constants.GameConstants; import server.MapleStatEffect; import server.MapleStatInfo; import server.buffs.AbstractBuffClass; /** * * @author Charmander */ public class KannaBuff extends AbstractBuffClass { public KannaBuff() { buffs = new int[]{ 42101023, // Breath of the Unseen - HiddenBuff 42101021, // Foxfire - HiddenBuff 42121021, // Foxfire - HiddenBuff 42101001, // Shikigami Charm - HiddenBuff 42101022, // Haku's Blessing - HiddenBuff 42101002, // Haku Reborn 42101003, // Radiant Peacock 42111004, // Blossom Barrier - mist 42121005, // Bellflower Barrier - mist 42121006, // Maple Warrior 42121054, // Blackhearted Curse 42121053, // Princess's Vow 42101004, // Burning Shikigami Haunting 42111006, // Frozen Shikigami Haunting 42121008, // Mighty Shikigami Haunting 42111003, // Kishin Shoukan }; } @Override public boolean containsJob(int job) { return GameConstants.isKanna(job); } @Override public void handleBuff(MapleStatEffect eff, int skill) { switch (skill) { case 42101023: // Breath of the Unseen - HiddenBuff? eff.statups.put(MapleBuffStat.IGNORE_DEF, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.STANCE, eff.info.get(MapleStatInfo.prop)); break; case 42101021: // Foxfire -HiddenBuff eff.statups.put(MapleBuffStat.FOX_FIRE, eff.info.get(MapleStatInfo.x)); case 42121021:// Foxfire case 42101001:// Shikigami Charm case 42100010: eff.statups.put(MapleBuffStat.SUMMON, 1); break; case 42101022: // Haku's Blessing eff.statups.put(MapleBuffStat.HAKU_BLESS, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.WDEF_BOOST, eff.info.get(MapleStatInfo.indiePdd)); eff.statups.put(MapleBuffStat.MDEF_BOOST, eff.info.get(MapleStatInfo.indieMdd)); break; case 42101002: // Haku Reborn eff.statups.put(MapleBuffStat.HAKU_REBORN, Integer.valueOf(1)); break; case 42101003: // Radiant Peacock eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x)); break; case 42121006: // Maple Warrior eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x)); break; case 42121054: // Blackhearted Curse //TODO break; case 42121053: // 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; case 42101004: // Burning Shikigami Haunting case 42111006: // Frozen Shikigami Haunting case 42121008: // Mighty Shikigami Haunting eff.statups.put(MapleBuffStat.SHIKIGAMI, Integer.valueOf(-eff.info.get(MapleStatInfo.x).intValue())); break; case 42111003: // Kishin Shoukan eff.info.put(MapleStatInfo.time, Integer.valueOf(60000)); eff.statups.put(MapleBuffStat.SUMMON, Integer.valueOf(1)); break; default: //System.out.println("Kanna skill not coded: " + skill); break; } } }