/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package server.buffs.buffclasses.adventurer; import client.MapleBuffStat; import client.MonsterStatus; import constants.GameConstants; import server.MapleStatEffect; import server.MapleStatInfo; import server.buffs.AbstractBuffClass; /** * * @author Itzik */ public class WarriorBuff extends AbstractBuffClass { public WarriorBuff() { buffs = new int[]{ 1001003, //Iron Body 1101004, //Weapon Booster 1101006, //Rage 1101013, //Combo Order 1201004, //Weapon Booster 1201007, //Power Guard 1301004, //Weapon Booster 1301006, //Iron Will 1301007, //Hyper Body 1301013, //Evil Eye 1211004, //Flame Charge 1211006, //Blizzard Charge 1211008, //Lightning Charge 1211011, //Combat Orders 1311013, //Evil Eye of Domination 1311015, //Cross Surge 1121000, //Maple Warrior 1121010, //Enrage 1221000, //Maple Warrior 1221002, //Power Stance 1211010, //HP Recovery 1211013, //Threaten 1211014, //Parashock Guard 1211011, //Combat Orders 1221015, //Void Elemental 1221016, //Guardian 1221004, //Holy Charge 1321000, //Maple Warrior 1321002, //Power Stance 1321007, //Beholden 1320008, //Aura of Beholden 1320009, //Hex of the Beholden 1320011, //Revenge of the Beholden 1121054, //Cry Valhalla 1221054, //Sacrosanctity 1121053, //Epic Adventure 1221053, //Epic Adventure 1221054, //Sacrosanctity 1321053, //Epic Adventure 1321054, //Dark Thrist // 1301013, }; } @Override public boolean containsJob(int job) { return GameConstants.isAdventurer(job) && job / 100 == 1; } @Override public void handleBuff(MapleStatEffect eff, int skill) { switch (skill) { case 1101004: //Weapon Booster case 1201004: //Weapon Booster case 1301004: //Weapon Booster eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x)); break; case 1101006: //Rage eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad)); eff.statups.put(MapleBuffStat.POWERGUARD, eff.info.get(MapleStatInfo.x)); break; case 1101013: //Combo eff.statups.put(MapleBuffStat.COMBO, eff.info.get(MapleStatInfo.x)); eff.info.put(MapleStatInfo.time, 2100000000); //System.out.println("Combo from Warrior Buff"); break; case 1211010: //HP Recovery eff.statups.put(MapleBuffStat.HP_RECOVER, 1); break; case 1211013: //Threaten eff.monsterStatus.put(MonsterStatus.WATK, eff.info.get(MapleStatInfo.x)); eff.monsterStatus.put(MonsterStatus.WDEF, eff.info.get(MapleStatInfo.x)); eff.monsterStatus.put(MonsterStatus.MATK, eff.info.get(MapleStatInfo.x)); eff.monsterStatus.put(MonsterStatus.MDEF, eff.info.get(MapleStatInfo.x)); eff.monsterStatus.put(MonsterStatus.AVOID, eff.info.get(MapleStatInfo.z)); break; case 1211014: //Parashock Guard eff.statups.put(MapleBuffStat.PARASHOCK_GUARD, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.PARASHOCK_GUARD, eff.info.get(MapleStatInfo.y)); eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad)); //TODO break; case 1211011: //Combat Orders eff.statups.put(MapleBuffStat.COMBAT_ORDERS, eff.info.get(MapleStatInfo.x)); break; case 1221015: //Void Elemental eff.statups.put(MapleBuffStat.DAMAGE_PERCENT, eff.info.get(MapleStatInfo.indieDamR)); eff.statups.put(MapleBuffStat.ELEMENT_RESET, eff.info.get(MapleStatInfo.x)); break; case 1221054: //Sacrosanctity eff.statups.put(MapleBuffStat.KAISER_MAJESTY3, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.ENRAGE, eff.info.get(MapleStatInfo.x)); //TODO break; case 1301006: //Iron Will eff.statups.put(MapleBuffStat.MDEF, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.MDEF, eff.info.get(MapleStatInfo.y)); break; case 1301007: //Hyper Body eff.statups.put(MapleBuffStat.MAXHP, eff.info.get(MapleStatInfo.x)); eff.statups.put(MapleBuffStat.MAXMP, eff.info.get(MapleStatInfo.y)); break; case 1301013: //Evil Eye eff.statups.put(MapleBuffStat.BEHOLDER, 1); break; case 1311015: //Cross Surge eff.statups.put(MapleBuffStat.CROSS_SURGE, eff.info.get(MapleStatInfo.x)); break; case 1121000: //Maple Warrior case 1221000: //Maple Warrior case 1321000: //Maple Warrior eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x)); break; case 1121053: //Epic Adventure case 1221053: //Epic Adventure case 1321053: //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; default: //System.out.println("Warrior skill not coded: " + skill); break; } } }