Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
128
Scripts/Scripts-master/Quests/DantesQuest/DanteQuest.cs
Normal file
128
Scripts/Scripts-master/Quests/DantesQuest/DanteQuest.cs
Normal file
@@ -0,0 +1,128 @@
|
||||
// Created by Malice_Molaka
|
||||
// For script support contact Malice at Malice_Molaka@hotmail.com
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server.ContextMenus;
|
||||
using Server.Gumps;
|
||||
using Server.Misc;
|
||||
using Server.Network;
|
||||
using Server.Spells;
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName("Dante's Corpse")]
|
||||
public class Dante : Mobile
|
||||
{
|
||||
public virtual bool IsInvulnerable { get { return true; } }
|
||||
[Constructable]
|
||||
public Dante()
|
||||
{
|
||||
|
||||
// STR/DEX/INT
|
||||
InitStats(31, 41, 51);
|
||||
|
||||
// name
|
||||
Name = "Dante";
|
||||
|
||||
Body = 0x190;
|
||||
|
||||
// immortal and frozen to-the-spot features below:
|
||||
Blessed = true;
|
||||
CantWalk = false;
|
||||
|
||||
// Adding a backpack
|
||||
Container pack = new Backpack();
|
||||
pack.DropItem(new Gold(250, 300));
|
||||
pack.Movable = false;
|
||||
AddItem(pack);
|
||||
|
||||
|
||||
LeatherChest Chest = new LeatherChest();
|
||||
Chest.Movable = false;
|
||||
AddItem(Chest);
|
||||
|
||||
LeatherGorget Neck = new LeatherGorget();
|
||||
Neck.Movable = false;
|
||||
AddItem(Neck);
|
||||
|
||||
LeatherArms Arms = new LeatherArms();
|
||||
Arms.Movable = false;
|
||||
AddItem(Arms);
|
||||
|
||||
LeatherLegs Legs = new LeatherLegs();
|
||||
Legs.Movable = false;
|
||||
AddItem(Legs);
|
||||
|
||||
LeatherGloves Gloves = new LeatherGloves();
|
||||
Gloves.Movable = false;
|
||||
AddItem(Gloves);
|
||||
|
||||
FloppyHat Helm = new FloppyHat();
|
||||
Helm.Movable = false;
|
||||
AddItem(Helm);
|
||||
}
|
||||
|
||||
public Dante(Serial serial) : base(serial) { }
|
||||
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
|
||||
{ base.GetContextMenuEntries(from, list); list.Add(new DanteEntry(from, this)); }
|
||||
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int)0); }
|
||||
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); }
|
||||
public class DanteEntry : ContextMenuEntry
|
||||
{
|
||||
private Mobile m_Mobile; private Mobile m_Giver;
|
||||
public DanteEntry(Mobile from, Mobile giver) : base(6146, 3) { m_Mobile = from; m_Giver = giver; }
|
||||
public override void OnClick()
|
||||
{
|
||||
if (!(m_Mobile is PlayerMobile)) return;
|
||||
PlayerMobile mobile = (PlayerMobile)m_Mobile;
|
||||
{
|
||||
|
||||
// gump name
|
||||
if (!mobile.HasGump(typeof(DanteQuestGump)))
|
||||
{
|
||||
mobile.SendGump(new DanteQuestGump(mobile));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public override bool OnDragDrop(Mobile from, Item dropped)
|
||||
{
|
||||
Mobile m = from; PlayerMobile mobile = m as PlayerMobile;
|
||||
if (mobile != null)
|
||||
{
|
||||
|
||||
// item to be dropped
|
||||
if (dropped is DantesInks)
|
||||
{
|
||||
if (dropped.Amount != 5)
|
||||
{ this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "That is not the right amount!", mobile.NetState); return false; }
|
||||
dropped.Delete();
|
||||
|
||||
// the reward
|
||||
mobile.AddToBackpack(new Gold(2000));
|
||||
{
|
||||
if (1 > Utility.RandomDouble()) // 1 = 100% = chance to drop
|
||||
switch (Utility.Random(3))
|
||||
{
|
||||
|
||||
case 0: mobile.AddToBackpack(new DantesEarrings()); break;
|
||||
case 1: mobile.AddToBackpack(new DantesRing()); break;
|
||||
case 2: mobile.AddToBackpack(new DantesBracelet()); break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
// thanks message
|
||||
this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "Hurry Back!! I have many pages to write.", mobile.NetState);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (dropped is Whip) { this.PrivateOverheadMessage(MessageType.Regular, 1153, 1054071, mobile.NetState); return false; } else { this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "I have no need for this...", mobile.NetState); }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
46
Scripts/Scripts-master/Quests/DantesQuest/DanteQuestGump.cs
Normal file
46
Scripts/Scripts-master/Quests/DantesQuest/DanteQuestGump.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Commands;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
namespace Server.Gumps
|
||||
{
|
||||
public class DanteQuestGump : Gump
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
CommandSystem.Register("DanteQuestGump", AccessLevel.GameMaster, new CommandEventHandler(DanteQuestGump_OnCommand));
|
||||
}
|
||||
private static void DanteQuestGump_OnCommand(CommandEventArgs e)
|
||||
{
|
||||
e.Mobile.SendGump(new DanteQuestGump(e.Mobile));
|
||||
}
|
||||
public DanteQuestGump(Mobile owner) : base(50, 50)
|
||||
{
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
AddPage(0); AddImageTiled(54, 33, 369, 400, 2624); AddAlphaRegion(54, 33, 369, 400); AddImageTiled(416, 39, 44, 389, 203);
|
||||
//--------------------------------------Window size bar--------------------------------------------
|
||||
AddImage(97, 49, 9005); AddImageTiled(58, 39, 29, 390, 10460); AddImageTiled(412, 37, 31, 389, 10460);
|
||||
AddLabel(140, 60, 0x34, "The Stolen Inks");
|
||||
//----------------------/----------------------------------------------/
|
||||
AddHtml(107, 140, 300, 230, " < BODY > " +
|
||||
"<BASEFONT COLOR=YELLOW>Greetings Traveler.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Sorry to bother you but I need a little help.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>I was robbed of my inks and need them to finish illustrating my book.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>You see I have just returned from the underworld and am writing a book about my adventures there.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>If you could find them and bring some of them back,<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>bring five inks and, I'll reward you with some <BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>jewelry I found, I have three different pieces.Drop the inks on your player to stack them.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>Last I saw my inks was right before I was attacked by some brigands outside of Cove.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW>That will teach me teach me to travel in unguarded.<BR>" +
|
||||
"<BASEFONT COLOR=YELLOW><BR>" +
|
||||
"</BODY>", false, true);
|
||||
//----------------------/----------------------------------------------/
|
||||
AddImage(430, 9, 10441); AddImageTiled(40, 38, 17, 391, 9263); AddImage(6, 25, 10421); AddImage(34, 12, 10420); AddImageTiled(94, 25, 342, 15, 10304); AddImageTiled(40, 427, 415, 16, 10304); AddImage(-10, 314, 10402); AddImage(56, 150, 10411); AddImage(155, 120, 2103); AddImage(136, 84, 96); AddButton(225, 390, 0xF7, 0xF8, 0, GumpButtonType.Reply, 0);
|
||||
}
|
||||
//----------------------/----------------------------------------------/
|
||||
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; switch (info.ButtonID) { case 0: { break; } } }
|
||||
}
|
||||
}
|
||||
56
Scripts/Scripts-master/Quests/DantesQuest/DantesBracelet.cs
Normal file
56
Scripts/Scripts-master/Quests/DantesQuest/DantesBracelet.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DantesBracelet : GoldBracelet
|
||||
{
|
||||
|
||||
public override int ArtifactRarity{ get{ return 21; } }
|
||||
|
||||
[Constructable]
|
||||
public DantesBracelet()
|
||||
{
|
||||
Name = "Dantes Bracelet";
|
||||
Hue = 468;
|
||||
|
||||
|
||||
Attributes.LowerManaCost = 10;
|
||||
Attributes.DefendChance = 10;
|
||||
Attributes.Luck = 180;
|
||||
Attributes.BonusMana = 5;
|
||||
Attributes.BonusHits = 25;
|
||||
Attributes.BonusStam = 5;
|
||||
Attributes.RegenHits = 1;
|
||||
Attributes.RegenMana = 1;
|
||||
Attributes.RegenStam = 1;
|
||||
Attributes.CastRecovery = 3;
|
||||
Attributes.CastSpeed = 2;
|
||||
Resistances.Energy = 5;
|
||||
Resistances.Fire = 5;
|
||||
Resistances.Cold = 5;
|
||||
Resistances.Poison = 5;
|
||||
Resistances.Physical = 5;
|
||||
SkillBonuses.SetValues( 0, SkillName.Magery, 10.0 );
|
||||
|
||||
}
|
||||
|
||||
public DantesBracelet( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
98
Scripts/Scripts-master/Quests/DantesQuest/DantesBrigands.cs
Normal file
98
Scripts/Scripts-master/Quests/DantesQuest/DantesBrigands.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Server.Items;
|
||||
using Server.ContextMenus;
|
||||
using Server.Misc;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a brigand corpse" )]
|
||||
public class DantesBrigands : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public DantesBrigands() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
SpeechHue = Utility.RandomDyedHue();
|
||||
Title = ", the Brigand";
|
||||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
AddItem( new Skirt( Utility.RandomRedHue() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
AddItem( new ShortPants( Utility.RandomRedHue() ) );
|
||||
}
|
||||
|
||||
SetStr( 386, 464 );
|
||||
SetDex( 251, 265 );
|
||||
SetInt( 361, 375 );
|
||||
|
||||
SetHits( 4800 );
|
||||
|
||||
SetDamage( 28, 32 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 35, 45 );
|
||||
SetResistance( ResistanceType.Fire, 25, 30 );
|
||||
SetResistance( ResistanceType.Cold, 25, 30 );
|
||||
SetResistance( ResistanceType.Poison, 10, 20 );
|
||||
SetResistance( ResistanceType.Energy, 10, 20 );
|
||||
|
||||
SetSkill( SkillName.Anatomy, 125.0 );
|
||||
SetSkill( SkillName.Fencing, 46.0, 77.5 );
|
||||
SetSkill( SkillName.Macing, 35.0, 57.5 );
|
||||
SetSkill( SkillName.Poisoning, 60.0, 82.5 );
|
||||
SetSkill( SkillName.MagicResist, 113.5, 142.5 );
|
||||
SetSkill( SkillName.Swords, 125.0 );
|
||||
SetSkill( SkillName.Tactics, 125.0 );
|
||||
SetSkill( SkillName.Lumberjacking, 125.0 );
|
||||
|
||||
Fame = 25000;
|
||||
Karma = -25000;
|
||||
|
||||
VirtualArmor = 50;
|
||||
|
||||
AddItem( new ThighBoots( Utility.RandomRedHue() ) );
|
||||
AddItem( new Surcoat( Utility.RandomRedHue() ) );
|
||||
AddItem( new Axe());
|
||||
|
||||
PackItem( new DantesInks());
|
||||
|
||||
Utility.AssignRandomHair( this );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
|
||||
AddLoot( LootPack.Meager );
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
|
||||
public DantesBrigands( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
56
Scripts/Scripts-master/Quests/DantesQuest/DantesEarrings.cs
Normal file
56
Scripts/Scripts-master/Quests/DantesQuest/DantesEarrings.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DantesEarrings : GoldEarrings
|
||||
{
|
||||
|
||||
public override int ArtifactRarity{ get{ return 21; } }
|
||||
|
||||
[Constructable]
|
||||
public DantesEarrings()
|
||||
{
|
||||
Name = "Dantes Earrings";
|
||||
Hue = 468;
|
||||
|
||||
|
||||
Attributes.LowerManaCost = 10;
|
||||
Attributes.DefendChance = 10;
|
||||
Attributes.Luck = 240;
|
||||
Attributes.BonusMana = 5;
|
||||
Attributes.BonusHits = 25;
|
||||
Attributes.BonusStam = 5;
|
||||
Attributes.RegenHits = 1;
|
||||
Attributes.RegenMana = 1;
|
||||
Attributes.RegenStam = 1;
|
||||
Attributes.CastRecovery = 3;
|
||||
Attributes.CastSpeed = 2;
|
||||
Resistances.Energy = 5;
|
||||
Resistances.Fire = 5;
|
||||
Resistances.Cold = 5;
|
||||
Resistances.Poison = 5;
|
||||
Resistances.Physical = 5;
|
||||
SkillBonuses.SetValues( 0, SkillName.MagicResist, 15.0 );
|
||||
|
||||
}
|
||||
|
||||
public DantesEarrings( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
69
Scripts/Scripts-master/Quests/DantesQuest/DantesInks.cs
Normal file
69
Scripts/Scripts-master/Quests/DantesQuest/DantesInks.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
// Created by Malice_Molaka
|
||||
// For Script support contact Malice at Malice_Molaka@hotmail.com
|
||||
using System;using Server;namespace Server.Items
|
||||
{
|
||||
public class DantesInks : Item
|
||||
{
|
||||
public override int LabelNumber{ get{ return 1062926; } } // I used Petal of the Rose of Trinsic as the base
|
||||
|
||||
[Constructable]
|
||||
public DantesInks() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DantesInks( int amount ) : base( 0x15FA ) // this is the itemid for the brain
|
||||
{
|
||||
Name = "Dante's Inks"; // This is the item name
|
||||
Stackable = true; // This makes the item either stackable or not
|
||||
Amount = amount;
|
||||
Hue = Utility.RandomList( 1157, 1175, 1172, 1171, 1170, 1169, 1168, 1167, 1166, 1165 );
|
||||
Weight = 3.0; // This makes the item weigh what you want it to
|
||||
}
|
||||
|
||||
public virtual bool Dye( Mobile from, DyeTub sender )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042083 ); // You can not dye that.
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042038 ); // This gives the player the message "You must have the object in your backpack to use it."
|
||||
}
|
||||
else if ( from.GetStatMod( "Brain" ) != null )
|
||||
{
|
||||
from.SendLocalizedMessage( 1062927 ); // This gives the player the message "You have eaten one of these recently and eating another would provide no benefit."
|
||||
}
|
||||
else
|
||||
{
|
||||
from.PlaySound( 0x1EE );
|
||||
from.AddStatMod( new StatMod( StatType.Int, "DantesInks", 5, TimeSpan.FromMinutes( 15.0 ) ) ); // this makes DantesInks give you 5 INT for 15 mins when eaten
|
||||
|
||||
Consume();
|
||||
}
|
||||
}
|
||||
|
||||
public DantesInks( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
56
Scripts/Scripts-master/Quests/DantesQuest/DantesRing.cs
Normal file
56
Scripts/Scripts-master/Quests/DantesQuest/DantesRing.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DantesRing : GoldRing
|
||||
{
|
||||
|
||||
public override int ArtifactRarity{ get{ return 21; } }
|
||||
|
||||
[Constructable]
|
||||
public DantesRing()
|
||||
{
|
||||
Name = "Dantes Ring";
|
||||
Hue = 468;
|
||||
|
||||
|
||||
Attributes.LowerManaCost = 10;
|
||||
Attributes.DefendChance = 10;
|
||||
Attributes.Luck = 140;
|
||||
Attributes.BonusMana = 5;
|
||||
Attributes.BonusHits = 25;
|
||||
Attributes.BonusStam = 5;
|
||||
Attributes.RegenHits = 1;
|
||||
Attributes.RegenMana = 1;
|
||||
Attributes.RegenStam = 1;
|
||||
Attributes.CastRecovery = 3;
|
||||
Attributes.CastSpeed = 2;
|
||||
Resistances.Energy = 5;
|
||||
Resistances.Fire = 5;
|
||||
Resistances.Cold = 5;
|
||||
Resistances.Poison = 5;
|
||||
Resistances.Physical = 5;
|
||||
SkillBonuses.SetValues( 0, SkillName.EvalInt, 5.0 );
|
||||
|
||||
}
|
||||
|
||||
public DantesRing( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
109
Scripts/Scripts-master/Quests/DantesQuest/DantesTeleporter.cs
Normal file
109
Scripts/Scripts-master/Quests/DantesQuest/DantesTeleporter.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using System.Collections;
|
||||
using Server.Network;
|
||||
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
|
||||
public class DantesTeleporter : Item
|
||||
{
|
||||
private Point3D m_DestLoc;
|
||||
private Map m_DestMap;
|
||||
private bool m_AllowCreatures;
|
||||
private bool m_TelePets;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public Point3D Location
|
||||
{
|
||||
get { return m_DestLoc; }
|
||||
set { m_DestLoc = value; InvalidateProperties(); }
|
||||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public Map Map
|
||||
{
|
||||
get { return m_DestMap; }
|
||||
set { m_DestMap = value; InvalidateProperties(); }
|
||||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool AllowCreatures
|
||||
{
|
||||
get { return m_AllowCreatures; }
|
||||
set { m_AllowCreatures = value; InvalidateProperties(); }
|
||||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool TelePets
|
||||
{
|
||||
get { return m_TelePets; }
|
||||
set { m_TelePets = value; InvalidateProperties(); }
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DantesTeleporter() : base( 3948 )
|
||||
{
|
||||
Visible = false;
|
||||
Hue = 1;
|
||||
Movable = false;
|
||||
Weight = 0.0;
|
||||
Name = "Dante's Teleporter";
|
||||
}
|
||||
|
||||
public DantesTeleporter( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
{
|
||||
if( !m_AllowCreatures && !m.Player )
|
||||
return true;
|
||||
|
||||
if( m.Backpack.ConsumeTotal( typeof( DantesBracelet ), 1 ) )
|
||||
|
||||
{
|
||||
if( m_TelePets )
|
||||
{
|
||||
Server.Mobiles.BaseCreature.TeleportPets( m, m_DestLoc, m_DestMap );
|
||||
}
|
||||
|
||||
m.PlaySound(0x1F7);
|
||||
m.MoveToWorld( m_DestLoc, m_DestMap );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
m.SendMessage( " You must have Dante's Bracelet if you wish to pass." );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 ); // version
|
||||
|
||||
writer.Write( m_DestLoc );
|
||||
writer.Write( m_DestMap );
|
||||
writer.Write( m_AllowCreatures );
|
||||
writer.Write( m_TelePets );
|
||||
}
|
||||
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
|
||||
m_DestLoc = reader.ReadPoint3D();
|
||||
m_DestMap = reader.ReadMap();
|
||||
m_AllowCreatures = reader.ReadBool();
|
||||
m_TelePets = reader.ReadBool();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user