ModernUO/Scripts/Items/Shields/OrderShield.cs
2018-09-14 08:41:38 -07:00

77 lines
1.6 KiB
C#

using Server.Guilds;
namespace Server.Items
{
public class OrderShield : BaseShield
{
public override int BasePhysicalResistance => 1;
public override int BaseFireResistance => 0;
public override int BaseColdResistance => 0;
public override int BasePoisonResistance => 0;
public override int BaseEnergyResistance => 0;
public override int InitMinHits => 100;
public override int InitMaxHits => 125;
public override int AosStrReq => 95;
public override int ArmorBase => 30;
[Constructible]
public OrderShield() : base( 0x1BC4 )
{
if ( !Core.AOS )
LootType = LootType.Newbied;
Weight = 7.0;
}
public OrderShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
if ( Weight == 6.0 )
Weight = 7.0;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
public override bool OnEquip( Mobile from )
{
return Validate( from ) && base.OnEquip( from );
}
public override void OnSingleClick( Mobile from )
{
if ( Validate( Parent as Mobile ) )
base.OnSingleClick( from );
}
public virtual bool Validate( Mobile m )
{
if ( Core.AOS || m == null || !m.Player || m.AccessLevel != AccessLevel.Player )
return true;
if ( !(m.Guild is Guild g) || g.Type != GuildType.Order )
{
m.FixedEffect( 0x3728, 10, 13 );
Delete();
return false;
}
return true;
}
}
}