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