#W# Initial Commit: Avatars Conquest

This commit is contained in:
WarrentyExpired 2026-07-03 20:19:48 -04:00
commit 8eae46895e
7512 changed files with 416187 additions and 0 deletions

View file

@ -0,0 +1,116 @@
using System;
using System.Collections;
using Server;
using Server.Network;
namespace Server.Items
{
public class BaseShield : BaseArmor
{
public override ArmorMaterialType MaterialType{ get{ return ArmorMaterialType.Plate; } }
public BaseShield( int itemID ) : base( itemID )
{
}
public BaseShield( Serial serial ) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 );//version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override double ArmorRating
{
get
{
Mobile m = this.Parent as Mobile;
double ar = base.ArmorRating;
if ( m != null )
return ( ( m.Skills[SkillName.Parry].Value * ar ) / 200.0 ) + 1.0;
else
return ar;
}
}
public override int OnHit( BaseWeapon weapon, int damage )
{
Mobile owner = this.Parent as Mobile;
if( owner == null )
return damage;
double ar = this.ArmorRating;
double chance = (owner.Skills[SkillName.Parry].Value - (ar * 2.0)) / 100.0;
if( chance < 0.01 )
chance = 0.01;
/*
FORMULA: Displayed AR = ((Parrying Skill * Base AR of Shield) ÷ 200) + 1
FORMULA: % Chance of Blocking = parry skill - (shieldAR * 2)
FORMULA: Melee Damage Absorbed = (AR of Shield) / 2 | Archery Damage Absorbed = AR of Shield
*/
if( owner.CheckSkill( SkillName.Parry, chance ) )
{
if( weapon.Skill == SkillName.Archery )
damage -= (int)ar;
else
damage -= (int)(ar / 2.0);
if( damage < 0 )
damage = 0;
owner.FixedEffect( 0x37B9, 10, 16 );
if( 25 > Utility.Random( 100 ) ) // 25% chance to lower durability
{
int wear = Utility.Random( 2 );
if( wear > 0 && MaxHitPoints > 0 )
{
if( HitPoints >= wear )
{
HitPoints -= wear;
wear = 0;
}
else
{
wear -= HitPoints;
HitPoints = 0;
}
if( wear > 0 )
{
if( MaxHitPoints > wear )
{
MaxHitPoints -= wear;
if( Parent is Mobile )
((Mobile)Parent).LocalOverheadMessage( MessageType.Regular, 0x3B2, 1061121 ); // Your equipment is severely damaged.
}
else
{
Delete();
}
}
}
}
}
return damage;
}
}
}

View file

@ -0,0 +1,37 @@
using System;
using Server;
namespace Server.Items
{
public class BronzeShield : BaseShield
{
public override int InitMinHits{ get{ return 25; } }
public override int InitMaxHits{ get{ return 30; } }
public override int ArmorBase{ get{ return 10; } }
[Constructable]
public BronzeShield() : base( 0x1B72 )
{
Weight = 6.0;
}
public BronzeShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,37 @@
using System;
using Server;
namespace Server.Items
{
public class Buckler : BaseShield
{
public override int InitMinHits{ get{ return 40; } }
public override int InitMaxHits{ get{ return 50; } }
public override int ArmorBase{ get{ return 7; } }
[Constructable]
public Buckler() : base( 0x1B73 )
{
Weight = 5.0;
}
public Buckler( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,37 @@
using System;
using Server;
namespace Server.Items
{
public class ChaosShield : BaseShield
{
public override int InitMinHits{ get{ return 100; } }
public override int InitMaxHits{ get{ return 125; } }
public override int ArmorBase{ get{ return 32; } }
[Constructable]
public ChaosShield() : base( 0x1BC3 )
{
Weight = 5.0;
}
public ChaosShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,37 @@
using System;
using Server;
namespace Server.Items
{
public class HeaterShield : BaseShield
{
public override int InitMinHits{ get{ return 50; } }
public override int InitMaxHits{ get{ return 65; } }
public override int ArmorBase{ get{ return 23; } }
[Constructable]
public HeaterShield() : base( 0x1B76 )
{
Weight = 8.0;
}
public HeaterShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,50 @@
using System;
using Server;
namespace Server.Items
{
public class MetalKiteShield : BaseShield, IDyable
{
public override int InitMinHits{ get{ return 45; } }
public override int InitMaxHits{ get{ return 60; } }
public override int ArmorBase{ get{ return 16; } }
[Constructable]
public MetalKiteShield() : base( 0x1B74 )
{
Weight = 7.0;
}
public MetalKiteShield( Serial serial ) : base(serial)
{
}
public bool Dye( Mobile from, DyeTub sender )
{
if ( Deleted )
return false;
Hue = sender.DyedHue;
return true;
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
if ( Weight == 5.0 )
Weight = 7.0;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,37 @@
using System;
using Server;
namespace Server.Items
{
public class MetalShield : BaseShield
{
public override int InitMinHits{ get{ return 50; } }
public override int InitMaxHits{ get{ return 65; } }
public override int ArmorBase{ get{ return 11; } }
[Constructable]
public MetalShield() : base( 0x1B7B )
{
Weight = 6.0;
}
public MetalShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,37 @@
using System;
using Server;
namespace Server.Items
{
public class OrderShield : BaseShield
{
public override int InitMinHits{ get{ return 100; } }
public override int InitMaxHits{ get{ return 125; } }
public override int ArmorBase{ get{ return 30; } }
[Constructable]
public OrderShield() : base( 0x1BC4 )
{
Weight = 7.0;
}
public OrderShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,43 @@
using System;
using Server;
namespace Server.Items
{
public class WoodenKiteShield : BaseShield
{
public override int InitMinHits{ get{ return 50; } }
public override int InitMaxHits{ get{ return 65; } }
public override int ArmorBase{ get{ return 12; } }
public override ArmorMaterialType MaterialType{ get{ return ArmorMaterialType.Wood; } }
public override CraftResource DefaultResource{ get{ return CraftResource.Wooden; } }
[Constructable]
public WoodenKiteShield() : base( 0x1B79 )
{
Weight = 5.0;
}
public WoodenKiteShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
if ( Weight == 7.0 )
Weight = 5.0;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}

View file

@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class WoodenShield : BaseShield
{
public override int InitMinHits{ get{ return 20; } }
public override int InitMaxHits{ get{ return 25; } }
public override int ArmorBase{ get{ return 8; } }
public override ArmorMaterialType MaterialType{ get{ return ArmorMaterialType.Wood; } }
public override CraftResource DefaultResource{ get{ return CraftResource.Wooden; } }
[Constructable]
public WoodenShield() : base( 0x1B7A )
{
Weight = 5.0;
}
public WoodenShield( Serial serial ) : base(serial)
{
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int)0 );//version
}
}
}