### Summary - Fixes the name `Vegies` to `Veggies` - Adds feeding leather to goats - Adds metal for Lava Lizards - Fixes Bone Helm being classified as plate instead of bone. - Fixes wooden shields not classified as wood. ### Note On OSI, the preferred foods on the animal lore gump doesn't contain all possible favorite food categories. Furthermore, the one listed is not necessarily always the "first" in the list of possible categories. We aren't going to try and fix that since it isn't important.
118 lines
3.2 KiB
C#
118 lines
3.2 KiB
C#
using Server.Mobiles;
|
|
|
|
namespace Server.Factions
|
|
{
|
|
public class FactionWarHorse : BaseMount
|
|
{
|
|
public const int SilverPrice = 500;
|
|
public const int GoldPrice = 3000;
|
|
private Faction m_Faction;
|
|
|
|
public override string DefaultName => "a war horse";
|
|
|
|
[Constructible]
|
|
public FactionWarHorse(Faction faction = null) : base(0xE2, 0x3EA0, AIType.AI_Melee, FightMode.Aggressor)
|
|
{
|
|
BaseSoundID = 0xA8;
|
|
|
|
SetStr(400);
|
|
SetDex(125);
|
|
SetInt(51, 55);
|
|
|
|
SetHits(240);
|
|
SetMana(0);
|
|
|
|
SetDamage(5, 8);
|
|
|
|
SetDamageType(ResistanceType.Physical, 100);
|
|
|
|
SetResistance(ResistanceType.Physical, 40, 50);
|
|
SetResistance(ResistanceType.Fire, 30, 40);
|
|
SetResistance(ResistanceType.Cold, 30, 40);
|
|
SetResistance(ResistanceType.Poison, 30, 40);
|
|
SetResistance(ResistanceType.Energy, 30, 40);
|
|
|
|
SetSkill(SkillName.MagicResist, 25.1, 30.0);
|
|
SetSkill(SkillName.Tactics, 29.3, 44.0);
|
|
SetSkill(SkillName.Wrestling, 29.3, 44.0);
|
|
|
|
Fame = 300;
|
|
Karma = 300;
|
|
|
|
Tamable = true;
|
|
ControlSlots = 1;
|
|
|
|
Faction = faction;
|
|
}
|
|
|
|
public FactionWarHorse(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public override int StepsMax => 6400;
|
|
public override string CorpseName => "a war horse corpse";
|
|
|
|
[CommandProperty(AccessLevel.GameMaster, AccessLevel.Administrator)]
|
|
public Faction Faction
|
|
{
|
|
get => m_Faction;
|
|
set
|
|
{
|
|
m_Faction = value;
|
|
|
|
Body = m_Faction?.Definition.WarHorseBody ?? 0xE2;
|
|
ItemID = m_Faction?.Definition.WarHorseItem ?? 0x3EA0;
|
|
}
|
|
}
|
|
|
|
public override FoodType FavoriteFood => FoodType.FruitsAndVeggies | FoodType.GrainsAndHay;
|
|
|
|
public override void OnDoubleClick(Mobile from)
|
|
{
|
|
var pl = PlayerState.Find(from);
|
|
|
|
if (pl == null)
|
|
{
|
|
from.SendLocalizedMessage(1010366); // You cannot mount a faction war horse!
|
|
}
|
|
else if (pl.Faction != Faction)
|
|
{
|
|
from.SendLocalizedMessage(1010367); // You cannot ride an opposing faction's war horse!
|
|
}
|
|
else if (pl.Rank.Rank < 2)
|
|
{
|
|
// You must achieve a faction rank of at least two before riding a war horse!
|
|
from.SendLocalizedMessage(1010368);
|
|
}
|
|
else
|
|
{
|
|
base.OnDoubleClick(from);
|
|
}
|
|
}
|
|
|
|
public override void Serialize(IGenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write(0); // version
|
|
|
|
Faction.WriteReference(writer, m_Faction);
|
|
}
|
|
|
|
public override void Deserialize(IGenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
var version = reader.ReadInt();
|
|
|
|
switch (version)
|
|
{
|
|
case 0:
|
|
{
|
|
Faction = Faction.ReadReference(reader);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|