Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
25
Projects/Scripts/Engines/MLQuests/Rewards/BaseReward.cs
Normal file
25
Projects/Scripts/Engines/MLQuests/Rewards/BaseReward.cs
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
using System.Collections.Generic;
|
||||
using Server.Gumps;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.MLQuests.Rewards
|
||||
{
|
||||
public abstract class BaseReward
|
||||
{
|
||||
public BaseReward(TextDefinition name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
|
||||
public TextDefinition Name{ get; set; }
|
||||
|
||||
protected virtual int LabelHeight => 16;
|
||||
|
||||
public void WriteToGump(Gump g, int x, ref int y)
|
||||
{
|
||||
TextDefinition.AddHtmlText(g, x, y, 280, LabelHeight, Name, false, false, 0x15F90, 0xBDE784);
|
||||
}
|
||||
|
||||
public abstract void AddRewardItems(PlayerMobile pm, List<Item> rewards);
|
||||
}
|
||||
}
|
||||
19
Projects/Scripts/Engines/MLQuests/Rewards/DummyReward.cs
Normal file
19
Projects/Scripts/Engines/MLQuests/Rewards/DummyReward.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using System.Collections.Generic;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.MLQuests.Rewards
|
||||
{
|
||||
public class DummyReward : BaseReward
|
||||
{
|
||||
public DummyReward(TextDefinition name)
|
||||
: base(name)
|
||||
{
|
||||
}
|
||||
|
||||
protected override int LabelHeight => 180;
|
||||
|
||||
public override void AddRewardItems(PlayerMobile pm, List<Item> rewards)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
98
Projects/Scripts/Engines/MLQuests/Rewards/ItemReward.cs
Normal file
98
Projects/Scripts/Engines/MLQuests/Rewards/ItemReward.cs
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.Engines.MLQuests.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.MLQuests.Rewards
|
||||
{
|
||||
public class ItemReward : BaseReward
|
||||
{
|
||||
public static readonly ItemReward
|
||||
SmallBagOfTrinkets = new ItemReward(1072268, typeof(SmallBagOfTrinkets)); // A small bag of trinkets.
|
||||
|
||||
public static readonly ItemReward
|
||||
BagOfTrinkets = new ItemReward(1072341, typeof(BagOfTrinkets)); // A bag of trinkets.
|
||||
|
||||
public static readonly ItemReward
|
||||
BagOfTreasure = new ItemReward(1072583, typeof(BagOfTreasure)); // A bag of treasure.
|
||||
|
||||
public static readonly ItemReward
|
||||
LargeBagOfTreasure = new ItemReward(1072706, typeof(LargeBagOfTreasure)); // A large bag of treasure.
|
||||
|
||||
public static readonly ItemReward Strongbox = new ItemReward(1072584, typeof(RewardStrongbox)); // A strongbox.
|
||||
|
||||
public static readonly ItemReward
|
||||
TailorSatchel = new ItemReward(1074282, typeof(TailorSatchel)); // Craftsman's Satchel
|
||||
|
||||
public static readonly ItemReward
|
||||
BlacksmithSatchel = new ItemReward(1074282, typeof(BlacksmithSatchel)); // Craftsman's Satchel
|
||||
|
||||
public static readonly ItemReward
|
||||
FletchingSatchel = new ItemReward(1074282, typeof(FletchingSatchel)); // Craftsman's Satchel
|
||||
|
||||
public static readonly ItemReward
|
||||
CarpentrySatchel = new ItemReward(1074282, typeof(CarpentrySatchel)); // Craftsman's Satchel
|
||||
|
||||
public static readonly ItemReward
|
||||
TinkerSatchel = new ItemReward(1074282, typeof(TinkerSatchel)); // Craftsman's Satchel
|
||||
|
||||
private int m_Amount;
|
||||
|
||||
private Type m_Type;
|
||||
|
||||
public ItemReward(TextDefinition name = null, Type type = null, int amount = 1)
|
||||
: base(name)
|
||||
{
|
||||
m_Type = type;
|
||||
m_Amount = amount;
|
||||
}
|
||||
|
||||
public virtual Item CreateItem()
|
||||
{
|
||||
Item spawnedItem = null;
|
||||
|
||||
try
|
||||
{
|
||||
spawnedItem = Activator.CreateInstance(m_Type) as Item;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
if (MLQuestSystem.Debug)
|
||||
Console.WriteLine("WARNING: ItemReward.CreateItem failed for {0}: {1}", m_Type, e);
|
||||
}
|
||||
|
||||
return spawnedItem;
|
||||
}
|
||||
|
||||
public override void AddRewardItems(PlayerMobile pm, List<Item> rewards)
|
||||
{
|
||||
Item reward = CreateItem();
|
||||
|
||||
if (reward == null)
|
||||
return;
|
||||
|
||||
if (reward.Stackable)
|
||||
{
|
||||
if (m_Amount > 1)
|
||||
reward.Amount = m_Amount;
|
||||
|
||||
rewards.Add(reward);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < m_Amount; ++i)
|
||||
{
|
||||
rewards.Add(reward);
|
||||
|
||||
if (i < m_Amount - 1)
|
||||
{
|
||||
reward = CreateItem();
|
||||
|
||||
if (reward == null)
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue