You can take a look in lesser hiryu,this pet requires Bushido.You can add the requeriment in a new ondoubleclick method.
using System;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName("a rotting corpse")]
public class Zombie : BaseCreature
{
[Constructable]
public Zombie()
: base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Name = "a zombie";
Body = 3;
BaseSoundID = 471;
SetStr(46, 70);
SetDex(31, 50);
SetInt(26, 40);
SetHits(28, 42);
SetDamage(3, 7);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 15, 20);
SetResistance(ResistanceType.Cold, 20, 30);
SetResistance(ResistanceType.Poison, 5, 10);
SetSkill(SkillName.MagicResist, 15.1, 40.0);
SetSkill(SkillName.Tactics, 35.1, 50.0);
SetSkill(SkillName.Wrestling, 35.1, 50.0);
Fame = 600;
Karma = -600;
VirtualArmor = 18;
if ( 0.05 > Utility.RandomDouble() )
{
switch ( Utility.Random( 12 ) )
{
case 0: PackItem( new RunicPoisonScroll() ); break;
case 1: PackItem( new ZombieSlime() ); break;
case 2: PackItem( new SkeletalRib() ); break;
case 3: PackItem( new MinorPetDexterityScroll() ); break;
case 4: PackItem( new MinorPetIntelligenceScroll() ); break;
case 5: PackItem( new MinorPetHitScroll() ); break;
case 6: PackItem( new MinorPetStrengthScroll() ); break;
case 7: PackItem( new PetBondingDeed() ); break;
case 8: PackItem( new RunicColdScroll() ); break;
case 9: PackItem( new EnchantedEmerald() ); break;
case 10: PackItem( new PowerScroll( SkillName.SpiritSpeak, 105 ) ); break;
case 11: PackItem( new NameChangeDeed() ); break;
}
}
this.Tamable = true;
this.ControlSlots = 1;
this.MinTameSkill = 5.0;
PackBodyPartOrBones();
}
public Zombie(Serial serial)
: base(serial)
{
}
public override bool BleedImmune
{
get
{
return true;
}
}
public override Poison PoisonImmune
{
get
{
return Poison.Regular;
}
}
public override TribeType Tribe { get { return TribeType.Undead; } }
public override OppositionGroup OppositionGroup
{
get
{
return OppositionGroup.FeyAndUndead;
}
}
public override void GenerateLoot()
{
AddLoot(LootPack.Meager);
}
public override bool IsEnemy(Mobile m)
{
if(Region.IsPartOf("Haven Island"))
{
return false;
}
return base.IsEnemy(m);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}
protected override void OnTarget(Mobile from, object targeted)
{
from.RevealingAction();
if (targeted is Mobile)
{
if (targeted is BaseCreature)
{
BaseCreature creature = (BaseCreature)targeted;
if (!creature.Tamable)
{
creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1049655, from.NetState);
// That creature cannot be tamed.
}
else if (creature.Controlled)
{
creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 502804, from.NetState);
// That animal looks tame already.
}
else if (from.Female && !creature.AllowFemaleTamer)
{
creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1049653, from.NetState);
// That creature can only be tamed by males.
}
else if (!from.Female && !creature.AllowMaleTamer)
{
creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1049652, from.NetState);
// That creature can only be tamed by females.
}
else if (creature is CuSidhe && from.Race != Race.Elf)
{
creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 502801, from.NetState); // You can't tame that!
}
else if ( creature is Zombie && from.Skills[SkillName.SpiritSpeak].Value <= 49.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is Skeleton && from.Skills[SkillName.SpiritSpeak].Value <= 49.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is Ghoul && from.Skills[SkillName.SpiritSpeak].Value <= 54.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is Shade && from.Skills[SkillName.SpiritSpeak].Value <= 54.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is Spectre && from.Skills[SkillName.SpiritSpeak].Value <= 54.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is SkeletalKnight && from.Skills[SkillName.SpiritSpeak].Value <= 64.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is BoneKnight && from.Skills[SkillName.SpiritSpeak].Value <= 64.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is BoneMagi && from.Skills[SkillName.SpiritSpeak].Value <= 64.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is SkeletalMage && from.Skills[SkillName.SpiritSpeak].Value <= 64.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is Lich && from.Skills[SkillName.Necromancy].Value <= 79.9)
{
from.SendMessage("Your necromantic powers are too weak to control this creature");
}
else if ( creature is Lich && from.Skills[SkillName.SpiritSpeak].Value <= 99.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is SkeletalDragon && from.Skills[SkillName.Necromancy].Value <= 114.9)
{
from.SendMessage("Your necromantic powers are too weak to control this creature");
}
else if ( creature is SkeletalDragon && from.Skills[SkillName.SpiritSpeak].Value <= 119.9)
{
from.SendMessage("You don't speak clearly enough for the spirit to hear you");
}
else if ( creature is AirElemental && from.Skills[SkillName.Magery].Value <= 84.9)
{
from.SendMessage("Your magical powers are too weak to bind this creature");
}
else if ( creature is EarthElemental && from.Skills[SkillName.Magery].Value <= 74.9)
{
from.SendMessage("Your magical powers are too weak to bind this creature");
}
else if ( creature is FireElemental && from.Skills[SkillName.Magery].Value <= 84.9)
{
from.SendMessage("Your magical powers are too weak to bind this creature");
}
else if ( creature is WaterElemental && from.Skills[SkillName.Magery].Value <= 84.9)
{
from.SendMessage("Your magical powers are too weak to bind this creature");
}
We use essential cookies to make this site work, and optional cookies to enhance your experience.