Author Topic: World Map Manipulation: Chocobo fight outside Chocobo Ranch  (Read 390 times)

AceZephyr

  • *
  • Posts: 1
    • View Profile
1 unleveled Chocobo Lure materia
Stand next to any exit, menu, close at the start of the given IGT and run to exit. Hold L1+Left or R1+Right until encounter.

This data is calibrated for PSX, so the listed IGTs are three seconds before the corresponding seeding IGT.

Format: IGT | Frames to Encounter | Seeding IGT in seconds | Preempt?

Formation 56 (Chocobo, Mandragora x2):

1:30:00 to 1:49:59
Code: [Select]
1:30:02 | 289 | 5405 |
1:30:10 | 204 | 5413 |
1:30:14 | 255 | 5417 |
1:30:15 | 391 | 5418 |
1:30:19 | 408 | 5422 |
1:30:25 | 476 | 5428 |
1:30:29 | 391 | 5432 |
1:30:33 | 493 | 5436 |
1:30:35 | 408 | 5438 |
1:30:36 | 323 | 5439 |
1:30:42 | 306 | 5445 |
1:30:45 | 221 | 5448 |
1:30:53 | 221 | 5456 |
1:30:56 | 697 | 5459 |
1:30:57 | 493 | 5460 |
1:31:02 | 221 | 5465 |
1:31:07 | 391 | 5470 |
1:31:14 | 391 | 5477 |
1:31:25 | 527 | 5488 |
1:31:29 | 510 | 5492 |
1:31:35 | 357 | 5498 |
1:31:38 | 459 | 5501 |
1:31:43 | 510 | 5506 |
1:31:44 | 357 | 5507 |
1:31:50 | 408 | 5513 |
1:32:02 | 561 | 5525 |
1:32:03 | 357 | 5526 |
1:32:21 | 340 | 5544 |
1:32:27 | 357 | 5550 |
1:32:33 | 442 | 5556 |
1:32:43 | 357 | 5566 |
1:32:50 | 476 | 5573 |
1:32:54 | 425 | 5577 | Preempt
1:32:59 | 374 | 5582 |
1:33:00 | 238 | 5583 |
1:33:16 | 323 | 5599 |
1:33:19 | 476 | 5602 |
1:33:25 | 357 | 5608 |
1:33:48 | 323 | 5631 |
1:33:50 | 697 | 5633 |
1:33:53 | 323 | 5636 |
1:33:54 | 595 | 5637 |
1:33:55 | 255 | 5638 |
1:33:58 | 306 | 5641 |
1:34:02 | 459 | 5645 |
1:34:09 | 374 | 5652 |
1:34:10 | 255 | 5653 | Preempt
1:34:12 | 255 | 5655 |
1:34:13 | 612 | 5656 |
1:34:19 | 544 | 5662 |
1:34:27 | 306 | 5670 |
1:34:35 | 306 | 5678 |
1:34:36 | 323 | 5679 | Preempt
1:34:37 | 425 | 5680 |
1:34:39 | 357 | 5682 |
1:34:40 | 289 | 5683 |
1:34:46 | 595 | 5689 |
1:34:49 | 357 | 5692 |
1:34:51 | 323 | 5694 |
1:34:55 | 374 | 5698 |
1:35:03 | 204 | 5706 |
1:35:05 | 357 | 5708 |
1:35:19 | 442 | 5722 |
1:35:26 | 646 | 5729 |
1:35:27 | 578 | 5730 |
1:35:33 | 357 | 5736 |
1:35:35 | 442 | 5738 |
1:35:38 | 272 | 5741 |
1:35:47 | 289 | 5750 |
1:35:51 | 357 | 5754 |
1:35:54 | 272 | 5757 |
1:36:02 | 527 | 5765 |
1:36:08 | 391 | 5771 |
1:36:12 | 459 | 5775 | Preempt
1:36:22 | 272 | 5785 |
1:36:23 | 510 | 5786 |
1:36:47 | 561 | 5810 | Preempt
1:37:01 | 646 | 5824 |
1:37:02 | 612 | 5825 |
1:37:06 | 663 | 5829 |
1:37:07 | 476 | 5830 |
1:37:09 | 561 | 5832 |
1:37:15 | 442 | 5838 |
1:37:27 | 238 | 5850 |
1:37:34 | 510 | 5857 |
1:37:36 | 459 | 5859 |
1:37:46 | 374 | 5869 | Preempt
1:37:52 | 323 | 5875 | Preempt
1:38:05 | 289 | 5888 |
1:38:26 | 340 | 5909 |
1:38:28 | 340 | 5911 |
1:38:31 | 323 | 5914 |
1:38:32 | 272 | 5915 |
1:38:40 | 374 | 5923 | Preempt
1:38:42 | 408 | 5925 |
1:38:51 | 255 | 5934 |
1:38:57 | 289 | 5940 |
1:39:01 | 306 | 5944 |
1:39:04 | 459 | 5947 |
1:39:10 | 323 | 5953 |
1:39:14 | 272 | 5957 |
1:39:22 | 289 | 5965 |
1:39:28 | 289 | 5971 |
1:39:30 | 323 | 5973 |
1:39:37 | 289 | 5980 |
1:39:39 | 459 | 5982 |
1:39:41 | 374 | 5984 |
1:39:48 | 221 | 5991 |
1:39:49 | 391 | 5992 |
1:39:50 | 425 | 5993 |
1:39:52 | 289 | 5995 |
1:40:00 | 374 | 6003 |
1:40:01 | 204 | 6004 | Preempt
1:40:02 | 374 | 6005 |
1:40:03 | 510 | 6006 |
1:40:14 | 289 | 6017 |
1:40:19 | 408 | 6022 |
1:40:21 | 221 | 6024 |
1:40:24 | 765 | 6027 |
1:40:26 | 527 | 6029 |
1:40:31 | 340 | 6034 |
1:40:38 | 561 | 6041 |
1:40:42 | 306 | 6045 |
1:40:48 | 425 | 6051 |
1:40:58 | 323 | 6061 |
1:40:59 | 340 | 6062 |
1:41:06 | 459 | 6069 |
1:41:07 | 493 | 6070 |
1:41:18 | 476 | 6081 |
1:41:23 | 204 | 6086 |
1:41:24 | 238 | 6087 |
1:41:33 | 578 | 6096 |
1:41:45 | 323 | 6108 |
1:41:48 | 544 | 6111 |
1:41:49 | 221 | 6112 |
1:41:54 | 578 | 6117 |
1:41:58 | 221 | 6121 |
1:42:06 | 255 | 6129 | Preempt
1:42:07 | 340 | 6130 |
1:42:11 | 323 | 6134 |
1:42:22 | 510 | 6145 |
1:42:27 | 561 | 6150 | Preempt
1:42:32 | 391 | 6155 |
1:42:33 | 425 | 6156 |
1:42:38 | 476 | 6161 | Preempt
1:42:50 | 289 | 6173 |
1:42:52 | 442 | 6175 |
1:42:54 | 459 | 6177 |
1:42:55 | 459 | 6178 |
1:42:56 | 255 | 6179 |
1:43:05 | 340 | 6188 |
1:43:12 | 493 | 6195 |
1:43:16 | 170 | 6199 |
1:43:17 | 425 | 6200 |
1:43:21 | 510 | 6204 |
1:43:22 | 697 | 6205 |
1:43:32 | 255 | 6215 |
1:43:45 | 374 | 6228 |
1:43:46 | 204 | 6229 |
1:43:47 | 323 | 6230 |
1:43:52 | 391 | 6235 |
1:43:59 | 493 | 6242 |
1:44:06 | 527 | 6249 |
1:44:07 | 255 | 6250 |
1:44:13 | 442 | 6256 |
1:44:15 | 221 | 6258 |
1:44:16 | 323 | 6259 |
1:44:19 | 714 | 6262 |
1:44:23 | 391 | 6266 |
1:44:24 | 391 | 6267 |
1:44:28 | 442 | 6271 |
1:44:32 | 493 | 6275 |
1:44:37 | 476 | 6280 |
1:44:38 | 476 | 6281 |
1:44:49 | 493 | 6292 |
1:44:50 | 374 | 6293 |
1:44:53 | 578 | 6296 |
1:44:58 | 374 | 6301 |
1:45:05 | 442 | 6308 |
1:45:08 | 204 | 6311 |
1:45:09 | 357 | 6312 | Preempt
1:45:13 | 306 | 6316 |
1:45:17 | 408 | 6320 |
1:45:19 | 255 | 6322 |
1:45:20 | 306 | 6323 |
1:45:24 | 612 | 6327 |
1:45:33 | 612 | 6336 |
1:45:39 | 221 | 6342 |
1:46:00 | 408 | 6363 |
1:46:12 | 510 | 6375 |
1:46:19 | 289 | 6382 |
1:46:30 | 357 | 6393 |
1:46:31 | 272 | 6394 |
1:46:36 | 357 | 6399 |
1:46:40 | 357 | 6403 |
1:46:42 | 323 | 6405 |
1:46:43 | 289 | 6406 |
1:46:45 | 578 | 6408 |
1:46:49 | 425 | 6412 |
1:46:50 | 425 | 6413 |
1:47:01 | 221 | 6424 |
1:47:05 | 442 | 6428 |
1:47:09 | 425 | 6432 |
1:47:12 | 544 | 6435 |
1:47:13 | 595 | 6436 |
1:47:15 | 374 | 6438 |
1:47:18 | 255 | 6441 |
1:47:22 | 391 | 6445 | Preempt
1:47:30 | 459 | 6453 | Preempt
1:47:35 | 748 | 6458 |
1:47:40 | 357 | 6463 |
1:47:41 | 255 | 6464 |
1:47:43 | 578 | 6466 |
1:48:01 | 578 | 6484 |
1:48:05 | 408 | 6488 |
1:48:12 | 323 | 6495 |
1:48:15 | 646 | 6498 |
1:48:28 | 306 | 6511 |
1:48:38 | 374 | 6521 |
1:48:41 | 442 | 6524 |
1:48:42 | 391 | 6525 |
1:48:45 | 374 | 6528 |
1:48:48 | 374 | 6531 |
1:48:57 | 476 | 6540 |
1:49:06 | 357 | 6549 |
1:49:11 | 289 | 6554 |
1:49:14 | 340 | 6557 |
1:49:37 | 272 | 6580 |
1:49:39 | 459 | 6582 |
1:49:44 | 357 | 6587 |
1:49:50 | 833 | 6593 |
1:49:58 | 272 | 6601 |

Generated using:
Code: [Select]
from state import State, Battle

lr = True


def run(igt: int):
    s = State(igt)
    s.chocoval = 8

    s.walk(0x1, 0x0, False, zolombox=True, movement=False)
    for _ in range(13):
        s.walk(0x1, 0x0, lr, zolombox=True, chocotracks=True, movement=False)

    try:
        for _ in range(10000):
            s.walk(0x1, 0x0, lr, zolombox=True, chocotracks=True)

        print("wtf")
    except Battle as b:
        return b, s


def format_igt(igt):
    parts = []
    parts.append(str(igt % 60).zfill(2))
    igt //= 60
    parts.append(str(igt % 60).zfill(2))
    igt //= 60
    parts.append(str(igt))
    return ":".join(parts[::-1])


def run_second(igt: int):
    best = None
    b, s = run(igt)
    if b.battle_id == 56:
        adj_igt_str = format_igt(igt - 3)
        best = (adj_igt_str, s.walkframes, igt, b.preempt)
    return best


arr = []

for igt in range(1*60*60+30*60,1*60*60+50*60):
    rs = run_second(igt + 3)
    if rs is not None:
        arr.append(rs[0] + " | " + str(rs[1]) + " | " + str(rs[2]) + " |" + (" Preempt" if rs[3] else "") + "\n")

print(*arr, sep="")

with open("output_file.txt", "w") as file:
    file.writelines(arr)

with dependency https://github.com/AceZephyr/wmsim