/*
* 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 WildHunterBuff extends AbstractBuffClass {
public WildHunterBuff() {
buffs = new int[]{
33001001, // Jaguar Rider
33101003, // Soul Arrow: Crossbow
33101005, // Call of the Wild
33101012, // Crossbow Booster
33111007, // Feline Berserk
33111009, // Concentrate
33121004, // Sharp Eyes
33121007, // Maple Warrior
33121013, // Extended Magazine
33121054, // Silent Rampage
33121053, // For Liberty
};
}
@Override
public boolean containsJob(int job) {
return GameConstants.isWildHunter(job);
}
@Override
public void handleBuff(MapleStatEffect eff, int skill) {
switch (skill) {
case 33101003:
eff.statups.put(MapleBuffStat.SOULARROW, eff.info.get(MapleStatInfo.x));
break;
case 33101005:// Call of the Wild
eff.statups.put(MapleBuffStat.MP_BUFF, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.CRITICAL_RATE_BUFF, eff.info.get(MapleStatInfo.y));
eff.statups.put(MapleBuffStat.TORNADO, eff.info.get(MapleStatInfo.z));
// eff.statups.put(MapleBuffStat.SATELLITESAFE_ABSORB, eff.info.get(MapleStatInfo.lt));
// eff.statups.put(MapleBuffStat.SOULARROW, eff.info.get(MapleStatInfo.rb));
break;
case 33101012:// Crossbow Booster
eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x) * 2);
break;
case 33111007: // Feline Berserk
eff.statups.put(MapleBuffStat.SPEED, eff.info.get(MapleStatInfo.z));
eff.statups.put(MapleBuffStat.ATTACK_BUFF, eff.info.get(MapleStatInfo.y));
eff.statups.put(MapleBuffStat.FELINE_BERSERK, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.ATTACK_SPEED, eff.info.get(MapleStatInfo.indieBooster));
break;
case 33111009: // Concentrate
eff.statups.put(MapleBuffStat.ENHANCED_WATK, eff.info.get(MapleStatInfo.epad));
eff.statups.put(MapleBuffStat.CONCENTRATE, eff.info.get(MapleStatInfo.x));
break;
case 33121004: // Sharp Eyes
eff.statups.put(MapleBuffStat.SHARP_EYES, (eff.info.get(MapleStatInfo.x) << 8) + eff.info.get(MapleStatInfo.criticaldamageMax));
break;
case 33121007: // Maple Warrior
eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x));
break;
case 33121013: // Extended Magazine
eff.statups.put(MapleBuffStat.DAMAGE_PERCENT, eff.info.get(MapleStatInfo.indieDamR));
eff.statups.put(MapleBuffStat.ANGEL_STAT, eff.info.get(MapleStatInfo.indieAllStat));
break;
case 33121054:// Silent Rampage
break;
case 33121053:// For Liberty
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("Unhandled WildHunter Buff: " + skill);
break;
}
}
}