servuo/Scripts/Mobiles/Normal/Turkey.cs
TrueUO 1c7f53a414
OCT17 (#4887)
* OCT17

Minor gump cleanup and XML cleanup.

* Improvements

- Skill Gain is no longer redundantly checked against the same values inside of XMLSpawner.
- AI_Animal (which was not used and just defaulted to AI_Melee) along with AI_Beserk, AI_Predator, and AI_Thief have been safely removed.
- ItemFlags.cs has been moved from XMLSpawner to MISC.
- Removed some misc double calls.

* Needed for recent AI fix.

* Item Fix
2020-10-21 10:15:47 -07:00

105 lines
2.4 KiB
C#

using System;
namespace Server.Mobiles
{
[CorpseName("an turkey corpse")]
public class Turkey : BaseCreature
{
[Constructable]
public Turkey() : this(false)
{
}
[Constructable]
public Turkey(bool tamable) : base(AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4)
{
Name = "a turkey";
Body = 95;
BaseSoundID = 0x66A;
SetStr(5);
SetDex(15);
SetInt(5);
SetHits(75);
SetMana(0);
SetDamage(5);
SetDamageType(ResistanceType.Physical, 100);
SetResistance(ResistanceType.Physical, 1, 5);
SetSkill(SkillName.MagicResist, 4.0);
SetSkill(SkillName.Tactics, 5.0);
SetSkill(SkillName.Wrestling, 5.0);
Fame = 150;
Karma = 0;
Tamable = tamable;
ControlSlots = 1;
MinTameSkill = -0.9;
m_NextGobble = DateTime.UtcNow;
}
public override int Meat => 1;
public override MeatType MeatType => MeatType.Bird;
public override FoodType FavoriteFood => FoodType.GrainsAndHay;
public override int Feathers => 25;
public override int GetIdleSound()
{
return 0x66A;
}
public override int GetAngerSound()
{
return 0x66A;
}
public override int GetHurtSound()
{
return 0x66B;
}
public override int GetDeathSound()
{
return 0x66B;
}
private DateTime m_NextGobble;
public override void OnThink()
{
base.OnThink();
if (Tamable && !Controlled && m_NextGobble < DateTime.UtcNow)
{
Say(1153511); //*gobble* *gobble*
PlaySound(GetIdleSound());
m_NextGobble = DateTime.UtcNow + TimeSpan.FromSeconds(Utility.RandomMinMax(20, 240));
}
}
public Turkey(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
m_NextGobble = DateTime.UtcNow;
}
}
}