Reorganizes Project (#41)

This commit is contained in:
Kamron Batman 2019-08-02 18:13:40 -07:00 • committed by GitHub
parent 08bf44af9a
commit 3614a66aee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3499 changed files with 79 additions and 55 deletions

View file

@ -0,0 +1,61 @@
using System;
using System.Linq;
using Server.Events.Halloween;
using Server.Items;
namespace Server.Engines.Events
{
public class PumpkinPatchSpawner
{
private static Timer m_Timer;
private static Rectangle2D[] m_PumpkinFields =
{
new Rectangle2D(4557, 1471, 20, 10),
new Rectangle2D(796, 2152, 36, 24),
new Rectangle2D(816, 2251, 16, 8),
new Rectangle2D(816, 2261, 16, 8),
new Rectangle2D(816, 2271, 16, 8),
new Rectangle2D(816, 2281, 16, 8),
new Rectangle2D(835, 2344, 16, 16),
new Rectangle2D(816, 2344, 16, 24)
};
public static void Initialize()
{
DateTime now = DateTime.UtcNow;
if (DateTime.UtcNow >= HolidaySettings.StartHalloween && DateTime.UtcNow <= HolidaySettings.FinishHalloween)
m_Timer = Timer.DelayCall(TimeSpan.Zero, TimeSpan.FromMinutes(.50), 0, PumpkinPatchSpawnerCallback);
}
protected static void PumpkinPatchSpawnerCallback()
{
AddPumpkin(Map.Felucca);
AddPumpkin(Map.Trammel);
}
private static void AddPumpkin(Map map)
{
for (int i = 0; i < m_PumpkinFields.Length; i++)
{
Rectangle2D rect = m_PumpkinFields[i];
int spawncount = rect.Height * rect.Width / 20;
int pumpkins = map.GetItemsInBounds(rect).OfType<HalloweenPumpkin>().Count();
if (spawncount > pumpkins)
new HalloweenPumpkin().MoveToWorld(RandomPointIn(rect, map), map);
}
}
private static Point3D RandomPointIn(Rectangle2D rect, Map map)
{
int x = Utility.Random(rect.X, rect.Width);
int y = Utility.Random(rect.Y, rect.Height);
int z = map.GetAverageZ(x, y);
return new Point3D(x, y, z);
}
}
}

View file

@ -0,0 +1,37 @@
namespace Server.Items
{
/*
first seen halloween 2009. subsequently in 2010,
2011 and 2012. GM Beggar-only Semi-Rare Treats
*/
public class CreepyCake : Food
{
[Constructible]
public CreepyCake() : base(0x9e9, 1)
{
Hue = 0x3E4;
}
public CreepyCake(Serial serial)
: base(serial)
{
}
public override string DefaultName => "Creepy Cake";
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,39 @@
namespace Server.Items
{
/*
first seen halloween 2009. subsequently in 2010,
2011 and 2012. GM Beggar-only Semi-Rare Treats
*/
public class HarvestWine : BeverageBottle
{
[Constructible]
public HarvestWine()
: base(BeverageType.Wine)
{
Hue = 0xe0;
}
public HarvestWine(Serial serial)
: base(serial)
{
}
public override string DefaultName => "Harvest Wine";
public override double DefaultWeight => 1;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,34 @@
namespace Server.Items
{
public class MrPlainsCookies : Food
{
[Constructible]
public MrPlainsCookies() : base(0x160C, 1)
{
Weight = 1.0;
FillFactor = 4;
Hue = 0xF4;
}
public MrPlainsCookies(Serial serial)
: base(serial)
{
}
public override string DefaultName => "Mr Plain's Cookies";
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,42 @@
namespace Server.Items
{
/*
first seen halloween 2009. subsequently in 2010,
2011 and 2012. GM Beggar-only Semi-Rare Treats
*/
public class MurkyMilk : Pitcher
{
[Constructible]
public MurkyMilk()
: base(BeverageType.Milk)
{
Hue = 0x3e5;
Quantity = MaxQuantity;
ItemID = Utility.RandomBool() ? 0x09F0 : 0x09AD;
}
public MurkyMilk(Serial serial)
: base(serial)
{
}
public override string DefaultName => "Murky Milk";
public override int MaxQuantity => 5;
public override double DefaultWeight => 1;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,37 @@
namespace Server.Items
{
/*
first seen halloween 2009. subsequently in 2010,
2011 and 2012. GM Beggar-only Semi-Rare Treats
*/
public class PumpkinPizza : CheesePizza
{
[Constructible]
public PumpkinPizza()
{
Hue = 0xF3;
}
public PumpkinPizza(Serial serial)
: base(serial)
{
}
public override string DefaultName => "Pumpkin Pizza";
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,37 @@
namespace Server.Items
{
/*
first seen halloween 2009. subsequently in 2010,
2011 and 2012. GM Beggar-only Semi-Rare Treats
*/
public class GrimWarning : Item
{
[Constructible]
public GrimWarning()
: base(0x42BD)
{
}
public GrimWarning(Serial serial)
: base(serial)
{
}
public override double DefaultWeight => 1;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,37 @@
namespace Server.Items
{
/*
first seen halloween 2009. subsequently in 2010,
2011 and 2012. GM Beggar-only Semi-Rare Treats
*/
public class SkullsOnPike : Item
{
[Constructible]
public SkullsOnPike()
: base(0x42B5)
{
}
public SkullsOnPike(Serial serial)
: base(serial)
{
}
public override double DefaultWeight => 1;
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}