[3.4 RC] Small inconsistency with some artifact amulets

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

    [3.4 RC] Small inconsistency with some artifact amulets

    An unaware Elessar was generated as a Ruby Amulet (red "). However, after identifying it, it changed to a green ".

    Looking at object.txt, three artifact amulet templates (Necklace, Elfstone, Jewel) use colors instead of the default "dark" value... so instead of using the color of their flavor, they use the color of the template when identified. While this sounds logical for scrolls to have a different visual when identified, it doesn't feel right with amulets...

    See my RFE on trac about making special artifact jewelry fixed flavors (same as for the One Ring). This is another way to fix the problem.
    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!
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    #2
    Originally posted by PowerWyrm
    An unaware Elessar was generated as a Ruby Amulet (red "). However, after identifying it, it changed to a green ".

    Looking at object.txt, three artifact amulet templates (Necklace, Elfstone, Jewel) use colors instead of the default "dark" value... so instead of using the color of their flavor, they use the color of the template when identified. While this sounds logical for scrolls to have a different visual when identified, it doesn't feel right with amulets...

    See my RFE on trac about making special artifact jewelry fixed flavors (same as for the One Ring). This is another way to fix the problem.
    I'd prefer to go the other way, and ensure that the artifact jewelry keeps the random flavour it was assigned instead of reverting to a fixed/canonical flavour.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

    Comment

    • fizzix
      Prophet
      • Aug 2009
      • 3025

      #3
      Originally posted by Magnate
      I'd prefer to go the other way, and ensure that the artifact jewelry keeps the random flavour it was assigned instead of reverting to a fixed/canonical flavour.
      I agree. Can we fix this easily?

      Comment

      • Magnate
        Angband Devteam member
        • May 2007
        • 5110

        #4
        Originally posted by fizzix
        I agree. Can we fix this easily?
        I don't think it's too hard. Er, but now I come to think of it I think I'm thinking of v4. Not sure. It can't be that hard, in fact it might even be easier in V.
        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

        Comment

        • PowerWyrm
          Prophet
          • Apr 2008
          • 2986

          #5
          The fix is trivial: edit object.txt, change G:"color) to G:":d for the three amulet templates (Necklace, Elfstone, Jewel).

          This fixes the problem for ASCII. For tiles however, there's still the problem of having a tile for unaware rings/amulets (defined in flvr-tileset.prf) and a tile for aware rings/amulets (defined in graf-tileset.prf), except for the One Ring which uses a fixed flavor. To ensure that all special rings/amulets have the same tile, the graf-tileset.prf files should not redefine them. This would be a shame though, because those redefined tiles are much nicer than the basic flavor tiles

          Another solution would simply be to "un-flavor" all special artifact rings/amulets and give them an unique template, just like the special lights. This would be nice visually, but would remove some randomness from the game.
          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

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #6
            Originally posted by PowerWyrm
            The fix is trivial: edit object.txt, change G:"color) to G:":d for the three amulet templates (Necklace, Elfstone, Jewel).

            This fixes the problem for ASCII. For tiles however, there's still the problem of having a tile for unaware rings/amulets (defined in flvr-tileset.prf) and a tile for aware rings/amulets (defined in graf-tileset.prf), except for the One Ring which uses a fixed flavor. To ensure that all special rings/amulets have the same tile, the graf-tileset.prf files should not redefine them. This would be a shame though, because those redefined tiles are much nicer than the basic flavor tiles
            The right way to solve this is surely to allow any object in the game to have a different tile assigned to it at any point, i.e. we create o_ptr->tile_index and use that to work out what to display.

            So unIDd objects start out with the tile_index of their flavour, and when they're IDd they get the tile of their base item / ego type / artifact etc.

            I realise that this is a non-trivial change to tile handling!
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

            • buzzkill
              Prophet
              • May 2008
              • 2939

              #7
              Originally posted by Magnate
              The right way to solve this is surely to allow any object in the game to have a different tile assigned to it at any point, i.e. we create o_ptr->tile_index and use that to work out what to display.
              Scrolls display two different tiles (generic/specific) based upon whether they're id'd or not. Couldn't the same mechanism be used?
              www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
              My banding life on Buzzkill's ladder.

              Comment

              • PowerWyrm
                Prophet
                • Apr 2008
                • 2986

                #8
                Originally posted by buzzkill
                Scrolls display two different tiles (generic/specific) based upon whether they're id'd or not. Couldn't the same mechanism be used?
                In fact, that's the current behavior for every item: you define the tile in flvr.prf for unaware items and in graf.prf for aware items. For scrolls, it doesn't matter since the unaware tile is something like a scroll with a ? on it and the aware tile is the real scroll tile (the color is unused). For other flavored items where the color is used, you can have two different colors/colored tiles in flvr.prf and graf.prf, which visually seems wrong.
                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

                • PowerWyrm
                  Prophet
                  • Apr 2008
                  • 2986

                  #9
                  Hmm my bad... It must have been an old Angband version, not 3.4. I just checked again, this time by generating Elessar in debug mode and it always appears with the flavor tile. I also checked the code, and this is what is done now:

                  Code:
                  /*
                   * Determine if the attr and char should consider the item's flavor
                   *
                   * Identified scrolls should use their own tile.
                   */
                  #define use_flavor_glyph(kind) \
                      ((kind)->flavor && \
                       !((kind)->tval == TV_SCROLL && (kind)->aware))
                  
                  /*
                   * Return the "attr" for a given item kind.
                   * Use "flavor" if available.
                   * Default to user definitions.
                   */
                  #define object_kind_attr(kind) \
                      (use_flavor_glyph((kind)) ? \
                       ((kind)->flavor->x_attr) : \
                       ((kind)->x_attr))
                  Clearly, the only flavored items using a redefined tile when aware are scrolls. This means that the colors defined in object.txt and the graf.prf files for the other flavored items are never used... So no fancy tile atm
                  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

                  • buzzkill
                    Prophet
                    • May 2008
                    • 2939

                    #10
                    Originally posted by PowerWyrm
                    Clearly, the only flavored items using a redefined tile when aware are scrolls.
                    Currently, But I've been thinking for some time about distinct potion tiles, so that potions would function as scrolls do. That potion of speed would look the same every game once id'd.
                    www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                    My banding life on Buzzkill's ladder.

                    Comment

                    • PowerWyrm
                      Prophet
                      • Apr 2008
                      • 2986

                      #11
                      Originally posted by buzzkill
                      Currently, But I've been thinking for some time about distinct potion tiles, so that potions would function as scrolls do. That potion of speed would look the same every game once id'd.
                      But the problem is that flavored items have a meaningful color, and having a different color for unaware and aware versions seems silly.
                      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

                      • buzzkill
                        Prophet
                        • May 2008
                        • 2939

                        #12
                        Originally posted by PowerWyrm
                        But the problem is that flavored items have a meaningful color, and having a different color for unaware and aware versions seems silly.
                        ... then, once again, much like scrolls, the current variety of colored potion would only appear after ID. Prior to that we'd have maybe 4 different styles of vials or flasks all in a generic grayish tone.

                        What I don't like about potions currently, is that even late in the game after most flavors have been ID'd you still have to l)ook at each one that appears on the map to see what it is. Sure, maybe by this time you've "learned" a couple of the best flavors, but wouldn't it be nice to know tham all.

                        After the change, given a logical color scheme, something like all healing potions share a color/hue further differenciated by the shape of the vial, repeat for other families of potions, potions like scroll will be obvious on sight.
                        www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                        My banding life on Buzzkill's ladder.

                        Comment

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