Files
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

460 lines
11 KiB
C#

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();
}
}
}