-TriggerForce effect for awaken class forces.

-Forces (except Eviscerator - temp done, need correct stat).
-Update TriggerForce effect and implemented all Sigel's Aura buffs/debuff.

Contributed by NviX.
This commit is contained in:
MobiusDev
2015-07-11 12:44:48 +00:00
parent ff84a4b85b
commit 5df3726293
6 changed files with 439 additions and 220 deletions

View File

@@ -18,20 +18,46 @@
*/
package handlers.effecthandlers;
import java.util.ArrayList;
import java.util.List;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.actor.L2Character;
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;
import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.zone.ZoneId;
/**
* Force Skill effect implementation.
* @author Mobius
* @author Mobius, NviX
*/
public final class TriggerForce extends AbstractEffect
{
private final SkillHolder _skill;
private final List<L2PcInstance> _affectedMembers = new ArrayList<>();
private final List<L2Character> _affectedObjects = new ArrayList<>();
private final List<L2Character> _affectedObjToRemove = new ArrayList<>();
private static final int SIGEL_FORCE = 1928;
private static final int TYRR_FORCE = 1930;
private static final int OTHELL_FORCE = 1932;
private static final int YUL_FORCE = 1934;
private static final int FEOH_FORCE = 1936;
private static final int WYNN_FORCE = 1938;
private static final int AEORE_FORCE = 1940;
private static final int EVISCERATOR_FORCE = 30603;
private static final int SAYHAS_SEER_FORCE = 30606;
private static final int PARTY_SOLIDARITY = 1955;
private static final int RAGE_AURA = 10029;
private static final int CHALLENGE_AURA = 10031;
private static final int IRON_AURA = 10033;
private static final int RESISTANCE_AURA = 10035;
private static final int RECOVERY_AURA = 10037;
private static final int SPIRIT_AURA = 10039;
/**
* @param attachCond
@@ -61,37 +87,216 @@ public final class TriggerForce extends AbstractEffect
{
return;
}
if (effector.getParty() != null)
{
for (L2PcInstance member : effector.getParty().getMembers())
{
member.makeTriggerCast(_skill.getSkill(), effector);
_affectedMembers.add(member);
if (member.calculateDistance(effector, true, false) < 900)
{
member.makeTriggerCast(_skill.getSkill(), effector);
}
}
}
else
{
effector.makeTriggerCast(_skill.getSkill(), effector);
_affectedMembers.add(effector);
}
}
@Override
public boolean onActionTime(BuffInfo info)
{
final L2PcInstance effector = info.getEffector().getActingPlayer();
// if die
if (effector.isDead())
{
return false;
}
// apply Rage Aura to enemies
if (_skill.getSkillId() == RAGE_AURA)
{
final boolean srcInArena = (effector.isInsideZone(ZoneId.PVP) && (!effector.isInsideZone(ZoneId.SIEGE)));
for (L2Character obj : effector.getKnownList().getKnownCharactersInRadius(200))
{
if (((obj.isAttackable() || obj.isPlayable()) && !obj.isDoor()) && Skill.checkForAreaOffensiveSkills(effector, obj, _skill.getSkill(), srcInArena) && !_affectedObjects.contains(obj))
{
_affectedObjects.add(obj);
_skill.getSkill().applyEffects(effector, obj);
}
}
}
// remove Rage Aura from enemies who not in affect radius
if (!_affectedObjects.isEmpty())
{
for (L2Character obj : _affectedObjects)
{
if (!effector.getKnownList().getKnownCharactersInRadius(200).contains(obj))
{
if (obj.getEffectList().isAffectedBySkill(RAGE_AURA))
{
obj.getEffectList().remove(true, obj.getEffectList().getBuffInfoBySkillId(RAGE_AURA));
}
_affectedObjToRemove.add(obj);
}
}
if (!_affectedObjToRemove.isEmpty())
{
final int limit = _affectedObjToRemove.size();
for (int i = 0; i < limit; i++)
{
if (_affectedObjects.contains(_affectedObjToRemove.get(i)))
{
_affectedObjects.remove(i);
}
}
}
_affectedObjToRemove.clear();
}
// apply effect to new party members or remove if member > 900 distance from effector.
if (effector.getParty() != null)
{
for (L2PcInstance member : effector.getParty().getMembers())
{
if (!_affectedMembers.contains(member))
{
_affectedMembers.add(member);
}
if (!member.getEffectList().isAffectedBySkill(_skill.getSkillId()) && (member.calculateDistance(effector, true, false) < 900))
{
if ((member != effector))
{
member.makeTriggerCast(_skill.getSkill(), effector);
}
else if ((_skill.getSkillId() != CHALLENGE_AURA) && (_skill.getSkillId() != IRON_AURA) && (_skill.getSkillId() != RESISTANCE_AURA) && (_skill.getSkillId() != RECOVERY_AURA) && (_skill.getSkillId() != SPIRIT_AURA))
{
member.makeTriggerCast(_skill.getSkill(), effector);
}
}
else if (member.getEffectList().isAffectedBySkill(_skill.getSkillId()) && (member.calculateDistance(effector, true, false) > 900))
{
member.getEffectList().remove(true, member.getEffectList().getBuffInfoBySkillId(_skill.getSkillId()));
}
}
}
// if any member leave from party
if (!_affectedMembers.isEmpty())
{
for (L2PcInstance player : _affectedMembers)
{
if ((player != effector) && !player.isInPartyWith(effector) && (player.getEffectList().getBuffInfoBySkillId(_skill.getSkillId()) != null))
{
player.getEffectList().remove(true, player.getEffectList().getBuffInfoBySkillId(_skill.getSkillId()));
if (player.getEffectList().getBuffInfoBySkillId(PARTY_SOLIDARITY) != null)
{
player.getEffectList().remove(true, player.getEffectList().getBuffInfoBySkillId(PARTY_SOLIDARITY));
}
}
}
}
_affectedMembers.clear();
// Party Solidarity apply/remove
if (effector.getParty() != null)
{
for (L2PcInstance member : effector.getParty().getMembers())
{
_affectedMembers.add(member);
int activeForces = 0;
if (member.getEffectList().getBuffInfoBySkillId(SIGEL_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(TYRR_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(OTHELL_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(YUL_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(FEOH_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(WYNN_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(AEORE_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(EVISCERATOR_FORCE) != null)
{
activeForces++;
}
if (member.getEffectList().getBuffInfoBySkillId(SAYHAS_SEER_FORCE) != null)
{
activeForces++;
}
if ((activeForces < 4) || ((member.getEffectList().getBuffInfoBySkillId(AEORE_FORCE) == null) || (member.getEffectList().getBuffInfoBySkillId(SIGEL_FORCE) == null)))
{
if (member.getEffectList().getBuffInfoBySkillId(PARTY_SOLIDARITY) != null)
{
member.getEffectList().remove(true, member.getEffectList().getBuffInfoBySkillId(PARTY_SOLIDARITY));
}
}
if ((activeForces >= 4) && (member.getEffectList().getBuffInfoBySkillId(AEORE_FORCE) != null) && (member.getEffectList().getBuffInfoBySkillId(SIGEL_FORCE) != null))
{
BuffInfo skill = member.getEffectList().getBuffInfoBySkillId(PARTY_SOLIDARITY);
if (!member.getEffectList().isAffectedBySkill(PARTY_SOLIDARITY) || (skill.getSkill().getLevel() != Math.min((activeForces - 3), 3)))
{
member.makeTriggerCast(SkillData.getInstance().getSkill(PARTY_SOLIDARITY, Math.min((activeForces - 3), 3)), member);
}
}
}
}
else
{
_affectedMembers.add(effector);
}
return true;
}
@Override
public void onExit(BuffInfo info)
{
final L2PcInstance effected = info.getEffected().getActingPlayer();
final L2PcInstance effector = info.getEffector().getActingPlayer();
final int skillId = info.getSkill().getId();
if ((effected.getEffectList().getBuffInfoBySkillId(skillId) == null) && (effected.getEffectList().getBuffInfoBySkillId(skillId + 1) != null))
if ((effector.getEffectList().getBuffInfoBySkillId(skillId) == null) && (effector.getEffectList().getBuffInfoBySkillId(skillId + 1) != null))
{
effected.getEffectList().remove(true, effected.getEffectList().getBuffInfoBySkillId(skillId + 1));
effector.getEffectList().remove(true, effector.getEffectList().getBuffInfoBySkillId(skillId + 1));
}
if (effected.getParty() != null)
if (effector.getParty() != null)
{
for (L2PcInstance member : effected.getParty().getMembers())
for (L2PcInstance member : _affectedMembers)
{
member.makeTriggerCast(_skill.getSkill(), effected);
if (member.getEffectList().getBuffInfoBySkillId(skillId + 1) != null)
{
member.getEffectList().remove(true, member.getEffectList().getBuffInfoBySkillId(skillId + 1));
}
}
}
// remove Rage Aura from all affected enemies
if (!_affectedObjects.isEmpty())
{
for (L2Character obj : _affectedObjects)
{
if (obj.getEffectList().isAffectedBySkill(RAGE_AURA))
{
obj.getEffectList().remove(true, obj.getEffectList().getBuffInfoBySkillId(RAGE_AURA));
}
}
_affectedObjects.clear();
_affectedObjToRemove.clear();
}
}
}

View File

@@ -304,21 +304,22 @@
<set name="icon" val="icon.icon_sigel" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="targetType" val="SELF" />
<set name="castRange" val="1000" />
<for>
<effect name="TriggerForce">
<param skillId="1928" />
<effect name="TriggerForce" ticks="1">
<param skillId="1928" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="1928" levels="1" name="Sigel Force">
<set name="icon" val="icon.icon_sigel_01" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="PARTY" />
<set name="isMagic" val="2" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
@@ -327,23 +328,25 @@
</for>
</skill>
<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="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="targetType" val="SELF" />
<set name="castRange" val="1000" />
<for>
<effect name="TriggerForce">
<param skillId="1930" />
<effect name="TriggerForce" ticks="1">
<param skillId="1930" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="1930" levels="1" name="Tyrr Force">
<set name="icon" val="icon.icon_tir_01" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="PARTY" />
<set name="isMagic" val="2" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
@@ -355,21 +358,22 @@
<set name="icon" val="icon.icon_othel" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="targetType" val="SELF" />
<set name="castRange" val="1000" />
<for>
<effect name="TriggerForce">
<param skillId="1932" />
<effect name="TriggerForce" ticks="1">
<param skillId="1932" skillLevel="1" />
<param targetType="PARTY" />
</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="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
@@ -381,21 +385,22 @@
<set name="icon" val="icon.icon_yr" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="targetType" val="SELF" />
<set name="castRange" val="1000" />
<for>
<effect name="TriggerForce">
<param skillId="1934" />
<effect name="TriggerForce" ticks="1">
<param skillId="1934" skillLevel="1" />
<param targetType="PARTY" />
</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="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
@@ -407,21 +412,22 @@
<set name="icon" val="icon.icon_feoh" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="targetType" val="SELF" />
<set name="castRange" val="1000" />
<for>
<effect name="TriggerForce">
<param skillId="1936" />
<effect name="TriggerForce" ticks="1">
<param skillId="1936" skillLevel="1" />
<param targetType="PARTY" />
</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="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
@@ -433,21 +439,22 @@
<set name="icon" val="icon.icon_wynn" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="targetType" val="SELF" />
<set name="castRange" val="1000" />
<for>
<effect name="TriggerForce">
<param skillId="1938" />
<effect name="TriggerForce" ticks="1">
<param skillId="1938" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="1938" levels="1" name="Wynn Force">
<set name="icon" val="icon.icon_wynn_01" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="PARTY" />
<set name="isMagic" val="2" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
@@ -460,21 +467,22 @@
<set name="icon" val="icon.icon_eolh" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="targetType" val="SELF" />
<set name="castRange" val="1000" />
<for>
<effect name="TriggerForce">
<param skillId="1940" />
<effect name="TriggerForce" ticks="1">
<param skillId="1940" skillLevel="1" />
<param targetType="PARTY" />
</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="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">

View File

@@ -1242,77 +1242,78 @@
<set name="reuseDelay" val="1000" />
<set name="magicLvl" val="85" />
<set name="operateType" val="TOGGLE" />
<set name="skillType" val="CONT" />
<set name="abnormalTime" val="15" />
<set name="skillToCast" val="10029" />
<set name="skillToCastLevel" val="1" />
<set name="skillRadius" val="200" />
<set name="targetType" val="PARTY" />
<set name="abnormalLvl" val="2" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="abnormalVisualEffect" val="AURA_DEBUFF_SELF" />
<set name="targetType" val="SELF" />
<for>
<effect name="DamOverTime" val="0">
<mul stat="pAtk" val="1.1" />
<mul stat="pAtkSpd" val="1.1" />
<add stat="runSpd" val="10" />
<effect name="Buff">
<mul stat="pAtk" val="1.1">
<using kind="SWORD, BLUNT" />
</mul>
<mul stat="pAtkSpd" val="1.1">
<using kind="SWORD, BLUNT" />
</mul>
<add stat="runSpd" val="10">
<using kind="SWORD, BLUNT" />
</add>
</effect>
<effect name="TriggerForce" ticks="2">
<param skillId="10029" skillLevel="1" />
<param targetType="AURA" />
</effect>
</for>
</skill>
<skill id="10029" levels="1" name="Rage Aura">
<set name="hitTime" val="500" />
<set name="reuseDelay" val="1000" />
<set name="magicLvl" val="85" />
<set name="power" val="100" />
<set name="abnormalTime" val="15" />
<set name="lvlDepend" val="1" />
<set name="abnormalVisualEffect" val="AURA_DEBUFF" />
<set name="targetType" val="AURA" />
<set name="isDebuff" val="true" />
<set name="skillRadius" val="200" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<set name="isMagic" val="3" />
<set name="operateType" val="TOGGLE" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Debuff" val="0">
<effect name="Debuff">
<mul stat="pAtkSpd" val="0.8" />
<mul stat="pAtk" val="0.8" />
</effect>
</for>
</skill>
<skill id="10030" levels="1" name="Challenge Aura">
<set name="reuseDelay" val="1000" />
<set name="magicLvl" val="85" />
<set name="abnormalLvl" val="2" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="operateType" val="TOGGLE" />
<set name="skillType" val="CONT" />
<set name="abnormalTime" val="15" />
<set name="skillRadius" val="200" />
<set name="abnormalVisualEffect" val="AURA_BUFF_SELF" />
<set name="reuseDelay" val="1000" />
<set name="targetType" val="SELF" />
<set name="skillToCast" val="10031" />
<set name="skillToCastLevel" val="1" />
<for>
<effect name="DamOverTime" val="0">
<effect name="Buff">
<!-- TODO: add increase aggression power -->
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<mul stat="MagicalMpConsumeRate" val="0.8" />
<mul stat="PhysicalMpConsumeRate" val="0.8" />
<mul stat="DanceMpConsumeRate" val="0.8" />
</effect>
<effect name="TriggerForce" ticks="2">
<param skillId="10031" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="10031" levels="1" name="Challenge Aura">
<set name="hitTime" val="500" />
<set name="reuseDelay" val="1000" />
<set name="abnormalLvl" val="1" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="abnormalVisualEffect" val="AURA_BUFF" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="power" val="100" />
<set name="lvlDepend" val="1" />
<set name="abnormalTime" val="15" />
<set name="targetType" val="PARTY" />
<set name="skillRadius" val="200" />
<set name="power" val="35000" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<cond>
<not>
<target active_effect_id="10030" />
</not>
</cond>
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<mul stat="MagicalMpConsumeRate" val="0.8" />
@@ -1322,79 +1323,75 @@
</for>
</skill>
<skill id="10032" levels="1" name="Iron Aura">
<set name="reuseDelay" val="1000" />
<set name="magicLvl" val="85" />
<set name="abnormalTime" val="15" />
<set name="abnormalLvl" val="2" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="operateType" val="TOGGLE" />
<set name="skillType" val="CONT" />
<set name="skillRadius" val="200" />
<set name="abnormalVisualEffect" val="AURA_BUFF_SELF" />
<set name="reuseDelay" val="1000" />
<set name="targetType" val="SELF" />
<set name="skillToCast" val="10033" />
<set name="skillToCastLevel" val="1" />
<for>
<effect name="DamOverTime" val="0">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<effect name="Buff">
<mul stat="pAtk" val="1.05">
<using kind="SHIELD" />
</mul>
<mul stat="pAtkSpd" val="1.05">
<using kind="SHIELD" />
</mul>
<add stat="pDef" val="215">
<using kind="HEAVY" />
<using kind="SHIELD" />
</add>
<mul stat="sDef" val="1.5">
<using kind="HEAVY" />
</mul>
<mul stat="rShld" val="2">
<using kind="HEAVY" />
<using kind="SHIELD" />
</mul>
<!--<mul stat="bowWpnVuln" val="0.8">
<using kind="HEAVY" />
</mul>
<mul stat="crossbowWpnVuln" val="0.8">
<using kind="HEAVY" />
</mul>-->
<mul stat="cAtk" val="0.85">
<using kind="HEAVY" />
<mul stat="sDef" val="1.5">
<using kind="SHIELD" />
</mul>
<mul stat="defCritDamage" val="0.85" />
</effect>
<effect name="DefenceTrait">
<param BOW="20" />
<param CROSSBOW="20" />
</effect>
<effect name="TriggerForce" ticks="2">
<param skillId="10033" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="10033" levels="1" name="Iron Aura">
<set name="hitTime" val="500" />
<set name="reuseDelay" val="1000" />
<set name="abnormalLvl" val="1" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="abnormalVisualEffect" val="AURA_BUFF" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="power" val="100" />
<set name="lvlDepend" val="1" />
<set name="targetType" val="PARTY" />
<set name="abnormalTime" val="15" />
<set name="effectRange" val="120" />
<set name="skillRadius" val="200" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<cond>
<not>
<target active_effect_id="10032" />
</not>
</cond>
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<mul stat="pDef" val="1.10" />
<!-- <mul stat="bowWpnVuln" val="0.8" />
<mul stat="crossbowWpnVuln" val="0.8" />-->
<mul stat="healEffect" val="1.1" />
</effect>
<effect name="DefenceTrait">
<param BOW="20" />
<param CROSSBOW="20" />
</effect>
</for>
</skill>
<skill id="10034" levels="1" name="Aura Resistance">
<set name="reuseDelay" val="1000" />
<set name="magicLvl" val="85" />
<set name="abnormalLvl" val="2" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="operateType" val="TOGGLE" />
<set name="skillType" val="CONT" />
<set name="abnormalTime" val="15" />
<set name="skillRadius" val="200" />
<set name="skillToCast" val="10035" />
<set name="skillToCastLevel" val="1" />
<set name="abnormalVisualEffect" val="AURA_BUFF_SELF" />
<set name="reuseDelay" val="1000" />
<set name="targetType" val="SELF" />
<for>
<effect name="DamOverTime" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<mul stat="mDef" val="1.1" />
@@ -1403,26 +1400,24 @@
<add stat="windRes" val="20" />
<add stat="earthRes" val="20" />
</effect>
<effect name="TriggerForce" ticks="2">
<param skillId="10035" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="10035" levels="1" name="Aura Resistance">
<set name="hitTime" val="500" />
<set name="reuseDelay" val="1000" />
<set name="abnormalLvl" val="1" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="abnormalVisualEffect" val="AURA_BUFF" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="power" val="100" />
<set name="lvlDepend" val="1" />
<set name="abnormalTime" val="15" />
<set name="targetType" val="PARTY" />
<set name="skillRadius" val="200" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<cond>
<not>
<target active_effect_id="10034" />
</not>
</cond>
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<mul stat="mDef" val="1.1" />
@@ -1434,96 +1429,92 @@
</for>
</skill>
<skill id="10036" levels="1" name="Recovery Aura">
<set name="reuseDelay" val="1000" />
<set name="magicLvl" val="85" />
<set name="abnormalLvl" val="2" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="operateType" val="TOGGLE" />
<set name="skillType" val="CONT" />
<set name="abnormalTime" val="15" />
<set name="skillRadius" val="200" />
<set name="skillToCast" val="10037" />
<set name="skillToCastLevel" val="1" />
<set name="abnormalVisualEffect" val="AURA_BUFF_SELF" />
<set name="reuseDelay" val="1000" />
<set name="targetType" val="SELF" />
<for>
<effect name="DamOverTime" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<param HOLD="15" />
<sub stat="debuffVuln" val="15" />
<sub stat="debuffVuln" val="20" />
<mul stat="regHp" val="1.1" />
<!--<mul stat="gainHp" val="1.1" />-->
<mul stat="healEffect" val="1.1" />
</effect>
<effect name="TriggerForce" ticks="2">
<param skillId="10037" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="10037" levels="1" name="Recovery Aura">
<set name="hitTime" val="500" />
<set name="reuseDelay" val="1000" />
<set name="abnormalLvl" val="1" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="abnormalVisualEffect" val="AURA_BUFF" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="power" val="100" />
<set name="abnormalTime" val="15" />
<set name="targetType" val="PARTY" />
<set name="skillRadius" val="200" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<cond>
<not>
<target active_effect_id="10036" />
</not>
</cond>
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<param HOLD="15" />
<sub stat="debuffVuln" val="15" />
<sub stat="debuffVuln" val="20" />
<mul stat="regHp" val="1.1" />
<!--<mul stat="gainHp" val="1.1" />-->
<mul stat="healEffect" val="1.1" />
</effect>
<effect name="DefenceTrait">
<param HOLD="20" />
</effect>
</for>
</skill>
<skill id="10038" levels="1" name="Spirit Aura">
<set name="reuseDelay" val="1000" />
<set name="magicLvl" val="85" />
<set name="abnormalLvl" val="2" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="operateType" val="TOGGLE" />
<set name="skillType" val="CONT" />
<set name="abnormalTime" val="15" />
<set name="skillRadius" val="200" />
<set name="abnormalVisualEffect" val="AURA_BUFF_SELF" />
<set name="reuseDelay" val="1000" />
<set name="targetType" val="SELF" />
<set name="skillToCast" val="10039" />
<set name="skillToCastLevel" val="1" />
<for>
<effect name="DamOverTime" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<param HOLD="15" />
<sub stat="debuffVuln" val="15" />
<sub stat="debuffVuln" val="20" />
<mul stat="regMp" val="1.1" />
<!--<add stat="gainMp" val="10" />-->
<mul stat="manaCharge" val="1.1" />
</effect>
<effect name="TriggerForce" ticks="2">
<param skillId="10039" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="10039" levels="1" name="Spirit Aura">
<set name="hitTime" val="500" />
<set name="reuseDelay" val="1000" />
<set name="abnormalLvl" val="1" />
<set name="abnormalType" val="SIGEL_AURA" />
<set name="abnormalVisualEffect" val="AURA_BUFF" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="power" val="100" />
<set name="abnormalTime" val="15" />
<set name="skillRadius" val="200" />
<set name="targetType" val="PARTY" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<cond>
<not>
<target active_effect_id="10038" />
</not>
</cond>
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff" val="0">
<effect name="Buff">
<mul stat="pAtk" val="1.05" />
<mul stat="pAtkSpd" val="1.05" />
<param HOLD="15" />
<sub stat="debuffVuln" val="15" />
<sub stat="debuffVuln" val="20" />
<mul stat="regMp" val="1.1" />
<!--<add stat="gainMp" val="10" />-->
<mul stat="manaCharge" val="1.1" />
</effect>
<effect name="DefenceTrait">
<param HOLD="20" />
</effect>
</for>
</skill>

View File

@@ -21,23 +21,33 @@
<set name="coolTime" val="500" />
<set name="reuseDelay" val="10000" />
</skill>
<!-- Level 1 : Casts Eviscerator Force on entire party, which increases P. Skill Critical Rate + 1%. -->
<skill id="30602" levels="1" name="Eviscerator Aura">
<set name="icon" val="icon.icon_lender" />
<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="castRange" val="1000" />
<for>
<effect name="TriggerForce" ticks="2">
<param skillId="30603" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="30603" levels="1" name="Eviscerator Force">
<!-- AUTO GENERATED SKILL -->
<!-- P. Skill Critical Rate + 1%. -->
<set name="icon" val="icon.icon_lender_01" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="reuseDelay" val="5000" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
<mul stat="physicalSkillPower" val="1.01" /> <!-- IMPLEMENT P.Skill Critical Rate and change stat -->
</effect>
</for>
</skill>
<skill id="30604" levels="1" name="Block Eviscerator Force">
<!-- AUTO GENERATED SKILL -->
@@ -46,29 +56,33 @@
<set name="operateType" val="PASSIVE" />
<set name="targetType" val="SELF" />
</skill>
<!-- Level 1 : Casts Sayha's Seer Force on entire party, which increases M. Critical Rate + 1%. -->
<skill id="30605" levels="1" name="Sayha's Seer Aura">
<set name="icon" val="icon.icon_Er_wizard" />
<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="castRange" val="1000" />
<for>
<effect name="TriggerForce" ticks="2">
<param skillId="30606" skillLevel="1" />
<param targetType="PARTY" />
</effect>
</for>
</skill>
<skill id="30606" levels="1" name="Sayha's Seer Force">
<set name="icon" val="icon.icon_Er_wizard_01" />
<set name="operateType" val="TOGGLE" />
<set name="targetType" val="SELF" />
<set name="magicLvl" val="85" />
<set name="isMagic" val="3" />
<set name="isTriggeredSkill" val="true" />
<for>
<effect name="Buff">
<mul stat="mCritRate" val="1.01" />
</effect>
</for>
</skill>
<skill id="30606" levels="1" name="Sayha's Seer Force">
<!-- AUTO GENERATED SKILL -->
<!-- M. Critical Rate + 1%. -->
<set name="icon" val="icon.icon_Er_wizard_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="30607" levels="1" name="Block Sayha's Seer Force">
<!-- AUTO GENERATED SKILL -->
<!-- Blocks Sayha's Seer Force. -->

Binary file not shown.

View File

@@ -373,7 +373,8 @@ public enum AbnormalType
REF_SONATA,
ELEMENTAL_RESISTANCE_ISS,
HOLY_ATTACK_RESISTANCE_ISS,
MENTAL_ATTACK_RESISTANCE_ISS;
MENTAL_ATTACK_RESISTANCE_ISS,
SIGEL_AURA;
/**
* Get the enumerate for the given String.