#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
44
Scripts/Engines/Quests/Core/Regions/CancelQuestRegion.cs
Normal file
44
Scripts/Engines/Quests/Core/Regions/CancelQuestRegion.cs
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
using System;
|
||||
using System.Xml;
|
||||
using Server;
|
||||
using Server.Regions;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests
|
||||
{
|
||||
public class CancelQuestRegion : BaseRegion
|
||||
{
|
||||
private Type m_Quest;
|
||||
|
||||
public Type Quest{ get{ return m_Quest; } }
|
||||
|
||||
public CancelQuestRegion( XmlElement xml, Map map, Region parent ) : base( xml, map, parent )
|
||||
{
|
||||
ReadType( xml["quest"], "type", ref m_Quest );
|
||||
}
|
||||
|
||||
public override bool OnMoveInto( Mobile m, Direction d, Point3D newLocation, Point3D oldLocation )
|
||||
{
|
||||
if ( !base.OnMoveInto ( m, d, newLocation, oldLocation ) )
|
||||
return false;
|
||||
|
||||
if ( m.AccessLevel > AccessLevel.Player )
|
||||
return true;
|
||||
|
||||
if ( m_Quest == null )
|
||||
return true;
|
||||
|
||||
PlayerMobile player = m as PlayerMobile;
|
||||
|
||||
if ( player != null && player.Quest != null && player.Quest.GetType() == m_Quest )
|
||||
{
|
||||
if ( !player.HasGump( typeof( QuestCancelGump ) ) )
|
||||
player.Quest.BeginCancelQuest();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
using System;
|
||||
using System.Xml;
|
||||
using Server;
|
||||
using Server.Regions;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests
|
||||
{
|
||||
public class QuestCompleteObjectiveRegion : BaseRegion
|
||||
{
|
||||
private Type m_Quest;
|
||||
private Type m_Objective;
|
||||
|
||||
public Type Quest{ get{ return m_Quest ; } }
|
||||
public Type Objective{ get{ return m_Objective; } }
|
||||
|
||||
public QuestCompleteObjectiveRegion( XmlElement xml, Map map, Region parent ) : base( xml, map, parent )
|
||||
{
|
||||
XmlElement questEl = xml["quest"];
|
||||
|
||||
ReadType( questEl, "type", ref m_Quest );
|
||||
ReadType( questEl, "complete", ref m_Objective );
|
||||
}
|
||||
|
||||
public override void OnEnter( Mobile m )
|
||||
{
|
||||
base.OnEnter( m );
|
||||
|
||||
if ( m_Quest != null && m_Objective != null )
|
||||
{
|
||||
PlayerMobile player = m as PlayerMobile;
|
||||
|
||||
if ( player != null && player.Quest != null && player.Quest.GetType() == m_Quest )
|
||||
{
|
||||
QuestObjective obj = player.Quest.FindObjective( m_Objective );
|
||||
|
||||
if ( obj != null && !obj.Completed )
|
||||
obj.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
67
Scripts/Engines/Quests/Core/Regions/QuestNoEntryRegion.cs
Normal file
67
Scripts/Engines/Quests/Core/Regions/QuestNoEntryRegion.cs
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
using System;
|
||||
using System.Xml;
|
||||
using Server;
|
||||
using Server.Regions;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests
|
||||
{
|
||||
public class QuestNoEntryRegion : BaseRegion
|
||||
{
|
||||
private Type m_Quest;
|
||||
private Type m_MinObjective;
|
||||
private Type m_MaxObjective;
|
||||
private int m_Message;
|
||||
|
||||
public Type Quest{ get{ return m_Quest; } }
|
||||
public Type MinObjective{ get{ return m_MinObjective; } }
|
||||
public Type MaxObjective{ get{ return m_MaxObjective; } }
|
||||
public int Message{ get{ return m_Message; } }
|
||||
|
||||
public QuestNoEntryRegion( XmlElement xml, Map map, Region parent ) : base( xml, map, parent )
|
||||
{
|
||||
XmlElement questEl = xml["quest"];
|
||||
|
||||
ReadType( questEl, "type", ref m_Quest );
|
||||
ReadType( questEl, "min", ref m_MinObjective, false );
|
||||
ReadType( questEl, "max", ref m_MaxObjective, false );
|
||||
ReadInt32( questEl, "message", ref m_Message, false );
|
||||
}
|
||||
|
||||
public override bool OnMoveInto( Mobile m, Direction d, Point3D newLocation, Point3D oldLocation )
|
||||
{
|
||||
if ( !base.OnMoveInto ( m, d, newLocation, oldLocation ) )
|
||||
return false;
|
||||
|
||||
if ( m.AccessLevel > AccessLevel.Player )
|
||||
return true;
|
||||
|
||||
if( m is BaseCreature )
|
||||
{
|
||||
BaseCreature bc = m as BaseCreature;
|
||||
|
||||
if( !bc.Controlled && !bc.Summoned )
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( m_Quest == null )
|
||||
return true;
|
||||
|
||||
PlayerMobile player = m as PlayerMobile;
|
||||
|
||||
if ( player != null && player.Quest != null && player.Quest.GetType() == m_Quest
|
||||
&& ( m_MinObjective == null || player.Quest.FindObjective( m_MinObjective ) != null )
|
||||
&& ( m_MaxObjective == null || player.Quest.FindObjective( m_MaxObjective ) == null ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( m_Message != 0 )
|
||||
m.SendLocalizedMessage( m_Message );
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
43
Scripts/Engines/Quests/Core/Regions/QuestOfferRegion.cs
Normal file
43
Scripts/Engines/Quests/Core/Regions/QuestOfferRegion.cs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
using System;
|
||||
using System.Xml;
|
||||
using Server;
|
||||
using Server.Regions;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests
|
||||
{
|
||||
public class QuestOfferRegion : BaseRegion
|
||||
{
|
||||
private Type m_Quest;
|
||||
|
||||
public Type Quest{ get{ return m_Quest ; } }
|
||||
|
||||
public QuestOfferRegion( XmlElement xml, Map map, Region parent ) : base( xml, map, parent )
|
||||
{
|
||||
ReadType( xml["quest"], "type", ref m_Quest );
|
||||
}
|
||||
|
||||
public override void OnEnter( Mobile m )
|
||||
{
|
||||
base.OnEnter( m );
|
||||
|
||||
if ( m_Quest == null )
|
||||
return;
|
||||
|
||||
PlayerMobile player = m as PlayerMobile;
|
||||
|
||||
if ( player != null && player.Quest == null && QuestSystem.CanOfferQuest( m, m_Quest ) )
|
||||
{
|
||||
try
|
||||
{
|
||||
QuestSystem qs = (QuestSystem) Activator.CreateInstance( m_Quest, new object[] { player } );
|
||||
qs.SendOffer();
|
||||
}
|
||||
catch ( Exception ex )
|
||||
{
|
||||
Console.WriteLine( "Error creating quest {0}: {1}", m_Quest, ex );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue