fix: Fixes displaying ping pongs (#2374)
This commit is contained in:
parent
6f8e9b9aec
commit
b0189ccf4a
4 changed files with 12 additions and 14 deletions
|
|
@ -26,7 +26,7 @@ public partial class MurderContext
|
|||
|
||||
[SerializableField(3)]
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
private int _pingPong;
|
||||
private int _pingPongs;
|
||||
|
||||
private void MigrateFrom(V0Content content)
|
||||
{
|
||||
|
|
@ -34,7 +34,7 @@ public partial class MurderContext
|
|||
_longTermElapse = content.LongTermElapse;
|
||||
_shortTermMurders = content.ShortTermMurders;
|
||||
// Players already at >= 5 kills have crossed the threshold at least once
|
||||
_pingPong = _player.Kills >= 5 ? 1 : 0;
|
||||
_pingPongs = _player.Kills >= 5 ? 1 : 0;
|
||||
}
|
||||
|
||||
public PlayerMobile _player;
|
||||
|
|
@ -78,7 +78,7 @@ public partial class MurderContext
|
|||
}
|
||||
}
|
||||
|
||||
public bool CanRemove() => _pingPong <= 0 && _shortTermMurders <= 0 && _player.Kills <= 0;
|
||||
public bool CanRemove() => _pingPongs <= 0 && _shortTermMurders <= 0 && _player.Kills <= 0;
|
||||
|
||||
public bool CheckStart()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ public class PlayerMurderSystem : GenericPersistence
|
|||
public static void ManuallySetPingPong(PlayerMobile player, int pingPong)
|
||||
{
|
||||
var context = GetOrCreateMurderContext(player);
|
||||
context.PingPong = Math.Max(pingPong, 0);
|
||||
context.PingPongs = Math.Max(pingPong, 0);
|
||||
UpdateMurderContext(context);
|
||||
}
|
||||
|
||||
|
|
@ -197,7 +197,7 @@ public class PlayerMurderSystem : GenericPersistence
|
|||
|
||||
if (PingPongEnabled && player.Kills == 5)
|
||||
{
|
||||
context.PingPong++;
|
||||
context.PingPongs++;
|
||||
}
|
||||
|
||||
context.ResetKillTime();
|
||||
|
|
@ -238,14 +238,14 @@ public class PlayerMurderSystem : GenericPersistence
|
|||
player.SendMessage($"Long Term Murders: {player.Kills}");
|
||||
if (PingPongEnabled)
|
||||
{
|
||||
player.SendMessage($"Ping Pongs: {player.PingPong}");
|
||||
player.SendMessage($"Ping Pongs: {player.PingPongs}");
|
||||
}
|
||||
}
|
||||
else if (!Core.T2A)
|
||||
{
|
||||
// No "i must consider my sins" before t2a
|
||||
}
|
||||
else if (PingPongEnabled && player.Murderer)
|
||||
else if (PingPongEnabled && player.PingPongs >= 5)
|
||||
{
|
||||
// Thou art known throughout the land as a murderous brigand.
|
||||
player.SendLocalizedMessage(502123, "", player.ShortTermMurders >= 5 ? 0x22 : 0x59);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"name": "PingPong",
|
||||
"name": "PingPongs",
|
||||
"type": "int",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": [
|
||||
|
|
|
|||
|
|
@ -355,10 +355,8 @@ namespace Server.Mobiles
|
|||
public override bool NewGuildDisplay => Guilds.Guild.NewGuildSystem;
|
||||
|
||||
public override bool Murderer =>
|
||||
(Core.T2A && !Core.LBR
|
||||
&& PlayerMurderSystem.GetMurderContext(this, out var context)
|
||||
&& context.PingPong >= 5)
|
||||
|| base.Murderer;
|
||||
Core.T2A && !Core.LBR && PlayerMurderSystem.GetMurderContext(this, out var context)
|
||||
&& context.PingPongs >= 5 || base.Murderer;
|
||||
|
||||
public bool BedrollLogout { get; set; }
|
||||
|
||||
|
|
@ -707,9 +705,9 @@ namespace Server.Mobiles
|
|||
public ChampionTitleContext ChampionTitles => ChampionTitleSystem.GetOrCreateChampionTitleContext(this);
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int PingPong
|
||||
public int PingPongs
|
||||
{
|
||||
get => PlayerMurderSystem.GetMurderContext(this, out var context) ? context.PingPong : 0;
|
||||
get => PlayerMurderSystem.GetMurderContext(this, out var context) ? context.PingPongs : 0;
|
||||
set => PlayerMurderSystem.ManuallySetPingPong(this, value);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue