Package net.sf.l2j.gameserver.model.actor.instance

Examples of net.sf.l2j.gameserver.model.actor.instance.L2ChestInstance


      activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
      activeChar.sendPacket(new ActionFailed());
    }
    else
    {
      L2ChestInstance chest = (L2ChestInstance) target;
      if (chest.isDead() || chest.isInteracted())
      {
        activeChar.sendMessage("The chest Is empty.");
        activeChar.sendPacket(new ActionFailed());
        return;
      }
View Full Code Here


          activeChar.sendPacket(new SystemMessage(SystemMessageId.FAILED_TO_UNLOCK_DOOR));
        }
      }
      else if (target instanceof L2ChestInstance)
      {
        L2ChestInstance chest = (L2ChestInstance) targetList[index];
        if (chest.getCurrentHp() <= 0 || chest.isInteracted())
        {
          activeChar.sendPacket(new ActionFailed());
          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);
        }
      }
    }
  }
View Full Code Here

TOP

Related Classes of net.sf.l2j.gameserver.model.actor.instance.L2ChestInstance

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.