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,219 @@
using Server;
using System;
using Server.Items;
using Server.Multis;
using Server.Network;
namespace Server.Engines.Plants
{
public class RaisedGardenPlantItem : PlantItem
{
public override bool RequiresUpkeep { get { return false; } }
public override int BowlOfDirtID { get { return 2323; } }
public override int GreenBowlID
{
get
{
if (PlantStatus <= PlantStatus.Stage3)
return 0xC7E;
else
return 0xC62;
}
}
public override int ContainerLocalization { get { return 1150436; } } // mound
public override int OnPlantLocalization { get { return 1150442; } } // You plant the seed in the mound of dirt.
public override int CantUseLocalization { get { return 1150511; } } // That is not your gardening plot.
public override int LabelNumber
{
get
{
int label = base.LabelNumber;
if (label == 1029913)
label = 1022321; // dirt patch
return label;
}
}
private GardenAddonComponent m_Component;
[CommandProperty(AccessLevel.GameMaster)]
public GardenAddonComponent Component
{
get
{
if (m_Component != null)
{
if (m_Component.X != X || m_Component.Y != Y || m_Component.Map != Map || m_Component.Deleted)
m_Component = null;
}
return m_Component;
}
set
{
m_Component = value;
if (m_Component != null)
{
if (m_Component.X != X || m_Component.Y != Y || m_Component.Map != Map || m_Component.Deleted)
m_Component = null;
}
}
}
[CommandProperty(AccessLevel.GameMaster)]
public override bool ValidGrowthLocation
{
get
{
return RootParent == null && Component != null && !Movable && !Deleted;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public DateTime NextGrowth
{
get
{
if (PlantSystem != null)
return PlantSystem.NextGrowth;
return DateTime.MinValue;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public PlantGrowthIndicator GrowthIndicator
{
get
{
if (PlantSystem != null)
return PlantSystem.GrowthIndicator;
return PlantGrowthIndicator.None;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public bool ForceGrow
{
get { return false; }
set
{
if (value = true && PlantSystem != null)
{
PlantSystem.NextGrowth = DateTime.UtcNow;
PlantSystem.DoGrowthCheck();
}
}
}
[Constructable]
public RaisedGardenPlantItem() : this(false)
{
}
[Constructable]
public RaisedGardenPlantItem(bool fertileDirt) : base(2323, fertileDirt)
{
Movable = false;
}
public override void Delete()
{
if (m_Component != null && m_Component.Plant == this)
m_Component.Plant = null;
base.Delete();
}
public override void OnDoubleClick(Mobile from)
{
if (PlantStatus >= PlantStatus.DecorativePlant)
return;
Point3D loc = GetWorldLocation();
if (!from.InLOS(loc) || !from.InRange(loc, 4))
{
from.LocalOverheadMessage(MessageType.Regular, 0x3E9, 1019045); // I can't reach that.
return;
}
if (!IsUsableBy(from))
{
LabelTo(from, 1150327); // Only the house owner and co-owners can use the raised garden bed.
return;
}
from.SendGump(new MainPlantGump(this));
}
public override bool IsUsableBy(Mobile from)
{
BaseHouse house = BaseHouse.FindHouseAt(this);
return house != null && house.IsCoOwner(from) && IsAccessibleTo(from);
}
/*public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
list.Add(new RemovePlantEntry(this, IsUsableBy(from)));
}
private class RemovePlantEntry : ContextMenuEntry
{
private RaisedGardenPlantItem m_Patch;
public RemovePlantEntry(RaisedGardenPlantItem patch, bool enabled) : base(1150324, 3)
{
m_Patch = patch;
if (!enabled)
Flags |= CMEFlags.Disabled;
}
public override void OnClick()
{
if (m_Patch.Deleted)
return;
Mobile from = Owner.From;
if (from.CheckAlive())
{
from.SendLocalizedMessage(1150325); // You have removed the plant from the raised garden bed.
m_Patch.Movable = true;
if (from.Backpack != null)
from.Backpack.TryDropItem(from, m_Patch, false);
}
}
}*/
public RaisedGardenPlantItem( Serial serial ) : base( serial )
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
writer.Write(m_Component);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
m_Component = reader.ReadItem() as GardenAddonComponent;
}
}
}