/*
* This file was designed for Luminous.
* Do not redistribute without explicit permission from the
* developer(s).
*/
package server.buffs.buffclasses.cygnus;
import client.MapleBuffStat;
import constants.GameConstants;
import server.MapleStatEffect;
import server.MapleStatInfo;
import server.buffs.AbstractBuffClass;
public class MihileBuff extends AbstractBuffClass {
public MihileBuff() {
buffs = new int[]{
51101003, // Sword Booster
51101004, // Rage
51111003, // Radiant Charge
51111004, // Enduring Spirit
51121004, // Stance
51121005, // Maple Warrior
51121006, // Roiling Soul
51121053, // Queen of Tomorrow
51121054, // Sacred Cube
};
}
@Override
public boolean containsJob(int job) {
return GameConstants.isMihile(job);
}
@Override
public void handleBuff(MapleStatEffect eff, int skill) {
// If this initial check and the corresponding arrays are removed,
// there should not be any impact (i.e., it will keep its functionality).
if (!containsSkill(skill)) {
return;
}
switch (skill) {
case 51101003: // booster
eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x) * 2);
break;
case 51101004: // rage, not special
break;
case 51111003: // rad charge
eff.statups.put(MapleBuffStat.WK_CHARGE, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.DAMAGE_BUFF, eff.info.get(MapleStatInfo.z));
break;
case 51111004: // end spirit
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 51121004: // stance
eff.statups.put(MapleBuffStat.STANCE, (int) eff.info.get(MapleStatInfo.prop));
break;
case 51121005: // mw
eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x));
break;
case 51121006: // roiling soul
eff.statups.put(MapleBuffStat.DAMAGE_BUFF, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.CRITICAL_RATE_BUFF, eff.info.get(MapleStatInfo.y));
eff.statups.put(MapleBuffStat.CRITICAL_RATE_BUFF, eff.info.get(MapleStatInfo.z));
break;
default:
//System.out.println("Unhandled Buff: " + skill);
break;
}
}
}