From 1caafd7cf2b25fb7a97f957d961d59d6effd4f5e Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Fri, 23 Aug 2013 21:33:19 +0000 Subject: [PATCH] BETA: Datapack part for [L6169]: * Fixed SummonCubic effect. * Fixed parameter name for cubic ID. --- .../handlers/effecthandlers/SummonCubic.java | 29 ++++++++++++------- .../game/data/stats/skills/00000-00099.xml | 14 ++++----- .../game/data/stats/skills/00200-00299.xml | 4 +-- .../game/data/stats/skills/00400-00499.xml | 4 +-- .../game/data/stats/skills/00700-00799.xml | 10 +++---- .../game/data/stats/skills/01200-01299.xml | 12 ++++---- .../game/data/stats/skills/01300-01399.xml | 12 ++++---- .../game/data/stats/skills/04300-04399.xml | 2 +- 8 files changed, 48 insertions(+), 39 deletions(-) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonCubic.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonCubic.java index 2e195d0bf8..a659ff0499 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonCubic.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonCubic.java @@ -32,7 +32,8 @@ import com.l2jserver.util.Rnd; */ public class SummonCubic extends L2Effect { - private final int _npcId; + /** Cubic ID. */ + private final int _cubicId; /** Cubic power. */ private final int _cubicPower; /** Cubic duration. */ @@ -47,7 +48,7 @@ public class SummonCubic extends L2Effect public SummonCubic(Env env, EffectTemplate template) { super(env, template); - _npcId = template.getParameters().getInteger("npcId", 0); + _cubicId = template.getParameters().getInteger("cubicId", -1); // Custom AI data. _cubicPower = template.getParameters().getInteger("cubicPower", 0); _cubicDuration = template.getParameters().getInteger("cubicDuration", 0); @@ -76,9 +77,9 @@ public class SummonCubic extends L2Effect return false; } - if (_npcId <= 0) + if (_cubicId < 0) { - _log.warning(SummonCubic.class.getSimpleName() + ": Invalid NPC Id:" + _npcId + " in skill Id: " + getSkill().getId()); + _log.warning(SummonCubic.class.getSimpleName() + ": Invalid Cubic Id:" + _cubicId + " in skill Id: " + getSkill().getId()); return false; } @@ -100,24 +101,32 @@ public class SummonCubic extends L2Effect } // If cubic is already present, it's replaced. - final L2CubicInstance cubic = player.getCubicById(_npcId); + final L2CubicInstance cubic = player.getCubicById(_cubicId); if (cubic != null) { cubic.stopAction(); cubic.cancelDisappear(); - player.getCubics().remove(cubic); + player.getCubics().remove(_cubicId); } else { // If maximum amount is reached, random cubic is removed. final L2Effect cubicMastery = player.getFirstPassiveEffect(L2EffectType.CUBIC_MASTERY); - final int cubicCount = (int) (cubicMastery != null ? cubicMastery.calc() : 0); - if (player.getCubics().size() > cubicCount) + // Players with no mastery can have only one cubic. + final int allowedCubicCount = (int) (cubicMastery != null ? cubicMastery.calc() : 1); + final int currentCubicCount = player.getCubics().size(); + // Extra cubics are removed, one by one, randomly. + for (int i = 0; i <= (currentCubicCount - allowedCubicCount); i++) { - player.getCubics().remove(Rnd.get(player.getCubics().size())); + final int removedCubicId = (int) player.getCubics().keySet().toArray()[Rnd.get(currentCubicCount)]; + final L2CubicInstance removedCubic = player.getCubicById(removedCubicId); + removedCubic.stopAction(); + removedCubic.cancelDisappear(); + player.getCubics().remove(removedCubic.getId()); } } - player.addCubic(_npcId, _cubicSkillLevel, _cubicPower, _cubicDelay, _cubicSkillChance, _cubicMaxCount, _cubicDuration, getEffected() != getEffector()); + // Adding a new cubic. + player.addCubic(_cubicId, _cubicSkillLevel, _cubicPower, _cubicDelay, _cubicSkillChance, _cubicMaxCount, _cubicDuration, getEffected() != getEffector()); player.broadcastUserInfo(); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml index 3e41deb6c1..fff2413986 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml @@ -392,12 +392,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#cubicPower" /> + <param cubicId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#ench1Power" /> + <param cubicId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> @@ -724,12 +724,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="2" cubicDelay="15" cubicDuration="900" cubicMaxCount="20" cubicSkillChance="8" cubicPower="#cubicPower" /> + <param cubicId="2" cubicDelay="15" cubicDuration="900" cubicMaxCount="20" cubicSkillChance="8" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="2" cubicDelay="15" cubicDuration="900" cubicMaxCount="20" cubicSkillChance="8" cubicPower="#ench1Power" /> + <param cubicId="2" cubicDelay="15" cubicDuration="900" cubicMaxCount="20" cubicSkillChance="8" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> @@ -975,13 +975,13 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#cubicPower" /> + <param cubicId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#cubicPower" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#ench1Power" /> + <param cubicId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#ench1Power" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </enchant1for> @@ -1562,7 +1562,7 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="3" cubicDelay="13" cubicDuration="900" cubicMaxCount="20" cubicSkillChance="0" /> + <param cubicId="3" cubicDelay="13" cubicDuration="900" cubicMaxCount="20" cubicSkillChance="0" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml index 0ec7c84ed4..234a0e3edb 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml @@ -2067,12 +2067,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="4" cubicDelay="20" cubicDuration="900" cubicMaxCount="15" cubicSkillChance="20" cubicPower="#cubicPower" /> + <param cubicId="4" cubicDelay="20" cubicDuration="900" cubicMaxCount="15" cubicSkillChance="20" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="4" cubicDelay="20" cubicDuration="900" cubicMaxCount="15" cubicSkillChance="20" cubicPower="#ench1Power" /> + <param cubicId="4" cubicDelay="20" cubicDuration="900" cubicMaxCount="15" cubicSkillChance="20" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml index 7d4d10c03f..8b81423f40 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml @@ -1692,13 +1692,13 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="9" cubicDelay="8" cubicDuration="900" cubicMaxCount="300" cubicSkillChance="50" cubicPower="#cubicPower" /> + <param cubicId="9" cubicDelay="8" cubicDuration="900" cubicMaxCount="300" cubicSkillChance="50" cubicPower="#cubicPower" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="9" cubicDelay="8" cubicDuration="900" cubicMaxCount="300" cubicSkillChance="50" cubicPower="#ench1Power" /> + <param cubicId="9" cubicDelay="8" cubicDuration="900" cubicMaxCount="300" cubicSkillChance="50" cubicPower="#ench1Power" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </enchant1for> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml index 0f5ddbefe6..c457ae6a82 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml @@ -1957,7 +1957,7 @@ <set name="targetType" val="SELF" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="10" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> + <param cubicId="10" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> @@ -1977,7 +1977,7 @@ <set name="targetType" val="SELF" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="11" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> + <param cubicId="11" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> @@ -1997,7 +1997,7 @@ <set name="targetType" val="SELF" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="12" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> + <param cubicId="12" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> @@ -2017,7 +2017,7 @@ <set name="targetType" val="SELF" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="13" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> + <param cubicId="13" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> @@ -2037,7 +2037,7 @@ <set name="targetType" val="SELF" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="14" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> + <param cubicId="14" cubicDelay="10" cubicDuration="900" cubicMaxCount="50" cubicSkillChance="30" cubicPower="2106" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml index 20004a3cc5..cd5f186c78 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml @@ -2641,12 +2641,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="6" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#cubicPower" /> + <param cubicId="6" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="6" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#ench1Power" /> + <param cubicId="6" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> @@ -2673,12 +2673,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#cubicPower" /> + <param cubicId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#ench1Power" /> + <param cubicId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> @@ -2705,12 +2705,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="8" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#cubicPower" /> + <param cubicId="8" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="8" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#ench1Power" /> + <param cubicId="8" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="12" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml index cfb1e88751..0e525c6bf9 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml @@ -657,12 +657,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#cubicPower" /> + <param cubicId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#ench1Power" /> + <param cubicId="1" cubicDelay="10" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="12" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> @@ -690,12 +690,12 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#cubicPower" /> + <param cubicId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#cubicPower" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#ench1Power" /> + <param cubicId="7" cubicDelay="30" cubicDuration="900" cubicMaxCount="10" cubicSkillChance="30" cubicPower="#ench1Power" /> </effect> </enchant1for> </skill> @@ -723,13 +723,13 @@ <enchant1 name="magicLvl" val="#enchMagicLvl" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#cubicPower" /> + <param cubicId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#cubicPower" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </for> <enchant1for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#ench1Power" /> + <param cubicId="5" cubicDelay="8" cubicDuration="900" cubicMaxCount="30" cubicSkillChance="30" cubicPower="#ench1Power" /> <param cubicSkill1Chance="33" cubicSkill2Chance="33" cubicSkill3Chance="33" /> </effect> </enchant1for> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml index 373e525bf3..3d3d708caf 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml @@ -562,7 +562,7 @@ <set name="targetType" val="SELF" /> <for> <effect name="SummonCubic" noicon="1" val="0"> - <param npcId="3" cubicDelay="13" cubicDuration="3600" cubicMaxCount="20" /> + <param cubicId="3" cubicDelay="13" cubicDuration="3600" cubicMaxCount="20" /> <param cubicSkill1Chance="13" cubicSkill2Chance="33" cubicSkill3Chance="53" /> </effect> </for> -- GitLab