So I have been trying to figure out the formula that calculates the defense values...

    Share

    lampuiho

    Posts : 4
    Reputation : 0
    Join date : 2013-02-23

    So I have been trying to figure out the formula that calculates the defense values...

    Post by lampuiho on Tue Apr 02, 2013 5:42 am

    I really need some help to get this one right... but here is what I've found.

    First, it calculates the a base value based on your stats to pass to the function that calculates the defense value.

    It is calculated like this:
    Physical Defence: (VIT*0.9 + ATT*0.9 + END*0.9 + STR*0.9 + DEX*0.9 + INT*0.9 + FAI*0.9 + HUM*0.9 + RES*1.80)

    Magic Defence: (VIT*0.85 + ATT*0.85 + END*0.85 + STR*0.85 + DEX*0.85 + INT*0.85 + FAI*2.2 + HUM*0.85 + RES*0.85)

    Fire Defence: (VIT*0.85 + ATT*0.85 + END*0.85 + STR*0.85 + DEX*0.85 + INT*0.85 + FAI*0.85 + HUM*0.85 + RES*2.2)

    Lightning Defence: (VIT + ATT + END + STR + DEX + INT + FAI + HUM + RES)

    This value is saturated to a maximum value of 800. If it is smaller than 0, the whole calculation is skipped.

    Then it checks what range this value lies within. The ranges are 1-80, 80-160, 160-260, and 260-800. These values correspond to the final defence value range of 10, 10-120, 120-170, and 170-200.

    If the value is between the range 80-160, or 160-260, the ratio to the number to reach the next range of defence, ie. (160-Base)/(160-80) or (260-Base)/(260-160). Otherwise, the ratio of that range is found, eg, for 170-200, (Base-170)/(200-170).

    Also a factor value is chosen for used later, 1 for 1-80, and 260-800, 1.1 for 80-160, and 1.2 for 160-260.

    Then that ratio number and the factor number is passed to the actual function that calculates the portion of defence that is added to the minimum defence value for the particular range of defence values. (Portion of 50 added to 120 for the range of 120 - 170 for example.

    The next part is what I don't understand very well. I think it uses some higher precision calculation routines so the codes don't get translated easily back to mathematical function easily.

    It invovles 7 lookup tables and several constant coefficients to do the calculations. The way it uses the lookup tables is like this: each time it uses a lookup table, it accesses 8 bits of fraction number of the ratio number and round it up if last bit is odd, effectively seperating the decimal places into 128 regions.

    Other than that, I don't really know much. I don't understand in general what it is up to so I can't really explain here. If someone can shed light on this or even provide a mathematical formula. That would be great.

    (I mean I can make some codes to do the same thing but I can't really simplify it, back to the original form.)

    thanks

    User1
    Abyss Dweller
    Abyss Dweller

    Posts : 9912
    Reputation : 106
    Join date : 2012-12-18

    Re: So I have been trying to figure out the formula that calculates the defense values...

    Post by User1 on Tue Apr 02, 2013 7:22 am

    This all looks too confusing for me. happy

    lampuiho

    Posts : 4
    Reputation : 0
    Join date : 2013-02-23

    Re: So I have been trying to figure out the formula that calculates the defense values...

    Post by lampuiho on Thu Apr 04, 2013 1:02 am

    RenegadeCop wrote:This all looks too confusing for me. happy

    I was hoping some discussion may give me some more insights or ideas to this :idea:

    Sponsored content

    Re: So I have been trying to figure out the formula that calculates the defense values...

    Post by Sponsored content


      Current date/time is Fri Dec 15, 2017 4:53 pm