ModernUO/Projects/UOContent/Engines/Quests/Haochi's Trials/Items/HaochisKatanaGenerator.cs

66 lines
1.8 KiB
C#

using ModernUO.Serialization;
using Server.Mobiles;
namespace Server.Engines.Quests.Samurai;
[SerializationGenerator(0)]
public partial class HaochisKatanaGenerator : Item
{
[Constructible]
public HaochisKatanaGenerator() : base(0x1B7B)
{
Visible = false;
Movable = false;
}
public override string DefaultName => "Haochi's katana generator";
public override bool OnMoveOver(Mobile m)
{
if (m is not PlayerMobile player)
{
return base.OnMoveOver(m);
}
var qs = player.Quest;
if (qs is not HaochisTrialsQuest)
{
return base.OnMoveOver(m);
}
if (HaochisTrialsQuest.HasLostHaochisKatana(player))
{
var katana = new HaochisKatana();
if (!player.PlaceInBackpack(katana))
{
katana.Delete();
// You need to clear some space in your inventory to continue with the quest. Come back here when you have more space in your inventory.
player.SendLocalizedMessage(1046260);
}
}
else
{
var obj = qs.FindObjective<FifthTrialIntroObjective>();
if (obj?.Completed == false)
{
var katana = new HaochisKatana();
if (player.PlaceInBackpack(katana))
{
obj.Complete();
}
else
{
katana.Delete();
// You need to clear some space in your inventory to continue with the quest. Come back here when you have more space in your inventory.
player.SendLocalizedMessage(1046260);
}
}
}
return base.OnMoveOver(m);
}
}