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,109 @@
using System;
using Server.Mobiles;
namespace Server.Engines.XmlSpawner2
{
public class XmlIsEnemy : XmlAttachment
{
private string m_TestString = null;// Test condition to see if mobile is an enemy of the object this is attached to
public XmlIsEnemy(ASerial serial)
: base(serial)
{
}
[Attachable]
public XmlIsEnemy()
{
this.Test = String.Empty;
}
[Attachable]
public XmlIsEnemy(string name)
{
this.Name = name;
this.Test = String.Empty;
}
[Attachable]
public XmlIsEnemy(string name, string test)
{
this.Name = name;
this.Test = test;
}
[Attachable]
public XmlIsEnemy(string name, string test, double expiresin)
{
this.Name = name;
this.Test = test;
this.Expiration = TimeSpan.FromMinutes(expiresin);
}
[CommandProperty(AccessLevel.GameMaster)]
public string Test
{
get
{
return this.m_TestString;
}
set
{
this.m_TestString = value;
}
}
public bool IsEnemy(Mobile from)
{
if (from == null)
return false;
bool isenemy = false;
// test the condition if there is one
if (this.Test != null && this.Test.Length > 0)
{
string status_str;
isenemy = BaseXmlSpawner.CheckPropertyString(null, this.AttachedTo, this.Test, from, out status_str);
}
return isenemy;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
// version 0
writer.Write(this.m_TestString);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 0:
this.m_TestString = reader.ReadString();
break;
}
}
public override string OnIdentify(Mobile from)
{
if (from == null || from.AccessLevel < AccessLevel.Counselor)
return null;
if (this.Expiration > TimeSpan.Zero)
{
return String.Format("{0}: IsEnemy '{1}' expires in {2} mins", this.Name, this.Test, this.Expiration.TotalMinutes);
}
else
{
return String.Format("{0}: IsEnemy '{1}'", this.Name, this.Test);
}
}
}
}