diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java index ad70d03447..6d992607ac 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; @@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect @Override 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); if (effector.isPlayer()) { diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java index a5f89f607f..a49ea96d75 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java @@ -694,6 +694,12 @@ public class L2Attackable extends L2Npc return; } + // Check if fake players should aggro each other. + if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer()) + { + return; + } + L2PcInstance targetPlayer = attacker.getActingPlayer(); final L2Character summoner = attacker.getSummoner(); if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c1ec187496..6270fa7541 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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) { + // 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. if (target.hasAI()) { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java index ad70d03447..6d992607ac 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; @@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect @Override 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); if (effector.isPlayer()) { diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java index ff1e71cd62..e82c15218f 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java @@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc return; } + // Check if fake players should aggro each other. + if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer()) + { + return; + } + L2PcInstance targetPlayer = attacker.getActingPlayer(); final L2Character summoner = attacker.getSummoner(); if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c1ec187496..6270fa7541 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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) { + // 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. if (target.hasAI()) { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java index ad70d03447..6d992607ac 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; @@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect @Override 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); if (effector.isPlayer()) { diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java index ff1e71cd62..e82c15218f 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java @@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc return; } + // Check if fake players should aggro each other. + if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer()) + { + return; + } + L2PcInstance targetPlayer = attacker.getActingPlayer(); final L2Character summoner = attacker.getSummoner(); if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c1ec187496..6270fa7541 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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) { + // 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. if (target.hasAI()) { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java index ad70d03447..6d992607ac 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; @@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect @Override 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); if (effector.isPlayer()) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java index ff1e71cd62..e82c15218f 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java @@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc return; } + // Check if fake players should aggro each other. + if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer()) + { + return; + } + L2PcInstance targetPlayer = attacker.getActingPlayer(); final L2Character summoner = attacker.getSummoner(); if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c1ec187496..6270fa7541 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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) { + // 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. if (target.hasAI()) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java index ad70d03447..6d992607ac 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RealDamage.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.Config; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.effects.AbstractEffect; @@ -43,6 +44,12 @@ public class RealDamage extends AbstractEffect @Override 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); if (effector.isPlayer()) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java index f1fe7fdd71..009890553d 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java @@ -690,6 +690,12 @@ public class L2Attackable extends L2Npc return; } + // Check if fake players should aggro each other. + if (isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && attacker.isFakePlayer()) + { + return; + } + L2PcInstance targetPlayer = attacker.getActingPlayer(); final L2Character summoner = attacker.getSummoner(); if (attacker.isNpc() && (summoner != null) && summoner.isPlayer() && !attacker.isTargetable()) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c1ec187496..6270fa7541 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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) { + // 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. if (target.hasAI()) {