Example #1
0
        public void Summon(Corpse c, int pos)
        {
            if (parent != null && !parent.Deleted && parent.InRange(caller, 4) && parent.InLOS(caller))
            {
                //must factor in possible delay
                if (c == null || c.Deleted)
                {
                    caller.SendMessage("Your corpse is beyond my reach, it must have rotted.");
                    return;
                }
                if (Price > 0)
                {
                    if (Banker.Withdraw(caller, Price))
                    {
                        caller.SendLocalizedMessage(1060398, Price.ToString());                     // Amount charged
                        caller.SendLocalizedMessage(1060022, Banker.GetBalance(caller).ToString()); // Amount left, caller bank
                    }
                    else
                    {
                        caller.SendMessage("Unfortunately, you do not have enough cash in your bank to summon your corpse");
                        return;
                    }
                }
                //act
                parent.TransformMinion(caller);


                //move corpse


                c.Map      = caller.Map;
                c.Location = caller.Location;

                Corpses.RemoveAt(pos);
            }
        }