Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
98
Scripts/Services/ViceVsVirtue/Items/Rewards/MorphEarrings.cs
Normal file
98
Scripts/Services/ViceVsVirtue/Items/Rewards/MorphEarrings.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using Server;
|
||||
using System.Collections.Generic;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
using Server.Factions;
|
||||
using Server.Engines.VvV;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[TypeAlias("Server.Engines.VvV.MorphEarrings")]
|
||||
public class MorphEarrings : GoldEarrings
|
||||
{
|
||||
public override int LabelNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
return 1094746; // Morph Earrings
|
||||
}
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public MorphEarrings()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnRemoved(object parent)
|
||||
{
|
||||
base.OnRemoved(parent);
|
||||
|
||||
if (parent is Mobile)
|
||||
{
|
||||
ValidateEquipment((Mobile)parent);
|
||||
}
|
||||
}
|
||||
|
||||
private void ValidateEquipment(Mobile m)
|
||||
{
|
||||
if (m == null)
|
||||
return;
|
||||
|
||||
Race race = m.Race;
|
||||
bool didDrop = false;
|
||||
|
||||
List<Item> list = new List<Item>(m.Items);
|
||||
|
||||
foreach (Item item in list)
|
||||
{
|
||||
bool drop = false;
|
||||
|
||||
if (item is BaseArmor && ((BaseArmor)item).RequiredRace != null && ((BaseArmor)item).RequiredRace != race)
|
||||
drop = true;
|
||||
else if (item is BaseWeapon && ((BaseWeapon)item).RequiredRace != null && ((BaseWeapon)item).RequiredRace != race)
|
||||
drop = true;
|
||||
else if (item is BaseJewel && ((BaseJewel)item).RequiredRace != null && ((BaseJewel)item).RequiredRace != race)
|
||||
drop = true;
|
||||
else if (item is BaseClothing && ((BaseClothing)item).RequiredRace != null && ((BaseClothing)item).RequiredRace != race)
|
||||
drop = true;
|
||||
|
||||
if (drop)
|
||||
{
|
||||
if (!didDrop)
|
||||
didDrop = true;
|
||||
|
||||
if (m.Backpack == null || !m.Backpack.TryDropItem(m, item, false))
|
||||
{
|
||||
m.BankBox.DropItem(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ColUtility.Free(list);
|
||||
|
||||
if (didDrop)
|
||||
m.SendLocalizedMessage(500647); // Some equipment has been moved to your backpack.
|
||||
}
|
||||
|
||||
public MorphEarrings(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(1);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && ViceVsVirtueSystem.Enabled)
|
||||
Timer.DelayCall(() => ViceVsVirtueSystem.Instance.AddVvVItem(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user