types.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. /*
  2. * @licstart The following is the entire license notice for the JavaScript
  3. * code in this page.
  4. *
  5. * This file is part of oddjobs-dmg-calc.
  6. *
  7. * oddjobs-dmg-calc is free software: you can redistribute it and/or modify it
  8. * under the terms of the GNU Affero General Public License as published by the
  9. * Free Software Foundation, either version 3 of the License, or (at your
  10. * option) any later version.
  11. *
  12. * oddjobs-dmg-calc is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  14. * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
  15. * License for more details.
  16. *
  17. * You should have received a copy of the GNU Affero General Public License
  18. * along with oddjobs-dmg-calc. If not, see <https://www.gnu.org/licenses/>.
  19. *
  20. * @licend The above is the entire license notice for the JavaScript code in
  21. * this page.
  22. */
  23. export class Stats {
  24. str;
  25. dex;
  26. int;
  27. luk;
  28. constructor(str, dex, int, luk) {
  29. this.str = str;
  30. this.dex = dex;
  31. this.int = int;
  32. this.luk = luk;
  33. }
  34. }
  35. export var WeaponType;
  36. (function (WeaponType) {
  37. WeaponType[WeaponType["None"] = 0] = "None";
  38. WeaponType[WeaponType["OneHandedSword"] = 30] = "OneHandedSword";
  39. WeaponType[WeaponType["OneHandedAxe"] = 31] = "OneHandedAxe";
  40. WeaponType[WeaponType["OneHandedMace"] = 32] = "OneHandedMace";
  41. WeaponType[WeaponType["Dagger"] = 33] = "Dagger";
  42. WeaponType[WeaponType["Wand"] = 37] = "Wand";
  43. WeaponType[WeaponType["Staff"] = 38] = "Staff";
  44. WeaponType[WeaponType["TwoHandedSword"] = 40] = "TwoHandedSword";
  45. WeaponType[WeaponType["TwoHandedAxe"] = 41] = "TwoHandedAxe";
  46. WeaponType[WeaponType["TwoHandedMace"] = 42] = "TwoHandedMace";
  47. WeaponType[WeaponType["Spear"] = 43] = "Spear";
  48. WeaponType[WeaponType["Polearm"] = 44] = "Polearm";
  49. WeaponType[WeaponType["Bow"] = 45] = "Bow";
  50. WeaponType[WeaponType["Crossbow"] = 46] = "Crossbow";
  51. WeaponType[WeaponType["Claw"] = 47] = "Claw";
  52. WeaponType[WeaponType["Knuckler"] = 48] = "Knuckler";
  53. WeaponType[WeaponType["Gun"] = 49] = "Gun";
  54. })(WeaponType || (WeaponType = {}));
  55. export var Attack;
  56. (function (Attack) {
  57. Attack[Attack["Other"] = 0] = "Other";
  58. Attack[Attack["BowWhack"] = -1] = "BowWhack";
  59. Attack[Attack["ClawPunch"] = -2] = "ClawPunch";
  60. Attack[Attack["Panic"] = 1111003] = "Panic";
  61. Attack[Attack["Coma"] = 1111005] = "Coma";
  62. Attack[Attack["Rush"] = 1121006] = "Rush";
  63. Attack[Attack["Brandish"] = 1121008] = "Brandish";
  64. Attack[Attack["Blast"] = 1221009] = "Blast";
  65. Attack[Attack["HeavensHammerXiuz"] = 1221011] = "HeavensHammerXiuz";
  66. Attack[Attack["HeavensHammerXiuzCorrected"] = 1221111] = "HeavensHammerXiuzCorrected";
  67. Attack[Attack["CrusherHigh"] = 1311001] = "CrusherHigh";
  68. Attack[Attack["CrusherLow"] = 1311101] = "CrusherLow";
  69. Attack[Attack["Fury"] = 1311004] = "Fury";
  70. Attack[Attack["DragonRoar"] = 1311006] = "DragonRoar";
  71. Attack[Attack["PowerKnockBack"] = 3101003] = "PowerKnockBack";
  72. Attack[Attack["ArrowBombImpact"] = 3101005] = "ArrowBombImpact";
  73. Attack[Attack["ArrowBombSplash"] = 3101105] = "ArrowBombSplash";
  74. Attack[Attack["IronArrow"] = 3201005] = "IronArrow";
  75. Attack[Attack["Inferno"] = 3111003] = "Inferno";
  76. Attack[Attack["Blizzard"] = 3211003] = "Blizzard";
  77. Attack[Attack["Hurricane"] = 3121004] = "Hurricane";
  78. Attack[Attack["Phoenix"] = 3121006] = "Phoenix";
  79. Attack[Attack["Frostprey"] = 3221005] = "Frostprey";
  80. Attack[Attack["PiercingArrow"] = 3221001] = "PiercingArrow";
  81. Attack[Attack["DoubleStab"] = 4001334] = "DoubleStab";
  82. Attack[Attack["LuckySeven"] = 4001344] = "LuckySeven";
  83. Attack[Attack["Avenger"] = 4111005] = "Avenger";
  84. Attack[Attack["TripleThrow"] = 4121007] = "TripleThrow";
  85. Attack[Attack["Assaulter"] = 4211002] = "Assaulter";
  86. Attack[Attack["NinjaAmbush"] = 4121004] = "NinjaAmbush";
  87. Attack[Attack["VenomousStar"] = 4120005] = "VenomousStar";
  88. Attack[Attack["VenomousStab"] = 4220005] = "VenomousStab";
  89. Attack[Attack["NinjaStorm"] = 4121008] = "NinjaStorm";
  90. Attack[Attack["SavageBlow"] = 4201005] = "SavageBlow";
  91. Attack[Attack["BoomerangStep"] = 4221007] = "BoomerangStep";
  92. Attack[Attack["FlashFist"] = 5001001] = "FlashFist";
  93. Attack[Attack["SomersaultKick"] = 5001002] = "SomersaultKick";
  94. Attack[Attack["DoubleShot"] = 5001003] = "DoubleShot";
  95. Attack[Attack["BackspinBlow"] = 5101002] = "BackspinBlow";
  96. Attack[Attack["DoubleUppercut"] = 5101003] = "DoubleUppercut";
  97. Attack[Attack["EnergyBlast"] = 5111002] = "EnergyBlast";
  98. Attack[Attack["EnergyDrain"] = 5111004] = "EnergyDrain";
  99. Attack[Attack["Shockwave"] = 5111006] = "Shockwave";
  100. Attack[Attack["DragonStrike"] = 5121001] = "DragonStrike";
  101. Attack[Attack["EnergyOrb"] = 5121002] = "EnergyOrb";
  102. Attack[Attack["Demolition"] = 5121004] = "Demolition";
  103. Attack[Attack["Snatch"] = 5121005] = "Snatch";
  104. Attack[Attack["Barrage"] = 5121007] = "Barrage";
  105. Attack[Attack["InvisibleShot"] = 5201001] = "InvisibleShot";
  106. Attack[Attack["Grenade"] = 5201002] = "Grenade";
  107. Attack[Attack["BlankShot"] = 5201004] = "BlankShot";
  108. Attack[Attack["RecoilShot"] = 5201006] = "RecoilShot";
  109. Attack[Attack["BurstFire"] = 5210000] = "BurstFire";
  110. Attack[Attack["Octopus"] = 5211001] = "Octopus";
  111. Attack[Attack["Gaviota"] = 5211002] = "Gaviota";
  112. Attack[Attack["Flamethrower"] = 5211004] = "Flamethrower";
  113. Attack[Attack["IceSplitter"] = 5211005] = "IceSplitter";
  114. Attack[Attack["HomingBeacon"] = 5211006] = "HomingBeacon";
  115. Attack[Attack["WrathOfTheOctopi"] = 5220002] = "WrathOfTheOctopi";
  116. Attack[Attack["AerialStrike"] = 5221003] = "AerialStrike";
  117. Attack[Attack["RapidFire"] = 5221004] = "RapidFire";
  118. Attack[Attack["BattleshipCannon"] = 5221007] = "BattleshipCannon";
  119. Attack[Attack["BattleshipTorpedo"] = 5221008] = "BattleshipTorpedo";
  120. })(Attack || (Attack = {}));
  121. export var Spell;
  122. (function (Spell) {
  123. Spell[Spell["Other"] = 0] = "Other";
  124. Spell[Spell["Explosion"] = 2111002] = "Explosion";
  125. Spell[Spell["PoisonMist"] = 2111003] = "PoisonMist";
  126. Spell[Spell["ElementCompositionFP"] = 2111006] = "ElementCompositionFP";
  127. Spell[Spell["Elquines"] = 2121005] = "Elquines";
  128. Spell[Spell["MeteorShower"] = 2121007] = "MeteorShower";
  129. Spell[Spell["IceStrike"] = 2211002] = "IceStrike";
  130. Spell[Spell["ThunderSpear"] = 2211003] = "ThunderSpear";
  131. Spell[Spell["ElementCompositionIL"] = 2211006] = "ElementCompositionIL";
  132. Spell[Spell["Ifrit"] = 2221005] = "Ifrit";
  133. Spell[Spell["ChainLightning"] = 2221006] = "ChainLightning";
  134. Spell[Spell["Blizzard"] = 2221007] = "Blizzard";
  135. Spell[Spell["Heal"] = 2301002] = "Heal";
  136. Spell[Spell["HolyArrow"] = 2301005] = "HolyArrow";
  137. Spell[Spell["ShiningRay"] = 2311004] = "ShiningRay";
  138. Spell[Spell["SummonDragon"] = 2311006] = "SummonDragon";
  139. Spell[Spell["Bahamut"] = 2321003] = "Bahamut";
  140. Spell[Spell["AngelRay"] = 2321007] = "AngelRay";
  141. Spell[Spell["Genesis"] = 2321008] = "Genesis";
  142. })(Spell || (Spell = {}));
  143. export var Class;
  144. (function (Class) {
  145. Class[Class["Beginner"] = 0] = "Beginner";
  146. Class[Class["Warrior"] = 100] = "Warrior";
  147. Class[Class["Magician"] = 200] = "Magician";
  148. Class[Class["Archer"] = 300] = "Archer";
  149. Class[Class["Rogue"] = 400] = "Rogue";
  150. Class[Class["Pirate"] = 500] = "Pirate";
  151. Class[Class["Pirate2nd"] = 510] = "Pirate2nd";
  152. })(Class || (Class = {}));
  153. export class InputData {
  154. stats;
  155. totalWatk;
  156. totalMatk;
  157. echo;
  158. mastery;
  159. skillDmgMulti;
  160. skillBasicAtk;
  161. skillLines;
  162. critProb;
  163. critDmg;
  164. clazz;
  165. level;
  166. wepType;
  167. goodAnimProb;
  168. attack;
  169. spell;
  170. speed;
  171. spellBooster;
  172. eleAmp;
  173. eleBoost;
  174. eleWep;
  175. eleChargeType;
  176. eleChargeDmg;
  177. eleChargeLevel;
  178. caActive;
  179. caDmg;
  180. caLevel;
  181. caOrbs;
  182. zerkActive;
  183. zerkDmg;
  184. enemyWdef;
  185. enemyMdef;
  186. eleSus;
  187. enemyLevel;
  188. enemyCount;
  189. hitOrd;
  190. constructor(stats, totalWatk, totalMatk, echo, mastery, skillDmgMulti, skillBasicAtk, skillLines, critProb, critDmg, clazz, level, wepType, goodAnimProb, attack, spell, speed, spellBooster, eleAmp, eleBoost, eleWep, eleChargeType, eleChargeDmg, eleChargeLevel, caActive, caDmg, caLevel, caOrbs, zerkActive, zerkDmg, enemyWdef, enemyMdef, eleSus, enemyLevel, enemyCount, hitOrd) {
  191. this.stats = stats;
  192. this.totalWatk = totalWatk;
  193. this.totalMatk = totalMatk;
  194. this.echo = echo;
  195. this.mastery = mastery;
  196. this.skillDmgMulti = skillDmgMulti;
  197. this.skillBasicAtk = skillBasicAtk;
  198. this.skillLines = skillLines;
  199. this.critProb = critProb;
  200. this.critDmg = critDmg;
  201. this.clazz = clazz;
  202. this.level = level;
  203. this.wepType = wepType;
  204. this.goodAnimProb = goodAnimProb;
  205. this.attack = attack;
  206. this.spell = spell;
  207. this.speed = speed;
  208. this.spellBooster = spellBooster;
  209. this.eleAmp = eleAmp;
  210. this.eleBoost = eleBoost;
  211. this.eleWep = eleWep;
  212. this.eleChargeType = eleChargeType;
  213. this.eleChargeDmg = eleChargeDmg;
  214. this.eleChargeLevel = eleChargeLevel;
  215. this.caActive = caActive;
  216. this.caDmg = caDmg;
  217. this.caLevel = caLevel;
  218. this.caOrbs = caOrbs;
  219. this.zerkActive = zerkActive;
  220. this.zerkDmg = zerkDmg;
  221. this.enemyWdef = enemyWdef;
  222. this.enemyMdef = enemyMdef;
  223. this.eleSus = eleSus;
  224. this.enemyLevel = enemyLevel;
  225. this.enemyCount = enemyCount;
  226. this.hitOrd = hitOrd;
  227. }
  228. }