diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS, diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Passive.java index c183e9b5af..68bb5d9674 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Passive.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Passive.java @@ -19,11 +19,12 @@ package handlers.effecthandlers; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.skills.Skill; /** * Passive effect implementation. - * @author Adry_85 + * @author Mobius */ public final class Passive extends AbstractEffect { @@ -31,25 +32,15 @@ public final class Passive extends AbstractEffect { } + @Override + public long getEffectFlags() + { + return EffectFlag.PASSIVE.getMask(); + } + @Override public boolean canStart(L2Character effector, L2Character effected, Skill skill) { return effected.isAttackable(); } - - @Override - public void onStart(L2Character effector, L2Character effected, Skill skill) - { - effected.abortAttack(); - effected.abortCast(); - effected.disableAllSkills(); - effected.setIsImmobilized(true); - } - - @Override - public void onExit(L2Character effector, L2Character effected, Skill skill) - { - effected.enableAllSkills(); - effected.setIsImmobilized(false); - } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java index 53df3b876a..27fd6895f0 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/instance/L2MonsterInstance.java @@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType; import com.l2jmobius.gameserver.model.actor.L2Attackable; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate; +import com.l2jmobius.gameserver.model.effects.EffectFlag; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.skills.Skill; import com.l2jmobius.gameserver.util.MinionList; @@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable @Override public boolean isAggressive() { - return getTemplate().isAggressive(); + return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE); } @Override diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java index a23b62d1d6..e4120d87ec 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/effects/EffectFlag.java @@ -32,6 +32,7 @@ public enum EffectFlag MUTED, PSYCHICAL_MUTED, PSYCHICAL_ATTACK_MUTED, + PASSIVE, DISARMED, ROOTED, BLOCK_ACTIONS,