/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package server.buffs.buffclasses.resistance; import client.MapleBuffStat; import constants.GameConstants; import server.MapleStatEffect; import server.MapleStatInfo; import server.buffs.AbstractBuffClass; /** * * @author Sunny */ public class DemonBuff extends AbstractBuffClass { public DemonBuff() { buffs = new int[]{ 31001001, // booster 31101003, // Vengeance 31111004, // Black-Hearted Strength 31121007, // Boundless Rage 31121004, // MW 31121002, // Leech Aura 31011001, // Overload Release 31201002, // Battle Pact 31201003, // Abyssal Connection 31211003, // Ward Evil 31211004, // Diabolic Recovery 31221004, // Overwhelming Power 31221008, // MW 31121054, // Blue Blood 31221054, }; } @Override public boolean containsJob(int job) { return GameConstants.isDemonSlayer(job) || GameConstants.isDemonAvenger(job); } @Override public void handleBuff(MapleStatEffect eff, int skill) { switch (skill) { case 31001001: case 31201002: // booster eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x) * 2); break; case 31011001: // Overload Release eff.statups.put(MapleBuffStat.HP_R, eff.info.get(MapleStatInfo.indieMhpR)); break; case 31101003: // Vengeance eff.statups.put(MapleBuffStat.POWERGUARD, eff.info.get(MapleStatInfo.y)); break; case 31201003: // Abyssal Connection eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad)); break; case 31211003: // Ward Evil eff.statups.put(MapleBuffStat.WATER_SHIELD, eff.info.get(MapleStatInfo.y)); eff.statups.put(MapleBuffStat.ELEMENTAL_STATUS_R, eff.info.get(MapleStatInfo.z)); eff.statups.put(MapleBuffStat.ABNORMAL_STATUS_R, eff.info.get(MapleStatInfo.x)); break; case 31211004: // Diabolic Recovery eff.statups.put(MapleBuffStat.DIABOLIC_RECOVERY, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.HP_R, eff.info.get(MapleStatInfo.indieMhpR)); break; case 31221004: eff.statups.put(MapleBuffStat.DAMAGE_PERCENT, eff.info.get(MapleStatInfo.indieDamR)); eff.statups.put(MapleBuffStat.ATTACK_SPEED, +2); // eff.statups.put(MapleBuffStat.BOOSTER, 2); break; case 31111004: // Black-Hearted Strength eff.statups.put(MapleBuffStat.ABNORMAL_STATUS_R, eff.info.get(MapleStatInfo.y)); eff.statups.put(MapleBuffStat.ELEMENTAL_STATUS_R, eff.info.get(MapleStatInfo.z)); eff.statups.put(MapleBuffStat.DEFENCE_BOOST_R, eff.info.get(MapleStatInfo.x)); break; case 31121007: // Boundless Rage eff.statups.put(MapleBuffStat.BOUNDLESS_RAGE, 1); break; case 31121004: // MW case 31221008: // MW eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x)); break; case 31121002: //Leech Aura eff.statups.put(MapleBuffStat.LEECH_AURA, eff.info.get(MapleStatInfo.x)); break; case 31121054: eff.statups.put(MapleBuffStat.SHADOWPARTNER, eff.info.get(MapleStatInfo.x)); break; case 31221054: eff.statups.put(MapleBuffStat.HP_R, eff.info.get(MapleStatInfo.indieMhpR)); default: // System.out.println("Unhandled Demon Buff: " + skill); break; } } }