All pastes #46374 Raw Edit

Miscellany

public text v1 · immutable
#46374 ·published 2006-03-20 21:04 UTC
rendered paste body
	/* (non-Javadoc)
	 * @see net.sf.l2j.gameserver.clientpackets.ClientBasePacket#getType()
	 */
        private void UseSkill(int skillId, int skill_level, L2Object target)
    {
        L2PcInstance activeChar = getClient().getActiveChar();
        L2Summon pet = activeChar.getPet();

        if (activeChar.getPrivateStoreType() != 0)
        {
            activeChar.sendMessage("Cannot use skills while trading");
            return;
        }

        if (target != null && pet != null && pet != target)
        {
            L2Skill skill;

            Map<Integer, L2Skill> _skills = pet.getTemplate().getSkills();
            if (_skills == null)
            {
                activeChar.sendMessage("Not yet implemented.");
                return;
            }
            if(_skills.size() == 0)
            {
                activeChar.sendPacket(new SystemMessage(SystemMessage.SKILL_NOT_AVAILABLE));
                return;
            }
            skill = _skills.get(skillId);
            if(skill == null)
            {
                return;
            }

            // override the default skill level for the template if level > 0
            if (level > 0)
              skill = SkillTable.getInstance().getInfo(skillId,skill_level);

            if(pet.getCurrentMp() < skill.getMpConsume())
            {
                activeChar.sendPacket(new SystemMessage(SystemMessage.NOT_ENOUGH_MP));
                return;
            }
            if (
                    activeChar.getAccessLevel() < Config.GM_PEACEATTACK &&
                    activeChar.isInsidePeaceZone(activeChar.getPet(), target)
               )
            {
                activeChar.sendPacket(new SystemMessage(SystemMessage.TARGET_IN_PEACEZONE));
                return;
            }
            pet.setTarget(target);
            pet.useMagic(skill);
        }
    }

    private void UseSkill(int skillId, L2Object target)
    {
        UseSkill(skillId, 0, target);
    }


    private void UseSkill(int skillId)
    {
        L2PcInstance activeChar = getClient().getActiveChar();
        L2Object target = activeChar.getTarget();
	if (activeChar == null || target == null)
	    return;

        if (activeChar.getPrivateStoreType() != 0)
        {
            activeChar.sendMessage("Cannot use skills while trading");
            return;
        }

        if (target != null && activeChar != target)
        {
            if (target.isAutoAttackable(activeChar) || _ctrlPressed)
            {
                UseSkill(skillId, target);
            }
        }
    }