WantedWeaponsofFate.asl 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. state("Wanted")
  2. {
  3. string25 map : 0x0073055C, 0x8, 0x4, 0x78, 0xC;
  4. int loading1 : 0x73EF70;
  5. }
  6. startup
  7. {
  8. settings.Add("missions", true, "Missions");
  9. vars.missions = new Dictionary<string,string>
  10. {
  11. {"/02_RES_A_1_stage1","Act 2: When the Water Broke"},
  12. {"/03_DCF_A_stage1","Act 3: Russian's Last Dance"},
  13. {"/04_AIR_A_stage1","Act 4: Fear of Flying Fuck"},
  14. {"/05_OFF_B_stage1","Act 5: Shut The Fuck Up"},
  15. {"06_CF_A_stage1","Act 6: Shoot That MotherFucker!"},
  16. {"/07_MOU_A_stage1","Act 7: Spiders Don't Have Wings"},
  17. {"/08_MVA_B_stage1","Act 8: Dust to Dust"},
  18. {"/09_CHU_A_1_stage1","Act 9; How's Your Father?"},
  19. };
  20. foreach (var Tag in vars.missions)
  21. {
  22. settings.Add(Tag.Key, true, Tag.Value, "missions");
  23. };
  24. vars.onStart = (EventHandler)((s, e) => // thanks gelly for this, it's basically making sure it always clears the vars no matter how livesplit starts
  25. {
  26. vars.doneMaps.Clear();
  27. });
  28. timer.OnStart += vars.onStart;
  29. if (timer.CurrentTimingMethod == TimingMethod.RealTime) // stolen from dude simulator 3, basically asks the runner to set their livesplit to game time
  30. {
  31. var timingMessage = MessageBox.Show (
  32. "This game uses Time without Loads (Game Time) as the main timing method.\n"+
  33. "LiveSplit is currently set to show Real Time (RTA).\n"+
  34. "Would you like to set the timing method to Game Time? This will make verification easier",
  35. "LiveSplit | Wanted: Weapons of Fate",
  36. MessageBoxButtons.YesNo,MessageBoxIcon.Question
  37. );
  38. if (timingMessage == DialogResult.Yes)
  39. {
  40. timer.CurrentTimingMethod = TimingMethod.GameTime;
  41. }
  42. }
  43. }
  44. init
  45. {
  46. vars.doneMaps = new List<string>();
  47. }
  48. start
  49. {
  50. if ((current.map == "/01_APT_A_stage1") && (current.loading1 == 0) && (old.loading1 != current.loading1))
  51. {
  52. vars.doneMaps.Clear();
  53. return true;
  54. }
  55. }
  56. split
  57. {
  58. if ((current.map != old.map) && (settings[(current.map)]) && (!vars.doneMaps.Contains(current.map))) // done maps needed because of shit checkpoints
  59. {
  60. vars.doneMaps.Add(current.map);
  61. return true;
  62. }
  63. }
  64. isLoading
  65. {
  66. return (current.loading1 == 1);
  67. }
  68. exit
  69. {
  70. timer.OnStart -= vars.onStart;
  71. }