private void PreloadProperties()
        {
            if (null == m_Pet)
            {
                return;
            }

            m_IsBonded = m_Pet.IsBonded;
            m_Name     = m_Pet.Name;

            m_Gender      = (m_Pet.Female ? "Female" : "Male");
            m_Breed       = GetFormattedBreedString(m_Pet);
            m_RawStr      = m_Pet.RawStr;
            m_RawDex      = m_Pet.RawDex;
            m_RawInt      = m_Pet.RawInt;
            m_Wrestling   = m_Pet.Skills[SkillName.Wrestling].Base;
            m_Tactics     = m_Pet.Skills[SkillName.Tactics].Base;
            m_Anatomy     = m_Pet.Skills[SkillName.Anatomy].Base;
            m_Poisoning   = m_Pet.Skills[SkillName.Poisoning].Base;
            m_Magery      = m_Pet.Skills[SkillName.Magery].Base;
            m_EvalInt     = m_Pet.Skills[SkillName.EvalInt].Base;
            m_MagicResist = m_Pet.Skills[SkillName.MagicResist].Base;
            m_Meditation  = m_Pet.Skills[SkillName.Meditation].Base;
            m_Parry       = m_Pet.Skills[SkillName.Parry].Base;
            m_Archery     = m_Pet.Skills[SkillName.Archery].Base;
            m_Fencing     = m_Pet.Skills[SkillName.Fencing].Base;
            m_Swords      = m_Pet.Skills[SkillName.Swords].Base;
            m_Macing      = m_Pet.Skills[SkillName.Macing].Base;

            BaseEvo evo = m_Pet as BaseEvo;

            if (null != evo)
            {
                m_EvoEp    = evo.Ep;
                m_EvoStage = evo.Stage;
            }

            m_PropsLoaded = true;
        }
        protected override void OnTarget(Mobile from, object target)
        {
            if (target is BaseEvo)
            {
                BaseEvo mob = (BaseEvo)target;

                if (mob.Controlled && mob.ControlMaster == from)
                {
                    mob.Ep += m_Deed.Points;
                    m_Deed.Delete();                     // Delete the evo deed
                    from.SendMessage("Your pet consumes the food and gains 10.000 EP!");

                    if (mob.Stage < mob.FinalStage && mob.Ep >= mob.NextEpThreshold)
                    {
                        mob.Evolve(false);
                    }
                }
            }
            else
            {
                from.SendMessage("You must feed an evolution creature.");
            }
        }
示例#3
0
        private void MatingTarget_Callback(Mobile from, object obj)
        {
            BaseEvo evo = obj as BaseEvo;

            if (null == evo)
            {
                from.SendMessage("That is not a pet!");
            }

            else if (evo.Controlled == false)
            {
                from.SendMessage("That " + evo.Breed + " is wild and cannot be bred!");
            }

            else
            {
                if (evo.Female == true)
                {
                    from.SendMessage("That " + evo.Breed + " is not male!");
                }

                else if (evo.Stage < m_FinalStage)
                {
                    from.SendMessage("That male " + evo.Breed + " is not old enough to mate!");
                }

                else if (evo.ControlMaster == from)
                {
                    Pregnant = true;
                }
                else
                {
                    evo.ControlMaster.SendGump(new MatingGump(from, evo.ControlMaster, this, evo));
                    from.SendMessage("You ask the owner of the " + evo.Breed + " if they will let your female mate with their male.");
                }
            }
        }