floatAboveStartHeight
Tribunal.esm
Variables
13
Local Variables
reset
initialized
timer
swingTime
startAngle
startHeight
currangle
xvalue
zvalue
zoffset
tmpoffset
weightoffset
waterlevel
Source
1begin floatAboveStartHeight
2
3
4float timer
5float swingTime
6float startAngle
7float startHeight
8float currangle
9float xvalue
10float zvalue
11float zoffset
12float tmpoffset
13float weightoffset
14float waterlevel
15
16short reset
17short initialized
18
19if ( initialized == 0 )
20 set startAngle to GetAngle, X
21 set startHeight to GetPos, Z
22 set swingTime to 1
23 set initialized to 1
24endif
25
26if ( MenuMode == 0 )
27 set waterlevel to GetWaterLevel
28
29 if ( waterlevel > startHeight )
30 if ( timer == 0 )
31 if ( reset == 0 )
32 set timer to Random 100
33 set timer to timer / 4
34 endif
35 endif
36
37 set timer to ( timer + GetSecondsPassed )
38 set currangle to GetAngle X
39 set xvalue to 10 * GetSecondsPassed
40 set zvalue to 5 * GetSecondsPassed
41
42 ;rotate up
43 if ( timer < swingTime )
44 set currangle to currangle + xvalue
45 SetAngle X currangle
46 set zoffset to zoffset + zvalue
47 ;rotate down
48 elseif ( timer < (swingTime * 3) )
49 set currangle to currangle - xvalue
50 SetAngle X currangle
51 set zoffset to zoffset - zvalue
52 ;up again
53 elseif (timer < (swingTime * 4 ) )
54 set currangle to currangle + xvalue
55 SetAngle X currangle
56 set zoffset to zoffset + zvalue
57 ;reset timer to zero
58 else
59 set timer to 0
60 set reset to 1
61 set zoffset to 0
62 SetAngle, x, startangle
63 endif
64
65 set tmpoffset to waterlevel
66 set tmpoffset to tmpoffset + zoffset
67
68 SetPos Z tmpoffset
69 else
70 SetAngle, X, startAngle
71 SetPos Z startHeight
72 endif
73endif
74
75end