// Ice Strike
public static void pvpDamageBalance(AbstractDealDamageHandler.AttackInfo attack, MapleCharacter player) {
        matk = player.getTotalMagic();
        luk = player.getTotalLuk();
        watk = player.getTotalWatk();
        switch (attack.skill) {
            case 0: // normal attack
                multi = 1;
                maxHeight = 35;
                isAoe = false;
                break;
            case 1001004:    // Power Strike
                skil = SkillFactory.getSkill(1001004);
                multi = skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0;
                maxHeight = 35;
                isAoe = false;
                break;
            case 1001005:    // Slash Blast
                skil = SkillFactory.getSkill(1001005);
                multi = skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0;
                maxHeight = 35;
                isAoe = false;
                break;
            case 2001004:    // Energy Bolt
                skil = SkillFactory.getSkill(2001004);
                multi = skil.getEffect(player.getSkillLevel(skil)).getMatk();
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 200;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2001005:    // Magic Claw
                skil = SkillFactory.getSkill(2001005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 3001004:    // Arrow Blow
                skil = SkillFactory.getSkill(3001004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 3001005:    // Double Shot
                skil = SkillFactory.getSkill(3001005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4001334:    // Double Stab
                skil = SkillFactory.getSkill(4001334);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4001344:    // Lucky Seven
                skil = SkillFactory.getSkill(4001344);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                pvpDamage = (int) (5 * luk / 100 * watk * multi);
                min = (int) (2.5 * luk / 100 * watk * multi);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            case 2101004:    // Fire Arrow
                skil = SkillFactory.getSkill(4101004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 400;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2101005:    // Poison Brace
                skil = SkillFactory.getSkill(2101005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 400;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2201004:    // Cold Beam
                skil = SkillFactory.getSkill(2201004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 300;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2301005:    // Holy Arrow
                skil = SkillFactory.getSkill(2301005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 300;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 4101005:    // Drain
                skil = SkillFactory.getSkill(4101005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4201005:    // Savage Blow
                skil = SkillFactory.getSkill(4201005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1111004:    // Panic: Axe
                skil = SkillFactory.getSkill(1111004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1111003:    // Panic: Sword
                skil = SkillFactory.getSkill(1111003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1311004:    // Dragon Fury: Pole Arm
                skil = SkillFactory.getSkill(1311004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1311003:    // Dragon Fury: Spear
                skil = SkillFactory.getSkill(1311003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1311002:    // Pole Arm Crusher
                skil = SkillFactory.getSkill(1311002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1311005:    // Sacrifice
                skil = SkillFactory.getSkill(1311005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1311001:    // Spear Crusher
                skil = SkillFactory.getSkill(1311001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 2211002:    // Ice Strike
                skil = SkillFactory.getSkill(2211002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 250;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2211003:    // Thunder Spear
                skil = SkillFactory.getSkill(2211003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 300;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 3111006:    // Strafe
                skil = SkillFactory.getSkill(3111006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 1000.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 3211006:    // Strafe
                skil = SkillFactory.getSkill(3211006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 1000.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4111005:    // Avenger
                skil = SkillFactory.getSkill(4111005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4211002:    // Assaulter
                skil = SkillFactory.getSkill(4211002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxDis = 200;
                maxHeight = 35;
                isAoe = false;
                break;
            case 1121008:    // Brandish
                skil = SkillFactory.getSkill(1121008);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1121006:    // Rush
                skil = SkillFactory.getSkill(1121006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1221009:    // Blast
                skil = SkillFactory.getSkill(1221009);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1221007:    // Rush
                skil = SkillFactory.getSkill(1221007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 1321003:    // Rush
                skil = SkillFactory.getSkill(1321003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 2121003:    // Fire Demon
                skil = SkillFactory.getSkill(2121003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 400;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2221006:    // Chain Lightning
                skil = SkillFactory.getSkill(2221006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 400;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2221003:    // Ice Demon
                skil = SkillFactory.getSkill(2221003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 400;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 2321007:    // Angel's Ray
                skil = SkillFactory.getSkill(2321007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 400;
                maxHeight = 35;
                isAoe = false;
                magic = true;
                break;
            case 3121003:    // Dragon Pulse
                skil = SkillFactory.getSkill(3121003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 3121004:    // Hurricane
                skil = SkillFactory.getSkill(3121004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 3221003:    // Dragon Pulse
                skil = SkillFactory.getSkill(3221003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 3221001:    // Piercing
                skil = SkillFactory.getSkill(3221003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 3221007:    // Sniping
                pvpDamage = (int) (player.calculateMaxBaseDamage(watk) * 3);
                min = (int) (player.calculateMinBaseDamage(player) * 3);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            case 4121003:    // Showdown taunt
                skil = SkillFactory.getSkill(4121003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4121007:    // Triple Throw
                skil = SkillFactory.getSkill(4121007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4221007:    // Boomerang Step
                skil = SkillFactory.getSkill(4221007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 4221003:    // Showdown taunt
                skil = SkillFactory.getSkill(4221003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            //aoe
            case 2201005:    // Thunderbolt
                skil = SkillFactory.getSkill(2201005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 250;
                maxHeight = 250;
                isAoe = true;
                magic = true;
                break;
            case 3101005:    // Arrow Bomb : Bow
                skil = SkillFactory.getSkill(3101005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 250;
                isAoe = true;
                break;
            case 3201005:    // Iron Arrow : Crossbow
                skil = SkillFactory.getSkill(3201005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = true;
                break;
            case 1111006:    // Coma: Axe
                skil = SkillFactory.getSkill(1111006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 250;
                isAoe = true;
                break;
            case 1111005:    // Coma: Sword
                skil = SkillFactory.getSkill(1111005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 250;
                isAoe = true;
                break;
            case 1211002:    // Charged Blow - skill doesn't work
                skil = SkillFactory.getSkill(1211002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 250;
                isAoe = true;
                break;
            case 1311006:    // Dragon Roar
                skil = SkillFactory.getSkill(1311006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxDis = 600;
                maxHeight = 450;
                isAoe = true;
                break;
            case 2111002:    // Explosion
                skil = SkillFactory.getSkill(2111002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                magic = true;
                break;
            case 2111003:    // Poison Mist
                skil = SkillFactory.getSkill(2111003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                magic = true;
                break;
            case 2311004:    // Shining Ray
                skil = SkillFactory.getSkill(2311004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                magic = true;
                break;
            case 3111004:    // Arrow Rain
                skil = SkillFactory.getSkill(3111004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                break;
            case 3111003:    // Inferno
                skil = SkillFactory.getSkill(3111003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                break;
            case 3211004:    // Arrow Eruption
                skil = SkillFactory.getSkill(3211004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                break;
            case 3211003:    // Blizzard (Sniper)
                skil = SkillFactory.getSkill(3211003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                break;
            case 4211004:    // Band of Thieves Skill doesn't work so i don't know
                skil = SkillFactory.getSkill(4211004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 350;
                isAoe = true;
                break;
            case 1221011:    // Sanctuary Skill doesn't work so i don't know
                skil = SkillFactory.getSkill(1221011);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxDis = 350;
                maxHeight = 350;
                isAoe = true;
                break;
            case 2121001:    // Big Bang
                skil = SkillFactory.getSkill(2121001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 175;
                maxHeight = 175;
                isAoe = true;
                magic = true;
                break;
            case 2121007:    // Meteo
                skil = SkillFactory.getSkill(2121007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 600;
                maxHeight = 600;
                isAoe = true;
                magic = true;
                break;
            case 2121006:    // Paralyze
                skil = SkillFactory.getSkill(2121006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 250;
                maxHeight = 250;
                isAoe = true;
                magic = true;
                break;
            case 2221001:    // Big Bang
                skil = SkillFactory.getSkill(2221001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 175;
                maxHeight = 175;
                isAoe = true;
                magic = true;
                break;
            case 2221007:    // Blizzard
                skil = SkillFactory.getSkill(2221007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 600;
                maxHeight = 600;
                isAoe = true;
                magic = true;
                break;
            case 2321008:    // Genesis
                skil = SkillFactory.getSkill(2321008);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 600;
                maxHeight = 600;
                isAoe = true;
                magic = true;
                break;
            case 2321001:   // bishop Big Bang
                skil = SkillFactory.getSkill(2321001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
                mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
                pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
                min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxDis = 175;
                maxHeight = 175;
                isAoe = true;
                magic = true;
                break;
            case 4121004:    // Ninja Ambush
                pvpDamage = (int) Math.floor(Math.random() * (180 - 150) + 150);
                maxDis = 150;
                maxHeight = 300;
                isAoe = true;
                ignore = true;
                break;
            case 4121008:    // Ninja Storm knockback
                skil = SkillFactory.getSkill(4121008);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                pvpDamage = (int) Math.floor(Math.random() * (player.calculateMaxBaseDamage(watk) * multi));
                maxDis = 150;
                maxHeight = 35;
                isAoe = true;
                ignore = true;
                break;
            case 4221001:    // Assassinate
                skil = SkillFactory.getSkill(4221001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = true;
                break;
            case 4221004:    // Ninja Ambush
                pvpDamage = (int) Math.floor(Math.random() * (180 - 150) + 150);
                maxDis = 150;
                maxHeight = 150;
                isAoe = true;
                ignore = true;
                break;
            case 9001001: // SUPER dragon ROAR
                pvpDamage = MAX_PVP_DAMAGE;
                maxDis = 150;
                maxHeight = 150;
                isAoe = true;
                ignore = true;
                break;
            /**
             *@author Supiangel
             *
             */
            case 5001001:    // First Strike
                skil = SkillFactory.getSkill(5001001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5001002:    // Back-flip kick
                skil = SkillFactory.getSkill(5001002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5101002:    // Backward Blow
                skil = SkillFactory.getSkill(5101002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5101003:    // Uppercut
                skil = SkillFactory.getSkill(5101003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5101004:    // Spinning Punch
                skil = SkillFactory.getSkill(5101004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5111002:    // Final Punch
                skil = SkillFactory.getSkill(5111002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5111004:    // Absorb
                skil = SkillFactory.getSkill(5111004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5111006:    // Smash
                skil = SkillFactory.getSkill(5111006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5001003:    // Double Shot
                skil = SkillFactory.getSkill(5001003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                pvpDamage = (int) (5 * player.getStr() / 100 * watk * multi);
                min = (int) (2.5 * player.getStr() / 100 * watk * multi);
                pvpDamage = MapleCharacter.rand(min, pvpDamage);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            case 5201001:    // Fatal Bullet
                skil = SkillFactory.getSkill(5201001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5201004:    // Decoy
                skil = SkillFactory.getSkill(5201004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5201006:    // Withdraw
                skil = SkillFactory.getSkill(5201006);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5210000:    // Triple Shot
                skil = SkillFactory.getSkill(5210000);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            case 5211004:    // Fire Shot
                skil = SkillFactory.getSkill(5211004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5211005:    // Ice Shot
                skil = SkillFactory.getSkill(5211005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5121001:    // Dragon Strike
                skil = SkillFactory.getSkill(5121001);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = true;
                break;
            case 5121007:    // Fist
                skil = SkillFactory.getSkill(5121007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5121002:    // Energy Orb
                skil = SkillFactory.getSkill(5121002);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            case 5121004:    // Demolition
                skil = SkillFactory.getSkill(5121004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5121005:    // Snatch
                skil = SkillFactory.getSkill(5121005);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            case 5221004:    // Rapid Fire
                skil = SkillFactory.getSkill(5221004);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5221003:    // Air Strike
                skil = SkillFactory.getSkill(5221003);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                break;
            case 5221007:    // Battleship Cannon
                skil = SkillFactory.getSkill(5221007);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            case 5221008:    // Battleship Torpedo
                skil = SkillFactory.getSkill(5221008);
                multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
                maxHeight = 35;
                isAoe = false;
                ignore = true;
                break;
            default:
                break;
        }
        if (!magic || !ignore) {
            maxDis = player.getMaxDis(player);
        }
    }
isAoe = false;
break;
case 2211002: // Ice Strike
skil = SkillFactory.getSkill(2211002);
multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
maxHeight = 35;
isAoe = false;
break;
case 1311001: // Spear Crusher
skil = SkillFactory.getSkill(1311001);
multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
maxHeight = 35;
isAoe = false;
break;
case 2211002: // Ice Strike
skil = SkillFactory.getSkill(2211002);
multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
pvpDamage = MapleCharacter.rand(min, pvpDamage);
maxDis = 250;
maxHeight = 35;
isAoe = false;
magic = true;
isAoe = false;
break;
case 1311002: // Pole Arm Crusher
skil = SkillFactory.getSkill(1311002);
multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
maxHeight = 35;
isAoe = false;
break;
case 1311005: // Sacrifice
skil = SkillFactory.getSkill(1311005);
multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
maxHeight = 35;
isAoe = false;
break;
case 1311001: // Spear Crusher
skil = SkillFactory.getSkill(1311001);
multi = (skil.getEffect(player.getSkillLevel(skil)).getDamage() / 100.0);
maxHeight = 35;
isAoe = false;
break;
case 2211002: // Ice Strike
skil = SkillFactory.getSkill(2211002);
multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
pvpDamage = MapleCharacter.rand(min, pvpDamage);
maxDis = 250;
maxHeight = 35;
isAoe = false;
magic = true;
break;
case 2211003: // Thunder Spear
skil = SkillFactory.getSkill(2211003);
multi = (skil.getEffect(player.getSkillLevel(skil)).getMatk());
mastery = skil.getEffect(player.getSkillLevel(skil)).getMastery() * 5 + 10 / 100;
pvpDamage = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8);
min = (int) ((matk * 0.8) + (luk / 4) / 18 * multi * 0.8 * mastery);
pvpDamage = MapleCharacter.rand(min, pvpDamage);
maxDis = 300;
maxHeight = 35;