Page 1 of 4 123 ... LastLast
Results 1 to 20 of 79
  1. Default [BB] All Known Formulas


    This is for the people who just want up to date information and can't be bothered to read 100+ posts to stay updated.

    Section #1: How Mob Avoid Works
    Section #2: How Player Avoid Works
    Section #3: How Mob Damage Works
    Section #4: How Player Damage Works

    Credits:
    - Many members of the Southperry community: Dusk, JoeTang, KaidaTan, kruimel0, 505, and many others...

    If you're wondering:
    All of these formulas are taken straight from the executable file. A fully functional, unpacked, and unencrypted exe file was distributed to me legally and free from here.

    ---------------------

    How Mob Avoid Works


    Relevant Calculator:
    Hit Rate Calculator

    Relevant Formulas:
    Magic Accuracy = INT + (LUK * 1.2)
    Physical Accuracy = LUK + (DEX * 1.2)
    Maximum Character Accuracy = 9999
    Maximum Mob Avoid = 9999

    Procedure:
    Calculate the square root of your accuracy. Round down. Call this "Player Accuracy"
    Calculate the square root of the enemy's avoid. Round Down. Call this "Mob Avoid"
    After doing this, HitRate = Player Accuracy - Mob Avoid + 100
    If the HitRate is greater than 100, then make the HitRate equal to 100
    If the mob's level is above yours, subtract 5 from HitRate for every level he is above you. If this causes HitRate to go below 0, set HitRate to 0.
    HitRate is the percentage chance that you will hit the enemy.

    For programmers


    ---------------------

    How Player Avoid Works


    Relevant Calculator:
    Avoid Rate Calculator

    Relevant Formulas:
    Magic Avoid = INT + (LUK * 2)
    Physical Avoid = DEX + (LUK * 2)
    Maximum Character Avoid = 9999
    Maximum Mob Accuracy = 9999

    Procedure:
    Calculate the square root of your avoid. Round down.
    Calculate the square root of the enemy's accuracy. Round down.
    After doing this, AvoidRate = Player Avoid - Mob Accuracy
    If the AvoidRate is less than 0, then make the AvoidRate equal to 0
    If the mob's level is above yours, subtract 5 from AvoidRate for every level he is above you. If this causes AvoidRate to go below 0, set AvoidRate to 0.
    AvoidRate is the percentage chance that you will avoid the enemy.

    For programmers


    ---------------------

    How Mob Damage Works


    Relevant Calculator:
    Mob Damage Calculator

    Relevant Formulas:
    WDEF = STR * 1.2 + (DEX + LUK) * 0.5 + INT * 0.4
    MDEF = STR * 0.4 + (DEX + LUK) * 0.5 + INT * 1.2
    Maximum Character Defense = 30,000
    Maximum Mob Attack = 29,999
    Maximum Character HP = 99,999
    As a rule of thumb, your defense needs to be four times the enemy's attack value in order to receive 1 damage from the enemy's attack.
    Having 30,000 defense will reduce all damage by about 86%. The "never receive damage" defense number is 40,000 (Because sqrt(WDEF * 0.25) of 40,000 is 100% in the formula), though it's impossible to reach it.
    The enemy's attack value is the damage he will do if you have 0 Defense.
    Flat damage reduction will only happen on values 8660 and less (and even then at only absurdly high defense values). Values higher than this are always percentage based damage reduction.
    The overall procedure is: Get Mob Attack --> Reduce mob attack by threaten --> Calculate & randomize mob attack --> reduce attack by defense --> reduce attack by other means (Achilles, Combo Barrier, etc.) --> reduce damage by Meso Guard.
    For every level you are below the enemy, you effectively lose 16 defense or 2.0% of the enemy's damage.
    Threaten does not work on Pink Bean or any of his cohorts.

    Procedure:
    Calculate the following: PDDRounded = Total WDEF * 0.25 <---- Round this to the nearest whole number
    Calculate the following: PDDPercentage = Square Root(Total WDEF * 0.25) <--- Round Down
    If your level is less than the mob's level, subtract 4 from PDDRounded for every level. If PDDRounded becomes less than 0 because of this, set PDDRounded to 0.
    If your level is less than the mob's level, subtract 2.0 from PDDPercentage for every level. If PDDPercentage becomes less than 0 because of this, set PDDPercentage to 0.
    Calculate the following: MobDamagePDDRounded = Enemy Attack - PDDRounded
    Calculate the following: MobDamagePDDPercentage = (100 - PDDPercentage) * (Enemy Attack / 100)
    Pick the smaller number between MobDamagePDDRounded and MobDamagePDDPercentage. Call this number "damage taken"
    If damage taken is less than 1, set damage taken to 1.
    Damage taken is the maximum damage you will receive from the enemy.

    For Programmers


    ---------------------

    How Player Damage Works


    Relevant Calculator:
    None yet

    Relevant Formulas:
    Multiplier * (4 * main stat + secondary stat) * (Attack / 100)
    It is currently believed that mob WDEF does not apply to damage calculations anymore. Only PDRate/MDRate matter.

    Procedure:
    If you don't want to see any of the specifics for calculations, just jump to the third spoiler.

    Defining the equation

    Using the equation

    Damage Formula Cheat Sheet
    Last edited by Fiel; 2010-10-23 at 11:17 AM.

  2. Default


    I think you made a typo. Don't you mean: AvoidRate = Player Avoid - Mob Accuracy ?

  3. Default


    Yes, thank you! (::) for you.

  4. Neon Atom Straight Male

    IGN: Huskey
    Server: KradiaEMS
    Level: 160
    Job: Aran
    Guild: UndiesPatrol
    Alliance: UndiesUnited
    netherlands

    Default


    Awesome! I've been waiting for this ^^

    But can you please spell my name correctly? My name seems to be a problem with every non-dutch person I know... so I'm kinda used to people spelling kruimel like krumiel or kriumel or kremuil or w/e....

    Edit: Thanks <3
    Last edited by kruimel0; 2010-09-03 at 03:40 PM. Reason: Fiel spelled my name correctly =3

  5. Default


    Wow. First time I'm aware of this.

    Just lol.

  6. Default


    Does this mean that +wa/ma&#37; and +damage% are the same?

    Assuming these figures:
    300 wa
    2500 str
    200 dex
    polearm

    max range (normal)
    = 1.49*(4*2500 + 200)*300/100
    = 1.49*(10000 + 200)*3
    = 1.49*10200*3
    = 45594

    max range (+21% wa)
    = 1.49*10200*[(300*1.21)/100]
    = 1.49*10200*363/100
    = 1.49*10200*3.63
    = 55168.74

    max range (+21% damage)
    = 45594*1.21
    = 55168.74

    If they are not the same, what exactly am I suppose to correct here?

  7. Default


    The major difference between &#37; damage and % attack is % attack is rounded sooner than % damage, which can create a small difference.

  8. Default


    Though that probably won't apply to my example I believe? Since the resulting WA (363) does not come with decimals.

  9. Default


    Haha, I've explained this like three times to three different people. +WA/MA&#37; is not the same as +damage%

    http://www.southperry.net/showthread...l=1#post508543

  10. Default


    The difference between the 2 is really insignificant though. Even with something like 366 WA, you're looking at a difference of ~129 max range (using the above example), which is pretty much obselete when you are already at 60k+ max range. Cubing your weapon with a mentality that wa/ma&#37; and damage% are the same would save you a lot of agony trying to get a perfect 9%/6%/6% damage weapon as opposed to a mix between ma/wa % and damage %.

  11. Default


    I understand that in the grand scheme of things the difference between +&#37; WA/MA/damage is pretty insignificant. However, in the scope of calculating damage ranges it is the difference between correct and incorrect. I'd rather be correct.

  12. Default


    I'd call that a minor difference, a major difference is that %wa only affects equipment. Potions and stars/bullets/arrows are ignored. So really with 200 + apples + 21%, you'll be getting 342 (%wa) and 363 (%dmg) if it's a class that doesn't have Use atk items.

    It is possible BB changes this but I don't know why it would.

  13. Default


    Just learned something new. MagicUP and AttackUP affect a mob's damage multiplicatively after defense reduction. So...

    Code:
    Calculate Miss Check
    If Mob Missed
        damage
    else
        Calculate mob attack
        Randomize mob attack
        Calculate player defense
        Reduce  mob attack by player defense
        Achilles Reduce
        MesoGuard reduce
        Magic or AttackUP damage
        Constrain damage between [1, 999999]
    return damage

  14. Default


    Any idea how much MagicUP and AttackUP add, or is that variable by mob?

  15. Default


    It's varied by mob. There's a certain MobSkill (in Skill.wz) which contains these variables. Typical AUP or MUP is 30&#37;. Bosses tend to have higher values.

  16. Default


    Looking at the Dark Aura thread:
    11wa claw, 15wa star, 3wa BoF

    1.75*(4*37 + 25)*29/100 = 87.7975 +0.5, round down = 88~

    With Dark Aura (10% wa/ma):
    302.75*(29*1.1)/100 = 93.8525 +0.5, round down = 94~

    With DA (10% wa/ma) and warrior pot (5wa):
    302.75*[(29+5)*1.1]/100 = 112.0175 +0.5, round down = 112~

    Considering how potential stat% affects total stat rather than base stat only (MW), and that even bonuses gained from MW gets multiplied by your potentials, makes me think that stars and potions do get affected as well (as is the case for DA).

  17. Default


    Also, just so you guys know, I'm working on an HP Washing calculator. So you guys should definitely have that by the end of the week.

  18. Default


    Wouldn't this table be easier to use (For everyone with maxed mastery)

    Edit:
    [Table deleted to avoid confusion]

  19. Default


    No, because that table's incorrect. The multiplier applies to the secondary stat as well. Also, you're forgetting Expertise-type skills.

  20. Default


    Ah that way, didnt know that, deleted the table to avoid confusion.

    Still, what on earth are Expertise skills? o.0

  21.  

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •