server icon indicating copy to clipboard operation
server copied to clipboard

🔨 Spells audit

Open sruon opened this issue 4 months ago • 1 comments

I affirm:

  • [x] I understand that if I do not agree to the following points by completing the checkboxes my issue will be ignored.
  • [x] I have read and understood the Contributing Guide and the Code of Conduct.
  • [x] I have searched existing issues to see if the issue has already been opened, and I have checked the commit log to see if the issue has been resolved since my server was last updated.

Describe the feature

Pulled spells data from the DATs with my own script and compared with the SQL.

I'm confident the values are correct for the most part as they line up with both ffo.jp and my own spot checks but player spells should be re-tested before committing changes.

The only hurdle I've faced is figuring out how to parse the recast as it has a special encoding indicating scales of 15s in certain conditions. I have it more or less all mapped out but unfortunately it doesn't line up with a handful of spells:

  • Gravity II
  • MP Drainkiss
  • Curaga V
  • Aspir III
  • Thunder Breath

Certain of these spells are monster-only and unlikely to be in global spell lists so it might not be too important to set them right but I'd like to have them aligned so I can automate this data collection in the future.

cure_iv (ID: 4)

  • [ ] Jobs: PLD:51->55

banish_iv (ID: 31)

  • [ ] Jobs: WHM:X->90
    • Not a player spell but relevant for Light Spirit

diaga_ii (ID: 34)

  • [ ] Jobs: RDM:15->45, WHM:18->52

diaga_iii (ID: 35)

  • [ ] Jobs: RDM:X->75

banishga_iii (ID: 40)

  • [ ] Jobs: WHM:X->65

reprisal (ID: 97)

  • [ ] Recast: 52.0s -> 180.0s

invisible (ID: 136)

  • [ ] Cast time: 2.0s -> 3.0s

sneak (ID: 137)

  • [ ] Cast time: 2.0s -> 3.0s
  • [ ] Recast: 8.0s -> 10.0s

fire_iv (ID: 147)

  • [ ] Cast time: 6.0s -> 5.0s

fire_v (ID: 148)

  • [ ] Cast time: 10.0s -> 7.5s

blizzard_iv (ID: 152)

  • [ ] Cast time: 6.0s -> 5.0s

blizzard_v (ID: 153)

  • [ ] Cast time: 10.0s -> 7.5s

aero_iv (ID: 157)

  • [ ] Cast time: 6.0s -> 5.0s

aero_v (ID: 158)

  • [ ] Cast time: 10.0s -> 7.5s

stone_iv (ID: 162)

  • [ ] Cast time: 6.0s -> 5.0s

stone_v (ID: 163)

  • [ ] Cast time: 10.0s -> 7.5s

thunder_iv (ID: 167)

  • [ ] Cast time: 6.0s -> 5.0s

thunder_v (ID: 168)

  • [ ] Cast time: 10.0s -> 7.5s

water_iv (ID: 172)

  • [ ] Cast time: 6.0s -> 5.0s

water_v (ID: 173)

  • [ ] Cast time: 10.0s -> 7.5s

firaga_iv (ID: 177)

  • [ ] Cast time: 9.2s -> 12.0s
  • [ ] Recast: 39.8s -> 40.0s
  • [ ] MP cost: 428 -> 360

firaga_v (ID: 178)

  • [ ] Cast time: 10.5s -> 16.0s
  • [ ] Recast: 48.5s -> 60.0s
  • [ ] MP cost: 610 -> 450

blizzaga_iv (ID: 182)

  • [ ] Cast time: 9.2s -> 12.0s
  • [ ] Recast: 40.8s -> 40.0s
  • [ ] MP cost: 455 -> 403

blizzaga_v (ID: 183)

  • [ ] Cast time: 11.2s -> 16.0s
  • [ ] Recast: 49.0s -> 60.0s
  • [ ] MP cost: 642 -> 500

aeroga_iv (ID: 187)

  • [ ] Cast time: 8.8s -> 12.0s
  • [ ] Recast: 38.8s -> 40.0s
  • [ ] MP cost: 396 -> 318

aeroga_v (ID: 188)

  • [ ] Cast time: 10.5s -> 16.0s
  • [ ] Recast: 45.8s -> 60.0s
  • [ ] MP cost: 571 -> 402

stonega_iv (ID: 192)

  • [ ] Cast time: 8.2s -> 12.0s
  • [ ] Recast: 34.8s -> 40.0s
  • [ ] MP cost: 345 -> 243

stonega_v (ID: 193)

  • [ ] Cast time: 10.2s -> 16.0s
  • [ ] Recast: 41.8s -> 60.0s
  • [ ] MP cost: 512 -> 315

thundaga_iv (ID: 197)

  • [ ] Cast time: 9.5s -> 12.0s
  • [ ] Recast: 42.0s -> 40.0s
  • [ ] MP cost: 483 -> 450

thundaga_v (ID: 198)

  • [ ] Cast time: 11.5s -> 16.0s
  • [ ] Recast: 50.0s -> 60.0s
  • [ ] MP cost: 674 -> 520

waterga_iv (ID: 202)

  • [ ] Cast time: 8.2s -> 12.0s
  • [ ] Recast: 36.0s -> 40.0s
  • [ ] MP cost: 371 -> 280

waterga_v (ID: 203)

  • [ ] Cast time: 10.2s -> 16.0s
  • [ ] Recast: 45.0s -> 60.0s
  • [ ] MP cost: 541 -> 357

flare (ID: 204)

  • [ ] Cast time: 12.0s -> 8.5s

flare_ii (ID: 205)

  • [ ] Cast time: 10.0s -> 7.0s

freeze (ID: 206)

  • [ ] Cast time: 12.0s -> 8.5s

freeze_ii (ID: 207)

  • [ ] Cast time: 10.0s -> 7.0s

tornado (ID: 208)

  • [ ] Cast time: 12.0s -> 8.5s

tornado_ii (ID: 209)

  • [ ] Cast time: 10.0s -> 7.0s

quake (ID: 210)

  • [ ] Cast time: 12.0s -> 8.5s

quake_ii (ID: 211)

  • [ ] Cast time: 10.0s -> 7.0s

burst (ID: 212)

  • [ ] Cast time: 12.0s -> 8.5s

burst_ii (ID: 213)

  • [ ] Cast time: 10.0s -> 7.0s

flood (ID: 214)

  • [ ] Cast time: 12.0s -> 8.5s

flood_ii (ID: 215)

  • [ ] Cast time: 10.0s -> 7.0s

gravity_ii (ID: 217)

  • [ ] Recast: 70.0s -> 75.0s

meteor (ID: 218)

  • [ ] Recast: 52.0s -> 180.0s

bio_iv (ID: 233)

  • [ ] Recast: 30.0s -> 5.0s

bio_v (ID: 234)

  • [ ] Recast: 45.0s -> 5.0s

absorb-acc (ID: 242)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-attri (ID: 243)

  • [ ] Cast time: 2.0s -> 0.5s

meteor_ii (ID: 244)

  • [ ] Cast time: 5.0s -> 18.0s
  • [ ] Recast: 10.0s -> 180.0s
  • [ ] MP cost: 666 -> 150
  • [ ] Jobs: BLM:X->75, RDM:X->75, WHM:X->75

virus (ID: 256)

  • [ ] Cast time: 3.0s -> 1.5s
  • [ ] Recast: 30.0s -> 10.0s
  • [ ] MP cost: 39 -> 10
  • [ ] Jobs: BLM:X->1

curse (ID: 257)

  • [ ] Recast: 30.0s -> 10.0s
  • [ ] MP cost: 39 -> 10
  • [ ] Jobs: BLM:X->1

absorb-str (ID: 266)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-dex (ID: 267)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-vit (ID: 268)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-agi (ID: 269)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-int (ID: 270)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-mnd (ID: 271)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-chr (ID: 272)

  • [ ] Cast time: 2.0s -> 0.5s

absorb-tp (ID: 275)

  • [ ] Cast time: 2.0s -> 0.5s

geohelix (ID: 278)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

hydrohelix (ID: 279)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

anemohelix (ID: 280)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

pyrohelix (ID: 281)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

cryohelix (ID: 282)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

ionohelix (ID: 283)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

noctohelix (ID: 284)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

luminohelix (ID: 285)

  • [ ] Cast time: 3.8s -> 5.0s
  • [ ] Recast: 17.0s -> 45.0s

klimaform (ID: 287)

  • [ ] Cast time: 5.0s -> 3.0s

cait_sith (ID: 307)

  • [ ] Cast time: 1.0s -> 5.0s
  • [ ] Recast: 60.0s -> 5.0s
  • [ ] MP cost: 0 -> 5

animus_augeo (ID: 308)

  • [ ] Cast time: 5.0s -> 3.0s

animus_minuo (ID: 309)

  • [ ] Cast time: 5.0s -> 3.0s

katon_san (ID: 322)

  • [ ] Cast time: 2.5s -> 2.8s

hyoton_san (ID: 325)

  • [ ] Cast time: 2.5s -> 2.8s

huton_san (ID: 328)

  • [ ] Cast time: 2.5s -> 2.8s

doton_san (ID: 331)

  • [ ] Cast time: 2.5s -> 2.8s

raiton_san (ID: 334)

  • [ ] Cast time: 2.5s -> 2.8s

suiton_san (ID: 337)

  • [ ] Cast time: 2.5s -> 2.8s

jubaku_ni (ID: 342)

  • [ ] Jobs: NIN:X->55

jubaku_san (ID: 343)

  • [ ] Cast time: 2.5s -> 12.0s

hojo_san (ID: 346)

  • [ ] Cast time: 2.5s -> 12.0s
  • [ ] Jobs: NIN:X->73

kurayami_san (ID: 349)

  • [ ] Cast time: 2.5s -> 12.0s
  • [ ] Jobs: NIN:X->69

dokumori_ni (ID: 351)

  • [ ] Jobs: NIN:X->52

dokumori_san (ID: 352)

  • [ ] Cast time: 2.5s -> 12.0s

paralyga (ID: 356)

  • [ ] Jobs: RDM:X->61, WHM:X->61

slowga (ID: 357)

  • [ ] Jobs: RDM:X->61, WHM:X->61

hastega (ID: 358)

  • [ ] Jobs: RDM:X->61, WHM:X->61

silencega (ID: 359)

  • [ ] Jobs: RDM:X->61, WHM:X->61

dispelga (ID: 360)

  • [ ] Cast time: 5.0s -> 3.0s
  • [ ] Recast: 60.0s -> 10.0s
  • [ ] MP cost: 20 -> 200
  • [ ] Jobs: BLM:X->99, BRD:X->99, GEO:X->99, RDM:X->99, SCH:X->99, SMN:X->99, WHM:X->99

blindga (ID: 361)

  • [ ] Jobs: BLM:X->61, RDM:X->61

bindga (ID: 362)

  • [ ] Jobs: BLM:X->61, RDM:X->61

breakga (ID: 365)

  • [ ] Cast time: 5.0s -> 3.5s
  • [ ] Recast: 60.0s -> 45.0s
  • [ ] MP cost: 100 -> 78
  • [ ] Jobs: BLM:X->95

death (ID: 367)

  • [ ] Cast time: 5.0s -> 3.0s
  • [ ] Recast: 10.0s -> 180.0s
  • [ ] MP cost: 666 -> 1

chocobo_hum (ID: 407)

  • [ ] Jobs: BRD:X->52

cactuar_fugue (ID: 416)

  • [ ] Jobs: BRD:X->58

moogle_rhapsody (ID: 417)

  • [ ] Jobs: BRD:X->99

protected_aria (ID: 418)

  • [ ] Jobs: BRD:X->99

embrava (ID: 478)

  • [ ] Recast: 3.0s -> 6.0s

impact (ID: 503)

  • [ ] Cast time: 14.0s -> 12.0s
  • [ ] Jobs: GEO:X->90

gekka_ichi (ID: 505)

  • [ ] Cast time: 4.0s -> 3.0s

yain_ichi (ID: 506)

  • [ ] Cast time: 4.0s -> 3.0s

myoshu_ichi (ID: 507)

  • [ ] Cast time: 4.0s -> 3.0s

kakka_ichi (ID: 509)

  • [ ] Cast time: 4.0s -> 3.0s

migawari_ichi (ID: 510)

  • [ ] Cast time: 3.0s -> 1.5s

metallic_body (ID: 517)

  • [ ] Cast time: 3.0s -> 2.5s

memento_mori (ID: 538)

  • [ ] Recast: 56.0s -> 120.0s

feather_barrier (ID: 574)

  • [ ] Recast: 56.0s -> 120.0s

jettatura (ID: 575)

  • [ ] Recast: 56.0s -> 120.0s

voracious_trunk (ID: 579)

  • [ ] Recast: 56.0s -> 120.0s

lowing (ID: 588)

  • [ ] Recast: 56.0s -> 120.0s

1000_needles (ID: 595)

  • [ ] Recast: 56.0s -> 120.0s

bad_breath (ID: 604)

  • [ ] Recast: 56.0s -> 120.0s

temporal_shift (ID: 616)

  • [ ] Recast: 56.0s -> 120.0s

warm-up (ID: 636)

  • [ ] Cast time: 3.0s -> 2.5s
  • [ ] Recast: 56.0s -> 120.0s

amplification (ID: 642)

  • [ ] Cast time: 4.0s -> 3.5s
  • [ ] Recast: 56.0s -> 120.0s

zephyr_mantle (ID: 647)

  • [ ] Cast time: 4.0s -> 3.5s

triumphant_roar (ID: 655)

  • [ ] Cast time: 1.8s -> 0.5s
  • [ ] MP cost: 36 -> 24

benthic_typhoon (ID: 670)

  • [ ] Recast: 48.0s -> 51.0s
  • [ ] MP cost: 56 -> 43

osmosis (ID: 672)

  • [ ] Recast: 56.0s -> 120.0s

thunder_breath (ID: 695)

  • [ ] Recast: 48.0s -> 240.0s
    • Has same value as trusts but wikis claim 112s

natures_meditation (ID: 700)

  • [ ] Cast time: 0.5s -> 1.0s

tempestuous_upheaval (ID: 701)

  • [ ] Recast: 7.0s -> 12.0s

rending_deluge (ID: 702)

  • [ ] Cast time: 1.5s -> 2.0s
  • [ ] Recast: 30.0s -> 35.0s

embalming_earth (ID: 703)

  • [ ] Cast time: 0.5s -> 3.0s
  • [ ] Recast: 30.0s -> 24.0s

paralyzing_triad (ID: 704)

  • [ ] Recast: 30.0s -> 15.0s

foul_waters (ID: 705)

  • [ ] Cast time: 4.5s -> 3.5s
  • [ ] Recast: 30.0s -> 60.0s

glutinous_dart (ID: 706)

  • [ ] Cast time: 1.0s -> 0.5s
  • [ ] Recast: 10.0s -> 6.0s

retinal_glare (ID: 707)

  • [ ] Cast time: 1.0s -> 0.5s
  • [ ] Recast: 30.0s -> 45.0s

subduction (ID: 708)

  • [ ] Cast time: 0.5s -> 1.0s
  • [ ] Recast: 30.0s -> 5.0s

thrashing_assault (ID: 709)

  • [ ] Recast: 30.0s -> 60.0s
  • [ ] MP cost: 99 -> 119

erratic_flutter (ID: 710)

  • [ ] Cast time: 0.5s -> 2.0s
  • [ ] Recast: 30.0s -> 45.0s
  • [ ] MP cost: 63 -> 92

restoral (ID: 711)

  • [ ] Cast time: 2.5s -> 2.0s
  • [ ] Recast: 22.5s -> 10.0s

rail_cannon (ID: 712)

  • [ ] Cast time: 0.5s -> 2.5s
  • [ ] Recast: 22.0s -> 180.0s

diffusion_ray (ID: 713)

  • [ ] Cast time: 0.5s -> 4.0s
  • [ ] Recast: 22.0s -> 45.0s

sinker_drill (ID: 714)

  • [ ] Recast: 22.0s -> 20.0s

droning_whirlwind (ID: 744)

  • [ ] Cast time: 3.0s -> 1.5s
  • [ ] MP cost: 76 -> 224
  • [ ] Jobs: BLU:96->99

carcharian_verve (ID: 745)

  • [ ] Cast time: 3.0s -> 1.0s
  • [ ] MP cost: 52 -> 65
  • [ ] Jobs: BLU:96->99

blistering_roar (ID: 746)

  • [ ] Cast time: 3.0s -> 0.5s
  • [ ] MP cost: 28 -> 43
  • [ ] Jobs: BLU:96->99

indi-int (ID: 776)

  • [ ] Jobs: GEO:34->36

geo-poison (ID: 799)

  • [ ] Recast: 25.0s -> 12.0s

geo-haste (ID: 801)

  • [ ] MP cost: 63 -> 200
  • [ ] Jobs: GEO:93->97

geo-str (ID: 802)

  • [ ] Recast: 24.0s -> 12.0s

geo-dex (ID: 803)

  • [ ] Recast: 24.0s -> 12.0s

geo-vit (ID: 804)

  • [ ] Recast: 24.0s -> 12.0s

geo-agi (ID: 805)

  • [ ] Recast: 24.0s -> 12.0s

geo-int (ID: 806)

  • [ ] Recast: 24.0s -> 12.0s

geo-mnd (ID: 807)

  • [ ] Recast: 24.0s -> 12.0s

geo-chr (ID: 808)

  • [ ] Recast: 24.0s -> 12.0s

geo-fury (ID: 809)

  • [ ] Recast: 24.0s -> 12.0s

geo-barrier (ID: 810)

  • [ ] Recast: 24.0s -> 12.0s

geo-acumen (ID: 811)

  • [ ] Recast: 24.0s -> 12.0s

geo-fend (ID: 812)

  • [ ] Recast: 24.0s -> 12.0s

geo-precision (ID: 813)

  • [ ] Recast: 24.0s -> 12.0s

geo-voidance (ID: 814)

  • [ ] Recast: 24.0s -> 12.0s

geo-focus (ID: 815)

  • [ ] Recast: 24.0s -> 12.0s

geo-attunement (ID: 816)

  • [ ] Recast: 24.0s -> 12.0s

geo-wilt (ID: 817)

  • [ ] Recast: 24.0s -> 12.0s

geo-frailty (ID: 818)

  • [ ] Recast: 24.0s -> 12.0s

geo-fade (ID: 819)

  • [ ] Recast: 24.0s -> 12.0s

geo-malaise (ID: 820)

  • [ ] Recast: 24.0s -> 12.0s

geo-slip (ID: 821)

  • [ ] Recast: 24.0s -> 12.0s

geo-torpor (ID: 822)

  • [ ] Recast: 24.0s -> 12.0s

geo-vex (ID: 823)

  • [ ] Recast: 24.0s -> 12.0s

geo-languor (ID: 824)

  • [ ] Recast: 24.0s -> 12.0s

geo-slow (ID: 825)

  • [ ] Recast: 24.0s -> 12.0s

geo-paralysis (ID: 826)

  • [ ] Recast: 24.0s -> 12.0s

geo-gravity (ID: 827)

  • [ ] Recast: 24.0s -> 12.0s

atomos (ID: 847)

  • [ ] Cast time: 1.0s -> 5.0s
  • [ ] MP cost: 0 -> 50

reraise_iv (ID: 848)

  • [ ] Cast time: 7.0s -> 6.5s

sandstorm_ii (ID: 857)

  • [ ] MP cost: 30 -> 60

rainstorm_ii (ID: 858)

  • [ ] MP cost: 30 -> 60

windstorm_ii (ID: 859)

  • [ ] MP cost: 30 -> 60

firestorm_ii (ID: 860)

  • [ ] MP cost: 30 -> 60

hailstorm_ii (ID: 861)

  • [ ] MP cost: 30 -> 60

thunderstorm_ii (ID: 862)

  • [ ] MP cost: 30 -> 60

voidstorm_ii (ID: 863)

  • [ ] MP cost: 30 -> 60

aurorastorm_ii (ID: 864)

  • [ ] MP cost: 30 -> 60

inundation (ID: 879)

  • [ ] Cast time: 2.0s -> 3.0s
  • [ ] Recast: 48.0s -> 20.0s
  • [ ] MP cost: 0 -> 48
  • [ ] Jobs: RDM:X->64

drain_iii (ID: 880)

  • [ ] Cast time: 5.0s -> 3.0s
  • [ ] Recast: 180.0s -> 240.0s

aspir_iii (ID: 881)

  • [ ] Cast time: 2.0s -> 3.0s
  • [ ] Recast: 48.0s -> 90s
    • Caution
  • [ ] MP cost: 0 -> 2

distract_iii (ID: 882)

  • [ ] Cast time: 2.0s -> 3.0s
  • [ ] Recast: 48.0s -> 10.0s
  • [ ] MP cost: 0 -> 84

frazzle_iii (ID: 883)

  • [ ] Cast time: 2.0s -> 3.0s
  • [ ] Recast: 48.0s -> 10.0s
  • [ ] MP cost: 0 -> 90

addle_ii (ID: 884)

  • [ ] Recast: 48.0s -> 20.0s
  • [ ] MP cost: 0 -> 63

geohelix_ii (ID: 885)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

hydrohelix_ii (ID: 886)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

anemohelix_ii (ID: 887)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

pyrohelix_ii (ID: 888)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

cryohelix_ii (ID: 889)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

ionohelix_ii (ID: 890)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

noctohelix_ii (ID: 891)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

luminohelix_ii (ID: 892)

  • [ ] Cast time: 2.0s -> 7.5s
  • [ ] Recast: 48.0s -> 60.0s
  • [ ] MP cost: 0 -> 78

full_cure (ID: 893)

  • [ ] Cast time: 2.0s -> 1.5s
  • [ ] Recast: 48.0s -> 180.0s
  • [ ] MP cost: 0 -> 1

refresh_iii (ID: 894)

  • [ ] Cast time: 2.0s -> 5.0s
  • [ ] Recast: 48.0s -> 36.0s
  • [ ] MP cost: 0 -> 80

temper_ii (ID: 895)

  • [ ] Cast time: 7.0s -> 3.0s
  • [ ] Recast: 36.0s -> 45.0s

All trusts

  • [x] Cast time: 3.0s -> 2.0s

sruon avatar Aug 28 '25 05:08 sruon

While we're at it: audit the animations and animation time

sruon avatar Sep 13 '25 08:09 sruon