Scripts

TR_m2_q_TheRiftMage

TR_Mainland.esm
Variables 11
Local Variables
clockStart
towerWalk
cantTalk
walkDay
riftOpen
T_Local_NPC
NoLore
TR_Map
T_Local_NoLore
timer
walkHour
Source
1begin TR_m2_q_TheRiftMage 2 3; ai behavior for Ralam Othravel 4 5float timer 6short clockStart 7short towerWalk 8short cantTalk 9short walkDay 10float walkHour 11short riftOpen 12short T_Local_NPC 13short NoLore 14short TR_Map 15short T_Local_NoLore 16 17if ( MenuMode == 1 ) 18 return 19endif 20 21if ( clockStart == 1 ) 22 set timer to ( timer + GetSecondsPassed ) 23endif 24 25; start the walk to the tower when dialogue sets variable 26 27if ( towerWalk == 1 ) 28 set cantTalk to 1 29 set walkDay to DaysPassed 30 set walkHour to GameHour 31 ; casts Water Walking on self to cross river 32 Cast "Water Walking" "TR_m2_Ralam_Othravel" 33 AITravel 297280 10635 37 1 ; TR_m2_MARK_Ralam 34 set towerWalk to 2 35 36; Ralam walks to ritual chamber after the player accepts the 37; quest, also puts on helmet 38 39elseif ( towerWalk == 7 ) 40 if ( GetJournalIndex "TR_m2_wil_TheRift" >= 20 ) 41 set cantTalk to 1 42 set walkDay to DaysPassed 43 set walkHour to GameHour 44 AITravel 6203 3318 14563 1 ; TR_m2_MARK_Ralam 45 AddItem "dust_adept_helm" 1 46 set towerWalk to 8 47 endif 48endif 49 50; change behavior whenever a travel is complete 51 52if ( towerWalk == 2 ) 53 if ( getDistance TR_m2_q_TheRiftDest1 < 100 ) 54 AITravel 297922 10257 265 1 ; TR_m2_MARK_Ralam 55 set towerWalk to 3 56 endif 57elseif ( towerWalk == 3 ) 58 if ( getDistance TR_m2_q_TheRiftDest2 < 100 ) 59 AITravel 298851 12187 266 1 ; TR_m2_MARK_Ralam 60 set towerWalk to 4 61 endif 62elseif ( towerWalk == 4 ) 63 if ( getDistance TR_m2_q_TheRiftDest3 < 100 ) 64 ; enter the tower 65 "TR_m2_q_TheRiftTowerDoor"->unlock 66 "TR_m2_q_TheRiftTowerDoor"->PlaySound3D, "Door Heavy Open" 67 PositionCell 4216 2516 15073 5400 "Ald Volos" ; TR_m2_MARK_Ralam 68 AITravel 5854 2880 15072 1 ; TR_m2_MARK_Ralam 69 set towerWalk to 5 70 endif 71elseif ( towerWalk == 5 ) 72 if ( getDistance TR_m2_q_TheRiftDest4 < 100 ) 73 AITravel 5339 3096 15327 1 ; TR_m2_MARK_Ralam 74 set towerWalk to 6 75 endif 76elseif ( towerWalk == 6 ) 77 if ( getDistance TR_m2_q_TheRiftDest5 < 100 ) 78 ; made it to the tower's dome 79 set cantTalk to 0 80 SetAngle Z 45 81 AIWander 0 5 0 60 20 20 20 82 set towerWalk to 7 83 endif 84elseif ( towerWalk == 8 ) 85 if ( getDistance TR_m2_q_TheRiftDest6 < 100 ) 86 ; arrived at ritual chamber 87 set cantTalk to 0 88 SetAngle Z 135 89 AIWander 0 5 0 60 20 20 20 90 set towerWalk to 9 91 endif 92endif 93 94; if player waits, complete AITravel 95 96if ( towerWalk >= 1 ) 97 if ( towerWalk <= 6 ) 98 if ( DaysPassed > walkDay ) 99 set walkHour to ( walkHour - 24 ) 100 set walkDay to DaysPassed 101 endif 102 if ( GameHour >= walkHour + 1 ) 103 "TR_m2_q_TheRiftTowerDoor"->unlock 104 set cantTalk to 0 105 PositionCell 5339 3096 15327 2700 "Ald Volos" ; TR_m2_MARK_Ralam 106 AIWander 0 5 0 60 20 20 20 107 set towerWalk to 7 108 endif 109 endif 110endif 111 112if ( towerWalk == 8 ) 113 if ( DaysPassed > walkDay ) 114 set walkHour to ( walkHour - 24 ) 115 set walkDay to DaysPassed 116 endif 117 if ( GameHour >= walkHour + 1 ) 118 set cantTalk to 0 119 PositionCell 6203 3318 14563 9000 "Ald Volos" ; TR_m2_MARK_Ralam 120 AIWander 0 5 0 60 20 20 20 121 set towerWalk to 9 122 endif 123endif 124 125; activates the rift portal and disappears 126 127if ( GetJournalIndex "TR_m2_wil_TheRift" == 70 ) 128 if ( towerWalk != 9 ) 129 elseif ( riftOpen == 0 ) 130 set cantTalk to 1 131 AiTravel 5757 3031 14598 1 ; TR_m2_MARK_Ralam 132 ;PlaySound "shock area" 133 SetHealth 10000 134 set riftOpen to 1 135 elseif ( riftOpen == 1 ) 136 if ( getDistance TR_m2_q_TheRiftDest7 < 50 ) 137 Cast "Chameleon" "TR_m2_Ralam_Othravel" 138 StartScript "TR_m2_q_TheRiftHappening" 139 startscript TR_m2_q_TheRiftBk 140 set clockStart to 1 141 set riftOpen to 2 142 endif 143 elseif ( riftOpen == 2 ) 144 if ( timer > 1 ) 145 "TR_m2_TheRiftCaster"->Cast "Lightning Bolt" "TR_m2_Ralam_Othravel" 146 set riftOpen to 3 147 endif 148 elseif ( riftOpen == 3 ) 149 if ( timer > 2 ) 150 "TR_m2_TheRiftCaster"->Cast "Lightning Bolt" "TR_m2_Ralam_Othravel" 151 set riftOpen to 4 152 endif 153 elseif ( riftOpen == 4 ) 154 if ( timer > 3 ) 155 "TR_m2_TheRiftCaster"->Cast "Lightning Bolt" "TR_m2_Ralam_Othravel" 156 set riftOpen to 5 157 endif 158 elseif ( riftOpen == 5 ) 159 if ( timer > 4 ) 160 FadeOut 1.0 161 PlaySound "shock area" 162 PlaceAtMe sprigganup 1 1 1 ; visual effect 163 PlaySound "Windbag" 164 PlaySound "endboom3" 165 SetChameleon 100 166 set riftOpen to 6 167 endif 168 elseif ( riftOpen == 6 ) 169 if ( timer > 6 ) 170 FadeIn 1.0 171 Journal "TR_m2_wil_TheRift" 75 172 set riftOpen to 7 173 disable 174 endif 175 endif 176endif 177 178if ( OnDeath == 1 ) 179 if ( ScriptRunning "TR_m2_q_TheRiftHappening" ) 180 return 181 endif 182 if ( GetJournalIndex "TR_m2_wil_TheRift" >= 20 ) 183 if ( GetJournalIndex "TR_m2_wil_TheRift" != 40 ) 184 Journal "TR_m2_wil_TheRift" 65 185 set riftOpen to -1 186 set clockStart to 0 187 endif 188 endif 189endif 190 191if ( TR_Map ) 192 return 193endif 194 195set TR_Map to 2 196 197End