Olympiad support for Player onPlayerKill method.

This commit is contained in:
MobiusDevelopment
2022-02-06 00:08:49 +00:00
parent 987629ea69
commit 1c5ea90557
46 changed files with 384 additions and 135 deletions
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5172,6 +5176,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5225,13 +5235,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5174,6 +5178,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5227,13 +5237,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5176,6 +5180,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5229,13 +5239,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5172,6 +5176,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5225,13 +5235,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5189,6 +5193,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5242,13 +5252,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5189,6 +5193,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5242,13 +5252,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5190,6 +5194,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5243,13 +5253,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5138,11 +5138,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5155,6 +5159,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5208,13 +5218,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5159,11 +5159,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5176,6 +5180,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5231,14 +5241,14 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5176,11 +5176,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5193,6 +5197,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5248,14 +5258,14 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5209,11 +5209,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5226,6 +5230,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5281,14 +5291,14 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
@@ -164,6 +164,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath(killer == null ? this : killer, this, qs); qs.getQuest().notifyDeath(killer == null ? this : killer, this, qs);
} }
} }
// Notify instance // Notify instance
if ((getInstanceId() > 0) && isPlayer()) if ((getInstanceId() > 0) && isPlayer())
{ {
@@ -176,10 +177,10 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player player = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if (player != null) if (killerPlayer != null)
{ {
player.onKillUpdatePvPKarma(this); killerPlayer.onKillUpdatePvPKarma(this);
} }
} }
@@ -5433,30 +5433,38 @@ public class Player extends Playable
return; return;
} }
final Player targetPlayer = target.getActingPlayer(); // Avoid nulls && check if player != killedPlayer
if ((targetPlayer == null) || (targetPlayer == this)) final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (killedPlayer == this))
{ {
return; return;
} }
// Cursed weapons progress
if (isCursedWeaponEquipped() && target.isPlayer()) if (isCursedWeaponEquipped() && target.isPlayer())
{ {
CursedWeaponsManager.getInstance().increaseKills(_cursedWeaponEquippedId); CursedWeaponsManager.getInstance().increaseKills(_cursedWeaponEquippedId);
return; return;
} }
// If in duel and you kill (only can kill l2summon), do nothing // Olympiad support
if (isInDuel() && targetPlayer.isInDuel()) if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support
if (isInDuel() && killedPlayer.isInDuel())
{ {
return; return;
} }
// If in Arena, do nothing // 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)) if ((_clan != null) && (targetClan != null))
{ {
_clan.addSiegeKill(); _clan.addSiegeKill();
@@ -5467,7 +5475,7 @@ public class Player extends Playable
} }
// Check if it's pvp // 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); increasePvpKills(target);
} }
@@ -5475,7 +5483,7 @@ public class Player extends Playable
{ {
// Target player doesn't have pvp flag set // Target player doesn't have pvp flag set
// check about wars // 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' // 'Both way war' -> 'PvP Kill'
increasePvpKills(target); increasePvpKills(target);
@@ -5483,18 +5491,18 @@ public class Player extends Playable
} }
// 'No war' or 'One way war' -> 'Normal PK' // '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) if (Config.KARMA_AWARD_PK_KILL)
{ {
increasePvpKills(target); 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 (Config.FACTION_SYSTEM_ENABLED)
{ {
if ((_isGood && targetPlayer.isGood()) || (_isEvil && targetPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
increasePkKillsAndKarma(target); increasePkKillsAndKarma(target);
} }
@@ -164,6 +164,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath(killer == null ? this : killer, this, qs); qs.getQuest().notifyDeath(killer == null ? this : killer, this, qs);
} }
} }
// Notify instance // Notify instance
if ((getInstanceId() > 0) && isPlayer()) if ((getInstanceId() > 0) && isPlayer())
{ {
@@ -176,10 +177,10 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player player = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if (player != null) if (killerPlayer != null)
{ {
player.onKillUpdatePvPKarma(this); killerPlayer.onKillUpdatePvPKarma(this);
} }
} }
@@ -5323,30 +5323,38 @@ public class Player extends Playable
return; return;
} }
final Player targetPlayer = target.getActingPlayer(); // Avoid nulls && check if player != killedPlayer
if ((targetPlayer == null) || (targetPlayer == this)) final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (killedPlayer == this))
{ {
return; return;
} }
// Cursed weapons progress
if (isCursedWeaponEquipped() && target.isPlayer()) if (isCursedWeaponEquipped() && target.isPlayer())
{ {
CursedWeaponsManager.getInstance().increaseKills(_cursedWeaponEquippedId); CursedWeaponsManager.getInstance().increaseKills(_cursedWeaponEquippedId);
return; return;
} }
// If in duel and you kill (only can kill l2summon), do nothing // Olympiad support
if (isInDuel() && targetPlayer.isInDuel()) if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support
if (isInDuel() && killedPlayer.isInDuel())
{ {
return; return;
} }
// If in Arena, do nothing // 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)) if ((_clan != null) && (targetClan != null))
{ {
_clan.addSiegeKill(); _clan.addSiegeKill();
@@ -5357,7 +5365,7 @@ public class Player extends Playable
} }
// Check if it's pvp // 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); increasePvpKills(target);
} }
@@ -5365,7 +5373,7 @@ public class Player extends Playable
{ {
// Target player doesn't have pvp flag set // Target player doesn't have pvp flag set
// check about wars // 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' // 'Both way war' -> 'PvP Kill'
increasePvpKills(target); increasePvpKills(target);
@@ -5373,18 +5381,18 @@ public class Player extends Playable
} }
// 'No war' or 'One way war' -> 'Normal PK' // '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) if (Config.KARMA_AWARD_PK_KILL)
{ {
increasePvpKills(target); 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 (Config.FACTION_SYSTEM_ENABLED)
{ {
if ((_isGood && targetPlayer.isGood()) || (_isEvil && targetPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
increasePkKillsAndKarma(target); increasePkKillsAndKarma(target);
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5147,6 +5151,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5200,13 +5210,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5147,6 +5151,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5200,13 +5210,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5132,6 +5136,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5185,13 +5195,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5146,6 +5150,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5199,13 +5209,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5146,6 +5150,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5199,13 +5209,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5084,11 +5084,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5101,6 +5105,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5154,13 +5164,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5128,6 +5132,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5181,13 +5191,13 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
} }
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5164,11 +5164,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5181,6 +5185,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5236,14 +5246,14 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5205,11 +5205,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5222,6 +5226,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5277,14 +5287,14 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
@@ -175,6 +175,7 @@ public abstract class Playable extends Creature
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs); qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
} }
} }
// Notify instance // Notify instance
if (isPlayer()) if (isPlayer())
{ {
@@ -188,7 +189,7 @@ public abstract class Playable extends Creature
if (killer != null) if (killer != null)
{ {
final Player killerPlayer = killer.getActingPlayer(); final Player killerPlayer = killer.getActingPlayer();
if ((killerPlayer != null) && isPlayable()) if (killerPlayer != null)
{ {
killerPlayer.onPlayerKill(this); killerPlayer.onPlayerKill(this);
} }
@@ -5205,11 +5205,15 @@ public class Player extends Playable
return droppedItems; 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 // Avoid nulls && check if player != killedPlayer
final Player killedPlayer = target.getActingPlayer();
if ((killedPlayer == null) || (this == killedPlayer)) if ((killedPlayer == null) || (this == killedPlayer))
{ {
return; return;
@@ -5222,6 +5226,12 @@ public class Player extends Playable
return; return;
} }
// Olympiad support
if (isInOlympiadMode() || killedPlayer.isInOlympiadMode())
{
return;
}
// Duel support // Duel support
if (isInDuel() && killedPlayer.isInDuel()) if (isInDuel() && killedPlayer.isInDuel())
{ {
@@ -5277,14 +5287,14 @@ public class Player extends Playable
{ {
if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil())) if ((_isGood && killedPlayer.isGood()) || (_isEvil && killedPlayer.isEvil()))
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }
} }
else else
{ {
setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), killedPlayable.isSummon())); setReputation(getReputation() - Formulas.calculateKarmaGain(getPkKills(), target.isSummon()));
setPkKills(getPkKills() + 1); setPkKills(getPkKills() + 1);
setTotalKills(getTotalKills() + 1); setTotalKills(getTotalKills() + 1);
} }