Fake player aggression checks.

This commit is contained in:
MobiusDev
2018-02-21 08:15:34 +00:00
parent 055da88da9
commit 08e4c8f50a
15 changed files with 95 additions and 0 deletions

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.Config;
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;
@@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect
@Override @Override
public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
// Check if fake players should aggro each other.
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
{
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false); effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
if (effector.isPlayer()) if (effector.isPlayer())
{ {

View File

@@ -694,6 +694,12 @@ public class L2Attackable extends L2Npc
return; return;
} }
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer())
{
return;
}
L2PcInstance targetPlayer = attacker.getActingPlayer(); L2PcInstance targetPlayer = attacker.getActingPlayer();
final L2Character summoner = attacker.getSummoner(); final L2Character summoner = attacker.getSummoner();
if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable())

View File

@@ -4298,6 +4298,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect) public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect)
{ {
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && target.isFakePlayer())
{
return;
}
// Start attack stance and notify being attacked. // Start attack stance and notify being attacked.
if (target.hasAI()) if (target.hasAI())
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.Config;
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;
@@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect
@Override @Override
public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
// Check if fake players should aggro each other.
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
{
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false); effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
if (effector.isPlayer()) if (effector.isPlayer())
{ {

View File

@@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc
return; return;
} }
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer())
{
return;
}
L2PcInstance targetPlayer = attacker.getActingPlayer(); L2PcInstance targetPlayer = attacker.getActingPlayer();
final L2Character summoner = attacker.getSummoner(); final L2Character summoner = attacker.getSummoner();
if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable())

View File

@@ -4298,6 +4298,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect) public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect)
{ {
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && target.isFakePlayer())
{
return;
}
// Start attack stance and notify being attacked. // Start attack stance and notify being attacked.
if (target.hasAI()) if (target.hasAI())
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.Config;
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;
@@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect
@Override @Override
public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
// Check if fake players should aggro each other.
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
{
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false); effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
if (effector.isPlayer()) if (effector.isPlayer())
{ {

View File

@@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc
return; return;
} }
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer())
{
return;
}
L2PcInstance targetPlayer = attacker.getActingPlayer(); L2PcInstance targetPlayer = attacker.getActingPlayer();
final L2Character summoner = attacker.getSummoner(); final L2Character summoner = attacker.getSummoner();
if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable())

View File

@@ -4298,6 +4298,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect) public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect)
{ {
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && target.isFakePlayer())
{
return;
}
// Start attack stance and notify being attacked. // Start attack stance and notify being attacked.
if (target.hasAI()) if (target.hasAI())
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.Config;
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;
@@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect
@Override @Override
public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
// Check if fake players should aggro each other.
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
{
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false); effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
if (effector.isPlayer()) if (effector.isPlayer())
{ {

View File

@@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc
return; return;
} }
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer())
{
return;
}
L2PcInstance targetPlayer = attacker.getActingPlayer(); L2PcInstance targetPlayer = attacker.getActingPlayer();
final L2Character summoner = attacker.getSummoner(); final L2Character summoner = attacker.getSummoner();
if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable())

View File

@@ -4298,6 +4298,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect) public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect)
{ {
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && target.isFakePlayer())
{
return;
}
// Start attack stance and notify being attacked. // Start attack stance and notify being attacked.
if (target.hasAI()) if (target.hasAI())
{ {

View File

@@ -16,6 +16,7 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import com.l2jmobius.Config;
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;
@@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect
@Override @Override
public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
{ {
// Check if fake players should aggro each other.
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
{
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false); effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
if (effector.isPlayer()) if (effector.isPlayer())
{ {

View File

@@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc
return; return;
} }
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer())
{
return;
}
L2PcInstance targetPlayer = attacker.getActingPlayer(); L2PcInstance targetPlayer = attacker.getActingPlayer();
final L2Character summoner = attacker.getSummoner(); final L2Character summoner = attacker.getSummoner();
if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable())

View File

@@ -4298,6 +4298,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect) public void doAttack(double damage, L2Character target, Skill skill, boolean isDOT, boolean directlyToHp, boolean critical, boolean reflect)
{ {
// Check if fake players should aggro each other.
if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && target.isFakePlayer())
{
return;
}
// Start attack stance and notify being attacked. // Start attack stance and notify being attacked.
if (target.hasAI()) if (target.hasAI())
{ {