Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Quests;
|
||||
using Server.Multis;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BindingPole : Item, IGalleonFixture
|
||||
{
|
||||
private BaseQuest m_Quest;
|
||||
private BaseGalleon m_Galleon;
|
||||
|
||||
public BaseQuest Quest
|
||||
{
|
||||
get { return m_Quest; }
|
||||
set { m_Quest = value; }
|
||||
}
|
||||
|
||||
public BaseGalleon Galleon
|
||||
{
|
||||
get { return m_Galleon; }
|
||||
set { m_Galleon = value; }
|
||||
}
|
||||
|
||||
public override int LabelNumber { get { return 1116718; } }
|
||||
|
||||
public override void Delete()
|
||||
{
|
||||
base.Delete();
|
||||
|
||||
if (m_Quest != null)
|
||||
m_Quest.OnResign(false);
|
||||
|
||||
if (m_Galleon != null)
|
||||
m_Galleon.RemoveFixture(this);
|
||||
}
|
||||
|
||||
public BindingPole(BaseQuest quest) : base(5696)
|
||||
{
|
||||
m_Quest = quest;
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
public BindingPole(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Quests;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BindingRope : Item
|
||||
{
|
||||
private Mobile m_BoundMobile;
|
||||
private ProfessionalBountyQuest m_Quest;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public Mobile BoundMobile
|
||||
{
|
||||
get { return m_BoundMobile; }
|
||||
set { m_BoundMobile = value; }
|
||||
}
|
||||
|
||||
public ProfessionalBountyQuest Quest
|
||||
{
|
||||
get { return m_Quest; }
|
||||
set { m_Quest = value; }
|
||||
}
|
||||
|
||||
public override int LabelNumber { get { return 1116717; } }
|
||||
|
||||
public BindingRope(ProfessionalBountyQuest quest) : base(5368)
|
||||
{
|
||||
m_Quest = quest;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (IsChildOf(from.Backpack) && m_BoundMobile == null)
|
||||
{
|
||||
from.Target = new InternalTarget(this);
|
||||
from.SendLocalizedMessage(1116720); //Who do you want to tie up?
|
||||
}
|
||||
}
|
||||
|
||||
public void DoDelayedDelete(Mobile from)
|
||||
{
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(2.5), new TimerStateCallback(DoDelete), from);
|
||||
}
|
||||
|
||||
public void DoDelete(object o)
|
||||
{
|
||||
Mobile from = (Mobile)o;
|
||||
|
||||
if (from != null)
|
||||
from.SendMessage("Your crew uses the rope to bind the captain to the front of your galleon.");
|
||||
|
||||
Delete();
|
||||
}
|
||||
|
||||
private class InternalTarget : Target
|
||||
{
|
||||
private BindingRope m_Rope;
|
||||
|
||||
public InternalTarget(BindingRope rope) : base(2, false, TargetFlags.None)
|
||||
{
|
||||
m_Rope = rope;
|
||||
}
|
||||
|
||||
protected override void OnTarget(Mobile from, object targeted)
|
||||
{
|
||||
if(targeted is Mobile)
|
||||
{
|
||||
if (targeted is PirateCaptain)
|
||||
{
|
||||
PirateCaptain cap = (PirateCaptain)targeted;
|
||||
|
||||
if(cap.Hits > cap.HitsMax / 10)
|
||||
{
|
||||
from.SendLocalizedMessage(1116756); //The pirate seems to have too much fight left to be bound.
|
||||
}
|
||||
else if(cap.TryBound(from, m_Rope.Quest))
|
||||
{
|
||||
m_Rope.BoundMobile = cap;
|
||||
m_Rope.Quest.OnBound(cap);
|
||||
cap.OnBound(m_Rope.Quest);
|
||||
|
||||
from.SendLocalizedMessage(1116721); //You begin binding the pirate.
|
||||
|
||||
m_Rope.DoDelayedDelete(from);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("They cannot by bound by that!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("They cannot by bound by that!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public BindingRope(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0);
|
||||
writer.Write(m_BoundMobile);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
m_BoundMobile = reader.ReadMobile();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Engines.Quests;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DeathCertificate : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1116716; } }
|
||||
|
||||
private string m_Owner;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public string Owner { get { return m_Owner; } }
|
||||
|
||||
public DeathCertificate(Mobile owner)
|
||||
: base(0x14F0)
|
||||
{
|
||||
if (owner is PirateCaptain)
|
||||
{
|
||||
PirateCaptain capt = (PirateCaptain)owner;
|
||||
|
||||
if (capt.PirateName > 0)
|
||||
m_Owner = String.Format("#{0}\t#{1}\t#{2}", capt.Adjective, capt.Noun, capt.PirateName);
|
||||
else
|
||||
m_Owner = String.Format("#{0}\t#{1}\t{2}", capt.Adjective, capt.Noun, Name);
|
||||
}
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (m_Owner != null)
|
||||
{
|
||||
list.Add(1116690, m_Owner);
|
||||
}
|
||||
}
|
||||
|
||||
public DeathCertificate(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0);
|
||||
writer.Write(m_Owner);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
m_Owner = reader.ReadString();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user