DeadRising3.asl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. state("deadrising3")
  2. {
  3. string9 BackupCC: 0x1713ABB;
  4. string9 CurrentChapter: 0X01714FA0, 0XE98, 0X0;
  5. string110 CurrentObjective: 0x01713D38, 0xCD0, 0X2A0, 0X7B0, 0X130, 0X2D0, 0X460;
  6. uint Loader: 0x0199DE40, 0xE0, 0X8, 0X1308;
  7. long CurBossPtr: 0x019A78D0, 0x120, 0x50, 0x530, 0x1A8, 0x678;
  8. string110 LastOBJGiven: 0x01713D28, 0x30, 0x58, 0x468, 0xF0; //ONLY APPLIES TO SIDE OBJS NOT MAIN OBJS
  9. int BossHealth: 0x01A0CF38, 0x90, 0x28, 0x8, 0xB0, 0x8, 0x10;
  10. int FrankStatues: 0x01A0D130, 0x90, 0x810, 0x0, 0x120, 0x18, 0x40, 0x7B0;
  11. int EnterPlane: 0x016F4128, 0x138, 0x30, 0x18, 0x140;
  12. }
  13. init
  14. {
  15. vars.doneMaps = new List<string>();
  16. vars.BossName = ".";
  17. vars.lastBoss = ".";
  18. }
  19. startup
  20. {
  21. settings.Add("DS3", true, "Dead Rising 3");
  22. settings.Add("Chapter00", true, "Chapter 0", "DS3");
  23. settings.Add("Chapter01", true, "Chapter 1", "DS3");
  24. settings.Add("Chapter02", true, "Chapter 2", "DS3");
  25. settings.Add("Chapter03", true, "Chapter 3", "DS3");
  26. settings.Add("Chapter04", true, "Chapter 4", "DS3");
  27. settings.Add("Chapter05", true, "Chapter 5", "DS3");
  28. settings.Add("Chapter06", true, "Chapter 6", "DS3");
  29. settings.Add("Chapter07", true, "Chapter 7", "DS3");
  30. settings.Add("Chapter08", true, "Chapter 8", "DS3");
  31. settings.Add("OB", true, "Optional Bosses", "DS3");
  32. settings.Add("DLC", true, "DLC Episodes", "DS3");
  33. settings.Add("OBE", true, "Operation Broken Eagle", "DLC");
  34. settings.Add("FA", true, "Fallen Angel", "DLC");
  35. settings.Add("CR", true, "Chaos Rising", "DLC");
  36. settings.Add("TLA", true, "The Last Agent", "DLC");
  37. settings.Add("AFS", true, "All Frank Statues", "DS3");
  38. settings.Add("10C", false, "10 collected", "AFS");
  39. settings.Add("20C", false, "20 collected", "AFS");
  40. settings.Add("30C", false, "30 collected", "AFS");
  41. settings.Add("40C", false, "40 collected", "AFS");
  42. settings.Add("50C", false, "50 collected", "AFS");
  43. settings.Add("60C", false, "60 collected", "AFS");
  44. settings.Add("70C", false, "70 collected", "AFS");
  45. var tB = (Func<string, string, string, Tuple<string, string, string>>) ((elmt1, elmt2, elmt3) => { return Tuple.Create(elmt1, elmt2, elmt3); });
  46. var sB = new List<Tuple<string, string, string>>
  47. {
  48. tB("Chapter00","Eat Food To Restore Health","Eat Food To Restore Health"),
  49. tB("Chapter00","Find Supplies","Find Supplies"),
  50. // redundant tB("Chapter00","Get Through the Blockade","Get Through the Blockade"),
  51. tB("Chapter00","Explore the Tunnel","Explore the Tunnel"),
  52. //tB("Chapter00","Find a Way Out","Find a Way Out"),
  53. tB("Chapter00","Get to the Diner","Get to the Diner"),
  54. tB("Chapter00","Combine Two Weapons","Combine Two Weapons"),
  55. tB("Chapter00","Get Everyone to Rhonda's Garage","Get Everyone to Rhonda's Garage"),
  56. tB("Chapter00","Lower the Barricade","Lower the Barricade"),
  57. //redundant tB("Chapter00","Get in the Car","Get in the Car"),
  58. tB("Chapter00","Explore while Rhonda's Busy","Explore while Rhonda's Busy"),
  59. tB("Chapter00","Talk to Rhonda","Talk to Rhonda"),
  60. tB("Chapter01","Combine Two Vehicles","Combine Two Vehicles"),
  61. tB("Chapter01","Get to the Quarantine Station","Get to the Quarantine Station"),
  62. tB("Chapter01","Defeat 10 Bikers","Defeat 10 Bikers"),
  63. tB("Chapter01","Defeat the Gang Leader","Defeat the Gang Leader"),
  64. tB("Chapter02","Get to the Sewers","Get to the Sewers"),
  65. tB("Chapter02","Get Zombrex at the Morgue","Get Zombrex at the Morgue"),
  66. tB("Chapter02","Break in through Skylight","Break in through Skylight"),
  67. tB("Chapter02","Let Gary in","Let Gary in"),
  68. tB("Chapter02","Get to Cold Storage","Get to Cold Storage"),
  69. tB("Chapter02","Find Nicole White's Corpse","Find Nicole White's Corpse"),
  70. tB("Chapter02","Find Keys to Morgue Drawers","Find Keys to Morgue Drawers"),
  71. tB("Chapter02","Help Gary","Help Gary"),
  72. tB("Chapter02","Get the Corpse to the Club","Get the Corpse to the Club"),
  73. tB("Chapter03","Get to the Plane","Get to the Plane"),
  74. tB("Chapter03","Find the Illegally Infected","Find the Illegally Infected"),
  75. tB("Chapter03","Talk to Lauren","Talk to Lauren"),
  76. tB("Chapter03","Find Tattoo Kit","Find Tattoo Kit"),
  77. tB("Chapter03","Find Lauren's Ring Box","Find Lauren's Ring Box"),
  78. tB("Chapter03","Return to Lauren","Return to Lauren"),
  79. tB("Chapter03","Find Annie","Find Annie"),
  80. tB("Chapter03","Destroy 3 camera","Destroy 3 camera"),
  81. tB("Chapter03","Destroy 2 Relays","Destroy 2 Relays"),
  82. tB("Chapter03","Burn 2 Sets of Supplies","Burn 2 Sets of Supplies"),
  83. tB("Chapter03","Defeat the Real Albert","Defeat the Real Albert"),
  84. tB("Chapter03","Return to the Comm Tower","Return to the Comm Tower"),
  85. tB("Chapter03","Get to the Police Station","Get to the Police Station"),
  86. tB("Chapter03","Follow Hilde","Follow Hilde"),
  87. tB("Chapter03","Defeat Hilde, the Sergeant","Defeat Hilde, the Sergeant"),
  88. tB("Chapter03","Meet Red and Annie at the Hotel","Meet Red and Annie at the Hotel"),
  89. tB("Chapter03","Explore While Red Gets Fuel","Explore While Red Gets Fuel"),
  90. tB("Chapter03","Meet Red at the Comm Tower","Meet Red at the Comm Tower"),
  91. tB("Chapter04","Get to Car Lot Rooftop","Get to Car Lot Rooftop"),
  92. tB("Chapter04","Infiltrate the Compound","Infiltrate the Compound"),
  93. tB("Chapter04","Enter the HQ","Enter the HQ"),
  94. tB("Chapter04","Destroy the Generators","Destroy the Generators"),
  95. tB("Chapter04","Free the Captives","Free the Captives"),
  96. tB("Chapter04","Defeat all Spec Ops","Defeat all Spec Ops"),
  97. tB("Chapter04","Defeat the Commander","Defeat the Commander"),
  98. tB("Chapter04","Get to Central Storage","Get to Central Storage"),
  99. tB("Chapter04","Find the Fuel","Find the Fuel"),
  100. tB("Chapter04","Get into the Fuel Car","Get into the Fuel Car"),
  101. tB("Chapter05","Find Diego at Museum","Find Diego at Museum"),
  102. tB("Chapter05","Defeat Diego","Defeat Diego"),
  103. tB("Chapter05","Find the Gang Members","Find the Gang Members"),
  104. tB("Chapter05","Bring Diego to the Plane","Bring Diego to the Plane"),
  105. tB("Chapter05","Explore While Rhonda Researches","Explore While Rhonda Researches"),
  106. tB("Chapter06","Get to the Collector's House","Get to the Collector's House"),
  107. tB("Chapter06","Clear the Room","Clear the Room"),
  108. tB("Chapter06","Disable the Alarm","Disable the Alarm"),
  109. tB("Chapter06","Find the Rudder Arm","Find the Rudder Arm"),
  110. tB("Chapter06","Get to the Courier","Get to the Courier"),
  111. tB("Chapter06","Find the Flywheel","Find the Flywheel"),
  112. //tB("Chapter06","Get to the Plane","Get to the Plane"),
  113. tB("Chapter06","Find a Way Out","Find a Way Out"),
  114. tB("Chapter06","Destroy the Loaders to Escape","Destroy the Loaders to Escape"),
  115. tB("Chapter07","Get to the Karaoke Bar","Get to the Karaoke Bar"),
  116. tB("Chapter07","Unlock the Doors","Unlock the Doors"),
  117. tB("Chapter07","Turn on the Power","Turn on the Power"),
  118. tB("Chapter07","Find Some Wire","Find Some Wire"),
  119. //tB("Chapter07","Turn on the Power","Turn on the Power"),
  120. //tB("Chapter07","Unlock the Doors","Unlock the Doors"),
  121. tB("Chapter07","Escape the Metro","Escape the Metro"),
  122. tB("Chapter07","PLANE","Enter the Plane"),
  123. tB("Chapter07","Find Rhonda","Find Rhonda"),
  124. tB("Chapter07","Find First Aid Kit","Find First Aid Kit"),
  125. tB("Chapter07","Find an Acetylene Tank","Find an Acetylene Tank"),
  126. tB("Chapter07","Bring Rhonda to Gary","Bring Rhonda to Gary"),
  127. tB("Chapter07","Clear Zombies Around Annie","Clear Zombies Around Annie"),
  128. tB("Chapter07","Help Annie","Help Annie"),
  129. tB("Chapter07","Take Annie to the Plane","Take Annie to the Plane"),
  130. tB("Chapter07","Destroy the Crane","Destroy the Crane"),
  131. tB("Chapter07","Free Annie and Isabella","Free Annie and Isabella"),
  132. tB("Chapter08","Track Down Hemlock","Track Down Hemlock"),
  133. tB("Chapter08","Destroy 60 Harvest Drones","Destroy 60 Harvest Drones"),
  134. tB("Chapter08","Hemlock","Defeat Hemlock"),
  135. tB("OB","Zhi","Zhi"),
  136. tB("OB","Darlene","Darlene"),
  137. tB("OB","Jherii","Jherii"),
  138. tB("OB","Sloth","Sloth"),
  139. tB("OB","Dylan","Dylan"),
  140. tB("OB","Kenny","Kenny"),
  141. tB("OB","Find Teddy's Location","Teddy"),
  142. tB("OB","Gang Leader","Gang Leader"),
  143. tB("OBE","Escape the Aquaduct","Escape the Aquaduct"),
  144. tB("OBE","Locate Precious Cargo","Locate Precious Cargo"),
  145. tB("OBE","Get to the Motel","Get to the Motel"),
  146. tB("OBE","Cleanse Illegals Base","Cleanse Illegals Base"),
  147. tB("OBE","Go to Ingleton Taxi Company","Go to Ingleton Taxi Company"),
  148. tB("OBE","Close the Gate","Close the Gate"),
  149. tB("OBE","Clear Taxi Company","Clear Taxi Company"),
  150. tB("OBE","Get to the Roof","Get to the Roof"),
  151. tB("OBE","Signal Bravo with Flare","Signal Bravo with Flare"),
  152. tB("OBE","Locate Charlie Unit's Supplies","Locate Charlie Unit's Supplies"),
  153. tB("OBE","Return supplies to Base Camp","Return supplies to Base Camp"),
  154. tB("OBE","Park the Vehicle","Park the Vehicle"),
  155. tB("OBE","Investigate the Stage","Investigate the Stage"),
  156. tB("OBE","Track the President","Track the President"),
  157. tB("OBE","Eliminate the President's Forces","Eliminate the President's Forces"),
  158. tB("OBE","Secure the President","Secure the President"),
  159. tB("OBE","DLC1END", "Split on Final Cutscene"),
  160. tB("FA","Investigate the Yacht","Investigate the Yacht"),
  161. //tB("FA","Find Supplies","Find Supplies"),
  162. tB("FA","Get to the Safe Zone in South Almuda","Get to the Safe Zone in South Almuda"),
  163. tB("FA","Search for Clues","Search for Clues"),
  164. tB("FA","Follow the Blood Trail","Follow the Blood Trail"),
  165. tB("FA","Talk to Winnie","Talk to Winnie"),
  166. tB("FA","Get to Sunset High School","Get to Sunset High School"),
  167. tB("FA","Stop the Intruders","Stop the Intruders"),
  168. tB("FA","Get to the Communications Tower","Get to the Communications Tower"),
  169. tB("FA","Defend Doug","Defend Doug"),
  170. tB("FA","Clear Out the Zombies Inside","Clear Out the Zombies Inside"),
  171. tB("FA","Talk to Doug","Talk to Doug"),
  172. tB("FA","Find the Food Truck","Find the Food Truck"),
  173. tB("FA","Return Food Truck to Communications Tower","Return Food Truck to Communications Tower"),
  174. tB("FA","Meet Doug at the Trap Location","Meet Doug at the Trap Location"),
  175. tB("FA","Get to the Vantage Point","Get to the Vantage Point"),
  176. tB("FA","Take out the Spec Ops","Take out the Spec Ops"),
  177. tB("FA","Follow Doug","Follow Doug"),
  178. tB("FA","Investigate the Lab","Investigate the Lab"),
  179. tB("FA","Find the Lab Key","Find the Lab Key"),
  180. tB("FA","Clear Enemies from Lab","Clear Enemies from Lab"),
  181. tB("FA","Rescue the Trapped Survivors","Rescue the Trapped Survivors"),
  182. tB("FA","DLC2END", "Split on Final Cutscene"),
  183. tB("CR","Get the Station Key","Get the Station Key"),
  184. tB("CR","Escape the Police Station","Escape the Police Station"),
  185. tB("CR","Get to Production Bridge","Get to Production Bridge"),
  186. tB("CR","Talk to Spider","Talk to Spider"),
  187. tB("CR","Collect the Special Whiskey","Collect the Special Whiskey"),
  188. tB("CR","Deliver the Whiskey","Deliver the Whiskey"),
  189. //tB("CR","Talk to Spider","Talk to Spider"),
  190. tB("CR","Survive the Doublecross","Survive the Doublecross"),
  191. tB("CR","Talk to Torque","Talk to Torque"),
  192. tB("CR","Collect Bikes for Torque","Collect Bikes for Torque"),
  193. //tB("CR","Talk to Torque","Talk to Torque"),
  194. tB("CR","Get Torque's Bike","Get Torque's Bike"),
  195. tB("CR","Explore while Torque works","Explore while Torque works"),
  196. tB("CR","Collect Razorface's Ring","Collect Razorface's Ring"),
  197. tB("CR","Collect Snake's Ring","Collect Snake's Ring"),
  198. tB("CR","Collect Cannon's Ring","Collect Cannon's Ring"),
  199. tB("CR","Go get Torque","Go get Torque"),
  200. tB("CR","Get to Shavey's","Get to Shavey's"),
  201. tB("CR","Get on the Rollerhawg","Get on the Rollerhawg"),
  202. //tB("CR","Get to Production Bridge","Get to Production Bridge"),
  203. tB("CR","Defeat Spider","Defeat Spider"),
  204. tB("CR","DLC3END", "Split on Final Cutscene"),
  205. tB("TLA","Find the Collins Chemicals Van","Find the Collins Chemicals Van"),
  206. tB("TLA","Deliver the Zombrex Van to Cora","Deliver the Zombrex Van to Cora"),
  207. tB("TLA","Talk to Cora","Talk to Cora"),
  208. tB("TLA","Locate the Pacifier Weapon","Locate the Pacifier Weapon"),
  209. tB("TLA","Collect Chips from Kings","Collect Chips from Kings"),
  210. tB("TLA","Return to the Doctor with the Collected Chips","Return to the Doctor with the Collected Chips"),
  211. tB("TLA","Investigate the Gunshots and Explosions","Investigate the Gunshots and Explosions"),
  212. tB("TLA","Return to the Hospital and Kill the Bikers","Return to the Hospital and Kill the Bikers"),
  213. //tB("TLA","Talk to Cora","Talk to Cora"),
  214. tB("TLA","Retrieve the Bootlegged Zombrex","Retrieve the Bootlegged Zombrex"),
  215. tB("TLA","Return to the Doctor","Return to the Doctor"),
  216. tB("TLA","Talk to the Hacker in Sunset Hills","Talk to the Hacker in Sunset Hills"),
  217. tB("TLA","Clear Zombies from immediate area","Clear Zombies from immediate area"),
  218. tB("TLA","Give Nelson Zombrex","Give Nelson Zombrex"),
  219. tB("TLA","Talk to Nelson","Talk to Nelson"),
  220. tB("TLA","Find the Spectrum Analyzer","Find the Spectrum Analyzer"),
  221. tB("TLA","Find the Computer Parts","Find the Computer Parts"),
  222. tB("TLA","Go to the Control Room at Annie's XXX","Go to the Control Room at Annie's XXX"),
  223. //tB("TLA","Talk to Nelson","Talk to Nelson"),
  224. tB("TLA","Explore While Nelson Works","Explore While Nelson Works"),
  225. tB("TLA","Go see the Hacker","Go see the Hacker"),
  226. tB("TLA","Get to the Source of the Jamming Signal","Get to the Source of the Jamming Signal"),
  227. tB("TLA","Kill all the Spec Ops in the Area","Kill all the Spec Ops in the Area"),
  228. tB("TLA","Investigate the Server Station","Investigate the Server Station"),
  229. tB("TLA","Get to the Military Lab","Get to the Military Lab"),
  230. tB("TLA","Get to the Military Base","Get to the Military Base"),
  231. tB("TLA","Gather the Survivors at the Hospital","Gather the Survivors at the Hospital"),
  232. tB("TLA","Gather the Illegals at the Comm Tower","Gather the Illegals at the Comm Tower"),
  233. tB("TLA","Pick up Nelson","Pick up Nelson"),
  234. tB("TLA","Escape the City","Escape the City"),
  235. tB("TLA","DLC4END", "Split on Final Cutscene"),
  236. };
  237. foreach (var s in sB) settings.Add(s.Item2, false, s.Item3, s.Item1);
  238. if (timer.CurrentTimingMethod == TimingMethod.RealTime)
  239. {
  240. var timingMessage = MessageBox.Show (
  241. "This game uses Time without Loads (Game Time) as the main timing method.\n"+
  242. "LiveSplit is currently set to show Real Time (RTA).\n"+
  243. "Would you like to set the timing method to Game Time?",
  244. "LiveSplit | Dead Rising 3",
  245. MessageBoxButtons.YesNo, MessageBoxIcon.Question
  246. );
  247. if (timingMessage == DialogResult.Yes)
  248. timer.CurrentTimingMethod = TimingMethod.GameTime;
  249. }
  250. }
  251. update
  252. {
  253. vars.BossName = memory.ReadString(new IntPtr(current.CurBossPtr), 256);
  254. }
  255. onReset
  256. {
  257. vars.doneMaps.Clear();
  258. vars.lastBoss = vars.BossName;
  259. }
  260. start
  261. {
  262. return (current.BackupCC == "Chapter00" && current.Loader == 3452816641 ||
  263. current.CurrentChapter == "Episode1" && current.Loader == 3452816641 ||
  264. current.CurrentChapter == "Episode2" && current.Loader == 3452816641 ||
  265. current.CurrentChapter == "Episode3" && current.Loader == 3452816641 ||
  266. current.CurrentChapter == "Episode4" && current.Loader == 3452816641);
  267. }
  268. onStart
  269. {
  270. vars.doneMaps.Add(current.CurrentChapter);
  271. vars.doneMaps.Add(current.CurrentObjective);
  272. vars.lastBoss = vars.BossName;
  273. }
  274. split
  275. {
  276. if (current.CurrentChapter != old.CurrentChapter && !vars.doneMaps.Contains(old.CurrentChapter))
  277. {
  278. vars.doneMaps.Add(old.CurrentChapter);
  279. return settings[old.CurrentChapter];
  280. }
  281. if (current.CurrentObjective != old.CurrentObjective && !vars.doneMaps.Contains(old.CurrentObjective))
  282. {
  283. vars.doneMaps.Add(old.CurrentObjective);
  284. return settings[old.CurrentObjective];
  285. }
  286. if (settings[vars.BossName] && !vars.doneMaps.Contains(vars.BossName) && vars.lastBoss != vars.BossName && current.BossHealth == 0)
  287. {
  288. vars.doneMaps.Add(vars.BossName);
  289. return true;
  290. }
  291. //Splits on interacting with the Plane during Chapter 7 for Ending D
  292. if (old.EnterPlane == 0 && current.EnterPlane == 3 && current.CurrentChapter == "Chapter07")
  293. {
  294. vars.doneMaps.Add("PLANE");
  295. return settings["PLANE"];
  296. }
  297. //Splits on the beginning of the DLC ending cutscenes
  298. if (current.CurrentChapter == "Debug_Epi" && old.CurrentChapter != "Debug_Epi" && current.CurrentObjective == "Secure the President")
  299. {
  300. vars.doneMaps.Add("DLC1END");
  301. return settings["DLC1END"];
  302. }
  303. if (current.CurrentChapter == "Debug_Epi" && old.CurrentChapter != "Debug_Epi" && current.CurrentObjective == "Rescue the Trapped Survivors")
  304. {
  305. vars.doneMaps.Add("DLC2END");
  306. return settings["DLC2END"];
  307. }
  308. if (current.CurrentChapter == "Debug_Epi" && old.CurrentChapter != "Debug_Epi" && current.CurrentObjective == "Defeat Spider")
  309. {
  310. vars.doneMaps.Add("DLC3END");
  311. return settings["DLC3END"];
  312. }
  313. if (current.CurrentChapter == "Debug_Epi" && old.CurrentChapter != "Debug_Epi" && current.CurrentObjective == "Escape the City")
  314. {
  315. vars.doneMaps.Add("DLC4END");
  316. return settings["DLC4END"];
  317. }
  318. //Splits on collecting a certain number of Frank West Statues
  319. if (current.FrankStatues!= old.FrankStatues && !vars.doneMaps.Contains(current.FrankStatues+"C"))
  320. {
  321. vars.doneMaps.Add(current.FrankStatues+"C");
  322. return settings[current.FrankStatues+"C"];
  323. }
  324. }
  325. isLoading
  326. {
  327. return current.Loader == 3452816641;
  328. }
  329. reset
  330. {
  331. return current.CurrentChapter == "main_menu" && old.CurrentChapter != "main_menu";
  332. }