Exemple #1
0
        protected virtual void OnGivereward(ConquestState s, BaseCreature reward)
        {
            if (s == null || s.User == null || reward == null || reward.Deleted)
            {
                return;
            }

            reward.Control(s.User);

            AnimalTaming.ScaleSkills(reward, 0.90);

            if (reward.StatLossAfterTame)
            {
                AnimalTaming.ScaleStats(reward, 0.50);
            }

            if (reward.Stable())
            {
                return;
            }

            if (s.User.IsOnline())
            {
                reward.MoveToWorld(s.User.Location, s.User.Map);
            }
            else
            {
                reward.Delete();
            }
        }
Exemple #2
0
        public void Eject(BaseCreature bc, bool teleportOrStable)
        {
            if (bc == null || bc.Deleted)
            {
                return;
            }

            if (!teleportOrStable)
            {
                bc.Delete();
                return;
            }

            if (bc.ControlMaster is PlayerMobile)
            {
                bc.Stable();
            }
            else
            {
                Teleport(bc, Options.Locations.Eject, Options.Locations.Eject.Map);
            }
        }
Exemple #3
0
        public void Eject(BaseCreature bc, bool teleportOrStable)
        {
            if (bc == null || bc.Deleted)
            {
                return;
            }

            var pet = bc.IsControlled <PlayerMobile>();

            if (!teleportOrStable)
            {
                if (!pet)
                {
                    bc.Delete();
                }

                return;
            }

            if (!pet || !bc.Stable())
            {
                Teleport(bc, Options.Locations.Eject, Options.Locations.Eject);
            }
        }
Exemple #4
0
		public void Eject(BaseCreature bc, bool teleportOrStable)
		{
			if (bc == null || bc.Deleted)
			{
				return;
			}

			if (!teleportOrStable)
			{
				bc.Delete();
				return;
			}

			if (bc.ControlMaster is PlayerMobile)
			{
				bc.Stable();
			}
			else
			{
				Teleport(bc, Options.Locations.Eject, Options.Locations.Eject.Map);
			}
		}