Advertisement
Guest User

re2_asl

a guest
Feb 1st, 2019
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.78 KB | None | 0 0
  1. //Resident Evil 2 Remake Autosplitter
  2. //By CursedToast 1/28/2019
  3. //Last updated 1/30/2019
  4.  
  5. state("re2")
  6. {
  7. int gamePauseState : "re2.exe", 0x0707A510, 0x408, 0xD8, 0x18, 0x20, 0x130;
  8. int map : "re2.exe", 0x0488A730, 0x1EC;
  9. int weaponSlot1 : "re2.exe", 0x70ACA88, 0x50, 0x98, 0x10, 0x20, 0x18, 0x10, 0x14;
  10. int itemSlot3 : "re2.exe", 0x070ACA88, 0x50, 0x98, 0x10, 0x30, 0x18, 0x10, 0x10;
  11. int bossHP : "re2.exe", 0x0707B758, 0x80, 0x88, 0x18, 0x1A0, 0x58;
  12. long active : 0x070ACAE0, 0x2E0, 0x218, 0x610, 0x710, 0x60, 0x18;
  13. long cutscene : 0x070ACAE0, 0x2E0, 0x218, 0x610, 0x710, 0x60, 0x20;
  14. long menu : 0x070ACAE0, 0x2E0, 0x218, 0x610, 0x710, 0x60, 0x28;
  15. long paused : 0x070ACAE0, 0x2E0, 0x218, 0x610, 0x710, 0x60, 0x30;
  16. }
  17.  
  18. startup
  19. {
  20. settings.Add("storageKey", false, "Storage Key");
  21. settings.Add("courtyardkey", false, "Courtyard Key");
  22. settings.Add("reachedRPDA", false, "Reached the RPD");
  23. settings.Add("spade", false, "Spade Key");
  24. settings.Add("gL", false, "Grenade Launcher");
  25. settings.Add("shotgun", false, "Shotgun");
  26. settings.Add("emptyDetonator", false, "Detonator (No Battery)");
  27. settings.Add("detonator", false, "Detonator");
  28. settings.Add("mechanicHandle", false, "Mechanic Handle");
  29. settings.Add("squareCrank", false, "Square Crank");
  30. settings.Add("redbook", false, "Red Book");
  31. settings.Add("weaponcard", false, "Weapons Locker Key Card");
  32. settings.Add("arm", false, "Statue's Left Arm");
  33. settings.Add("scepter", false, "Scepter");
  34. settings.Add("valve", false, "Valve Handle");
  35. settings.Add("jewel", false, "Red Jewel");
  36. settings.Add("jewelbox", false, "Bejewled Box");
  37. settings.Add("starsbadge", false, "S.T.A.R.S Badge");
  38. settings.Add("unicorn", false, "Unicorn Medallion");
  39. settings.Add("lion", false, "Lion Medallion");
  40. settings.Add("maiden", false, "Maiden Medallion");
  41. settings.Add("reachedSecretRoom", false, "Reached Secret Room");
  42. settings.Add("reachedGarage", false, "Reached Parking Garage");
  43. settings.Add("boltCutters", false, "Bolt Cutters");
  44. settings.Add("carkey", false, "Car Key");
  45. settings.Add("fuse1", false, "Fuse (Main Hall)");
  46. settings.Add("fuse2", false, "Fuse (Break Room Hallway)");
  47. settings.Add("largegear", false, "Large Gear");
  48. settings.Add("smallgear", false, "Small Gear");
  49. settings.Add("diamond", false, "Diamond Key");
  50. settings.Add("club", false, "Club Key");
  51. settings.Add("heart", false, "Heart Key");
  52. settings.Add("partA", false, "Boxed Electronic Part A");
  53. settings.Add("partB", false, "Boxed Electronic Part B");
  54. settings.Add("block", false, "Picture Block");
  55. settings.Add("scissors", false, "Scissors");
  56. settings.Add("orphanageKey", false, "Orphanage Key");
  57. settings.Add("parkingcard", false, "Parking Garage Key Card");
  58. settings.Add("exitedGarage", false, "Back on the Streets (leave parking garage)");
  59. settings.Add("reachedSewers", false, "Reached the Sewers");
  60. settings.Add("adaStart", false, "Ada Start");
  61. settings.Add("adaEnd", false, "Ada End");
  62. settings.Add("rook", false, "Rook Plug");
  63. settings.Add("queen", false, "Queen Plug");
  64. settings.Add("king", false, "King Plug");
  65. settings.Add("knight", false, "Knight Plug");
  66. settings.Add("bishop", false, "Bishop Plug");
  67. settings.Add("sewerKey", false, "Sewer Key");
  68. settings.Add("rescue", false, "Rescued Sherry/Ada");
  69. settings.Add("tbar", false, "T-Bar Valve Handle");
  70. settings.Add("modulator", false, "Signal Modulator");
  71. settings.Add("generalChip", false, "Wristband (Guest)");
  72. settings.Add("staffChip", false, "Wristband (General Staff)");
  73. settings.Add("seniorChip", false, "Wristband (Senior Staff)");
  74. settings.Add("g3", false, "G3 Battle Complete");
  75. settings.Add("chipAdmin", false, "Wristband (Admin)");
  76. settings.Add("dispenseEmpty", false, "Dispersal Cartridge (Empty)");
  77. settings.Add("dispenseSolution", false, "Dispersal Cartridge (Solution)");
  78. settings.Add("herbicide", false, "Dispersal Cartridge (Herbicide)");
  79. settings.Add("jointPlug", false, "Joint Plug");
  80. settings.Add("end", false, "End (Scenario A/First final boss of B)");
  81. settings.Add("trueEnd", false, "True End");
  82. }
  83.  
  84. init
  85. {
  86. vars.inventoryPtr = IntPtr.Zero;
  87. vars.inventoryPtr = 0x070ACA88;
  88. vars.fas = 0;
  89.  
  90. // Track inventory IDs
  91. current.inventory = new int[20];
  92. for (int i = 0; i < current.inventory.Length; ++i)
  93. {
  94. int itemID = 0;
  95. IntPtr ptr;
  96. new DeepPointer(vars.inventoryPtr, 0x50, 0x98, 0x10, 0x20 + (i * 8), 0x18, 0x10, 0x10).DerefOffsets(memory, out ptr);
  97. memory.ReadValue<int>(ptr, out itemID);
  98. current.inventory[i] = itemID;
  99. }
  100.  
  101. // Track Weapon IDs
  102. current.weapons = new int[20];
  103. for (int i = 0; i < current.weapons.Length; ++i)
  104. {
  105. int weaponID = 0;
  106. IntPtr ptr;
  107. new DeepPointer(vars.inventoryPtr, 0x50, 0x98, 0x10, 0x20 + (i * 8), 0x18, 0x10, 0x14).DerefOffsets(memory, out ptr);
  108. memory.ReadValue<int>(ptr, out weaponID);
  109. current.weapons[i] = weaponID;
  110. }
  111. }
  112.  
  113.  
  114. start
  115. {
  116. if (current.map == 347 && current.gamePauseState == 1 || current.map == 219 && current.gamePauseState == 1)
  117. {
  118. return current.weaponSlot1 == 1 || current.weaponSlot1 == 9;
  119. }
  120. }
  121.  
  122. update
  123. {
  124. // Track inventory IDs
  125. current.inventory = new int[20];
  126. for (int i = 0; i < current.inventory.Length; ++i)
  127. {
  128. int itemID = 0;
  129. IntPtr ptr;
  130. new DeepPointer(vars.inventoryPtr, 0x50, 0x98, 0x10, 0x20 + (i * 8), 0x18, 0x10, 0x10).DerefOffsets(memory, out ptr);
  131. memory.ReadValue<int>(ptr, out itemID);
  132. current.inventory[i] = itemID;
  133. }
  134.  
  135. // Track Weapon IDs
  136. current.weapons = new int[20];
  137. for (int i = 0; i < current.weapons.Length; ++i)
  138. {
  139. int weaponID = 0;
  140. IntPtr ptr;
  141. new DeepPointer(vars.inventoryPtr, 0x50, 0x98, 0x10, 0x20 + (i * 8), 0x18, 0x10, 0x14).DerefOffsets(memory, out ptr);
  142. memory.ReadValue<int>(ptr, out weaponID);
  143. current.weapons[i] = weaponID;
  144. }
  145.  
  146. if (timer.CurrentPhase == TimerPhase.NotRunning)
  147. {
  148. vars.detonator = 0;
  149. vars.emptyDetonator = 0;
  150. vars.storageKey = 0;
  151. vars.mechanicHandle = 0;
  152. vars.squareCrank = 0;
  153. vars.unicorn = 0;
  154. vars.lion = 0;
  155. vars.maiden = 0;
  156. vars.spade = 0;
  157. vars.parkingcard = 0;
  158. vars.weaponcard = 0;
  159. vars.valve = 0;
  160. vars.starsbadge = 0;
  161. vars.scepter = 0;
  162. vars.jewel = 0;
  163. vars.jewelbox = 0;
  164. vars.rook = 0;
  165. vars.king = 0;
  166. vars.knight = 0;
  167. vars.queen = 0;
  168. vars.bishop = 0;
  169. vars.block = 0;
  170. vars.redbook = 0;
  171. vars.arm = 0;
  172. vars.diamond = 0;
  173. vars.carkey = 0;
  174. vars.partA = 0;
  175. vars.partB = 0;
  176. vars.smallgear = 0;
  177. vars.largegear = 0;
  178. vars.courtyardkey = 0;
  179. vars.orphanageKey = 0;
  180. vars.club = 0;
  181. vars.heart = 0;
  182. vars.tbar = 0;
  183. vars.dispenseEmpty = 0;
  184. vars.dispenseSolution = 0;
  185. vars.herbicide = 0;
  186. vars.jointPlug = 0;
  187. vars.chipAdmin = 0;
  188. vars.staffChip = 0;
  189. vars.chip = 0;
  190. vars.modulator = 0;
  191. vars.sewerKey = 0;
  192. vars.generalChip = 0;
  193. vars.seniorChip = 0;
  194. vars.fuse1 = 0;
  195. vars.fuse2 = 0;
  196. vars.scissors = 0;
  197. vars.boltCutters = 0;
  198. vars.reachedSewers = 0;
  199. vars.reachedRPDA = 0;
  200. vars.reachedGarage = 0;
  201. vars.reachedSecretRoom = 0;
  202. vars.exitedGarage = 0;
  203. vars.end = 0;
  204. vars.adaStart = 0;
  205. vars.adaEnd = 0;
  206. vars.rescue = 0;
  207. vars.g3 = 0;
  208. vars.trueEnd = 0;
  209. vars.onTrain = 0;
  210. vars.shotgun = 0;
  211. vars.gL = 0;
  212. }
  213. }
  214.  
  215. split
  216. {
  217. // Item splits
  218. int[] currentInventory = (current.inventory as int[]);
  219. int[] oldInventory = (old.inventory as int[]); // throws error first update, will be fine afterwards.
  220.  
  221. for (int i = 0; i < currentInventory.Length; i++)
  222. {
  223. if (currentInventory[i] != oldInventory[i])
  224. {
  225. switch (currentInventory[i])
  226. {
  227. case 0x0000001F:
  228. {
  229. if (vars.detonator == 0)
  230. {
  231. vars.detonator = 1;
  232. return settings["detonator"];
  233. }
  234. break;
  235. }
  236. case 0x00000022:
  237. {
  238. if (vars.emptyDetonator == 0)
  239. {
  240. vars.emptyDetonator = 1;
  241. return settings["emptyDetonator"];
  242. }
  243. break;
  244. }
  245. case 0x0000004D:
  246. {
  247. if (vars.storageKey == 0)
  248. {
  249. vars.storageKey = 1;
  250. return settings["storageKey"];
  251. }
  252. break;
  253. }
  254. case 0x0000004F:
  255. {
  256. if (vars.mechanicHandle == 0)
  257. {
  258. vars.mechanicHandle = 1;
  259. return settings["mechanicHandle"];
  260. }
  261. break;
  262. }
  263. case 0x00000050:
  264. {
  265. if (vars.squareCrank == 0)
  266. {
  267. vars.squareCrank = 1;
  268. return settings["squareCrank"];
  269. }
  270. break;
  271. }
  272. case 0x00000051:
  273. {
  274. if (vars.unicorn == 0)
  275. {
  276. vars.unicorn = 1;
  277. return settings["unicorn"];
  278. }
  279. break;
  280. }
  281. case 0x00000076:
  282. {
  283. if (vars.lion == 0)
  284. {
  285. vars.lion = 1;
  286. return settings["lion"];
  287. }
  288. break;
  289. }
  290. case 0x0000007C:
  291. {
  292. if (vars.maiden == 0)
  293. {
  294. vars.maiden = 1;
  295. return settings["maiden"];
  296. }
  297. break;
  298. }
  299. case 0x00000052:
  300. {
  301. if (vars.spade == 0)
  302. {
  303. vars.spade = 1;
  304. return settings["spade"];
  305. }
  306. break;
  307. }
  308. case 0x00000053:
  309. {
  310. if (vars.parkingcard == 0)
  311. {
  312. vars.parkingcard = 1;
  313. return settings["parkingcard"];
  314. }
  315. break;
  316. }
  317. case 0x00000054:
  318. {
  319. if (vars.weaponcard == 0)
  320. {
  321. vars.weaponcard = 1;
  322. return settings["weaponcard"];
  323. }
  324. break;
  325. }
  326. case 0x00000056:
  327. {
  328. if (vars.valve == 0)
  329. {
  330. vars.valve = 1;
  331. return settings["valve"];
  332. }
  333. break;
  334. }
  335. case 0x00000057:
  336. {
  337. if (vars.starsbadge == 0)
  338. {
  339. vars.starsbadge = 1;
  340. return settings["starsbadge"];
  341. }
  342. break;
  343. }
  344. case 0x00000058:
  345. {
  346. if (vars.scepter == 0)
  347. {
  348. vars.scepter = 1;
  349. return settings["scepter"];
  350. }
  351. break;
  352. }
  353. case 0x0000005A:
  354. {
  355. if (vars.jewel == 0)
  356. {
  357. vars.jewel = 1;
  358. return settings["jewel"];
  359. }
  360. break;
  361. }
  362. case 0x0000005B:
  363. {
  364. if (vars.jewelbox == 0)
  365. {
  366. vars.jewelbox = 1;
  367. return settings["jewelbox"];
  368. }
  369. break;
  370. }
  371. case 0x0000005E:
  372. {
  373. if (vars.rook == 0)
  374. {
  375. vars.rook = 1;
  376. return settings["rook"];
  377. }
  378. break;
  379. }
  380. case 0x0000005F:
  381. {
  382. if (vars.king == 0)
  383. {
  384. vars.king = 1;
  385. return settings["king"];
  386. }
  387. break;
  388. }
  389. case 0x00000084:
  390. {
  391. if (vars.knight == 0)
  392. {
  393. vars.knight = 1;
  394. return settings["knight"];
  395. }
  396. break;
  397. }
  398. case 0x00000086:
  399. {
  400. if (vars.queen == 0)
  401. {
  402. vars.queen = 1;
  403. return settings["queen"];
  404. }
  405. break;
  406. }
  407. case 0x0000005D:
  408. {
  409. if (vars.bishop == 0)
  410. {
  411. vars.bishop = 1;
  412. return settings["bishop"];
  413. }
  414. break;
  415. }
  416. case 0x00000062:
  417. {
  418. if (vars.block == 0)
  419. {
  420. vars.block = 1;
  421. return settings["block"];
  422. }
  423. break;
  424. }
  425. case 0x00000072:
  426. {
  427. if (vars.redbook == 0)
  428. {
  429. vars.redbook = 1;
  430. return settings["redbook"];
  431. }
  432. break;
  433. }
  434. case 0x00000073:
  435. {
  436. if (vars.arm == 0)
  437. {
  438. vars.arm = 1;
  439. return settings["arm"];
  440. }
  441. break;
  442. }
  443. case 0x00000077:
  444. {
  445. if (vars.diamond == 0)
  446. {
  447. vars.diamond = 1;
  448. return settings["diamond"];
  449. }
  450. break;
  451. }
  452. case 0x00000078:
  453. {
  454. if (vars.carkey == 0)
  455. {
  456. vars.carkey = 1;
  457. return settings["carkey"];
  458. }
  459. break;
  460. }
  461. case 0x00000087:
  462. {
  463. if (vars.partA == 0)
  464. {
  465. vars.partA = 1;
  466. return settings["partA"];
  467. }
  468. break;
  469. }
  470. case 0x00000088:
  471. {
  472. if (vars.partB == 0)
  473. {
  474. vars.partB = 1;
  475. return settings["partB"];
  476. }
  477. break;
  478. }
  479. case 0x00000081:
  480. {
  481. if (vars.smallgear == 0)
  482. {
  483. vars.smallgear = 1;
  484. return settings["smallgear"];
  485. }
  486. break;
  487. }
  488. case 0x00000082:
  489. {
  490. if (vars.largegear == 0)
  491. {
  492. vars.largegear = 1;
  493. return settings["largegear"];
  494. }
  495. break;
  496. }
  497. case 0x00000083:
  498. {
  499. if (vars.courtyardkey == 0)
  500. {
  501. vars.courtyardkey = 1;
  502. return settings["courtyardkey"];
  503. }
  504. break;
  505. }
  506. case 0x0000009F:
  507. {
  508. if (vars.orphanageKey == 0)
  509. {
  510. vars.orphanageKey = 1;
  511. return settings["orphanageKey"];
  512. }
  513. break;
  514. }
  515. case 0x000000A0:
  516. {
  517. if (vars.club == 0)
  518. {
  519. vars.club = 1;
  520. return settings["club"];
  521. }
  522. break;
  523. }
  524. case 0x000000A9:
  525. {
  526. if (vars.heart == 0)
  527. {
  528. vars.heart = 1;
  529. return settings["heart"];
  530. }
  531. break;
  532. }
  533. case 0x000000B0:
  534. {
  535. if (vars.tbar == 0)
  536. {
  537. vars.tbar = 1;
  538. return settings["tbar"];
  539. }
  540. break;
  541. }
  542. case 0x000000B3:
  543. {
  544. if (vars.dispenseEmpty == 0)
  545. {
  546. vars.dispenseEmpty = 1;
  547. return settings["dispenseEmpty"];
  548. }
  549. break;
  550. }
  551. case 0x000000B4:
  552. {
  553. if (vars.dispenseSolution == 0)
  554. {
  555. vars.dispenseSolution = 1;
  556. return settings["dispenseSolution"];
  557. }
  558. break;
  559. }
  560. case 0x000000B5:
  561. {
  562. if (vars.herbicide == 0)
  563. {
  564. vars.herbicide = 1;
  565. return settings["herbicide"];
  566. }
  567. break;
  568. }
  569. case 0x000000B7:
  570. {
  571. if (vars.jointPlug == 0)
  572. {
  573. vars.jointPlug = 1;
  574. return settings["jointPlug"];
  575. }
  576. break;
  577. }
  578. case 0x000000BB:
  579. {
  580. if (vars.chipAdmin == 0)
  581. {
  582. vars.chipAdmin = 1;
  583. return settings["chipAdmin"];
  584. }
  585. break;
  586. }
  587. case 0x000000BD:
  588. {
  589. if (vars.modulator == 0)
  590. {
  591. vars.modulator = 1;
  592. return settings["modulator"];
  593. }
  594. break;
  595. }
  596. case 0x000000C2:
  597. {
  598. if (vars.sewerKey == 0)
  599. {
  600. vars.sewerKey = 1;
  601. return settings["sewerKey"];
  602. }
  603. break;
  604. }
  605. case 0x000000C3:
  606. {
  607. if (vars.generalChip == 0)
  608. {
  609. vars.generalChip = 1;
  610. return settings["generalChip"];
  611. }
  612. break;
  613. }
  614. case 0x000000C8:
  615. {
  616. if (vars.generalChip == 0)
  617. {
  618. vars.generalChip = 1;
  619. return settings["generalChip"];
  620. }
  621. break;
  622. }
  623. case 0x000000C4:
  624. {
  625. if (vars.staffChip == 0)
  626. {
  627. vars.staffChip = 1;
  628. return settings["staffChip"];
  629. }
  630. break;
  631. }
  632. case 0x000000C9:
  633. {
  634. if (vars.staffChip == 0)
  635. {
  636. vars.staffChip = 1;
  637. return settings["staffChip"];
  638. }
  639. break;
  640. }
  641. case 0x000000C5:
  642. {
  643. if (vars.seniorChip == 0)
  644. {
  645. vars.seniorChip = 1;
  646. return settings["seniorChip"];
  647. }
  648. break;
  649. }
  650. case 0x000000CA:
  651. {
  652. if (vars.seniorChip == 0)
  653. {
  654. vars.seniorChip = 1;
  655. return settings["seniorChip"];
  656. }
  657. break;
  658. }
  659. case 0x000000F0:
  660. {
  661. if (vars.fuse1 == 0)
  662. {
  663. vars.fuse1 = 1;
  664. return settings["fuse1"];
  665. }
  666. break;
  667. }
  668. case 0x000000F1:
  669. {
  670. if (vars.fuse2 == 0)
  671. {
  672. vars.fuse2 = 1;
  673. return settings["fuse2"];
  674. }
  675. break;
  676. }
  677. case 0x000000F3:
  678. {
  679. if (vars.scissors == 0)
  680. {
  681. vars.scissors = 1;
  682. return settings["scissors"];
  683. }
  684. break;
  685. }
  686. case 0x000000F4:
  687. {
  688. if (vars.boltCutters == 0)
  689. {
  690. vars.boltCutters = 1;
  691. return settings["boltCutters"];
  692. }
  693. break;
  694. }
  695. default:
  696. {
  697. break; // No work to do.
  698. }
  699. }
  700. }
  701. }
  702.  
  703. // Weapon splits
  704. int[] currentWeapons = (current.weapons as int[]);
  705. int[] oldWeapons = (old.weapons as int[]); // throws error first update, will be fine afterwards.
  706.  
  707. for (int i = 0; i < currentWeapons.Length; i++)
  708. {
  709. if (currentWeapons[i] != oldWeapons[i])
  710. {
  711. switch (currentWeapons[i])
  712. {
  713. case 0x0000000B:
  714. {
  715. if (vars.shotgun == 0)
  716. {
  717. vars.shotgun = 1;
  718. return settings["shotgun"];
  719. }
  720. break;
  721. }
  722. case 0x0000002A:
  723. {
  724. if (vars.gL == 0)
  725. {
  726. vars.gL = 1;
  727. return settings["gL"];
  728. }
  729. break;
  730. }
  731. default:
  732. {
  733. break; // No work to do.
  734. }
  735. }
  736. }
  737. }
  738.  
  739.  
  740. // Map splits
  741. if (current.map != old.map)
  742. {
  743. if (current.map == 317 && vars.reachedSewers == 0 || current.map == 377 && old.map == 407 && vars.reachedSewers == 0)
  744. {
  745. vars.reachedSewers = 1;
  746. return settings["reachedSewers"];
  747. }
  748.  
  749. if (current.map == 310 && current.weaponSlot1 == 8 && vars.adaStart == 0)
  750. {
  751. vars.adaStart = 1;
  752. return settings["adaStart"];
  753. }
  754.  
  755. if (current.map == 112 && vars.reachedRPDA == 0 && current.gamePauseState == 1 || current.map == 261 && vars.reachedRPDA == 0)
  756. {
  757. vars.reachedRPDA = 1;
  758. return settings["reachedRPDA"];
  759. }
  760.  
  761. if (current.map == 277 && vars.reachedGarage == 0)
  762. {
  763. vars.reachedGarage = 1;
  764. return settings["reachedGarage"];
  765. }
  766.  
  767. if (current.map == 350 && vars.reachedSecretRoom == 0)
  768. {
  769. vars.reachedSecretRoom = 1;
  770. return settings["reachedSecretRoom"];
  771. }
  772.  
  773. if (old.map == 277 && current.map == 351 && vars.exitedGarage == 0)
  774. {
  775. vars.exitedGarage = 1;
  776. return settings["exitedGarage"];
  777. }
  778.  
  779. if (current.map == 338 && vars.rescue == 0 || old.map == 0 && current.map == 335 && vars.rescue == 0)
  780. {
  781. vars.rescue = 1;
  782. return settings["rescue"];
  783. }
  784.  
  785. if (current.map == 423 && vars.onTrain == 0)
  786. {
  787. vars.onTrain = 1;
  788. }
  789. if (current.map == 0 && old.map == 330 && vars.adaEnd == 0)
  790. {
  791. vars.adaEnd = 1;
  792. return settings["adaEnd"];
  793. }
  794. }
  795. else if (current.map == 419 && !(current.bossHP >= 1) && vars.g3 == 0)
  796. {
  797. vars.g3 = 1;
  798. return settings["g3"];
  799. }
  800.  
  801. //End split
  802. if (current.map == 421 && old.bossHP >= 50000 && !(current.bossHP >= 50000) && vars.end == 0 || current.map == 422 && current.gamePauseState == 257 && vars.end == 0)
  803. {
  804. vars.end = 1;
  805. return settings["end"];
  806. }
  807.  
  808. if (current.map == 422 && vars.onTrain == 1 && current.gamePauseState == 257 && vars.trueEnd == 0 || current.map == 421 && vars.onTrain == 1 && old.map == 423 && vars.trueEnd == 0)
  809. {
  810. vars.trueEnd = 1;
  811. return settings["trueEnd"];
  812. }
  813. }
  814.  
  815. gameTime
  816. {
  817. return TimeSpan.FromSeconds((current.active - current.cutscene - current.paused) / 1000000.0);
  818. }
  819.  
  820. isLoading
  821. {
  822. return true;
  823. //return current.gamePauseState != 1 && current.gamePauseState != 65537;
  824. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement