TR_m4_TJ_Guardian_sc
TR_Mainland.esm
Variables
13
Local Variables
state
doOnce
greetOnce
isDead
stopGreeting
pcDirection
shoveMe
OnPCHitMe
blockframetimer
timer
pcX
pcY
shovePower
Source
1Begin TR_m4_TJ_Guardian_sc
2
3short state
4short doOnce
5short greetOnce
6short isDead
7short stopGreeting
8float timer
9float pcX
10float pcY
11short pcDirection
12short shoveMe
13float shovePower
14short OnPCHitMe
15short blockframetimer
16
17if ( MenuMode )
18 Return
19endif
20
21if ( isDead )
22 Return
23endif
24
25if ( GetHealth < 10 )
26 if ( isDead == 0 )
27 removeitem T_Dae_Regular_GSword_01 1
28 additem TR_m4_TJ_Dae_GS_Cursed 1
29 equip TR_m4_TJ_Dae_GS_Cursed
30 SetHealth 0
31 set isDead to 1
32 endif
33endif
34
35if ( shoveMe == 1 )
36 ModFatigue -1000
37 set shoveMe to 2
38elseif ( shoveMe == 2 )
39 set shoveMe to 3
40elseif ( shoveMe == 3 )
41 ModFatigue 1000
42 SetFight 100
43 StartCombat player
44 set shoveMe to 4
45endif
46
47if ( OnPCHitMe == 1 )
48 set OnPCHitMe to 0
49 if ( doOnce < 10 )
50 set doOnce to 10
51 SetFight 100
52 StartCombat player
53 Return
54 endif
55endif
56
57if ( doOnce == 10 )
58 Return
59endif
60
61if ( CellChanged )
62; set pcX to ( player->GetPos X )
63; set pcY to ( player->GetPos Y )
64 set doOnce to 1
65 ; face player
66; if ( player->GetPos Y < 3500 )
67; set pcDirection to 1
68; Position 4400 3600 14840 11200
69; else
70; set pcDirection to -1
71; Position 4450 3600 14840 2400
72; endif
73; Return
74endif
75
76if ( doOnce == 1 )
77 if ( blockframetimer < 5 )
78 set blockframetimer to ( blockframetimer + 1 )
79 elseif ( player -> GetPos X < 4600 )
80 if ( player -> GetPos Y > 3456 )
81 set doOnce to 2
82 if ( greetOnce < 1 )
83 ForceGreeting
84 set greetOnce to 1
85 endif
86 endif
87 endif
88 Return
89endif
90
91
92if ( doOnce == 2 )
93 ; check for crossing the threshold
94; if ( ( player->GetPos X ) > ( pcX + 200 ) )
95; set doOnce to 3
96; elseif ( ( player->GetPos X ) < ( pcX - 200 ) )
97; set doOnce to 3
98; elseif ( pcDirection == 1 )
99; if ( ( player->GetPos Y ) > ( pcY + 50 ) )
100; set doOnce to 3
101; endif
102; else
103; if ( ( player->GetPos Y ) < ( pcY - 50 ) )
104; set doOnce to 3
105; endif
106; endif
107 if ( player -> GetPos X < 4480 )
108 if ( player -> GetPos Y > 3456 )
109 set doOnce to 3
110 endif
111 endif
112endif
113
114if ( doOnce == 3 ) ;attack
115 if ( stopGreeting < 1 )
116 set timer to ( timer + GetSecondsPassed )
117 if ( timer > 0 )
118 set timer to ( timer - 1 )
119 ForceGreeting
120 endif
121 endif
122endif
123
124End