Ring of speed range of values

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nate
    Rookie
    • Mar 2010
    • 19

    Ring of speed range of values

    Wondering what the range of values for ring of speed is. I see d5M5 in obj.txt giving a range of +1 to +10 but something else must be going on since I see many rings greater than +10 in the ladder. +18 is the highest I've seen for v3.1.2. Is that a hard cap? Thank you.

    -Nate
  • Derakon
    Prophet
    • Dec 2009
    • 9022

    #2
    A ring of speed has a base modifier of 1d5 + a dlvl-dependent bonus of up to 5. After that, the game flips a coin. If it comes up heads, the modifier is increased by one and the coin is flipped again. It keeps repeating this until the coin comes up tails, with no limit. A ring of speed +18 would have to pass that coin flip check a minimum of 8 times (at odds of 1 in 256) and a maximum of 16 times (at odds of 1 in 65536).

    Comment

    • Nate
      Rookie
      • Mar 2010
      • 19

      #3
      Thank you

      Thank you for the info. Do you know in which source file the coin flipping code appears?

      Comment

      • Sirridan
        Knight
        • May 2009
        • 560

        #4
        In theory, you can have a speed ring with a value in the hundreds which may go outside the bounds of the energy speed array, although I'm not sure if there is a check for that (there probably is). Although you're more likely to find ringil and the one ring on dlvl one.

        Anyway, the source you're looking for is:

        trunk/src/object/obj-make.c
        line 700

        which is:

        Code:
        while (randint0(100) < 50) o_ptr->pval++;
        Edit:
        Chance of a +100 speed ring is somewhere on the order of 1x10^-25 or somesuch

        Comment

        • kaypy
          Swordsman
          • May 2009
          • 294

          #5
          Originally posted by Sirridan
          I'm not sure if there is a check for that (there probably is).
          Easy way to see: Fires up wizard mode...

          Total speed maxes out at +89, so the second RoS+32767 is a waste of space 8-)

          edit: oops, having actually tried wearing it (my first attempt used +255), the +32767 will overflow your baseline speed down to the negative cap (-110)
          Last edited by kaypy; May 11, 2010, 14:53.

          Comment

          • Nemesis
            Adept
            • Jul 2009
            • 137

            #6
            I read somewhere that the most extreme Ring of Speed ever known to have been found in Angband had a bonus of fifty something. That bonus was however negative.

            I recall reading in the same text that twenty something was the highest positive bonus ever found.

            Comment

            • nppangband
              NPPAngband Maintainer
              • Dec 2008
              • 926

              #7
              About 7 years ago, I found a ring of speed (+23) while playing NPPAngband 0.1.1 That was the first NPPAngband release, and it was virtually identical to Vanilla with a couple minor patches, & nothing that would affect the creation of speed rings. That one might be the record.

              NPPAngband current home page: http://nppangband.bitshepherd.net/
              Source code repository:
              https://github.com/nppangband/NPPAngband_QT
              Downloads:
              https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

              Comment

              • APWhite
                Adept
                • Jul 2007
                • 244

                #8
                Originally posted by nppangband
                About 7 years ago, I found a ring of speed (+23) while playing NPPAngband 0.1.1 That was the first NPPAngband release, and it was virtually identical to Vanilla with a couple minor patches, & nothing that would affect the creation of speed rings. That one might be the record.

                http://angband.oook.cz/ladder-show.php?id=1420
                If you want, I could program the borg to play deep dungeon and store all the rings of speed in the home and swap out the slowest rings.

                Given enough time, the borg will find a large number of rings stored.
                St George Chiropractor
                Angband Borg Homepage

                Comment

                • Nate
                  Rookie
                  • Mar 2010
                  • 19

                  #9
                  How does the dlvl-dependent bonus work? Does it reach a fixed value of 5 at some point? Or is 5 just more likely to come up at dlvl 100 vs dlvl 75? Is dlvl 127 better than dlvl 100 for this bonus? Thank you!

                  Comment

                  • PowerDiver
                    Prophet
                    • Mar 2008
                    • 2820

                    #10
                    Quite recently, bron mentioned =speed+23. Read the notes from http://angband.oook.cz/ladder-show.php?id=10647

                    Comment

                    • Nate
                      Rookie
                      • Mar 2010
                      • 19

                      #11
                      Thanks for the lead PowerDiver. This is an old thread. I'm actually asking a couple new questions at the bottom of the thread re: how the M5 works in the d5M5 part of the ROS calculation. It seemed related to the thread but I probably should have started a new one. Sorry!

                      Comment

                      • Derakon
                        Prophet
                        • Dec 2009
                        • 9022

                        #12
                        As the object.txt file notes, "M5" means to call m_bonus with a "max" argument of 5 and a "level" argument of the object's dungeon level. Here's a copy from the comments for that function:
                        Code:
                         * A sample distribution of values from "m_bonus(10, N)" is shown below:
                         *
                         *   N       0     1     2     3     4     5     6     7     8     9    10
                         * ---    ----  ----  ----  ----  ----  ----  ----  ----  ----  ----  ----
                         *   0   66.37 13.01  9.73  5.47  2.89  1.31  0.72  0.26  0.12  0.09  0.03
                         *   8   46.85 24.66 12.13  8.13  4.20  2.30  1.05  0.36  0.19  0.08  0.05
                         *  16   30.12 27.62 18.52 10.52  6.34  3.52  1.95  0.90  0.31  0.15  0.05
                         *  24   22.44 15.62 30.14 12.92  8.55  5.30  2.39  1.63  0.62  0.28  0.11
                         *  32   16.23 11.43 23.01 22.31 11.19  7.18  4.46  2.13  1.20  0.45  0.41
                         *  40   10.76  8.91 12.80 29.51 16.00  9.69  5.90  3.43  1.47  0.88  0.65
                         *  48    7.28  6.81 10.51 18.27 27.57 11.76  7.85  4.99  2.80  1.22  0.94
                         *  56    4.41  4.73  8.52 11.96 24.94 19.78 11.06  7.18  3.68  1.96  1.78
                         *  64    2.81  3.07  5.65  9.17 13.01 31.57 13.70  9.30  6.04  3.04  2.64
                         *  72    1.87  1.99  3.68  7.15 10.56 20.24 25.78 12.17  7.52  4.42  4.62
                         *  80    1.02  1.23  2.78  4.75  8.37 12.04 27.61 18.07 10.28  6.52  7.33
                         *  88    0.70  0.57  1.56  3.12  6.34 10.06 15.76 30.46 12.58  8.47 10.38
                         *  96    0.27  0.60  1.25  2.28  4.30  7.60 10.77 22.52 22.51 11.37 16.53
                         * 104    0.22  0.42  0.77  1.36  2.62  5.33  8.93 13.05 29.54 15.23 22.53
                         * 112    0.15  0.20  0.56  0.87  2.00  3.83  6.86 10.06 17.89 27.31 30.27
                         * 120    0.03  0.11  0.31  0.46  1.31  2.48  4.60  7.78 11.67 25.53 45.72
                         * 128    0.02  0.01  0.13  0.33  0.83  1.41  3.24  6.17  9.57 14.22 64.07
                        The "N" column here is the dungeon level; hence, at dungeon level 0, the item has only a .03% chance of getting its full bonus, while at dungeon level 128 it has a 64.07% chance of the full bonus.

                        Comment

                        • Nate
                          Rookie
                          • Mar 2010
                          • 19

                          #13
                          Cool. So does the sample distribution apply to ROS where a value generated of 5 or higher becomes 5 since the max is 5 or is there a different chart from 0 to 5 for ROS? Thank you for providing this detailed info.

                          Comment

                          • Omnipact
                            Rookie
                            • Jun 2007
                            • 23

                            #14
                            The whole table would be used.

                            To get the full 5 bonus at dlv 0 would happen .03% of the time.

                            Don't forget the additional 'super-charging' code in obj-make.c:

                            Code:
                            /* Super-charge the ring */ 
                            while (randint0(100) < 50) o_ptr->pval++;
                            A ring of speed has no upper limit.

                            Comment

                            • Derakon
                              Prophet
                              • Dec 2009
                              • 9022

                              #15
                              Originally posted by Nate
                              Cool. So does the sample distribution apply to ROS where a value generated of 5 or higher becomes 5 since the max is 5 or is there a different chart from 0 to 5 for ROS? Thank you for providing this detailed info.
                              The table I quoted would be compressed to have 6 columns instead of 11. So yes, there's a "different chart" for each possible max value. Except that there's no actual chart; the table is simply an example of what running the algorithm with a specific max tens of thousands of times generated. I quoted the table because it was easier than trying to explain the actual distribution used.

                              Comment

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