fix: Converts ConPVP to serialization generator (#2338)
This commit is contained in:
parent
6ffb63ec82
commit
b01a40a3de
31 changed files with 7942 additions and 8243 deletions
|
|
@ -2,6 +2,7 @@ using System;
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using ModernUO.CodeGeneratedEvents;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Engines.PartySystem;
|
||||
using Server.Factions;
|
||||
using Server.Gumps;
|
||||
|
|
@ -19,12 +20,12 @@ using Server.Spells.Seventh;
|
|||
using Server.Spells.Spellweaving;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
{
|
||||
public delegate void CountdownCallback(int count);
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
public class DuelContext
|
||||
{
|
||||
public delegate void CountdownCallback(int count);
|
||||
|
||||
public partial class DuelContext
|
||||
{
|
||||
private static readonly TimeSpan CombatDelay = TimeSpan.FromSeconds(30.0);
|
||||
private static readonly TimeSpan AutoTieDelay = TimeSpan.FromMinutes(15.0);
|
||||
|
||||
|
|
@ -2517,14 +2518,11 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
private class InternalWall : Item
|
||||
[SerializationGenerator(0, false)]
|
||||
private partial class InternalWall : Item
|
||||
{
|
||||
public InternalWall() : base(0x80) => Movable = false;
|
||||
|
||||
public InternalWall(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public void Appear(Point3D loc, Map map)
|
||||
{
|
||||
MoveToWorld(loc, map);
|
||||
|
|
@ -2532,21 +2530,7 @@ namespace Server.Engines.ConPVP
|
|||
Effects.SendLocationParticles(this, 0x376A, 9, 10, 5025);
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
Delete();
|
||||
}
|
||||
public override bool SkipSerialization => true;
|
||||
}
|
||||
|
||||
private class ReturnEntry
|
||||
|
|
@ -2740,7 +2724,8 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
private class ArenaMoongate : ConfirmationMoongate
|
||||
[SerializationGenerator(0, false)]
|
||||
private partial class ArenaMoongate : ConfirmationMoongate
|
||||
{
|
||||
private readonly ExitTeleporter m_Teleporter;
|
||||
|
||||
|
|
@ -2761,9 +2746,7 @@ namespace Server.Engines.ConPVP
|
|||
Timer.StartTimer(TimeSpan.FromSeconds(10.0), Delete);
|
||||
}
|
||||
|
||||
public ArenaMoongate(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override bool SkipSerialization => true;
|
||||
|
||||
public override string DefaultName => "spectator moongate";
|
||||
|
||||
|
|
@ -2807,22 +2790,5 @@ namespace Server.Engines.ConPVP
|
|||
Effects.PlaySound(loc, map, 0x20E);
|
||||
MoveToWorld(loc, map);
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,21 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
public enum DuelTeleporterType
|
||||
{
|
||||
public enum DuelTeleporterType
|
||||
{
|
||||
Squares = 6095,
|
||||
Buds = 6104,
|
||||
Flowers = 6113,
|
||||
Spikes = 6122,
|
||||
Arrows = 6140,
|
||||
Links = 6149
|
||||
}
|
||||
}
|
||||
|
||||
public class DuelTeleporterAddon : BaseAddon
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class DuelTeleporterAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public DuelTeleporterAddon(DuelTeleporterType type = DuelTeleporterType.Squares)
|
||||
{
|
||||
|
|
@ -51,22 +53,10 @@ namespace Server.Engines.ConPVP
|
|||
AddComponent(new AddonComponent(0x754), -2, +1, 0);
|
||||
}
|
||||
|
||||
public DuelTeleporterAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public DuelTeleporterType Type
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Components.Count > 0)
|
||||
{
|
||||
return (DuelTeleporterType)Components[0].ItemID;
|
||||
}
|
||||
|
||||
return DuelTeleporterType.Squares;
|
||||
}
|
||||
get => Components.Count > 0 ? (DuelTeleporterType)Components[0].ItemID : DuelTeleporterType.Squares;
|
||||
set
|
||||
{
|
||||
for (var i = 0; i < Components.Count && i < 9; ++i)
|
||||
|
|
@ -75,19 +65,4 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class BRBomb : Item
|
||||
{
|
||||
public class BRBomb : Item
|
||||
{
|
||||
private readonly BRGame m_Game;
|
||||
|
||||
private readonly List<Mobile> m_Helpers;
|
||||
|
|
@ -33,10 +36,6 @@ namespace Server.Engines.ConPVP
|
|||
m_Timer.Start();
|
||||
}
|
||||
|
||||
public BRBomb(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override bool SkipSerialization => true;
|
||||
|
||||
public override string DefaultName => "da bomb";
|
||||
|
|
@ -58,20 +57,6 @@ namespace Server.Engines.ConPVP
|
|||
return null;
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void OnAdded(IEntity parent)
|
||||
{
|
||||
base.OnAdded(parent);
|
||||
|
|
@ -846,11 +831,17 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class BRGoal : BaseAddon
|
||||
{
|
||||
private bool m_North;
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class BRGoal : BaseAddon
|
||||
{
|
||||
[SerializableField(0)]
|
||||
private bool _north;
|
||||
|
||||
[SerializableFieldChanged(0)]
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private void OnNorthChanged(bool oldValue, bool newValue) => Remake();
|
||||
|
||||
private BRTeamInfo m_Team;
|
||||
|
||||
|
|
@ -864,21 +855,6 @@ namespace Server.Engines.ConPVP
|
|||
Remake();
|
||||
}
|
||||
|
||||
public BRGoal(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public bool North
|
||||
{
|
||||
get => m_North;
|
||||
set
|
||||
{
|
||||
m_North = value;
|
||||
Remake();
|
||||
}
|
||||
}
|
||||
|
||||
public override string DefaultName => "Bombing Run Goal";
|
||||
|
||||
public override bool ShareHue => false;
|
||||
|
|
@ -908,8 +884,9 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
private void Remake()
|
||||
{
|
||||
foreach (var ac in Components)
|
||||
for (var i = 0; i < Components.Count; i++)
|
||||
{
|
||||
var ac = Components[i];
|
||||
ac.Addon = null;
|
||||
ac.Delete();
|
||||
}
|
||||
|
|
@ -929,7 +906,7 @@ namespace Server.Engines.ConPVP
|
|||
// Center Sparkle
|
||||
AddComponent(new AddonComponent(0x375A), 0, 0, -1);
|
||||
|
||||
if (!m_North)
|
||||
if (!_north)
|
||||
{
|
||||
// Pillars
|
||||
AddComponent(new AddonComponent(0x0CE), 0, +1, -2);
|
||||
|
|
@ -967,37 +944,6 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(1); // version
|
||||
|
||||
writer.Write(m_North);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
m_North = reader.ReadBool();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Hue = 0x84C;
|
||||
}
|
||||
|
||||
public override bool OnMoveOver(Mobile m)
|
||||
{
|
||||
if (!Visible)
|
||||
|
|
@ -1027,21 +973,15 @@ namespace Server.Engines.ConPVP
|
|||
m.Backpack.FindItemByType<BRBomb>()?.CheckScore(this, m, 7);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class BRBoard : Item
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public sealed partial class BRBoard : Item
|
||||
{
|
||||
public BRTeamInfo m_TeamInfo;
|
||||
|
||||
[Constructible]
|
||||
public BRBoard()
|
||||
: base(7774) =>
|
||||
Movable = false;
|
||||
|
||||
public BRBoard(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public BRBoard() : base(7774) => Movable = false;
|
||||
|
||||
public override string DefaultName => "Scoreboard";
|
||||
|
||||
|
|
@ -1052,24 +992,10 @@ namespace Server.Engines.ConPVP
|
|||
from.SendGump(new BRBoardGump(from, m_TeamInfo.Game));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class BRBoardGump : Gump
|
||||
{
|
||||
public class BRBoardGump : Gump
|
||||
{
|
||||
private const int LabelColor32 = 0xFFFFFF;
|
||||
private const int BlackColor32 = 0x000000;
|
||||
|
||||
|
|
@ -1223,10 +1149,10 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
AddHtml(x, y, width, height, color == 0 ? text : text.Color(color));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class BRPlayerInfo : IRankedCTF, IComparable<BRPlayerInfo>
|
||||
{
|
||||
public sealed class BRPlayerInfo : IRankedCTF, IComparable<BRPlayerInfo>
|
||||
{
|
||||
private readonly BRTeamInfo m_TeamInfo;
|
||||
private int m_Captures;
|
||||
|
||||
|
|
@ -1296,11 +1222,11 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[PropertyObject]
|
||||
public sealed class BRTeamInfo : IRankedCTF, IComparable<BRTeamInfo>
|
||||
{
|
||||
[PropertyObject]
|
||||
public sealed class BRTeamInfo : IRankedCTF, IComparable<BRTeamInfo>
|
||||
{
|
||||
private BRGoal m_Goal;
|
||||
|
||||
public BRTeamInfo(int teamID)
|
||||
|
|
@ -1445,10 +1371,10 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
return "...";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class BRController : EventController
|
||||
{
|
||||
public sealed class BRController : EventController
|
||||
{
|
||||
[Constructible]
|
||||
public BRController()
|
||||
{
|
||||
|
|
@ -1542,10 +1468,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class BRGame : EventGame
|
||||
{
|
||||
public sealed class BRGame : EventGame
|
||||
{
|
||||
private BRBomb m_Bomb;
|
||||
|
||||
private TimerExecutionToken _finishTimerToken;
|
||||
|
|
@ -1960,5 +1886,4 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
_finishTimerToken.Cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,22 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public sealed partial class CTFBoard : Item
|
||||
{
|
||||
public sealed class CTFBoard : Item
|
||||
{
|
||||
public CTFTeamInfo m_TeamInfo;
|
||||
|
||||
[Constructible]
|
||||
public CTFBoard()
|
||||
: base(7774) =>
|
||||
Movable = false;
|
||||
|
||||
public CTFBoard(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public CTFBoard() : base(7774) => Movable = false;
|
||||
|
||||
public override string DefaultName => "scoreboard";
|
||||
|
||||
|
|
@ -32,24 +27,10 @@ namespace Server.Engines.ConPVP
|
|||
from.SendGump(new CTFBoardGump(from, m_TeamInfo.Game));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class CTFBoardGump : Gump
|
||||
{
|
||||
public class CTFBoardGump : Gump
|
||||
{
|
||||
private const int LabelColor32 = 0xFFFFFF;
|
||||
private const int BlackColor32 = 0x000000;
|
||||
|
||||
|
|
@ -208,10 +189,11 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
AddHtml(x, y, width, height, color == 0 ? text : text.Color(color));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class CTFFlag : Item
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public sealed partial class CTFFlag : Item
|
||||
{
|
||||
public Mobile m_Fragger;
|
||||
public DateTime m_FragTime;
|
||||
|
||||
|
|
@ -223,14 +205,7 @@ namespace Server.Engines.ConPVP
|
|||
public CTFTeamInfo m_TeamInfo;
|
||||
|
||||
[Constructible]
|
||||
public CTFFlag()
|
||||
: base(5643) =>
|
||||
Movable = false;
|
||||
|
||||
public CTFFlag(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public CTFFlag() : base(5643) => Movable = false;
|
||||
|
||||
public override string DefaultName => "old people cookies";
|
||||
|
||||
|
|
@ -523,32 +498,18 @@ namespace Server.Engines.ConPVP
|
|||
mob.SolidHueOverride = m_TeamInfo?.Game.GetColor(mob) ?? -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public interface IRankedCTF
|
||||
{
|
||||
public interface IRankedCTF
|
||||
{
|
||||
int Kills { get; }
|
||||
int Captures { get; }
|
||||
int Score { get; }
|
||||
string Name { get; }
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class CTFPlayerInfo : IRankedCTF
|
||||
{
|
||||
public sealed class CTFPlayerInfo : IRankedCTF
|
||||
{
|
||||
private readonly CTFTeamInfo m_TeamInfo;
|
||||
private int m_Captures;
|
||||
|
||||
|
|
@ -600,11 +561,11 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[PropertyObject]
|
||||
public sealed class CTFTeamInfo : IRankedCTF
|
||||
{
|
||||
[PropertyObject]
|
||||
public sealed class CTFTeamInfo : IRankedCTF
|
||||
{
|
||||
public CTFTeamInfo(int teamID)
|
||||
{
|
||||
TeamID = teamID;
|
||||
|
|
@ -731,10 +692,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
public override string ToString() => "...";
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class CTFController : EventController
|
||||
{
|
||||
public sealed class CTFController : EventController
|
||||
{
|
||||
[Constructible]
|
||||
public CTFController()
|
||||
{
|
||||
|
|
@ -850,10 +811,10 @@ namespace Server.Engines.ConPVP
|
|||
Duration = TimeSpan.FromMinutes(30.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class CTFGame : EventGame
|
||||
{
|
||||
public sealed class CTFGame : EventGame
|
||||
{
|
||||
private TimerExecutionToken _finishTimerToken;
|
||||
|
||||
public CTFGame(CTFController controller, DuelContext context) : base(context) => Controller = controller;
|
||||
|
|
@ -1309,5 +1270,4 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
_finishTimerToken.Cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,20 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public sealed partial class DDBoard : Item
|
||||
{
|
||||
public sealed class DDBoard : Item
|
||||
{
|
||||
public DDTeamInfo m_TeamInfo;
|
||||
|
||||
[Constructible]
|
||||
public DDBoard()
|
||||
: base(7774) =>
|
||||
Movable = false;
|
||||
|
||||
public DDBoard(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public DDBoard() : base(7774) => Movable = false;
|
||||
|
||||
public override string DefaultName => "scoreboard";
|
||||
|
||||
|
|
@ -30,24 +25,10 @@ namespace Server.Engines.ConPVP
|
|||
from.SendGump(new DDBoardGump(from, m_TeamInfo.Game));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class DDBoardGump : Gump
|
||||
{
|
||||
public class DDBoardGump : Gump
|
||||
{
|
||||
private const int LabelColor32 = 0xFFFFFF;
|
||||
private const int BlackColor32 = 0x000000;
|
||||
|
||||
|
|
@ -200,10 +181,10 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
AddHtml(x, y, width, height, color == 0 ? text : text.Color(color));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class DDPlayerInfo : IRankedCTF
|
||||
{
|
||||
public sealed class DDPlayerInfo : IRankedCTF
|
||||
{
|
||||
private readonly DDTeamInfo m_TeamInfo;
|
||||
private int m_Captures;
|
||||
|
||||
|
|
@ -255,11 +236,11 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[PropertyObject]
|
||||
public sealed class DDTeamInfo : IRankedCTF
|
||||
{
|
||||
[PropertyObject]
|
||||
public sealed class DDTeamInfo : IRankedCTF
|
||||
{
|
||||
public DDTeamInfo(int teamID)
|
||||
{
|
||||
TeamID = teamID;
|
||||
|
|
@ -360,10 +341,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
public override string ToString() => "...";
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class DDController : EventController
|
||||
{
|
||||
public sealed class DDController : EventController
|
||||
{
|
||||
[Constructible]
|
||||
public DDController()
|
||||
{
|
||||
|
|
@ -454,10 +435,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class DDGame : EventGame
|
||||
{
|
||||
public sealed class DDGame : EventGame
|
||||
{
|
||||
private int m_CapStage;
|
||||
|
||||
private bool m_Capturable = true;
|
||||
|
|
@ -974,10 +955,11 @@ namespace Server.Engines.ConPVP
|
|||
Controller.PointB.SetNonCaptureHue();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class DDWayPoint : BaseAddon
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class DDWayPoint : BaseAddon
|
||||
{
|
||||
public const int UncapturableHue = 0x497;
|
||||
public const int NonCapturedHue = 0x38A;
|
||||
private DDGame m_Game;
|
||||
|
|
@ -1005,10 +987,6 @@ namespace Server.Engines.ConPVP
|
|||
SetUncapturableHue();
|
||||
}
|
||||
|
||||
public DDWayPoint(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override bool ShareHue => false;
|
||||
|
||||
public DDGame Game
|
||||
|
|
@ -1041,20 +1019,6 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public void SetUncapturableHue()
|
||||
{
|
||||
for (var i = 0; i < Components.Count; i++)
|
||||
|
|
@ -1123,29 +1087,11 @@ namespace Server.Engines.ConPVP
|
|||
return true;
|
||||
}
|
||||
|
||||
public class DDStep : AddonComponent
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class DDStep : AddonComponent
|
||||
{
|
||||
public DDStep(int itemID) : base(itemID) => Visible = true;
|
||||
|
||||
public DDStep(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override bool OnMoveOver(Mobile m) => Addon.OnMoveOver(m);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,41 +1,23 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public abstract partial class EventController : Item
|
||||
{
|
||||
public abstract class EventController : Item
|
||||
{
|
||||
public EventController()
|
||||
: base(0x1B7A)
|
||||
public EventController() : base(0x1B7A)
|
||||
{
|
||||
Visible = false;
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
public EventController(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public abstract string Title { get; }
|
||||
public abstract EventGame Construct(DuelContext dc);
|
||||
|
||||
public abstract string GetTeamName(int teamID);
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.GameMaster)
|
||||
|
|
@ -43,10 +25,10 @@ namespace Server.Engines.ConPVP
|
|||
from.SendGump(new PropertiesGump(from, this));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public abstract class EventGame
|
||||
{
|
||||
public abstract class EventGame
|
||||
{
|
||||
protected DuelContext m_Context;
|
||||
|
||||
public EventGame(DuelContext context) => m_Context = context;
|
||||
|
|
@ -66,5 +48,4 @@ namespace Server.Engines.ConPVP
|
|||
public virtual void OnStop()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,28 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class HillOfTheKing : Item
|
||||
{
|
||||
public class HillOfTheKing : Item
|
||||
{
|
||||
private KHGame m_Game;
|
||||
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
private KingTimer m_KingTimer;
|
||||
|
||||
[EncodedInt]
|
||||
[SerializableField(0)]
|
||||
private int _scoreInterval;
|
||||
|
||||
[Constructible]
|
||||
public HillOfTheKing()
|
||||
: base(0x520)
|
||||
public HillOfTheKing() : base(0x520)
|
||||
{
|
||||
ScoreInterval = 10;
|
||||
m_Game = null;
|
||||
King = null;
|
||||
Movable = false;
|
||||
|
|
@ -24,10 +30,6 @@ namespace Server.Engines.ConPVP
|
|||
Name = "the hill";
|
||||
}
|
||||
|
||||
public HillOfTheKing(Serial s) : base(s)
|
||||
{
|
||||
}
|
||||
|
||||
public Mobile King { get; private set; }
|
||||
|
||||
public KHGame Game
|
||||
|
|
@ -44,36 +46,8 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ScoreInterval { get; set; }
|
||||
|
||||
public int CapturesSoFar => m_KingTimer?.Captures ?? 0;
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
ScoreInterval = reader.ReadEncodedInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
|
||||
writer.WriteEncodedInt(ScoreInterval);
|
||||
}
|
||||
|
||||
private bool CanBeKing(Mobile m)
|
||||
{
|
||||
// Game running?
|
||||
|
|
@ -272,41 +246,31 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class KHBoard : Item
|
||||
{
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
[SerializableField(0)]
|
||||
private KHController _controller;
|
||||
|
||||
[SerializableFieldChanged(0)]
|
||||
private void OnControllerChanged(KHController oldValue, KHController newValue)
|
||||
{
|
||||
oldValue?.RemoveBoard(this);
|
||||
newValue?.AddBoard(this);
|
||||
}
|
||||
|
||||
public class KHBoard : Item
|
||||
{
|
||||
private KHController m_Controller;
|
||||
public KHGame m_Game;
|
||||
|
||||
[Constructible]
|
||||
public KHBoard()
|
||||
: base(7774)
|
||||
public KHBoard() : base(7774)
|
||||
{
|
||||
Name = "King of the Hill Scoreboard";
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
public KHBoard(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public KHController Controller
|
||||
{
|
||||
get => m_Controller;
|
||||
set
|
||||
{
|
||||
if (m_Controller != value)
|
||||
{
|
||||
m_Controller?.RemoveBoard(this);
|
||||
m_Controller = value;
|
||||
m_Controller?.AddBoard(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (m_Game != null)
|
||||
|
|
@ -318,35 +282,10 @@ namespace Server.Engines.ConPVP
|
|||
from.SendMessage("There is no King of the Hill game in progress.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write(m_Controller);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
m_Controller = reader.ReadEntity<KHController>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class KHBoardGump : Gump
|
||||
{
|
||||
public sealed class KHBoardGump : Gump
|
||||
{
|
||||
private const int LabelColor32 = 0xFFFFFF;
|
||||
private const int BlackColor32 = 0x000000;
|
||||
|
||||
|
|
@ -470,10 +409,10 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
AddHtml(x, y, width, height, color == 0 ? text : text.Color(color));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class KHPlayerInfo : IRankedCTF, IComparable<KHPlayerInfo>
|
||||
{
|
||||
public sealed class KHPlayerInfo : IRankedCTF, IComparable<KHPlayerInfo>
|
||||
{
|
||||
private readonly KHTeamInfo m_TeamInfo;
|
||||
private int m_Captures;
|
||||
|
||||
|
|
@ -537,11 +476,11 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[PropertyObject]
|
||||
public sealed class KHTeamInfo : IRankedCTF, IComparable<KHTeamInfo>
|
||||
{
|
||||
[PropertyObject]
|
||||
public sealed class KHTeamInfo : IRankedCTF, IComparable<KHTeamInfo>
|
||||
{
|
||||
public KHTeamInfo(int teamID)
|
||||
{
|
||||
TeamID = teamID;
|
||||
|
|
@ -644,10 +583,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
public override string ToString() => TeamName != null ? $"({Name}) ..." : "...";
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class KHController : EventController
|
||||
{
|
||||
public sealed class KHController : EventController
|
||||
{
|
||||
private int m_ScoreInterval;
|
||||
|
||||
[Constructible]
|
||||
|
|
@ -815,10 +754,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class KHGame : EventGame
|
||||
{
|
||||
public sealed class KHGame : EventGame
|
||||
{
|
||||
private TimerExecutionToken _finishTimerToken;
|
||||
|
||||
public KHGame(KHController controller, DuelContext context) : base(context) => Controller = controller;
|
||||
|
|
@ -1256,5 +1195,4 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
_finishTimerToken.Cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class ArenasMoongate : Item
|
||||
{
|
||||
public class ArenasMoongate : Item
|
||||
{
|
||||
[Constructible]
|
||||
public ArenasMoongate() : base(0x1FD4)
|
||||
{
|
||||
|
|
@ -15,27 +17,8 @@ namespace Server.Engines.ConPVP
|
|||
Light = LightType.Circle300;
|
||||
}
|
||||
|
||||
public ArenasMoongate(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string DefaultName => "arena moongate";
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
Light = LightType.Circle300;
|
||||
}
|
||||
|
||||
public bool UseGate(Mobile from)
|
||||
{
|
||||
if (DuelContext.CheckCombat(from))
|
||||
|
|
@ -73,10 +56,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
public override bool OnMoveOver(Mobile m) => !m.Player || UseGate(m);
|
||||
}
|
||||
}
|
||||
|
||||
public class ArenaGump : Gump
|
||||
{
|
||||
public class ArenaGump : Gump
|
||||
{
|
||||
private readonly List<Arena> m_Arenas;
|
||||
private readonly Mobile m_From;
|
||||
private readonly ArenasMoongate m_Gate;
|
||||
|
|
@ -292,5 +275,4 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
m_ColumnX += width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,49 +1,23 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class LadderItem : Item
|
||||
{
|
||||
public class LadderItem : Item
|
||||
{
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
[SerializableField(0)]
|
||||
private LadderController _ladder;
|
||||
|
||||
[Constructible]
|
||||
public LadderItem() : base(0x117F) => Movable = false;
|
||||
|
||||
public LadderItem(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public LadderController Ladder { get; set; }
|
||||
|
||||
public override string DefaultName => "1v1 leaderboard";
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(1);
|
||||
|
||||
writer.Write(Ladder);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
Ladder = reader.ReadEntity<LadderController>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (from.InRange(GetWorldLocation(), 2))
|
||||
|
|
@ -60,10 +34,10 @@ namespace Server.Engines.ConPVP
|
|||
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class LadderGump : Gump
|
||||
{
|
||||
public class LadderGump : Gump
|
||||
{
|
||||
private readonly Ladder m_Ladder;
|
||||
|
||||
private readonly List<LadderEntry> m_List;
|
||||
|
|
@ -255,5 +229,4 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
m_ColumnX += width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,18 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class TournamentBracketItem : Item
|
||||
{
|
||||
public class TournamentBracketItem : Item
|
||||
{
|
||||
[SerializableField(0)]
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
private TournamentController _tournament;
|
||||
|
||||
[Constructible]
|
||||
public TournamentBracketItem() : base(3774) => Movable = false;
|
||||
|
||||
public TournamentBracketItem(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public TournamentController Tournament { get; set; }
|
||||
|
||||
public override string DefaultName => "tournament bracket";
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
|
|
@ -32,30 +31,4 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write(Tournament);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
Tournament = reader.ReadEntity<TournamentController>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,20 @@
|
|||
using System;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Factions;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class TournamentRegistrar : Banker
|
||||
{
|
||||
public class TournamentRegistrar : Banker
|
||||
{
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
[SerializableField(0)]
|
||||
private TournamentController _tournament;
|
||||
|
||||
[Constructible]
|
||||
public TournamentRegistrar()
|
||||
{
|
||||
Timer.StartTimer(TimeSpan.FromSeconds(30.0), TimeSpan.FromSeconds(30.0), Announce_Callback);
|
||||
}
|
||||
|
||||
public TournamentRegistrar(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public TournamentController Tournament { get; set; }
|
||||
public TournamentRegistrar() =>
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(30.0), TimeSpan.FromSeconds(30.0), Announce_Callback);
|
||||
|
||||
private void Announce_Callback()
|
||||
{
|
||||
|
|
@ -78,31 +75,9 @@ namespace Server.Engines.ConPVP
|
|||
m.EndAction(this);
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
[AfterDeserialization]
|
||||
private void AfterDeserialization()
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write(Tournament);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
Tournament = reader.ReadEntity<TournamentController>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Timer.StartTimer(TimeSpan.FromSeconds(30.0), TimeSpan.FromSeconds(30.0), Announce_Callback);
|
||||
}
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(30.0), TimeSpan.FromSeconds(30.0), Announce_Callback);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
using System.Collections.Generic;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Factions;
|
||||
using Server.Gumps;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.ConPVP
|
||||
namespace Server.Engines.ConPVP;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class TournamentSignupItem : Item
|
||||
{
|
||||
public class TournamentSignupItem : Item
|
||||
{
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
[SerializableField(0)]
|
||||
private TournamentController _tournament;
|
||||
|
||||
[SerializedCommandProperty(AccessLevel.GameMaster)]
|
||||
[SerializableField(1)]
|
||||
private Mobile _registrar;
|
||||
|
||||
[Constructible]
|
||||
public TournamentSignupItem() : base(4029) => Movable = false;
|
||||
|
||||
public TournamentSignupItem(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public TournamentController Tournament { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public Mobile Registrar { get; set; }
|
||||
|
||||
public override string DefaultName => "tournament signup book";
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
|
|
@ -37,10 +37,7 @@ namespace Server.Engines.ConPVP
|
|||
return;
|
||||
}
|
||||
|
||||
if (Registrar != null)
|
||||
{
|
||||
Registrar.Direction = Registrar.GetDirectionTo(this);
|
||||
}
|
||||
Registrar?.Direction = Registrar.GetDirectionTo(this);
|
||||
|
||||
switch (tourney.Stage)
|
||||
{
|
||||
|
|
@ -165,32 +162,4 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write(Tournament);
|
||||
writer.Write(Registrar);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
Tournament = reader.ReadEntity<TournamentController>();
|
||||
Registrar = reader.ReadEntity<Mobile>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.ArenasMoongate.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.ArenasMoongate.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.ArenasMoongate"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.BRBoard.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.BRBoard.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.BRBoard"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.BRBomb.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.BRBomb.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.BRBomb"
|
||||
}
|
||||
14
Projects/UOContent/Migrations/Server.Engines.ConPVP.BRGoal.v0.json
generated
Normal file
14
Projects/UOContent/Migrations/Server.Engines.ConPVP.BRGoal.v0.json
generated
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.BRGoal",
|
||||
"properties": [
|
||||
{
|
||||
"name": "North",
|
||||
"type": "bool",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": [
|
||||
""
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.CTFBoard.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.CTFBoard.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.CTFBoard"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.CTFFlag.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.CTFFlag.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.CTFFlag"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DDBoard.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DDBoard.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.DDBoard"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DDWayPoint.DDStep.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DDWayPoint.DDStep.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.DDWayPoint.DDStep"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DDWayPoint.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DDWayPoint.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.DDWayPoint"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DuelContext.ArenaMoongate.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DuelContext.ArenaMoongate.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.DuelContext.ArenaMoongate"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DuelContext.InternalWall.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DuelContext.InternalWall.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.DuelContext.InternalWall"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DuelTeleporterAddon.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.DuelTeleporterAddon.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.DuelTeleporterAddon"
|
||||
}
|
||||
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.EventController.v0.json
generated
Normal file
4
Projects/UOContent/Migrations/Server.Engines.ConPVP.EventController.v0.json
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.EventController"
|
||||
}
|
||||
14
Projects/UOContent/Migrations/Server.Engines.ConPVP.HillOfTheKing.v0.json
generated
Normal file
14
Projects/UOContent/Migrations/Server.Engines.ConPVP.HillOfTheKing.v0.json
generated
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.HillOfTheKing",
|
||||
"properties": [
|
||||
{
|
||||
"name": "ScoreInterval",
|
||||
"type": "int",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": [
|
||||
"EncodedInt"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.KHBoard.v0.json
generated
Normal file
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.KHBoard.v0.json
generated
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.KHBoard",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Controller",
|
||||
"type": "Server.Engines.ConPVP.KHController",
|
||||
"rule": "SerializableInterfaceMigrationRule"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.LadderItem.v0.json
generated
Normal file
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.LadderItem.v0.json
generated
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.LadderItem",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Ladder",
|
||||
"type": "Server.Engines.ConPVP.LadderController",
|
||||
"rule": "SerializableInterfaceMigrationRule"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.TournamentBracketItem.v0.json
generated
Normal file
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.TournamentBracketItem.v0.json
generated
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.TournamentBracketItem",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Tournament",
|
||||
"type": "Server.Engines.ConPVP.TournamentController",
|
||||
"rule": "SerializableInterfaceMigrationRule"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.TournamentRegistrar.v0.json
generated
Normal file
11
Projects/UOContent/Migrations/Server.Engines.ConPVP.TournamentRegistrar.v0.json
generated
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.TournamentRegistrar",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Tournament",
|
||||
"type": "Server.Engines.ConPVP.TournamentController",
|
||||
"rule": "SerializableInterfaceMigrationRule"
|
||||
}
|
||||
]
|
||||
}
|
||||
16
Projects/UOContent/Migrations/Server.Engines.ConPVP.TournamentSignupItem.v0.json
generated
Normal file
16
Projects/UOContent/Migrations/Server.Engines.ConPVP.TournamentSignupItem.v0.json
generated
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Engines.ConPVP.TournamentSignupItem",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Tournament",
|
||||
"type": "Server.Engines.ConPVP.TournamentController",
|
||||
"rule": "SerializableInterfaceMigrationRule"
|
||||
},
|
||||
{
|
||||
"name": "Registrar",
|
||||
"type": "Server.Mobile",
|
||||
"rule": "SerializableInterfaceMigrationRule"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue