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,174 @@
/*
snicker7
Released: 03/26/06
*/
using System;
using CustomsFramework;
namespace Server.Mobiles
{
public class GMEthereal : EtherealMount
{
public override int FollowerSlots { get { return 0; } }
private static readonly EtherealInfo[] EthyItemTypes = new EtherealInfo[]
{
new EtherealInfo(0x20DD, 0x3EAA), //Horse
new EtherealInfo(0x20F6, 0x3EAB), //Llama
new EtherealInfo(0x2135, 0x3EAC), //Ostard
new EtherealInfo(8501, 16035), //DesertOstard
new EtherealInfo(8502, 16036), //FrenziedOstard
new EtherealInfo(0x2615, 0x3E9A), //Ridgeback
new EtherealInfo(0x25CE, 0x3E9B), //Unicorn
new EtherealInfo(0x260F, 0x3E97), //Beetle
new EtherealInfo(0x25A0, 0x3E9C), //Kirin
new EtherealInfo(0x2619, 0x3E98), //SwampDragon
new EtherealInfo(9751, 16059), //SkeletalMount
new EtherealInfo(10090, 16020), //Hiryu
new EtherealInfo(11676, 16018), //ChargerOfTheFallen
new EtherealInfo(9658, 16051), //SeaHorse
new EtherealInfo(11669, 16016), //Chimera
new EtherealInfo(11670, 16017), //CuSidhe
new EtherealInfo(8417, 16069), //PolarBear
new EtherealInfo(0x46f8, 0x3EC6)
};
private EtherealTypes m_EthyType;
[Constructable]
public GMEthereal()
: this(EtherealTypes.Horse)
{
}
[Constructable]
public GMEthereal(EtherealTypes type)
: base(0,0,0)
{
EthyType = type;
LootType = LootType.Blessed;
Name = "Staff Ethereal Steed";
}
public GMEthereal(Serial serial)
: base(serial)
{
}
public enum EtherealTypes
{
Horse,
Llama,
Ostard,
OstardDesert,
OstardFrenzied,
Ridgeback,
Unicorn,
Beetle,
Kirin,
SwampDragon,
SkeletalHorse,
Hiryu,
ChargerOfTheFallen,
SeaHorse,
Chimera,
CuSidhe,
PolarBear,
Boura
}
[CommandProperty(AccessLevel.Counselor)]
public EtherealTypes EthyType
{
get
{
return m_EthyType;
}
set
{
if ((int)value > EthyItemTypes.Length)
return;
m_EthyType = value;
TransparentMountedID = EthyItemTypes[(int)value].MountedID;
NonTransparentMountedID = TransparentMountedID;
StatueID = EthyItemTypes[(int)value].RegularID;
}
}
public override void OnDoubleClick(Mobile from)
{
if (Utilities.IsStaff(from))
{
if (from.Mounted)
from.SendLocalizedMessage(1005583); // Please dismount first.
else if (from.Race == Race.Gargoyle)
from.SendLocalizedMessage(1112281); // gargs can't mount
else if (from.HasTrade)
from.SendLocalizedMessage(1042317, "", 0x41); // You may not ride at this time
else if (Multis.DesignContext.Check(from))
{
if (!Deleted && Rider == null && IsChildOf(from.Backpack))
{
Rider = from;
if (MountedID == 16051)
Rider.CanSwim = true;
}
}
}
else
{
from.SendMessage("This item is to only be used by staff members.");
Delete();
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1); // version
writer.Write((int)m_EthyType);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
EthyType = (EtherealTypes)reader.ReadInt();
}
public struct EtherealInfo
{
public int RegularID;
public int MountedID;
public EtherealInfo(int id, int mid)
{
RegularID = id;
MountedID = mid;
}
}
}
public class GMEthVirtual : EtherealMount
{
public GMEthVirtual(int id, int mid)
: base(id, mid, 0)
{
}
public GMEthVirtual(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
Delete();
}
}
}