FearPerseusMandate.asl 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. state("FEARXP2")
  2. {
  3. int loading1 : 0x2193D0;
  4. string90 map : 0x21208C;
  5. int cutscene : 0x216DC4;
  6. }
  7. startup
  8. {
  9. settings.Add("missions", true, "Missions");
  10. vars.missions = new Dictionary<string,string>
  11. {
  12. {"Sewer.World00p","Investigation - Underneath"},
  13. {"Streets.World00p","Investigation - Firefight"},
  14. {"Data_Center.World00p","Revelation - Rescue and Recon"},
  15. {"Computer_Core.World00p","Revelation - Disturbance"},
  16. {"Landing_Zone.World00p","Apprehension - Pacification"},
  17. {"Research_facility.World00p","Apprehension - Bio-Research"},
  18. {"Plaza.World00p","Apprehension - The Plaza Chase"},
  19. {"Underground.World00p","Devastation - Buried"},
  20. {"Subway.World00p","Devastation - The Deep"},
  21. {"Train_Yard.World00p","Infiltration - Relic"},
  22. {"Headquarters.World00p","Infiltration - Base Camp"},
  23. {"Mine.World00p","Exploration - Labyrinth"},
  24. {"Clone_Labs.World00p","Extermination - Clone Facility"},
  25. {"Clone_Production.World00p","Extermination - Clone Production"},
  26. {"Escape.World00p","Extermination - Showdown"},
  27. };
  28. foreach (var Tag in vars.missions)
  29. {
  30. settings.Add(Tag.Key, true, Tag.Value, "missions");
  31. };
  32. if (timer.CurrentTimingMethod == TimingMethod.RealTime) // stolen from dude simulator 3, basically asks the runner to set their livesplit to game time
  33. {
  34. var timingMessage = MessageBox.Show (
  35. "This game uses Time without Loads (Game Time) as the main timing method.\n"+
  36. "LiveSplit is currently set to show Real Time (RTA).\n"+
  37. "Would you like to set the timing method to Game Time? This will make verification easier",
  38. "LiveSplit | Fear Perseus Mandate",
  39. MessageBoxButtons.YesNo,MessageBoxIcon.Question
  40. );
  41. if (timingMessage == DialogResult.Yes)
  42. {
  43. timer.CurrentTimingMethod = TimingMethod.GameTime;
  44. }
  45. }
  46. }
  47. start
  48. {
  49. return ((current.map == "Introduction.World00p") && (current.loading1 != 0) && (current.cutscene == 0));
  50. }
  51. isLoading
  52. {
  53. return (current.loading1 == 0) ||
  54. (current.cutscene != 0);
  55. }
  56. split
  57. {
  58. return ((current.map != old.map) && (settings[current.map]));
  59. }