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);
}
}
}