Half-done Force skill effect.
This commit is contained in:
		| @@ -195,6 +195,7 @@ public final class EffectMasterHandler | ||||
| 		Transformation.class, | ||||
| 		TrapDetect.class, | ||||
| 		TrapRemove.class, | ||||
| 		TriggerForce.class, | ||||
| 		TriggerSkillByAttack.class, | ||||
| 		TriggerSkillByAvoid.class, | ||||
| 		TriggerSkillByDamage.class, | ||||
|   | ||||
							
								
								
									
										97
									
								
								trunk/dist/game/data/scripts/handlers/effecthandlers/TriggerForce.java
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								trunk/dist/game/data/scripts/handlers/effecthandlers/TriggerForce.java
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | ||||
| /* | ||||
|  * Copyright (C) 2004-2015 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.actor.instance.L2PcInstance; | ||||
| import com.l2jserver.gameserver.model.conditions.Condition; | ||||
| import com.l2jserver.gameserver.model.effects.AbstractEffect; | ||||
| import com.l2jserver.gameserver.model.holders.SkillHolder; | ||||
| import com.l2jserver.gameserver.model.skills.BuffInfo; | ||||
|  | ||||
| /** | ||||
|  * Force Skill effect implementation. | ||||
|  * @author Mobius | ||||
|  */ | ||||
| public final class TriggerForce extends AbstractEffect | ||||
| { | ||||
| 	private final SkillHolder _skill; | ||||
| 	 | ||||
| 	/** | ||||
| 	 * @param attachCond | ||||
| 	 * @param applyCond | ||||
| 	 * @param set | ||||
| 	 * @param params | ||||
| 	 */ | ||||
| 	public TriggerForce(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) | ||||
| 	{ | ||||
| 		super(attachCond, applyCond, set, params); | ||||
| 		 | ||||
| 		_skill = new SkillHolder(params.getInt("skillId", 0), 1); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public void onStart(BuffInfo info) | ||||
| 	{ | ||||
| 		final L2PcInstance effector = info.getEffector().getActingPlayer(); | ||||
| 		final L2PcInstance effected = info.getEffected().getActingPlayer(); | ||||
| 		 | ||||
| 		if (effected.isDead() || (effector == null)) | ||||
| 		{ | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
| 		if (_skill.getSkillId() == 0) | ||||
| 		{ | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
| 		if (effector.getParty() != null) | ||||
| 		{ | ||||
| 			for (L2PcInstance member : effector.getParty().getMembers()) | ||||
| 			{ | ||||
| 				member.makeTriggerCast(_skill.getSkill(), effector); | ||||
| 			} | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			effector.makeTriggerCast(_skill.getSkill(), effector); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public void onExit(BuffInfo info) | ||||
| 	{ | ||||
| 		final L2PcInstance effected = info.getEffected().getActingPlayer(); | ||||
| 		final int skillId = info.getSkill().getId(); | ||||
| 		 | ||||
| 		if ((effected.getEffectList().getBuffInfoBySkillId(skillId) == null) && (effected.getEffectList().getBuffInfoBySkillId(skillId + 1) != null)) | ||||
| 		{ | ||||
| 			effected.getEffectList().remove(true, effected.getEffectList().getBuffInfoBySkillId(skillId + 1)); | ||||
| 		} | ||||
| 		 | ||||
| 		if (effected.getParty() != null) | ||||
| 		{ | ||||
| 			for (L2PcInstance member : effected.getParty().getMembers()) | ||||
| 			{ | ||||
| 				member.makeTriggerCast(_skill.getSkill(), effected); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										215
									
								
								trunk/dist/game/data/stats/skills/01900-01999.xml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										215
									
								
								trunk/dist/game/data/stats/skills/01900-01999.xml
									
									
									
									
										vendored
									
									
								
							| @@ -300,152 +300,188 @@ | ||||
| 		<set name="coolTime" val="200" /> | ||||
| 		<set name="reuseDelay" val="3600000" /> | ||||
| 	</skill> | ||||
| 	<!-- Level 1 : Casts Sigel Force on entire party, which increases P Atk. by 1%. --> | ||||
| 	<skill id="1927" levels="1" name="Sigel Aura"> | ||||
| 		<set name="icon" val="icon.icon_sigel" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="castRange" val="1000" /> | ||||
| 		<for> | ||||
| 			<effect name="TriggerForce"> | ||||
| 				<param skillId="1928" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1928" levels="1" name="Sigel Force"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- P. Atk. + 1%. --> | ||||
| 		<set name="icon" val="icon.icon_sigel_01" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 	</skill> | ||||
| 	<!-- Level 1 : Casts Tyrr Force on entire party, which increases P. Critical Rate by 1%. --> | ||||
| 	<skill id="1929" levels="1" name="Tyrr Aura"> | ||||
| 		<set name="icon" val="icon.icon_tir" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<set name="isTriggeredSkill" val="true" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="pAtk" val="1.01" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1929" levels="1" name="Tyrr Aura"> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="castRange" val="1000" /> | ||||
| 		<for> | ||||
| 			<effect name="TriggerForce"> | ||||
| 				<param skillId="1930" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1930" levels="1" name="Tyrr Force"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- P. Critical Rate + 1%. --> | ||||
| 		<set name="icon" val="icon.icon_tir_01" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<set name="isTriggeredSkill" val="true" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="rCrit" val="1.01" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<!-- Level 1 : Casts Othell Force on entire party, which increases Atk. Spd. by 1%. --> | ||||
| 	<skill id="1931" levels="1" name="Othell Aura"> | ||||
| 		<set name="icon" val="icon.icon_othel" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="castRange" val="1000" /> | ||||
| 		<for> | ||||
| 			<effect name="TriggerForce"> | ||||
| 				<param skillId="1932" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1932" levels="1" name="Othell Force"> | ||||
| 		<set name="icon" val="icon.icon_othel_01" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<set name="isTriggeredSkill" val="true" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="pAtkSpd" val="1.01" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1932" levels="1" name="Othell Force"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- Atk. Spd. + 1%. --> | ||||
| 		<set name="icon" val="icon.icon_othel_01" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 	</skill> | ||||
| 	<!-- Level 1 : Casts Yul Force on entire party, which increases MP Recovery Bonus by 50%. --> | ||||
| 	<skill id="1933" levels="1" name="Yul Aura"> | ||||
| 		<set name="icon" val="icon.icon_yr" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="castRange" val="1000" /> | ||||
| 		<for> | ||||
| 			<effect name="TriggerForce"> | ||||
| 				<param skillId="1934" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1934" levels="1" name="Yul Force"> | ||||
| 		<set name="icon" val="icon.icon_yr_01" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<set name="isTriggeredSkill" val="true" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="regMp" val="1.5" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1934" levels="1" name="Yul Force"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- MP Recovery Bonus + 50%. --> | ||||
| 		<set name="icon" val="icon.icon_yr_01" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 	</skill> | ||||
| 	<!-- Level 1 : Casts Feoh Force on entire party, which increases Casting Spd. by 1%. --> | ||||
| 	<skill id="1935" levels="1" name="Feoh Aura"> | ||||
| 		<set name="icon" val="icon.icon_feoh" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="castRange" val="1000" /> | ||||
| 		<for> | ||||
| 			<effect name="TriggerForce"> | ||||
| 				<param skillId="1936" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1936" levels="1" name="Feoh Force"> | ||||
| 		<set name="icon" val="icon.icon_feoh_01" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<set name="isTriggeredSkill" val="true" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="mAtkSpd" val="1.01" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1936" levels="1" name="Feoh Force"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- Casting Spd. + 1%. --> | ||||
| 		<set name="icon" val="icon.icon_feoh_01" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 	</skill> | ||||
| 	<!-- Level 1 : Casts Wynn Force on entire party, which decreases P./M. Skill MP Consumption by 3%. --> | ||||
| 	<skill id="1937" levels="1" name="Wynn Aura"> | ||||
| 		<set name="icon" val="icon.icon_wynn" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="castRange" val="1000" /> | ||||
| 		<for> | ||||
| 			<effect name="TriggerForce"> | ||||
| 				<param skillId="1938" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1938" levels="1" name="Wynn Force"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- P./M. Skill MP Consumption - 3%. --> | ||||
| 		<set name="icon" val="icon.icon_wynn_01" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<set name="isTriggeredSkill" val="true" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="PhysicalMpConsumeRate" val="0.97" /> | ||||
| 				<mul stat="MagicalMpConsumeRate" val="0.97" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<!-- Level 1 : Casts Aeore Force on entire party, which increases M. Atk. by 1%. --> | ||||
| 	<skill id="1939" levels="1" name="Aeore Aura"> | ||||
| 		<set name="icon" val="icon.icon_eolh" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="castRange" val="1000" /> | ||||
| 		<for> | ||||
| 			<effect name="TriggerForce"> | ||||
| 				<param skillId="1940" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1940" levels="1" name="Aeore Force"> | ||||
| 		<set name="icon" val="icon.icon_eolh_01" /> | ||||
| 		<set name="magicLvl" val="85" /> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<set name="isTriggeredSkill" val="true" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="mAtk" val="1.01" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1940" levels="1" name="Aeore Force"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- M. Atk. + 1%. --> | ||||
| 		<set name="icon" val="icon.icon_eolh_01" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 	</skill> | ||||
| 	<skill id="1941" levels="1" name="Physical Nail Attack"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- Inflicts consecutive attacks using a Demon's claws. --> | ||||
| @@ -572,13 +608,26 @@ | ||||
| 		<set name="reuseDelay" val="10000" /> | ||||
| 	</skill> | ||||
| 	<skill id="1955" levels="3" name="Party Solidarity"> | ||||
| 		<!-- AUTO GENERATED SKILL --> | ||||
| 		<!-- Increases party members' P. Atk. by 1%, M. Atk. by 1%, P. Critical Rate by 1%, Atk. Spd. by 1%, and Casting Spd. by 1%. Decreases physical and magic skill Cooldown by 1%. Always includes Sigel and Aeore Force. When 4 or more forces are applied, the Party Solidarity effect is activated. When the number of forces applied increases, the Party Solidarity effect is raised. --> | ||||
| 		<set name="icon" val="icon.skill1955" /> | ||||
| 		<set name="operateType" val="ACTIVE_CONTINUOUS" /> | ||||
| 		<set name="targetType" val="SELF" /> | ||||
| 		<table name="#pAtk"> 1.01 1.05 1.13 </table> | ||||
| 		<table name="#rCrit"> 1.01 1.02 1.04 </table> | ||||
| 		<table name="#AtkSpd"> 1.01 1.02 1.04 </table> | ||||
| 		<table name="#Reuse"> 0.99 0.98 0.95 </table> | ||||
| 		<set name="operateType" val="TOGGLE" /> | ||||
| 		<set name="targetType" val="PARTY" /> | ||||
| 		<set name="reuseDelay" val="5000" /> | ||||
| 		<set name="isMagic" val="3" /> | ||||
| 		<set name="isMagic" val="2" /> | ||||
| 		<for> | ||||
| 			<effect name="Buff"> | ||||
| 				<mul stat="pAtk" val="#pAtk" /> | ||||
| 				<mul stat="mAtk" val="#pAtk" /> | ||||
| 				<mul stat="rCrit" val="#rCrit" /> | ||||
| 				<mul stat="pAtkSpd" val="#AtkSpd" /> | ||||
| 				<mul stat="mAtkSpd" val="#AtkSpd" /> | ||||
| 				<mul stat="pReuse" val="#Reuse" /> | ||||
| 				<mul stat="mReuse" val="#Reuse" /> | ||||
| 			</effect> | ||||
| 		</for> | ||||
| 	</skill> | ||||
| 	<skill id="1956" levels="4" name="Sub - P. Atk./M. Atk. Increase"> | ||||
| 		<!-- P. Atk. + 1%, M. Atk. + 1%. --> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDev
					MobiusDev