#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
8eae46895e
7512 changed files with 416187 additions and 0 deletions
116
Scripts/Items/Shields/BaseShield.cs
Normal file
116
Scripts/Items/Shields/BaseShield.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Scripts/Items/Shields/BronzeShield.cs
Normal file
37
Scripts/Items/Shields/BronzeShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Scripts/Items/Shields/Buckler.cs
Normal file
37
Scripts/Items/Shields/Buckler.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Scripts/Items/Shields/ChaosShield.cs
Normal file
37
Scripts/Items/Shields/ChaosShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Scripts/Items/Shields/HeaterShield.cs
Normal file
37
Scripts/Items/Shields/HeaterShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
50
Scripts/Items/Shields/MetalKiteShield.cs
Normal file
50
Scripts/Items/Shields/MetalKiteShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Scripts/Items/Shields/MetalShield.cs
Normal file
37
Scripts/Items/Shields/MetalShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Scripts/Items/Shields/OrderShield.cs
Normal file
37
Scripts/Items/Shields/OrderShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
43
Scripts/Items/Shields/WoodenKiteShield.cs
Normal file
43
Scripts/Items/Shields/WoodenKiteShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
40
Scripts/Items/Shields/WoodenShield.cs
Normal file
40
Scripts/Items/Shields/WoodenShield.cs
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue