}
door = null;
}
else if (target instanceof L2ChestInstance)
{
L2ChestInstance chest = (L2ChestInstance) element;
if (chest.getCurrentHp() <= 0 || chest.isInteracted())
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
int chestChance = 0;
int chestGroup = 0;
int chestTrapLimit = 0;
if (chest.getLevel() > 60)
chestGroup = 4;
else if (chest.getLevel() > 40)
chestGroup = 3;
else if (chest.getLevel() > 30)
chestGroup = 2;
else
chestGroup = 1;
switch (chestGroup)
{
case 1:
{
if (skill.getLevel() > 10)
chestChance = 100;
else if (skill.getLevel() >= 3)
chestChance = 50;
else if (skill.getLevel() == 2)
chestChance = 45;
else if (skill.getLevel() == 1)
chestChance = 40;
chestTrapLimit = 10;
}
break;
case 2:
{
if (skill.getLevel() > 12)
chestChance = 100;
else if (skill.getLevel() >= 7)
chestChance = 50;
else if (skill.getLevel() == 6)
chestChance = 45;
else if (skill.getLevel() == 5)
chestChance = 40;
else if (skill.getLevel() == 4)
chestChance = 35;
else if (skill.getLevel() == 3)
chestChance = 30;
chestTrapLimit = 30;
}
break;
case 3:
{
if (skill.getLevel() >= 14)
chestChance = 50;
else if (skill.getLevel() == 13)
chestChance = 45;
else if (skill.getLevel() == 12)
chestChance = 40;
else if (skill.getLevel() == 11)
chestChance = 35;
else if (skill.getLevel() == 10)
chestChance = 30;
else if (skill.getLevel() == 9)
chestChance = 25;
else if (skill.getLevel() == 8)
chestChance = 20;
else if (skill.getLevel() == 7)
chestChance = 15;
else if (skill.getLevel() == 6)
chestChance = 10;
chestTrapLimit = 50;
}
break;
case 4:
{
if (skill.getLevel() >= 14)
chestChance = 50;
else if (skill.getLevel() == 13)
chestChance = 45;
else if (skill.getLevel() == 12)
chestChance = 40;
else if (skill.getLevel() == 11)
chestChance = 35;
chestTrapLimit = 80;
}
break;
}
if (Rnd.get(100) <= chestChance)
{
activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 3));
chest.setSpecialDrop();
chest.setMustRewardExpSp(false);
chest.setInteracted();
chest.reduceCurrentHp(99999999, activeChar);
}
else
{
activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 13));
if (Rnd.get(100) < chestTrapLimit)
chest.chestTrap(activeChar);
chest.setInteracted();
chest.addDamageHate(activeChar, 0, 1);
chest.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, activeChar);
}
chest = null;
}
target = null;
}