/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package server.buffs.buffclasses.adventurer; import client.MapleBuffStat; import constants.GameConstants; import server.MapleStatEffect; import server.MapleStatInfo; import server.buffs.AbstractBuffClass; /** * * @author Itzik */ public class MagicianBuff extends AbstractBuffClass { public MagicianBuff() { buffs = new int[]{ 2001002, //Magic Guard 2001003, //Magic Armour 2101001, //Meditation 2201001, //Meditation 2300009, //Blessed Ensemble - passive but buff? 2301004, //Bless 2301008, //Magic Booster 2101008, //Magic Booster 2201010, //Magic Booster 2301003, //Invicible 2111005, //Spell Booster 2111007, //Teleport Mastery 2111008, //Elemental Decrease 2211005, //Spell Booster 2211007, //Teleport Mastery 2211008, //Elemental Decrease 2311011, //Holy Fountain 2311012, //Divine Protection 2211012, //Elemental Adaptation (Ice, Lightning) 2111011, //Elemental Adaptation (Fire, Poison) 2311002, //Mystic Door 2311003, //Holy Symbol 2311007, //Teleport Mastery 2311009, //Holy Magic Shield 2121000, //Maple Warrior 2121004, //Infinity 2121009, //Buff Mastery 2221000, //Maple Warrior 2221004, //Infinity 2121004, //Infinity 2221004, //Infinity 2221009, //Buff Mastery 2321000, //Maple Warrior 2321004, //Infinity 2321005, //Advanced Blessing 2321010, //Buff Mastery 2121053, //Epic Adventure 2121054, //Inferno Aura 2221053, //Epic Adventure 2221054, //Absolute Zero Aura 2321053, //Epic Adventure 2321054, //Avenging Angel }; } @Override public boolean containsJob(int job) { return GameConstants.isAdventurer(job) && job / 100 == 2; } @Override public void handleBuff(MapleStatEffect eff, int skill) { switch (skill) { case 2001002: //Magic Guard eff.statups.put(MapleBuffStat.MAGIC_GUARD, eff.info.get(MapleStatInfo.x)); break; case 2300009: //Blessed Ensemble eff.statups.put(MapleBuffStat.PASSIVE_BLESS, eff.info.get(MapleStatInfo.x)); break; case 2301004: //Bless eff.statups.put(MapleBuffStat.BLESS, eff.info.get(MapleStatInfo.x)); break; case 2101008: //Magic Booster case 2201010: //Magic Booster case 2301008: //Magic Booster eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x)); break; case 2301003: //Invicible eff.statups.put(MapleBuffStat.INVINCIBLE, eff.info.get(MapleStatInfo.x)); break; case 2111011: //Elemental Adaptation (Fire, Poison) case 2211012: //Elemental Adaptation (Ice, Lightning) case 2311012: //Divine Protection eff.statups.put(MapleBuffStat.PRESSURE_VOID, eff.info.get(MapleStatInfo.x)); break; case 2111008: //Elemental Decrease case 2211008: //Elemental Decrease eff.statups.put(MapleBuffStat.ELEMENT_RESET, eff.info.get(MapleStatInfo.x)); break; case 2311003: //Holy Symbol eff.statups.put(MapleBuffStat.HOLY_SYMBOL, eff.info.get(MapleStatInfo.x)); break; case 2111007: //Teleport Mastery case 2211007: //Teleport Mastery case 2311007: //Teleport Mastery eff.info.put(MapleStatInfo.mpCon, eff.info.get(MapleStatInfo.y)); eff.info.put(MapleStatInfo.time, 2100000000); eff.statups.put(MapleBuffStat.TELEPORT_MASTERY, eff.info.get(MapleStatInfo.x)); //eff.monsterStatus.put(MonsterStatus.STUN, Integer.valueOf(1)); break; case 2311009: //Holy Magic Shield eff.statups.put(MapleBuffStat.HOLY_MAGIC_SHELL, eff.info.get(MapleStatInfo.x)); break; case 2121004: //Infinity case 2221004: //Infinity case 2321004: //Infinity eff.statups.put(MapleBuffStat.INFINITY, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.STANCE, eff.info.get(MapleStatInfo.prop)); break; case 2321005: //Advanced Blessing eff.statups.put(MapleBuffStat.HOLY_SHIELD, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.HP_BOOST, eff.info.get(MapleStatInfo.indieMhp)); eff.statups.put(MapleBuffStat.MP_BOOST, eff.info.get(MapleStatInfo.indieMmp)); break; case 2121000: //Maple Warrior case 2221000: //Maple Warrior case 2321000: //Maple Warrior eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x)); break; case 2121053: //Epic Adventure case 2221053: //Epic Adventure case 2321053: //Epic Adventure eff.statups.put(MapleBuffStat.DAMAGE_PERCENT, eff.info.get(MapleStatInfo.indieDamR)); eff.statups.put(MapleBuffStat.DAMAGE_CAP_INCREASE, eff.info.get(MapleStatInfo.indieMaxDamageOver)); break; // case 2121054: // eff.statups.put(MapleBuffStat.FIRE_AURA, eff.info.get(MapleStatInfo.x)); case 2321054: //Righteously Indignant eff.statups.put(MapleBuffStat.ANGEL, 1); eff.statups.put(MapleBuffStat.IGNORE_DEF, eff.info.get(MapleStatInfo.ignoreMobpdpR)); eff.statups.put(MapleBuffStat.ATTACK_SPEED, eff.info.get(MapleStatInfo.indieBooster)); eff.statups.put(MapleBuffStat.INDIE_MAD, eff.info.get(MapleStatInfo.indieMad)); eff.statups.put(MapleBuffStat.DAMAGE_CAP_INCREASE, eff.info.get(MapleStatInfo.indieMaxDamageOver)); break; default: //System.out.println("Magician skill not coded: " + skill); break; } } }