/*
* 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 Maple
*/
public class XenonBuff extends AbstractBuffClass {
public XenonBuff() {
buffs = new int[]{
36001002, //Circuit Surge
36101002, //Perspective Shift
36101003, //Efficiency Streamline
36101004, //Xenon Booster
36111006, //Manifest Projector
36111008, // Emergency Resupply
36111003, // Hybird Defenses
36121003, // OOPArts Code
36121004, // Offensive Matrix
36121008, // Maple Warrior
36121054,
};
}
@Override
public boolean containsJob(int job) {
return GameConstants.isXenon(job);
}
@Override
public void handleBuff(MapleStatEffect eff, int skill) {
switch (skill) {
case 30021237:
eff.statups.put(MapleBuffStat.XENON_FLY, Integer.valueOf(1));
eff.info.put(MapleStatInfo.time, Integer.valueOf(180000));
break;
case 36001002: // Circuit Surge
eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad));
break;
case 36101002: // Perspective Shift - dc temp to remove dc
eff.info.put(MapleStatInfo.powerCon, Integer.valueOf(6));
eff.statups.put(MapleBuffStat.CRITICAL_DAMAGE, eff.info.get(MapleStatInfo.x));
break;
case 36101003: // Efficiency Streamline
eff.statups.put(MapleBuffStat.MP_R, eff.info.get(MapleStatInfo.indieMmpR));
eff.statups.put(MapleBuffStat.HP_R, eff.info.get(MapleStatInfo.indieMhpR));
eff.info.put(MapleStatInfo.time, Integer.valueOf(180000));
break;
case 36101004: // Xenon Booster
eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x));
break;
case 36111006: // Manifest Projector
eff.statups.put(MapleBuffStat.SHADOWPARTNER, eff.info.get(MapleStatInfo.x));
break;
case 36111008: // Emergency Resupply
eff.statups.put(MapleBuffStat.SUPPLY_SURPLUS, eff.info.get(MapleStatInfo.x));
break;
// case 36121054:
// eff.statups.put(MapleBuffStat.SUPPLY_SURPLUS, Integer.valueOf(16));
// break;
case 36111003: // Hybrid Defenses
eff.statups.put(MapleBuffStat.HYBRID_DEFENSES, eff.info.get(MapleStatInfo.prop));
eff.statups.put(MapleBuffStat.WATER_SHIELD, eff.info.get(MapleStatInfo.z));
break;
case 36121003: // OOPArts Code DAMAGE_PERCENT
eff.statups.put(MapleBuffStat.BOSS_DAMAGE, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.DAMAGE_PERCENT, eff.info.get(MapleStatInfo.indieDamR));
break;
case 36121004: // Offensive Matrix
eff.statups.put(MapleBuffStat.STANCE, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.IGNORE_DEF, eff.info.get(MapleStatInfo.y));
break;
case 36121008: // Maple Warrior
eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x));
break;
default:
// System.out.println("Unhandled Xenon Buff: " + skill);
break;
}
}
}