Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
141
Scripts/Services/Expansions/High Seas/Multis/GalleonHold.cs
Normal file
141
Scripts/Services/Expansions/High Seas/Multis/GalleonHold.cs
Normal file
@@ -0,0 +1,141 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Multis;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GalleonHold : Container, IGalleonFixture
|
||||
{
|
||||
public override int LabelNumber { get { return 1149699; } } // cargo hold
|
||||
public override bool ForceShowProperties { get { return true; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public BaseGalleon Galleon { get; set; }
|
||||
|
||||
public override int DefaultMaxWeight
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Galleon is BritannianShip)
|
||||
return 28000;
|
||||
else if (Galleon is GargishGalleon)
|
||||
return 12000;
|
||||
else if (Galleon is OrcishGalleon)
|
||||
return 14000;
|
||||
else
|
||||
return 16000;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IsDecoContainer { get { return false; } }
|
||||
|
||||
public override Rectangle2D Bounds { get { return new Rectangle2D(46, 74, 150, 110); } }
|
||||
public override int DefaultGumpID { get { return 0x4C; } }
|
||||
public override int DefaultDropSound { get { return 0x42; } }
|
||||
|
||||
public GalleonHold(BaseGalleon galleon, int itemID) : base(itemID)
|
||||
{
|
||||
Galleon = galleon;
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (Galleon == null || from.AccessLevel > AccessLevel.Player)
|
||||
{
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
else if (!Galleon.Contains(from))
|
||||
{
|
||||
if (Galleon.TillerMan != null)
|
||||
Galleon.TillerManSay(502490); // You must be on the ship to open the hold.
|
||||
}
|
||||
else if (Galleon.Owner is PlayerMobile && !Galleon.Scuttled && Galleon.GetSecurityLevel(from) < SecurityLevel.Officer)
|
||||
{
|
||||
from.Say(1010436); // You do not have permission to do this.
|
||||
}
|
||||
else
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public GalleonHold(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
reader.ReadItem();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class HoldItem : Item, IGalleonFixture
|
||||
{
|
||||
public override int LabelNumber { get { return 1149699; } } // cargo hold
|
||||
public override bool ForceShowProperties { get { return true; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public BaseGalleon Galleon { get; set; }
|
||||
|
||||
public HoldItem(BaseGalleon g, int itemid)
|
||||
: base(itemid)
|
||||
{
|
||||
Galleon = g;
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (Galleon == null || Galleon.GalleonHold == null || !from.InRange(Location, 2))
|
||||
return;
|
||||
|
||||
Galleon.GalleonHold.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
if (Galleon != null && Galleon.GalleonHold != null)
|
||||
{
|
||||
var hold = Galleon.GalleonHold;
|
||||
list.Add(1072241, String.Format("{0}\t{1}\t{2}\t{3}", hold.TotalItems, hold.MaxItems, hold.TotalWeight, hold.MaxWeight)); // Contents: ~1_COUNT~/~2_MAXCOUNT~ items, ~3_WEIGHT~/~4_MAXWEIGHT~ stones
|
||||
}
|
||||
}
|
||||
|
||||
public HoldItem(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user