Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,96 @@
#region References
using System;
using CustomsFramework;
using Server;
using Server.Commands;
using Server.Gumps;
using Services.Toolbar.Gumps;
#endregion
namespace Services.Toolbar.Core
{
public class ToolbarCore : BaseCore
{
public const string SystemVersion = "2.3";
public const string ReleaseDate = "October 28, 2013";
public static ToolbarCore Instance { get; private set; }
public static void Initialize()
{
Instance = World.GetCore(typeof(ToolbarCore)) as ToolbarCore ?? new ToolbarCore();
CommandHandlers.Register("Toolbar", AccessLevel.VIP, Toolbar_OnCommand);
EventSink.Login += OnLogin;
EventSink.PlayerDeath += OnPlayerDeath;
}
private static void OnLogin(LoginEventArgs e)
{
if (e.Mobile.AccessLevel >= AccessLevel.VIP)
{
SendToolbar(e.Mobile);
}
}
public static void OnPlayerDeath(PlayerDeathEventArgs e)
{
if (e.Mobile.AccessLevel < AccessLevel.VIP || e.Mobile.NetState == null)
{
return;
}
e.Mobile.CloseGump(typeof(ToolbarGump));
Timer.DelayCall(TimeSpan.FromSeconds(2.0), SendToolbar, e.Mobile);
}
[Usage("Toolbar")]
public static void Toolbar_OnCommand(CommandEventArgs e)
{
SendToolbar(e.Mobile);
}
public static void SendToolbar(Mobile m)
{
ToolbarModule module = m.GetModule(typeof(ToolbarModule)) as ToolbarModule ?? new ToolbarModule(m);
m.CloseGump(typeof(ToolbarGump));
m.SendGump(new ToolbarGump(module.ToolbarInfo, m));
}
public ToolbarCore()
{
Enabled = true;
}
public ToolbarCore(CustomSerial serial)
: base(serial)
{ }
public override string Name { get { return @"Toolbar Core"; } }
public override string Description { get { return @"Core that maintains the [Toolbar system."; } }
public override string Version { get { return SystemVersion; } }
public override AccessLevel EditLevel { get { return AccessLevel.Developer; } }
public override Gump SettingsGump { get { return null; } }
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteVersion(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,296 @@
#region References
using System.Collections.Generic;
using CustomsFramework;
using Server;
using Server.Commands;
#endregion
namespace Services.Toolbar.Core
{
public class ToolbarInfo
{
private int _Font, _Skin;
private bool _Phantom, _Stealth, _Reverse, _Lock;
private Point2D _Dimensions;
private List<string> _Entries = new List<string>();
private List<Point3D> _Points = new List<Point3D>();
public ToolbarInfo(
Point2D dimensions, List<string> entries, int skin, List<Point3D> points, int font, bool[] switches)
{
_Dimensions = dimensions;
_Entries = entries;
_Skin = skin;
_Points = points;
_Font = font;
_Phantom = switches[0];
_Stealth = switches[1];
_Reverse = switches[2];
_Lock = switches[3];
}
public int Font { get { return _Font; } set { _Font = value; } }
public int Skin { get { return _Skin; } set { _Skin = value; } }
public bool Phantom { get { return _Phantom; } set { _Phantom = value; } }
public bool Stealth { get { return _Stealth; } set { _Stealth = value; } }
public bool Reverse { get { return _Reverse; } set { _Reverse = value; } }
public bool Lock { get { return _Lock; } set { _Lock = value; } }
public int Rows { get { return _Dimensions.X; } set { _Dimensions.X = value; } }
public int Collumns { get { return _Dimensions.Y; } set { _Dimensions.Y = value; } }
public List<string> Entries { get { return _Entries; } set { _Entries = value; } }
public List<Point3D> Points { get { return _Points; } set { _Points = value; } }
public static ToolbarInfo CreateNew(Mobile from)
{
Point2D dimensions = DefaultDimensions(from.AccessLevel);
var entries = DefaultEntries(from.AccessLevel);
var points = new List<Point3D>();
for (int i = entries.Count; i <= 135; i++)
{
entries.Add("-*UNUSED*-");
}
return new ToolbarInfo(dimensions, entries, 0, points, 0, new[] {true, false, false, true});
}
public static List<string> DefaultEntries(AccessLevel level)
{
var entries = new List<string>();
switch (level)
{
case AccessLevel.Player:
{
break;
}
case AccessLevel.VIP:
{
break;
}
case AccessLevel.Counselor:
{
entries.Add(CommandSystem.Prefix + "GMBody");
entries.Add(CommandSystem.Prefix + "StaffRunebook");
entries.Add(CommandSystem.Prefix + "SpeedBoost");
entries.Add(CommandSystem.Prefix + "M Tele");
entries.Add(CommandSystem.Prefix + "Where");
entries.Add(CommandSystem.Prefix + "Who");
break;
}
case AccessLevel.Decorator:
{
entries.Add(CommandSystem.Prefix + "GMBody");
entries.Add(CommandSystem.Prefix + "StaffRunebook");
entries.Add(CommandSystem.Prefix + "SpeedBoost");
entries.Add(CommandSystem.Prefix + "M Tele");
entries.Add(CommandSystem.Prefix + "Where");
entries.Add(CommandSystem.Prefix + "Who");
for (int j = 0; j < 3; j++)
{
entries.Add("-*UNUSED*-");
}
entries.Add(CommandSystem.Prefix + "Add");
entries.Add(CommandSystem.Prefix + "Remove");
entries.Add(CommandSystem.Prefix + "Move");
entries.Add(CommandSystem.Prefix + "ShowArt");
entries.Add(CommandSystem.Prefix + "Get ItemID");
entries.Add(CommandSystem.Prefix + "Get Hue");
break;
}
case AccessLevel.Spawner:
{
entries.Add(CommandSystem.Prefix + "GMBody");
entries.Add(CommandSystem.Prefix + "StaffRunebook");
entries.Add(CommandSystem.Prefix + "SpeedBoost");
entries.Add(CommandSystem.Prefix + "M Tele");
entries.Add(CommandSystem.Prefix + "Where");
entries.Add(CommandSystem.Prefix + "Who");
for (int j = 0; j < 3; j++)
{
entries.Add("-*UNUSED*-");
}
entries.Add(CommandSystem.Prefix + "Add");
entries.Add(CommandSystem.Prefix + "Remove");
entries.Add(CommandSystem.Prefix + "XmlAdd");
entries.Add(CommandSystem.Prefix + "XmlFind");
entries.Add(CommandSystem.Prefix + "XmlShow");
entries.Add(CommandSystem.Prefix + "XmlHide");
break;
}
case AccessLevel.Seer:
case AccessLevel.GameMaster:
{
entries.Add(CommandSystem.Prefix + "GMBody");
entries.Add(CommandSystem.Prefix + "StaffRunebook");
entries.Add(CommandSystem.Prefix + "SpeedBoost");
entries.Add(CommandSystem.Prefix + "M Tele");
entries.Add(CommandSystem.Prefix + "Where");
entries.Add(CommandSystem.Prefix + "Who");
for (int j = 0; j < 3; j++)
{
entries.Add("-*UNUSED*-");
}
entries.Add(CommandSystem.Prefix + "Add");
entries.Add(CommandSystem.Prefix + "Remove");
entries.Add(CommandSystem.Prefix + "Props");
entries.Add(CommandSystem.Prefix + "Move");
entries.Add(CommandSystem.Prefix + "Kill");
entries.Add(CommandSystem.Prefix + "Follow");
break;
}
case AccessLevel.Administrator:
case AccessLevel.Developer:
case AccessLevel.CoOwner:
case AccessLevel.Owner:
{
entries.Add(CommandSystem.Prefix + "Admin");
entries.Add(CommandSystem.Prefix + "StaffRunebook");
entries.Add(CommandSystem.Prefix + "SpeedBoost");
entries.Add(CommandSystem.Prefix + "M Tele");
entries.Add(CommandSystem.Prefix + "Where");
entries.Add(CommandSystem.Prefix + "Who");
for (int j = 0; j < 3; j++)
{
entries.Add("-*UNUSED*-");
}
entries.Add(CommandSystem.Prefix + "Props");
entries.Add(CommandSystem.Prefix + "Move");
entries.Add(CommandSystem.Prefix + "Add");
entries.Add(CommandSystem.Prefix + "Remove");
entries.Add(CommandSystem.Prefix + "ViewEquip");
entries.Add(CommandSystem.Prefix + "Kill");
break;
}
}
return entries;
}
public static Point2D DefaultDimensions(AccessLevel level)
{
Point2D dimensions = new Point2D();
switch (level)
{
case AccessLevel.Player:
case AccessLevel.VIP:
{
dimensions.X = 0;
dimensions.Y = 0;
break;
}
case AccessLevel.Counselor:
{
dimensions.X = 6;
dimensions.Y = 1;
break;
}
case AccessLevel.Decorator:
case AccessLevel.Spawner:
case AccessLevel.GameMaster:
case AccessLevel.Seer:
case AccessLevel.Administrator:
case AccessLevel.Developer:
case AccessLevel.CoOwner:
case AccessLevel.Owner:
{
dimensions.X = 6;
dimensions.Y = 2;
break;
}
}
return dimensions;
}
public ToolbarInfo(GenericReader reader)
{
Deserialize(reader);
}
public void Serialize(GenericWriter writer)
{
writer.WriteVersion(0);
writer.Write(_Font);
writer.Write(_Phantom);
writer.Write(_Stealth);
writer.Write(_Reverse);
writer.Write(_Lock);
writer.Write(_Dimensions);
writer.Write(_Entries.Count);
foreach (string t in _Entries)
{
writer.Write(t);
}
writer.Write(_Skin);
writer.Write(_Points.Count);
foreach (Point3D t in _Points)
{
writer.Write(t);
}
}
private void Deserialize(GenericReader reader)
{
int version = reader.ReadInt();
_Dimensions = new Point2D();
_Entries = new List<string>();
_Points = new List<Point3D>();
switch (version)
{
case 0:
{
_Font = reader.ReadInt();
_Phantom = reader.ReadBool();
_Stealth = reader.ReadBool();
_Reverse = reader.ReadBool();
_Lock = reader.ReadBool();
_Dimensions = reader.ReadPoint2D();
int count = reader.ReadInt();
for (int i = 0; i < count; i++)
{
_Entries.Add(reader.ReadString());
}
_Skin = reader.ReadInt();
count = reader.ReadInt();
for (int i = 0; i < count; i++)
{
_Points.Add(reader.ReadPoint3D());
}
break;
}
}
}
}
}

View File

@@ -0,0 +1,65 @@
#region References
using System;
using CustomsFramework;
using Server;
using Services.Toolbar.Core;
#endregion
namespace Services.Toolbar
{
public class ToolbarModule : BaseModule
{
private ToolbarInfo _ToolbarInfo;
public ToolbarModule(Mobile from)
: base(from)
{
_ToolbarInfo = ToolbarInfo.CreateNew(from);
}
public ToolbarModule(CustomSerial serial)
: base(serial)
{ }
public override string Name
{
get { return LinkedMobile != null ? String.Format(@"Toolbar Module - {0}", LinkedMobile.Name) : @"Unlinked Toolbar Module"; }
}
public override string Version { get { return ToolbarCore.SystemVersion; } }
public override AccessLevel EditLevel { get { return AccessLevel.Developer; } }
[CommandProperty(AccessLevel.Developer)]
public ToolbarInfo ToolbarInfo { get { return _ToolbarInfo; } set { _ToolbarInfo = value; } }
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.WriteVersion(0);
// Version 0
_ToolbarInfo.Serialize(writer);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 0:
{
_ToolbarInfo = new ToolbarInfo(reader);
break;
}
}
}
}
}