package server.buffs.buffclasses.resistance;
import client.MapleBuffStat;
import client.MapleJob;
import client.MonsterStatus;
import server.MapleStatEffect;
import server.MapleStatInfo;
import server.buffs.AbstractBuffClass;
public class MechanicBuff extends AbstractBuffClass {
public MechanicBuff() {
buffs = new int[]{
35101006, //機甲戰神極速
35001002, //合金盔甲: 原型
35120000, //合金盔甲終極
35111004, //合金盔甲: 重機槍
35121005, //合金盔甲: 導彈罐
35121013, //合金盔甲: 重機槍
35101007, //全備型盔甲 (Perfect Armor)
35001001, //火焰發射
35101009, //強化的火焰發射
35111002, //磁場
35111005, //加速器 : EX-7
35121003, //戰鬥機器 : 巨人錘
35111011, //治療機器人 : H-LX
35121009, //機器人工廠 : RM1
35121011,
35121010, //擴音器 : AF-11
35111001, //賽特拉特
35111010, //衛星
35111009, //賽特拉特
35121006 //終極賽特拉特
};
}
@Override
public boolean containsJob(int job) {
return MapleJob.is機甲戰神(job);
}
@Override
public void handleBuff(MapleStatEffect eff, int skill) {
switch (skill) {
case 35101006: //機甲戰神極速
eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x));
break;
case 35101005: //開放通道 : GX-9
eff.statups.put(MapleBuffStat.SOULARROW, eff.info.get(MapleStatInfo.x));
break;
case 35120000: //合金盔甲終極
case 35001002: //合金盔甲: 原型
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.MONSTER_RIDING, 0);
eff.statups.put(MapleBuffStat.ENHANCED_MAXHP, eff.info.get(MapleStatInfo.emhp));
eff.statups.put(MapleBuffStat.ENHANCED_MAXMP, eff.info.get(MapleStatInfo.emmp));
eff.statups.put(MapleBuffStat.ENHANCED_WATK, eff.info.get(MapleStatInfo.epad));
eff.statups.put(MapleBuffStat.ENHANCED_WDEF, eff.info.get(MapleStatInfo.epdd));
eff.statups.put(MapleBuffStat.ENHANCED_MDEF, eff.info.get(MapleStatInfo.emdd));
eff.statups.put(MapleBuffStat.INDIE_SPEED, eff.info.get(MapleStatInfo.indieSpeed));
break;
case 35101007: //全備型盔甲 (Perfect Armor)
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.PERFECT_ARMOR, eff.info.get(MapleStatInfo.x));
break;
case 35111002: //磁場
eff.statups.put(MapleBuffStat.SUMMON, 1);
eff.monsterStatus.put(MonsterStatus.STUN, 1);
break;
case 35111005: //加速器 : EX-7
eff.statups.put(MapleBuffStat.SUMMON, 1);
eff.monsterStatus.put(MonsterStatus.SPEED, eff.info.get(MapleStatInfo.x));
eff.monsterStatus.put(MonsterStatus.WDEF, eff.info.get(MapleStatInfo.y));
break;
case 35121003: //戰鬥機器 : 巨人錘
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.SUMMON, 1);
break;
case 35111011: //治療機器人 : H-LX
case 35121009: //機器人工廠 : RM1
case 35121011:
eff.statups.put(MapleBuffStat.SUMMON, 1);
break;
case 35121010: //擴音器 : AF-11
eff.info.put(MapleStatInfo.time, 60000);
eff.statups.put(MapleBuffStat.DAMAGE_BUFF, eff.info.get(MapleStatInfo.x));
break;
case 35111001: //賽特拉特
case 35111010: //衛星
case 35111009: //賽特拉特
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.PUPPET, 1);
break;
case 35121006: //終極賽特拉特
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.SATELLITESAFE_PROC, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.SATELLITESAFE_ABSORB, eff.info.get(MapleStatInfo.y));
break;
case 35001001: //火焰發射
case 35101009: //強化的火焰發射
eff.info.put(MapleStatInfo.time, 12000);
eff.statups.put(MapleBuffStat.MECH_CHANGE, (int) eff.getLevel()); //ya wtf
break;
case 35121013: //合金盔甲: 重機槍
case 35111004: //合金盔甲: 重機槍
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.MECH_CHANGE, (int) eff.getLevel()); //ya wtf
break;
case 35121005: //合金盔甲: 導彈罐
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.MECH_CHANGE, (int) eff.getLevel()); //ya wtf
break;
case 35121007:
eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x));
break;
default:
System.out.println("未知的機甲戰神 Buff: " + skill);
break;
}
}
}