mirror of
https://github.com/runuo/runuo
synced 2026-08-11 22:26:04 -04:00
Secondary changes: - Region fixes, mainly for New Haven. - Recipe system changes. - Enabled ML craftables. - Dyeing/cutting restrictions for quest items. - Moved IsInvulnerable from BaseVendor to BaseCreature. - Moved RandomBrightHue to Utility. - Items no longer decay when attached to a spawner. - Quest item hue is now faked through packets, instead of overriding Hue. - Re-enabled item drag effects for SA clients. - Fixed AssignRandomFacialHair bug in Utility. - Added random hue comments to Utility.
71 lines
1.6 KiB
C#
71 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Server;
|
|
using Server.Mobiles;
|
|
|
|
namespace Server.Engines.MLQuests
|
|
{
|
|
public class MLQuestPersistence : Item
|
|
{
|
|
private static MLQuestPersistence m_Instance;
|
|
|
|
public static void EnsureExistence()
|
|
{
|
|
if ( m_Instance == null )
|
|
m_Instance = new MLQuestPersistence();
|
|
}
|
|
|
|
public override string DefaultName
|
|
{
|
|
get { return "ML quests persistence - Internal"; }
|
|
}
|
|
|
|
private MLQuestPersistence()
|
|
: base( 1 )
|
|
{
|
|
Movable = false;
|
|
}
|
|
|
|
public MLQuestPersistence( Serial serial ) : base( serial )
|
|
{
|
|
m_Instance = this;
|
|
}
|
|
|
|
public override void Serialize( GenericWriter writer )
|
|
{
|
|
base.Serialize( writer );
|
|
|
|
writer.Write( (int) 2 ); // version
|
|
writer.Write( MLQuestSystem.Contexts.Count );
|
|
|
|
foreach ( MLQuestContext context in MLQuestSystem.Contexts.Values )
|
|
context.Serialize( writer );
|
|
|
|
writer.Write( MLQuestSystem.Quests.Count );
|
|
|
|
foreach ( MLQuest quest in MLQuestSystem.Quests.Values )
|
|
MLQuest.Serialize( writer, quest );
|
|
}
|
|
|
|
public override void Deserialize( GenericReader reader )
|
|
{
|
|
base.Deserialize( reader );
|
|
|
|
int version = reader.ReadInt();
|
|
int contexts = reader.ReadInt();
|
|
|
|
for ( int i = 0; i < contexts; ++i )
|
|
{
|
|
MLQuestContext context = new MLQuestContext( reader, version );
|
|
|
|
if ( context.Owner != null )
|
|
MLQuestSystem.Contexts[context.Owner] = context;
|
|
}
|
|
|
|
int quests = reader.ReadInt();
|
|
|
|
for ( int i = 0; i < quests; ++i )
|
|
MLQuest.Deserialize( reader, version );
|
|
}
|
|
}
|
|
}
|