ModernUO/Scripts/Engines/Quests/Uzeraan Turmoil/Items/DaemonBloodChest.cs
2006-06-15 04:14:30 +00:00

72 lines
No EOL
1.7 KiB
C#

using System;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.Engines.Quests;
namespace Server.Engines.Quests.Haven
{
public class DaemonBloodChest : MetalChest
{
[Constructable]
public DaemonBloodChest()
{
Movable = false;
}
public DaemonBloodChest( Serial serial ) : base( serial )
{
}
public override void OnDoubleClick( Mobile from )
{
PlayerMobile player = from as PlayerMobile;
if ( player != null && player.InRange( GetWorldLocation(), 2 ) )
{
QuestSystem qs = player.Quest;
if ( qs is UzeraanTurmoilQuest )
{
QuestObjective obj = qs.FindObjective( typeof( GetDaemonBloodObjective ) );
if ( (obj != null && !obj.Completed) || UzeraanTurmoilQuest.HasLostDaemonBlood( player ) )
{
Item vial = new QuestDaemonBlood();
if ( player.PlaceInBackpack( vial ) )
{
player.SendLocalizedMessage( 1049331, "", 0x22 ); // You take a vial of blood from the chest and put it in your pack.
if ( obj != null && !obj.Completed )
obj.Complete();
}
else
{
player.SendLocalizedMessage( 1049338, "", 0x22 ); // You find a vial of blood, but can't pick it up because your pack is too full. Come back when you have more room in your pack.
vial.Delete();
}
return;
}
}
}
base.OnDoubleClick( from );
}
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();
}
}
}