Angband 4.0 beta release

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • PowerWyrm
    Prophet
    • Apr 2008
    • 2986

    Terse mode doesn't show terse info.

    Code:
    bool terse = (mode & ODESC_TERSE);
    Tested in debug mode, the "mode" flag contains "ODESC_TERSE", the boolean value is set to FALSE. This is because unary operators don't return a boolean value. So the correct code is:

    Code:
    bool terse = (mode & ODESC_TERSE)? TRUE: FALSE;
    There are a LOT of such declarations in the code. It's probably a good time to fix them all...
    PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

    Comment

    • Nomad
      Knight
      • Sep 2010
      • 958

      More ID issues in 203d3e8 - just picked up an Awl-pike and it spontaneously ID'd itself when pseudo kicked in:

      Code:
      You feel the Awl-pike of Extra Attacks (t) in your pack is excellent.
      This was happening before in an earlier version and was subsequently fixed, but back then it was affecting all egos, whereas I've picked up other {excellent} items in this game without them doing the same - Extra Attacks is the first one that it's happened with.

      ETA: I've also just noticed that the Metal Cap of Intelligence I'm wearing has no pseudo tag or indication it's not fully ID'd, yet the equipment screen just lists it as "a Metal Cap [3, +4] <+1>", no ego name, while the Inspect screen only lists "+1 Intelligence", no mention of other properties but also no "You do not know the full extent of this item's powers" line. Again, it's not possible to ID manually with the staff I'm carrying. Save file is attached:
      Attached Files

      Comment

      • fizzix
        Prophet
        • Aug 2009
        • 3025

        Originally posted by Nomad
        More ID issues in 203d3e8 - just picked up an Awl-pike and it spontaneously ID'd itself when pseudo kicked in:

        Code:
        You feel the Awl-pike of Extra Attacks (t) in your pack is excellent.
        This was happening before in an earlier version and was subsequently fixed, but back then it was affecting all egos, whereas I've picked up other {excellent} items in this game without them doing the same - Extra Attacks is the first one that it's happened with.

        ETA: I've also just noticed that the Metal Cap of Intelligence I'm wearing has no pseudo tag or indication it's not fully ID'd, yet the equipment screen just lists it as "a Metal Cap [3, +4] <+1>", no ego name, while the Inspect screen only lists "+1 Intelligence", no mention of other properties but also no "You do not know the full extent of this item's powers" line. Again, it's not possible to ID manually with the staff I'm carrying. Save file is attached:
        Oof, what a mess. Looks like I'll be struggling with ID more this weekend. Sorry for the crappy behavior.

        Comment

        • MadeOfBees
          Scout
          • Apr 2013
          • 44

          Even though its a bit rough around the edges, it puts a smile on my face to see this game is gettin updated still.

          Once you get it, its hard to get off it, like cigarettes, or crack.

          Comment

          • Nomad
            Knight
            • Sep 2010
            • 958

            Minor message issue I've just noticed with selling items to shops/dropping them into the home. If you sell one of a stack of consumables in your inventory, you get a message like:

            Code:
            You sold a Scroll of Detect Invisible (f) for 13 gold.
            But if you sell a single item/the entire stack at once, you get:

            Code:
            You sold a Scroll of Detect Invisible () for 13 gold.
            I assume the empty parentheses mean it's not checking for the inventory letter until after the item's already gone.

            Comment

            • Nick
              Vanilla maintainer
              • Apr 2007
              • 9637

              Originally posted by PowerWyrm
              Terse mode doesn't show terse info.

              Code:
              bool terse = (mode & ODESC_TERSE);
              Tested in debug mode, the "mode" flag contains "ODESC_TERSE", the boolean value is set to FALSE. This is because unary operators don't return a boolean value. So the correct code is:

              Code:
              bool terse = (mode & ODESC_TERSE)? TRUE: FALSE;
              There are a LOT of such declarations in the code. It's probably a good time to fix them all...
              Thanks. Mercifully the actual setting of booleans like this seems to be confined to obj-desc and obj-info - there's a lot of use of things like (mode & ODESC_TERSE) in conditionals, which should be fine.
              One for the Dark Lord on his dark throne
              In the Land of Mordor where the Shadows lie.

              Comment

              • Nick
                Vanilla maintainer
                • Apr 2007
                • 9637

                Update bdd602d:
                • Makes a lot of PowerWyrm's suggested fixes to ID
                • Fixes some bad object names and descriptions (PowerWyrm again)
                • Fixes the bug where immunities were broken, which actually broke a whole lot of resistance-related stuff


                Please report wherever ID and anything involving balls, bolts and breaths hitting the player seems not to be working.
                One for the Dark Lord on his dark throne
                In the Land of Mordor where the Shadows lie.

                Comment

                • Thraalbee
                  Knight
                  • Sep 2010
                  • 707

                  Originally posted by Nick
                  Update bdd602d:
                  • Makes a lot of PowerWyrm's suggested fixes to ID
                  • Fixes some bad object names and descriptions (PowerWyrm again)
                  • Fixes the bug where immunities were broken, which actually broke a whole lot of resistance-related stuff


                  Please report wherever ID and anything involving balls, bolts and breaths hitting the player seems not to be working.
                  When finding rings of known type the message is not as before. You get this also in the item list even before picking it up.
                  You see a Ring of Reckless attacks {worn}
                  You see a Ring of the Mouse {worn}
                  You see a Ring of Protection {worn}

                  Comment

                  • Nick
                    Vanilla maintainer
                    • Apr 2007
                    • 9637

                    Originally posted by Thraalbeast
                    When finding rings of known type the message is not as before. You get this also in the item list even before picking it up.
                    You see a Ring of Reckless attacks {worn}
                    You see a Ring of the Mouse {worn}
                    You see a Ring of Protection {worn}
                    Thanks - that's an easy fix.
                    One for the Dark Lord on his dark throne
                    In the Land of Mordor where the Shadows lie.

                    Comment

                    • Thraalbee
                      Knight
                      • Sep 2010
                      • 707

                      Today's release. Rogue L30, insane amount of armour (AC170). SP = 4/4 in main screen but Character Screen with "C" (roguelike) says SP = 0/0. And I can't cast any spells, so the character screen seems correct.

                      Comment

                      • passer_by
                        Rookie
                        • May 2015
                        • 19

                        I was finding that my mage's SP was usually set to 0 every time I reloaded a savefile. Looks like the problem is that max SP is sometimes calculated with an uninitialised INT of zero. I think this fix does what was intended:

                        Code:
                        --- a/src/player-calcs.c
                        +++ b/src/player-calcs.c
                        @@ -1296,10 +1296,10 @@ static void calc_spells(struct player *p)
                         /**
                          * Get the player's max spell points per effective level
                          */
                        -int mana_per_level(struct player *p)
                        +int mana_per_level(struct player *p, struct player_state *state)
                         {
                                int stat = p->class->magic.spell_realm->stat;
                        -       return adj_mag_mana[p->state.stat_ind[stat]];
                        +       return adj_mag_mana[state->stat_ind[stat]];
                         }
                         
                         /**
                        @@ -1326,7 +1326,7 @@ static void calc_mana(struct player *p, struct player_state *state)
                                levels = (p->lev - p->class->magic.spell_first) + 1;
                                if (levels > 0) {
                                        msp = 1;
                        -               msp += mana_per_level(p) * levels / 100;
                        +               msp += mana_per_level(p, state) * levels / 100;
                                } else {
                                        levels = 0;
                                        msp = 0;
                        Last edited by passer_by; May 2, 2015, 20:35.

                        Comment

                        • Nomad
                          Knight
                          • Sep 2010
                          • 958

                          There seems to be an issue with the randomly positioned doors not always being generated correctly for templated rooms, causing the generation process to make a break in the wall. For instance, I've just come across this:

                          Code:
                          [bc=black][color=lightgrey]                         
                           ####################### 
                           #.....................# 
                           #.#.#.###.###.#.#.###.# 
                           #.#.#.#.[COLOR="#C08040"]'[/COLOR].#.[COLOR="#C08040"]'[/COLOR].#.#.#.[COLOR="#C08040"]'[/COLOR].# 
                           #.###.###.###.###.###.# 
                           #.....................# 
                           #.###.###.#.#.###.###.# 
                           #.[COLOR="#C08040"]'[/COLOR].#.[COLOR="#C08040"]'[/COLOR].#.#.#.[COLOR="#C08040"]'[/COLOR].#.[COLOR="#C08040"]'[/COLOR].#.# 
                           #.###.###.###.###.###.# 
                           #.....................# 
                           ####################### 
                                                   [/color][/bc]
                          Which is seemingly supposed to be this layout with the doors in position 3:

                          Code:
                          [bc=black][color=lightgrey]D:%%%%%%%%%%%%%%%%%%%%%%%
                          D:%.....................%
                          D:%.#2#.#2#.#2#.#2#.#2#.%
                          D:%.1.[color=orange]3[/color]91.[color=orange]3[/color].19[color=orange]3[/color].1.[color=orange]3[/color]91.[color=orange]3[/color].%
                          D:%.#4#.#4#.#4#.#4#.#4#.%
                          D:%.....................%
                          D:%.#4#.#4#.#4#.#4#.#4#.%
                          D:%.[color=orange]3[/color].19[color=orange]3[/color].1.[color=orange]3[/color]91.[color=orange]3[/color].19[color=orange]3[/color].1.%
                          D:%.#2#.#2#.#2#.#2#.#2#.%
                          D:%.....................%
                          D:%%%%%%%%%%%%%%%%%%%%%%%[/color][/bc]
                          Judging by the pattern of which doors are missing, I'm going to take a stab that the problem is with where the symbols used in room_template.txt have been semi-standardised with vault symbols, and the "place some monsters and treasures nearby" symbol, (previously !) has been changed to a number 9. It looks like the code is possibly reading 3-followed-by-9 as 39 and failing to place a door because it doesn't recognise it's a 3, or something similar.

                          Comment

                          • Thraalbee
                            Knight
                            • Sep 2010
                            • 707

                            When my Rogue switches back and forth between super heavy armour (AC 102 adamantite plate) and leather, not only is the SP display incorrect. Also the AC is not always updated correctly, the old values remain even after switch. I will make a copy of the savefile if it turns out to be hard to reproduce.

                            Comment

                            • Nick
                              Vanilla maintainer
                              • Apr 2007
                              • 9637

                              Originally posted by Nomad
                              Judging by the pattern of which doors are missing, I'm going to take a stab that the problem is with where the symbols used in room_template.txt have been semi-standardised with vault symbols, and the "place some monsters and treasures nearby" symbol, (previously !) has been changed to a number 9. It looks like the code is possibly reading 3-followed-by-9 as 39 and failing to place a door because it doesn't recognise it's a 3, or something similar.
                              Nice guess, but I don't think that's the problem - but I have no idea what the problem actually is, and I'm often wrong. Please keep an eye out for other malformed template rooms that might give clues.
                              One for the Dark Lord on his dark throne
                              In the Land of Mordor where the Shadows lie.

                              Comment

                              • Nomad
                                Knight
                                • Sep 2010
                                • 958

                                Originally posted by Nomad
                                Judging by the pattern of which doors are missing, I'm going to take a stab that the problem is with where the symbols used in room_template.txt have been semi-standardised with vault symbols, and the "place some monsters and treasures nearby" symbol, (previously !) has been changed to a number 9. It looks like the code is possibly reading 3-followed-by-9 as 39 and failing to place a door because it doesn't recognise it's a 3, or something similar.

                                Originally posted by Nick
                                Nice guess, but I don't think that's the problem - but I have no idea what the problem actually is, and I'm often wrong. Please keep an eye out for other malformed template rooms that might give clues.
                                Well, the initial example I was actually going to post was this one:

                                Code:
                                [bc=black][color=lightgrey]                 
                                 ############### 
                                 #.............# 
                                 #.#.###.#####.# 
                                 #.#...#.#...#.# 
                                 #.#...#.[COLOR="#C08040"]'[/COLOR]...#.# 
                                 #.#...#.#...#.# 
                                 #.#####.#####.# 
                                 #.............# 
                                 ############### 
                                                 [/color][/bc]
                                Which follows the exact same pattern.

                                Code:
                                [bc=black][color=lightgrey]D:%%%%%%%%%%%%%%%
                                D:%.............%
                                D:%.##2##.##4##.%
                                D:%.#...#.#...#.%
                                D:%.1...[color=orange]3[/color]9[color=orange]3[/color]...1.%
                                D:%.#...#.#...#.%
                                D:%.##4##.##2##.%
                                D:%.............%
                                D:%%%%%%%%%%%%%%%[/color][/bc]
                                I actually specifically scummed for the "Ten little boxes" layout because I remembered seeing one with broken walls before and wanted to see if it bore out my hunch that it was happening in the same situation with the 9s - which it did - and I thought it would make a more illustrative example. (Although from if the code hasn't changed from before, I don't really see how it actually could be reading the two numbers together instead of taking them one at a time - but I confess I'm baffled as to why it follows so predictable a pattern otherwise.)

                                I'll keep an eye out for any more examples...

                                Comment

                                Working...
                                😀
                                😂
                                🥰
                                😘
                                🤢
                                😎
                                😞
                                😡
                                👍
                                👎