Example #1
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 an unholy familiar.");
                return;
            }

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

            var familiar = new UnholyFamiliar();

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

                FinishInvoke(EthicCaster);
            }

            FinishSequence();
        }
Example #2
0
        public override void BeginInvoke(Player from)
        {
            if (from.Familiar != null && from.Familiar.Deleted)
            {
                from.Familiar = null;
            }

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

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

            UnholyFamiliar familiar = new UnholyFamiliar();

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

                this.FinishInvoke(from);
            }
        }