Esempio n. 1
0
        public override bool OnDragDropInto(Mobile from, Item item, Point3D p)
        {
            if (!base.OnDragDropInto(from, item, p))
            {
                return(false);
            }

            DefiledRewards.TradeInItem(item, (PlayerMobile)from);

            return(true);
        }
Esempio n. 2
0
        public override bool OnDragDrop(Mobile from, Item dropped)
        {
            if (!base.OnDragDrop(from, dropped))
            {
                return(false);
            }

            DefiledRewards.TradeInItem(dropped, (PlayerMobile)from);

            return(true);
        }
        public override void OnResponse(NetState state, RelayInfo info)
        {
            PlayerMobile pm = (PlayerMobile)m_From;

            if (info.ButtonID == 1 && info.Switches.Length > 0)               // Okay
            {
                int cnum = info.Switches[0];
                int cat  = cnum % 256;
                int ent  = cnum >> 8;

                if (cat >= 0 && cat < Categories.Length)
                {
                    if (ent >= 0 && ent < Categories[cat].Entries.Length)
                    {
                        DefiledRewardEntry entry = Categories[cat].Entries[ent];

                        if (pm.EvilPoints >= entry.Cost)
                        {
                            DefiledRewards.GiveReward(entry, pm);
                        }
                        else
                        {
                            pm.SendMessage("You must earn more of the guardian's favour.");
                        }
                    }
                }
            }
            else if (info.ButtonID == 2)               // Worshio
            {
                if (pm.InjuryPoints == 0)
                {
                    pm.SendMessage("You worship the Guardian.");
                }
                else if (pm.EvilPoints < 10)
                {
                    pm.SendMessage("You worship the Guardian, but he cares little for you.");
                }
                else
                {
                    pm.SendMessage("You beseech The Guardian for the power to continue.");
                    while (pm.EvilPoints >= 10 && pm.InjuryPoints > 0)
                    {
                        pm.EvilPoints   -= 10;
                        pm.InjuryPoints -= 1;
                    }
                }
            }
        }