// Guard by DaZiL
// I give most of the credit to Daat99, for helping me do the target criminal/murder part.
// if you have a problem email me , [email protected]
// Moded by Greystar to make it so that it attacked criminals and reintroduced by Rebirah
// Help was given by Murzin and Kwwres10
using System;
using System.Collections;
using Server.Misc;
using Server.Items;
using Server.Mobiles;
namespace Server.Mobiles
{
public class Guards : BaseCreature
{
public override double GetValueFrom( Mobile m, FightMode acqType, bool bPlayerOnly )
{
bPlayerOnly = false;
return base.GetValueFrom(m, acqType, bPlayerOnly);
}
[Constructable]
public Guards() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Title = "the guard";
SpeechHue = Utility.RandomDyedHue();
Hue = Utility.RandomSkinHue();
if ( Female = Utility.RandomBool() )
{
Body = 401;
Name = NameList.RandomName( "female" );
AddItem( new Halberd() );
switch( Utility.Random( 2 ) )
{
case 0: AddItem( new LeatherSkirt() ); break;
case 1: AddItem( new LeatherShorts() ); break;
}
switch( Utility.Random( 5 ) )
{
case 0: AddItem( new FemaleLeatherChest() ); break;
case 1: AddItem( new FemaleStuddedChest() ); break;
case 2: AddItem( new LeatherBustierArms() ); break;
case 3: AddItem( new StuddedBustierArms() ); break;
case 4: AddItem( new FemalePlateChest() ); break;
}
SetStr( 86, 100 );
SetDex( 81, 95 );
SetInt( 61, 75 );
SetDamage( 30, 45 );
SetSkill( SkillName.MagicResist, 30.0, 47.5 );
SetSkill( SkillName.Swords, 100.0, 100.0 );
SetSkill( SkillName.Tactics, 65.0, 87.5 );
SetSkill( SkillName.Wrestling, 50.0, 75.5 );
}
else
{
Body = 400;
Name = NameList.RandomName( "male" );
AddItem( new PlateChest() );
AddItem( new PlateArms() );
AddItem( new PlateLegs() );
AddItem( new Halberd() );
switch( Utility.Random( 3 ) )
{
case 0: AddItem( new Doublet( Utility.RandomNondyedHue() ) ); break;
case 1: AddItem( new Tunic( Utility.RandomNondyedHue() ) ); break;
case 2: AddItem( new BodySash( Utility.RandomNondyedHue() ) ); break;
}
SetStr( 86, 100 );
SetDex( 81, 95 );
SetInt( 61, 75 );
SetDamage( 30, 45 );
SetSkill( SkillName.MagicResist, 30.0, 47.5 );
SetSkill( SkillName.Swords, 100.0, 100.0 );
SetSkill( SkillName.Tactics, 65.0, 87.5 );
SetSkill( SkillName.Wrestling, 50.0, 75.5 );
}
}
public override bool IsEnemy( Mobile m )
{
OppositionGroup g = this.OppositionGroup;
if ( g != null && g.IsEnemy( this, m ) )
return true;
if ( m != null && ( m.Criminal == true ) )
return true;
BaseCreature c = (BaseCreature)m;
if ( !(c is BaseCreature && !c.Controled) || c is Server.Engines.Quests.Haven.MilitiaFighter )
return false;
return true;
}
public Guards( 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 );
int version = reader.ReadInt();
}
}
}