149 lines
4.1 KiB
C#
149 lines
4.1 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class BlightedGroveTele : Teleporter
|
|
{
|
|
[Constructable]
|
|
public BlightedGroveTele()
|
|
: base()
|
|
{
|
|
}
|
|
|
|
public BlightedGroveTele(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public static BoneMachete GetBoneMachete(Mobile m)
|
|
{
|
|
for (int i = 0; i < m.Items.Count; i ++)
|
|
{
|
|
if (m.Items[i] is BoneMachete)
|
|
return (BoneMachete)m.Items[i];
|
|
}
|
|
|
|
if (m.Backpack != null)
|
|
return m.Backpack.FindItemByType(typeof(BoneMachete), true) as BoneMachete;
|
|
|
|
return null;
|
|
}
|
|
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
if (m.NetState == null || !m.NetState.SupportsExpansion(Expansion.ML))
|
|
{
|
|
m.SendLocalizedMessage(1072608); // You must upgrade to the Mondain's Legacy expansion in order to enter here.
|
|
return true;
|
|
}
|
|
else if (!MondainsLegacy.BlightedGrove && (int)m.AccessLevel < (int)AccessLevel.GameMaster)
|
|
{
|
|
m.SendLocalizedMessage(1042753, "Blighted Grove"); // ~1_SOMETHING~ has been temporarily disabled.
|
|
return true;
|
|
}
|
|
|
|
BoneMachete machete = GetBoneMachete(m);
|
|
|
|
if (machete != null)
|
|
{
|
|
if (0.6 > Utility.RandomDouble())
|
|
{
|
|
m.SendLocalizedMessage(1075008); // Your bone handled machete has grown dull but you still manage to force your way past the venomous branches.
|
|
}
|
|
else
|
|
{
|
|
machete.Delete();
|
|
m.SendLocalizedMessage(1075007); // Your bone handled machete snaps in half as you force your way through the poisonous undergrowth.
|
|
}
|
|
|
|
return base.OnMoveOver(m);
|
|
}
|
|
else
|
|
m.SendLocalizedMessage(1074275); // You are unable to push your way through the tangling roots of the mighty tree.
|
|
|
|
return true;
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
|
|
public class BlightedGroveTreeInTele : Teleporter
|
|
{
|
|
[Constructable]
|
|
public BlightedGroveTreeInTele()
|
|
: base()
|
|
{
|
|
}
|
|
|
|
public BlightedGroveTreeInTele(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
m.SendLocalizedMessage(1074162); // You notice a hole in the tree and climb down
|
|
return base.OnMoveOver(m);
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
|
|
public class BlightedGroveTreeOutTele : Teleporter
|
|
{
|
|
[Constructable]
|
|
public BlightedGroveTreeOutTele()
|
|
: base()
|
|
{
|
|
}
|
|
|
|
public BlightedGroveTreeOutTele(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override bool OnMoveOver(Mobile m)
|
|
{
|
|
m.SendLocalizedMessage(1074163); // You find a way to climb back outside the tree
|
|
return base.OnMoveOver(m);
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
} |