Adds assemblies config, fixes crash bugs. (#134)
This commit is contained in:
parent
0140eb73b4
commit
8ec166bcd0
3223 changed files with 191 additions and 191 deletions
|
|
@ -1,111 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using Server.Network;
|
||||
using Server.Regions;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class Kindling : Item
|
||||
{
|
||||
[Constructible]
|
||||
public Kindling(int amount = 1) : base(0xDE1)
|
||||
{
|
||||
Stackable = true;
|
||||
Weight = 5.0;
|
||||
Amount = amount;
|
||||
}
|
||||
|
||||
public Kindling(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (!VerifyMove(from))
|
||||
return;
|
||||
|
||||
if (!from.InRange(GetWorldLocation(), 2))
|
||||
{
|
||||
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
|
||||
return;
|
||||
}
|
||||
|
||||
Point3D fireLocation = GetFireLocation(from);
|
||||
|
||||
if (fireLocation == Point3D.Zero)
|
||||
{
|
||||
from.SendLocalizedMessage(501695); // There is not a spot nearby to place your campfire.
|
||||
}
|
||||
else if (!from.CheckSkill(SkillName.Camping, 0.0, 100.0))
|
||||
{
|
||||
from.SendLocalizedMessage(501696); // You fail to ignite the campfire.
|
||||
}
|
||||
else
|
||||
{
|
||||
Consume();
|
||||
|
||||
if (!Deleted && Parent == null)
|
||||
from.PlaceInBackpack(this);
|
||||
|
||||
new Campfire().MoveToWorld(fireLocation, from.Map);
|
||||
}
|
||||
}
|
||||
|
||||
private Point3D GetFireLocation(Mobile from)
|
||||
{
|
||||
if (from.Region.IsPartOf<DungeonRegion>())
|
||||
return Point3D.Zero;
|
||||
|
||||
if (Parent == null)
|
||||
return Location;
|
||||
|
||||
List<Point3D> list = new List<Point3D>(4);
|
||||
|
||||
AddOffsetLocation(from, 0, -1, list);
|
||||
AddOffsetLocation(from, -1, 0, list);
|
||||
AddOffsetLocation(from, 0, 1, list);
|
||||
AddOffsetLocation(from, 1, 0, list);
|
||||
|
||||
if (list.Count == 0)
|
||||
return Point3D.Zero;
|
||||
|
||||
int idx = Utility.Random(list.Count);
|
||||
return list[idx];
|
||||
}
|
||||
|
||||
private void AddOffsetLocation(Mobile from, int offsetX, int offsetY, List<Point3D> list)
|
||||
{
|
||||
Map map = from.Map;
|
||||
|
||||
int x = from.X + offsetX;
|
||||
int y = from.Y + offsetY;
|
||||
|
||||
Point3D loc = new Point3D(x, y, from.Z);
|
||||
|
||||
if (map.CanFit(loc, 1) && from.InLOS(loc))
|
||||
{
|
||||
list.Add(loc);
|
||||
}
|
||||
else
|
||||
{
|
||||
loc = new Point3D(x, y, map.GetAverageZ(x, y));
|
||||
|
||||
if (map.CanFit(loc, 1) && from.InLOS(loc))
|
||||
list.Add(loc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue