## Possible Breaking Change * Reverted regions.json back to RunUO until newer regions are implemented and proper expansion checks are added. ### Other Changes - [X] Adds `Region.IsPartOf<T1, T2>()` to check for multiple types. - [X] Fixes regions.json being wrong - [X] Adds lots of missing regions. **They are not implemented properly yet** - [X] Adds regions.xml -> regions.json (check ModernUO Discord) - [X] Adds expansion specific regions.
47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using System;
|
|
using System.Xml;
|
|
using Server;
|
|
using Server.Logging;
|
|
using Server.Regions;
|
|
using Server.Mobiles;
|
|
using Server.Utilities;
|
|
|
|
namespace Server.Engines.Quests;
|
|
|
|
public class QuestOfferRegion : BaseRegion
|
|
{
|
|
private static readonly ILogger logger = LogFactory.GetLogger(typeof(QuestOfferRegion));
|
|
|
|
public QuestOfferRegion(string name, Map map, Region parent, int priority, params Rectangle3D[] area) : base(name, map, parent, priority, area)
|
|
{
|
|
}
|
|
|
|
public QuestOfferRegion(string name, Map map, Region parent, params Rectangle3D[] area) : base(name, map, parent, area)
|
|
{
|
|
}
|
|
|
|
public Type Quest { get; set; }
|
|
|
|
public override void OnEnter(Mobile m)
|
|
{
|
|
base.OnEnter(m);
|
|
|
|
if (Quest == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (m is PlayerMobile player && player.Quest == null && QuestSystem.CanOfferQuest(m, Quest))
|
|
{
|
|
try
|
|
{
|
|
QuestSystem qs = Quest.CreateInstance<QuestSystem>(player);
|
|
qs.SendOffer();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logger.Error(ex, "Error creating quest {Quest}", Quest);
|
|
}
|
|
}
|
|
}
|
|
}
|