/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package server.buffs.buffclasses.adventurer;
import client.MapleBuffStat;
import constants.GameConstants;
import server.MapleStatEffect;
import server.MapleStatInfo;
import server.buffs.AbstractBuffClass;
/**
*
* @author Itzik
*/
public class ThiefBuff extends AbstractBuffClass {
public ThiefBuff() {
buffs = new int[]{
4001003, //Dark Sight
4001005, //Haste
4101003, //Claw Booster
4201002, //Dagger Booster
4201009, //Channel Karma
4201011, //Meso Guard
4111002, //Shadow Partner
4111009, //Shadow Star
4211003, //Pick Pocket
4211008, //Shadow Partner
4121000, //Maple Warrior
4121014, //Dark Harmony
4221000, //Maple Warrior
4221013, //Shadow Instinct
4301003, // Self haste
4311005, // Channel Karma
4311009, // Katara Booster
4331002, // Mirror Image
4341000, // Maple Warrior
4341007, // Thorns
4341006, // Mirrored Target
4341054, // Blade Clone
4341053, // Epic Adventure
4121053, //Epic Adventure
4121054, //Bleed Dart
4221053, //Epic Adventure
4221054, //Flip of the Coin
};
}
@Override
public boolean containsJob(int job) {
return GameConstants.isAdventurer(job) && job / 100 == 4;
}
@Override
public void handleBuff(MapleStatEffect eff, int skill) {
switch (skill) {
case 4001005: //Haste
break;
case 4301003: // Self haste
eff.statups.put(MapleBuffStat.JUMP, eff.info.get(MapleStatInfo.jump));
eff.statups.put(MapleBuffStat.SPEED, eff.info.get(MapleStatInfo.speed));
break;
case 4001003: //Dark Sight
eff.statups.put(MapleBuffStat.DARKSIGHT, eff.info.get(MapleStatInfo.x));
break;
case 4101003: //Claw Booster
case 4201002: //Dagger Booster
case 4311009: // Katara Booster
eff.statups.put(MapleBuffStat.BOOSTER, eff.info.get(MapleStatInfo.x));
break;
case 4201011: //Meso Guard
eff.statups.put(MapleBuffStat.MESOGUARD, eff.info.get(MapleStatInfo.x));
break;
case 4201009: //Channel Karma
case 4311005: // Channel Karma
eff.statups.put(MapleBuffStat.WATK, eff.info.get(MapleStatInfo.pad));
break;
case 4211003: //Pick Pocket
eff.info.put(MapleStatInfo.time, 2100000000);
eff.statups.put(MapleBuffStat.PICKPOCKET, eff.info.get(MapleStatInfo.x));
break;
case 4111002: //Shadow Partner
case 4211008: //Shadow Partner
case 4331002: // Mirror Image
eff.statups.put(MapleBuffStat.SHADOWPARTNER, eff.info.get(MapleStatInfo.x));
break;
case 4111009: //Shadow Star
eff.statups.put(MapleBuffStat.SPIRIT_CLAW, 0);
break;
case 4121014: //Dark Harmony
eff.statups.put(MapleBuffStat.INDIE_PAD, eff.info.get(MapleStatInfo.indiePad));//test - works without
break;
case 4341007: // Thorns
eff.statups.put(MapleBuffStat.STANCE, (int) eff.info.get(MapleStatInfo.prop));
eff.statups.put(MapleBuffStat.ENHANCED_WATK, (int) eff.info.get(MapleStatInfo.epad));
break;
case 4221013: //Shadow Instinct
break;
case 4121000: //Maple Warrior
case 4221000: //Maple Warrior
case 4341000: // MW
eff.statups.put(MapleBuffStat.MAPLE_WARRIOR, eff.info.get(MapleStatInfo.x));
break;
case 4121054: //Bleed Dart
break;
case 4341054: // Blade Clone
eff.statups.put(MapleBuffStat.DARK_CRESCENDO, eff.info.get(MapleStatInfo.x));
eff.statups.put(MapleBuffStat.ARIANT_COSS_IMU2, Integer.valueOf(1));
break;
case 4121053: //Epic Adventure
case 4221053: //Epic Adventure
case 4341053: //Epic Adventure
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("Thief skill not coded: " + skill);
break;
}
}
}