Example #1
0
        void notice_defence_plusses(Player.Player p)
        {
            Misc.assert(kind != null);

            if (defence_plusses_are_visible())
            {
                return;
            }

            if (add_ident_flags(IDENT_DEFENCE))
            {
                check_for_ident();
            }

            if (ac != 0 || to_a != 0)
            {
                //char o_name[80];
                string o_name = object_desc(Detail.BASE);
                Utilities.msgt(Message_Type.MSG_PSEUDOID, "You know more about the {0} you are wearing.", o_name);
            }

            p.update |= (Misc.PU_BONUS);
            Game_Event.signal(Game_Event.Event_Type.INVENTORY);
            Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
        }
Example #2
0
        public void notice_attack_plusses()
        {
            Misc.assert(kind != null);

            if (attack_plusses_are_visible())
            {
                return;
            }

            if (add_ident_flags(IDENT_ATTACK))
            {
                check_for_ident();
            }


            if (wield_slot() == Misc.INVEN_WIELD)
            {
                //char o_name[80];
                string o_name = object_desc(Detail.BASE);
                Utilities.msgt(Message_Type.MSG_PSEUDOID,
                               "You know more about the %s you are using.",
                               o_name);
            }
            else if ((to_d != 0 || to_h != 0) &&
                     !((tval == TVal.TV_HARD_ARMOR || tval == TVal.TV_SOFT_ARMOR) && (to_h < 0)))
            {
                //char o_name[80];
                string o_name = object_desc(Detail.BASE);
                Utilities.msgt(Message_Type.MSG_PSEUDOID, "Your {0} glows.", o_name);
            }

            Misc.p_ptr.update |= (Misc.PU_BONUS);
            Game_Event.signal(Game_Event.Event_Type.INVENTORY);
            Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
        }
Example #3
0
        /**
         * Notice things which happen on defending.
         */
        public static void object_notice_on_defend(Player.Player p)
        {
            int i;

            for (i = Misc.INVEN_WIELD; i < Misc.INVEN_TOTAL; i++)
            {
                if (p.inventory[i].kind != null)
                {
                    p.inventory[i].notice_defence_plusses(p);
                }
            }

            Game_Event.signal(Game_Event.Event_Type.INVENTORY);
            Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
        }
Example #4
0
        /*
         * Notice a single flag - returns true if anything new was learned
         */
        public bool notice_flag(int flag)
        {
            if (!known_flags.has(flag))
            {
                known_flags.on(flag);

                /* XXX Eddie don't want infinite recursion if object_check_for_ident sets more flags,
                 * but maybe this will interfere with savefile repair
                 */
                check_for_ident();
                Game_Event.signal(Game_Event.Event_Type.INVENTORY);
                Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
                return(true);
            }

            return(false);
        }