Armour GDR


If it doesn't fit anywhere else, it belongs here. Also, come here if you just need to get hammered.

User avatar

Spider Stomper

Posts: 186

Joined: Friday, 8th March 2013, 13:27

Post Thursday, 10th April 2014, 00:28

Armour GDR

Have you ever noticed that an armour's GDR is almost four times its AC?
The error of this method is small except for the robe and the crystal plate armour.
User avatar

Dis Charger

Posts: 2057

Joined: Wednesday, 7th August 2013, 08:25

Post Thursday, 10th April 2014, 01:21

Re: Armour GDR

GDR doesn't affect much anything; it's just a guaranteed percentage of a max roll you will get instead of a REALLY HORRIBLE roll. Relatively small importance compared to the normal AC.
I'm beginning to feel like a Cat God! Felid streaks: {FeVM^Sif Muna, FeWn^Dithmenos, FeAr^Pakellas}, {FeEE^Ashenzari, FeEn^Gozag, FeNe^Sif Muna, FeAE^Vehumet...(ongoing)}

Ziggurat Zagger

Posts: 8786

Joined: Sunday, 5th May 2013, 08:25

Post Thursday, 10th April 2014, 01:39

Re: Armour GDR

imo 0.40 isn't almost four times 10
User avatar

Pandemonium Purger

Posts: 1341

Joined: Monday, 24th October 2011, 06:13

Post Thursday, 10th April 2014, 04:47

Re: Armour GDR

it`s close
seattle washington. friends for life. mods hate on me and devs ignore my posts. creater of exoelfs and dc:pt

Spider Stomper

Posts: 206

Joined: Wednesday, 12th January 2011, 15:07

Post Thursday, 10th April 2014, 14:26

Re: Armour GDR

duvessa wrote:imo 0.40 isn't almost four times 10


Give or take an order of magnitude or two.

Tomb Titivator

Posts: 799

Joined: Saturday, 23rd February 2013, 22:25

Post Thursday, 10th April 2014, 14:35

Re: Armour GDR

Zooty wrote:
duvessa wrote:imo 0.40 isn't almost four times 10


Give or take an order of magnitude or two.

That's OK in astrophysics, so long as you're within six orders of magnitude you'll generally be alright.

Abyss Ambulator

Posts: 1205

Joined: Friday, 8th November 2013, 17:02

Post Thursday, 10th April 2014, 17:13

Re: Armour GDR

There needs to be another button besides thank for posts like this...
imo 0.40 isn't almost four times 10


FR: "Thanks, smartass" button on the forums.

Barkeep

Posts: 3890

Joined: Wednesday, 14th August 2013, 23:25

Location: USA

Post Thursday, 10th April 2014, 17:30

Re: Armour GDR

Well I'm not sure what marbit meant by the OP, but if this is just a mnemonic for remembering GDR then I guess it holds fairly well that base AC times 4 gives you the GDR as a percentage. (Or base AC times 4/100 for proper decimal value.) With robes and CPA being the exceptions.

But then the more important fact to remember is that people have weakened their characters, sometimes to the point of contributing to their deaths, by misunderstanding and/or overvaluing GDR due to bad advice, whereas probably no characters have actually benefited significantly from knowing said information and using it to make a decision.

(Theoretically if you have some really strange randart armor drops of different type but otherwise basically identical to choose from, maybe GDR can be the factor that tips the scales in terms of which is technically "optimal," but even in such theoretical cases, you are probably going to be choosing between two pieces of armor that are very good and appropriate for your character, either of which would work fine so it isn't a big deal either way.)

Abyss Ambulator

Posts: 1205

Joined: Friday, 8th November 2013, 17:02

Post Thursday, 10th April 2014, 17:52

Re: Armour GDR

It seems to be true that in 99.9999% of cases, GDR isn't a worthwhile metric for making any choice in the game.

Knowing of its existence might explain some stuff, like why your caster in robes with Ozo's armor and 30AC seems to take more damage in melee than your berserker in plate with 30AC, but what are you going to do with that information?

If you ever find yourself in a situation like crate pointed out, where you can choose between two artifact armors that somehow give the same AC and EV, pick the one with more AC. But of course, even without GDR that's still the right answer.

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Thursday, 10th April 2014, 18:59

Re: Armour GDR

duvessa wrote:imo 0.40 isn't almost four times 10


?

  Code:
    int gdr = 14 * sqrt(max(body_base_AC - 2, 0));

Ziggurat Zagger

Posts: 8786

Joined: Sunday, 5th May 2013, 08:25

Post Thursday, 10th April 2014, 19:21

Re: Armour GDR

Sandman25 wrote:
duvessa wrote:imo 0.40 isn't almost four times 10


?

  Code:
    int gdr = 14 * sqrt(max(body_base_AC - 2, 0));
it gets divided by 100 when used; indeed, the function your line comes from is called gdr_perc(), not gdr()!

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Thursday, 10th April 2014, 19:25

Re: Armour GDR

It looks like GDR is 40, not 0.40.

  Code:
int actor::apply_ac(int damage, int max_damage, ac_type ac_rule,
                    int stab_bypass) const
{
    int ac = max(armour_class() - stab_bypass, 0);
    int gdr = gdr_perc();
    int saved = 0;
    switch (ac_rule)
    {
    case AC_NONE:
        return damage; // no GDR, too
    case AC_PROPORTIONAL:
        ASSERT(stab_bypass == 0);
        saved = damage - apply_chunked_AC(damage, ac);
        saved = max(saved, div_rand_round(max_damage * gdr, 100));
        return max(damage - saved, 0);

    case AC_NORMAL:
        saved = random2(1 + ac);
        break;
    case AC_HALF:
        saved = random2(1 + ac) / 2;
        ac /= 2;
        gdr /= 2;
        break;
    case AC_TRIPLE:
        saved = random2(1 + ac) + random2(1 + ac) + random2(1 + ac);
        ac *= 3;
        // apply GDR only twice rather than thrice, that's probably still waaay
        // too good.  50% gives 75% rather than 100%, too.
        gdr = 100 - gdr * gdr / 100;
        break;
    default:
        die("invalid AC rule");
    }

    saved = max(saved, min(gdr * max_damage / 100, ac / 2));
    return max(damage - saved, 0);
}
User avatar

Pandemonium Purger

Posts: 1341

Joined: Monday, 24th October 2011, 06:13

Post Thursday, 10th April 2014, 19:32

Re: Armour GDR

okay 40 is probably bigger than 10 we can all agree
seattle washington. friends for life. mods hate on me and devs ignore my posts. creater of exoelfs and dc:pt

Ziggurat Zagger

Posts: 8786

Joined: Sunday, 5th May 2013, 08:25

Post Thursday, 10th April 2014, 20:02

Re: Armour GDR

Sandman25 wrote:It looks like GDR is 40, not 0.40.

Sandman25 wrote:saved = max(saved, div_rand_round(max_damage * gdr, 100));

For this message the author duvessa has received thanks:
Sandman25
User avatar

Tartarus Sorceror

Posts: 1881

Joined: Saturday, 7th September 2013, 21:16

Location: Itajubá, MG, Brazil.

Post Friday, 11th April 2014, 18:57

Re: Armour GDR

it is interesting when I cant understand a single thing in the thread. I need to learn how to code.
my posts are to be read in a mildly playful tone, with a deep, sexy voice.

Return to Crazy Yiuf's Corner

Who is online

Users browsing this forum: No registered users and 8 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.