From 807947d6a53ee35eae61df7914d9db62600c2719 Mon Sep 17 00:00:00 2001 From: Zealar <Zealar@users.noreply.github.com> Date: Mon, 27 Oct 2014 19:54:17 +0000 Subject: [PATCH] BETA: Data Pack for [L6667] --- .../scripts/handlers/EffectMasterHandler.java | 4 +- .../effecthandlers/ChanceSkillTrigger.java | 60 ------- .../effecthandlers/TriggerSkillByAttack.java | 156 ++++++++++++++++++ .../effecthandlers/TriggerSkillByAvoid.java | 111 +++++++++++++ .../effecthandlers/TriggerSkillBySkill.java | 118 +++++++++++++ .../game/data/stats/skills/00200-00299.xml | 110 ++++++------ .../game/data/stats/skills/00400-00499.xml | 9 +- .../game/data/stats/skills/00600-00699.xml | 30 +++- .../game/data/stats/skills/00700-00799.xml | 40 ++--- .../game/data/stats/skills/00800-00899.xml | 21 ++- .../game/data/stats/skills/00900-00999.xml | 79 ++++----- .../game/data/stats/skills/01400-01499.xml | 10 +- .../game/data/stats/skills/01500-01599.xml | 28 +++- .../game/data/stats/skills/03400-03499.xml | 18 +- .../game/data/stats/skills/03600-03699.xml | 75 +++++++-- .../game/data/stats/skills/03800-03899.xml | 68 ++++++-- .../game/data/stats/skills/05500-05599.xml | 17 +- .../game/data/stats/skills/05600-05699.xml | 9 +- .../game/data/stats/skills/05800-05899.xml | 23 ++- .../game/data/stats/skills/05900-05999.xml | 36 +++- .../game/data/stats/skills/08200-08299.xml | 9 +- .../game/data/stats/skills/08300-08399.xml | 10 +- .../game/data/stats/skills/21200-21299.xml | 59 +++++-- .../dist/game/data/xsd/skills.xsd | 7 +- 24 files changed, 858 insertions(+), 249 deletions(-) delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChanceSkillTrigger.java create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAttack.java create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAvoid.java create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java index 319b936d56..70e568fd51 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -52,7 +52,6 @@ public final class EffectMasterHandler CallPc.class, CallSkill.class, ChameleonRest.class, - ChanceSkillTrigger.class, ChangeFace.class, ChangeFishingMastery.class, ChangeHairColor.class, @@ -188,7 +187,10 @@ public final class EffectMasterHandler Transformation.class, TrapDetect.class, TrapRemove.class, + TriggerSkillByAttack.class, + TriggerSkillByAvoid.class, TriggerSkillByDamage.class, + TriggerSkillBySkill.class, UnsummonAgathion.class, VitalityPointUp.class, }; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChanceSkillTrigger.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChanceSkillTrigger.java deleted file mode 100644 index efba26dd68..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChanceSkillTrigger.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2004-2014 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package handlers.effecthandlers; - -import com.l2jserver.gameserver.model.StatsSet; -import com.l2jserver.gameserver.model.conditions.Condition; -import com.l2jserver.gameserver.model.effects.AbstractEffect; -import com.l2jserver.gameserver.model.skills.BuffInfo; - -/** - * Chance Skill Trigger effect implementation. - */ -public final class ChanceSkillTrigger extends AbstractEffect -{ - public ChanceSkillTrigger(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) - { - super(attachCond, applyCond, set, params); - } - - @Override - public boolean onActionTime(BuffInfo info) - { - info.getEffected().onActionTimeChanceEffect(info.getSkill().getElement()); - return info.getSkill().isPassive(); - } - - @Override - public void onExit(BuffInfo info) - { - // trigger only if effect in use and successfully ticked to the end - if (info.getTickCount(this) >= getTicks()) - { - info.getEffected().onExitChanceEffect(info.getSkill().getElement()); - } - info.getEffected().removeChanceEffect(this); - } - - @Override - public void onStart(BuffInfo info) - { - info.getEffected().addChanceTrigger(this); - info.getEffected().onStartChanceEffect(info.getSkill().getElement()); - } -} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAttack.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAttack.java new file mode 100644 index 0000000000..ef08d93946 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAttack.java @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2004-2014 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package handlers.effecthandlers; + +import com.l2jserver.gameserver.enums.InstanceType; +import com.l2jserver.gameserver.handler.ITargetTypeHandler; +import com.l2jserver.gameserver.handler.TargetHandler; +import com.l2jserver.gameserver.model.L2Object; +import com.l2jserver.gameserver.model.StatsSet; +import com.l2jserver.gameserver.model.actor.L2Character; +import com.l2jserver.gameserver.model.conditions.Condition; +import com.l2jserver.gameserver.model.effects.AbstractEffect; +import com.l2jserver.gameserver.model.events.EventType; +import com.l2jserver.gameserver.model.events.impl.character.OnCreatureDamageDealt; +import com.l2jserver.gameserver.model.events.listeners.ConsumerEventListener; +import com.l2jserver.gameserver.model.holders.SkillHolder; +import com.l2jserver.gameserver.model.items.type.WeaponType; +import com.l2jserver.gameserver.model.skills.BuffInfo; +import com.l2jserver.gameserver.model.skills.Skill; +import com.l2jserver.gameserver.model.skills.targets.L2TargetType; +import com.l2jserver.util.Rnd; + +/** + * Trigger Skill By Attack effect implementation. + * @author Zealar + */ +public final class TriggerSkillByAttack extends AbstractEffect +{ + private final int _minAttackerLevel; + private final int _maxAttackerLevel; + private final int _minDamage; + private final int _chance; + private final SkillHolder _skill; + private final L2TargetType _targetType; + private final InstanceType _attackerType; + private int _allowWeapons; + private final boolean _isCritical; + + /** + * @param attachCond + * @param applyCond + * @param set + * @param params + */ + + public TriggerSkillByAttack(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) + { + super(attachCond, applyCond, set, params); + + _minAttackerLevel = params.getInt("minAttackerLevel", 1); + _maxAttackerLevel = params.getInt("maxAttackerLevel", 100); + _minDamage = params.getInt("minDamage", 1); + _chance = params.getInt("chance", 100); + _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); + _targetType = params.getEnum("targetType", L2TargetType.class, L2TargetType.SELF); + _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.L2Character); + _isCritical = params.getBoolean("isCritical", false); + + if (params.getString("allowWeapons").equalsIgnoreCase("ALL")) + { + _allowWeapons = 2097151; + } + else + { + for (String s : params.getString("allowWeapons").split(",")) + { + _allowWeapons |= WeaponType.valueOf(s).mask(); + } + } + } + + public void onAttackEvent(OnCreatureDamageDealt event) + { + if (event.isDamageOverTime() || (_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLvl() == 0))) + { + return; + } + + if (_isCritical != event.isCritical()) + { + return; + } + + final ITargetTypeHandler targetHandler = TargetHandler.getInstance().getHandler(_targetType); + if (targetHandler == null) + { + _log.warning("Handler for target type: " + _targetType + " does not exist."); + return; + } + + if (event.getAttacker() == event.getTarget()) + { + return; + } + + if ((event.getAttacker().getLevel() < _minAttackerLevel) || (event.getAttacker().getLevel() > _maxAttackerLevel)) + { + return; + } + + if ((event.getDamage() < _minDamage) || (Rnd.get(100) > _chance) || !event.getAttacker().getInstanceType().isType(_attackerType)) + { + return; + } + + if ((event.getAttacker().getActiveWeaponItem().getItemType().mask() & _allowWeapons) == 0) + { + return; + } + + final Skill triggerSkill = _skill.getSkill(); + final L2Object[] targets = targetHandler.getTargetList(triggerSkill, event.getAttacker(), false, event.getTarget()); + + for (L2Object triggerTarget : targets) + { + if ((triggerTarget == null) || !triggerTarget.isCharacter()) + { + continue; + } + + final L2Character targetChar = (L2Character) triggerTarget; + if (!targetChar.isInvul()) + { + event.getAttacker().makeTriggerCast(triggerSkill, targetChar); + } + } + } + + @Override + public void onExit(BuffInfo info) + { + info.getEffected().removeListenerIf(EventType.ON_CREATURE_DAMAGE_DEALT, listener -> listener.getOwner() == this); + } + + @Override + public void onStart(BuffInfo info) + { + info.getEffected().addListener(new ConsumerEventListener(info.getEffected(), EventType.ON_CREATURE_DAMAGE_DEALT, (OnCreatureDamageDealt event) -> onAttackEvent(event), this)); + } +} diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAvoid.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAvoid.java new file mode 100644 index 0000000000..6694bd46c5 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAvoid.java @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2004-2014 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package handlers.effecthandlers; + +import com.l2jserver.gameserver.handler.ITargetTypeHandler; +import com.l2jserver.gameserver.handler.TargetHandler; +import com.l2jserver.gameserver.model.L2Object; +import com.l2jserver.gameserver.model.StatsSet; +import com.l2jserver.gameserver.model.actor.L2Character; +import com.l2jserver.gameserver.model.conditions.Condition; +import com.l2jserver.gameserver.model.effects.AbstractEffect; +import com.l2jserver.gameserver.model.events.EventType; +import com.l2jserver.gameserver.model.events.impl.character.OnCreatureAttackAvoid; +import com.l2jserver.gameserver.model.events.listeners.ConsumerEventListener; +import com.l2jserver.gameserver.model.holders.SkillHolder; +import com.l2jserver.gameserver.model.skills.BuffInfo; +import com.l2jserver.gameserver.model.skills.Skill; +import com.l2jserver.gameserver.model.skills.targets.L2TargetType; +import com.l2jserver.util.Rnd; + +/** + * Trigger Skill By Avoid effect implementation. + * @author Zealar + */ +public final class TriggerSkillByAvoid extends AbstractEffect +{ + private final int _chance; + private final SkillHolder _skill; + private final L2TargetType _targetType; + + /** + * @param attachCond + * @param applyCond + * @param set + * @param params + */ + + public TriggerSkillByAvoid(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) + { + super(attachCond, applyCond, set, params); + + _chance = params.getInt("chance", 100); + _skill = new SkillHolder(params.getInt("skillId", 0), params.getInt("skillLevel", 0)); + _targetType = params.getEnum("targetType", L2TargetType.class, L2TargetType.ONE); + } + + public void onAvoidEvent(OnCreatureAttackAvoid event) + { + if (event.isDamageOverTime() || (_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLvl() == 0))) + { + return; + } + + final ITargetTypeHandler targetHandler = TargetHandler.getInstance().getHandler(_targetType); + if (targetHandler == null) + { + _log.warning("Handler for target type: " + _targetType + " does not exist."); + return; + } + + if (Rnd.get(100) > _chance) + { + return; + } + + final Skill triggerSkill = _skill.getSkill(); + final L2Object[] targets = targetHandler.getTargetList(triggerSkill, event.getTarget(), false, event.getAttacker()); + + for (L2Object triggerTarget : targets) + { + if ((triggerTarget == null) || !triggerTarget.isCharacter()) + { + continue; + } + + final L2Character targetChar = (L2Character) triggerTarget; + if (!targetChar.isInvul()) + { + event.getTarget().makeTriggerCast(triggerSkill, targetChar); + } + } + } + + @Override + public void onExit(BuffInfo info) + { + info.getEffected().removeListenerIf(EventType.ON_CREATURE_ATTACK_AVOID, listener -> listener.getOwner() == this); + } + + @Override + public void onStart(BuffInfo info) + { + info.getEffected().addListener(new ConsumerEventListener(info.getEffected(), EventType.ON_CREATURE_ATTACK_AVOID, (OnCreatureAttackAvoid event) -> onAvoidEvent(event), this)); + } +} diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java new file mode 100644 index 0000000000..73bdedd9c7 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2004-2014 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package handlers.effecthandlers; + +import com.l2jserver.gameserver.handler.ITargetTypeHandler; +import com.l2jserver.gameserver.handler.TargetHandler; +import com.l2jserver.gameserver.model.L2Object; +import com.l2jserver.gameserver.model.StatsSet; +import com.l2jserver.gameserver.model.actor.L2Character; +import com.l2jserver.gameserver.model.conditions.Condition; +import com.l2jserver.gameserver.model.effects.AbstractEffect; +import com.l2jserver.gameserver.model.events.EventType; +import com.l2jserver.gameserver.model.events.impl.character.OnCreatureSkillUse; +import com.l2jserver.gameserver.model.events.listeners.ConsumerEventListener; +import com.l2jserver.gameserver.model.holders.SkillHolder; +import com.l2jserver.gameserver.model.skills.BuffInfo; +import com.l2jserver.gameserver.model.skills.Skill; +import com.l2jserver.gameserver.model.skills.targets.L2TargetType; +import com.l2jserver.util.Rnd; + +/** + * Trigger Skill By Skill effect implementation. + * @author Zealar + */ +public final class TriggerSkillBySkill extends AbstractEffect +{ + private final int _castSkillId; + private final int _chance; + private final SkillHolder _skill; + private final L2TargetType _targetType; + + /** + * @param attachCond + * @param applyCond + * @param set + * @param params + */ + + public TriggerSkillBySkill(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) + { + super(attachCond, applyCond, set, params); + + _castSkillId = params.getInt("castSkillId", 0); + _chance = params.getInt("chance", 100); + _skill = new SkillHolder(params.getInt("skillId", 0), params.getInt("skillLevel", 0)); + _targetType = params.getEnum("targetType", L2TargetType.class, L2TargetType.ONE); + } + + public void onSkillUseEvent(OnCreatureSkillUse event) + { + if ((_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLvl() == 0) || (_castSkillId == 0))) + { + return; + } + + if (_castSkillId != event.getSkill().getId()) + { + return; + } + + final ITargetTypeHandler targetHandler = TargetHandler.getInstance().getHandler(_targetType); + if (targetHandler == null) + { + _log.warning("Handler for target type: " + _targetType + " does not exist."); + return; + } + + if (Rnd.get(100) > _chance) + { + return; + } + + final Skill triggerSkill = _skill.getSkill(); + final L2Object[] targets = targetHandler.getTargetList(triggerSkill, event.getCaster(), false, event.getTarget()); + + for (L2Object triggerTarget : targets) + { + if ((triggerTarget == null) || !triggerTarget.isCharacter()) + { + continue; + } + + final L2Character targetChar = (L2Character) triggerTarget; + if (!targetChar.isInvul()) + { + event.getCaster().makeTriggerCast(triggerSkill, targetChar); + } + } + } + + @Override + public void onExit(BuffInfo info) + { + info.getEffected().removeListenerIf(EventType.ON_CREATURE_SKILL_USE, listener -> listener.getOwner() == this); + } + + @Override + public void onStart(BuffInfo info) + { + info.getEffected().addListener(new ConsumerEventListener(info.getEffected(), EventType.ON_CREATURE_SKILL_USE, (OnCreatureSkillUse event) -> onSkillUseEvent(event), this)); + } +} 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 a53c88feef..6bc56bd454 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 @@ -9,30 +9,27 @@ <table name="#ench2cAtkAdd"> 65 81 96 112 127 143 158 174 189 205 220 236 251 267 282 298 313 329 344 360 375 391 406 422 437 453 468 484 499 515 </table> <table name="#ench3pAtkSpd"> 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 </table> <table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table> - <set name="activationChance" val="50" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="chanceType" val="ON_HIT" /> <!-- TODO: Remove when support for effects using conditions is done --> <set name="icon" val="icon.skill0217" /> <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> - <set name="triggeredId" val="#triggeredId" /> <!-- TODO: Remove when support for effects using conditions is done --> <enchant1 name="magicLvl" val="#enchMagicLvl" /> <enchant2 name="magicLvl" val="#enchMagicLvl" /> <enchant3 name="magicLvl" val="#enchMagicLvl" /> - <!-- TODO: Remove when support for effects using conditions is done --> - <cond> - <using kind="SWORD,BLUNT" /> - </cond> <for> <effect name="Buff"> <add order="0x40" stat="pAtk" val="#pAtk"> <using kind="SWORD,BLUNT" /> </add> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="50" chanceType="ON_HIT" triggeredId="#triggeredId"> --> - <!-- <using kind="SWORD,BLUNT" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="50" /> + <param skillId="#triggeredId" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="SWORD,BLUNT" /> + </effect> </for> <enchant1for> <effect name="Buff"> @@ -43,10 +40,14 @@ <using kind="SWORD,BLUNT" /> </add> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="50" chanceType="ON_HIT" triggeredId="5604"> --> - <!-- <using kind="SWORD,BLUNT" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="50" /> + <param skillId="5604" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="SWORD,BLUNT" /> + </effect> </enchant1for> <enchant2for> <effect name="Buff"> @@ -57,10 +58,14 @@ <using kind="SWORD,BLUNT" /> </add> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="50" chanceType="ON_HIT" triggeredId="5604"> --> - <!-- <using kind="SWORD,BLUNT" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="50" /> + <param skillId="5604" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="SWORD,BLUNT" /> + </effect> </enchant2for> <enchant3for> <effect name="Buff"> @@ -71,10 +76,14 @@ <using kind="SWORD,BLUNT" /> </add> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="50" chanceType="ON_HIT" triggeredId="5604"> --> - <!-- <using kind="SWORD,BLUNT" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="50" /> + <param skillId="5604" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="SWORD,BLUNT" /> + </effect> </enchant3for> </skill> <skill id="208" levels="52" name="Bow Mastery" enchantGroup1="1" enchantGroup2="1"> @@ -120,30 +129,27 @@ <table name="#ench2rCrit"> 0.0019 0.0029 0.0039 0.0048 0.0058 0.0068 0.0077 0.0087 0.0097 0.0106 0.0116 0.0126 0.0135 0.0145 0.0155 0.0164 0.0174 0.0184 0.0193 0.0203 0.0213 0.0222 0.0232 0.0242 0.0251 0.0261 0.0271 0.028 0.029 0.03 </table> <table name="#ench3cAtk"> 1.0019 1.0029 1.0039 1.0048 1.0058 1.0068 1.0077 1.0087 1.0097 1.0106 1.0116 1.0126 1.0135 1.0145 1.0155 1.0164 1.0174 1.0184 1.0193 1.0203 1.0213 1.0222 1.0232 1.0242 1.0251 1.0261 1.0271 1.028 1.029 1.03 </table> <table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table> - <set name="activationChance" val="33" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="chanceType" val="ON_HIT" /> <!-- TODO: Remove when support for effects using conditions is done --> <set name="icon" val="icon.skill0209" /> <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> - <set name="triggeredId" val="#triggeredId" /> <!-- TODO: Remove when support for effects using conditions is done --> <enchant1 name="magicLvl" val="#enchMagicLvl" /> <enchant2 name="magicLvl" val="#enchMagicLvl" /> <enchant3 name="magicLvl" val="#enchMagicLvl" /> - <!-- TODO: Remove when support for effects using conditions is done --> - <cond> - <using kind="DAGGER,DUALDAGGER" /> - </cond> <for> <effect name="Buff"> <add order="0x40" stat="pAtk" val="#pAtk"> <using kind="DAGGER,DUALDAGGER" /> </add> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="33" chanceType="ON_HIT" triggeredId="#triggeredId"> --> - <!-- <using kind="DAGGER,DUALDAGGER" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="33" /> + <param skillId="#triggeredId" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DAGGER,DUALDAGGER" /> + </effect> </for> <enchant1for> <effect name="Buff"> @@ -151,10 +157,14 @@ <using kind="DAGGER,DUALDAGGER" /> </add> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="33" chanceType="ON_HIT" triggeredId="5603"> --> - <!-- <using kind="DAGGER,DUALDAGGER" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="33" /> + <param skillId="5603" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DAGGER,DUALDAGGER" /> + </effect> </enchant1for> <enchant2for> <effect name="Buff"> @@ -165,10 +175,14 @@ <using kind="DAGGER,DUALDAGGER" /> </basemul> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="33" chanceType="ON_HIT" triggeredId="5603"> --> - <!-- <using kind="DAGGER,DUALDAGGER" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="33" /> + <param skillId="5603" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DAGGER,DUALDAGGER" /> + </effect> </enchant2for> <enchant3for> <effect name="Buff"> @@ -179,10 +193,14 @@ <using kind="DAGGER,DUALDAGGER" /> </mul> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="33" chanceType="ON_HIT" triggeredId="5603"> --> - <!-- <using kind="DAGGER,DUALDAGGER" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="33" /> + <param skillId="5603" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DAGGER,DUALDAGGER" /> + </effect> </enchant3for> </skill> <skill id="210" levels="45" name="Fist Weapon Mastery" enchantGroup1="1" enchantGroup2="1"> 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 3f8afdc5fe..a5fecae125 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 @@ -2239,7 +2239,14 @@ <effect name="SoulEating"> <param expNeeded="#expNeeded" /> </effect> - <effect name="ChanceSkillTrigger" activationChance="#activationChance" chanceType="ON_HIT" triggeredId="5548" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="#activationChance" /> + <param skillId="5548" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="468" levels="9" name="Fallen Attack"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml index 51c9691f42..ce8e9a94f3 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml @@ -891,7 +891,14 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="2" chanceType="ON_HIT" triggeredId="5572" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="2" /> + <param skillId="5572" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="652" levels="1" name="Knight Ability - Defense"> @@ -900,7 +907,6 @@ <set name="icon" val="icon.skill0110" /> <set name="magicLvl" val="75" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> <effect name="TriggerSkillByDamage"> <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="99" /> @@ -917,9 +923,15 @@ <set name="icon" val="icon.skill1077" /> <set name="magicLvl" val="75" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="2" chanceType="ON_HIT" triggeredId="5574" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="2" /> + <param skillId="5574" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="654" levels="1" name="Wizard Ability - Mana Steal"> @@ -928,9 +940,15 @@ <set name="icon" val="icon.skill1398" /> <set name="magicLvl" val="75" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="2" chanceType="ON_HIT" triggeredId="5575" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="2" /> + <param skillId="5575" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="655" levels="1" name="Enchanter Ability - Barrier"> 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 c1bf3f6022..059a17ee41 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 @@ -1460,17 +1460,9 @@ </skill> <skill id="758" levels="1" name="Fighter's Will"> <!-- Confirmed CT2.5 --> - <set name="activationChance" val="3" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="chanceType" val="ON_HIT" /> <!-- TODO: Remove when support for effects using conditions is done --> <set name="icon" val="icon.skill0758" /> <set name="magicLvl" val="81" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> - <set name="triggeredId" val="5559" /> <!-- TODO: Remove when support for effects using conditions is done --> - <!-- TODO: Remove when support for effects using conditions is done --> - <cond> - <using kind="SWORD,BLUNT,DUAL,DUALFIST,DAGGER,DUALDAGGER,POLE,ANCIENTSWORD,RAPIER" /> - </cond> <for> <effect name="Buff"> <add order="0x40" stat="pAtk" val="100"> @@ -1480,25 +1472,21 @@ <using kind="SWORD,BLUNT,DUAL,DUALFIST,DAGGER,DUALDAGGER,POLE,ANCIENTSWORD,RAPIER" /> </mul> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_HIT" triggeredId="5559"> --> - <!-- <using kind="SWORD,BLUNT,DUAL,DUALFIST,DAGGER,DUALDAGGER,POLE,ANCIENTSWORD,RAPIER" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="3" /> + <param skillId="5559" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="SWORD,BLUNT,DUAL,DUALFIST,DAGGER,DUALDAGGER,POLE,ANCIENTSWORD,RAPIER" /> + </effect> </for> </skill> <skill id="759" levels="1" name="Archer's Will"> <!-- Confirmed CT2.5 --> - <set name="activationChance" val="3" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="chanceType" val="ON_HIT" /> <!-- TODO: Remove when support for effects using conditions is done --> <set name="icon" val="icon.skill0759" /> <set name="magicLvl" val="81" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> - <set name="triggeredId" val="5559" /> <!-- TODO: Remove when support for effects using conditions is done --> - <!-- TODO: Remove when support for effects using conditions is done --> - <cond> - <using kind="BOW,CROSSBOW" /> - </cond> <for> <effect name="Buff"> <add order="0x40" stat="accCombat" val="8"> @@ -1508,10 +1496,14 @@ <using kind="CROSSBOW,BOW" /> </add> </effect> - <!-- TODO: Require support for effects using conditions --> - <!-- <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_HIT" triggeredId="5559"> --> - <!-- <using kind="CROSSBOW,BOW" /> --> - <!-- </effect> --> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="3" /> + <param skillId="5559" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="SWORD,BLUNT,DUAL,DUALFIST,DAGGER,DUALDAGGER,POLE,ANCIENTSWORD,RAPIER" /> + </effect> </for> </skill> <skill id="760" levels="1" name="Anti Magic Armor"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml index 4da3a668fc..98da1a0cfa 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml @@ -391,9 +391,12 @@ <set name="icon" val="icon.skill0818" /> <set name="magicLvl" val="74" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" chanceType="ON_EVADED_HIT" triggeredId="5673" /> + <effect name="TriggerSkillByAvoid"> + <param chance="10" /> + <param skillId="5673" skillLevel="1" /> + <param targetType="ONE" /> + </effect> </for> </skill> <skill id="819" levels="1" name="Evasion Chance"> @@ -401,9 +404,12 @@ <set name="icon" val="icon.skill0819" /> <set name="magicLvl" val="74" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" chanceType="ON_EVADED_HIT" triggeredId="5674" /> + <effect name="TriggerSkillByAvoid"> + <param chance="10" /> + <param skillId="5674" skillLevel="1" /> + <param targetType="SELF" /> + </effect> </for> </skill> <skill id="820" levels="1" name="Evasion Haste"> @@ -411,9 +417,12 @@ <set name="icon" val="icon.skill0820" /> <set name="magicLvl" val="74" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" chanceType="ON_EVADED_HIT" triggeredId="5675" /> + <effect name="TriggerSkillByAvoid"> + <param chance="10" /> + <param skillId="5675" skillLevel="1" /> + <param targetType="SELF" /> + </effect> </for> </skill> <skill id="821" levels="1" name="Shadow Step"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml index e222a2e729..30b7500c6e 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml @@ -1195,8 +1195,12 @@ </add> </effect> <mul order="0x30" stat="rShld" val="#rShld" /> - <!-- FIXME: activationChance value unconfirmed --> - <effect name="ChanceSkillTrigger" activationChance="30" activationSkills="997" chanceType="ON_CAST" triggeredId="6920" /> + <effect name="TriggerSkillBySkill"> + <param castSkillId="997" /> + <param chance="30" /> + <param skillId="6920" skillLevel="1" /> + <param targetType="SELF" /> + </effect> </for> </skill> <skill id="953" levels="1" name="Life to Soul"> @@ -2138,53 +2142,54 @@ <!-- High Five Skill --> <table name="#magicLvl"> 40 43 49 55 60 66 70 79 </table> <table name="#triggeredLevel"> 1 2 3 4 5 6 7 8 </table> - <set name="activationChance" val="15" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="chanceType" val="ON_HIT" /> <!-- TODO: Remove when support for effects using conditions is done --> <set name="icon" val="icon.skill0992" /> <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> - <set name="triggeredId" val="6813" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="triggeredLevel" val="#triggeredLevel" /> <!-- TODO: Remove when support for effects using conditions is done --> - <!-- TODO: Remove when support for effects using conditions is done --> - <cond> - <using kind="DUAL,SWORD,BLUNT" /> - </cond> - <!-- TODO: Require support for effects using conditions --> - <!-- <for> --> - <!-- <effect name="ChanceSkillTrigger" activationChance="15" chanceType="ON_HIT" triggeredId="6813" triggeredLevel="#triggeredLevel"> --> - <!-- <using kind="DUAL,SWORD,BLUNT" /> --> - <!-- </effect> --> - <!-- <effect name="ChanceSkillTrigger" activationChance="30" chanceType="ON_CRIT" triggeredId="6813" triggeredLevel="#triggeredLevel"> --> - <!-- <using kind="DUAL,SWORD,BLUNT" /> --> - <!-- </effect> --> - <!-- </for> --> + <for> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="15" /> + <param skillId="6813" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DUAL,SWORD,BLUNT" /> + </effect> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="30" /> + <param skillId="6813" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DUAL,SWORD,BLUNT" /> + </effect> + </for> </skill> <skill id="993" levels="8" name="Force Mastery"> <!-- High Five Skill --> <table name="#magicLvl"> 24 32 40 52 60 66 72 79 </table> <table name="#triggeredLevel"> 1 2 3 4 5 6 7 8 </table> - <set name="activationChance" val="15" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="chanceType" val="ON_HIT" /> <!-- TODO: Remove when support for effects using conditions is done --> <set name="icon" val="icon.skill0993" /> <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> - <set name="triggeredId" val="6814" /> <!-- TODO: Remove when support for effects using conditions is done --> - <set name="triggeredLevel" val="#triggeredLevel" /> <!-- TODO: Remove when support for effects using conditions is done --> - <!-- TODO: Remove when support for effects using conditions is done --> - <cond> - <using kind="DUALFIST" /> - </cond> - <!-- TODO: Require support for effects using conditions --> - <!-- <for> --> - <!-- <effect name="ChanceSkillTrigger" activationChance="15" chanceType="ON_HIT" triggeredId="6814" triggeredLevel="#triggeredLevel"> --> - <!-- <using kind="DUALFIST" /> --> - <!-- </effect> --> - <!-- <effect name="ChanceSkillTrigger" activationChance="30" chanceType="ON_CRIT" triggeredId="6814" triggeredLevel="#triggeredLevel"> --> - <!-- <using kind="DUALFIST" /> --> - <!-- </effect> --> - <!-- </for> --> + <for> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="15" /> + <param skillId="6814" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DUALFIST" /> + </effect> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="30" /> + <param skillId="6814" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="DUALFIST" /> + </effect> + </for> </skill> <skill id="994" levels="1" name="Rush"> <!-- High Five Skill --> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml index aed73c0d62..bacca7f66b 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml @@ -3356,9 +3356,15 @@ <set name="icon" val="icon.skill1498" /> <set name="magicLvl" val="81" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="5" chanceType="ON_HIT" triggeredId="5571" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="5" /> + <param skillId="5571" skillLevel="1" /> + <param targetType="SUMMON" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="1499" levels="1" name="Improved Combat"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml index 0d359f8d6b..b40c4435af 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml @@ -859,7 +859,7 @@ </skill> <skill id="1526" levels="3" name="Steal Mana"> <!-- Confirmed CT2.5 --> - <table name="#activationMinDamage"> 41 51 49 </table> + <table name="#minDamage"> 41 51 49 </table> <table name="#magicLvl"> 44 56 64 </table> <table name="#triggeredId"> 5676 5677 5678 </table> <set name="icon" val="icon.skill1526" /> @@ -867,7 +867,14 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" activationMinDamage="#activationMinDamage" chanceType="ON_HIT" triggeredId="#triggeredId" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="99" /> + <param isCritical="true" /> + <param minDamage="#minDamage" chance="10" /> + <param skillId="#triggeredId" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="1527" levels="3" name="Expert Casting"> @@ -1354,9 +1361,13 @@ <set name="icon" val="icon.skill1543" /> <set name="magicLvl" val="81" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="30" activationSkills="927" chanceType="ON_CAST" triggeredId="6060" /> + <effect name="TriggerSkillBySkill"> + <param castSkillId="927" /> + <param chance="30" /> + <param skillId="6060" skillLevel="1" /> + <param targetType="PARTY" /> + </effect> </for> </skill> <skill id="1544" levels="7" name="Death Beam"> @@ -1766,10 +1777,13 @@ <set name="targetType" val="ONE" /> <for> <effect name="MagicalAttack" /> + <effect name="TriggerSkillBySkill"> + <param castSkillId="1558" /> + <param chance="5" /> + <param skillId="5571" skillLevel="1" /> + <param targetType="SUMMON" /> + </effect> </for> - <selfEffects> - <effect name="ChanceSkillTrigger" activationChance="5" chanceType="ON_START" triggeredId="5571" /> - </selfEffects> </skill> <skill id="1559" levels="3" name="Potential Ability"> <!-- High Five Skill --> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml index c12eb46e09..f2ee05da87 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml @@ -373,7 +373,14 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="5" chanceType="ON_HIT" triggeredId="5547" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="5" /> + <param skillId="5547" skillLevel="1" /> + <param targetType="PARTY" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3427" levels="1" name="Special Ability: Infinity Rapier"> @@ -392,8 +399,15 @@ <mul order="0x30" stat="pvpMagicalDmg" val="1.1" /> <!-- PVP Damage Bonus +10% --> <mul order="0x30" stat="pvpPhysSkillsDmg" val="1.1" /> <!-- PVP Damage Bonus +10% --> <add order="0x40" stat="reflectDam" val="9" /> <!-- Reflect Damage 9% --> + </effect> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="true" /> + <param minDamage="1" chance="5" /> + <param skillId="5547" skillLevel="1" /> + <param targetType="PARTY" /> + <param allowWeapons="ALL" /> </effect> - <effect name="ChanceSkillTrigger" activationChance="5" chanceType="ON_HIT" triggeredId="5547" /> </for> </skill> <skill id="3428" levels="1" name="Blue Talisman - Explosion"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml index 3bb1f2f538..403ba65e3f 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml @@ -982,9 +982,15 @@ <set name="icon" val="icon.skill1306" /> <set name="magicLvl" val="80" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="20" activationMinDamage="50" chanceType="ON_HIT" triggeredId="5681" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="50" chance="20" /> + <param skillId="5681" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3651" levels="1" name="PvP Weapon - Cancel"> @@ -994,7 +1000,14 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" activationMinDamage="50" chanceType="ON_HIT" triggeredId="5682" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="50" chance="10" /> + <param skillId="5682" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3652" levels="1" name="PvP Weapon - Ignore Shield Defense"> @@ -1002,9 +1015,15 @@ <set name="icon" val="icon.skill1304" /> <set name="magicLvl" val="80" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="20" activationMinDamage="50" chanceType="ON_HIT" triggeredId="5683" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="50" chance="20" /> + <param skillId="5683" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3653" levels="1" name="PvP Weapon - Attack Chance"> @@ -1012,9 +1031,15 @@ <set name="icon" val="icon.skill0005" /> <set name="magicLvl" val="80" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" activationMinDamage="50" chanceType="ON_HIT" triggeredId="5684" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="50" chance="10" /> + <param skillId="5684" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3654" levels="1" name="PvP Weapon - Casting"> @@ -1038,9 +1063,15 @@ <set name="icon" val="icon.skill0413" /> <set name="magicLvl" val="80" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" activationMinDamage="50" chanceType="ON_HIT" triggeredId="5686" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="50" chance="10" /> + <param skillId="5686" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3656" levels="1" name="PvP Weapon - Decrease Range"> @@ -1048,9 +1079,15 @@ <set name="icon" val="icon.skill0486" /> <set name="magicLvl" val="80" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" activationMinDamage="50" chanceType="ON_HIT" triggeredId="5687" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="50" chance="10" /> + <param skillId="5687" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3657" levels="1" name="PvP Weapon - Decrease Resist"> @@ -1060,7 +1097,14 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="10" activationMinDamage="50" chanceType="ON_HIT" triggeredId="5688" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="50" chance="10" /> + <param skillId="5688" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3658" levels="1" name="PvP Shield - Reflect Damage"> @@ -1118,7 +1162,12 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="5" activationSkills="1401" chanceType="ON_CAST" triggeredId="5692" /> + <effect name="TriggerSkillBySkill"> + <param castSkillId="1401" /> + <param chance="5" /> + <param skillId="5692" skillLevel="1" /> + <param targetType="ONE" /> + </effect> </for> </skill> <skill id="3662" levels="1" name="PvP Armor - Speed Down"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml index 24787a4ae1..9db3979bdc 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml @@ -372,9 +372,15 @@ <set name="icon" val="icon.skill0100" /> <set name="magicLvl" val="70" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="6" chanceType="ON_HIT" triggeredId="5665" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="6" /> + <param skillId="5665" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3830" levels="3" name="Rapier of Might"> @@ -436,7 +442,14 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="6" chanceType="ON_HIT" triggeredId="5666" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="6" /> + <param skillId="5666" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3835" levels="3" name="Dual-Blade Weapon of Might"> @@ -498,7 +511,14 @@ <set name="operateType" val="P" /> <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="6" chanceType="ON_HIT" triggeredId="5667" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="6" /> + <param skillId="5667" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3840" levels="2" name="Two-handed Sword of Haste"> @@ -762,9 +782,15 @@ <set name="icon" val="icon.skill0129" /> <set name="magicLvl" val="70" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="5" chanceType="ON_HIT" triggeredId="5668" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="5" /> + <param skillId="5668" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3862" levels="1" name="Dagger of Guidance"> @@ -947,9 +973,15 @@ <set name="icon" val="icon.skill0100" /> <set name="magicLvl" val="70" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="6" chanceType="ON_HIT" triggeredId="5669" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="6" /> + <param skillId="5669" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3877" levels="2" name="Polearm of Boost HP"> @@ -1022,9 +1054,15 @@ <set name="icon" val="icon.skill0100" /> <set name="magicLvl" val="70" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="6" chanceType="ON_HIT" triggeredId="5670" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="6" /> + <param skillId="5670" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3883" levels="1" name="Fist Weapon of Critical Power"> @@ -1060,9 +1098,15 @@ <set name="icon" val="icon.skill0100" /> <set name="magicLvl" val="61" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="#activationChance" chanceType="ON_HIT" triggeredId="#triggeredId" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="#activationChance" /> + <param skillId="#triggeredId" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="3886" levels="1" name="Blunt Weapon of Haste"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml index 9a6e0e5e55..27bef146f6 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml @@ -839,10 +839,8 @@ </for> </skill> <skill id="5549" levels="1" name="Physical Short-range Weakness"> - <!-- TODO: Implement me! --> <set name="magicLvl" val="70" /> <set name="operateType" val="P" /> - <set name="targetType" val="NONE" /> <for> <effect name="DefenceTrait"> <param BLUNT="-30" /> @@ -859,13 +857,18 @@ <skill id="5550" levels="12" name="NPC Trigger Stun"> <table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table> <table name="#triggeredLvl"> 1 2 3 4 5 6 7 8 9 10 11 12 </table> - <set name="activationChance" val="15" /> - <set name="chanceType" val="ON_HIT" /> <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> - <set name="triggeredId" val="5551" /> - <set name="triggeredLevel" val="#triggeredLvl" /> + <for> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="15" /> + <param skillId="5551" skillLevel="#triggeredLvl" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> + </for> </skill> <skill id="5551" levels="12" name="Stun"> <table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml index 0c3bf60cb7..96fe14a27a 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml @@ -1419,7 +1419,14 @@ <set name="operateType" val="A2" /> <set name="targetType" val="AURA" /> <for> - <effect name="ChanceSkillTrigger" triggeredId="5680" chanceType="ON_ATTACKED" activationChance="30" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="60" /> + <param skillId="5680" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="5680" levels="1" name="Oblivion Trap"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml index 2e7a397562..88b68e0b4a 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml @@ -654,12 +654,24 @@ </for> </skill> <skill id="5845" levels="12" name="NPC Trigger Bleed"> - <set name="magicLvl" val="10" /> + <table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table> + <table name="#skillLevel"> 1 2 3 4 5 6 7 8 9 10 11 12 </table> + <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="P" /> - <set name="targetType" val="NONE" /> + <for> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="20" /> + <param skillId="5846" skillLevel="#skillLevel" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> + </for> </skill> <skill id="5846" levels="12" name="Bleed"> <table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table> + <table name="#dot"> 18 25 34 44 54 62 67 67 70 70 71 71 </table> <table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table> <set name="abnormalLvl" val="#abnormalLvls" /> <set name="abnormalTime" val="20" /> @@ -675,8 +687,13 @@ <set name="lvlBonusRate" val="2" /> <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="A2" /> - <set name="targetType" val="NONE" /> + <set name="targetType" val="ONE" /> <set name="trait" val="BLEED" /> + <for> + <effect name="DamOverTime" ticks="5"> + <param power="#dot" /> + </effect> + </for> </skill> <skill id="5847" levels="1" name="Flip Nearby Blocks"> <set name="affectLimit" val="10-10" /> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml index 432b51d565..a27a43f97b 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml @@ -18,6 +18,16 @@ <set name="operateType" val="A2" /> <set name="targetType" val="FRONT_AREA" /> <set name="trait" val="DERANGEMENT" /> + <for> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="99" /> + <param isCritical="false" /> + <param minDamage="1" chance="90" /> + <param skillId="5902" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> + </for> </skill> <skill id="5901" levels="2" name="Mist of Oblivion"> <table name="#hitTime"> 2000 22940 </table> @@ -37,6 +47,16 @@ <set name="operateType" val="A2" /> <set name="targetType" val="NONE" /> <set name="trait" val="DERANGEMENT" /> + <for> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="99" /> + <param isCritical="false" /> + <param minDamage="1" chance="90" /> + <param skillId="5902" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> + </for> </skill> <skill id="5902" levels="1" name="NPC Trigger Target Cancel"> <!-- Confirmed CT2.5 --> @@ -221,7 +241,16 @@ <skill id="5913" levels="1" name="Putrefection Cleanse"> <set name="magicLvl" val="83" /> <set name="operateType" val="P" /> - <set name="targetType" val="NONE" /> + <for> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="100" /> + <param skillId="5914" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> + </for> </skill> <skill id="5914" levels="1" name="Putrefaction Cleanse"> <set name="abnormalLvl" val="1" /> @@ -272,11 +301,10 @@ <set name="targetType" val="NONE" /> </skill> <skill id="5918" levels="10" name="Physical Root Weakness"> - <!-- TODO: Implement me! --> <table name="#trait_root_physically"> -10 -20 -30 -40 -50 -60 -70 -80 -90 -99 </table> - <set name="magicLvl" val="10" /> + <table name="#magicLvl"> 10 20 30 40 50 60 70 80 90 95 </table> + <set name="magicLvl" val="#magicLvl" /> <set name="operateType" val="P" /> - <set name="targetType" val="NONE" /> <for> <effect name="DefenceTrait"> <param ROOT_PHYSICALLY="#trait_root_physically" /> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml index 5ef150d4fb..9347d77614 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml @@ -978,7 +978,14 @@ <basemul order="0x30" stat="rCrit" val="0.3" /> <mul order="0x30" stat="pAtkSpd" val="1.33" /> </effect> - <effect name="ChanceSkillTrigger" activationChance="100" chanceType="ON_HIT" triggeredId="5760" triggeredLevel="1" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="99" /> + <param isCritical="true" /> + <param minDamage="1" chance="99" /> + <param skillId="5760" skillLevel="1" /> + <param targetType="SELF" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="8240" levels="3" name="Obliteration Storm"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/08300-08399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/08300-08399.xml index 869a81e56c..2d4be66ce6 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/08300-08399.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/08300-08399.xml @@ -180,9 +180,15 @@ <set name="icon" val="icon.weapon_bbyong_hammer_a_i00" /> <set name="magicLvl" val="1" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="33" activationMinDamage="1" chanceType="ON_HIT" triggeredId="21007" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="99" /> + <param isCritical="false" /> + <param minDamage="1" chance="33" /> + <param skillId="21007" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="8308" levels="1" name="Red Talisman - Guardian of the Territory"> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/21200-21299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/21200-21299.xml index 4308ffc91a..256fa3c263 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/21200-21299.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/21200-21299.xml @@ -613,9 +613,15 @@ <!-- FIXME: value unconfirmed --> <set name="icon" val="BranchSys2.icon.br_wp_Caladbulg_i00" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_HIT" triggeredId="23319" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="3" /> + <param skillId="23319" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="21253" levels="1" name="Butcher Blades"> @@ -623,9 +629,15 @@ <!-- FIXME: value unconfirmed --> <set name="icon" val="BranchSys2.icon.br_wp_habus_knife_i00" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_HIT" triggeredId="23320" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="3" /> + <param skillId="23320" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="21254" levels="1" name="Claw of Destruction"> @@ -633,9 +645,15 @@ <!-- FIXME: value unconfirmed --> <set name="icon" val="BranchSys2.icon.br_wp_tiatenon_i00" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_HIT" triggeredId="23321" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="3" /> + <param skillId="23321" skillLevel="1" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="21255" levels="1" name="Blades of Delusion"> @@ -643,9 +661,15 @@ <!-- FIXME: value unconfirmed --> <set name="icon" val="BranchSys2.icon.br_wp_astarot_i00" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_HIT" triggeredId="23322" triggeredLevel="10" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="3" /> + <param skillId="23322" skillLevel="10" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="21256" levels="1" name="Blood Brother"> @@ -653,9 +677,15 @@ <!-- FIXME: value unconfirmed --> <set name="icon" val="BranchSys2.icon.br_wp_tirbing_i00" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_HIT" triggeredId="23323" triggeredLevel="10" /> + <effect name="TriggerSkillByAttack"> + <param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" /> + <param isCritical="false" /> + <param minDamage="1" chance="3" /> + <param skillId="23323" skillLevel="10" /> + <param targetType="ONE" /> + <param allowWeapons="ALL" /> + </effect> </for> </skill> <skill id="21257" levels="1" name="Mardil"> @@ -663,9 +693,14 @@ <!-- FIXME: value unconfirmed --> <set name="icon" val="BranchSys2.icon.br_wp_wind_of_mardil_i00" /> <set name="operateType" val="P" /> - <set name="targetType" val="SELF" /> <for> - <effect name="ChanceSkillTrigger" activationChance="3" chanceType="ON_ATTACKED" triggeredId="23324" /> + <effect name="TriggerSkillByDamage"> + <param attackerType="L2Playable" minAttackerLevel="1" maxAttackerLevel="100" /> + <param minDamage="1" /> + <param chance="3" /> + <param skillId="23324" skillLevel="1" /> + <param targetType="SELF" /> + </effect> </for> </skill> <skill id="21258" levels="1" name="Rocking Horse Mount"> diff --git a/L2J_DataPack_BETA/dist/game/data/xsd/skills.xsd b/L2J_DataPack_BETA/dist/game/data/xsd/skills.xsd index 6adaa12147..f746964b5b 100644 --- a/L2J_DataPack_BETA/dist/game/data/xsd/skills.xsd +++ b/L2J_DataPack_BETA/dist/game/data/xsd/skills.xsd @@ -197,10 +197,13 @@ <xs:attribute type="xs:string" name="attackerType" use="optional" /> <xs:attribute type="xs:byte" name="minAttackerLevel" use="optional" /> <xs:attribute type="xs:byte" name="maxAttackerLevel" use="optional" /> + <xs:attribute type="xs:boolean" name="isCritical" use="optional" /> + <xs:attribute type="xs:string" name="minDamage" use="optional" /> + <xs:attribute type="xs:short" name="castSkillId" use="optional" /> <xs:attribute type="xs:byte" name="blockedActions" use="optional" /> - <xs:attribute type="xs:short" name="minDamage" use="optional" /> - <xs:attribute type="xs:short" name="skillId" use="optional" /> + <xs:attribute type="xs:string" name="skillId" use="optional" /> <xs:attribute type="xs:string" name="skillLevel" use="optional" /> + <xs:attribute type="xs:string" name="allowWeapons" use="optional" /> <xs:attribute type="xs:string" name="targetType" use="optional" /> <xs:attribute type="xs:byte" name="npcCount" use="optional" /> <xs:attribute type="xs:string" name="expNeeded" use="optional" /> -- GitLab