package server.buffs.buffclasses.cygnus;
import client.MapleBuffStat;
import client.MapleJob;
import client.MonsterStatus;
import server.MapleStatEffect;
import server.MapleStatInfo;
import server.buffs.AbstractBuffClass;
public class DawnWarriorBuff extends AbstractBuffClass {
public DawnWarriorBuff() {
buffs = new int[]{
11001021, // 光之劍
11001022, // 元素: 靈魂
11101023, // 堅定信念
11101022, // 沉月
// 11101003, // 憤怒
11101024, // 光速反應
// 11101001, // Booster
// 11111007, // Radiant Charge
11111022, // 旭日
11111023, // 真實之眼
11111024, // 靈魂守護者
11121012, // 雙重力量(旭日)
11121011, // 雙重力量(沉月)
11121005, // 雙重力量
11121006, // 靈魂誓約
// 11121000, // Call of Cygnus
};
}
@Override
public boolean containsJob(int job) {
return MapleJob.is聖魂劍士(job);
}
@Override
public void handleBuff(MapleStatEffect eff, int skill) {
switch (skill) {
// case 11101001: // booster
case 11101024: //光速反應
eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x));
break;
case 11001021: //光之劍
eff.statups.put(MapleBuffStat.ACCURACY_PERCENT, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.ADD_AVOIDABILITY, (int) eff.getLevel());
eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad));
break;
case 11001022: //元素: 靈魂
eff.statups.put(MapleBuffStat.SOUL_ELEMENT, eff.info.get(MapleStatInfo.prop));
eff.monsterStatus.put(MonsterStatus.STUN, 1);
break;
case 11101023: //堅定信念
eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad));
break;
case 11101022: //沉月
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.SOLUNA_EFFECT, 1);
eff.statups.put(MapleBuffStat.ATTACK_COUNT, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.INDIE_CR_R, eff.info.get(MapleStatInfo.indieCr));
break;
case 11111022: //旭日
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.SOLUNA_EFFECT, 2);
eff.statups.put(MapleBuffStat.INDIE_DAM_R, eff.info.get(MapleStatInfo.indieDamR));
eff.statups.put(MapleBuffStat.INDIE_BOOSTER, eff.info.get(MapleStatInfo.indieBooster));
break;
// case 11111007: // 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 11111024: // 靈魂守護者
eff.statups.put(MapleBuffStat.INDIE_MAX_HP, eff.info.get(MapleStatInfo.indieMhp));
eff.statups.put(MapleBuffStat.INDIE_MDD, eff.info.get(MapleStatInfo.indiePdd));
eff.statups.put(MapleBuffStat.INDIE_PDD, eff.info.get(MapleStatInfo.indiePdd));
break;
case 11121005: // 雙重力量
eff.statups.put(MapleBuffStat.SOLUNA_EFFECT, 1); // should be level but smd
break;
case 11121011: // 雙重力量(沉月)
eff.statups.put(MapleBuffStat.EQUINOX_STANCE, 11121011);
eff.statups.put(MapleBuffStat.INDIE_CR_R, eff.info.get(MapleStatInfo.indieCr));
eff.statups.put(MapleBuffStat.ATTACK_COUNT, eff.info.get(MapleStatInfo.x));
break;
case 11121012: // 雙重力量(旭日)
eff.statups.put(MapleBuffStat.EQUINOX_STANCE, 11121012);
eff.statups.put(MapleBuffStat.INDIE_DAM_R, eff.info.get(MapleStatInfo.indieDamR));
eff.statups.put(MapleBuffStat.INDIE_BOOSTER, eff.info.get(MapleStatInfo.indieBooster));
break;
case 11121006: // 靈魂誓約
eff.statups.put(MapleBuffStat.INDIE_CR_R, eff.info.get(MapleStatInfo.indieCr));
eff.statups.put(MapleBuffStat.STACK_ALLSTATS, eff.info.get(MapleStatInfo.indieAllStat));
eff.statups.put(MapleBuffStat.STANCE, eff.info.get(MapleStatInfo.prop));
break;
default:
System.out.println("Unhandled 聖魂劍士 Buff: " + skill);
break;
}
}
}