Passive effect changes.

This commit is contained in:
MobiusDev
2019-01-25 04:22:52 +00:00
parent e70aa2c56d
commit d70d89bdd1
4 changed files with 8 additions and 17 deletions

View File

@@ -17,14 +17,14 @@
package handlers.effecthandlers;
import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Attackable;
import com.l2jmobius.gameserver.model.conditions.Condition;
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
import com.l2jmobius.gameserver.model.effects.EffectFlag;
import com.l2jmobius.gameserver.model.skills.BuffInfo;
/**
* Passive effect implementation.
* @author Adry_85
* @author Mobius
*/
public final class Passive extends AbstractEffect
{
@@ -34,10 +34,9 @@ public final class Passive extends AbstractEffect
}
@Override
public void onExit(BuffInfo info)
public int getEffectFlags()
{
info.getEffected().enableAllSkills();
info.getEffected().setIsImmobilized(false);
return EffectFlag.PASSIVE.getMask();
}
@Override
@@ -45,14 +44,4 @@ public final class Passive extends AbstractEffect
{
return info.getEffected().isAttackable();
}
@Override
public void onStart(BuffInfo info)
{
final L2Attackable target = (L2Attackable) info.getEffected();
target.abortAttack();
target.abortCast();
target.disableAllSkills();
target.setIsImmobilized(true);
}
}

View File

@@ -5703,7 +5703,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// notify target AI about the attack
if (((L2Character) target).hasAI() && !skill.hasEffectType(L2EffectType.HATE))
if (((L2Character) target).hasAI() && !skill.hasEffectType(L2EffectType.HATE) && (skill.getAbnormalType() != AbnormalType.TURN_PASSIVE))
{
((L2Character) target).getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, this);
}

View File

@@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.L2Object;
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.skills.Skill;
import com.l2jmobius.gameserver.util.MinionList;
@@ -94,7 +95,7 @@ public class L2MonsterInstance extends L2Attackable
@Override
public boolean isAggressive()
{
return getTemplate().isAggressive() && !isEventMob();
return getTemplate().isAggressive() && !isEventMob() && !isAffected(EffectFlag.PASSIVE);
}
@Override

View File

@@ -32,6 +32,7 @@ public enum EffectFlag
MUTED,
PSYCHICAL_MUTED,
PSYCHICAL_ATTACK_MUTED,
PASSIVE,
DISARMED,
ROOTED,
SLEEP,