diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/Summon.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/Summon.java index c2ab9864ef..8fa9bc184e 100644 --- a/trunk/dist/game/data/scripts/handlers/effecthandlers/Summon.java +++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/Summon.java @@ -110,6 +110,8 @@ public final class Summon extends AbstractEffect { player.addServitor(summon); } + player.setUsedSummonPoints(player.getUsedSummonPoints() + _summonPoints); + summon.setShowSummonAnimation(true); summon.setRunning(); summon.spawnMe(); diff --git a/trunk/dist/game/data/stats/skills/00000-00099.xml b/trunk/dist/game/data/stats/skills/00000-00099.xml index d70e091df5..e2b90db776 100644 --- a/trunk/dist/game/data/stats/skills/00000-00099.xml +++ b/trunk/dist/game/data/stats/skills/00000-00099.xml @@ -573,7 +573,7 @@ - + @@ -581,6 +581,7 @@ + @@ -588,6 +589,7 @@ + @@ -935,7 +937,7 @@ - + @@ -944,6 +946,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/00200-00299.xml b/trunk/dist/game/data/stats/skills/00200-00299.xml index e4f82d6d50..c06d451a7e 100644 --- a/trunk/dist/game/data/stats/skills/00200-00299.xml +++ b/trunk/dist/game/data/stats/skills/00200-00299.xml @@ -2497,7 +2497,7 @@ - + @@ -2506,6 +2506,7 @@ + @@ -2514,6 +2515,7 @@ + @@ -3033,7 +3035,7 @@ - + @@ -3041,6 +3043,7 @@ + @@ -3048,6 +3051,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/00300-00399.xml b/trunk/dist/game/data/stats/skills/00300-00399.xml index 81b5557342..f0725725f3 100644 --- a/trunk/dist/game/data/stats/skills/00300-00399.xml +++ b/trunk/dist/game/data/stats/skills/00300-00399.xml @@ -20,7 +20,7 @@ - + @@ -29,6 +29,7 @@ + @@ -37,6 +38,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/00400-00499.xml b/trunk/dist/game/data/stats/skills/00400-00499.xml index 35857cdd76..d0781cf2c8 100644 --- a/trunk/dist/game/data/stats/skills/00400-00499.xml +++ b/trunk/dist/game/data/stats/skills/00400-00499.xml @@ -1760,7 +1760,7 @@ - + @@ -1768,6 +1768,7 @@ + @@ -1775,6 +1776,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/00700-00799.xml b/trunk/dist/game/data/stats/skills/00700-00799.xml index b2bf848da2..043af0c486 100644 --- a/trunk/dist/game/data/stats/skills/00700-00799.xml +++ b/trunk/dist/game/data/stats/skills/00700-00799.xml @@ -320,7 +320,7 @@ - + @@ -329,6 +329,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/00900-00999.xml b/trunk/dist/game/data/stats/skills/00900-00999.xml index 1f6604b617..165d0be53f 100644 --- a/trunk/dist/game/data/stats/skills/00900-00999.xml +++ b/trunk/dist/game/data/stats/skills/00900-00999.xml @@ -341,7 +341,7 @@ - + @@ -349,6 +349,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/01100-01199.xml b/trunk/dist/game/data/stats/skills/01100-01199.xml index e61f654fc7..444f0a0858 100644 --- a/trunk/dist/game/data/stats/skills/01100-01199.xml +++ b/trunk/dist/game/data/stats/skills/01100-01199.xml @@ -270,7 +270,7 @@ - + @@ -278,6 +278,7 @@ + @@ -285,6 +286,7 @@ + @@ -390,7 +392,7 @@ - + @@ -398,6 +400,7 @@ + @@ -405,6 +408,7 @@ + @@ -430,7 +434,7 @@ - + @@ -438,6 +442,7 @@ + @@ -445,6 +450,7 @@ + @@ -799,7 +805,7 @@ - + @@ -807,6 +813,7 @@ + @@ -814,6 +821,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/01200-01299.xml b/trunk/dist/game/data/stats/skills/01200-01299.xml index 2d321b6ab3..dbef4d16d4 100644 --- a/trunk/dist/game/data/stats/skills/01200-01299.xml +++ b/trunk/dist/game/data/stats/skills/01200-01299.xml @@ -651,7 +651,7 @@ - + @@ -659,6 +659,7 @@ + @@ -666,6 +667,7 @@ + @@ -696,7 +698,7 @@ - + @@ -704,6 +706,7 @@ + @@ -711,6 +714,7 @@ + @@ -738,7 +742,7 @@ - + @@ -746,6 +750,7 @@ + @@ -753,6 +758,7 @@ + @@ -780,7 +786,7 @@ - + @@ -788,6 +794,7 @@ + @@ -795,6 +802,7 @@ + @@ -2699,7 +2707,7 @@ - + @@ -2707,6 +2715,7 @@ + @@ -2714,6 +2723,7 @@ + @@ -2741,7 +2751,7 @@ - + @@ -2749,6 +2759,7 @@ + @@ -2756,6 +2767,7 @@ + @@ -2783,7 +2795,7 @@ - + @@ -2791,6 +2803,7 @@ + @@ -2798,6 +2811,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/01300-01399.xml b/trunk/dist/game/data/stats/skills/01300-01399.xml index 26f8aacbab..28183a7459 100644 --- a/trunk/dist/game/data/stats/skills/01300-01399.xml +++ b/trunk/dist/game/data/stats/skills/01300-01399.xml @@ -795,7 +795,7 @@ - + @@ -803,6 +803,7 @@ + @@ -810,6 +811,7 @@ + @@ -837,7 +839,7 @@ - + @@ -845,6 +847,7 @@ + @@ -852,6 +855,7 @@ + @@ -879,7 +883,7 @@ - + @@ -887,6 +891,7 @@ + @@ -894,6 +899,7 @@ + @@ -921,7 +927,7 @@ - + @@ -929,6 +935,7 @@ + @@ -936,6 +943,7 @@ + diff --git a/trunk/dist/game/data/stats/skills/01400-01499.xml b/trunk/dist/game/data/stats/skills/01400-01499.xml index 3b1795f56a..dc8cf97043 100644 --- a/trunk/dist/game/data/stats/skills/01400-01499.xml +++ b/trunk/dist/game/data/stats/skills/01400-01499.xml @@ -269,7 +269,7 @@ - + @@ -277,6 +277,7 @@ + @@ -284,6 +285,7 @@ + @@ -309,7 +311,7 @@ - + @@ -317,6 +319,7 @@ + @@ -324,6 +327,7 @@ + @@ -351,7 +355,7 @@ - + @@ -359,6 +363,7 @@ + @@ -366,6 +371,7 @@ + diff --git a/trunk/dist/game/data_classic/scripts/handlers/effecthandlers/Summon.java b/trunk/dist/game/data_classic/scripts/handlers/effecthandlers/Summon.java index c2ab9864ef..8fa9bc184e 100644 --- a/trunk/dist/game/data_classic/scripts/handlers/effecthandlers/Summon.java +++ b/trunk/dist/game/data_classic/scripts/handlers/effecthandlers/Summon.java @@ -110,6 +110,8 @@ public final class Summon extends AbstractEffect { player.addServitor(summon); } + player.setUsedSummonPoints(player.getUsedSummonPoints() + _summonPoints); + summon.setShowSummonAnimation(true); summon.setRunning(); summon.spawnMe(); diff --git a/trunk/dist/game/data_classic/stats/skills/00000-00099.xml b/trunk/dist/game/data_classic/stats/skills/00000-00099.xml index d70e091df5..0f899f5fa9 100644 --- a/trunk/dist/game/data_classic/stats/skills/00000-00099.xml +++ b/trunk/dist/game/data_classic/stats/skills/00000-00099.xml @@ -573,7 +573,7 @@ - + @@ -581,6 +581,7 @@ + @@ -588,6 +589,7 @@ + @@ -935,7 +937,7 @@ - + @@ -944,6 +946,7 @@ + @@ -952,6 +955,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/00200-00299.xml b/trunk/dist/game/data_classic/stats/skills/00200-00299.xml index e4f82d6d50..c06d451a7e 100644 --- a/trunk/dist/game/data_classic/stats/skills/00200-00299.xml +++ b/trunk/dist/game/data_classic/stats/skills/00200-00299.xml @@ -2497,7 +2497,7 @@ - + @@ -2506,6 +2506,7 @@ + @@ -2514,6 +2515,7 @@ + @@ -3033,7 +3035,7 @@ - + @@ -3041,6 +3043,7 @@ + @@ -3048,6 +3051,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/00300-00399.xml b/trunk/dist/game/data_classic/stats/skills/00300-00399.xml index 8b5613f3c8..731a719649 100644 --- a/trunk/dist/game/data_classic/stats/skills/00300-00399.xml +++ b/trunk/dist/game/data_classic/stats/skills/00300-00399.xml @@ -20,7 +20,7 @@ - + @@ -29,6 +29,7 @@ + @@ -37,6 +38,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/00400-00499.xml b/trunk/dist/game/data_classic/stats/skills/00400-00499.xml index e6ccbdcb2c..6e219f58ea 100644 --- a/trunk/dist/game/data_classic/stats/skills/00400-00499.xml +++ b/trunk/dist/game/data_classic/stats/skills/00400-00499.xml @@ -1703,7 +1703,7 @@ - + @@ -1711,6 +1711,7 @@ + @@ -1718,6 +1719,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/00700-00799.xml b/trunk/dist/game/data_classic/stats/skills/00700-00799.xml index f6820f2cd6..4fd5aaa82c 100644 --- a/trunk/dist/game/data_classic/stats/skills/00700-00799.xml +++ b/trunk/dist/game/data_classic/stats/skills/00700-00799.xml @@ -320,7 +320,7 @@ - + @@ -329,6 +329,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/00900-00999.xml b/trunk/dist/game/data_classic/stats/skills/00900-00999.xml index e583fc107e..9e7746335f 100644 --- a/trunk/dist/game/data_classic/stats/skills/00900-00999.xml +++ b/trunk/dist/game/data_classic/stats/skills/00900-00999.xml @@ -341,7 +341,7 @@ - + @@ -349,6 +349,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/01100-01199.xml b/trunk/dist/game/data_classic/stats/skills/01100-01199.xml index e61f654fc7..444f0a0858 100644 --- a/trunk/dist/game/data_classic/stats/skills/01100-01199.xml +++ b/trunk/dist/game/data_classic/stats/skills/01100-01199.xml @@ -270,7 +270,7 @@ - + @@ -278,6 +278,7 @@ + @@ -285,6 +286,7 @@ + @@ -390,7 +392,7 @@ - + @@ -398,6 +400,7 @@ + @@ -405,6 +408,7 @@ + @@ -430,7 +434,7 @@ - + @@ -438,6 +442,7 @@ + @@ -445,6 +450,7 @@ + @@ -799,7 +805,7 @@ - + @@ -807,6 +813,7 @@ + @@ -814,6 +821,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/01200-01299.xml b/trunk/dist/game/data_classic/stats/skills/01200-01299.xml index 2d321b6ab3..dbef4d16d4 100644 --- a/trunk/dist/game/data_classic/stats/skills/01200-01299.xml +++ b/trunk/dist/game/data_classic/stats/skills/01200-01299.xml @@ -651,7 +651,7 @@ - + @@ -659,6 +659,7 @@ + @@ -666,6 +667,7 @@ + @@ -696,7 +698,7 @@ - + @@ -704,6 +706,7 @@ + @@ -711,6 +714,7 @@ + @@ -738,7 +742,7 @@ - + @@ -746,6 +750,7 @@ + @@ -753,6 +758,7 @@ + @@ -780,7 +786,7 @@ - + @@ -788,6 +794,7 @@ + @@ -795,6 +802,7 @@ + @@ -2699,7 +2707,7 @@ - + @@ -2707,6 +2715,7 @@ + @@ -2714,6 +2723,7 @@ + @@ -2741,7 +2751,7 @@ - + @@ -2749,6 +2759,7 @@ + @@ -2756,6 +2767,7 @@ + @@ -2783,7 +2795,7 @@ - + @@ -2791,6 +2803,7 @@ + @@ -2798,6 +2811,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/01300-01399.xml b/trunk/dist/game/data_classic/stats/skills/01300-01399.xml index 431d7883e2..89436728a9 100644 --- a/trunk/dist/game/data_classic/stats/skills/01300-01399.xml +++ b/trunk/dist/game/data_classic/stats/skills/01300-01399.xml @@ -674,7 +674,7 @@ - + @@ -682,6 +682,7 @@ + @@ -689,6 +690,7 @@ + @@ -716,7 +718,7 @@ - + @@ -724,6 +726,7 @@ + @@ -731,6 +734,7 @@ + @@ -758,7 +762,7 @@ - + @@ -766,6 +770,7 @@ + @@ -773,6 +778,7 @@ + @@ -800,7 +806,7 @@ - + @@ -808,6 +814,7 @@ + @@ -815,6 +822,7 @@ + diff --git a/trunk/dist/game/data_classic/stats/skills/01400-01499.xml b/trunk/dist/game/data_classic/stats/skills/01400-01499.xml index d3b48c1d54..29663871ac 100644 --- a/trunk/dist/game/data_classic/stats/skills/01400-01499.xml +++ b/trunk/dist/game/data_classic/stats/skills/01400-01499.xml @@ -269,7 +269,7 @@ - + @@ -277,6 +277,7 @@ + @@ -284,6 +285,7 @@ + @@ -309,7 +311,7 @@ - + @@ -317,6 +319,7 @@ + @@ -324,6 +327,7 @@ + @@ -351,7 +355,7 @@ - + @@ -359,6 +363,7 @@ + @@ -366,6 +371,7 @@ + diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/L2Summon.java b/trunk/java/com/l2jserver/gameserver/model/actor/L2Summon.java index 24920974de..39c121dd78 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/L2Summon.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/L2Summon.java @@ -392,6 +392,7 @@ public abstract class L2Summon extends L2Playable { party.broadcastToPartyMembers(owner, new ExPartyPetWindowDelete(this)); } + owner.setUsedSummonPoints(owner.getUsedSummonPoints() - _summonPoints); } // pet will be deleted along with all his items @@ -473,6 +474,7 @@ public abstract class L2Summon extends L2Playable owner.disableAutoShot(itemId); } } + owner.setUsedSummonPoints(owner.getUsedSummonPoints() - _summonPoints); } } } diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java index 496a472eab..b885dc5cd7 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java @@ -609,6 +609,7 @@ public final class L2PcInstance extends L2Playable private L2Summon _pet = null; /** Servitors of the L2PcInstance */ private volatile Map _servitors = null; + private int _usedSummonPoints = 0; /** The L2Decoy of the L2PcInstance */ private L2Decoy _decoy = null; /** The L2Trap of the L2PcInstance */ @@ -15036,15 +15037,21 @@ public final class L2PcInstance extends L2Playable */ public int getMaxSummonPoints() { - return (int) getStat().calcStat(Stats.MAX_SUMMON_POINTS, 0, null, null); + // return (int) getStat().calcStat(Stats.MAX_SUMMON_POINTS, 0, null, null); + return 4; } /** * @return the amount of points that player used */ - public int getSummonPoints() + public int getUsedSummonPoints() { - return getServitors().values().stream().mapToInt(L2Summon::getSummonPoints).sum(); + return _usedSummonPoints; + } + + public void setUsedSummonPoints(int points) + { + _usedSummonPoints = points; } /** diff --git a/trunk/java/com/l2jserver/gameserver/model/conditions/ConditionPlayerHasFreeSummonPoints.java b/trunk/java/com/l2jserver/gameserver/model/conditions/ConditionPlayerHasFreeSummonPoints.java index a4540bdd8f..3f8c7d4219 100644 --- a/trunk/java/com/l2jserver/gameserver/model/conditions/ConditionPlayerHasFreeSummonPoints.java +++ b/trunk/java/com/l2jserver/gameserver/model/conditions/ConditionPlayerHasFreeSummonPoints.java @@ -53,7 +53,7 @@ public class ConditionPlayerHasFreeSummonPoints extends Condition player.sendPacket(SystemMessageId.YOU_CANNOT_USE_THE_S1_SKILL_DUE_TO_INSUFFICIENT_SUMMON_POINTS); canSummon = false; } - else if ((player.getSummonPoints() + _summonPoints) > player.getMaxSummonPoints()) + else if ((player.getUsedSummonPoints() + _summonPoints) > player.getMaxSummonPoints()) { final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_USE_THE_S1_SKILL_DUE_TO_INSUFFICIENT_SUMMON_POINTS); sm.addSkillName(skill); diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/PetInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/PetInfo.java index 653049d193..e83311562d 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/PetInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/PetInfo.java @@ -175,7 +175,7 @@ public class PetInfo extends L2GameServerPacket writeD(0x00); // TODO: Find me writeD(_summon.getFormId()); // Transformation ID - Confirmed - writeC(_summon.getOwner().getSummonPoints()); // Used Summon Points + writeC(_summon.getOwner().getUsedSummonPoints()); // Used Summon Points writeC(_summon.getOwner().getMaxSummonPoints()); // Maximum Summon Points final Set aves = _summon.getCurrentAbnormalVisualEffects();