12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559 |
- <!DOCTYPE html>
- <html dir="ltr" lang="en">
- <head>
- <meta charset="UTF-8" />
- <title>Oddjobs | Damage Calculator</title>
- <meta name="description" content="The guild for MapleStory odd-jobbers" />
- <meta name="viewport" content="width=device-width,initial-scale=1" />
- <link rel="stylesheet" type="text/css" href="../css/style.css" />
- <link rel="icon" type="image/png" href="../img/favicon.png" />
- <script type="module" async src="./main.js"></script>
- </head>
- <body>
- <div id="nav-content-wrapper">
- <nav id="main-nav">
- <div id="main-nav-inner">
- <div id="main-nav-pullout"><span>▶</span></div>
- <a href="../" class="nav-h"
- >Oddjobs
- <br />
- <img
- src="../img/logo.svg"
- alt="Oddjobs logo | Due to Evan MacDonald of the Noun Project (CC BY 3.0)"
- title="Oddjobs logo | Due to Evan MacDonald of the Noun Project (CC BY 3.0)"
- /></a>
- <ul class="nav-list">
- <li>
- <a href="../">Home</a>
- </li>
- <li>
- <a href="../join-on-up.html">Join On Up</a>
- </li>
- <li>
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://oddjobs.flarum.cloud/"
- >Forum</a
- >
- </li>
- <li>
- <a href="../odd-jobs.html">Odd Jobs</a>
- </li>
- <li>
- <a href="../guides/">Guides</a>
- </li>
- <li class="active">
- <a href="./">Damage Calc</a>
- </li>
- <li>
- <a href="../gish-ap-calc/">Gish AP Calc</a>
- </li>
- <li>
- <a href="../archive/">Archive</a>
- </li>
- <li>
- <a href="../rankings/">Rankings</a>
- </li>
- <li>
- <a href="../source.html" data-jslicense="1">Source</a>
- </li>
- </ul>
- </div>
- </nav>
- <div id="content">
- <header>
- <h1>Damage Calculator</h1>
- <span class="subtitle"
- >For all your weird pre-BB damage calculation needs!</span
- >
- <noscript>
- <div id="noscript">
- <p>
- It looks like you have JavaScript disabled or blocked. If your
- browser supports JavaScript, you need not worry about enabling
- it for this page, as the JavaScript on this page is entirely
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Free_software"
- >free</a
- >
- (<a
- target="_blank"
- rel="noopener noreferrer"
- href="https://www.gnu.org/licenses/agpl-3.0"
- >GNU AGPL v3</a
- >+). See
- <a href="../source.html" data-jslicense="1">the Source page</a>
- for more information and access to source code.
- </p>
- </div>
- </noscript>
- </header>
- <main>
- <a href="#assumptions" class="h-anchor"
- ><h2 id="assumptions">Assumptions</h2></a
- >
- <p>
- We assume that the player can attack as quickly as possible (i.e.
- holding down the attack button), and does so uninterrupted: they
- are never struck, never have to move, never use potions, &c.,
- and also never miss. We also assume that they are damaging exactly
- one foe at all times, and that that one foe has infinite HP. You
- can select a number of targets greater than one, but note that this
- does <strong>not</strong> take into account the damage taken by any
- of said virtual enemies, except for one of them. The ability to
- select a number of targets is only there for skills like Heal,
- which change their per-line damage based on the total number of
- targets.
- </p>
- <p>We assume that there is no particular damage cap.</p>
- <a href="#you-should-know" class="h-anchor"
- ><h2 id="you-should-know">You Should Know</h2></a
- >
- <details>
- <summary>You Should Know…</summary>
- <p>
- Weapon speeds are calculated based on the speed of the weapon
- itself, in addition to any booster effects that may be active.
- The slowest possible speed is 9,<sup>[1]</sup> and the fastest is
- 2. Booster skills add −2 to your speed value, and so does
- Speed Infusion.<sup>[2]</sup> Booster skills and Speed Infusion
- do stack, granting −4 speed (in addition to the speed of
- your weapon) when both are active.<sup>[2]</sup> However, your
- speed can never go below 2, so e.g. a weapon with speed 3 that is
- affected by a Booster skill is speed 2, <strong>not</strong> 1.
- You may need to use an external reference and/or look in the game
- files to find out the speed of any given weapon, because only
- some weapons have their true speeds displayed in-game. Others
- have ambiguous speed descriptions like “Fast”, which
- could correspond to a speed of 4, or to a speed of 5.
- </p>
- <p>
- Stats (STR, DEX, INT, LUK) are total stat values, after base
- stats <strong>and</strong> equipment <strong>and</strong> buffs.
- Likewise, total WATK is the sum of all WATK from your equipment
- (including both your weapon, and your other equips), plus WATK
- from skills, plus WATK from buffs (except Echo of Hero, which,
- for convenience, can be entered separately). Total MATK is
- defined similarly to total WATK, but it should be noted that it
- should also include the MATK that is due to your total INT score.
- This “total MATK” is displayed in-game as
- “MAGIC” inside of the “DETAIL” tab of the
- “CHARACTER STATS” window (in the keybinding GUI, this
- window is listed as “ABILITY”).
- </p>
- <p>
- The mastery is given here as a percentage. Your mastery can never
- be less than 10%, but it can be higher, if you have one or more
- relevant mastery skills (“relevant” because mastery
- skills typically only apply to certain classes of weapons, e.g.
- only axes). Most mastery skills increase your mastery up to a
- total of 60%, but some fourth-job skills can take you up to as
- high as 90%. Mastery for magical attacks works on a per-spell
- basis (based on which spell it is and what level it’s at),
- and should be listed in-game within the spell’s
- description.
- </p>
- <p>
- The “Damage multi” field under “Skill”
- refers to the damage percentage listed in the description of a
- physical attack; for example, the Power Strike skill has a
- “Damage multi” of 260% at max level. The “Basic
- attack” only applies to magical attacks and summons, and is
- generally listed in the skill description as “basic
- attack”; for example, the Magic Claw skill has a
- “Basic attack” of 40 at max level.
- “Lines” refers to how many lines of damage the
- attacking skill does; for example, this value is 1 for Power
- Strike and 2 for Magic Claw.
- </p>
- <p>
- Damage multipliers from skills, critical hits, and elemental
- effects work in tandem. All of these influences combine into a
- single multiplier that we will here refer to as “<strong
- >the</strong
- >
- damage multiplier”. This is the number by which you
- multiply your basic attack damage (for physical attacks, this is
- your basic attack — i.e. not using a skill — with no
- crits nor elemental effects nor reduction due to WDEF). These
- sources of damage multiplier (skills, crits, elemental effects)
- are <strong>additive</strong> in the sense that these multipliers
- are summed together, and then that sum makes up
- <em>the</em> damage multiplier.
- <strong
- >Note that basic attacks have a “skill” multiplier
- of 1</strong
- >, i.e. as if you were using an attacking skill that said
- “100% damage” in the description. For example, say
- you use the Arrow Blow skill as an archer who has maxed both
- Arrow Blow (described in-game as “Damage 260%”) and
- Critical Shot (described in-game as “40% success rate,
- critical damage 200%”, although the critical damage is
- actually 100 percentage points lower than described, i.e. 100%;
- see below). Let’s assume that this particular use of Arrow
- Blow is a crit, and thus we get the benefit of the
- “critical damage 200%” (again, really 100%; see
- below). The damage multiplier is the sum of the multipliers from
- Arrow Blow and Critical Shot: 2.6 + 1 = 3.6.
- Thus, we expect this attack to (again, assuming the monster has 0
- WDEF) do 3.6 times as much as a non-critical basic attack would.
- Note that magic attacks work somewhat differently, and (as far as
- I know) do not use this additive notion of “damage
- multiplier”.
- </p>
- <p>
- The descriptions of skills that have to do with critical hits are
- typically misleading. Below is a list of these skills and what
- they <em>actually</em> add to the damage multiplier:
- </p>
- <ul>
- <li>
- Critical Shot: 100 percentage points lower than described
- in-game; at max level, the description reads
- “200%”, but it only adds 100 percentage points to
- your damage multiplier.
- </li>
- <li>Critical Throw: Same as for Critical Shot.</li>
- <li>
- Stun Mastery: The in-game description is mostly correct (60
- extra percentage points added to the damage multiplier when
- Stun Mastery is at its maximum level), but this skill interacts
- bizarrely with Sharp Eyes: when the marauder/buccaneer is
- affected by Sharp Eyes, Stun Mastery acts as if it granted 100
- more percentage points than it nominally does, viz. 160 at max
- level. This extra 100 percentage points is
- <strong
- >in addition to all of the percentage points contributed by
- Sharp Eyes</strong
- >, which is 140 such points when Sharp Eyes is at its maximum
- level (see below).
- </li>
- <li>
- Sharp Eyes: 100 percentage points higher than described
- in-game; at max level, the description reads
- “+40%”, but it actually adds 140 percentage points
- to your damage multiplier. This also, for unknown reasons,
- interacts strangely with Stun Mastery (see above). Sharp Eyes
- in particular is a source of confusion (especially because it
- can be applied to characters of any class/job), so the
- paragraph immediately below is dedicated to it.
- </li>
- </ul>
- <p>
- The in-game description of the Sharp Eyes skill is somewhat
- misleading. At max level, the skill grants “[Critical]
- Damage + 40%”. However, this should probably read
- “+140%”, because the actual value that is added to
- the damage multiplier is 1.4 (140 percentage points). For archers
- and assassins/hermits/nightlords, interpreting Sharp Eyes is
- pretty straightforward: it just adds something to your
- already-existing critical chance and to your already-existing
- critical multiplier. For example, an archer with maxed Critical
- Shot and maxed Sharp Eyes has a
- 0.4 + 0.15 = 0.55 probability of critting,
- and a critical multiplier of 1 + 1.4 = 2.4.
- For marauders/buccaneers with Stun Mastery, Sharp Eyes works
- confusingly: it effectively adds 2.4 (instead of 1.4) to the
- critical multiplier of critical hits on stunned monsters. Stun
- Mastery’s critical multiplier at max level is 0.6, so with
- maxed Sharp Eyes, it is increased to 0.6 + 2.4 = 3.0. For
- physical attackers who do
- <em>not</em> already have a critical-hit-granting skill, being
- buffed with maxed Sharp Eyes means an overall
- 0 + 0.15 = 0.15 probability of critting, and
- a critical multiplier of 1.4; <strong>not</strong> a critical
- multiplier of 0.4. Note that the value referred to here as the
- “critical multiplier” is
- <strong>additive</strong> and <em>only</em> serves to cumulate
- into the overall “damage multiplier”. For more on
- this, see above. For magical attacks, the probability of critting
- with maxed Sharp Eyes is also 0.15, but an attack that crits does
- <strong>not</strong> add 1.4 to the damage multiplier of a
- non-crit, as you would expect (magical attacks do not use the
- same notion of “damage multiplier”). Instead, it
- simply multiplies the overall damage of the magical attack by a
- factor of 1.4. Nevertheless, if you want to use the calculator
- for magical attacks combined with Sharp Eyes, you should set the
- values in the inputs below as if you were setting them for a
- physical attacker who has no critical-hit-granting skill of their
- own.
- </p>
- <p>
- “Good anim probability” refers to the probability of
- your melee attack having a “good” (read: higher
- primary stat multiplier) animation, given that you’re basic
- attacking or using a skill that animates similarly (e.g. Power
- Strike). This value is ignored whenever you’re attacking
- with a skill that always uses a certain animation, e.g.
- Somersault Kick, which always stabs (i.e. never swings). This
- value is also ignored whenever you’re attacking with a
- weapon that does not distinguish between “good” and
- “bad” animations, e.g. swords and daggers. The only
- weapon types that distinguish between “good” and
- “bad” animations are:
- </p>
- <ul>
- <li>
- Polearms: swings are good, stabs are bad. Good anim probability
- is suspected to be 60%.
- </li>
- <li>
- Spears: stabs are good, swings are bad. Good anim probability
- is suspected to be 40%.
- </li>
- <li>
- Axes: swings are good, stabs are bad. Good anim probability is
- suspected to be 60%.
- </li>
- <li>
- Blunt weapons: swings are good, stabs are bad. Good anim
- probability is suspected to be 60%.
- </li>
- <li>
- Wands: swings are good, stabs are bad. Good anim probability is
- suspected to be 100%.
- </li>
- <li>
- Staves: swings are good, stabs are bad. Good anim probability
- is suspected to be 100%.
- </li>
- </ul>
- <p>
- You can select a number of targets greater than one, but note
- that this does <strong>not</strong> take into account the damage
- taken by any of said virtual enemies, except for one of them. The
- ability to select a number of targets is only there for skills
- like Heal, which change their per-line damage based on the total
- number of targets. Note that when casting Heal (maximum of 6
- targets), the caster counts as a target, thus lowering the
- maximum number of possible enemy targets from 6 to 5. Also note
- that Heal, unlike most spells, uses the “Damage
- multi” rather than the “Basic attack” (the
- damage multi is typically 300% at maximum level).
- </p>
- <p>
- “Ordinal # of hit” refers to the position/index of
- the particular damaging strike in question, within the ordering
- of all damaging strikes produced by the attack in question. For
- example, when using Iron Arrow, the first damaging strike (the
- one that damages the first monster struck by the arrow) has an
- ordinal # of 1, the next damaging strike an ordinal # of 2, and
- so on.
- </p>
- <p>
- It is possible for enemies to have negative WDEF values, due to
- effects like Threaten.
- </p>
- <p>
- The “Attack with Dark Power” in the description of
- the Panic skills is a probability of the target having Darkness
- (the status effect that lowers WACC) inflicted on them, and is
- unrelated to the damage that each skill deals. Both Panic and
- Coma lack attack periods, because they are combo finishers.
- </p>
- <p>
- Venom skills (Venomous Star and Venomous Stab) have their damage
- calculated for <strong>just the venom</strong> damage over time.
- Also note that these same skills make use of the “Basic
- attack” parameter, as noted in their skill descriptions.
- </p>
- <p>
- The damage of the Heaven’s Hammer skill is calculated on
- the server side. As a result, its exact damage formula has
- remained somewhat elusive. Two versions are given here: the
- original XiuzSource version, and a “corrected”
- version that uses the attacker’s mastery to determine the
- minimum damage. The original XiuzSource version determines the
- minimum damage by simply multiplying the maximum damage by 0.8.
- </p>
- <p>
- The terms “expectation” and “expected”
- are here used in
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Expected_value"
- >the probability-theoretic sense</a
- >. The “σ” symbol refers to
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Standard_deviation"
- >the standard deviation</a
- >, which is conveniently in the same units/dimensions as the
- values themselves. We often talk about the so-called
- “stability” of damage, which is essentially a way of
- talking about the
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Statistical_dispersion"
- >dispersion</a
- >
- of the damage instances, and the standard deviation is one way of
- quantifying dispersion. However, care must be taken when
- comparing two separate standard deviations, because standard
- deviation is an
- <em>absolute</em> measure of dispersion. As a result, two
- characters who appear to have roughly the <em>same</em> damage
- stability, but the magnitude of whose damage outputs — say,
- damage per line, for example — are significantly different,
- will have damage-per-line distributions with significantly
- <em>different</em> standard deviations. This is because the
- standard deviation is expressed in the same dimensions as the
- values themselves, so it scales up linearly as the values of the
- distribution are scaled up. To help get a <em>relative</em> (and
- thus more comparable) measure of damage stability,
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Coefficient_of_variation"
- >the coefficient of variation</a
- >
- (CV) is used. The CV is
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Dimensionless_quantity"
- >a dimensionless quantity</a
- >.
- </p>
- <p>
- If you see an asterisk (*) on the right-hand side of a damage
- value (particularly, the upper bound of a range), it means that
- that value is <em>exactly</em> an integer, before it is sampled
- from. Damage ranges are <em>virtually</em> intervals of real
- numbers (actually
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Floating-point_arithmetic"
- >floating point numbers</a
- >, of course). To get a particular damage outcome, the interval
- is sampled from (as a
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Continuous_uniform_distribution"
- >continuous uniform distribution</a
- >), the sample is then
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Clamping_(graphics)"
- >clamped</a
- >
- to a minimum of 1, and the result’s fractional part is then
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Truncation"
- >truncated</a
- >. There’s some finer details here about the exact order of
- operations, but the point is that when a particular bound is
- <em>exactly</em> an integer, it becomes unclear whether or not it
- can ever be sampled. This is perhaps a bigger deal than it
- usually would be, because the fractional parts of the samples are
- truncated, making a sample of e.g. 2.999 effectively much less
- (viz. 1 less, instead of 0.001 less) than a sample of 3. If you
- see an asterisked value, you can effectively just subtract 1 from
- it. The method here chosen to display these liminal values is
- largely for completeness.<sup>[3]</sup>
- </p>
- <details>
- <summary>Footnotes for “You Should Know”</summary>
- <p>
- [1]: This is technically untrue; speeds above 9 are in fact
- possible, but would require equipping a weapon with a speed
- above 9 (because there is no way to increase speed values with
- (de)buffs or similar). Such weapons conventionally do not
- exist, although see for example the
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://maplelegends.com/lib/equip?id=01322053"
- >Golden Mace</a
- >, which has a speed of 15 (but does not actually exist in
- MapleLegends as far as I know). As a result, attack period
- values for speeds above 9 are unknown — and they may just
- be the same as for speed 9.
- </p>
- <p>
- [2]: Depending on the implementation, this may or may not be
- exactly correct. In early versions of MapleStory that have
- pirates (e.g. GMS v62), the client did not have a separate buff
- opcode for Speed Infusion, so Speed Infusion has to be
- “emulated” by using an ordinary Booster buff with
- twice the magnitude of a normal Booster skill (4 instead of 2).
- The result is thus usually the same, but for jobs that lack a
- booster skill of their own, this can be a big boon (−4 to
- the speed of their weapon when affected by Speed Infusion,
- instead of the expected −2). Also worth noting here is
- that many implementations lack a separate opcode for Spell
- Booster, so Speed Infusion can effectively lower spellcasting
- speeds beyond the usual −2 of maxed Spell Booster (all
- the way to −4, potentially). This is another artifact/bug
- of early pirate implementations, and spellcasting speeds below
- −2 are not handled by this calculator. Also note that in
- these same versions (where Spell Booster is treated identically
- to weapon Booster skills), Spell Booster <em>does</em> add
- −2 to the speed category of your equipped weapon. As a
- result, these versions typically only allow Spell Booster to be
- used when a wand or staff is equipped, so that the caster
- cannot effectively have, for example, Sword Booster by simply
- casting Spell Booster with a sword in hand. Instead, Spell
- Booster in these versions acts as both a spell booster
- <em>and</em> a “Wand/Staff Booster”.
- </p>
- <p>
- [3]: Typically (see e.g.
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Math.html#random()"
- >in Java</a
- >), software functions that are intended to return a
- uniformly-distributed sample from an interval of floating point
- numbers do so from a nominally
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://mathworld.wolfram.com/Half-ClosedInterval.html"
- >half-closed interval</a
- >; in particular, the lower “half” (read: bound) is
- closed/included, while the upper “half” is
- open/excluded. As a result, an upper range bound that has an
- asterisk (*) can only be guaranteed to <em>nominally</em> be
- part of the range, and it may or may not have a nonzero
- probability of being sampled, depending upon the
- implementation. For reference, the number of
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Single-precision_floating-point_format"
- >single-precision</a
- >
- (32-bit, typically <code>float</code> in
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/C_(programming_language)"
- >C</a
- >)
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/IEEE_754"
- >IEEE 754</a
- >
- floating point numbers within
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Unit_interval"
- >the unit interval</a
- >
- is 1,065,353,217 — this number is only for scale, since
- precision varies depending on how far away from zero you are,
- and
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Double-precision_floating-point_format"
- >double-precision</a
- >
- floating point numbers are common as well — but the point
- is that it shouldn’t matter much for expected values and
- variances. It’s just that it may (or may not) be
- impossible to <em>actually witness</em> that asterisked damage
- value.
- </p>
- </details>
- </details>
- <a href="#calculator" class="h-anchor"
- ><h2 id="calculator">Calculator</h2></a
- >
- <div id="save-load-div">
- <fieldset id="save-load">
- <legend>Save/load</legend>
- <div id="currently-loaded"></div>
- <button id="save-as" type="button">Save as</button>
- <button id="save" type="button">Save</button>
- <button id="load" type="button">Load</button>
- <button id="delete" type="button">Delete</button>
- <button id="export" type="button">Export</button>
- <button id="import" type="button">Import</button>
- <div id="save-load-dialog"></div>
- </fieldset>
- </div>
- <div id="calculator-input">
- <fieldset id="stats">
- <legend>Stats</legend>
- <label for="str">
- <abbr
- class="help"
- title="Total STR; the sum of base STR, STR from equipment, buffs, etc."
- >STR</abbr
- >
- <input type="number" id="str" name="str" min="4" value="4" />
- </label>
- <label for="dex">
- <abbr
- class="help"
- title="Total DEX; the sum of base DEX, DEX from equipment, buffs, etc."
- >DEX</abbr
- >
- <input type="number" id="dex" name="dex" min="4" value="4" />
- </label>
- <label for="int">
- <abbr
- class="help"
- title="Total INT; the sum of base INT, INT from equipment, buffs, etc."
- >INT</abbr
- >
- <input type="number" id="int" name="int" min="4" value="4" />
- </label>
- <label for="luk">
- <abbr
- class="help"
- title="Total LUK; the sum of base LUK, LUK from equipment, buffs, etc."
- >LUK</abbr
- >
- <input type="number" id="luk" name="luk" min="4" value="4" />
- </label>
- </fieldset>
- <fieldset id="attack-stats">
- <legend>Attack stats</legend>
- <label for="total-watk">
- <abbr
- class="help"
- title="Total weapon attack, not including WATK from Echo of Hero; the sum of WATK from equipment, WATK buffs, and ammunition. This also does not include WATK from bare hands (no weapon equipped)."
- >Total WATK</abbr
- >
- <input
- type="number"
- id="total-watk"
- name="total-watk"
- min="0"
- value="1"
- />
- </label>
- <label for="total-matk">
- <abbr
- class="help"
- title="Total MATK (total magic attack; TMA), not including MATK from Echo of Hero; the sum of WATK from total INT score, equipment, and MATK buffs."
- >Total MATK</abbr
- >
- <input
- type="number"
- id="total-matk"
- name="total-matk"
- min="4"
- value="4"
- />
- </label>
- <label for="echo">
- <abbr
- class="help"
- title="Percentage points of (W/M)ATK increase due to Echo of Hero. This is 0% if you’re not affected by Echo of Hero, and generally 4% otherwise. Also note that because this is specified separately from (W/M)ATK, the (W/M)ATK bonuses from Echo of Hero are not included in the (W/M)ATK values that are input directly into the calculator."
- >Echo of Hero</abbr
- >
- <input
- type="number"
- id="echo"
- name="echo"
- min="0"
- value="0"
- />%
- </label>
- </fieldset>
- <label for="mastery">
- <abbr
- class="help"
- title="This “Mastery” value applies to both physical and magical attacks. For physical attacks, it is 10% by default (but can be increased by a relevant skill; usually up to 60%, although higher values are possible). For magical attacks, the mastery is given by the description of the spell, at the particular skill level that you’re casting the spell at."
- >Mastery</abbr
- >
- <input
- type="number"
- id="mastery"
- name="mastery"
- min="10"
- max="90"
- step="5"
- value="10"
- />%
- </label>
- <fieldset id="skill">
- <legend>Skill</legend>
- <label for="skill-dmg-multi">
- <abbr
- class="help"
- title="The percentage of damage that your attacking skill deals; this is in the skill’s description, and is particular to each level of each skill. If you’re basic attacking (i.e. not using a skill), this is just 100%. Because Heal’s damage is expressed as a damage percentage, Heal is the only magical spell that this value applies to."
- >Damage multi</abbr
- >
- <input
- type="number"
- id="skill-dmg-multi"
- name="skill-dmg-multi"
- min="0"
- value="100"
- />%
- </label>
- <label for="skill-basic-atk">
- <abbr
- class="help"
- title="The basic attack usually only applies to spells. The basic attack of a spell is listed in the spell’s description, for the particular level of the spell that you’re using. It also applies to summons (even physical-attacking ones), but the idea is much the same. The only spell that this doesn’t apply to is Heal, which uses the “Damage multi” value instead."
- >Basic attack</abbr
- >
- <input
- type="number"
- id="skill-basic-atk"
- name="skill-basic-atk"
- min="0"
- value="10"
- />
- </label>
- <label for="skill-lines">
- <abbr
- class="help"
- title="The number of lines (i.e. displayed damage numbers) of damage that your attack deals. This applies to both physical and magical attacks (for example, Magic Claw has 2 lines)."
- >Lines</abbr
- >
- <input
- type="number"
- id="skill-lines"
- name="skill-lines"
- min="1"
- value="1"
- />
- </label>
- </fieldset>
- <fieldset id="crit">
- <legend>Critical hits</legend>
- <label for="crit-prob">
- <abbr
- class="help"
- title="The probability that any given line of damage is a critical hit, expressed as a percentage. This applies to both physical and magical attacks (magical attacks can crit due to Sharp Eyes)."
- >Critical chance</abbr
- >
- <input
- type="number"
- id="crit-prob"
- name="crit-prob"
- min="0"
- max="100"
- value="0"
- />%
- </label>
- <label for="crit-dmg">
- <abbr
- class="help"
- title="The number of percentage points added to your damage multiplier, in the case that a particular line of damage is a critical hit. For Critical Shot and Critical Throw, this value is 100 percentage points fewer than what is listed in-game. For Sharp Eyes (which stacks with other sources of “Critical multi”), this value is 100 points greater than what is listed in-game. Also, if both Stun Mastery and Sharp Eyes apply, this value is yet another 100 points greater than what is listed in-game (in addition to the extra 100 points that Sharp Eyes already gives). Stun Mastery otherwise works as advertised."
- >Critical multi</abbr
- >
- <input
- type="number"
- id="crit-dmg"
- name="crit-dmg"
- min="0"
- value="0"
- />%
- </label>
- </fieldset>
- <fieldset>
- <legend>Character</legend>
- <label for="class">
- <abbr
- class="help"
- title="Which of the 6 archetypes your character’s job falls into. Note that the number of options here is actually 7, because pirates are treated differently after second job advancement than they are during first job."
- >Class</abbr
- >
- <select name="class" id="class">
- <option value="0" selected>Beginner</option>
- <option value="100">Warrior</option>
- <option value="200">Magician</option>
- <option value="300">Archer</option>
- <option value="400">Rogue</option>
- <option value="500">Pirate</option>
- <option value="510">Pirate ≥2ⁿᵈ job</option>
- </select>
- </label>
- <label for="level">
- <abbr class="help" title="Your player character’s level."
- >Level</abbr
- >
- <input
- type="number"
- id="level"
- name="level"
- min="1"
- max="200"
- value="30"
- />
- </label>
- </fieldset>
- <fieldset id="weapon">
- <legend>Weapon</legend>
- <label for="weapon-type">
- <abbr
- class="help"
- title="The type of weapon that you have equipped. Note that while “no weapon at all” is an option, it is only possible to attack this way if you are some kind of pirate."
- >Type</abbr
- >
- <select name="weapon-type" id="weapon-type">
- <option value="0">[no weapon]</option>
- <optgroup label="Warrior’s">
- <option value="30" selected>One-handed sword</option>
- <option value="40">Two-handed sword</option>
- <option value="31">One-handed axe</option>
- <option value="41">Two-handed axe</option>
- <option value="32">One-handed blunt weapon</option>
- <option value="42">Two-handed blunt weapon</option>
- <option value="43">Spear</option>
- <option value="44">Polearm</option>
- </optgroup>
- <optgroup label="Magician’s">
- <option value="37">Wand</option>
- <option value="38">Staff</option>
- </optgroup>
- <optgroup label="Archer’s">
- <option value="45">Bow</option>
- <option value="46">Crossbow</option>
- </optgroup>
- <optgroup label="Rogue’s">
- <option value="33">Dagger</option>
- <option value="47">Claw</option>
- </optgroup>
- <optgroup label="Pirate’s">
- <option value="48">Knuckler</option>
- <option value="49">Gun</option>
- </optgroup>
- </select>
- </label>
- <label for="good-anim-prob">
- <abbr
- class="help"
- title="The probability of getting a “good” attack animation each time you basic attack. This value can apply even if you aren’t actually basic attacking, although it is totally irrelevant for magical attacks. Most weapon types either don’t have a distinction between “good” and “bad” animations, or they consider swinging animations to be “good”. The exception to this is spears, which consider swings to be “bad” and stabs (thrusts) to be “good”."
- >Good anim probability</abbr
- >
- <input
- type="number"
- id="good-anim-prob"
- name="good-anim-prob"
- min="0"
- max="100"
- step="0.001"
- value="60"
- />%
- </label>
- <label for="attack">
- <abbr
- class="help"
- title="The physical attacking skill that you are using. Basic attacks fall under “[other]” (except for special basic attacks: bow whacks, claw punches, and pistol-whips), along with many actual attacking skills. Note that physical-attacking summons (e.g. Frostprey) are included here as well."
- >Attack</abbr
- >
- <select name="attack" id="attack">
- <option value="0" selected>[other]</option>
- <option value="-1">[bow whack]</option>
- <option value="-2">[claw punch]</option>
- <optgroup label="Crusader">
- <option value="1111003">Panic</option>
- <option value="1111005">Coma</option>
- </optgroup>
- <optgroup label="Hero">
- <option value="1121006">Rush</option>
- <option value="1121008">Brandish</option>
- </optgroup>
- <optgroup label="Paladin">
- <option value="1121006">Rush</option>
- <option value="1221009">Blast</option>
- <option value="1221011">
- Heaven’s Hammer (original Xiuz)
- </option>
- <option value="1221111">
- Heaven’s Hammer (corrected Xiuz)
- </option>
- </optgroup>
- <optgroup label="Dragon Knight">
- <option value="1311101">Crusher (lvl 1~15)</option>
- <option value="1311001">Crusher (lvl 16~30)</option>
- <option value="1311004">Fury</option>
- <option value="1311006">Dragon Roar</option>
- </optgroup>
- <optgroup label="Dark Knight">
- <option value="1121006">Rush</option>
- </optgroup>
- <optgroup label="Hunter">
- <option value="3101003">Power Knock-Back</option>
- <option value="3101005">Arrow Bomb (impact)</option>
- <option value="3101105">Arrow Bomb (splash)</option>
- </optgroup>
- <optgroup label="Ranger">
- <option value="3111003">Inferno</option>
- </optgroup>
- <optgroup label="Bowmaster">
- <option value="3121004">Hurricane</option>
- <option value="3121006">Phoenix</option>
- </optgroup>
- <optgroup label="Crossbowman">
- <option value="3101003">Power Knock-Back</option>
- <option value="3201005">Iron Arrow</option>
- </optgroup>
- <optgroup label="Sniper">
- <option value="3211003">Blizzard</option>
- </optgroup>
- <optgroup label="Marksman">
- <option value="3221001">Piercing Arrow</option>
- <option value="3221005">Frostprey</option>
- </optgroup>
- <optgroup label="Rogue">
- <option value="4001334">Double Stab</option>
- <option value="4001344">Lucky Seven</option>
- </optgroup>
- <optgroup label="Hermit">
- <option value="4111005">Avenger</option>
- </optgroup>
- <optgroup label="Night Lord">
- <option value="4121007">Triple Throw</option>
- <option value="4121004">Ninja Ambush</option>
- <option value="4120005">Venomous Star</option>
- <option value="4121008">Ninja Storm</option>
- </optgroup>
- <optgroup label="Bandit">
- <option value="4201005">Savage Blow</option>
- </optgroup>
- <optgroup label="Chief Bandit">
- <option value="4211002">Assaulter</option>
- </optgroup>
- <optgroup label="Shadower">
- <option value="4121004">Ninja Ambush</option>
- <option value="4220005">Venomous Stab</option>
- <option value="4221007">Boomerang Step</option>
- </optgroup>
- <optgroup label="Pirate">
- <option value="5001001">Flash Fist</option>
- <option value="5001002">Somersault Kick</option>
- <option value="5001003">Double Shot</option>
- </optgroup>
- <optgroup label="Brawler">
- <option value="5101002">Backspin Blow</option>
- <option value="5101003">Double Uppercut</option>
- </optgroup>
- <optgroup label="Marauder">
- <option value="5111002">Energy Blast</option>
- <option value="5111004">Energy Drain</option>
- <option value="5111006">Shockwave</option>
- </optgroup>
- <optgroup label="Buccaneer">
- <option value="5121002">Energy Orb</option>
- <option value="5121004">Demolition</option>
- <option value="5121005">Snatch</option>
- <option value="5121007">Barrage</option>
- </optgroup>
- <optgroup label="Gunslinger">
- <option value="5201001">Invisible Shot</option>
- <option value="5201002">Grenade</option>
- <option value="5201004">Blank Shot</option>
- <option value="5201006">Recoil Shot</option>
- </optgroup>
- <optgroup label="Outlaw">
- <option value="5210000">Burst Fire</option>
- <option value="5211001">Octopus</option>
- <option value="5211002">Gaviota</option>
- <option value="5211004">Flamethrower</option>
- <option value="5211005">Ice Splitter</option>
- <option value="5211006">Homing Beacon</option>
- </optgroup>
- <optgroup label="Corsair">
- <option value="5220002">Wrath of the Octopi</option>
- <option value="5221003">Aerial Strike</option>
- <option value="5221004">Rapid Fire</option>
- <option value="5221007">Battleship Cannon</option>
- <option value="5221008">Battleship Torpedo</option>
- </optgroup>
- </select>
- </label>
- <label for="spell">
- <abbr
- class="help"
- title="The spell that you are casting. If this doesn’t apply, just leave it at the default “[other]”."
- >Spell</abbr
- >
- <select name="spell" id="spell">
- <option value="0">[other]</option>
- <optgroup label="F/P Mage">
- <option value="2111002">Explosion</option>
- <option value="2111003">Poison Mist</option>
- <option value="2111006">Element Composition</option>
- </optgroup>
- <optgroup label="F/P Archmage">
- <option value="2121005">Elquines</option>
- <option value="2121007">Meteor Shower</option>
- </optgroup>
- <optgroup label="I/L Mage">
- <option value="2211002">Ice Strike</option>
- <option value="2211003">Thunder Spear</option>
- <option value="2211006">Element Composition</option>
- </optgroup>
- <optgroup label="I/L Archmage">
- <option value="2221005">Ifrit</option>
- <option value="2221006">Chain Lightning</option>
- <option value="2221007">Blizzard</option>
- </optgroup>
- <optgroup label="Cleric">
- <option value="2301002">Heal</option>
- <option value="2301005">Holy Arrow</option>
- </optgroup>
- <optgroup label="Priest">
- <option value="2311004">Shining Ray</option>
- <option value="2311006">Summon Dragon</option>
- </optgroup>
- <optgroup label="Bishop">
- <option value="2321003">Bahamut</option>
- <option value="2321007">Angel Ray</option>
- <option value="2321008">Genesis</option>
- </optgroup>
- </select>
- </label>
- <label for="speed">
- <abbr
- class="help"
- title="The speed category of your weapon, after being adjusted by buffs. This value can never be lower than 2, so lower values are clamped to just 2. It is often (but not always) necessary to use out-of-game information to get the speed category of your weapon, because the game uses ambiguous names like “Fast”. Ordinary Booster skills reduce your speed category by 2. Spell Booster, depending on your implementation, may have a similar effect (reducing by 1 category at earlier levels of Spell Booster, and 2 at later levels), although it only works with wands and staves. Speed Infusion reduces by 4 categories (or, again depending on implementation, it may instead stack with other Booster skills and reduce by just 2)."
- >Speed</abbr
- >
- <select name="speed" id="speed">
- <option value="2">2 (Faster)</option>
- <option value="3">3 (Faster)</option>
- <option value="4">4 (Fast)</option>
- <option value="5">5 (Fast)</option>
- <option value="6" selected>6 (Normal)</option>
- <option value="7">7 (Slow)</option>
- <option value="8">8 (Slow)</option>
- <option value="9">9 (Slower)</option>
- </select>
- </label>
- <label for="spell-booster">
- <abbr
- class="help"
- title="The amount that your spellcasting speed category is reduced by, due to buffs. This is −1 at earlier levels of Spell Booster (<11), and −2 at later levels. This only applies to magical attacks."
- >Spell booster</abbr
- >
- <input
- type="number"
- id="spell-booster"
- name="spell-booster"
- min="-2"
- max="0"
- value="0"
- />
- </label>
- </fieldset>
- <details>
- <summary>Elemental</summary>
- <fieldset>
- <legend>Elemental stuff</legend>
- <label for="ele-amp">
- <abbr
- class="help"
- title="The percentage that your magic damage is multiplied by, according to the description of your level of Element Amplification. If you don’t have Element Amplification, this is just 100%."
- >Element Amplification</abbr
- >
- <input
- type="number"
- id="ele-amp"
- name="ele-amp"
- min="100"
- value="100"
- />%
- </label>
- <label for="ele-boost">
- <abbr
- class="help"
- title="The percentage of damage added to your attacks (only applies when using Flamethrower and/or Ice Splitter) due to the corsair skill, Elemental Boost. This value can be found in the description of the level of the skill that you have. Note that this is unrelated to the “DoT/effect damage” increase granted by the same skill."
- >Elemental Boost</abbr
- >
- <input
- type="number"
- id="ele-boost"
- name="ele-boost"
- min="0"
- value="0"
- />%
- </label>
- <label for="ele-wep">
- <abbr
- class="help"
- title="How much your current weapon amplifies the element of the spell that you are currently casting. This only applies when using an Elemental Wand or Elemental Staff in conjunction with a spell of the same element, in which case this should be 25%."
- >Elemental Wand/Staff</abbr
- >
- <input
- type="number"
- id="ele-wep"
- name="ele-wep"
- min="0"
- value="0"
- />%
- </label>
- <fieldset>
- <legend>Elemental charge</legend>
- <label for="no-ele-charge">
- <abbr
- class="help"
- title="No (white knight/paladin) elemental charge is active."
- >None</abbr
- >
- <input
- type="radio"
- id="no-ele-charge"
- name="ele-charge"
- value="no-ele-charge"
- checked
- />
- </label>
- <label for="holy-ele-charge">
- <abbr
- class="help"
- title="One of the paladin (fourth job) elemental charges is active."
- >Holy</abbr
- >
- <input
- type="radio"
- id="holy-ele-charge"
- name="ele-charge"
- value="holy-ele-charge"
- />
- </label>
- <label for="other-ele-charge">
- <abbr
- class="help"
- title="One of the white knight (third job) elemental charges is active."
- >Other</abbr
- >
- <input
- type="radio"
- id="other-ele-charge"
- name="ele-charge"
- value="other-ele-charge"
- />
- </label>
- <label for="ele-charge-dmg">
- <abbr
- class="help"
- title="The damage multiplier, as listed in the current skill level’s description, of the active elemental charge. Expressed as a percentage."
- >Charge dmg</abbr
- >
- <input
- type="number"
- id="ele-charge-dmg"
- name="ele-charge-dmg"
- min="100"
- value="100"
- />%
- </label>
- <label for="ele-charge-level">
- <abbr
- class="help"
- title="The skill level of the elemental charge that is currently active."
- >Charge skill level</abbr
- >
- <input
- type="number"
- id="ele-charge-level"
- name="ele-charge-level"
- min="1"
- max="30"
- value="1"
- />
- </label>
- </fieldset>
- </fieldset>
- </details>
- <details>
- <summary>Combo attack</summary>
- <fieldset>
- <legend>(Advanced) combo attack</legend>
- <label for="ca-active">
- <abbr class="help" title="Is (Advanced) Combo Attack active?"
- >Active</abbr
- >
- <input type="checkbox" id="ca-active" name="ca-active" />
- </label>
- <label for="ca-dmg">
- <abbr
- class="help"
- title="The damage multiplier, as listed in the current skill level’s description, of Combo Attack. If you have Advanced Combo Attack, the percentage points listed in its description are added to those of Combo Attack (e.g. 220% + 30% = 250%). Expressed as a percentage."
- >CA+ACA dmg</abbr
- >
- <input
- type="number"
- id="ca-dmg"
- name="ca-dmg"
- min="100"
- value="104"
- />%
- </label>
- <label for="ca-level">
- <abbr class="help" title="The skill level of Combo Attack."
- >CA level</abbr
- >
- <input
- type="number"
- id="ca-level"
- name="ca-level"
- min="1"
- max="30"
- value="1"
- />
- </label>
- <label for="ca-orbs">
- <abbr
- class="help"
- title="The number of (Advanced) Combo Attack orbs that you currently have."
- >Orbs</abbr
- >
- <input
- type="number"
- id="ca-orbs"
- name="ca-orbs"
- min="1"
- max="10"
- value="1"
- />
- </label>
- </fieldset>
- </details>
- <details>
- <summary>Berserk</summary>
- <fieldset>
- <legend>Berserk</legend>
- <label for="zerk-active">
- <abbr class="help" title="Is Berserk active?">Active</abbr>
- <input type="checkbox" id="zerk-active" name="zerk-active" />
- </label>
- <label for="zerk-dmg">
- <abbr
- class="help"
- title="The damage multiplier, as listed in the current skill level’s description, of Berserk. Expressed as a percentage."
- >Berserk dmg</abbr
- >
- <input
- type="number"
- id="zerk-dmg"
- name="zerk-dmg"
- min="100"
- value="100"
- />%
- </label>
- </fieldset>
- </details>
- <fieldset>
- <legend>Enemy</legend>
- <label for="enemy-wdef">
- <abbr
- class="help"
- title="The target monster’s WDEF (weapon defence)."
- >WDEF</abbr
- >
- <input
- type="number"
- id="enemy-wdef"
- name="enemy-wdef"
- value="0"
- />
- </label>
- <label for="enemy-mdef">
- <abbr
- class="help"
- title="The target monster’s MDEF (magic defence)."
- >MDEF</abbr
- >
- <input
- type="number"
- id="enemy-mdef"
- name="enemy-mdef"
- value="0"
- />
- </label>
- <label for="ele-sus">
- <abbr
- class="help"
- title="How susceptible is the target monster to the element that you are currently using. This applies to magical attacks in the obvious ways. For physical attacks, only some physical attacks have elements; for example, Flamethrower is elementally fire, and Blast is elementally holy when used with Holy/Divine Charge."
- >Element susceptibility</abbr
- >
- <select name="ele-sus" id="ele-sus">
- <option value="0">Immune</option>
- <option value="0.5">Strong</option>
- <option value="1" selected>Neutral</option>
- <option value="1.5">Weak</option>
- </select>
- </label>
- <label for="enemy-level">
- <abbr class="help" title="The level of the target monster."
- >Level</abbr
- >
- <input
- type="number"
- id="enemy-level"
- name="enemy-level"
- min="1"
- value="1"
- />
- </label>
- <label for="enemy-count">
- <abbr
- class="help"
- title="How many enemy targets there are of this attack. This value can be greater than one, but note that this does not take into account the damage taken by any of said virtual enemies, except for one of them (you can choose exactly which one by modifying “Ordinal # of hit”). This value is only here for skills like Heal, which change their per-line damage based on the total number of targets. Note that when casting Heal (maximum of 6 targets), the caster counts as a target, thus lowering the maximum number of possible enemy targets from 6 to 5."
- >Count</abbr
- >
- <input
- type="number"
- id="enemy-count"
- name="enemy-count"
- min="1"
- max="15"
- value="1"
- />
- </label>
- <label for="hit-ord">
- <abbr
- class="help"
- title="The position/index of the particular damaging strike in question, within the ordering of all damaging strikes produced by the attack that you’re using. For example, when using Iron Arrow, the first damaging strike (the one that damages the first monster struck by the arrow) has an ordinal # of 1, the next damaging strike an ordinal # of 2, and so on."
- >Ordinal # of hit</abbr
- >
- <input
- type="number"
- id="hit-ord"
- name="hit-ord"
- min="1"
- max="6"
- value="1"
- />
- </label>
- </fieldset>
- </div>
- <div id="calculator-output">
- <b>Range, <em>crit range</em>:</b>
- <span id="range">??? ~ ???</span>,
- <em id="crit-range">??? ~ ???</em>
- <br />
- <b>Expected dmg per line:</b>
- <span id="expected-per-hit">???</span>
- <br />
- <b>σ<sub>per line</sub>, CV<sub>per line</sub>:</b>
- <span id="sd-per-hit">???</span>, <span id="cv-per-hit">???</span>
- <br />
- <b>Total range:</b>
- <span id="total-range">??? ~ ???</span>
- <br />
- <b>Total expected dmg per hit:</b>
- <span id="expected-per-hit-total">???</span>
- <br />
- <b>σ<sub>total hit</sub>, CV<sub>total hit</sub>:</b>
- <span id="sd-per-hit-total">???</span>,
- <span id="cv-per-hit-total">???</span>
- <br />
- <b>Expected DPS:</b> <span id="expected-dps">???</span>
- <br />
- <b>σ<sub>DPS</sub>, CV<sub>DPS</sub>:</b>
- <span id="sd-dps">???</span>, <span id="cv-dps">???</span>
- <hr />
- <h3>Magic</h3>
- <b>Range, <em>crit range</em>:</b>
- <span id="range-magic">??? ~ ???</span>,
- <em id="crit-range-magic">??? ~ ???</em>
- <br />
- <b>Expected dmg per line:</b>
- <span id="expected-per-hit-magic">???</span>
- <br />
- <b>σ<sub>per line</sub>, CV<sub>per line</sub>:</b>
- <span id="sd-per-hit-magic">???</span>,
- <span id="cv-per-hit-magic">???</span>
- <br />
- <b>Total range:</b>
- <span id="total-range-magic">??? ~ ???</span>
- <br />
- <b>Total expected dmg per hit:</b>
- <span id="expected-per-hit-total-magic">???</span>
- <br />
- <b>σ<sub>total hit</sub>, CV<sub>total hit</sub>:</b>
- <span id="sd-per-hit-total-magic">???</span>,
- <span id="cv-per-hit-total-magic">???</span>
- <br />
- <b>Expected DPS:</b>
- <span id="expected-dps-magic">???</span>
- <br />
- <b>σ<sub>DPS</sub>, CV<sub>DPS</sub>:</b>
- <span id="sd-dps-magic">???</span>,
- <span id="cv-dps-magic">???</span>
- <hr />
- <h3>Warnings</h3>
- <div id="warnings-div">
- <span id="warnings" class="success">No warnings.</span>
- </div>
- </div>
- <a href="#legal" class="h-anchor"><h2 id="legal">Legal</h2></a>
- <p>
- All of the code on this page is entirely
- <a
- target="_blank"
- rel="noopener noreferrer"
- href="https://en.wikipedia.org/wiki/Free_software"
- >free</a
- >
- (<a
- target="_blank"
- rel="noopener noreferrer"
- href="https://www.gnu.org/licenses/agpl-3.0"
- >GNU AGPL v3</a
- >+). See
- <a href="../source.html" data-jslicense="1">the Source page</a>
- for more information and access to source code.
- </p>
- </main>
- </div>
- </div>
- </body>
- </html>
|