Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
120
Scripts/Mobiles/NPCs/Blackheart.cs
Normal file
120
Scripts/Mobiles/NPCs/Blackheart.cs
Normal file
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests.Hag
|
||||
{
|
||||
public class Blackheart : BaseQuester
|
||||
{
|
||||
[Constructable]
|
||||
public Blackheart()
|
||||
: base("the Drunken Pirate")
|
||||
{
|
||||
}
|
||||
|
||||
public Blackheart(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void InitBody()
|
||||
{
|
||||
this.InitStats(100, 100, 25);
|
||||
|
||||
this.Hue = 0x83EF;
|
||||
|
||||
this.Female = false;
|
||||
this.Body = 0x190;
|
||||
this.Name = "Captain Blackheart";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
{
|
||||
this.AddItem(new FancyShirt());
|
||||
this.AddItem(new LongPants(0x66D));
|
||||
this.AddItem(new ThighBoots());
|
||||
this.AddItem(new TricorneHat(0x1));
|
||||
this.AddItem(new BodySash(0x66D));
|
||||
|
||||
LeatherGloves gloves = new LeatherGloves();
|
||||
gloves.Hue = 0x66D;
|
||||
this.AddItem(gloves);
|
||||
|
||||
this.FacialHairItemID = 0x203E; // Long Beard
|
||||
this.FacialHairHue = 0x455;
|
||||
|
||||
Item sword = new Cutlass();
|
||||
sword.Movable = false;
|
||||
this.AddItem(sword);
|
||||
}
|
||||
|
||||
public override void OnTalk(PlayerMobile player, bool contextMenu)
|
||||
{
|
||||
this.Direction = this.GetDirectionTo(player);
|
||||
this.Animate(33, 20, 1, true, false, 0);
|
||||
|
||||
QuestSystem qs = player.Quest;
|
||||
|
||||
if (qs is WitchApprenticeQuest)
|
||||
{
|
||||
FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective;
|
||||
|
||||
if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.Whiskey)
|
||||
{
|
||||
this.PlaySound(Utility.RandomBool() ? 0x42E : 0x43F);
|
||||
|
||||
Item hat = player.FindItemOnLayer(Layer.Helm);
|
||||
bool tricorne = hat is TricorneHat;
|
||||
|
||||
if (tricorne && player.BAC >= 20)
|
||||
{
|
||||
obj.Complete();
|
||||
|
||||
if (obj.BlackheartMet)
|
||||
qs.AddConversation(new BlackheartPirateConversation(false));
|
||||
else
|
||||
qs.AddConversation(new BlackheartPirateConversation(true));
|
||||
}
|
||||
else if (!obj.BlackheartMet)
|
||||
{
|
||||
obj.Complete();
|
||||
|
||||
qs.AddConversation(new BlackheartFirstConversation());
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.AddConversation(new BlackheartNoPirateConversation(tricorne, player.BAC > 0));
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.PlaySound(0x42C);
|
||||
this.SayTo(player, 1055041); // The drunken pirate shakes his fist at you and goes back to drinking.
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
this.Heave();
|
||||
}
|
||||
|
||||
private void Heave()
|
||||
{
|
||||
this.PublicOverheadMessage(Network.MessageType.Regular, 0x3B2, 500849); // *hic*
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(Utility.RandomMinMax(60, 180)), new TimerCallback(Heave));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user