Esempio n. 1
0
		public override void BeginInvoke( Player from )
		{
			if ( from.Familiar != null && from.Familiar.Deleted )
				from.Familiar = null;

			if ( from.Familiar != null )
			{
				from.Mobile.LocalOverheadMessage( 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 ( 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 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();
        }