public override void BeginInvoke(Player from)
        {
            if (from.Familiar != null && from.Familiar.Deleted)
            {
                from.Familiar = null;
            }

            if (from.Familiar != null)
            {
                from.Mobile.LocalOverheadMessage(UltimaOnline.Network.MessageType.Regular, 0x3B2, false, "You already have a holy familiar.");
                return;
            }

            if ((from.Mobile.Followers + 1) > from.Mobile.FollowersMax)
            {
                from.Mobile.SendLocalizedMessage(1049645); // You have too many followers to summon that creature.
                return;
            }

            HolyFamiliar familiar = new HolyFamiliar();

            if (Mobiles.BaseCreature.Summon(familiar, from.Mobile, from.Mobile.Location, 0x217, TimeSpan.FromHours(1.0)))
            {
                from.Familiar = familiar;

                FinishInvoke(from);
            }
        }
Esempio n. 2
0
        public override void OnCast()
        {
            if (EthicCaster.Familiar != null && EthicCaster.Familiar.Deleted)
            {
                EthicCaster.Familiar = null;
            }

            if (EthicCaster.Familiar != null)
            {
                EthicCaster.Mobile.LocalOverheadMessage(MessageType.Regular, 0x3B2, false,
                                                        "You already have a holy familiar.");
                FinishSequence();
                return;
            }

            if ((EthicCaster.Mobile.Followers + 1) > EthicCaster.Mobile.FollowersMax)
            {
                EthicCaster.Mobile.SendLocalizedMessage(1049645);
                // You have too many followers to summon that creature.
                FinishSequence();
                return;
            }

            var familiar = new HolyFamiliar();

            if (BaseCreature.Summon(familiar, EthicCaster.Mobile, EthicCaster.Mobile.Location, 0x217,
                                    TimeSpan.FromHours(1.0)))
            {
                familiar.Hue         = 2955;
                EthicCaster.Familiar = familiar;

                FinishInvoke(EthicCaster);
            }

            FinishSequence();
        }