#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.
This commit is contained in:
parent
b51c58f514
commit
3045c83799
3512 changed files with 627673 additions and 0 deletions
164
Scripts/Engines/Quests/The Summoning/Mobiles/Victoria.cs
Normal file
164
Scripts/Engines/Quests/The Summoning/Mobiles/Victoria.cs
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
using Server.ContextMenus;
|
||||
using Server.Engines.Quests;
|
||||
using Server.Engines.Quests.Necro;
|
||||
|
||||
namespace Server.Engines.Quests.Doom
|
||||
{
|
||||
public class Victoria : BaseQuester
|
||||
{
|
||||
public override int TalkNumber{ get{ return 6159; } } // Ask about Chyloth
|
||||
public override bool ClickTitle{ get{ return true; } }
|
||||
public override bool IsActiveVendor{ get{ return true; } }
|
||||
public override bool DisallowAllMoves{ get{ return false; } }
|
||||
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
m_SBInfos.Add( new SBMage() );
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public Victoria() : base( "the Sorceress" )
|
||||
{
|
||||
}
|
||||
|
||||
public Victoria( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void InitBody()
|
||||
{
|
||||
InitStats( 100, 100, 25 );
|
||||
|
||||
Female = true;
|
||||
Hue = 0x8835;
|
||||
Body = 0x191;
|
||||
|
||||
Name = "Victoria";
|
||||
}
|
||||
|
||||
private SummoningAltar m_Altar;
|
||||
|
||||
private const int AltarRange = 24;
|
||||
|
||||
public SummoningAltar Altar
|
||||
{
|
||||
get
|
||||
{
|
||||
if ( m_Altar == null || m_Altar.Deleted || m_Altar.Map != this.Map || !Utility.InRange( m_Altar.Location, this.Location, AltarRange ) )
|
||||
{
|
||||
foreach ( Item item in GetItemsInRange( AltarRange ) )
|
||||
{
|
||||
if ( item is SummoningAltar )
|
||||
{
|
||||
m_Altar = (SummoningAltar)item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return m_Altar;
|
||||
}
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
EquipItem( new GrandGrimoire() );
|
||||
|
||||
EquipItem( SetHue( new Sandals(), 0x455 ) );
|
||||
EquipItem( SetHue( new SkullCap(), 0x455 ) );
|
||||
EquipItem( SetHue( new PlainDress(), 0x455 ) );
|
||||
|
||||
HairItemID = 0x203C;
|
||||
HairHue = 0x482;
|
||||
}
|
||||
|
||||
public override bool OnDragDrop( Mobile from, Item dropped )
|
||||
{
|
||||
PlayerMobile player = from as PlayerMobile;
|
||||
|
||||
if ( player != null )
|
||||
{
|
||||
QuestSystem qs = player.Quest;
|
||||
|
||||
if ( qs is TheSummoningQuest )
|
||||
{
|
||||
if ( dropped is DaemonBone )
|
||||
{
|
||||
DaemonBone bones = (DaemonBone)dropped;
|
||||
|
||||
QuestObjective obj = qs.FindObjective( typeof( CollectBonesObjective ) );
|
||||
|
||||
if ( obj != null && !obj.Completed )
|
||||
{
|
||||
int need = obj.MaxProgress - obj.CurProgress;
|
||||
|
||||
if ( bones.Amount < need )
|
||||
{
|
||||
obj.CurProgress += bones.Amount;
|
||||
bones.Delete();
|
||||
|
||||
qs.ShowQuestLogUpdated();
|
||||
}
|
||||
else
|
||||
{
|
||||
obj.Complete();
|
||||
bones.Consume( need );
|
||||
|
||||
if ( !bones.Deleted )
|
||||
{
|
||||
// TODO: Accurate?
|
||||
SayTo( from, 1050038 ); // You have already given me all the Daemon bones necessary to weave the spell. Keep these for a later time.
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO: Accurate?
|
||||
SayTo( from, 1050038 ); // You have already given me all the Daemon bones necessary to weave the spell. Keep these for a later time.
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return base.OnDragDrop( from, dropped );
|
||||
}
|
||||
|
||||
public override bool CanTalkTo( PlayerMobile to )
|
||||
{
|
||||
return ( to.Quest == null && QuestSystem.CanOfferQuest( to, typeof( TheSummoningQuest ) ) );
|
||||
}
|
||||
|
||||
public override void OnTalk( PlayerMobile player, bool contextMenu )
|
||||
{
|
||||
QuestSystem qs = player.Quest;
|
||||
|
||||
if ( qs == null && QuestSystem.CanOfferQuest( player, typeof( TheSummoningQuest ) ) )
|
||||
{
|
||||
Direction = GetDirectionTo( player );
|
||||
new TheSummoningQuest( this, player ).SendOffer();
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue