1. Hello!

    First of all, welcome to MapleLegends! You are currently viewing the forums as a guest, so you can only view the first post of every topic. We highly recommend registering so you can be part of our community.

    By registering to our forums you can introduce yourself and make your first friends, talk in the shoutbox, contribute, and much more!

    This process only takes a few minutes and you can always decide to lurk even after!

    - MapleLegends Administration-
  2. Experiencing crashes with 'Unknown Error'? Make sure you are on the latest MapleLegends version. The current latest version is found by clicking here.
    Dismiss Notice

Attack animation probabilities?

Discussion in 'Help & Advice' started by deer, Jan 13, 2021 at 4:41 PM.

Thread Status:
You must be a logged-in, registered member of this site to view further posts in this thread.
  1. deer

    deer Orange Mushroom

    Oct 27, 2020
    Lith Harbor
    9:39 PM
    Attack animation probabilities?

    As you already know, basic-attacking (bound to the Ctrl key by default) with a melee weapon (sword, axe, blunt weapon, wand, staff, spear, polearm, dagger, knuckler, etc.) produces a certain animation. These animations are classified as “swings” or “stabs” (“stabs” are sometimes known as “thrusts”). For some weapons (swords, daggers, knucklers, etc.), the animation is purely cosmetic. For other weapons (polearms, spears, axes, blunt weapons, wands, staves, etc.), the animation determines how the attack’s damage is calculated. In particular, the PSM (primary stat multiplier) changes based on the animation. Note that from here on out, “animation” does not refer to the visual/cosmetic animation, but instead to the virtual animation that actually determines the attack’s PSM. All of the PSMs for these types of weapons are already known:

    Weapon typeSwingStab
    One-handed axe4.43.2
    One-handed blunt weapon4.43.2
    Two-handed axe4.83.4
    Two-handed blunt weapon4.83.4
    When an animation for a particular weapon type has the greater of the two PSMs, we call it a “good” animation. Otherwise, we call it a “bad” animation.

    Sometimes, certain attacking skills force a certain animation type. For example, Spear Crusher is known for its high damage due to always stabbing and requiring a spear to be equipped. This forces a good animation, and the PSM is thus always the highest possible PSM in the game (5.0). Conversely, Pole Arm Crusher acts like Spear Crusher in that it always stabs, but because it requires a polearm to be equipped, this forces a bad animation, and thus gives a very low PSM (3.0).

    The question

    What I want to ask is: what is the exact probability of a swing (or, complementarily, of a stab, since swing and stab are the only two possibilities), given a particular attacking skill and a particular weapon type? We consider basic-attacking to be its own special “attacking skill”, even though it is not a skill at all.

    We assume

    This assumes two things:
    • We can treat each particular use of an attacking skill as its own Bernoulli trial, with a “success” being defined as a swinging “animation”, even if the visual/cosmetic animation does not reflect this.
    • Given a fixed weapon type and fixed attacking skill, the parameter p of each trial is identical. This implies that the outcome of each trial is fully independent of any other event or condition. This further implies that any series (in no particular order, and not necessarily uninterrupted, as long as no trials are selectively discarded and/or reordered) of attacks with given skill and given weapon type is a Bernoulli process.
    What we know so far
    In the following table, “1H” stands for “one-handed”, “2H” stands for “two-handed”, and “BW” stands for “blunt weapon”.

    Question marks (“?”) by themselves are used to indicate unknown values. Question marks accompanying other information means that that information is uncertain.

    “n/a” means that there are no such thing as “swings” nor ”stabs” in the given case, except possibly for visual/cosmetic purposes.

    Attacking skillWeapon typep
    [basic attack]polearm0.6?ᵃ
    [basic attack]spear0.6?ᵇ
    [basic attack]1H swordn/a
    [basic attack]1H axe?
    [basic attack]1H BW?
    [basic attack]2H swordn/a
    [basic attack]2H axe?
    [basic attack]2H BW?
    [basic attack]wand1.0?ᶜ
    [basic attack]staff1.0?ᶜ
    [basic attack]daggern/a
    [basic attack]knucklern/a
    Power Strike[any][same as basic attack]?
    Slash Blast[any][same as basic attack]?
    Panic: Sword1H sword, 2H sword?
    Panic: Axe1H axe, 2H axe?
    Coma: Sword1H sword, 2H sword?
    Coma: Axe1H axe, 2H axe?
    Charged Blow[any]?
    Heaven’s Hammer[any]?ᵈ
    Spear Crusherspear0.0
    Pole Arm Crusherpolearm0.0
    Dragon Fury: Spearspear1.0
    Dragon Fury: Pole Armpolearm1.0
    Sacrifice[any][same as basic attack]?
    Dragon Roarspear, polearmn/a
    Disorder[any][same as basic attack]?
    Double Stabdaggern/a
    Steal[any][same as basic attack]?
    Savage Blowdaggern/a
    Band of Thievesdaggern/a
    Boomerang Stepdaggern/a
    Flash Fistknucklern/a
    Somersault Kick[any]0.0
    Backspin Blowknucklern/a
    Double Uppercutknucklern/a
    Corkscrew Blowknucklern/a
    Energy Blastknucklern/a
    Energy Drainknucklern/a
    Dragon Strikeknucklern/a
    Energy Orbknucklern/a
    Air Strike[any]0.0
    Footnotes for “What we know so far”

    a: We tested 1000 trials of this, and got 586 swings (and thus 414 stabs). This value has long been rumoured to be 0.6, but our 1000 trials is the only actual evidence that we have.

    b: This is actually untested, but is simply assumed to be the same as the corresponding figure for polearms.

    c: This one’s actually off the top of my head. I don’t think wands and staves can stab…?

    d: I don’t even know what the damage formula is for Heaven’s Hammer. IIRC, the damage is calculated purely on the server-side, so I’m sure MapleLegends has tweaked it to hell and back.

    e: These values are due to Nise, in this reply.

    How do we know?

    The obvious answer is: testing. For attacks whose virtual animations are manifest (you can see them), you can do this manually (marking down one of two different symbols, one for swing and one for stab, each time you attack, then counting them up programmatically afterwards), or, you can possibly intercept the attack packets and count them purely programmatically.

    For attacks whose virtual animations are not manifest, it may be necessary to test damage values and then analyze them using some statistical methods.

    Ideally, (almost) all of these can be simply reverse-engineered by someone(s) with enough binary analysis/decompilation expertise.
    • Great Work Great Work x 4
    • Like Like x 1
Thread Status:
You must be a logged-in, registered member of this site to view further posts in this thread.

Share This Page