Beispiel #1
0
        public void EndSacrifice(Mobile from, Idol idol)
        {
            if (Deleted)
            {
                return;
            }

            if (m_Idol != null && m_Idol.Deleted)
            {
                Idol = null;
            }

            if (from.Map != this.Map || !from.InRange(GetWorldLocation(), 3))
            {
                from.SendLocalizedMessage(500446);                   // That is too far away.
            }
            else if (DarkMasterActive())
            {
                from.SendMessage("The Dark Master has already been summoned.");
            }
            else if (idol == null)
            {
                from.SendMessage("That is not my Idol!");
            }
            else if (m_Idol != null)
            {
                from.SendMessage("I already hold that Idol!");
            }
            else if (!idol.IsChildOf(from.Backpack))
            {
                from.SendMessage("You can only sacrifice items that are in your backpack!");
            }
            else
            {
                if (idol.Type == this.Type)
                {
                    idol.Movable = false;
                    idol.MoveToWorld(GetWorldTop(), this.Map);

                    this.Idol = idol;
                }
                else
                {
                    from.SendMessage("That is not my Idol!");
                }
            }
        }