My Shard runs on RunUO version 2.1
I am using Xanthos Evo system for my Evo creatures but am having trouble trying something new (for me) during the evolution process from one 'Stage' to the next 'Stage'.
I have the EvoMount's starting ItemID for the graphic used when being ridden set at 0x3EBE for a Drake and I am trying to have the ItemID change to 0x3EBD for a Dragon when it evolves to a next 'Stage'.
Here is the Error I am getting:
Looking at the top part of script . . hard to imagine I am missing any using directives or an assembly references but I have been wrong on this before. Anyway . . here is the DragonSpec2021.cs script that throws the Error (with the offending line Commented):
I have tried many variations (this.ItemID etc) but none work. Can anyone see where I am going wrong? Is it possible to change an Evo mount's ItemID like this when evolving from one 'Stage' to the next 'Stage' ?
I appreciate any help I can get on this.
Many Thanks
I am using Xanthos Evo system for my Evo creatures but am having trouble trying something new (for me) during the evolution process from one 'Stage' to the next 'Stage'.
I have the EvoMount's starting ItemID for the graphic used when being ridden set at 0x3EBE for a Drake and I am trying to have the ItemID change to 0x3EBD for a Dragon when it evolves to a next 'Stage'.
Here is the Error I am getting:
Code:
Errors:
+ Customs/Dragon 2021/DragonSpec2021.cs:
CS1061: Line 214: 'Xanthos.Evo.Dragon2021StageSix' does not contain a definition for 'ItemID' and no extension method 'ItemID' accepting a first argument of type 'Xanthos.Evo.Dragon2021StageSix' could be found (are you missing a using directive or an assembly reference?)
Looking at the top part of script . . hard to imagine I am missing any using directives or an assembly references but I have been wrong on this before. Anyway . . here is the DragonSpec2021.cs script that throws the Error (with the offending line Commented):
Code:
using Server;
using System;
using System.Collections;
using System.Collections.Generic;
using Server.Targeting;
using Server.Network;
using Server.Mobiles;
using Server.Items;
using Server.Spells;
using Server.Spells.First;
using Server.Spells.Second;
using Server.Spells.Third;
using Server.Spells.Fourth;
using Server.Spells.Fifth;
using Server.Spells.Sixth;
using Server.Spells.Seventh;
using Server.Spells.Eighth;
using Server.Misc;
using Server.Regions;
using Server.SkillHandlers;
using Server.Spells.Necromancy;
using Server.Engines.Quests;
using Server.Engines.Quests.Necro;
using Server.Spells.Spellweaving;
using Xanthos.Interfaces;
namespace Xanthos.Evo
{
public sealed class DragonSpec2021 : BaseEvoSpec
{
// This class implements a singleton pattern; meaning that no matter how many times the
// Instance attribute is used, there will only ever be one of these created in the entire system.
// Copy this template and give it a new name. Assign all of the data members of the EvoSpec
// base class in the constructor. Your subclass must not be abstract.
// Never call new on this class, use the Instance attribute to get the instance instead.
DragonSpec2021()
{
m_Tamable = true;
m_MinTamingToHatch = 70.0;
m_PercentFemaleChance = 0.02; // Made small to limit access to eggs.
m_GuardianEggOrDeedChance = .05;
m_AlwaysHappy = true;
m_ProducesYoung = true;
m_PregnancyTerm = 0.10;
m_AbsoluteStatValues = false;
m_MaxEvoResistance = 70;
m_MaxTrainingStage = 6;
m_MountStage = 6;
m_CanAttackPlayers = false;
m_RandomHues = new int[] { 2723, 2723 }; //Gold is 2817
m_Skills = new SkillName[7] { SkillName.Magery, SkillName.EvalInt, SkillName.Meditation, SkillName.MagicResist,
SkillName.Tactics, SkillName.Wrestling, SkillName.Anatomy };
m_MinSkillValues = new int[7] { 50, 50, 50, 15, 19, 19, 19 };
m_MaxSkillValues = new int[7] { 100, 100, 100, 100, 100, 100, 100 };
m_Stages = new BaseEvoStage[] { new Dragon2021StageOne(), new Dragon2021StageTwo(),
new Dragon2021StageThree(), new Dragon2021StageFour(),
new Dragon2021StageFive(), new Dragon2021StageSix(), new Dragon2021StageSeven() };
}
// These next 2 lines facilitate the singleton pattern. In your subclass only change the
// BaseEvoSpec class name to your subclass of BaseEvoSpec class name and uncomment both lines.
public static DragonSpec2021 Instance { get { return Nested.instance; } }
class Nested { static Nested() { } internal static readonly DragonSpec2021 instance = new DragonSpec2021();}
}
// Define a subclass of BaseEvoStage for each stage in your creature and place them in the
// array in your subclass of BaseEvoSpec. See the example classes for how to do this.
// Your subclass must not be abstract.
public class Dragon2021StageOne : BaseEvoStage //ICE SNAKE
{
public Dragon2021StageOne()
{
NextEpThreshold = 40000; EpMinDivisor = 10; EpMaxDivisor = 5; DustMultiplier = 20;
EvolutionMessage = "STAGE ONE - has evolved to a stronger form";
Title = "'Hatchling'";
BaseSoundID = 0xDB;
BodyValue = 52; ControlSlots = 2; MinTameSkill = 70.0; VirtualArmor = 30;
Hue = Evo.Flags.kRandomHueFlag;
DamagesTypes = new ResistanceType[1] { ResistanceType.Physical };
MinDamages = new int[1] { 10 };
MaxDamages = new int[1] { 15 };
ResistanceTypes = new ResistanceType[1] { ResistanceType.Physical };
MinResistances = new int[1] { 15 };
MaxResistances = new int[1] { 15 };
DamageMin = 10; DamageMax = 15; HitsMin = 150; HitsMax = 200;
StrMin = 150; StrMax = 200; DexMin = 56; DexMax = 75; IntMin = 70; IntMax = 100;
}
}
public class Dragon2021StageTwo : BaseEvoStage //ICE SERPENT
{
public Dragon2021StageTwo()
{
NextEpThreshold = 100000; EpMinDivisor = 20; EpMaxDivisor = 10; DustMultiplier = 20;
EvolutionMessage = "has evolved to a stronger form";
Title = "Hatchling";
BaseSoundID = 219;
BodyValue = 89; ControlSlots = 2; MinTameSkill = 75.0; VirtualArmor = 20;
DamagesTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold, ResistanceType.Poison, ResistanceType.Energy };
MinDamages = new int[5] { 10, 10, 10, 10, 10 };
MaxDamages = new int[5] { 15, 15, 15, 15, 15 };
ResistanceTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold, ResistanceType.Poison, ResistanceType.Energy };
MinResistances = new int[5] { 15, 15, 15, 15, 15 };
MaxResistances = new int[5] { 15, 15, 15, 15, 15 };
DamageMin = 1; DamageMax = 1; HitsMin = 150; HitsMax = 200;
StrMin = 100; StrMax = 100; DexMin = 56; DexMax = 75; IntMin = 70; IntMax = 100;
}
}
public class Dragon2021StageThree : BaseEvoStage //LAVA LIZARD
{
public Dragon2021StageThree()
{
EvolutionMessage = "has grown";
Title = "'Evolving'";
NextEpThreshold = 250000; EpMinDivisor = 30; EpMaxDivisor = 20; DustMultiplier = 25;
BaseSoundID = 0x5A;
BodyValue = 206; ControlSlots = 3; MinTameSkill = 80.0; VirtualArmor = 30;
DamagesTypes = null;
MinDamages = null;
MaxDamages = null;
ResistanceTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold, ResistanceType.Poison, ResistanceType.Energy };
MinResistances = new int[5] { 15, 15, 15, 15, 15 };
MaxResistances = new int[5] { 20, 20, 20, 20, 20 };
DamageMin = 1; DamageMax = 1; HitsMin= 175; HitsMax = 225;
StrMin = 100; StrMax = 100; DexMin = 10; DexMax = 10; IntMin = 25; IntMax = 50;
}
}
public class Dragon2021StageFour : BaseEvoStage //WYVERN
{
public Dragon2021StageFour()
{
EvolutionMessage = "has become a young dragon";
Title = "'Apprentice'";
NextEpThreshold = 600000; EpMinDivisor = 50; EpMaxDivisor = 40; DustMultiplier = 20;
BaseSoundID = 362;
BodyValue = 62; ControlSlots = 4; MinTameSkill = 85.0; VirtualArmor = 35;
DamagesTypes = null;
MinDamages = null;
MaxDamages = null;
ResistanceTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold,
ResistanceType.Poison, ResistanceType.Energy };
MinResistances = new int[5] { 20, 20, 20, 20, 20 };
MaxResistances = new int[5] { 30, 30, 30, 30, 30 };
DamageMin = 1; DamageMax = 1; HitsMin= 175; HitsMax = 225;
StrMin = 100; StrMax = 150; DexMin = 10; DexMax = 10; IntMin = 120; IntMax = 120;
}
}
public class Dragon2021StageFive : BaseEvoStage //DRAKE
{
public Dragon2021StageFive()
{
EvolutionMessage = "has evolved into a strong young dragon";
Title = "'Adept'";
NextEpThreshold = 1500000; EpMinDivisor = 160; EpMaxDivisor = 40; DustMultiplier = 20;
BodyValue = 60; ControlSlots = 6; MinTameSkill = 90.0; VirtualArmor = 40;
DamagesTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold,
ResistanceType.Poison, ResistanceType.Energy };
MinDamages = new int[5] { 40, 20, 20, 20, 20 };
MaxDamages = new int[5] { 40, 30, 30, 30, 30 };
ResistanceTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold,
ResistanceType.Poison, ResistanceType.Energy };
MinResistances = new int[5] { 50, 40, 40, 40, 40 };
MaxResistances = new int[5] { 50, 50, 50, 50, 50 };
DamageMin = 5; DamageMax = 5; HitsMin= 100; HitsMax = 100;
StrMin = 125; StrMax = 175; DexMin = 20; DexMax = 20; IntMin = 125; IntMax = 150;
}
}
public class Dragon2021StageSix : BaseEvoStage //DRAKE
{
public Dragon2021StageSix()
{
EvolutionMessage = "has evolved into a stronger dragon";
// LINE 208 FOLLOWS:
ItemID = 0x3EBD;
Title = "'Master'";
NextEpThreshold = 3500000; EpMinDivisor = 540; EpMaxDivisor = 480; DustMultiplier = 20;
BodyValue = 60; ControlSlots = 6; MinTameSkill = 95.0; VirtualArmor = 60;
DamagesTypes = null;
MinDamages = null;
MaxDamages = null;
ResistanceTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold,
ResistanceType.Poison, ResistanceType.Energy };
MinResistances = new int[5] { 55, 55, 55, 55, 55 };
MaxResistances = new int[5] { 70, 70, 70, 70, 70 };
DamageMin = 10; DamageMax = 10; HitsMin= 600; HitsMax = 800;
StrMin = 150; StrMax = 200; DexMin = 25; DexMax = 35; IntMin = 150; IntMax = 200;
}
}
public class Dragon2021StageSeven : BaseEvoStage //DRAGON
{
public Dragon2021StageSeven()
{
EvolutionMessage = "has grown to its highest form and is now a legendary dragon";
Title = "Ledgendary";
NextEpThreshold = 0; EpMinDivisor = 740; EpMaxDivisor = 660; DustMultiplier = 20;
BaseSoundID = 362;
BodyValue = 59; ControlSlots = 3; VirtualArmor = 55;
DamagesTypes = new ResistanceType[5] { ResistanceType.Physical, ResistanceType.Fire, ResistanceType.Cold, ResistanceType.Poison, ResistanceType.Energy };
MinDamages = new int[5] { 70, 70, 70, 70, 70 };
MaxDamages = new int[5] { 70, 70, 70, 70, 70 };
ResistanceTypes = null;
MinResistances = null;
MaxResistances = null;
DamageMin = 15; DamageMax = 15; HitsMin= 400; HitsMax = 450;
StrMin = 125; StrMax = 125; DexMin = 125; DexMax = 35; IntMin = 125; IntMax = 125;
}
}
}
I have tried many variations (this.ItemID etc) but none work. Can anyone see where I am going wrong? Is it possible to change an Evo mount's ItemID like this when evolving from one 'Stage' to the next 'Stage' ?
I appreciate any help I can get on this.
Many Thanks