Return zero as nonexistent skill level.

This commit is contained in:
MobiusDev
2018-03-27 01:39:11 +00:00
parent 30ce5ece22
commit 1d11e95d62
66 changed files with 81 additions and 117 deletions
@@ -44,6 +44,6 @@ public class OpSkillAcquireSkillCondition implements ISkillCondition
return false; return false;
} }
final int skillLevel = ((L2Character) target).getSkillLevel(_skillId); final int skillLevel = ((L2Character) target).getSkillLevel(_skillId);
return _hasLearned ? skillLevel != -1 : skillLevel == -1; return _hasLearned ? skillLevel != 0 : skillLevel == 0;
} }
} }
@@ -4021,7 +4021,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -2605,7 +2605,7 @@ public final class L2PcInstance extends L2Playable
continue; continue;
} }
if (getSkillLevel(skill.getId()) == -1) if (getSkillLevel(skill.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -1255,7 +1255,7 @@ public class L2PetInstance extends L2Summon
{ {
if (getKnownSkill(skillId) == null) if (getKnownSkill(skillId) == null)
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
@@ -71,7 +71,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -341,7 +341,7 @@ public abstract class Inventory extends ItemContainer
itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder -> itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
if (player.getSkillLevel(holder.getSkillId()) != -1) if (player.getSkillLevel(holder.getSkillId()) != 0)
{ {
return; return;
} }
@@ -138,8 +138,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
return; return;
} }
final int tmpLv = (prevSkillLevel == -1) ? 0 : prevSkillLevel; if (prevSkillLevel != (_level - 1))
if (tmpLv != (_level - 1))
{ {
// The previous level skill has not been learned. // The previous level skill has not been learned.
activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED); activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED);
@@ -759,7 +758,6 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
} }
/** /**
* TODO: CHECK & REMOVE THIS SHIT!!!!!!!!!!!!!!<br>
* Verify if the player can transform. * Verify if the player can transform.
* @param player the player to verify * @param player the player to verify
* @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise * @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise
@@ -770,7 +768,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
{ {
return true; return true;
} }
final QuestState st = player.getQuestState("Q00136_MoreThanMeetsTheEye"); final QuestState qs = player.getQuestState("Q00136_MoreThanMeetsTheEye");
return (st != null) && st.isCompleted(); return (qs != null) && qs.isCompleted();
} }
} }
@@ -90,7 +90,7 @@ public final class RequestAcquireSkillInfo implements IClientIncomingPacket
{ {
if (prevSkillLevel == _level) if (prevSkillLevel == _level)
{ {
_log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is trequesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!"); _log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is requesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!");
} }
else if (prevSkillLevel != (_level - 1)) else if (prevSkillLevel != (_level - 1))
{ {
@@ -144,7 +144,7 @@ public class RequestAcquireAbilityList implements IClientIncomingPacket
final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel()); final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel());
final int points; final int points;
final int knownLevel = activeChar.getSkillLevel(skill.getId()); final int knownLevel = activeChar.getSkillLevel(skill.getId());
if (knownLevel == -1) // player didn't knew it at all! if (knownLevel == 0) // player didn't knew it at all!
{ {
points = learn.getSkillLevel(); points = learn.getSkillLevel();
} }
@@ -44,6 +44,6 @@ public class OpSkillAcquireSkillCondition implements ISkillCondition
return false; return false;
} }
final int skillLevel = ((L2Character) target).getSkillLevel(_skillId); final int skillLevel = ((L2Character) target).getSkillLevel(_skillId);
return _hasLearned ? skillLevel != -1 : skillLevel == -1; return _hasLearned ? skillLevel != 0 : skillLevel == 0;
} }
} }
@@ -4021,7 +4021,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -2611,7 +2611,7 @@ public final class L2PcInstance extends L2Playable
continue; continue;
} }
if (getSkillLevel(skill.getId()) == -1) if (getSkillLevel(skill.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -1255,7 +1255,7 @@ public class L2PetInstance extends L2Summon
{ {
if (getKnownSkill(skillId) == null) if (getKnownSkill(skillId) == null)
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
@@ -71,7 +71,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -344,7 +344,7 @@ public abstract class Inventory extends ItemContainer
itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder -> itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
if (player.getSkillLevel(holder.getSkillId()) != -1) if (player.getSkillLevel(holder.getSkillId()) != 0)
{ {
return; return;
} }
@@ -138,8 +138,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
return; return;
} }
final int tmpLv = (prevSkillLevel == -1) ? 0 : prevSkillLevel; if (prevSkillLevel != (_level - 1))
if (tmpLv != (_level - 1))
{ {
// The previous level skill has not been learned. // The previous level skill has not been learned.
activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED); activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED);
@@ -759,7 +758,6 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
} }
/** /**
* TODO: CHECK & REMOVE THIS SHIT!!!!!!!!!!!!!!<br>
* Verify if the player can transform. * Verify if the player can transform.
* @param player the player to verify * @param player the player to verify
* @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise * @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise
@@ -770,7 +768,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
{ {
return true; return true;
} }
final QuestState st = player.getQuestState("Q00136_MoreThanMeetsTheEye"); final QuestState qs = player.getQuestState("Q00136_MoreThanMeetsTheEye");
return (st != null) && st.isCompleted(); return (qs != null) && qs.isCompleted();
} }
} }
@@ -90,7 +90,7 @@ public final class RequestAcquireSkillInfo implements IClientIncomingPacket
{ {
if (prevSkillLevel == _level) if (prevSkillLevel == _level)
{ {
_log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is trequesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!"); _log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is requesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!");
} }
else if (prevSkillLevel != (_level - 1)) else if (prevSkillLevel != (_level - 1))
{ {
@@ -144,7 +144,7 @@ public class RequestAcquireAbilityList implements IClientIncomingPacket
final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel()); final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel());
final int points; final int points;
final int knownLevel = activeChar.getSkillLevel(skill.getId()); final int knownLevel = activeChar.getSkillLevel(skill.getId());
if (knownLevel == -1) // player didn't knew it at all! if (knownLevel == 0) // player didn't knew it at all!
{ {
points = learn.getSkillLevel(); points = learn.getSkillLevel();
} }
@@ -44,6 +44,6 @@ public class OpSkillAcquireSkillCondition implements ISkillCondition
return false; return false;
} }
final int skillLevel = ((L2Character) target).getSkillLevel(_skillId); final int skillLevel = ((L2Character) target).getSkillLevel(_skillId);
return _hasLearned ? skillLevel != -1 : skillLevel == -1; return _hasLearned ? skillLevel != 0 : skillLevel == 0;
} }
} }
@@ -4021,7 +4021,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -2613,7 +2613,7 @@ public final class L2PcInstance extends L2Playable
continue; continue;
} }
if (getSkillLevel(skill.getId()) == -1) if (getSkillLevel(skill.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -1255,7 +1255,7 @@ public class L2PetInstance extends L2Summon
{ {
if (getKnownSkill(skillId) == null) if (getKnownSkill(skillId) == null)
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
@@ -71,7 +71,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -344,7 +344,7 @@ public abstract class Inventory extends ItemContainer
itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder -> itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
if (player.getSkillLevel(holder.getSkillId()) != -1) if (player.getSkillLevel(holder.getSkillId()) != 0)
{ {
return; return;
} }
@@ -138,8 +138,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
return; return;
} }
final int tmpLv = (prevSkillLevel == -1) ? 0 : prevSkillLevel; if (prevSkillLevel != (_level - 1))
if (tmpLv != (_level - 1))
{ {
// The previous level skill has not been learned. // The previous level skill has not been learned.
activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED); activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED);
@@ -759,7 +758,6 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
} }
/** /**
* TODO: CHECK & REMOVE THIS SHIT!!!!!!!!!!!!!!<br>
* Verify if the player can transform. * Verify if the player can transform.
* @param player the player to verify * @param player the player to verify
* @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise * @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise
@@ -770,7 +768,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
{ {
return true; return true;
} }
final QuestState st = player.getQuestState("Q00136_MoreThanMeetsTheEye"); final QuestState qs = player.getQuestState("Q00136_MoreThanMeetsTheEye");
return (st != null) && st.isCompleted(); return (qs != null) && qs.isCompleted();
} }
} }
@@ -90,7 +90,7 @@ public final class RequestAcquireSkillInfo implements IClientIncomingPacket
{ {
if (prevSkillLevel == _level) if (prevSkillLevel == _level)
{ {
_log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is trequesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!"); _log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is requesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!");
} }
else if (prevSkillLevel != (_level - 1)) else if (prevSkillLevel != (_level - 1))
{ {
@@ -144,7 +144,7 @@ public class RequestAcquireAbilityList implements IClientIncomingPacket
final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel()); final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel());
final int points; final int points;
final int knownLevel = activeChar.getSkillLevel(skill.getId()); final int knownLevel = activeChar.getSkillLevel(skill.getId());
if (knownLevel == -1) // player didn't knew it at all! if (knownLevel == 0) // player didn't knew it at all!
{ {
points = learn.getSkillLevel(); points = learn.getSkillLevel();
} }
@@ -44,6 +44,6 @@ public class OpSkillAcquireSkillCondition implements ISkillCondition
return false; return false;
} }
final int skillLevel = ((L2Character) target).getSkillLevel(_skillId); final int skillLevel = ((L2Character) target).getSkillLevel(_skillId);
return _hasLearned ? skillLevel != -1 : skillLevel == -1; return _hasLearned ? skillLevel != 0 : skillLevel == 0;
} }
} }
@@ -4021,7 +4021,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -2616,7 +2616,7 @@ public final class L2PcInstance extends L2Playable
continue; continue;
} }
if (getSkillLevel(skill.getId()) == -1) if (getSkillLevel(skill.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -1255,7 +1255,7 @@ public class L2PetInstance extends L2Summon
{ {
if (getKnownSkill(skillId) == null) if (getKnownSkill(skillId) == null)
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
@@ -71,7 +71,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -344,7 +344,7 @@ public abstract class Inventory extends ItemContainer
itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder -> itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
if (player.getSkillLevel(holder.getSkillId()) != -1) if (player.getSkillLevel(holder.getSkillId()) != 0)
{ {
return; return;
} }
@@ -138,8 +138,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
return; return;
} }
final int tmpLv = (prevSkillLevel == -1) ? 0 : prevSkillLevel; if (prevSkillLevel != (_level - 1))
if (tmpLv != (_level - 1))
{ {
// The previous level skill has not been learned. // The previous level skill has not been learned.
activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED); activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED);
@@ -759,7 +758,6 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
} }
/** /**
* TODO: CHECK & REMOVE THIS SHIT!!!!!!!!!!!!!!<br>
* Verify if the player can transform. * Verify if the player can transform.
* @param player the player to verify * @param player the player to verify
* @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise * @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise
@@ -770,7 +768,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
{ {
return true; return true;
} }
final QuestState st = player.getQuestState("Q00136_MoreThanMeetsTheEye"); final QuestState qs = player.getQuestState("Q00136_MoreThanMeetsTheEye");
return (st != null) && st.isCompleted(); return (qs != null) && qs.isCompleted();
} }
} }
@@ -90,7 +90,7 @@ public final class RequestAcquireSkillInfo implements IClientIncomingPacket
{ {
if (prevSkillLevel == _level) if (prevSkillLevel == _level)
{ {
_log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is trequesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!"); _log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is requesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!");
} }
else if (prevSkillLevel != (_level - 1)) else if (prevSkillLevel != (_level - 1))
{ {
@@ -144,7 +144,7 @@ public class RequestAcquireAbilityList implements IClientIncomingPacket
final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel()); final Skill skill = SkillData.getInstance().getSkill(learn.getSkillId(), learn.getSkillLevel());
final int points; final int points;
final int knownLevel = activeChar.getSkillLevel(skill.getId()); final int knownLevel = activeChar.getSkillLevel(skill.getId());
if (knownLevel == -1) // player didn't knew it at all! if (knownLevel == 0) // player didn't knew it at all!
{ {
points = learn.getSkillLevel(); points = learn.getSkillLevel();
} }
@@ -224,7 +224,7 @@ public class AdminSkill implements IAdminCommandHandler
continue; continue;
} }
if (player.getSkillLevel(sk.getId()) == -1) if (player.getSkillLevel(sk.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -8104,13 +8104,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final L2Skill skill = getSkills().get(skillId); final L2Skill skill = getSkills().get(skillId);
return (skill == null) ? 0 : skill.getLevel();
if (skill == null)
{
return -1;
}
return skill.getLevel();
} }
/** /**
@@ -8194,7 +8188,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder
*/ */
public int getMaxBuffCount() public int getMaxBuffCount()
{ {
return Config.BUFFS_MAX_AMOUNT + Math.max(0, getSkillLevel(L2Skill.SKILL_DIVINE_INSPIRATION)); return Config.BUFFS_MAX_AMOUNT + getSkillLevel(L2Skill.SKILL_DIVINE_INSPIRATION);
} }
/** /**
@@ -8496,12 +8490,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder
final int magicId = skill.getDisplayId(); final int magicId = skill.getDisplayId();
// Get the level of the skill // Get the level of the skill
int level = getSkillLevel(skill.getId()); final int level = getSkillLevel(skill.getId());
if (level < 1)
{
level = 1;
}
// Send a Server->Client packet MagicSkillLaunched to the L2Character AND to all L2PcInstance in the _KnownPlayers of the L2Character // Send a Server->Client packet MagicSkillLaunched to the L2Character AND to all L2PcInstance in the _KnownPlayers of the L2Character
if (!skill.isPotion()) if (!skill.isPotion())
@@ -3893,7 +3893,7 @@ public final class L2PcInstance extends L2Playable
// continue; // continue;
// } // }
if (getSkillLevel(sk.getId()) == -1) if (getSkillLevel(sk.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -7533,7 +7533,7 @@ public final class L2PcInstance extends L2Playable
{ {
// Reduce the Experience of the L2PcInstance in function of the calculated Death Penalty // Reduce the Experience of the L2PcInstance in function of the calculated Death Penalty
// NOTE: deathPenalty +- Exp will update karma // NOTE: deathPenalty +- Exp will update karma
if ((getSkillLevel(L2Skill.SKILL_LUCKY) < 0) || (getStat().getLevel() > 9)) if ((getSkillLevel(L2Skill.SKILL_LUCKY) <= 0) || (getStat().getLevel() > 9))
{ {
deathPenalty(((pk != null) && (getClan() != null) && (pk.getClan() != null) && pk.getClan().isAtWarWith(getClanId()))); deathPenalty(((pk != null) && (getClan() != null) && (pk.getClan() != null) && pk.getClan().isAtWarWith(getClanId())));
} }
@@ -1342,7 +1342,7 @@ public class L2PetInstance extends L2Summon
{ {
if ((getSkills() == null) || (getSkills().get(skillId) == null)) if ((getSkills() == null) || (getSkills().get(skillId) == null))
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
return lvl > 70 ? 7 + ((lvl - 70) / 5) : lvl / 10; return lvl > 70 ? 7 + ((lvl - 70) / 5) : lvl / 10;
@@ -61,7 +61,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final L2Skill skill = getKnownSkill(skillId); final L2Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -87,10 +87,6 @@ public class L2SkillSummon extends L2Skill
return true; // Player is always able to cast mass cubic skill return true; // Player is always able to cast mass cubic skill
} }
int mastery = player.getSkillLevel(SKILL_CUBIC_MASTERY); int mastery = player.getSkillLevel(SKILL_CUBIC_MASTERY);
if (mastery < 0)
{
mastery = 0;
}
final int count = player.getCubics().size(); final int count = player.getCubics().size();
if (count > mastery) if (count > mastery)
{ {
@@ -160,10 +156,6 @@ public class L2SkillSummon extends L2Skill
} }
final L2PcInstance player = ((L2PcInstance) obj); final L2PcInstance player = ((L2PcInstance) obj);
int mastery = player.getSkillLevel(SKILL_CUBIC_MASTERY); int mastery = player.getSkillLevel(SKILL_CUBIC_MASTERY);
if (mastery < 0)
{
mastery = 0;
}
if ((mastery == 0) && !player.getCubics().isEmpty()) if ((mastery == 0) && !player.getCubics().isEmpty())
{ {
// Player can have only 1 cubic - we shuld replace old cubic with new one // Player can have only 1 cubic - we shuld replace old cubic with new one
@@ -196,10 +188,6 @@ public class L2SkillSummon extends L2Skill
} }
int mastery = activeChar.getSkillLevel(SKILL_CUBIC_MASTERY); int mastery = activeChar.getSkillLevel(SKILL_CUBIC_MASTERY);
if (mastery < 0)
{
mastery = 0;
}
if (activeChar.getCubics().containsKey(_npcId)) if (activeChar.getCubics().containsKey(_npcId))
{ {
final L2CubicInstance cubic = activeChar.getCubic(_npcId); final L2CubicInstance cubic = activeChar.getCubic(_npcId);
@@ -5257,7 +5257,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -2592,7 +2592,7 @@ public final class L2PcInstance extends L2Playable
continue; continue;
} }
if (getSkillLevel(sk.getId()) == -1) if (getSkillLevel(sk.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -10631,7 +10631,7 @@ public final class L2PcInstance extends L2Playable
*/ */
public int getExpertiseLevel() public int getExpertiseLevel()
{ {
return getSkillLevel(239) < 0 ? 0 : getSkillLevel(239); return getSkillLevel(239);
} }
@Override @Override
@@ -1200,7 +1200,7 @@ public class L2PetInstance extends L2Summon
{ {
if (getKnownSkill(skillId) == null) if (getKnownSkill(skillId) == null)
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
@@ -813,8 +813,7 @@ public class CharStat
*/ */
public int getMaxBuffCount() public int getMaxBuffCount()
{ {
final int extraSlots = _activeChar.getSkillLevel(DIVINE_INSPIRATION); return _maxBuffCount + _activeChar.getSkillLevel(DIVINE_INSPIRATION);
return extraSlots > -1 ? _maxBuffCount + extraSlots : _maxBuffCount;
} }
/** /**
@@ -71,7 +71,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -337,7 +337,7 @@ public abstract class Inventory extends ItemContainer
} }
for (SkillHolder sk : itm.getItem().getSkills()) for (SkillHolder sk : itm.getItem().getSkills())
{ {
if (player.getSkillLevel(sk.getSkillId()) != -1) if (player.getSkillLevel(sk.getSkillId()) != 0)
{ {
continue; continue;
} }
@@ -84,7 +84,7 @@ public final class RequestAcquireSkillInfo extends L2GameClientPacket
{ {
if (prevSkillLevel == _level) if (prevSkillLevel == _level)
{ {
_log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is trequesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!"); _log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is requesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!");
} }
else if (prevSkillLevel != (_level - 1)) else if (prevSkillLevel != (_level - 1))
{ {
@@ -72,7 +72,7 @@ public final class RequestExEnchantSkillInfoDetail extends L2GameClientPacket
final int playerSkillLvl = activeChar.getSkillLevel(_skillId); final int playerSkillLvl = activeChar.getSkillLevel(_skillId);
// dont have such skill // dont have such skill
if (playerSkillLvl == -1) if (playerSkillLvl == 0)
{ {
return; return;
} }
@@ -44,6 +44,6 @@ public class OpSkillAcquireSkillCondition implements ISkillCondition
return false; return false;
} }
final int skillLevel = ((L2Character) target).getSkillLevel(_skillId); final int skillLevel = ((L2Character) target).getSkillLevel(_skillId);
return _hasLearned ? skillLevel != -1 : skillLevel == -1; return _hasLearned ? skillLevel != 0 : skillLevel == 0;
} }
} }
@@ -4021,7 +4021,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -2587,7 +2587,7 @@ public final class L2PcInstance extends L2Playable
continue; continue;
} }
if (getSkillLevel(skill.getId()) == -1) if (getSkillLevel(skill.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -1255,7 +1255,7 @@ public class L2PetInstance extends L2Summon
{ {
if (getKnownSkill(skillId) == null) if (getKnownSkill(skillId) == null)
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
@@ -71,7 +71,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -344,7 +344,7 @@ public abstract class Inventory extends ItemContainer
itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder -> itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
if (player.getSkillLevel(holder.getSkillId()) != -1) if (player.getSkillLevel(holder.getSkillId()) != 0)
{ {
return; return;
} }
@@ -138,8 +138,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
return; return;
} }
final int tmpLv = (prevSkillLevel == -1) ? 0 : prevSkillLevel; if (prevSkillLevel != (_level - 1))
if (tmpLv != (_level - 1))
{ {
// The previous level skill has not been learned. // The previous level skill has not been learned.
activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED); activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED);
@@ -759,7 +758,6 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
} }
/** /**
* TODO: CHECK & REMOVE THIS SHIT!!!!!!!!!!!!!!<br>
* Verify if the player can transform. * Verify if the player can transform.
* @param player the player to verify * @param player the player to verify
* @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise * @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise
@@ -770,7 +768,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
{ {
return true; return true;
} }
final QuestState st = player.getQuestState("Q00136_MoreThanMeetsTheEye"); final QuestState qs = player.getQuestState("Q00136_MoreThanMeetsTheEye");
return (st != null) && st.isCompleted(); return (qs != null) && qs.isCompleted();
} }
} }
@@ -90,7 +90,7 @@ public final class RequestAcquireSkillInfo implements IClientIncomingPacket
{ {
if (prevSkillLevel == _level) if (prevSkillLevel == _level)
{ {
_log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is trequesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!"); _log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is requesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!");
} }
else if (prevSkillLevel != (_level - 1)) else if (prevSkillLevel != (_level - 1))
{ {
@@ -44,6 +44,6 @@ public class OpSkillAcquireSkillCondition implements ISkillCondition
return false; return false;
} }
final int skillLevel = ((L2Character) target).getSkillLevel(_skillId); final int skillLevel = ((L2Character) target).getSkillLevel(_skillId);
return _hasLearned ? skillLevel != -1 : skillLevel == -1; return _hasLearned ? skillLevel != 0 : skillLevel == 0;
} }
} }
@@ -4021,7 +4021,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -2587,7 +2587,7 @@ public final class L2PcInstance extends L2Playable
continue; continue;
} }
if (getSkillLevel(skill.getId()) == -1) if (getSkillLevel(skill.getId()) == 0)
{ {
skillCounter++; skillCounter++;
} }
@@ -1255,7 +1255,7 @@ public class L2PetInstance extends L2Summon
{ {
if (getKnownSkill(skillId) == null) if (getKnownSkill(skillId) == null)
{ {
return -1; return 0;
} }
final int lvl = getLevel(); final int lvl = getLevel();
@@ -71,7 +71,7 @@ public class PlayerSkillHolder implements ISkillsHolder
public int getSkillLevel(int skillId) public int getSkillLevel(int skillId)
{ {
final Skill skill = getKnownSkill(skillId); final Skill skill = getKnownSkill(skillId);
return (skill == null) ? -1 : skill.getLevel(); return (skill == null) ? 0 : skill.getLevel();
} }
/** /**
@@ -344,7 +344,7 @@ public abstract class Inventory extends ItemContainer
itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder -> itm.getItem().forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
if (player.getSkillLevel(holder.getSkillId()) != -1) if (player.getSkillLevel(holder.getSkillId()) != 0)
{ {
return; return;
} }
@@ -138,8 +138,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
return; return;
} }
final int tmpLv = (prevSkillLevel == -1) ? 0 : prevSkillLevel; if (prevSkillLevel != (_level - 1))
if (tmpLv != (_level - 1))
{ {
// The previous level skill has not been learned. // The previous level skill has not been learned.
activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED); activeChar.sendPacket(SystemMessageId.THE_PREVIOUS_LEVEL_SKILL_HAS_NOT_BEEN_LEARNED);
@@ -759,7 +758,6 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
} }
/** /**
* TODO: CHECK & REMOVE THIS SHIT!!!!!!!!!!!!!!<br>
* Verify if the player can transform. * Verify if the player can transform.
* @param player the player to verify * @param player the player to verify
* @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise * @return {@code true} if the player meets the required conditions to learn a transformation, {@code false} otherwise
@@ -770,7 +768,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
{ {
return true; return true;
} }
final QuestState st = player.getQuestState("Q00136_MoreThanMeetsTheEye"); final QuestState qs = player.getQuestState("Q00136_MoreThanMeetsTheEye");
return (st != null) && st.isCompleted(); return (qs != null) && qs.isCompleted();
} }
} }
@@ -90,7 +90,7 @@ public final class RequestAcquireSkillInfo implements IClientIncomingPacket
{ {
if (prevSkillLevel == _level) if (prevSkillLevel == _level)
{ {
_log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is trequesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!"); _log.warning(RequestAcquireSkillInfo.class.getSimpleName() + ": Player " + activeChar.getName() + " is requesting info for a skill that already knows, Id: " + _id + " level: " + _level + "!");
} }
else if (prevSkillLevel != (_level - 1)) else if (prevSkillLevel != (_level - 1))
{ {