servuo/Scripts/Items/Containers/RewardBackpack.cs
Dexter e0b508e409 Bug Fixes
- Tiered Quests [http://www.uoguide.com/Tier_Quests] now work per EA
- Updated Museum Reward bags and Percolem Reward backpacks per EA.
- Added Ter Mur Quests Reward Books
- Fixed issue where leather wasn't being moved to players backpack when skinned with Harvester's Blade
- Fixed issue where auction claim period would reset after a server Restart
- Pet training gains should now be more in line with EA
- Cleanup Britannia now accepts armor/weapons/shields/jewels. Points given per item resource is in line with EA. Points given for item power (loot) is probably as close as we're going to get
-

Behind the Scenes:
- Mondains Quests no longer serialize/deserialize through PlayerMobile. The system now utilizes its own Persistence for this
- Added a feature (disabled by default) to archive saves on your computer. See config under AutoSave.cfg how to enabled this
2019-07-06 11:18:00 -07:00

171 lines
4 KiB
C#

using System;
using Server.Engines.Quests;
namespace Server.Items
{
public class BaseRewardBackpack : Backpack
{
public virtual int Level { get { return 1; } }
public BaseRewardBackpack()
: base()
{
Hue = 1127;
DropItem(new Gold(Level * 2000));
DropItem(new TerMurQuestRewardBook());
int itemDrop;
switch (Level)
{
case 3: itemDrop = 5; break;
default: itemDrop = 3; break;
}
for (int i = 0; i < itemDrop; i++)
{
Item item = Loot.RandomArmorOrShieldOrWeaponOrJewelry(false, false, true);
if (item != null)
{
BaseReward.ApplyMods(item);
DropItem(item);
}
}
itemDrop = Utility.RandomMinMax(2, 3);
for (int i = 0; i < itemDrop; i++)
{
if (Level == 1)
{
DropItemStacked(Loot.RandomGem());
}
else
{
DropItemStacked(Loot.RandomRareGem());
}
}
switch (Level)
{
case 1: DropItem(new MagicalResidue(20)); break;
case 2: DropItem(new EnchantedEssence(10)); break;
case 3: DropItem(new RelicFragment()); break;
}
}
public BaseRewardBackpack(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
}
public class DustyAdventurersBackpack : BaseRewardBackpack
{
public override int LabelNumber { get { return 1113189; } } // Dusty Adventurer's Backpack
[Constructable]
public DustyAdventurersBackpack()
: base()
{
}
public DustyAdventurersBackpack(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
}
public class DustyExplorersBackpack : BaseRewardBackpack
{
public override int LabelNumber { get { return 1113190; } } // Dusty Explorer's Backpack
public override int Level { get { return 2; } }
[Constructable]
public DustyExplorersBackpack()
: base()
{
}
public DustyExplorersBackpack(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
}
public class DustyHuntersBackpack : BaseRewardBackpack
{
public override int LabelNumber { get { return 1113191; } } // Dusty Hunter's Backpack
public override int Level { get { return 3; } }
[Constructable]
public DustyHuntersBackpack()
: base()
{
}
public DustyHuntersBackpack(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
}
}