-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathLiveSplit.BadWay.asl
79 lines (69 loc) · 2 KB
/
LiveSplit.BadWay.asl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
state("BadWay")
{
int Gameplay: 0x45901B4;
int LevelID: 0x4860300;
int Autostart: 0x458F420, 0x20, 0x3D4;
}
init
{
vars.Splits = new HashSet<string>();
switch (modules[0].ModuleMemorySize)
{
case 0x4F46000: break;
default:
{
dynamic cmp = timer.Run.AutoSplitter != null
? timer.Run.AutoSplitter.Component
: timer.Layout.Components.First(c => c.GetType().Name == "ASLComponent");
cmp.Script.GetType().GetField("_game", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(cmp.Script, null);
return;
}
}
}
startup
{
settings.Add("BW", true, "Bad Way");
settings.Add("LS", true, "Level Splits", "BW");
settings.Add("ID2", true, "Unexpected Things", "LS");
settings.Add("ID3", true, "Treasure of Mansa Musa", "LS");
settings.Add("ID4", true, "Carlos' Prisoner", "LS");
settings.Add("ID5", true, "Lost in The Amazon Jungle", "LS");
settings.Add("ID6", true, "Chasing The Map", "LS");
settings.Add("ID7", true, "Stowaway", "LS");
settings.Add("ID8", true, "Nice Day", "LS");
settings.Add("ID9", true, "Pirates Island", "LS");
settings.Add("ID10", true, "Weeping Angels", "LS");
settings.Add("ID11", true, "Lost Treasure", "LS");
}
isLoading
{
return current.Gameplay == 262144;
}
start
{
return current.Autostart == 0 && old.Autostart != 0;
}
onStart
{
timer.IsGameTimePaused = true;
vars.Splits.Clear();
vars.LevelHelper = 0;
}
update
{
if(current.LevelID == old.LevelID + 1)
{
vars.LevelHelper++;
}
}
split
{
if(current.LevelID != old.LevelID && !vars.Splits.Contains("ID" + vars.LevelHelper.ToString()))
{
return settings["ID" + vars.LevelHelper.ToString()] && vars.Splits.Add("ID" + vars.LevelHelper.ToString());
}
}
exit
{
timer.IsGameTimePaused = true;
}