types.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  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. public constructor(
  25. public str: number,
  26. public dex: number,
  27. public int: number,
  28. public luk: number,
  29. ) {}
  30. }
  31. export enum WeaponType {
  32. None = 0,
  33. OneHandedSword = 30,
  34. OneHandedAxe = 31,
  35. OneHandedMace = 32,
  36. Dagger = 33,
  37. Wand = 37,
  38. Staff = 38,
  39. TwoHandedSword = 40,
  40. TwoHandedAxe = 41,
  41. TwoHandedMace = 42,
  42. Spear = 43,
  43. Polearm = 44,
  44. Bow = 45,
  45. Crossbow = 46,
  46. Claw = 47,
  47. Knuckler = 48,
  48. Gun = 49,
  49. }
  50. export enum Attack {
  51. Other = 0,
  52. BowWhack = -1,
  53. ClawPunch = -2,
  54. Panic = 1111003,
  55. Coma = 1111005,
  56. Rush = 1121006,
  57. Brandish = 1121008,
  58. Blast = 1221009,
  59. HeavensHammerXiuz = 1221011,
  60. HeavensHammerXiuzCorrected = 1221111,
  61. CrusherHigh = 1311001,
  62. CrusherLow = 1311101,
  63. Fury = 1311004,
  64. DragonRoar = 1311006,
  65. PowerKnockBack = 3101003,
  66. ArrowBombImpact = 3101005,
  67. ArrowBombSplash = 3101105,
  68. IronArrow = 3201005,
  69. Inferno = 3111003,
  70. Blizzard = 3211003,
  71. Hurricane = 3121004,
  72. Phoenix = 3121006,
  73. Frostprey = 3221005,
  74. PiercingArrow = 3221001,
  75. DoubleStab = 4001334,
  76. LuckySeven = 4001344,
  77. Avenger = 4111005,
  78. TripleThrow = 4121007,
  79. Assaulter = 4211002,
  80. NinjaAmbush = 4121004,
  81. VenomousStar = 4120005,
  82. VenomousStab = 4220005,
  83. NinjaStorm = 4121008,
  84. SavageBlow = 4201005,
  85. BoomerangStep = 4221007,
  86. FlashFist = 5001001,
  87. SomersaultKick = 5001002,
  88. DoubleShot = 5001003,
  89. BackspinBlow = 5101002,
  90. DoubleUppercut = 5101003,
  91. EnergyBlast = 5111002,
  92. EnergyDrain = 5111004,
  93. Shockwave = 5111006,
  94. DragonStrike = 5121001,
  95. EnergyOrb = 5121002,
  96. Demolition = 5121004,
  97. Snatch = 5121005,
  98. Barrage = 5121007,
  99. InvisibleShot = 5201001,
  100. Grenade = 5201002,
  101. BlankShot = 5201004,
  102. RecoilShot = 5201006,
  103. BurstFire = 5210000,
  104. Octopus = 5211001,
  105. Gaviota = 5211002,
  106. Flamethrower = 5211004,
  107. IceSplitter = 5211005,
  108. HomingBeacon = 5211006,
  109. WrathOfTheOctopi = 5220002,
  110. AerialStrike = 5221003,
  111. RapidFire = 5221004,
  112. BattleshipCannon = 5221007,
  113. BattleshipTorpedo = 5221008,
  114. }
  115. export enum Spell {
  116. Other = 0,
  117. Explosion = 2111002,
  118. PoisonMist = 2111003,
  119. ElementCompositionFP = 2111006,
  120. Elquines = 2121005,
  121. MeteorShower = 2121007,
  122. IceStrike = 2211002,
  123. ThunderSpear = 2211003,
  124. ElementCompositionIL = 2211006,
  125. Ifrit = 2221005,
  126. ChainLightning = 2221006,
  127. Blizzard = 2221007,
  128. Heal = 2301002,
  129. HolyArrow = 2301005,
  130. ShiningRay = 2311004,
  131. SummonDragon = 2311006,
  132. Bahamut = 2321003,
  133. AngelRay = 2321007,
  134. Genesis = 2321008,
  135. }
  136. export enum Class {
  137. Beginner = 0,
  138. Warrior = 100,
  139. Magician = 200,
  140. Archer = 300,
  141. Rogue = 400,
  142. Pirate = 500,
  143. Pirate2nd = 510,
  144. }
  145. export const enum Speed {
  146. Faster2 = 2,
  147. Faster3 = 3,
  148. Fast4 = 4,
  149. Fast5 = 5,
  150. Normal = 6,
  151. Slow7 = 7,
  152. Slow8 = 8,
  153. Slower = 9,
  154. }
  155. export const enum ChargeType {
  156. None,
  157. Holy,
  158. Other,
  159. }
  160. export class InputData {
  161. public constructor(
  162. public stats: Stats,
  163. public totalWatk: number,
  164. public totalMatk: number,
  165. public echo: number,
  166. public mastery: number,
  167. public skillDmgMulti: number,
  168. public skillBasicAtk: number,
  169. public skillLines: number,
  170. public critProb: number,
  171. public critDmg: number,
  172. public clazz: Class,
  173. public level: number,
  174. public wepType: WeaponType,
  175. public goodAnimProb: number,
  176. public attack: Attack,
  177. public spell: Spell,
  178. public speed: Speed,
  179. public spellBooster: number,
  180. public eleAmp: number,
  181. public eleBoost: number,
  182. public eleWep: number,
  183. public eleChargeType: ChargeType,
  184. public eleChargeDmg: number,
  185. public eleChargeLevel: number,
  186. public caActive: boolean,
  187. public caDmg: number,
  188. public caLevel: number,
  189. public caOrbs: number,
  190. public zerkActive: boolean,
  191. public zerkDmg: number,
  192. public enemyWdef: number,
  193. public enemyMdef: number,
  194. public eleSus: number,
  195. public enemyLevel: number,
  196. public enemyCount: number,
  197. public hitOrd: number,
  198. ) {}
  199. }