Fix for passive effect disabling monsters.
This commit is contained in:
parent
e57da86a58
commit
83b42bef7b
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
@ -19,11 +19,12 @@ package handlers.effecthandlers;
|
|||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
|
import com.l2jmobius.gameserver.model.effects.EffectFlag;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passive effect implementation.
|
* Passive effect implementation.
|
||||||
* @author Adry_85
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public final class Passive extends AbstractEffect
|
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
|
@Override
|
||||||
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
public boolean canStart(L2Character effector, L2Character effected, Skill skill)
|
||||||
{
|
{
|
||||||
return effected.isAttackable();
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import com.l2jmobius.gameserver.enums.InstanceType;
|
|||||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
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.items.instance.L2ItemInstance;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import com.l2jmobius.gameserver.util.MinionList;
|
import com.l2jmobius.gameserver.util.MinionList;
|
||||||
@ -100,7 +101,7 @@ public class L2MonsterInstance extends L2Attackable
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAggressive()
|
public boolean isAggressive()
|
||||||
{
|
{
|
||||||
return getTemplate().isAggressive();
|
return getTemplate().isAggressive() && !isAffected(EffectFlag.PASSIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,6 +32,7 @@ public enum EffectFlag
|
|||||||
MUTED,
|
MUTED,
|
||||||
PSYCHICAL_MUTED,
|
PSYCHICAL_MUTED,
|
||||||
PSYCHICAL_ATTACK_MUTED,
|
PSYCHICAL_ATTACK_MUTED,
|
||||||
|
PASSIVE,
|
||||||
DISARMED,
|
DISARMED,
|
||||||
ROOTED,
|
ROOTED,
|
||||||
BLOCK_ACTIONS,
|
BLOCK_ACTIONS,
|
||||||
|
Loading…
Reference in New Issue
Block a user