Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
460
Scripts/Quests/Eodon/MyrmidexThreat/Items/QuestItems.cs
Normal file
460
Scripts/Quests/Eodon/MyrmidexThreat/Items/QuestItems.cs
Normal file
@@ -0,0 +1,460 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Engines.Quests;
|
||||
using Server.Mobiles;
|
||||
using System.Collections.Generic;
|
||||
using Server.Network;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HiddenTreasuresTreasureMap : TreasureMap
|
||||
{
|
||||
[Constructable]
|
||||
public HiddenTreasuresTreasureMap() : this(2, GetMap())
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public HiddenTreasuresTreasureMap(int level, Map map)
|
||||
: base(level, map)
|
||||
{
|
||||
}
|
||||
|
||||
public HiddenTreasuresTreasureMap(int level, Map map, Point2D location)
|
||||
{
|
||||
Level = level;
|
||||
Facet = map;
|
||||
ChestLocation = location;
|
||||
}
|
||||
|
||||
private static Map GetMap()
|
||||
{
|
||||
switch (Utility.Random(6))
|
||||
{
|
||||
default:
|
||||
case 0: return Map.Ilshenar;
|
||||
case 1: return Map.Malas;
|
||||
case 2: return Map.Tokuno;
|
||||
case 3: return Map.TerMur;
|
||||
case 4: return Map.Trammel;
|
||||
case 5: return Map.Felucca;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnMapComplete(Mobile from, TreasureMapChest chest)
|
||||
{
|
||||
base.OnMapComplete(from, chest);
|
||||
|
||||
if(chest != null)
|
||||
chest.DropItem(new StasisChamberActivator());
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
list.Add(1156811); // *A Special Map Thought to Lead to Lost Kotl Technology*
|
||||
}
|
||||
|
||||
public HiddenTreasuresTreasureMap(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class SaltySeaMIB : MessageInABottle
|
||||
{
|
||||
[Constructable]
|
||||
public SaltySeaMIB() : this(Utility.RandomBool() ? Map.Trammel : Map.Felucca, 3)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public SaltySeaMIB(Map map, int level)
|
||||
: base(map, level)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if ( from.InRange( GetWorldLocation(), 2 ) && from.InLOS( this ) )
|
||||
{
|
||||
Container cont = Parent as Container;
|
||||
SOS sos = new SaltySeaSOS(TargetMap, Level);
|
||||
Consume();
|
||||
|
||||
if( cont != null )
|
||||
cont.AddItem(sos);
|
||||
else
|
||||
sos.MoveToWorld(this.Location, this.Map);
|
||||
|
||||
from.LocalOverheadMessage( Network.MessageType.Regular, 0x3B2, 501891 ); // You extract the message from the bottle.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1019045); // I can't reach that.
|
||||
}
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
list.Add(1156806); // *Coordinates to a Shipwreck thought to have Lost Kotl Technology*
|
||||
}
|
||||
|
||||
public SaltySeaMIB(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class SaltySeaSOS : SOS
|
||||
{
|
||||
[Constructable]
|
||||
public SaltySeaSOS(Map map, int level) : base(map, level)
|
||||
{
|
||||
//AssignLocation();
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
list.Add(1156806); // *Coordinates to a Shipwreck thought to have Lost Kotl Technology*
|
||||
}
|
||||
|
||||
public override void OnSOSComplete(Container chest)
|
||||
{
|
||||
base.OnSOSComplete(chest);
|
||||
|
||||
if(chest != null)
|
||||
chest.DropItem(new StasisChamberRegulator());
|
||||
}
|
||||
|
||||
public SaltySeaSOS(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MyrmidexIdol : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156823; } } // Idol of Zipactriotl
|
||||
|
||||
private static Point3D _Destination = new Point3D(896, 2304, 45);
|
||||
|
||||
public MyrmidexIdol() : base(39453)
|
||||
{
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if(!(from is PlayerMobile))
|
||||
return;
|
||||
|
||||
DestructionOfZipactriotlQuest q = QuestHelper.GetQuest((PlayerMobile)from, typeof(DestructionOfZipactriotlQuest)) as DestructionOfZipactriotlQuest;
|
||||
|
||||
if(q != null || from.AccessLevel > AccessLevel.Player)
|
||||
{
|
||||
BaseCreature.TeleportPets(from, _Destination, Map.TerMur);
|
||||
from.MoveToWorld(_Destination, Map.TerMur);
|
||||
|
||||
Effects.SendLocationParticles( EffectItem.Create( from.Location, Map.TerMur, EffectItem.DefaultDuration ), 0x3728, 10, 10, 2023 );
|
||||
Effects.SendLocationParticles( EffectItem.Create( _Destination, Map.TerMur, EffectItem.DefaultDuration ), 0x3728, 10, 10, 5023 );
|
||||
|
||||
from.PlaySound( 0x1FE );
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(1156841); // You must be on the "Destruction of Zipactriotl" quest to enter. Visit the Barrabian Tinker in the Barrab village to the Southwest.
|
||||
}
|
||||
|
||||
public MyrmidexIdol(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class StasisChamberPowerCore : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156623; } }
|
||||
|
||||
[Constructable]
|
||||
public StasisChamberPowerCore()
|
||||
: base(40155)
|
||||
{
|
||||
}
|
||||
|
||||
public StasisChamberPowerCore(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class StasisChamberActivator : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156624; } }
|
||||
|
||||
[Constructable]
|
||||
public StasisChamberActivator()
|
||||
: base(40158)
|
||||
{
|
||||
}
|
||||
|
||||
public StasisChamberActivator(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class StasisChamberRegulator : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156626; } }
|
||||
|
||||
[Constructable]
|
||||
public StasisChamberRegulator()
|
||||
: base(40157)
|
||||
{
|
||||
}
|
||||
|
||||
public StasisChamberRegulator(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class StasisChamberStator : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156628; } }
|
||||
|
||||
[Constructable]
|
||||
public StasisChamberStator()
|
||||
: base(40156)
|
||||
{
|
||||
}
|
||||
|
||||
public StasisChamberStator(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class BottledMyrmidexPheromone : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156620; } }
|
||||
|
||||
[Constructable]
|
||||
public BottledMyrmidexPheromone()
|
||||
: base(3836)
|
||||
{
|
||||
}
|
||||
|
||||
public BottledMyrmidexPheromone(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class BottleOfConcentratedInsecticide : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156617; } }
|
||||
|
||||
[Constructable]
|
||||
public BottleOfConcentratedInsecticide()
|
||||
: base(22344)
|
||||
{
|
||||
}
|
||||
|
||||
public BottleOfConcentratedInsecticide(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MyrmidexPopulationReport : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156775; } }
|
||||
|
||||
[Constructable]
|
||||
public MyrmidexPopulationReport()
|
||||
: base(18098)
|
||||
{
|
||||
Hue = 467;
|
||||
}
|
||||
|
||||
public MyrmidexPopulationReport(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class UnabridgedAtlasOfEodon : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156721; } } // Unabridged Atlas of Eodon
|
||||
|
||||
[Constructable]
|
||||
public UnabridgedAtlasOfEodon()
|
||||
: base(7185)
|
||||
{
|
||||
Hue = 2007;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile m)
|
||||
{
|
||||
if (IsChildOf(m.Backpack))
|
||||
{
|
||||
Gump g = new Gump(100, 50);
|
||||
g.AddImage(0, 0, 30236);
|
||||
g.AddHtmlLocalized(115, 35, 350, 600, 1156723, 1, false, true);
|
||||
|
||||
m.SendGump(g);
|
||||
}
|
||||
}
|
||||
|
||||
public UnabridgedAtlasOfEodon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
436
Scripts/Quests/Eodon/MyrmidexThreat/Items/Rewards.cs
Normal file
436
Scripts/Quests/Eodon/MyrmidexThreat/Items/Rewards.cs
Normal file
@@ -0,0 +1,436 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Gumps;
|
||||
using System.Collections.Generic;
|
||||
using Server.Engines.Quests;
|
||||
using Server.Network;
|
||||
using Server.ContextMenus;
|
||||
using Server.Multis;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MyrmidexRewardBag : Backpack
|
||||
{
|
||||
public MyrmidexRewardBag()
|
||||
{
|
||||
Hue = BaseReward.RewardBagHue();
|
||||
|
||||
switch (Utility.Random(4))
|
||||
{
|
||||
default:
|
||||
case 0: DropItem(new RecipeScroll(Utility.RandomMinMax(900, 905))); break;
|
||||
case 1: DropItem(new EodonTribeRewardTitleToken()); break;
|
||||
case 2: DropItem(new RecipeScroll(455)); break;
|
||||
case 3: DropItem(new MoonstoneCrystal()); break;
|
||||
}
|
||||
}
|
||||
|
||||
public MyrmidexRewardBag(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class EodonianRewardBag : Backpack
|
||||
{
|
||||
public EodonianRewardBag()
|
||||
{
|
||||
Hue = BaseReward.RewardBagHue();
|
||||
|
||||
switch (Utility.Random(4))
|
||||
{
|
||||
default:
|
||||
case 0: DropItem(new MonsterStatuette(MonsterStatuetteType.SakkhranBirdOfPrey)); break;
|
||||
case 1: DropItem(new EodonTribeRewardTitleToken()); break;
|
||||
case 2: DropItem(new RecipeScroll(1000)); break;
|
||||
case 3:
|
||||
if (0.5 > Utility.RandomDouble())
|
||||
DropItem(new RawMoonstoneLargeAddonDeed());
|
||||
else
|
||||
DropItem(new RawMoonstoneSmallAddonDeed());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public EodonianRewardBag(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MoonstoneCrystal : Item, ISecurable
|
||||
{
|
||||
public static Dictionary<int, Point3D> Locations { get; set; }
|
||||
private SecureLevel m_SecureLevel;
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
Locations = new Dictionary<int, Point3D>();
|
||||
|
||||
Locations[1156705] = new Point3D(715, 1866, 40); // Eodon Moongate
|
||||
Locations[1156706] = new Point3D(642, 1721, 40); // Barako Village
|
||||
Locations[1156707] = new Point3D(701, 2106, 40); // Jukari Village
|
||||
Locations[1156708] = new Point3D(355, 1873, 0); // Kurak Village
|
||||
Locations[1156709] = new Point3D(552, 1471, 40); // Sakkhra Village
|
||||
Locations[1156710] = new Point3D(412, 1595, 40); // Urali Village
|
||||
Locations[1156711] = new Point3D(167, 1800, 80); // Barrab Village
|
||||
Locations[1156712] = new Point3D(929, 2016, 50); // Shadowguard
|
||||
Locations[1156713] = new Point3D(731, 1603, 40); // The great ape cave
|
||||
Locations[1156714] = new Point3D(878, 2105, 40); // The Volcano
|
||||
Locations[1156715] = new Point3D(390, 1690, 40); // Dragon Turtle Habitat
|
||||
Locations[1156716] = new Point3D(269, 1726, 80); // Britannian Encampment
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public SecureLevel Level
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_SecureLevel;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_SecureLevel = value;
|
||||
}
|
||||
}
|
||||
|
||||
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
|
||||
{
|
||||
base.GetContextMenuEntries(from, list);
|
||||
SetSecureLevelEntry.AddTo(from, this, list);
|
||||
}
|
||||
|
||||
public override int LabelNumber { get { return 1124143; } } // Moonstone Crystal
|
||||
|
||||
[Constructable]
|
||||
public MoonstoneCrystal() : base(0x9CBB)
|
||||
{
|
||||
Weight = 10;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if((IsLockedDown || IsSecure) && from.InRange(GetWorldLocation(), 2))
|
||||
{
|
||||
from.SendGump(new InternalGump(from as PlayerMobile, this));
|
||||
}
|
||||
else if (!from.InRange(GetWorldLocation(), 2))
|
||||
{
|
||||
from.SendLocalizedMessage(500295); // You are too far away to do that.
|
||||
}
|
||||
else
|
||||
from.SendLocalizedMessage(502692); // This must be in a house and be locked down to work.
|
||||
}
|
||||
|
||||
private class InternalGump : Gump
|
||||
{
|
||||
public Item Moonstone { get; set; }
|
||||
public PlayerMobile User { get; set; }
|
||||
|
||||
public InternalGump(PlayerMobile pm, Item moonstone) : base(75, 75)
|
||||
{
|
||||
Moonstone = moonstone;
|
||||
User = pm;
|
||||
|
||||
AddGumpLayout();
|
||||
}
|
||||
|
||||
public void AddGumpLayout()
|
||||
{
|
||||
AddBackground( 0, 0, 400, 400, 9270 );
|
||||
|
||||
AddHtmlLocalized( 0, 15, 400, 16, 1154645, "#1156704", 0xFFFF, false, false ); // Select your destination:
|
||||
|
||||
ColUtility.For<int, Point3D>(MoonstoneCrystal.Locations, (i, key, value) =>
|
||||
{
|
||||
AddHtmlLocalized(60, 45 + (i * 25), 250, 16, key, 0xFFFF, false, false);
|
||||
AddButton(20, 50 + (i * 25), 2117, 2118, key, GumpButtonType.Reply, 0);
|
||||
});
|
||||
}
|
||||
|
||||
public override void OnResponse(NetState state, RelayInfo info)
|
||||
{
|
||||
if (info.ButtonID > 0)
|
||||
{
|
||||
int id = info.ButtonID;
|
||||
|
||||
if (MoonstoneCrystal.Locations.ContainsKey(id))
|
||||
{
|
||||
Point3D p = MoonstoneCrystal.Locations[id];
|
||||
|
||||
if (CheckTravel(p))
|
||||
{
|
||||
BaseCreature.TeleportPets(User, p, Map.TerMur);
|
||||
User.Combatant = null;
|
||||
User.Warmode = false;
|
||||
User.Hidden = true;
|
||||
|
||||
User.MoveToWorld(p, Map.TerMur);
|
||||
|
||||
Effects.PlaySound(p, Map.TerMur, 0x1FE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool CheckTravel(Point3D p)
|
||||
{
|
||||
if ( !User.InRange( Moonstone.GetWorldLocation(), 2 ) || User.Map != Moonstone.Map )
|
||||
{
|
||||
User.SendLocalizedMessage( 500295 ); // You are too far away to do that.
|
||||
}
|
||||
else if ( User.Murderer )
|
||||
{
|
||||
User.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
|
||||
}
|
||||
else if ( Server.Factions.Sigil.ExistsOn( User ) )
|
||||
{
|
||||
User.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
|
||||
}
|
||||
else if ( User.Criminal )
|
||||
{
|
||||
User.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
|
||||
}
|
||||
else if ( Server.Spells.SpellHelper.CheckCombat( User ) )
|
||||
{
|
||||
User.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
|
||||
}
|
||||
else if ( User.Spell != null )
|
||||
{
|
||||
User.SendLocalizedMessage( 1049616 ); // You are too busy to do that at the moment.
|
||||
}
|
||||
else if ( User.Map == Map.TerMur && User.InRange( p, 1 ) )
|
||||
{
|
||||
User.SendLocalizedMessage( 1019003 ); // You are already there.
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public MoonstoneCrystal(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
writer.Write((int)this.m_SecureLevel); // At first, need to save world with this line before next starting.
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
this.m_SecureLevel = (SecureLevel)reader.ReadInt(); // If you have not saved world with above line in Serialize(), you should not add this line.
|
||||
}
|
||||
}
|
||||
|
||||
[TypeAlias("Server.Items.KotlPowerCoil")]
|
||||
public class KotlPowerCore : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1124179; } } // Kotl Power Core
|
||||
|
||||
[Constructable]
|
||||
public KotlPowerCore() : base(40147)
|
||||
{
|
||||
}
|
||||
|
||||
public KotlPowerCore(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
[Flipable(40253, 40252)]
|
||||
public class EodonianWallMap : Item
|
||||
{
|
||||
public override int LabelNumber { get { return 1156690; } } // Wall Map of Eodon
|
||||
|
||||
[Constructable]
|
||||
public EodonianWallMap()
|
||||
: base(40253)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if(from.InRange(GetWorldLocation(), 5))
|
||||
{
|
||||
Gump g = new Gump(0, 0);
|
||||
g.AddImage(0, 0, 49999);
|
||||
|
||||
from.SendGump(g);
|
||||
}
|
||||
}
|
||||
|
||||
public EodonianWallMap(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class RawMoonstoneLargeAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new RawMoonstoneLargeAddonDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public RawMoonstoneLargeAddon()
|
||||
{
|
||||
AddComponent(new LocalizedAddonComponent(40129, 1124130), 0, 0, 0);
|
||||
}
|
||||
|
||||
public RawMoonstoneLargeAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class RawMoonstoneLargeAddonDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new RawMoonstoneLargeAddon(); } }
|
||||
|
||||
public override int LabelNumber { get { return 1156703; } }
|
||||
|
||||
[Constructable]
|
||||
public RawMoonstoneLargeAddonDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public RawMoonstoneLargeAddonDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class RawMoonstoneSmallAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new RawMoonstoneSmallAddonDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public RawMoonstoneSmallAddon()
|
||||
{
|
||||
AddComponent(new LocalizedAddonComponent(40136, 1124130), 0, 0, 0);
|
||||
}
|
||||
|
||||
public RawMoonstoneSmallAddon(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class RawMoonstoneSmallAddonDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new RawMoonstoneSmallAddon(); } }
|
||||
|
||||
public override int LabelNumber { get { return 1156702; } }
|
||||
|
||||
[Constructable]
|
||||
public RawMoonstoneSmallAddonDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public RawMoonstoneSmallAddonDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
87
Scripts/Quests/Eodon/MyrmidexThreat/Items/Teleporter.cs
Normal file
87
Scripts/Quests/Eodon/MyrmidexThreat/Items/Teleporter.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Engines.MyrmidexInvasion;
|
||||
using Server.Engines.Quests;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MyrmidexPitTeleporter : Teleporter
|
||||
{
|
||||
public Allegiance Allegiance { get; set; }
|
||||
|
||||
[Constructable]
|
||||
public MyrmidexPitTeleporter(Allegiance allegiance, Point3D dest, Map map)
|
||||
: base(dest, map)
|
||||
{
|
||||
Allegiance = allegiance;
|
||||
}
|
||||
|
||||
public override bool OnMoveOver(Mobile m)
|
||||
{
|
||||
if (MyrmidexInvasionSystem.IsAlliedWith(m, Allegiance) || m.AccessLevel > AccessLevel.Player)
|
||||
return base.OnMoveOver(m);
|
||||
|
||||
m.SendLocalizedMessage(Allegiance == Allegiance.Myrmidex ? 1156838 : 1156839); // You must ally yourself to the Eodonians to enter.
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public MyrmidexPitTeleporter(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write((int)Allegiance);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
|
||||
Allegiance = (Allegiance)reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MyrmidexQueenTeleporter : Teleporter
|
||||
{
|
||||
[Constructable]
|
||||
public MyrmidexQueenTeleporter(Point3D p, Map map)
|
||||
: base(p, map)
|
||||
{
|
||||
}
|
||||
|
||||
public override bool OnMoveOver(Mobile from)
|
||||
{
|
||||
if ((from is PlayerMobile && QuestHelper.GetQuest((PlayerMobile)from, typeof(InsecticideAndRegicideQuest)) != null) || from.AccessLevel > AccessLevel.Player)
|
||||
return base.OnMoveOver(from);
|
||||
|
||||
from.SendLocalizedMessage(1156840); // You must be on the "Insecticide & Regicide" quest to enter. Visit Professor Rafkin in Sir Geoffrey's camp to the East.
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public MyrmidexQueenTeleporter(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user