From 1c5ea905577f5743fa5d040a3b2255fd693da2cb Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 6 Feb 2022 00:08:49 +0000 Subject: [PATCH] Olympiad support for Player onPlayerKill method. --- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 7 ++-- .../gameserver/model/actor/Player.java | 32 ++++++++++++------- .../gameserver/model/actor/Playable.java | 7 ++-- .../gameserver/model/actor/Player.java | 32 ++++++++++++------- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- .../gameserver/model/actor/Playable.java | 3 +- .../gameserver/model/actor/Player.java | 18 ++++++++--- 46 files changed, 384 insertions(+), 135 deletions(-) diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java index c0400c67d4..a192208041 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5155,11 +5155,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5172,6 +5176,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5225,13 +5235,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java index f094fa6e3c..bb766a9846 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5157,11 +5157,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5174,6 +5178,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5227,13 +5237,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java index 26cb297be0..529e90baf4 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5159,11 +5159,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5176,6 +5180,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5229,13 +5239,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java index 44446fbfb2..3d25c3790d 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5155,11 +5155,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5172,6 +5176,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5225,13 +5235,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java index 9d6193775d..02b87d0fd7 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5172,11 +5172,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5189,6 +5193,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5242,13 +5252,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java index f63a2b2a23..62c6ff63aa 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5172,11 +5172,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5189,6 +5193,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5242,13 +5252,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java index e559cfd90d..e6b5db270a 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5173,11 +5173,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5190,6 +5194,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5243,13 +5253,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java index 9472bf1050..146942cf96 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5138,11 +5138,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5155,6 +5159,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5208,13 +5218,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java index f37fb8196a..7c1d3db8ac 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5159,11 +5159,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5176,6 +5180,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5231,14 +5241,14 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java index 40b6b1c1f3..73e16b1803 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5176,11 +5176,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5193,6 +5197,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5248,14 +5258,14 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java index ea3c16fc0c..4dc9a5d3b3 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5209,11 +5209,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5226,6 +5230,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5281,14 +5291,14 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java index 4c834c1ce0..9fcee7502b 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -164,6 +164,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath(killer == null ? this : killer, this, qs); } } + // Notify instance if ((getInstanceId() > 0) && isPlayer()) { @@ -176,10 +177,10 @@ public abstract class Playable extends Creature if (killer != null) { - final Player player = killer.getActingPlayer(); - if (player != null) + final Player killerPlayer = killer.getActingPlayer(); + if (killerPlayer != null) { - player.onKillUpdatePvPKarma(this); + killerPlayer.onKillUpdatePvPKarma(this); } } diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Player.java index ac765f0903..68cd628d74 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5433,30 +5433,38 @@ public class Player extends Playable return; } - final Player targetPlayer = target.getActingPlayer(); - if ((targetPlayer == null) || (targetPlayer == this)) + // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); + if ((killedPlayer == null) || (killedPlayer == this)) { return; } + // Cursed weapons progress if (isCursedWeaponEquipped() && target.isPlayer()) { CursedWeaponsManager.getInstance().increaseKills(_cursedWeaponEquippedId); return; } - // If in duel and you kill (only can kill l2summon), do nothing - if (isInDuel() && targetPlayer.isInDuel()) + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + + // Duel support + if (isInDuel() && killedPlayer.isInDuel()) { return; } // If in Arena, do nothing - if (isInsideZone(ZoneId.PVP) || targetPlayer.isInsideZone(ZoneId.PVP)) + if (isInsideZone(ZoneId.PVP) || killedPlayer.isInsideZone(ZoneId.PVP)) { - if ((getSiegeState() > 0) && (targetPlayer.getSiegeState() > 0) && (getSiegeState() != targetPlayer.getSiegeState())) + if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState())) { - final Clan targetClan = targetPlayer.getClan(); + final Clan targetClan = killedPlayer.getClan(); if ((_clan != null) && (targetClan != null)) { _clan.addSiegeKill(); @@ -5467,7 +5475,7 @@ public class Player extends Playable } // Check if it's pvp - if ((checkIfPvP(target) && (targetPlayer.getPvpFlag() != 0)) || (isInsideZone(ZoneId.PVP) && targetPlayer.isInsideZone(ZoneId.PVP))) + if ((checkIfPvP(target) && (killedPlayer.getPvpFlag() != 0)) || (isInsideZone(ZoneId.PVP) && killedPlayer.isInsideZone(ZoneId.PVP))) { increasePvpKills(target); } @@ -5475,7 +5483,7 @@ public class Player extends Playable { // Target player doesn't have pvp flag set // check about wars - if ((targetPlayer.getClan() != null) && (getClan() != null) && getClan().isAtWarWith(targetPlayer.getClanId()) && targetPlayer.getClan().isAtWarWith(getClanId()) && (targetPlayer.getPledgeType() != Clan.SUBUNIT_ACADEMY) && (getPledgeType() != Clan.SUBUNIT_ACADEMY)) + if ((killedPlayer.getClan() != null) && (getClan() != null) && getClan().isAtWarWith(killedPlayer.getClanId()) && killedPlayer.getClan().isAtWarWith(getClanId()) && (killedPlayer.getPledgeType() != Clan.SUBUNIT_ACADEMY) && (getPledgeType() != Clan.SUBUNIT_ACADEMY)) { // 'Both way war' -> 'PvP Kill' increasePvpKills(target); @@ -5483,18 +5491,18 @@ public class Player extends Playable } // 'No war' or 'One way war' -> 'Normal PK' - if (targetPlayer.getKarma() > 0) // Target player has karma + if (killedPlayer.getKarma() > 0) // Target player has karma { if (Config.KARMA_AWARD_PK_KILL) { increasePvpKills(target); } } - else if (targetPlayer.getPvpFlag() == 0) // Target player doesn't have karma + else if (killedPlayer.getPvpFlag() == 0) // Target player doesn't have karma { if (Config.FACTION_SYSTEM_ENABLED) { - if ((_isGood && targetPlayer.isGood()) || (_isEvil && targetPlayer.isEvil())) + if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { increasePkKillsAndKarma(target); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java index 4c834c1ce0..9fcee7502b 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -164,6 +164,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath(killer == null ? this : killer, this, qs); } } + // Notify instance if ((getInstanceId() > 0) && isPlayer()) { @@ -176,10 +177,10 @@ public abstract class Playable extends Creature if (killer != null) { - final Player player = killer.getActingPlayer(); - if (player != null) + final Player killerPlayer = killer.getActingPlayer(); + if (killerPlayer != null) { - player.onKillUpdatePvPKarma(this); + killerPlayer.onKillUpdatePvPKarma(this); } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Player.java index e277561844..2e542d9b91 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5323,30 +5323,38 @@ public class Player extends Playable return; } - final Player targetPlayer = target.getActingPlayer(); - if ((targetPlayer == null) || (targetPlayer == this)) + // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); + if ((killedPlayer == null) || (killedPlayer == this)) { return; } + // Cursed weapons progress if (isCursedWeaponEquipped() && target.isPlayer()) { CursedWeaponsManager.getInstance().increaseKills(_cursedWeaponEquippedId); return; } - // If in duel and you kill (only can kill l2summon), do nothing - if (isInDuel() && targetPlayer.isInDuel()) + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + + // Duel support + if (isInDuel() && killedPlayer.isInDuel()) { return; } // If in Arena, do nothing - if (isInsideZone(ZoneId.PVP) || targetPlayer.isInsideZone(ZoneId.PVP)) + if (isInsideZone(ZoneId.PVP) || killedPlayer.isInsideZone(ZoneId.PVP)) { - if ((getSiegeState() > 0) && (targetPlayer.getSiegeState() > 0) && (getSiegeState() != targetPlayer.getSiegeState())) + if ((getSiegeState() > 0) && (killedPlayer.getSiegeState() > 0) && (getSiegeState() != killedPlayer.getSiegeState())) { - final Clan targetClan = targetPlayer.getClan(); + final Clan targetClan = killedPlayer.getClan(); if ((_clan != null) && (targetClan != null)) { _clan.addSiegeKill(); @@ -5357,7 +5365,7 @@ public class Player extends Playable } // Check if it's pvp - if ((checkIfPvP(target) && (targetPlayer.getPvpFlag() != 0)) || (isInsideZone(ZoneId.PVP) && targetPlayer.isInsideZone(ZoneId.PVP))) + if ((checkIfPvP(target) && (killedPlayer.getPvpFlag() != 0)) || (isInsideZone(ZoneId.PVP) && killedPlayer.isInsideZone(ZoneId.PVP))) { increasePvpKills(target); } @@ -5365,7 +5373,7 @@ public class Player extends Playable { // Target player doesn't have pvp flag set // check about wars - if ((targetPlayer.getClan() != null) && (getClan() != null) && getClan().isAtWarWith(targetPlayer.getClanId()) && targetPlayer.getClan().isAtWarWith(getClanId()) && (targetPlayer.getPledgeType() != Clan.SUBUNIT_ACADEMY) && (getPledgeType() != Clan.SUBUNIT_ACADEMY)) + if ((killedPlayer.getClan() != null) && (getClan() != null) && getClan().isAtWarWith(killedPlayer.getClanId()) && killedPlayer.getClan().isAtWarWith(getClanId()) && (killedPlayer.getPledgeType() != Clan.SUBUNIT_ACADEMY) && (getPledgeType() != Clan.SUBUNIT_ACADEMY)) { // 'Both way war' -> 'PvP Kill' increasePvpKills(target); @@ -5373,18 +5381,18 @@ public class Player extends Playable } // 'No war' or 'One way war' -> 'Normal PK' - if (targetPlayer.getKarma() > 0) // Target player has karma + if (killedPlayer.getKarma() > 0) // Target player has karma { if (Config.KARMA_AWARD_PK_KILL) { increasePvpKills(target); } } - else if (targetPlayer.getPvpFlag() == 0) // Target player doesn't have karma + else if (killedPlayer.getPvpFlag() == 0) // Target player doesn't have karma { if (Config.FACTION_SYSTEM_ENABLED) { - if ((_isGood && targetPlayer.isGood()) || (_isEvil && targetPlayer.isEvil())) + if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { increasePkKillsAndKarma(target); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java index b2f2d1052f..44ac347412 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5130,11 +5130,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5147,6 +5151,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5200,13 +5210,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java index 4cb1a205f7..e7cc6baa54 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5130,11 +5130,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5147,6 +5151,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5200,13 +5210,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java index 2ce923d7a2..cd1d368f95 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5115,11 +5115,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5132,6 +5136,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5185,13 +5195,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java index 7a47930314..9010525a19 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5129,11 +5129,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5146,6 +5150,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5199,13 +5209,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java index be1bdff996..2fc3aa9e02 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5129,11 +5129,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5146,6 +5150,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5199,13 +5209,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java index 3716c04a37..43387a492b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5084,11 +5084,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5101,6 +5105,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5154,13 +5164,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java index 9370dd3c21..c8558d464a 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5111,11 +5111,15 @@ public class Player extends Playable } } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5128,6 +5132,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5181,13 +5191,13 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java index 14f06549b4..da70279ae4 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5164,11 +5164,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5181,6 +5185,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5236,14 +5246,14 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java index d59a3e9845..5c11faa664 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5205,11 +5205,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5222,6 +5226,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5277,14 +5287,14 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Playable.java index 53ad6abc73..ff4decd581 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -175,6 +175,7 @@ public abstract class Playable extends Creature qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); } } + // Notify instance if (isPlayer()) { @@ -188,7 +189,7 @@ public abstract class Playable extends Creature if (killer != null) { final Player killerPlayer = killer.getActingPlayer(); - if ((killerPlayer != null) && isPlayable()) + if (killerPlayer != null) { killerPlayer.onPlayerKill(this); } diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java index cabd2ce40d..7602682c8f 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -5205,11 +5205,15 @@ public class Player extends Playable return droppedItems; } - public void onPlayerKill(Playable killedPlayable) + public void onPlayerKill(Playable target) { - final Player killedPlayer = killedPlayable.getActingPlayer(); + if ((target == null) || !target.isPlayable()) + { + return; + } // Avoid nulls && check if player != killedPlayer + final Player killedPlayer = target.getActingPlayer(); if ((killedPlayer == null) || (this == killedPlayer)) { return; @@ -5222,6 +5226,12 @@ public class Player extends Playable return; } + // Olympiad support + if (isInOlympiadMode() || killedPlayer.isInOlympiadMode()) + { + return; + } + // Duel support if (isInDuel() && killedPlayer.isInDuel()) { @@ -5277,14 +5287,14 @@ public class Player extends Playable { if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); } } else { - setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); + setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon())); setPkKills(getPkKills() + 1); setTotalKills(getTotalKills() + 1); }