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(); } }
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); } }
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); } }