v4 bugfixes (66b0fe2)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    #16
    Originally posted by Derakon
    That is one beastly weapon you have there. 5d10 damage and an acid brand! I kinda feel like the Disruption affix should make the weapon be heavily prowess-oriented -- having a 35-pound weapon that's 70/30 balance/heft seems wrong.
    Agreed. Since affixes predate balance and heft, we can't yet modify them, but it shouldn't take long to make that happen. I've opened ticket #1627 for this.
    So it sounds like weapon and class mods may need a bit of a nerf, but more importantly that .95x multiplier needs to be brought down. At .8x the two cases outlined above become 4 and 2 iterations, respectively, before the chance for further crits drops below half.
    The alternative is to increase the 5000 divisor still further, and reduce crit chance across the board. Probably a combination of the two. I don't particularly like the decay in chance, but it's necessary if crit chances are going to get that high. And maybe they should, but only for prowess chars. I'm definitely leaning away from the symmetry in the chance calc. I'm thinking something like (fin + (prow/10)^2) / x, where x needs retuning.

    Personally I'm fine with race/class and equipment contributing more than stats in the ratio 3:3:2.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

    Comment

    • Derakon
      Prophet
      • Dec 2009
      • 9022

      #17
      Some kind of nonlinear crit chance would be nice, so you don't never get crits early on, but also don't always get crits in the late game. For example:
      Code:
      y = x - (x ^ 2) / 1000
      This has a more-or-less linear gain for X in the range 0-250, then smoothly flattens out to max at X = 500 with a value of 250 for Y. Of course, it then starts decreasing, but if we just declare the cap to be the value when X = 500 then that's no problem.

      So the remaining question is how heavily to weight finesse and prowess in the calculation. The current system favors finesse fighters using finesse weapons (precisely striking a weak point) and prowess fighters using prowess weapons (pancaking the opponent's skull) while disfavoring compromise fighters. Personally I like that but others may feel differently.

      EDIT: so, for example, if we leave the current "applied finesse squared plus applied prowess squared" system in place, then a possible formula for crit chance could be given as
      Code:
      factor = (finesse * balance) ^ 2 + (prowess * heft) ^ 2
      if factor > 400000:
          chance = 50
      else:
          chance = (factor - (factor * factor) / 800000) / 4000
      This gives a curve that peaks at 400k with a value of 50. "factor" for jevansau's character up there was 485k, for reference. A young character might have, say, 2 blows at a 1.5x multiplier, giving factor = (100^2 + 50^2) = 12500 for a crit chance of 3. Later on at 5 blows with a 2x multiplier, factor = (400^2 + 100^2) = 162500 for a crit chance of 32. Seems like it ought to scale well.

      EDIT 2: one issue here being that factor gets squared again. 400k squared is much bigger than 2^32. Unfortunate! We could replace the squaring in generating factor by just the sum of products (i.e. finesse * balance + prowess * heft), but that just mirrors the normal damage roll, so it basically says "if you already do lots of damage, then you have a better chance of dealaing even more damage." I prefer the current system where normal combat favors compromise fighters and crit calculations favor fighters that are all-finesse or all-prowess.

      So one possibility is to divide factor prior to plugging it into the chance calculation:
      Code:
      // Yields a value between 0 and 100 for factors from 0 to 400k
      factor = ((finesse * balance) ^ 2 + (prowess * heft) ^ 2) / 40000
      if factor > 100:
          chance = 50
      else:
          chance = (factor - (factor ^ 2)) / 200
      No more overflow worries!
      Last edited by Derakon; March 8, 2012, 00:57.

      Comment

      • jevansau
        Adept
        • Jan 2009
        • 200

        #18
        One quick thing - the last formula is wrong - should be:
        chance = (factor - (factor ^ 2) / 200 )
        Otherwise chance will be negative.

        Otherwise seems like a good method.

        Comment

        • Derakon
          Prophet
          • Dec 2009
          • 9022

          #19
          Oops, good call. Thanks for the correction.

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #20
            Originally posted by Derakon
            Oops, good call. Thanks for the correction.
            In the first equation of the second set did you mean to divide by 40000 at the end of calculating factor, or by 4000?

            But in principle it works for me. If chance maxes out at 50% then we don't need to decay it, and calculating the expected damage becomes a lot easier.
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

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