Scripts

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