Trending Games
Release Countdowns
Florida Man Death Clocks Funko PoP!


08-27 #pvp #Gamerazzi #wowclassic #herod BEST REALMS> reserve NOW



The Elder Scrolls III: Morrowind Game of the Year Edition

TRIBUNAL dB


263 Results
For SCPT:SCTX

NumberEDIDText
1AhniaDeadBegin AhniaDead short nolore if ( OnDeath == 1 ) if ( GetJournalIndex "MS_ScrollSales" > 0 ) if ( GetJournalIndex "MS_ScrollSales" < 40 ) Journal MS_ScrollSales 40 endif endif endif End AhniaDead
2AhniaNoteBegin AhniaNote short doonce ;keep the note out of sight until player is on the quest if ( doonce == 1 ) return endif If ( GetJournalIndex "MS_ScrollSales" < 30 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_ScrollSales" >= 30 ) if ( GetDisabled == 1 ) Enable endif endif ;account for possibility that Ahnia may already be dead... if ( GetDeadCount "Ahnia" == 0 ) if ( onactivate == 1 ) if ( doonce == 0 ) Journal MS_ScrollSales 35 "Ahnia"->ForceGreeting set done to 1 activate endif endif else if ( onactivate == 1 ) if ( doonce == 0 ) Journal MS_ScrollSales 50 set doonce to 1 Activate endif endif endif End AhniaNote
3Alen_notebegin Alen_note short done if ( done == 1 ) return endif if ( GetJournalIndex TR08_Hlaalu >= 1 ) if ( getdisabled = 1 ) enable endif else if ( getdisabled = 0 ) disable endif endif if ( onactivate == 1 ) Journal TR08_Hlaalu 50 set done to 1 activate endif end
4almaScriptBegin almaScript short doOnce short OnPCHitMe short talking short randgreet short dontgreet if ( GetDisabled == 0 ) if ( GetJournalIndex TR_MazedBand < 90 ) Disable elseif ( GetJournalIndex TR_SothaSil >= 70 ) Disable endif endif if ( OnPCHitMe == 1 ) StartCombat Player "sadas mavandes"->StartCombat Player "savor hlan"->StartCombat Player "vonos veri"->StartCombat Player "arnas therethi"->StartCombat Player "drals indobar"->StartCombat Player StartCombat Player Set OnPCHitMe to 0 set talking to -1 endif if ( talking == -1 ) return endif if ( GetDisabled == 1 ) return endif if ( GetDistance Player <= 256 ) if ( dontgreet == 0 ) set randgreet to Random 100 if ( randgreet <= 33 ) Say "Vo\Misc\tr_almgreet1.mp3" "Many Blessings upon you, my loyal servant." set dontgreet to 1 elseif ( randgreet <= 66 ) Say "Vo\Misc\tr_almgreet2.mp3" "Come. Bathe in the light of My Mercy." set dontgreet to 1 elseif ( randgreet <= 100 ) Say "Vo\Misc\tr_almgreet3.mp3" "What may I do for you, my child?" set dontgreet to 1 endif endif else if ( dontgreet == 1 ) set dontgreet to 0 endif endif End almaScript
5alusannahScriptBegin alusannahScript short nolore short doOnce if ( GetJournalIndex TR_Assassins >= 80 ) if ( GetJournalIndex TR_Assassins < 100 ) Disable else Enable endif endif End alusannahScript
6armionScriptBegin armionScript short doOnce if ( doOnce == 0 ) if ( OnDeath == 1 ) Journal TR_KillGoblins 57 set doOnce to 1 endif endif End armionScript
7audienceScript1begin audienceScript1 short walkstate if ( MenuMode == 1 ) Return endif if ( walkstate == 1 ) jodhur->AiTravel -783, -1426, -91, 180 endif End
8AzuraEndbegin AzuraEnd ;Goes on disabled version of Azura in second room that tells you you won the game. ;enabled when journal C3_DestroyDagoth = 20 ;animated activator that disables controls and does its thing ;give ring of azura ;sets journal C3_DestroyDagoth = 50 short state float timer if ( menumode == 1 ) return endif if ( state == -1 ) set timer to ( timer + GetSecondsPassed ) if ( timer > 9 ) if ( GetDisabled == 0 ) Disable endif endif return endif if ( GetDisabled == 0 ) if ( GetJournalIndex C3_DestroyDagoth < 20 ) ;gets set when heart is wacked disable endif endif if ( GetDisabled == 1 ) if ( GetJournalIndex C3_DestroyDagoth == 20 ) ;gets set when heart is wacked enable set state to 2 endif endif ;show up if ( State == 2 ) if ( GetDistance, Player < 800 ) PlayGroup, Idle2 ;fading in/appearing ;MessageBox "TEST: WITHIN DISTANCE TO APPEAR" set state to 5 endif endif ;wait till pc gets closer if ( state == 5 ) ;wait till player gets close if ( GetDistance, Player < 250 ) DisablePlayerControls ;MessageBox "TEST: WITHIN DISTANCE FOR MOVIE" set state to 10 endif endif ;has appeared, start talking if ( state == 10 ) if ( timer < 3 ) set timer to ( timer + GetSecondsPassed ) return endif PlayBink "mw_end.bik" 1 ;MessageBox "TEST: PLAY MOVIE" set state to 20 endif if ( state == 20 ) PlayGroup, Idle, 0 ;play group for disappearing "ring of azura"->Enable journal C3_DestroyDagoth 50 ;the end, she gives you ring journal A1_SleepersAwake 50 ;quest end dialog for Sleepers Awake main quest ;MessageBox "TEST: GET RING" EnablePlayerControls set state to -1 set timer to 0 endif end AzuraEnd
9bakhScriptBegin bakhScript if ( GetDisabled == 0 ) ;if enabled if ( GetJournalIndex TR_Assassins < 10 ) ;before quest starts Disable ;get rid of him endif else ;if disabled if ( GetJournalIndex TR_Assassins >= 10 ) ;after quest starts Enable ;enable him endif endif End bakhScript
10barAssScriptBegin barAssScript ;this script is on the active_assassin_unique activator in Bs chambers. will need lots o' tweaking. - Mark float timer short creepstate short distancecheck short doorcheck short door2check short doOnce short dayCheck if ( MenuMode == 1 ) return endif if ( doOnce == 1 ) if ( GetJournalIndex TR_Assassins >= 100 ) light_bar1_OUT_unique->Disable light_bar2_OUT_unique->Disable light_bar3_OUT_unique->Disable light_bar4_OUT_unique->Disable light_bar5_OUT_unique->Disable light_bar6_OUT_unique->Disable light_bar7_OUT_unique->Disable light_bar8_OUT_unique->Disable light_bar1_unique->Enable light_bar2_unique->Enable light_bar3_unique->Enable light_bar4_unique->Enable light_bar5_unique->Enable light_bar6_unique->Enable light_bar7_unique->Enable light_bar8_unique->Enable set doOnce to 2 endif endif if ( creepstate == 0 ) if ( doOnce == 0 ) light_bar1_OUT_unique->Disable light_bar2_OUT_unique->Disable light_bar3_OUT_unique->Disable light_bar4_OUT_unique->Disable light_bar5_OUT_unique->Disable light_bar6_OUT_unique->Disable light_bar7_OUT_unique->Disable light_bar8_OUT_unique->Disable set doOnce to 1 endif endif if ( GetJournalIndex TR_Assassins < 80 ) ;MessageBox "RETURNING FOR JOURNAL < 80" return endif if ( GetJournalIndex TR_Assassins >= 100 ) ;MessageBox "RETURNING FOR JOURNAL >= 100" return endif if ( distancecheck == 0 ) if ( GetDistance Player > 192 ) ;MessageBox "RETURNING FOR DISTANCE > 192" return endif endif if ( doorcheck == 1 ) if ( GetJournalIndex TR_Assassins < 85 ) ;MessageBox "RETURNING FOR DOORCHECK=1 AND JOURNAL < 85" return endif endif if ( door2check == 1 ) if ( GetJournalIndex TR_Assassins < 85 ) ;MessageBox "RETURNING FOR DOORCHECK=1 AND JOURNAL < 85" return endif endif if ( dayCheck == 0 ) if ( DaysPassed > "King Hlaalu Helseth".FightDay ) set dayCheck to 1 endif endif ;this part clears sneak and starts combat if player moves from behind screens. avoids silly dialogue from assassins if ( creepstate >= 1 ) if ( GetDistance Player >= 400 ) hels_assassin1->ClearForceSneak hels_assassin2->ClearForceSneak hels_assassin3->ClearForceSneak hels_assassin1->ClearForceSneak hels_assassin1->StartCombat Player hels_assassin2->StartCombat Player hels_assassin3->StartCombat Player hels_assassin1->StartCombat Player set creepstate to 17 endif endif if ( dayCheck == 0 ) return endif if ( creepstate == 0 ) if ( GameHour < 20 ) if ( GameHour > 4 ) ;MessageBox "RETURNING FOR CREEPSTATE=0, GAMEHOUR <20 GAMEHOUR > 4" return endif endif set distancecheck to 1 set creepstate to 1 ;set doorcheck to 0 Journal TR_Assassins 85 elseif ( creepstate == 1 ) hels_assassin1->ForceSneak hels_assassin2->ForceSneak hels_assassin3->ForceSneak hels_assassin1->AiTravel 738 -228 -128 set creepstate to 2 elseif ( creepstate == 2 ) if ( hels_assassin1->GetAiPackageDone == 1 ) PlaySound3D, "Torch Out" light_bar1_unique->Disable light_bar2_unique->Disable light_bar3_unique->Disable light_bar4_unique->Disable light_bar5_unique->Disable light_bar6_unique->Disable light_bar7_unique->Disable light_bar8_unique->Disable light_bar1_OUT_unique->Enable light_bar2_OUT_unique->Enable light_bar3_OUT_unique->Enable light_bar4_OUT_unique->Enable light_bar5_OUT_unique->Enable light_bar6_OUT_unique->Enable light_bar7_OUT_unique->Enable light_bar8_OUT_unique->Enable set creepstate to 3 endif elseif ( creepstate == 3 ) set timer to ( timer + GetSecondsPassed ) if ( timer > 5 ) hels_assassin1->Say "Vo\Misc\helsass1.wav", "...supposed to be here somewhere..." hels_assassin1->AiTravel 516 -100 -128 set timer to 0 set creepstate to 4 endif elseif ( creepstate == 4 ) if ( hels_assassin1->GetAiPackageDone == 1 ) set creepstate to 5 endif elseif ( creepstate == 5 ) set timer to ( timer + GetSecondsPassed ) if ( timer > 5 ) hels_assassin1->Say "Vo\Misc\helsass2.wav", "...he told us in the Queen Mother's chambers..." hels_assassin1->AiTravel 816 -2 -128 set timer to 0 set creepstate to 6 endif elseif ( creepstate == 6 ) if ( hels_assassin1->GetAiPackageDone == 1 ) set creepstate to 7 endif elseif ( creepstate == 7 ) hels_assassin1->Say "Vo\Misc\helsass3.wav", "...behind the screen..." hels_assassin1->AiTravel 786 128 -128 set creepstate to 8 elseif ( creepstate == 8 ) if ( hels_assassin1->GetAiPackageDone == 1 ) set creepstate to 9 endif elseif ( creepstate == 9 ) hels_assassin1->AiTravel 748 292 -128 set creepstate to 10 elseif ( creepstate == 10 ) if ( hels_assassin1->GetAiPackageDone == 1 ) set creepstate to 11 endif elseif ( creepstate == 11 ) hels_assassin1->AiTravel 553 282 -128 set creepstate to 12 elseif ( creepstate == 12 ) if ( hels_assassin1->GetAiPackageDone == 1 ) set creepstate to 13 endif elseif ( creepstate == 13 ) hels_assassin1->AiTravel 371 268 -128 set creepstate to 14 elseif ( creepstate == 14 ) if ( hels_assassin1->GetAiPackageDone == 1 ) set creepstate to 15 endif elseif ( creepstate == 15 ) hels_assassin1->AiTravel 243 164 -128 set creepstate to 16 elseif ( creepstate == 16 ) hels_assassin1->ClearForceSneak hels_assassin2->ClearForceSneak hels_assassin3->ClearForceSneak hels_assassin1->StartCombat Player hels_assassin2->StartCombat Player hels_assassin3->StartCombat Player set creepstate to 17 endif endif End barAssScript
11bardoor1ScriptBegin bardoor1Script short door1open short doOnce if ( OnActivate == 1 ) if ( door1open == 0 ) set door1open to 1 set "active_assassin_unique".doorcheck to 1 else set door1open to 0 set "active_assassin_unique".doorcheck to 0 endif Activate endif End bardoor1Script
12bardoor2ScriptBegin bardoor2Script short door2open if ( GetJournalIndex TR_Assassins == 85 ) if ( OnActivate == 1 ) PlaySound "LockedDoor" MessageBox "This door has been magically sealed, and is impossible to open." return endif endif if ( OnActivate == 1 ) if ( door2open == 0 ) set door2open to 1 set "active_assassin_unique".door2check to 1 else set door2open to 0 set "active_assassin_unique".door2check to 0 endif Activate endif End bardoor2Script
13bardoor3ScriptBegin bardoor3Script if ( OnActivate == 1 ) if ( GetJournalIndex TR_Assassins < 50 ) PlaySound "LockedDoor" MessageBox "This door is locked from the inside and cannot be opened by any means." else set done to 1 Activate endif endif End bardoor3Script
14bardoor4ScriptBegin bardoor4Script if ( OnActivate == 1 ) if ( GetJournalIndex TR_Assassins == 85 ) PlaySound "LockedDoor" MessageBox "This door has been magically sealed, and is impossible to open." else Activate endif endif end bardoor4Script
15barilzarScriptBegin barilzarScript short greetOnce if ( greetOnce == -1 ) return endif if ( GetJournalIndex TR_MazedBand >= 20 ) if ( GetDistance Player <= 512 ) if ( greetOnce == 0 ) ForceGreeting set greetOnce to -1 endif endif endif End barilzarScript
16BattleBot1ScriptBegin BattleBot1Script short fight if ( MenuMode == 1 ) Return endif if ( gethealth = 0 ) return endif if ( ignatius_flaccus.FightStart == 1 ) if ( fight == 0 ) centurion_sphere_bbot1->StartCombat centurion_steam_bbot2 set fight to 1 endif endif if ( GetJournalIndex "MS_BattleBots2" >= 1 ) StartCombat Player endif End
17BattleBot2ScriptBegin BattleBot2Script short fight if ( MenuMode == 1 ) Return endif if ( gethealth = 0 ) return endif if ( ignatius_flaccus.FightStart == 1 ) if ( fight == 0 ) StartCombat centurion_sphere_bbot1 set fight to 1 endif endif if ( GetJournalIndex "MS_BattleBots2" >= 1 ) StartCombat Player endif End
18BILL_MT_calc_legit_killsBegin BILL_MT_calc_legit_kills ; sets the PCCrimeLevel to the appropriate ; value taking into account the writs the Player has on him. ; should work now, changed most sets to ifs -dug ; fixed infix/postfix thing -dug ; top three at TR08_Hlaalu, not Morag Tong short murdercost ; value to pay (negative) after killing someone and you are caught by the law short temp ; temporary float variable ; global definitions ; MT_LegitKills = number of legitimate kills for which the Player has proof (writs) ; MT_NewCrimeLevel = what the PCCrimeLevel will be when the writs are redeemed set murdercost to -1080 ; this value will need to be tweaked based on changes to the crime economy ;equal to one assault and one murder set MT_LegitKills to 0 ; global set to 0 at start of script set MT_NewCrimeLevel to 0 ; global set to 0 at start of script if ( GetJournalIndex TR08_Hlaalu_Alen_A >= 1 ) if ( Player->GetItemCount, "writ_Alen" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex TR08_Hlaalu_Berano_A >= 1 ) if ( Player->GetItemCount, "writ_Berano" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex TR08_Hlaalu_Hloggar_A >= 1 ) if ( Player->GetItemCount, "writ_Hloggar" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritOran == 80 ) if ( Player->GetItemCount, "writ_Oran" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritOran == 100 ) if ( Player->GetItemCount, "writ_Oran" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritYasalmibaal == 80 ) if ( Player->GetItemCount, "writ_Yasalmibaal" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritYasalmibaal == 100 ) if ( Player->GetItemCount, "writ_Yasalmibaal" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritSaren == 80 ) if ( Player->GetItemCount, "writ_Saren" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritSaren == 100 ) if ( Player->GetItemCount, "writ_Saren" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritSadus == 80 ) if ( Player->GetItemCount "writ_Sadus" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritSadus == 100 ) if ( Player->GetItemCount "writ_Sadus" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritVendu == 80 ) if ( Player->GetItemCount, "writ_Vendu" > 0 ) set MT_LegitKills to ( MT_LegitKills + 2 ) endif endif if ( GetJournalIndex MT_WritVendu == 100 ) if ( Player->GetItemCount, "writ_Vendu" > 0 ) set MT_LegitKills to ( MT_LegitKills + 2 ) endif endif if ( GetJournalIndex MT_WritGuril == 80 ) if ( Player->GetItemCount, "writ_Guril" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritGuril == 100 ) if ( Player->GetItemCount, "writ_Guril" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritGalasa == 80 ) if ( Player->GetItemCount, "writ_Galasa" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritGalasa == 100 ) if ( Player->GetItemCount, "writ_Galasa" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritMavon == 80 ) if ( Player->GetItemCount, "writ_Mavon" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritMavon == 100 ) if ( Player->GetItemCount, "writ_Mavon" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBelvayn == 80 ) if ( Player->GetItemCount, "writ_Belvayn" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBelvayn == 100 ) if ( Player->GetItemCount, "writ_Belvayn" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBemis == 80 ) if ( Player->GetItemCount, "writ_Bemis" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBemis == 100 ) if ( Player->GetItemCount, "writ_Bemis" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBrilnosu == 80 ) if ( Player->GetItemCount, "writ_Brilnosu" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBrilnosu == 100 ) if ( Player->GetItemCount, "writ_Brilnosu" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritNavil == 80 ) if ( Player->GetItemCount, "writ_Navil" > 0 ) set MT_LegitKills to ( MT_LegitKills + 2 ) endif endif if ( GetJournalIndex MT_WritNavil == 100 ) if ( Player->GetItemCount, "writ_Navil" > 0 ) set MT_LegitKills to ( MT_LegitKills + 2 ) endif endif if ( GetJournalIndex MT_WritVarro == 80 ) if ( Player->GetItemCount, "writ_Varro" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritVarro == 100 ) if ( Player->GetItemCount, "writ_Varro" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBaladas == 80 ) if ( Player->GetItemCount, "writ_Baladas" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBaladas == 100 ) if ( Player->GetItemCount, "writ_Baladas" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBero == 80 ) if ( Player->GetItemCount, "writ_Bero" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritBero == 100 ) if ( Player->GetItemCount, "writ_Bero" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritTherana == 80 ) if ( Player->GetItemCount, "writ_Therana" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif if ( GetJournalIndex MT_WritTherana == 100 ) if ( Player->GetItemCount, "writ_Therana" > 0 ) set MT_LegitKills to ( MT_LegitKills + 1 ) endif endif ; calculate Morag Tong sanctioned discount to PCCrimeLevel set temp to ( MT_LegitKills * murdercost ) set MT_NewCrimeLevel to ( temp + GetPCCrimeLevel ) ; run ONLY ONCE StopScript BILL_MT_calc_legit_kills End
19BILL_MT_redeem_writsBegin BILL_MT_redeem_writs ; removes 'used' writs from the player, last quest first until there are no more left short temp ;globals ;MT_LegitKills if ( MT_LegitKills > 0 ) if ( GetJournalIndex TR08_Hlaalu_Berano_A >= 1 ) if ( Player->GetItemCount, "writ_Berano" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Berano" 1 endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex TR08_Hlaalu_Hloggar_A >= 1 ) if ( Player->GetItemCount, "writ_Hloggar" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Hloggar" 1 endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex TR08_Hlaalu_Alen_A >= 1 ) if ( Player->GetItemCount, "writ_Alen" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Alen" 1 endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritTherana >= 80 ) if ( GetJournalIndex MT_WritTherana < 110 ) if ( Player->GetItemCount, "writ_Therana" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Therana" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritBero >= 80 ) if ( GetJournalIndex MT_WritBero < 110 ) if ( Player->GetItemCount, "writ_Bero" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Bero" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritBaladas >= 80 ) if ( GetJournalIndex MT_WritBaladas < 110 ) if ( Player->GetItemCount, "writ_Baladas" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Baladas" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritVarro >= 80 ) if ( GetJournalIndex MT_WritVarro < 110 ) if ( Player->GetItemCount, "writ_Varro" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Varro" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritNavil >= 80 ) if ( GetJournalIndex MT_WritNavil < 110 ) if ( Player->GetItemCount, "writ_Navil" > 0 ) set MT_LegitKills to ( MT_LegitKills - 2 ) Player->RemoveItem "writ_Navil" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritBrilnosu >= 80 ) if ( GetJournalIndex MT_WritBrilnosu < 110 ) if ( Player->GetItemCount, "writ_Brilnosu" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Brilnosu" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritBemis >= 80 ) if ( GetJournalIndex MT_WritBemis < 110 ) if ( Player->GetItemCount, "writ_Bemis" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Bemis" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritBelvayn >= 80 ) if ( GetJournalIndex MT_WritBelvayn < 110 ) if ( Player->GetItemCount, "writ_Belvayn" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Belvayn" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritMavon >= 80 ) if ( GetJournalIndex MT_WritMavon < 110 ) if ( Player->GetItemCount, "writ_Mavon" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Mavon" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritGalasa >= 80 ) if ( GetJournalIndex MT_WritGalasa < 110 ) if ( Player->GetItemCount, "writ_Galasa" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Galasa" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritGuril >= 80 ) if ( GetJournalIndex MT_WritGuril < 110 ) if ( Player->GetItemCount, "writ_Guril" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Guril" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritVendu >= 80 ) if ( GetJournalIndex MT_WritVendu < 110 ) if ( Player->GetItemCount, "writ_Vendu" > 0 ) set MT_LegitKills to ( MT_LegitKills - 2 ) Player->RemoveItem "writ_Vendu" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritSadus >= 80 ) if ( GetJournalIndex MT_WritSadus < 110 ) if ( Player->GetItemCount "writ_Sadus" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Sadus" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritSaren >= 80 ) if ( GetJournalIndex MT_WritSaren < 110 ) if ( Player->GetItemCount, "writ_Saren" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Saren" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritYasalmibaal >= 80 ) if ( GetJournalIndex MT_WritYasalmibaal < 110 ) if ( Player->GetItemCount, "writ_Yasalmibaal" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Yasalmibaal" 1 endif endif endif endif if ( MT_LegitKills > 0 ) if ( GetJournalIndex MT_WritOran >= 80 ) if ( GetJournalIndex MT_WritOran < 110 ) if ( Player->GetItemCount, "writ_Oran" > 0 ) set MT_LegitKills to ( MT_LegitKills - 1 ) Player->RemoveItem "writ_Oran" 1 endif endif endif endif set temp to MT_NewCrimeLevel if ( temp < 0 ) Set temp to 0 endif SetPCCrimeLevel temp StopScript BILL_MT_redeem_writs End
20bladefixScriptBegin bladefixScript short todayday short daysPassed if ( MenuMode == 1 ) return endif if ( bladefix == 0 ) return endif if ( bladefix == 2 ) return endif if ( todayday == Day ) return endif set todayday to Day set dayspassed to ( dayspassed + 1 ) if ( bladefix == 1 ) if ( dayspassed >= 2 ) set bladefix to 2 endif endif End bladefixScript
21bladeScriptBegin bladeScript short OnPCEquip short bladeOut short addOnce if ( Player->GetItemCount "nerevarblade_01_flame" == 0 ) return endif if ( OnPCEquip == 0 ) if ( player->GetWeaponDrawn == 0 ) set bladeOut to 0 endif elseif ( OnPCEquip == 1 ) if ( player->GetWeaponDrawn == 0 ) set bladeOut to 0 endif endif if ( OnPCEquip == 1 ) if ( player->GetWeaponDrawn == 1 ) set bladeOut to 1 endif endif if ( bladeOut == 0 ) if ( Player->GetItemCount "Blade Light" > 0 ) Player->RemoveItem "Blade Light" 1 set addOnce to 0 endif endif if ( bladeOut == 1 ) if ( addOnce == 0 ) Player->AddItem "Blade Light" 1 set addOnce to 1 endif endif End bladeScript
22BolsIndalenbegin BolsIndalen short ebonyCuirass short ebonyLeftPauldron short ebonyRightPauldron short ebonyLeftBracer short ebonyRightBracer short ebonyGreaves short ebonyBoots short ebonyHelm short glassHelm short glassBoots short glassGreaves short glassRightBracer short glassLeftBracer short glassRightPauldron short glassLeftPauldron short glassCuirass short adamantiumHelm short adamantiumBoots short adamantiumGreaves short adamantiumRightBracer short adamantiumLeftBracer short adamantiumRightPauldron short adamantiumLeftPauldron short adamantiumCuirass short currentDay short localdaysPassed short busy Short NoLore short change if ( currentDay != Day ) set currentDay to Day set localdaysPassed to localdaysPassed + 1 endif end BolsIndalen
23cavein_scriptbegin cavein_script short initialized short state short button short lastsec float myX float myY float myZ float myRotZ float timer if ( initialized == 0 ) set myX to GetPos X set myY to GetPos Y set myZ to GetPos Z set myRotZ to GetAngle Z set initialized to 1 endif ;done if ( state == 4 ) return endif ;waiting for activation if ( state == 0 ) if ( OnActivate == 1 ) if ( player->GetItemCount "dwemer_satchel00" > 0 ) set state to 1 MessageBox "Place satchel charge?" "Yes" "No" endif endif return endif ;waiting for response if ( state == 1 ) set button to GetButtonPressed if ( button == 1 ) set state to 0 elseif ( button == 0 ) player->RemoveItem "dwemer_satchel00" 1 MessageBox " 5 " set state to 2 endif endif ;count down if ( state == 2 ) set timer to timer + GetSecondsPassed if ( timer > 5 ) set state to 3 elseif ( timer > 4 ) if ( lastsec != 4 ) MessageBox " 1 " set lastsec to 4 endif elseif ( timer > 3 ) if ( lastsec != 3 ) MessageBox " 2 " set lastsec to 3 endif elseif ( timer > 2 ) if ( lastsec != 2 ) MessageBox " 3 " set lastsec to 2 endif elseif ( timer > 1 ) if ( lastsec != 1 ) MessageBox " 4 " set lastsec to 1 endif endif endif ;explosion if ( state == 3 ) if ( GetDistance player < 300 ) player->sethealth 0 endif PlayGroup "Death1" set state to 4 endif end
24cent_fab_attackbegin cent_fab_attack short doOnce if ( doOnce == 0 ) set doOnce to 1 StartCombat "fabricant_hulking_C_L" endif if ( "fab_cent_fight_watcher".fight_state >= 1 ) if ( cellChanged ) SetHealth 0 endif endif end
25changeWater_-550_400begin changeWater_-550_400 short changelevel short crankturn short currcrank short initialized float lowheight float highheight float newwaterlevel float direction float waterlift float changerate float targetheight float current float thischange if ( initialized == 0 ) set lowheight to -550 set highheight to 400 set changerate to 50 set initialized to 1 endif if ( MenuMode ) return endif ;always set angle to make up for different data SetAngle X crankturn set current to GetWaterLevel if ( OnActivate == 1 ) if ( changelevel == 0 ) if ( current >= highheight ) set direction to -1 set targetheight to lowheight else set direction to 1 set targetheight to highheight endif set changelevel to 1 PlaySound3D "Dwemer Door Open" endif endif if ( changelevel == 0 ) return endif set crankturn to 360 * GetSecondsPassed set crankturn to crankturn * direction set currcrank to GetAngle X set crankturn to currcrank + crankturn if ( current != targetheight ) set thischange to ( changerate * GetSecondsPassed ) if ( direction == 1 ) if ( thischange < 0 ) set thischange to ( thischange * -1 ) endif set current to ( current + thischange ) if ( current > targetheight ) set current to targetheight endif else if ( thischange > 0 ) set thischange to ( thischange * -1 ) endif set current to ( current + thischange ) if ( current < targetheight ) set current to targetheight endif endif SetWaterLevel current endif if ( direction == 1 ) if ( current >= highheight ) set changelevel to 0 endif else if ( current <= lowheight ) set changelevel to 0 endif endif end
26chapeldoorScriptBegin chapeldoorScript short done if (done == 1) return endif if ( OnActivate == 1 ) if ( GetJournalIndex TR_MazedBand < 90 ) PlaySound "LockedDoor" MessageBox "None may enter the High Chapel unless summoned by the goddess Almalexia." else set done to 1 Activate endif endif End chapeldoorScript
27CharGen_ring_keleybegin CharGen_ring_keley ;picking up this ring shows you magic menu short state short OnPCAdd if ( CharGenState == -1 ) return endif if ( menumode == 1 ) return endif if ( state == 30 ) return endif if ( OnPCAdd == 1 ) if ( State == 0 ) EnableMagicMenu MessageBox "You now have a Magic Menu, where you can see all your powers, spells, and magic items." "Ok" set state to 5 return endif endif if ( state == 5 ) if ( GetButtonPressed != -1 ) set state to 10 endif endif if ( state == 10 ) if ( Xbox == 0 ) MessageBox "Like all menus, right click to use your new menu. Click the spell or magic item you want to make your Active Magic." "Ok" else MessageBox "Like all menus, press B to use your new menu. The triggers cycle between menus. Press B again to exit your menus." "Ok" endif set state to 20 return endif if ( state == 20 ) if ( Xbox == 0 ) MessageBox "Press ^ActionReadyMagic to ready your Active Magic, then click to cast." "Ok" else MessageBox "Press Y to ready your Active Magic, then the RIGHT TRIGGER to cast." "Ok" endif set state to 30 endif end
28Collide_damage_100begin Collide_damage_100 ;hurts and standing actor 100 pts per sec when colliding with this object HurtCollidingActor 100 end
29Collide_damage_killbegin Collide_damage_kill ;hurts and standing actor 9999999 pts per sec when colliding with this object HurtCollidingActor 9999999 end
30Contract_CalvusBegin Contract_Calvus ;this global script records the start month and day of Calvus's Mercenary Contract, and the days left in Calvus's Mercenary Contract ;short Contract_Calvus ;if Calvus has a Mercenary Contract, set through dialogue on this NPC short setup ;if setup has been done short scriptday ;for decrementing days left in Calvus's contract short cleanup ;true if you want to cleanup all the flags, contract is over and can be reset ;short contractCalvusDay ;the day of the contract; defined as global variable ;short contractCalvusMonth ;the month of the contract; defined as global variable ;short Contract_Calvus_Days_left ;days left in Calvus's contract; defined as global variable ;global short Contract_Calvus ; if ( setup == 0 ) if ( "Calvus Horatius".Contract_Calvus == 1) set contractCalvusDay to Day set contractCalvusMonth to Month set setup to 1 set Contract_Calvus_Days_Left to 30 ;this is the number of days left in Calvus's Mercenary contract endif endif if ( MenuMode == 1 ) Return endif if ( "Calvus Horatius"->ondeath == 1 ) stopscript Contract_Calvus return endif if ( "Calvus Horatius".Contract_Calvus == 1) ;if lowProfit, end contract; otherwise, count down the days left on the contract and check to see if the contract is over if ( "Calvus Horatius".minimumProfit < 0 ) set cleanup to 1 endif if ( contractCalvusDay != Day ) if (scriptday != Day ) set Contract_Calvus_Days_left to ( Contract_Calvus_Days_left - 1 ) set scriptday to Day endif endif if ( Month != contractCalvusMonth ) if ( Day > contractCalvusDay ) set cleanup to 1 endif endif if ( cleanup == 1 ) ;this gets called when the contract is over and everything can be cleaned up set "Calvus Horatius".Contract_Calvus to 0 set "Calvus Horatius".companion to 0 "Calvus Horatius"->AiWander 0 0 0 0 0 0 0 set setup to 0 set contractCalvusDay to 0 set contractCalvusMonth to 0 set cleanup to 0 endif endif end contract_Calvus
31cryptboulderScriptBegin cryptboulderScript short doOnce if ( MenuMode == 1 ) return endif if ( GetJournalIndex TR_MazedBand < 20 ) if ( GetDisabled == 1 ) Enable endif return endif if ( GetDisabled == 0 ) if ( doOnce == 0 ) set doOnce to -1 Disable endif endif End cryptboulderScript
32DagothUrCreature1begin DagothUrCreature1 short state short HaveStuff float timer short OpenDoors if ( Menumode == 1 ) return endif if ( state == 0 ) ;play initial greeting, once if ( GetDistance, Player < 800 ) if ( Player->GetItemCount, "Keening" > 0 ) ;check for keening if ( Player->GetItemCount, "Sunder" > 0 ) ;check for sunder if ( Player->GetItemCount, "Wraithguard" > 0 ) ;check for wraithguard set HaveStuff to 1 endif endif endif if ( HaveStuff == 1 ) Player->Say, "Vo\Misc\Dagoth Ur Welcome B.wav", "Welcome, Moon-and-Star, to this place where destiny is made." else Player->Say, "Vo\Misc\Dagoth Ur Welcome A.wav", "Dagoth Ur welcomes you, Nerevar, my old friend. But to this place where destiny is made, why have you come unprepared?" endif set state to 10 endif endif ;check for death and play effect by doors and sivel them open if ( OnDeath == 1 ) "dagoth ur death sparkles"->enable "dagoth ur death sparkles"->PlayGroup, Death1 set OpenDoors to 1 "Akula door B"->PlaySound3d "Door Stone Open" "Akula door A"->PlaySound3d "Door Stone Open" endif ;doors rotate 45 degrees if ( OpenDoors == 1 ) set timer to timer + GetSecondsPassed if ( GetDisabled == 0 ) if ( timer > 0.5 ) Disable endif endif if ( timer <= 4.5 ) "Akula door B"->Rotate Z -10 "Akula door A"->Rotate Z 10 else set timer to 0 set opendoors to 0 disable ;so dagoth body goes away endif endif end DagothUrCreature1
33dandrasScriptBegin dandrasScript short deathbed float dandrasHealth if ( deathbed == -1 ) return endif set dandrasHealth to GetHealth if ( dandrasHealth <= 50 ) if ( dandrasHealth < 1 ) resurrect modHealth 100 endif set deathbed to 1 endif if ( deathbed == 1 ) ForceGreeting endif End dandrasScript
34dbattackScriptBegin dbattackScript float dbchance short journalOnce short attackOnce short playerLevel short attackmod short othermod short dbnumber short temp short sleepOnce if ( GetJournalIndex TR_dbAttack >= 50 ) return endif if ( player->GetLevel >= 30 ) set playerLevel to 5 else if ( player->GetLevel >=20 ) set playerLevel to 4 else if ( player->GetLevel >= 10 ) set playerLevel to 3 else if ( player->GetLevel >=4 ) set playerLevel to 2 else set playerLevel to 1 endif endif endif endif if ( GetPCCell "Seyda Neen, Census and Excise Office" == 1 ) return endif if ( journalOnce == 1 ) ;Journal TR_DBAttack 10 set journalOnce to -1 endif if ( GetPCSleep == 1 ) if ( sleepOnce == 1 ) return endif set sleepOnce to 1 set dbchance to Random 100 set attackmod to ( attackonce * 10 ) if ( playerlevel == 5 ) set othermod to ( 90- attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." set dbnumber to ( dbnumber + 1 ) if ( dbnumber > 2 ) set dbnumber to 2 endif set temp to dbnumber while ( temp != 0 ) PlaceAtPC "db_assassin4" 1 128 1 set temp to ( temp - 1 ) endwhile set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif else if ( playerLevel == 4 ) set othermod to ( 70 - attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." set dbnumber to ( dbnumber + 1 ) if ( dbnumber > 2 ) set dbnumber to 2 endif set temp to dbnumber while ( temp != 0 ) PlaceAtPC "db_assassin3" 1 128 1 set temp to ( temp - 1 ) endwhile set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif else if ( playerLevel == 3 ) set othermod to ( 50 - attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." PlaceAtPC "db_assassin2" 1 128 1 set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif else if ( playerLevel == 2 ) set othermod to ( 40 - attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." PlaceAtPC "db_assassin1" 1 128 1 set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif else if ( playerLevel == 1 ) set othermod to ( 20 - attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." PlaceAtPC "db_assassin1b" 1 128 1 set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif endif endif endif endif endif else set sleepOnce to 0 endif End
35dbattackScriptOLDBegin dbattackScriptOLD float dbchance short journalOnce short attackOnce short playerLevel short attackmod short othermod short dbnumber short temp short sleepOnce if ( GetJournalIndex TR_dbAttack >= 50 ) return endif if ( player->GetLevel >= 30 ) set playerLevel to 4 else if ( player->GetLevel >=20 ) set playerLevel to 3 else if ( player->GetLevel >= 10 ) set playerLevel to 2 else set playerLevel to 1 endif endif endif if ( GetPCCell "Seyda Neen, Census and Excise Office" == 1 ) return endif if ( journalOnce == 1 ) ;Journal TR_DBAttack 10 set journalOnce to -1 endif if ( GetPCSleep == 1 ) if ( sleepOnce == 1 ) return endif set sleepOnce to 1 set dbchance to Random 100 set attackmod to ( attackonce * 10 ) if ( playerlevel == 4 ) set othermod to ( 90- attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." set dbnumber to ( dbnumber + 1 ) if ( dbnumber > 2 ) set dbnumber to 2 endif set temp to dbnumber while ( temp != 0 ) PlaceAtPC "db_assassin4" 1 128 1 set temp to ( temp - 1 ) endwhile set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif else if ( playerLevel == 3 ) set othermod to ( 70 - attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." set dbnumber to ( dbnumber + 1 ) if ( dbnumber > 2 ) set dbnumber to 2 endif set temp to dbnumber while ( temp != 0 ) PlaceAtPC "db_assassin3" 1 128 1 set temp to ( temp - 1 ) endwhile set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif else if ( playerLevel == 2 ) set othermod to ( 50 - attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." PlaceAtPC "db_assassin2" 1 128 1 set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif else if ( playerLevel == 1 ) set othermod to ( 40 - attackmod ) if ( dbchance <= othermod ) WakeUpPC MessageBox "You are awakened by a loud noise." PlaceAtPC "db_assassin1" 1 128 1 set attackonce to ( attackonce + 1 ) if ( journalOnce == -1 ) return endif set journalOnce to 1 set DBAttack to 1 endif endif endif endif endif else set sleepOnce to 0 endif End
36dbcontractScriptBegin dbcontractScript short doOnce if ( player->GetItemCount "bk_dbcontract" > 0 ) if ( doOnce == 0 ) Journal TR_DBHunt 110 set doOnce to 1 endif endif End dbcontractScript
37dbdartScriptBegin dbdartScript if ( GetJournalIndex TR_DBAttack >= 20 ) return endif if ( GetJournalIndex TR_DBAttack == 10 ) if ( player->GetItemCount "ebony dart_db_unique" > 0 ) Journal TR_DBAttack 20 endif endif End dbdartScript
38dbHideoutScriptBegin dbHideoutScript short doOnce if ( doOnce == 1 ) return endif if ( GetJournalIndex TR_DBHunt < 1 ) if ( GetJournalIndex TR_DBAttack >= 100 ) if ( GetDistance Player <= 512 ) Journal TR_DBHunt 1 set doOnce to 1 endif endif endif End dbHideoutScript
39db_assassinScriptBegin db_assassinScript short killOnce short dartOnce if ( MenuMode == 1 ) return endif if ( GetJournalIndex TR_DBAttack == 0 ) if ( OnDeath == 1 ) Journal TR_DBAttack 10 endif endif if ( dartOnce == 0 ) if ( GetJournalIndex TR_DBAttack == 10 ) if ( player->GetItemCount "ebony dart_db_unique" > 0 ) Journal TR_DBAttack 20 set dartOnce to 1 endif endif endif if ( killOnce == -1 ) return endif if ( GetDistance Player <=256 ) SetFight 100 SetFlee 0 StartCombat Player set killOnce to -1 endif End db_assassinScript
40denegorScriptbegin denegorScript short message short journal short death short nolore if ( MenuMode == 1 ) Return endif if ( GetJournalIndex MS_Bouncer = 0 ) return endif if ( GetHealth <= 100 ) if ( message == 0 ) if ( GetDeadCount Hession < 1 ) MessageBox "Hession -- Please don't kill anyone! Knock him out if you must, but don't kill him!" set message to 1 endif endif endif if ( OnKnockout == 1 ) if ( journal == 0 ) SetFatigue 0 set journal to 1 endif endif if ( journal == 1 ) if ( GetDeadCount Hession < 1 ) Journal "MS_Bouncer" 30 set journal to 2 endif endif if ( journal >= 1 ) if ( CellChanged == 1 ) disable endif endif if ( OnDeath == 1 ) if ( death == 0 ) if ( GetDeadCount Hession < 1 ) Journal "MS_Bouncer" 40 set death to 1 endif set hession.HessDeath to 1 endif endif End
41DetritusScriptBegin DetritusScript short nolore if ( GetJournalIndex MS_ClutterCollector < 10 ) misc_com_silverware_knife_uni->Disable misc_com_silverware_fork_uni->Disable misc_com_silverware_spoon_uni->Disable misc_de_pot_redware_04_uni->Disable misc_clothbolt_02_uni->Disable misc_imp_silverware_pitcher_uni->Disable misc_com_metal_plate_03_uni->Disable misc_dwrv_pitcher00_uni->Disable misc_dwrv_goblet10_uni->Disable misc_dwrv_goblet00_uni->Disable misc_dwrv_mug00_uni->Disable misc_dwrv_bowl00_uni->Disable elseif ( GetJournalIndex MS_ClutterCollector = 10 ) misc_com_silverware_knife_uni->Disable misc_com_silverware_fork_uni->Disable misc_com_silverware_spoon_uni->Disable misc_de_pot_redware_04_uni->Disable misc_clothbolt_02_uni->Enable misc_imp_silverware_pitcher_uni->Enable misc_com_metal_plate_03_uni->Disable misc_dwrv_pitcher00_uni->Disable misc_dwrv_goblet10_uni->Disable misc_dwrv_goblet00_uni->Disable misc_dwrv_mug00_uni->Disable misc_dwrv_bowl00_uni->Disable elseif ( GetJournalIndex MS_ClutterCollector = 30 ) misc_com_silverware_knife_uni->Enable misc_com_silverware_fork_uni->Enable misc_com_silverware_spoon_uni->Enable misc_de_pot_redware_04_uni->Enable misc_clothbolt_02_uni->Enable misc_imp_silverware_pitcher_uni->Enable misc_com_metal_plate_03_uni->Enable misc_dwrv_pitcher00_uni->Disable misc_dwrv_goblet10_uni->Disable misc_dwrv_goblet00_uni->Disable misc_dwrv_mug00_uni->Disable misc_dwrv_bowl00_uni->Disable elseif ( GetJournalIndex MS_ClutterCollector = 50 ) misc_com_silverware_knife_uni->Enable misc_com_silverware_fork_uni->Enable misc_com_silverware_spoon_uni->Enable misc_de_pot_redware_04_uni->Enable misc_clothbolt_02_uni->Enable misc_imp_silverware_pitcher_uni->Enable misc_com_metal_plate_03_uni->Enable misc_dwrv_pitcher00_uni->Enable misc_dwrv_goblet10_uni->Enable misc_dwrv_goblet00_uni->Enable misc_dwrv_mug00_uni->Enable misc_dwrv_bowl00_uni->Enable endif End
42dilbornScriptBegin dilbornScript short attacked short thrudDead short thugDead short control short nolore if ( GetJournalIndex MS_BarbarianBook > 110 ) if ( CellChanged == 1 ) disable return endif endif if ( GetJournalIndex MS_BarbarianBook = 110 ) return endif if ( OnDeath == 1 ) set thrud.dilbornDead to 1 "melur savil"->StartCombat Player "alam merys"->StartCombat Player endif if ( GetDeadCount "drathas nerus" == 1 ) if ( GetDeadCount "melur savil" == 1 ) if ( GetDeadCount "alam merys" == 1 ) if ( control < 2 ) set control to 2 endif endif endif endif if ( control == 2 ) if ( GetJournalIndex MS_BarbarianBook < 1 ) Journal MS_BarbarianBook_B 1 "thrud"->disable set control to 3 endif endif if ( control == 2 ) if ( GetDeadCount "thrud" == 1 ) if ( GetDeadCount "dilborn" == 0 ) Journal "MS_BarbarianBook" 140 set control to 3 endif endif if ( GetDeadCount "thrud" == 0 ) if ( GetDeadCount "dilborn" == 1 ) Journal "MS_BarbarianBook" 150 set control to 3 endif endif if ( GetDeadCount "thrud" == 0 ) if ( GetDeadCount "dilborn" == 0 ) Journal "MS_BarbarianBook" 160 set control to 3 endif endif if ( GetDeadCount "thrud" == 1 ) if ( GetDeadCount "dilborn" == 1 ) Journal "MS_BarbarianBookC" 1 set control to 3 endif endif endif if ( control == 3 ) if ( GetJournalIndex MS_BarbarianBook < 1 ) if ( CellChanged == 1 ) disable set control to 4 endif endif endif End
43drathasNerusScriptbegin drathasNerusScript short nolore if ( OnDeath == 1 ) set dilborn.thugDead to dilborn.thugDead + 1 endif if ( GetAttacked == 1 ) if ( "melur savil".attack == 0 ) StartCombat Player set "melur savil".attack to 1 set "alam merys".attack to 1 endif endif End
44DrathasScriptBegin DrathasScript short change End
45DrathasThugScriptbegin DrathasThugScript short attack short doOnce short doOnceB if ( GetJournalIndex MS_BarbarianBook = 110 ) return endif if ( GetJournalIndex MS_BarbarianBook = 200 ) return endif if ( GetAttacked == 1 ) if ( attack == 0 ) set attack to 1 "drathas nerus"->StartCombat Player "melur savil"->StartCombat dilborn "alam merys"->StartCombat dilborn endif endif if ( GetDeadCount dilborn == 1 ) if ( doonce == 0 ) StartCombat Player set doonce to 1 endif endif if ( GetDeadCount dilborn == 0 ) if ( attack == 1 ) if ( doonceB == 0 ) StartCombat dilborn set doonce to 1 endif endif endif if ( onDeath == 1 ) set dilborn.thugDead to ( dilborn.thugDead + 1 ) endif End
46dravilScriptbegin dravilScript short update short attacking short nolore if ( GetJournalIndex MS_Performers != 150 ) if ( GetJournalIndex MS_Performers >= 30 ) if ( OnDeath == 1 ) if ( update == 0 ) Journal "MS_Performers" 50 set update to 1 endif endif endif endif if ( attacking == 1 ) MessageBox "You die now, actor scum!" "dravil indrano"->AddItem "daedric wakizashi" 1 "dravil indrano"->StartCombat Player "dravil indrano"->SetFight 90 "dravil indrano"->SetDisposition 0 set attacking to 2 endif endif End
47DrothChestBegin DrothChest if ( Droth_var == 1 ) removeitem "silver dagger_droth_unique" 1 endif End DrothChest
48DrothCopyBegin DrothCopy if ( GetJournalIndex "MS_EstateSale" < 80 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_EstateSale" == 80 ) if ( GetDisabled == 1 ) Enable endif endif End DrothCopy
49DrothDaggerBegin DrothDagger if Droth_var == 0 if ( player->GetItemCount "silver dagger_droth_unique" ) == 1 Journal MS_EstateSale 30 set Droth_var to 1 endif endif End DrothDagger
50DrothGeonBegin DrothGeon short nolore if ( GetJournalIndex "MS_EstateSale" > 0 ) if ( GetJournalIndex "MS_EstateSale" < 70 ) if ( OnDeath == 1 ) Journal MS_EstateSale 100 endif endif endif End DrothGeon
51DrothPostBegin DrothPost if ( GetJournalIndex "MS_EstateSale" >= 70 ) if ( GetPCCell "Mournhold, Geon Auline's House" == 0 ) "Geon Auline"->removeitem "silver dagger_droth_unique" 1 Journal MS_EstateSale 80 StopScript DrothPost endif endif End DrothPost
52drownedbegin drowned short moved1 short moved2 short moved3 short moved4 if ( getWaterLevel != -875 ) return endif if ( moved1 == 0 ) if ( "Black Dart Gilur"->GetHealth <1 ) "Black Dart Gilur"->sethealth 0 set moved1 to 1 "Black Dart Gilur"->PlayGroup "Death1" "Black Dart Gilur"->Position -6115, 1041, -815 0 endif endif if ( moved2 == 0 ) if ( "Black Dart Adren"->GetHealth < 1 ) set moved2 to 1 "Black Dart Adren"->SetHealth 0 MessageBox "test" "Black Dart Adren"->PlayGroup "Death1" "Black Dart Adren"->Position -6135, 1045, -816 0 endif endif if ( moved3 == 0 ) if ( "Black Dart Malar"->GetHealth<1 ) set moved3 to 1 "Black Dart Malar"->setHealth 0 "Black Dart Malar"->PlayGroup "Death1" "Black Dart Malar"->Position -6115, 1041, -815 0 endif endif if ( moved4 == 0 ) if ( "Black Dart Urvyn"->GetHealth<1 ) set moved4 to 1 "Black Dart Urvyn"->SetHealth 0 "Black Dart Urvyn"->PlayGroup "Death1" "Black Dart Urvyn"->Position -6215, 1041, -815 0 endif endif end drowned
53drownOnExitbegin drownOnExit short forcedrown if ( forcedrown == 0 ) if ( cellChanged ) if ( GetHealth > 1 ) if ( GetWaterLevel == 0 ) set forcedrown to 1 SetHealth 0 endif endif endif endif end
54dulniScriptBegin dulniScript short lichDead short approach short shrineDone short doOnce float timer if ( MenuMode == 1 ) return endif if ( shrineDone == 2 ) return endif if ( GetJournalIndex TR_ShrineDead == 50 ) set lichDead to 1 endif if ( shrineDone == 1 ) if ( GetJournalIndex TR_ShrineDead >= 100 ) set shrineDone to 2 endif endif if ( lichDead == 0 ) return endif if ( approach == 0 ) if ( GetDistance Player <= 256 ) if ( GetDistance furn_shrinedead_01 <= 1028 ) set approach to 1 ForceGreeting endif endif endif if ( approach == 2 ) AiTravel 2190 -2471 4 0 ;MessageBox "CLEANSING SHRINE" set approach to 3 endif if ( approach == 3 ) if ( GetAIPackageDone == 1 ) AiTravel 1900 -2146 -173 0 set approach to 4 endif endif if ( approach == 4 ) if ( GetAIPackageDone == 1 ) set shrinedone to 1 set approach to 5 set ShrineCleanse to 1 PlaySound "Spirit Ambient Voices" PlaySound "restoration hit" ;MessageBox "SHOULD PLAY SPELL EFFECT" ;PlaceItem "Sotha Alma Appear Effect" 2230 -2519 102 0 "Shrine Cleanse"->Enable "Shrine Cleanse"->PlayGroup Idle2 endif endif if ( shrineDone == 1 ) if ( GetJournalIndex TR_ShrineDead < 60 ) AiFollow Player 0 0 0 0 0 0 Journal TR_ShrineDead 60 endif if ( timer < 5 ) set timer to ( timer + GetSecondsPassed ) else "Shrine Cleanse"->Disable set shrineDone to 2 endif endif End dulniScript
55enable_teleportbegin enable_teleport EnableTeleporting end
56EndGamebegin EndGame ;does all the stuff for ending the game in the heart chamber. ;global script is run from heart room when you get near either of two buckets (script DagothDoorDetector) journal C3_DestroyDagoth 20 ;several things in game react to this, including ghostfence ; "heart_Akulakhan"->PlayGroup, Death1 -- should already have played when it died "in_akulakhan00"->PlayGroup, Death1 "in_dagoth_bridge00"->PlayGroup, Death1 ;Todd, commenting out for now until Gary gets the correct ones in "blight cloud"->Disable ;this is the big object outside ModRegion "Red Mountain Region" 50 50 0 0 0 0 0 0 ChangeWeather "Red Mountain Region" 0 ;set ash vampires and such to health of 0 "Dagoth_Ur_2"->SetHealth 0 "Dagoth Uthol"->SetHealth 0 "Dagoth Vemyn"->SetHealth 0 "Dagoth Endus"->SetHealth 0 "Dagoth Odros"->SetHealth 0 "Dagoth Tureynul"->SetHealth 0 "Dagoth Gilvoth"->SetHealth 0 "Dagoth Araynys"->SetHealth 0 EnableTeleporting set DestroyBlight to -1 ;global variable Player->ModReputation 10 ;gives the player reputation reward StopScript EndGame ;script kills itself end EndGame
57enoScriptBegin enoScript short doOnce if ( GetJournalIndex TR_ShowPower < 10 ) if ( GetDisabled == 0 ) Disable endif endif if ( GetJournalIndex TR_ShowPower >= 10 ) if ( GetDisabled == 1 ) if ( doOnce == 0 ) Enable set doOnce to 1 endif endif endif End enoScript
58ExitBlockMessagebegin ExitBlockMessage short notified if ( GetCollidingPC == 1 ) if ( notified == 0 ) set notified to 1 MessageBox "You may not leave the city this way." endif else set notified to 0 endif end
59explosion_pushoutbegin explosion_pushout float startval float curval float currshift short xdir short state short initialized if ( MenuMode == 1 ) return endif if ( initialized == 0 ) ;make a prop set xdir to 1 set curval to GetPos X set startval to curval set state to 1 set initialized to 1 endif if ( state == 1 ) set currshift to 500 * GetSecondsPassed set currshift to currshift * xdir set curval to curval + currshift SetPos X curval if ( GetCollidingPC ) MessageBox "hit PC" player->sethealth 0 endif if ( GetCollidingActor ) MessageBox "hit somethin else" endif HurtCollidingActor 500 if ( xdir < 0 ) set currshift to startval - curval else set currshift to curval - startval endif if ( currshift > 800 ) MessageBox "Explosion complete. ptdiff = %.2f" currshift Disable SetDelete 1 set state to 2 endif endif end
60fab_attack_1begin fab_attack_1 ;creature 1 for attack short state if ( state == 10 ) startcombat "guard_highord_attack" return endif if ( FabAttack == 1 ) enable set state to 10 if ( GetJournalIndex "tr_mhattack" < 10 ) Journal "TR_MHattack" 10 endif else disable endif end
61fab_attack_2begin fab_attack_2 ;creature 1 for attack if ( FabAttack == 1 ) enable startcombat "guard_helseth_attack" else disable endif end
62fab_attack_disablebegin fab_attack_disable ;enables rubble object during attack if ( FabAttack == 1 ) disable endif end
63fab_attack_enablebegin fab_attack_enable ;enables rubble object during attack if ( FabAttack == 1 ) enable else disable endif end
64fab_attack_enable2begin fab_attack_enable2 ;enables rubble object during attack if ( GetJournalIndex TR_Bamz > 0 ) enable else disable endif end
65fab_attack_helsethbegin fab_attack_helseth ;guards during the attack short state short journalOnce if state == -1 return endif if ( GetHealth < 1 ) return endif if ( FabAttack == 1 ) if ( getjournalindex "tr_mhattack" < 30 ) if ( GetDistance, Player < 300 ) if ( saydone == 1 ) Say "vo\misc\tr_royal_4.mp3" , "Attack the creatures!! We must defend the city!!!!" if ( journalOnce == 0 ) journal "tr_mhattack" 20 set journalOnce to -1 endif set state to -1 endif endif endif endif end
66fab_attack_highordbegin fab_attack_highord ;guards during the attack short state short journalOnce if state == -1 return endif if ( FabAttack == 1 ) if ( getjournalindex "tr_mhattack" < 30 ) if ( GetDistance, Player < 300 ) if ( saydone == 1 ) Say "vo\misc\tr_highord_4.mp3" , "Take arms! Drive back these creatures!!!" if ( journalOnce == 0 ) journal "tr_mhattack" 25 set journalOnce to -1 endif set state to -1 endif endif endif endif end
67fab_cent_attackbegin fab_cent_attack short doOnce if ( doOnce == 0 ) set doOnce to 1 StartCombat "centurion_steam_C_L" endif if ( "fab_cent_fight_watcher".fight_state >= 1 ) if ( cellChanged ) SetHealth 0 endif endif end
68fab_cent_fight_diebegin fab_cent_fight_die if ( "fab_cent_fight_watcher".fight_state >= 1 ) if ( cellChanged ) SetHealth 0 endif endif end
69fab_cent_fight_watchbegin fab_cent_fight_watch short fight_state if ( MenuMode ) return endif if ( fight_state == 3 ) return endif if ( fight_state == 0 ) if ( GetDistance player < 200 ) Journal "TR_Bamz" 50 set fight_state to 1 endif elseif ( fight_state == 1 ) if ( cellChanged ) set fight_state to 2 endif elseif ( fight_state == 2 ) PlaceItem "in_dwe_all_tribunal" 4791 6127 12288 0 PlaceItem "in_dwe_all_tribunal" 6246 3234 12288 0 set fight_state to 3 endif end
70Floatbegin Float float timer float swingTime float swingSpeed float startAngle set startAngle to GetStartingAngle, x if ( MenuMode == 0 ) set swingTime to 1 ;set swingSpeed to 30 set timer to ( timer + GetSecondsPassed ) ;rotate up if ( timer < swingTime ) Rotate x,2 ;rotate down elseif ( timer < (swingTime * 3) ) Rotate x, -2 ;up again elseif (timer < (swingTime * 4 ) ) Rotate x, 2 ;reset timer to zero else set timer to 0 ;SetAngle, x, GetStartingAngle, x endif endif end Float
71floatAboveStartHeightbegin floatAboveStartHeight float timer float swingTime float startAngle float startHeight float currangle float xvalue float zvalue float zoffset float tmpoffset float weightoffset float waterlevel short reset short initialized if ( initialized == 0 ) set startAngle to GetAngle, X set startHeight to GetPos, Z set swingTime to 1 set initialized to 1 endif if ( MenuMode == 0 ) set waterlevel to GetWaterLevel if ( waterlevel > startHeight ) if ( timer == 0 ) if ( reset == 0 ) set timer to Random 100 set timer to timer / 4 endif endif set timer to ( timer + GetSecondsPassed ) set currangle to GetAngle X set xvalue to 10 * GetSecondsPassed set zvalue to 5 * GetSecondsPassed ;rotate up if ( timer < swingTime ) set currangle to currangle + xvalue SetAngle X currangle set zoffset to zoffset + zvalue ;rotate down elseif ( timer < (swingTime * 3) ) set currangle to currangle - xvalue SetAngle X currangle set zoffset to zoffset - zvalue ;up again elseif (timer < (swingTime * 4 ) ) set currangle to currangle + xvalue SetAngle X currangle set zoffset to zoffset + zvalue ;reset timer to zero else set timer to 0 set reset to 1 set zoffset to 0 SetAngle, x, startangle endif set tmpoffset to waterlevel set tmpoffset to tmpoffset + zoffset SetPos Z tmpoffset else SetAngle, X, startAngle SetPos Z startHeight endif endif end
72fluctuateWaterLevelbegin fluctuateWaterLevel float lowest float highest float changerate float current float currenttarget float thischange short targetset short initialized if ( MenuMode ) return endif if ( initialized == 0 ) set lowest to -125 ;lowest water height set highest to 75 ;highest water height set changerate to 10 ;height change in one second set initialized to 1 endif set current to GetWaterLevel if ( targetset == 0 ) set targetset to 1 set currenttarget to ( Random 200 ) ;value should be highest - lowest MessageBox "Random value is %.2f, lowest is %.2f", currenttarget, lowest set currenttarget to ( currenttarget + lowest ) MessageBox "WaterLevel target is now %.2f", currenttarget if ( currenttarget < current ) if ( changerate > 0 ) set changerate to ( changerate * -1 ) endif else if ( changerate < 0 ) set changerate to ( changerate * -1 ) endif endif endif if ( current != currenttarget ) set thischange to ( changerate * GetSecondsPassed ) set current to ( current + thischange ) if ( changerate < 0 ) if ( current < currenttarget ) set current to currenttarget endif else if ( current > currenttarget ) set current to currenttarget endif endif SetWaterLevel current else set targetset to 0 endif end
73GaenorScriptBegin GaenorScript short greetonce short nolore short castonce short OnPCHitMe float timer if ( MenuMode == 1 ) return endif ;end quest if PC should happen to get lucky and kill him in one hit... if ( OnDeath == 1 ) Journal MS_Natural 40 StopScript GaenorTimer endif ;get him away if the PC tries to attack.... if ( OnPCHitMe == 1 ) if ( GetJournalIndex "MS_Natural" == 10 ) if ( greetonce == 0 ) Journal MS_Natural 15 ForceGreeting set greetonce to 1 endif endif endif if ( GetJournalIndex "MS_Natural" == 15 ) if ( castonce == 0 ) Cast, gaenor_spell, "Gaenor" set castonce to 1 endif if ( GetChameleon == 1 ) Disable Journal MS_Natural 20 endif endif End
74GaenorTimerBegin GaenorTimer ;used to set the time between the appearance of Gaenor's first and second incarnations... float timer float daysgoneby short myday short doonce if ( MenuMode == 1 ) return endif if ( GetJournalIndex "MS_Natural" == 10 ) if ( GetPCCell "Mournhold, Temple Courtyard" == 0 ) if ( "Gaenor"->GetDisabled == 0 ) "Gaenor"->Disable endif endif endif if ( GetJournalIndex "MS_Natural" >= 10 ) if ( daysgoneby == 0 ) set myDay to Day set daysgoneby to 1 endif if ( myDay != Day ) ;presumably it went up... set daysgoneby to daysgoneby + 1 set myDay to Day endif if ( GetPCCell "Mournhold, Temple Courtyard" == 0 ) if ( daysgoneby > 2 ) Journal MS_Natural 25 endif endif endif if ( GetJournalIndex "MS_Natural" == 25 ) if ( "Gaenor_b"->GetDisabled == 0 ) StopScript GaenorTimer endif endif End GaenorTimer
75Gaenor_bScriptBegin Gaenor_bScript short greetonce short nolore if ( MenuMode == 1 ) return endif if ( GetJournalIndex "MS_Natural" < 25 ) if ( GetDisabled == 0 ) Disable endif endif if ( GetJournalIndex "MS_Natural" == 25 ) if ( GetDisabled == 1 ) Enable endif endif if ( GetJournalIndex "MS_Natural" == 25 ) if ( greetonce == 0 ) if ( GetDistance Player <= 256 ) ForceGreeting set greetonce to 1 endif endif endif if ( OnDeath == 1 ) Journal MS_Natural 40 endif End Gaenor_bScript
76galmsScriptbegin galmsScript short known short gamble short PCBet short nolore set gamble to Random, 100 End
77gateSoundbegin gateSound float ranVar float timer short randomized if ( randomized == 0 ) set ranVar to Random, 6 set randomized to 1 endif if ( GetJournalIndex "MS_BattleBots2" >= 1 ) set timer to timer + GetSecondsPassed if ( timer >= ranVar ) PlaySound "shock bolt" set timer to 0 set randomized to 0 endif endif end
78GavisScriptBegin GavisScript short check float timer short nolore short doonceA short doonceB short doonceC short doonceD short doonceE if ( OnDeath == 1 ) Journal "MS_Summoner" 30 playsound "Mysticism Cast" "golden saint_velas1"->Disable "golden saint_velas2"->Disable "ogrim titan_velas"->Disable in_MH_door_01_velas->Unlock endif ;check if enabled if ( getdisabled == 0 ) if ( check == 0 ) if ( GetDistance Player < 250 ) ForceGreeting set check to 1 endif endif endif if ( doonceA = 0 ) if ( GetJournalIndex "MS_Summoner" < 10 ) Disable set doonceA to 1 endif endif if ( doonceB = 0 ) if ( GetDeadCount "Ovis Velas" >= 1 ) Enable set doonceB to 1 endif endif if ( doonceC = 0 ) if ( GetJournalIndex "MS_Summoner" < 20 ) chimney_smoke_small_velas1->Disable chimney_smoke_small_velas2->Disable chimney_smoke_small_velas3->Disable chimney_smoke_small_velas4->Disable chimney_smoke_small_velas5->Disable chimney_smoke_small_velas6->Disable "golden saint_velas1"->Disable "golden saint_velas2"->Disable "ogrim titan_velas"->Disable set doonceC to 1 endif endif if ( GetJournalIndex "MS_Summoner" = 20 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 5 ) if ( doonceE = 0 ) chimney_smoke_small_velas1->Disable chimney_smoke_small_velas2->Disable chimney_smoke_small_velas3->Disable chimney_smoke_small_velas4->Disable chimney_smoke_small_velas5->Disable chimney_smoke_small_velas6->Disable set doonceE to 1 endif elseif ( timer >= 3 ) if ( doonceD = 0 ) chimney_smoke_small_velas1->Enable chimney_smoke_small_velas2->Enable chimney_smoke_small_velas3->Enable chimney_smoke_small_velas4->Enable chimney_smoke_small_velas5->Enable chimney_smoke_small_velas6->Enable "golden saint_velas1"->Enable "golden saint_velas2"->Enable "ogrim titan_velas"->Enable in_MH_door_01_velas->Lock, 100 set doonceD to 1 endif endif endif End
79GetPCGoldBegin GetPCGold set PCGold to ( player->GetItemCount "gold_001" ) End GetPCGold
80goblinchiefScript1Begin goblinchiefScript1 if ( gobchiefdead == 1 ) return endif if ( OnDeath == 1 ) if ( GetDeadCount goblin_warchief2 > 0 ) set gobchiefdead to 1 Journal TR_KillGoblins 50 endif endif End goblinchiefScript1
81goblinchiefScript2Begin goblinchiefScript2 if ( gobchiefdead == 1 ) return endif if ( OnDeath == 1 ) if ( GetDeadCount goblin_warchief1 > 0 ) set gobchiefdead to 1 Journal TR_KillGoblins 50 endif endif End goblinchiefScript2
82GoToJailWhenDonebegin GoToJailWhenDone if ( MenuMode == 1 ) return endif GoToJail StopScript GoToJailWhenDone end
83helsAssScriptBegin helsAssScript if ( MenuMode == 1 ) return endif if ( OnDeath == 1 ) set helsassdead to ( helsassdead + 1 ) endif if ( helsassdead == 3 ) if ( GetJournalIndex TR_Assassins < 90 ) Journal TR_Assassins 90 endif endif if ( GetJournalIndex TR_Assassins > 85 ) return endif if ( GetJournalIndex TR_Assassins < 85 ) if ( GetDisabled == 0 ) Disable endif endif if ( GetJournalIndex TR_Assassins == 85 ) if ( GetDisabled == 1 ) Enable endif endif End helsAssScript
84helsdoorScriptBegin helsdoorScript short done if (done == 1) return endif if ( OnActivate == 1 ) if ( GetJournalIndex TR_Bamz < 50 ) PlaySound "LockedDoor" MessageBox "This door is locked from the inside and cannot be opened by any means." else set done to 1 Activate endif endif End helsdoorScript
85helsethScriptBegin helsethScript short nolore short kingMove short OnPCHitMe short doOnce short FightDay if ( GetJournalIndex TR_Bamz < 50 ) If ( GetDisabled == 0 ) Disable endif endif if ( GetJournalIndex TR_Bamz >= 50 ) if ( GetDisabled == 1 ) Enable endif endif if ( GetJournalIndex TR_Champion >= 70 ) if ( GetJournalIndex TR_Champion < 80 ) if ( karrodFightStart == 3 ) if ( doOnce == 0 ) ;during duel, pacify king set doOnce to -1 setalarm 0 setfight 0 endif endif endif endif ;if ( GetJournalIndex TR_Champion >= 70 ) ;if ( GetJournalIndex TR_Champion < 80 ) ;if ( karrodFightStart == 3 ) ;if ( OnPCHitMe == 1 ) ;MessageBox "SETTING KINGHIT TO 1" ;set kingHit to 1 ;setfight 100 ;setalarm 60 ;set OnPCHitMe to 0 ;"Tienius Delitian"->StartCombat Player ;"Ivulen Irano"->StartCombat Player ;"Evo Othreloth"->StartCombat Player ;"Drusus Gratus"->StartCombat Player ;"Diradeni Farano"->StartCombat Player ;endif ;endif ;endif ;endif if ( OnPCHitMe == 1 ) if ( GetHealth < 400 ) set kingHit to 1 StartCombat Player endif set OnPCHitMe to 0 endif End helsethScript
86helsMoveScriptBegin helsMoveScript short moveOnce if ( GetJournalIndex TR_Champion >= 100 ) if ( GetPCCell "Mournhold, Royal Palace Throne Room" != 1 ) if ( moveOnce == 0 ) Position 4 -97 -101 0 set moveOnce to 1 stopScript helsMoveScript endif endif endif End helsMoveScript
87HessionScriptbegin HessionScript ;Cell: Mournhold, Bar ;Publican: Hession ;Flag: Rent_Mournhold_Bar ;all rooms get rented for one day ;This guy must be in the map where the room is if you use the locked door cell loading cleanup ;rename the script for the guy and make a specific door to unlock or flag to set ;NO actual key is given to player, a global flag is set that removes the ownership on the beds. ;this script fires off when RENT is set true. Rent is set true throuhg the BEDS topic in dialogue, which all Publicans have. ;Each publican will also have a separate response to buying the bed, so they can give simple directions. There is also a default one. short HessKnown short HessDeath short nolore short rent ;if room is rented, set through dialogue on this NPC short rentDay ;the day of the rental short rentMonth ;the month of the rental short setup ;if setup has been done short cleanup ;true if you want to cleanup all the flags, rental is over and can be reset ;this script also uses a global variable (Rent_Bed_Pelagiad). Make a new one for each rental. You can have as many ;beds as you want use that variable, it is used through the ownership data on the object reference if ( MenuMode == 1 ) Return endif if ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_MH_Guar to 1 ;this is the flag for the ownership on the bed "Rent_MH_Guar_Door"->unlock else ;setup is done so check to see if the day is over if ( Day != rentDay ) set cleanup to 1 elseif ( Month != rentMonth ) set cleanup to 1 endif endif if ( CellChanged == 1 ) ;this is only needed if you've done a locked door. If so, you only want to do this on cell change so you don't lock them in the room if ( cleanup == 1 ) ;this gets called when the rental is over and everything can be cleaned up set rent to 0 set Rent_MH_Guar to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_MH_Guar_Door"->lock 20 endif endif endif end
88HighPocketsCellCheckBegin HighPocketsCellCheck if ( CellChanged == 1 ) set high_pockets.change to 1 endif End
89highPocketsScriptBegin highPocketsScript short change short control short disable short nolore short doonce if ( disable == 1 ) if ( doonce = 0 ) Disable set doonce to 1 endif endif if ( change == 1 ) RemoveItem common_pants_06 1 RemoveItem common_shoes_06 1 RemoveItem common_shirt_06 1 RemoveItem "ring of icegrip" 1 set change to 2 endif if ( OnDeath == 1 ) set holmar.elfdeath to 1 endif End
90HolmarCellCheckbegin HolmarCellCheck if ( GetJournalIndex MS_HolyElf = 100 ) if ( CellChanged == 1 ) set holmar.disable to 1 set high_pockets.disable to 1 StopScript HolmarCellCheck endif endif if ( GetJournalIndex MS_HolyElf = 200 ) if ( CellChanged == 1 ) set holmar.disable to 1 set high_pockets.disable to 1 StopScript HolmarCellCheck endif endif End
91holmarScriptbegin holmarScript short elfdeath short disable short nolore short doonce short doonceB short doonceC short passedOut float timer if ( getjournalindex "MS_HolyElf" = 160 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 3 ) holmar->stopcombat endif endif if ( MenuMode == 1 ) Return endif if ( disable == 1 ) Disable return endif if ( GetJournalIndex "MS_HolyElf" == 0 ) return endif if ( GetJournalIndex "MS_HolyElf" == 200 ) return endif if ( doonceB = 0 ) if ( GetJournalIndex "MS_HolyElf" == 100 ) Disable set doonceB to 1 return endif endif if ( doonceC = 0 ) if ( GetJournalIndex "MS_HolyElf" == 110 ) Disable set doonceC to 1 return endif endif if ( GetJournalIndex "MS_HolyElf" <= 10 ) return endif if ( GetJournalIndex "MS_HolyElf" = 30 ) return endif if ( OnDeath == 1 ) if ( elfdeath == 1 ) Journal "MS_HolyElf" 120 high_pockets->AiWander, 128, 5, 0, 60, 60 else Journal "MS_HolyElf" 140 high_pockets->AiWander, 128, 5, 0, 60, 60 endif endif if ( gethealth < 0 ) return endif if ( getfatigue < 1 ) holmar->SetFatigue 0 endif if ( GetJournalIndex "MS_HolyElf" == 130 ) holmar->SetFatigue 0 endif if ( passedOut = 0 ) if ( getfatigue < 1 ) if ( doonce == 0 ) if ( getdeadcount high_pockets < 1 ) if ( GetJournalIndex "MS_HolyElf" != 130 ) if ( GetJournalIndex "MS_HolyElf" != 150 ) high_pockets->AiWander, 128, 5, 0, 60, 60 high_pockets->stopcombat high_pockets->setfight 30 Journal "MS_HolyElf" 160 set doonce to 1 endif endif endif endif endif endif End
92IgnatiusBBot2Scriptbegin IgnatiusBBot2Script if ( GetJournalIndex "MS_BattleBots2" < 1 ) centurion_spider_bbot3->disable centurion_steam_bbot4->disable centurion_sphere_bbot5->disable centurion_sphere_bbot6->disable centurion_spider_bbot7->disable centurion_steam_bbot8->disable ignatius_flaccus2->disable ; Ex_gg_particles_01_bbot2->disable else ignatius_flaccus->disable ; Inviso_wall_1->disable ; Inviso_wall_2->disable ; Inviso_wall_3->disable ; Inviso_wall_4->disable ; Inviso_wall_5->disable ; Inviso_wall_6->disable ; Inviso_wall_7->disable ; Inviso_wall_8->disable ; Inviso_wall_9->disable ; Inviso_wall_10->disable Active_MH_Forcefield_01->Disable Active_MH_Forcefield_02->Disable Active_MH_Forcefield_03->Disable Active_MH_Forcefield_04->Disable Active_MH_Forcefield_05->Disable centurion_spider_bbot3->enable centurion_steam_bbot4->enable centurion_sphere_bbot5->enable centurion_sphere_bbot6->enable centurion_spider_bbot7->enable centurion_steam_bbot8->enable ignatius_flaccus2->enable centurion_steam_bbot2->StartCombat Player centurion_sphere_bbot1->StartCombat Player ; Ex_gg_particles_01_bbot1->enable ; Ex_gg_particles_01_bbot2->enable endif End
93IgnatiusCellCheckBegin IgnatiusCellCheck if ( ignatius_flaccus.BotFix == 0 ) if ( CellChanged == 1 ) set ignatius_flaccus.BotFix to 1 StopScript, IgnatiusCellCheck endif endif if ( ignatius_flaccus.BotFix == 1 ) return endif End IgnatiusCellCheck
94IgnatiusScriptBegin IgnatiusScript short FightStart short BotBetOn short PCBotBet short BotDead short WinLose short BotFix short PartTwo short nolore short doonce short doonceB if ( MenuMode == 1 ) Return endif if ( ignatius_flaccus.BotFix == 0 ) if ( doonce = 0 ) centurion_steam_bbot2->disable centurion_sphere_bbot1->disable set doonce to 1 endif else if ( doonceB = 0 ) centurion_steam_bbot2->enable centurion_sphere_bbot1->enable set doonceB to 1 endif endif if ( BotDead == 0 ) if ( GetDeadCount "centurion_sphere_bbot1" == 1 ) set BotDead to 1 set FightStart to 2 if ( BotDead = BotBetOn ) set WinLose to 0 else set WinLose to 1 endif ForceGreeting endif endif if ( BotDead == 0 ) if ( GetDeadCount "centurion_steam_bbot2" == 1 ) set BotDead to 2 set FightStart to 2 if ( BotDead = BotBetOn ) set WinLose to 0 else set WinLose to 1 endif ForceGreeting endif endif End IgnatiusScript
95IgnatiusScript2Begin IgnatiusScript2 short DisabledBots short nolore if ( MenuMode == 1 ) Return endif if ( DisabledBots == 1 ) Return endif if ( GetDeadCount centurion_spider_bbot3 == 1 ) if ( GetDeadCount centurion_steam_bbot4 == 1 ) if ( GetDeadCount centurion_steam_bbot2 == 1 ) if ( GetDeadCount centurion_sphere_bbot1 == 1 ) if ( GetDeadCount centurion_sphere_bbot5 == 1 ) if ( GetDeadCount centurion_sphere_bbot6 == 1 ) if ( GetDeadCount centurion_spider_bbot7 == 1 ) if ( GetDeadCount centurion_steam_bbot8 == 1 ) set DisabledBots to 1 endif endif endif endif endif endif endif endif End
96IlnoriCellCheckBegin IlnoriCellCheck if ( GetJournalIndex "MS_JobHunt" == 1 ) if ( CellChanged == 1 ) set ilnori_faustus.change to 1 set "bols indalen".change to 1 StopScript, IlnoriCellCheck endif endif if ( ilnori_faustus.change == 1 ) return endif End
97IlnoriScriptBegin IlnoriScript short change short nolore short doonce short doonceB if ( doonce = 0 ) if ( change == 1 ) Disable set doonce to 1 endif endif if ( doonceB = 0 ) if ( getdeadcount ilnori_faustus >= 1 ) if ( CellChanged == 1 ) disable set doonceB to 1 endif endif endif End
98Irano_notebegin Irano_note short done short doonce short doonceB if doonce = 0 if ( GetDisabled = 0 ) disable set doonce to 1 endif endif if doonceB = 0 if ( GetJournalIndex TR07_Guard >= 1 ) enable set doonceB to 1 endif endif if ( done == 1 ) return endif if ( onactivate == 1 ) Journal TR07_Guard 50 set done to 1 activate endif end
99JournalistCombatBegin JournalistCombat ;Starts journalist companions of Trels Varis fighting with the player "Veros Nerethi"->startcombat player "Feranos Hlando"->startcombat player "Sendel Tedas"->startcombat player stopscript JournalistCombat end JournalistCombat
100JournalistPalsBegin JournalistPals short nolore if ( GetAttacked = 1 ) StartCombat Player setdisposition 0 SetFight 90 "Veros Nerethi"->startcombat player "Feranos Hlando"->startcombat player "Sendel Tedas"->startcombat player "Trels Varis"->startcombat player endif end JournalistPals
101karrodDoorScriptBegin karrodDoorScript if ( OnActivate == 1 ) if ( KarrodFightStart == 3 ) if ( KarrodBeaten == 0 ) MessageBox "This door has been barred from the outside while the duel is in progress." else Activate endif else Activate endif endif End karrodDoorScript
102karrodfightstopScriptBegin karrodfightstopScript short OnPCHitMe short nolore short doOnce short combatOnce if ( kingHit == 1 ) if ( combatOnce == 0 ) ;if king is hit, force combat SetAlarm 0 SetFight 100 StartCombat Player karrod->StartCombat Player Set combatOnce to 1 endif return endif if ( GetJournalIndex TR_Champion >= 80 ) if ( OnPCHitMe == 1 ) StopCombat Player StartCombat Player set OnPCHitMe to 0 endif elseif ( GetJournalIndex TR_Champion < 70 ) if ( OnPCHitMe == 1 ) StopCombat Player StartCombat Player set OnPCHitMe to 0 endif endif if ( GetJournalIndex TR_Champion < 70 ) return endif if ( KarrodBeaten > 0 ) if ( doOnce == 1 ) ;if duel is over, make guards normal again SetFight 40 SetAlarm 100 AiWander 0 0 0 0 0 0 0 set doOnce to -1 endif return endif if ( GetJournalIndex TR_Champion == 70 ) if ( karrodfightstart == 3 ) ;pacify guards during duel if ( doOnce == 0 ) setalarm 0 setfight 0 set doOnce to 1 endif endif endif if ( GetJournalIndex TR_Champion >= 70 ) if ( GetJournalIndex TR_Champion < 80 ) if ( karrodFightStart == 3 ) if ( OnPCHitMe == 1 ) ;when a guard is hit during duel, increment duel counter Set DuelMiss to ( DuelMiss + 1 ) Set OnPCHitMe to 0 if ( DuelMiss <= 5 ) ;if duel counter 5 or less, stop combat StopCombat Player SetFight 0 SetFlee 0 endif endif if ( DuelMiss > 5 ) if ( doOnce == 1 ) ;if duel counter > 5, force combat StartCombat Player SetFight 100 SetAlarm 0 SetFlee 0 set doOnce to -2 endif endif endif endif endif End karrodfightstopScript
103karrodguardScriptBegin karrodguardScript short jailOnce short nohello float timer if ( jailOnce == 2 ) return endif if ( cellchanged ) if ( karrodCheapShot == 0 ) ;if no longer necessary disable it Set jailOnce to 2 Disable endif endif if ( MenuMode == 1 ) return endif if ( timer < .5 ) ;give alarm chance to be raised set timer to ( timer + GetSecondsPassed ) return endif if ( karrodCheapShot == 1 ) if ( jailOnce != 1 ) ;no one else did it so we will Set jailOnce to 1 ForceGreeting endif endif End karrodguardScript
104karrodMovementBegin karrodMovement short doOnce float timer short moveOnce short moveCounter short tienMove short helsMove short ivulMove short evoMove short drusMove short diraMove short resetOnce float fighttimer short initialized short startday short starthour if ( MenuMode == 1 ) return endif if ( initialized == 0 ) set initialized to 1 set startday to DaysPassed set starthour to GameHour endif if ( GetJournalIndex TR_Champion >= 80 ) if ( resetOnce == 0 ) AiWander 2000 1 0 60 20 10 10 0 0 0 0 0 set resetOnce to -1 endif endif if ( moveOnce == -1 ) return endif if ( GetJournalIndex TR_Champion == 20 ) if ( KarrodFightStart == 0 ) if ( GetPCCell "Mournhold, Royal Palace Throne Room" != 1 ) ;when player leaves room, send Karrod to bar Karrod->PositionCell -37.431 180.252 134.399 180 "Mournhold, The Winged Guar" Set KarrodFightStart to 1 endif endif endif ;wait for one day to pass if ( KarrodFightStart < 2 ) if ( DaysPassed < ( startday + 1 ) ) if ( DaysPassed <= startday ) return endif if ( GameHour <= starthour ) return endif endif endif ;if karrod at bar... if ( KarrodFightStart == 1 ) ;...do not move him back if PC is at bar if ( GetPCCell "Mournhold, The Winged Guar" == 1 ) return endif ;...do not move him back if PC in throne room if ( GetPCCell "Mournhold, Royal Palace Throne Room" == 1 ) return endif ;...otherwise, move him back and prep for fight if ( doOnce == 0 ) Karrod->PositionCell 111.062 -76.603 -68.484 0 "Mournhold, Royal Palace Throne Room" set KarrodFightStart to 2 set doOnce to 1 endif else ;...otherwise, just prep for fight if ( doOnce == 0 ) set KarrodFightStart to 2 set doOnce to 1 endif endif ;wait until helseth starts fight if ( KarrodFightStart < 3 ) return endif ;***THIS SECTION WILL MOVE EVERYONE ELSE IN THE ROOM OUT OF THE WAY AND MAKE HELSETH YELL "GO!' if ( moveOnce == 0 ) if ( KarrodFightStart == 3 ) "Tienius Delitian"->AiTravel 591.54 246.32 -116 "King Hlaalu Helseth"->AiTravel -260 -560 -116 "Ivulen Irano"->AiTravel 591.54 -31.56 -116 "Evo Othreloth"->AiTravel 100 580 -116 "Drusus Gratus"->AiTravel -100 580 -116 "Diradeni Farano"->AiTravel -571.39 1.03 -116 set moveOnce to 1 endif endif if ( moveOnce == 2 ) "King Hlaalu Helseth"->Say "Vo\Misc\duelbegin.wav", "Let the duel begin!" AiWander 0 0 0 0 0 0 karrod->StartCombat Player set moveOnce to -1 StopScript KarrodMovement endif if ( moveCounter >= 6 ) if ( moveOnce == 1 ) if ( fighttimer < 1 ) set fighttimer to fighttimer + GetSecondsPassed return endif set moveOnce to 2 endif endif if ( moveOnce == 1 ) if ( tienMove == 0 ) if ( "Tienius Delitian"->GetAiPackageDone == 1 ) "Tienius Delitian"->Face 0 0 -116 set tienMove to 1 endif endif endif if ( moveOnce == 1 ) if ( helsMove == 0 ) if ( "King Hlaalu Helseth"->GetAiPackageDone == 1 ) "King Hlaalu Helseth"->Face 0 0 -116 set helsMove to 1 endif endif endif if ( moveOnce == 1 ) if ( ivulMove == 0 ) if ( "Ivulen Irano"->GetAiPackageDone == 1 ) "Ivulen Irano"->Face 0 0 -116 set ivulMove to 1 endif endif endif if ( moveOnce == 1 ) if ( evoMove == 0 ) if ( "Evo Othreloth"->GetAiPackageDone == 1 ) "Evo Othreloth"->Face 0 0 -116 set evoMove to 1 endif endif endif if ( moveOnce == 1 ) if ( drusMove == 0 ) if ( "Drusus Gratus"->GetAiPackageDone == 1 ) "Drusus Gratus"->Face 0 0 -116 set drusMove to 1 endif endif endif if ( moveOnce == 1 ) if ( diraMove == 0 ) if ( "Diradeni Farano"->GetAiPackageDone == 1 ) "Diradeni Farano"->Face 0 0 -116 set diraMove to 1 endif endif endif if ( moveCounter < 6 ) if ( moveOnce == 1 ) if ( tienMove == 1 ) if ( "Tienius Delitian"->GetAiPackageDone == 1 ) set tienMove to -1 set moveCounter to ( moveCounter + 1 ) endif endif endif endif if ( moveCounter < 6 ) if ( moveOnce == 1 ) if ( helsMove == 1 ) if ( "King Hlaalu Helseth"->GetAiPackageDone == 1 ) set helsMove to -1 set moveCounter to ( moveCounter + 1 ) endif endif endif endif if ( moveCounter < 6 ) if ( moveOnce == 1 ) if ( ivulMove == 1 ) if ( "Ivulen Irano"->GetAiPackageDone == 1 ) set ivulMove to -1 set moveCounter to ( moveCounter + 1 ) endif endif endif endif if ( moveCounter < 6 ) if ( moveOnce == 1 ) if ( evoMove == 1 ) if ( "Evo Othreloth"->GetAiPackageDone == 1 ) set evoMove to -1 set moveCounter to ( moveCounter + 1 ) endif endif endif endif if ( moveCounter < 6 ) if ( moveOnce == 1 ) if ( drusMove == 1 ) if ( "Drusus Gratus"->GetAiPackageDone == 1 ) set drusMove to -1 set moveCounter to ( moveCounter + 1 ) endif endif endif endif if ( moveCounter < 6 ) if ( moveOnce == 1 ) if ( diraMove == 1 ) if ( "Diradeni Farano"->GetAiPackageDone == 1 ) set diraMove to -1 set moveCounter to ( moveCounter + 1 ) endif endif endif endif if ( moveOnce == 2 ) if ( tienmove == -1 ) "Tienius Delitian"->AiWander 0 0 0 0 0 0 set tienmove to -2 endif if ( helsmove == -1 ) "King Hlaalu Helseth"->AiWander 0 0 0 0 0 0 set helsmove to -2 endif if ( ivulmove == -1 ) "Ivulen Irano"->AiWander 0 0 0 0 0 0 set ivulmove to -2 endif if ( evomove == -1 ) "Evo Othreloth"->AiWander 0 0 0 0 0 0 set evomove to -2 endif if ( drusmove == -1 ) "Drusus Gratus"->AiWander 0 0 0 0 0 0 set drusmove to -2 endif if ( diramove == -1 ) "Diradeni Farano"->AiWander 0 0 0 0 0 0 set diramove to -2 endif endif End karrodMovement
105karrodScriptBegin karrodScript ;this script does a few things. it moves karrod where he needs to be for initial meeting, the bar, and the duel. it also mods his stats ;global karrodFightStart variable 0-quest not active 1-moved to bar 2-moved back to throne room 3-helseth says go short doOnce short kingOnce short OnPCHitMe short guardOnce short ModOnce short nohello short noflee short noattack short noidle short nohit short nointruder short nothief if ( MenuMode == 1 ) return endif if ( KingHit > 0 ) if ( kingOnce == 0 ) StartCombat Player set kingOnce to -1 return endif endif if ( KarrodFightStart < 2 ) if ( OnPCHitMe == 1 ) if ( GetHealth < 634 ) SetHealth 634 if ( guardOnce == 0 ) if ( GetJournalIndex TR_Champion == 20 ) set guardOnce to -1 elseif ( KarrodFightStart == 1 ) set guardOnce to -1 endif endif if ( guardonce == -1 ) Set KarrodCheapShot to 1 PlaceAtPC "royal guard_karrod" 1 128 0 StopCombat Player SetFight 30 set guardOnce to 0 endif endif Set OnPCHitMe to 0 endif endif if ( ModOnce == 0 ) if ( KarrodFightStart > 1 ) SetFight 30 SetFlee 0 Set ModOnce to -1 endif endif ;this stops the fight and forces the Karrod greeting if ( GetJournalIndex TR_Champion >= 70 ) if ( KarrodBeaten == 0 ) if ( GetHealth <= 100 ) if ( GetHealth < 1 ) ;MessageBox "REVIVING KARROD. IS HE DEAD????" resurrect ModHealth 500 endif if ( KarrodBeaten == 0 ) Set KarrodBeaten to 1 StopCombat Player SetFight 50 SetDisposition 90 SetFlee 0 ModHealth 100 ModFatigue 100 ForceGreeting endif endif endif endif ;this section lowers his stats if you've bribed ra'tesh if ( karrodBribe == 0 ) return endif if ( karrodBribe == 1 ) if ( doOnce == 0 ) ModShortBlade -20 ModBlock -20 ModMediumArmor -20 ModStrength -40 ModSpeed -30 if ( GetHealth > 100 ) ModHealth -100 endif if ( GetFatigue > 100 ) ModFatigue -100 endif RemoveSpell "regenerate [ability]" StartScript karrodMovement Set doOnce to 1 endif endif ;this brings them back up after the fight if ( doOnce == 1 ) if ( karrodBribe == 1 ) if ( KarrodBeaten > 0 ) SetFight 50 SetDisposition 90 ModShortBlade 20 ModBlock 20 ModMediumArmor 20 ModStrength 40 ModSpeed 30 SetHealth 634 SetFatigue 631 AddSpell "regenerate [ability]" set doOnce to 2 endif endif endif End karrodScript
106LorkhanHeartbegin LorkhanHeart short sunderHit ;were hit by Sunder THIS FRAME short keeningHit ;were hit by Keening THIS FRAME short countHits ;number of times you hit with Keening short countSays ;make sure you don't Say over and over short doOnce ;teleport Dagoth Ur once if ( menumode == 1 ) return endif if ( HeartDestroyed == 1 ) if ( doOnce == 2 ) return endif if ( CellChanged == 1 ) Disable Set doOnce to 2 endif if ( CellChanged == 0 ) if ( GetSoundPlaying "endrumble" == 0 ) ;play rumbling sound after heart is dead, until player leaves PlayLoopSound3D "endrumble" endif endif if ( GetSoundPlaying "heart" == 1 ) StopSound "heart" endif if ( GetSoundPlaying "heartSunder" == 1 ) StopSound "heartSunder" endif return endif if ( sunderHit == 0 ) ;test if you hit with Sunder until you hit with Sunder Set sunderHit to HitOnMe Sunder endif ;test if you hit with Keening every frame, also make heart immortal Set keeningHit to HitOnMe Keening SetHealth 5000 if ( doOnce == 0 ) if ( GetDistance Player < 500 ) "dagoth_ur_2"->PositionCell -40 2590 -180 320 "Akulakhan's Chamber" "dagoth_ur_2"->StartCombat Player Set doOnce to 1 endif endif if ( sunderHit == 1 ) ;play correct sounds before & after sunder ;return if you've never hit with Sunder if ( HeartDestroyed == 0 ) if ( CellChanged == 0 ) if ( GetSoundPlaying "heartSunder" == 0 ) PlayLoopSound3D "heartsunder" endif endif endif else if ( CellChanged == 0 ) if ( GetSoundPlaying "heart" == 0 ) PlayLoopSound3D, "heart" endif endif return endif if ( keeningHit == 0 ) ;only process rest of script when hit with keening return endif ;if player hit with Keening THIS FRAME, do all this stuff... Set countHits to ( countHits + 1 ) if ( countHits == 0 ) if ( countSays != 0 ) Set countSays to 0 endif return endif if ( countHits == 1 ) if ( countSays == 0 ) Say "vo\misc\Hit Heart 1.wav" "What are you doing?" "dagoth_ur_2"->SetFight 100 "dagoth_ur_2"->StartCombat Player Set countSays to 1 endif PlayGroup Idle2 endif if ( countHits == 2 ) if ( countSays == 1 ) Say "vo\misc\Hit Heart 2.wav" "WHAT ARE YOU DOING?!" Set countSays to 2 endif PlayGroup Idle3 endif if ( countHits == 3 ) if ( countSays == 2 ) Say "vo\misc\Hit Heart 3.wav" "FOOL!" Set countSays to 3 endif PlayGroup Idle4 endif if ( countHits == 4 ) if ( countSays == 3 ) Say "vo\misc\Hit Heart 4.wav" "STOP!" Set countSays to 4 endif PlayGroup Idle5 endif if ( countHits > 4 ) if ( countSays == 4 ) Say "vo\misc\Hit Heart 6.wav" "This is the end. The bitter, bitter end." Set countSays to 5 endif if ( GetSoundPlaying "heart" == 1 ) StopSound "heart" endif if ( GetSoundPlaying "heartSunder" == 1 ) StopSound "heartSunder" endif PlayGroup Death1 set HeartDestroyed to 1 endif End
107lucan_ostoriusBegin lucan_ostorius short PCvisit short PCleft short Attack if ( GetDeadCount "Lucan Ostorius" > 0 ) return endif If ( GetPCCell, "Ald-ruhn" == 1 ) if ( GetJournalIndex, "MV_ThiefTrader" >= 20 ) if ( PCvisit == 0 ) ;MessageBox "PC IS IN ALDRUHN" set PCvisit to 1 endif endif endif ;he has visited, but is no longer in any ald-ruhn cell if ( PCvisit == 1 ) If ( GetPCCell, "Ald-ruhn" != 1 ) If ( PCleft == 0 ) ;MessageBox "PC LEFT ALDRUHN" set PCleft to 1 endif endif endif ;he left and has now returned before certain journal, so attack, but only once if ( Attack == 0 ) if ( PCleft == 1 ) if ( GetPCCell "Ald-ruhn" == 1 ) if ( GetJournalIndex, "MV_ThiefTrader" < 100 ) ;MessageBox "LUCAN SHOULD SHOW UP BEHIND YOU NOW" "Lucan Ostorius"->disable PlaceAtPC, "Lucan Ostorius2", 1, 256, 1 ;MessageBox "LUCAN SHOULD BE ATTACKING YOU NOW..." set Attack to 1 endif endif endif endif End
108MarkTRStartScriptBegin MarkTRStartScript short doOnce ;MessageBox "THE STARTUP SCRIPT SHOULD BE RUNNING!!!!!!!!!!" startscript dbAttackScript if ( doOnce == 0 ) "Shrine Cleanse"->Disable set doOnce to 1 endif stopScript MarkTRStartScript End MarkTRStartScript
109MatchMakeFonsBegin MatchMakeFons If ( MatchMakeSwitch == 4 ) StopScript MatchMakeFons endif ;if he's dead, make sure this doesn't continue if ( GetDeadCount "Fons Beren" > 0 ) StopScript MatchMakeFons endif If ( MatchMakeSwitch == 1 ) "Fons Beren"->PositionCell 700.13,-1140.73,284.33,131.8 "Mournhold, Godsreach" "Fons Beren"->AiWander 0 0 0 0 0 0 0 set MatchMakeSwitch to 2 endif if (MatchMakeSwitch == 3) "Fons Beren"->PositionCell 2958.76,581.12,336.79,50 "Mournhold, Great Bazaar" "Fons Beren"->AiWander 512 0 0 40 20 20 0 0 if ( MatchMakeFons == 6 ) if ( Random 100 > 33 ) set MatchMakeFons to 7 else set MatchMakeFons to 8 endif endif if ( MatchMakeFons == 5 ) if ( Random 100 > 85 ) set MatchMakeFons to 7 else set MatchMakeFons to 8 endif endif if ( MatchMakeFons == 4 ) if ( Random 100 > 50 ) set MatchMakeFons to 7 else set MatchMakeFons to 8 endif endif set MatchMakeSwitch to 4 endif End MatchMakeFons
110MatchMakeGovalBegin MatchMakeGoval If ( MatchMakeSwitch == 4 ) StopScript MatchMakeGoval endif ;if he's dead, make sure this doesn't continue if ( GetDeadCount "Goval Ralen" > 0 ) StopScript MatchMakeGoval endif if ( MatchMakeSwitch == 1 ) if ( MatchMakeGoval == 6 ) "Goval Ralen"->PositionCell 700.13,-1140.73,290.33,131.8 "Mournhold, Godsreach" "Goval Ralen"->AiWander 0 0 0 0 0 0 0 "Goval Ralen"->additem "expensive_pants_01" 1 "Goval Ralen"->additem "expensive_shoes_01" 1 "Goval Ralen"->additem "expensive_shirt_01" 1 else "Goval Ralen"->PositionCell 700.13,-1140.73,284.33,131.8 "Mournhold, Godsreach" "Goval Ralen"->AiWander 0 0 0 0 0 0 0 endif set MatchMakeSwitch to 2 endif if (MatchMakeSwitch == 3) "Goval Ralen"->PositionCell -3731.789,-1848.759,248.15,0 "Mournhold, Temple Courtyard" "Goval Ralen"->AiWander 512 0 0 40 20 20 0 0 if ( MatchMakeGoval == 6 ) if ( Random 100 > 33 ) set MatchMakeGoval to 9 else set MatchMakeGoval to 8 endif endif if ( MatchMakeGoval == 5 ) if ( Random 100 > 85 ) set MatchMakeGoval to 7 else set MatchMakeGoval to 8 endif endif if ( MatchMakeGoval == 4 ) if ( Random 100 > 50 ) set MatchMakeGoval to 7 else set MatchMakeGoval to 8 endif endif set MatchMakeSwitch to 4 endif End MatchMakeGoval
111MatchMakerTimerBegin MatchMakerTimer short timerday short daysgoneby if ( GetJournalIndex MS_MatchMaker == 118 ) StopScript MatchMakerTimer endif if ( daysgoneby == 0 ) set timerDay to Day set daysgoneby to 1 endif if ( timerDay != Day ) ;presumably it went up... set daysgoneby to daysgoneby + 1 set timerDay to Day endif if ( GetPCCell "Mournhold, Godsreach" == 0 ) if ( daysgoneby > 2 ) if ( MatchMakeSwitch == 0 ) set MatchMakeSwitch to 1 "Marena Gilnith"->PositionCell 620.13,-1160.73,284.33,189.1 "Mournhold, Godsreach" if ( GetJournalIndex MS_MatchMaker == 110 ) StartScript MatchMakeGoval elseif ( GetJournalIndex MS_MatchMaker == 100 ) StartScript MatchMakeSunel else StartScript MatchMakeFons endif endif endif endif if ( daysgoneby > 3) if ( MatchMakeSwitch == 2 ) Journal MS_MatchMaker 118 set MatchMakeSwitch to 3 "Marena Gilnith"->PositionCell -3328.02,280.33,85.97,0 "Mournhold, Great Bazaar" return endif endif End MatchMakerTimer
112MatchMakeSunelBegin MatchMakeSunel short Fate If ( MatchMakeSwitch == 4 ) StopScript MatchMakeSunel endif ;if he's dead, make sure this doesn't continue if ( GetDeadCount "Sunel Hlas" > 0 ) StopScript MatchMakeSunel endif If ( MatchMakeSwitch == 1 ) "Sunel Hlas"->PositionCell 700.13,-1140.73,284.33,131.8 "Mournhold, Godsreach" set MatchMakeSwitch to 2 endif if (MatchMakeSwitch == 3) "Sunel Hlas"->PositionCell 5.56,430.66,-306.69,180 "Mournhold, Trader" set fate to Random 100 if ( MatchMakeSunel == 6 ) if ( fate > 33 ) set MatchMakeSunel to 7 "Marena Gilnith"->PositionCell 141.978,343.881,-34.290,137.5 "Mournhold, Trader" Set MatchMakeSwitch to 4 return endif endif if ( MatchMakeSunel == 5 ) if ( fate > 85 ) set MatchMakeSunel to 7 "Marena Gilnith"->PositionCell 141.978,343.881,-34.290,137.5 "Mournhold, Trader" set MatchMakeSwitch to 4 return endif endif if ( MatchMakeSunel == 4 ) if ( fate > 50 ) set MatchMakeSunel to 7 "Marena Gilnith"->PositionCell 141.978,343.881,-34.290,137.5 "Mournhold, Trader" set MatchMakeSwitch to 4 return endif endif Set MatchMakeSunel to 8 set MatchMakeSwitch to 4 endif End MatchMakeSunel
113mazedbandEnd_ScriptBegin mazedbandEnd_Script short button short messageOn short reset short OnPcEquip ;if ( MenuMode == 1 ) ; Return ;endif if ( OnPCEquip == 0 ) set reset to 0 endif if ( reset == 1 ) return endif if ( OnPCEquip == 1 ) if ( reset == 0 ) Set OnPCEquip to 0 MessageBox "Use the Mazedband to teleport where?" "Vivec" "Mournhold" "Sotha Sil" "Nowhere" if ( GetJournalIndex TR_SothaSil == 100 ) set messageOn to 2 else set messageOn to 1 endif endif endif if ( messageOn == 1 ) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif ;vivec if ( button == 0 ) playsound "conjuration hit" Player->PositionCell 12, 219, -501, 0 "Vivec, High Fane" set reset to 1 ;mournhold elseif ( button == 1 ) playsound "conjuration hit" Player->PositionCell 0, -478, -645, 0 "Mournhold Temple: High Chapel" set reset to 1 ;sotha sil elseif ( button == 2 ) playsound "conjuration hit" Player->PositionCell 3976, 4179, 12310, 0 "Sotha Sil, Dome of Sotha Sil" set reset to 1 return elseif ( button == 3 ) set reset to 1 return endif endif if ( messageOn == 2 ) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif ;vivec if ( button == 0 ) MessageBox "You feel a powerful force interrupt the Mazed Band's spell and pull you toward Mournhold." playsound "conjuration hit" Player->PositionCell 0, -478, -645, 0 "Mournhold Temple: High Chapel" set reset to 1 ;mournhold elseif ( button == 1 ) MessageBox "You feel a powerful force interrupt the Mazed Band's spell and pull you toward Mournhold." playsound "conjuration hit" Player->PositionCell 0, -478, -645, 0 "Mournhold Temple: High Chapel" set reset to 1 ;sotha sil elseif ( button == 2 ) MessageBox "You feel a powerful force interrupt the Mazed Band's spell and pull you toward Mournhold." playsound "conjuration hit" Player->PositionCell 0, -478, -645, 0 "Mournhold Temple: High Chapel" set reset to 1 return elseif ( button == 3 ) set reset to 1 return endif endif End
114mazedbandScriptBegin mazedbandScript short doOnce if ( MenuMode == 1 ) return endif if ( doOnce == -1 ) return endif if ( Player->GetItemCount mazed_band > 0 ) if ( doOnce == 0 ) Journal TR_MazedBand 70 set doOnce to -1 endif endif End mazedbandScript
115Mercenary_CalvusBegin Mercenary_Calvus ;local script ;note: make sure Mercenary has Hello 0 short noLore short companion short contract_Calvus float minimumProfit float timer short distanceCheck short isdead if ( MenuMode == 1 ) Return endif if ( gethealth < 1 ) return endif if ( isdead == 1 ) return endif if ( ondeath == 1 ) set isdead to 1 set MercenaryNear to 0 return endif ;this section handles getting rid of Calvus during the Karrod duel if ( MercenaryNear == 0 ) if ( GetDistance "King Hlaalu Helseth" <= 2080 ) set MercenaryNear to 1 endif elseif ( MercenaryNear == 1 ) if (GetDistance "King Hlaalu Helseth" > 2080 ) set MercenaryNear to 0 endif endif ;this section handles changes in state when Calvus leaves a contract, either because the contract expires, or because the player has taken Calvus' stuff if ( GetJournalIndex Merc_Calvus_Quit < 1 ) ;if Calvus has already quit, don't do this if ( Contract_Calvus == 1 ) ;if Calvus doesn't have a contract, don't do this if ( minimumProfit < 0 ) ;handles Calvus quitting because player took his stuff AiWander 128 6 0 40 30 20 0 0 0 0 0 0 ;pushing this AI package on removes the follow package Set Companion to 0 StopScript Contract_Calvus Set Contract_Calvus to 0 ForceGreeting return else if ( Contract_Calvus == 0 ) ;handles Calvus after a contract expires AiWander 128 6 0 40 30 20 0 0 0 0 0 0 ;pushing this AI package on removes the follow package Set Companion to 0 if ( GetJournalIndex Merc_Calvus < 10 ) Journal Merc_Calvus 10 ;tells player the first mercenary contract is expired else Journal Merc_Calvus 20 ;tells player the most recent mercenary contract is expired endif endif endif endif endif if ( companion == 0 ) return endif if ( timer < 3 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetDistance Player < NPCVoiceDistance ) if ( GetDistance Player < 500 ) set distanceCheck to 0 endif set timer to 0 return endif if ( distanceCheck == 0 ) Say "Vo\I\M\Flw_IM001.mp3" "Where are you going?" set distanceCheck to 1 endif end Mercenary_Calvus
116MerynScriptbegin MerynScript float timer short mistakes float missCounter short nolore if ( MenuMode == 1 ) Return endif if ( GetJournalIndex "MS_Performers" == 10 ) set timer to timer + GetSecondsPassed if ( timer >= 120 ) Journal "MS_Performers" 20 endif endif if ( mistakes == 1 ) set missCounter to missCounter + 1 set mistakes to 0 MessageBox, "You made a mistake!" endif End
117MHCityGatesBegin MHCityGates if ( OnActivate == 1 ) MessageBox "The Gates cannot be opened." endif End MHCityGates
118MHTransportScriptBegin MHTransportScript if ( MenuMode == 1 ) return endif playsound "conjuration hit" Player->PositionCell 2.730 959.274 -105.817 180 "Mournhold, Royal Palace: Reception Area" StopScript MHTransportScript End MHTransportScript
119mitanneScriptBegin mitanneScript short escortOnce if ( escortOnce == 4 ) return endif if ( escortOnce == -1 ) if ( karrodBribe == 1 ) if ( GetAiPackageDone == 1 ) sethello 30 set escortOnce to 1 elseif ( GetDistance Karrod <= 256 ) sethello 30 set escortOnce to 1 endif endif endif if ( KarrodBribe == 1 ) if ( escortOnce == 0 ) AiTravel -37.431 180.252 134.399 180 sethello 0 set escortOnce to -1 endif endif if ( escortOnce == 1 ) AiFollow Karrod 0 0 0 0 0 0 set escortOnce to 2 endif if ( escortOnce == 3 ) if ( GetAiPackageDone == 1 ) set escortOnce to 4 endif endif if ( escortOnce == 2 ) if ( karrodfightstart == 3 ) AiTravel 0 -40 -360 0 set escortOnce to 3 endif endif if ( escortOnce == 4 ) AiWander 256 0 0 60 30 10 0 0 set escortOnce to 4 endif End mitanneScript
120MuseumBegin Museum RobeLich if ("Torasa Aram".maceslurring < 2) Disable endif if ("Torasa Aram". == 2) Enable endif if (OnActivate == 1) player->additem "robe_lich_unique" 1 PlaySound "Item Clothes Up" Disable set "Torasa Aram".robelich to 3 endif End MuseumRobeLich
121MuseumAurielBowBegin MuseumAurielBow if ("Torasa Aram".aurielbow < 2) Disable endif if ("Torasa Aram".aurielbow == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".aurielbow to 3 Activate player->removeitem "ebony_bow_auriel_x" 1 player->additem "ebony_bow_auriel" 1 endif End MuseumAurielBow
122MuseumAurielShieldBegin MuseumAurielShield if ("Torasa Aram".aurielshield < 2) Disable endif if ("Torasa Aram".aurielshield == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".aurielshield to 3 Activate player->removeitem "ebony_shield_auriel_x" 1 player->additem "ebony_shield_auriel" 1 endif End MuseumAurielShield
123MuseumBiPolarBladeBegin MuseumBiPolarBlade if ("Torasa Aram".bipolarblade < 2) Disable endif if ("Torasa Aram".bipolarblade == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".bipolarblade to 3 Activate player->removeitem "BiPolar Blade_x" 1 player->additem "bipolar blade" 1 endif End MuseumBiPolarBlade
124MuseumBitterMercyBegin MuseumBitterMercy if ("Torasa Aram".bittermercy < 2) Disable endif if ("Torasa Aram".bittermercy == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".bittermercy to 3 Activate player->removeitem "spear_mercy_unique_x" 1 player->additem "spear_mercy_unique" 1 endif End MuseumBitterMercy
125MuseumBootsApostleBegin MuseumBootsApostle if ("Torasa Aram".bootsapostle < 2) Disable endif if ("Torasa Aram".bootsapostle == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".bootsapostle to 3 Activate player->removeitem "boots_apostle_unique_x" 1 player->additem "boots_apostle_unique" 1 endif End MuseumBootsApostle
126MuseumBootsBlindingBegin MuseumBootsBlinding if ("Torasa Aram".bootsblinding < 2) Disable endif if ("Torasa Aram".bootsblinding == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".bootsblinding to 3 Activate player->removeitem "boots of blinding speed_x" 1 player->additem "boots of blinding speed[unique]" 1 endif End MuseumBootsBlinding
127MuseumBootsTenPaceBegin MuseumBootsTenPace if ("Torasa Aram".bootstenpace < 2) Disable endif if ("Torasa Aram".bootstenpace == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".bootstenpace to 3 Activate player->removeitem "tenpaceboots_x" 1 player->additem "tenpaceboots" 1 endif End MuseumBootsTenPace
128MuseumBowShadowsBegin MuseumBowShadows if ("Torasa Aram".bowshadows < 2) Disable endif if ("Torasa Aram".bowshadows == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".bowshadows to 3 Activate player->removeitem "longbow_shadows_unique_x" 1 player->additem "longbow_shadows_unique" 1 endif End MuseumBowShadows
129MuseumChrysamereBegin MuseumChrysamere if ("Torasa Aram".chrysamere < 2) Disable endif if ("Torasa Aram".chrysamere == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".chrysamere to 3 Activate player->removeitem "claymore_chrysamere_unique_x" 1 player->additem "claymore_chrysamere_unique" 1 endif End MuseumChrysamere
130MuseumDaggerFangBegin MuseumDaggerFang if ("Torasa Aram".daggerfang < 2) Disable endif if ("Torasa Aram".daggerfang == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".daggerfang to 3 Activate player->removeitem "dagger_fang_unique_x" 1 player->additem "dagger_fang_unique" 1 endif End MuseumDaggerFang
131MuseumDagSymBegin MuseumDagSym if ("Torasa Aram".dagsym < 2) Disable endif if ("Torasa Aram".dagsym == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".dagsym to 3 Activate player->removeitem "glass dagger_symmachus_unique_x" 1 player->additem "glass dagger_symmachus_unique" 1 endif End MuseumDagSym
132MuseumDragonBoneBegin MuseumDragonBone if ("Torasa Aram".dragonbone < 2) Disable endif if ("Torasa Aram".dragonbone == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".dragonbone to 3 Activate player->removeitem "dragonbone_cuirass_unique_x" 1 player->additem "dragonbone_cuirass_unique" 1 endif End MuseumDragonBone
133MuseumEbonyMailBegin MuseumEbonyMail if ("Torasa Aram".ebonymail < 2) Disable endif if ("Torasa Aram".ebonymail == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".ebonymail to 3 Activate player->removeitem "ebon_plate_cuirass_unique_x" 1 player->additem "ebon_plate_cuirass_unique" 1 endif End MuseumEbonyMail
134MuseumEleidonswardBegin MuseumEleidonsward if ("Torasa Aram".eleidonsward < 2) Disable endif if ("Torasa Aram".eleidonsward == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".eleidonsward to 3 Activate player->removeitem "towershield_eleidon_unique_x" 1 player->additem "towershield_eleidon_unique" 1 endif End MuseumEleidonsward
135MuseumGoldbrandBegin MuseumGoldbrand if ("Torasa Aram".goldbrand < 2) Disable endif if ("Torasa Aram".goldbrand == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".goldbrand to 3 Activate player->removeitem "katana_goldbrand_unique_x" 1 player->additem "katana_goldbrand_unique" 1 endif End MuseumGoldbrand
136MuseumHelmBearclawBegin MuseumHelmBearclaw if ("Torasa Aram".helmbearclaw < 2) Disable endif if ("Torasa Aram".helmbearclaw == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".helmbearclaw to 3 Activate player->removeitem "helm_bearclaw_unique_x" 1 player->additem "helm_bearclaw_unique" 1 endif End MuseumHelmBearclaw
137MuseumHelmBloodwormBegin MuseumHelmBloodworm if ("Torasa Aram".helmbloodworm < 2) Disable endif if ("Torasa Aram".helmbloodworm == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".helmbloodworm to 3 Activate player->removeitem "bloodworm_helm_unique_x" 1 player->additem "bloodworm_helm_unique" 1 endif End MuseumHelmBearclaw
138MuseumIcebladeBegin MuseumIceblade if ("Torasa Aram".iceblade < 2) Disable endif if ("Torasa Aram".iceblade == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".iceblade to 3 Activate player->removeitem "claymore_iceblade_unique_x" 1 player->additem "claymore_iceblade_unique" 1 endif End MuseumIceblade
139MuseumLordsMailBegin MuseumLordsMail if ("Torasa Aram".lordsmail < 2) Disable endif if ("Torasa Aram".lordsmail == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".lordsmail to 3 Activate player->removeitem "lords_cuirass_unique_x" 1 player->additem "lords_cuirass_unique" 1 endif End MuseumLordsMail
140MuseumMaceMolagBalBegin MuseumMaceMolagBal if ("Torasa Aram".macemolagbal < 2) Disable endif if ("Torasa Aram".macemolagbal == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".macemolagbal to 3 Activate player->removeitem "mace of molag bal_unique_x" 1 player->additem "mace of molag bal_unique" 1 endif End MuseumMaceMolagBal
141MuseumMaceSlurringBegin MuseumMaceSlurring if ("Torasa Aram".maceslurring < 2) Disable endif if ("Torasa Aram".maceslurring == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".maceslurring to 3 Activate player->removeitem "mace of slurring_x" 1 player->additem "mace of slurring" 1 endif End MuseumMaceSlurring
142MuseumRingPhynasterBegin MuseumRingPhynaster if ("Torasa Aram".ringphynaster < 2) Disable endif if ("Torasa Aram".ringphynaster == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".ringphynaster to 3 Activate player->removeitem "ring_phynaster_unique_x" 1 player->additem "ring_phynaster_unique" 1 endif End MuseumRingPhynaster
143MuseumRingVampiricBegin MuseumRingVampiric if ("Torasa Aram".ringvampiric < 2) Disable endif if ("Torasa Aram".ringvampiric == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".ringvampiric to 3 Activate player->removeitem "ring_vampiric_unique_x" 1 player->additem "ring_vampiric_unique" 1 endif End MuseumRingVampiric
144MuseumRingWarlockBegin MuseumRingWarlock if ("Torasa Aram".ringwarlock < 2) Disable endif if ("Torasa Aram".ringwarlock == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".ringwarlock to 3 Activate player->removeitem "ring_warlock_unique_x" 1 player->additem "ring_warlock_unique" 1 endif End MuseumRingWarlock
145MuseumRobeLichBegin MuseumRobeLich if ("Torasa Aram".robelich < 2) Disable endif if ("Torasa Aram".robelich == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".robelich to 3 Activate player->removeitem "robe_lich_unique_x" 1 player->additem "robe_lich_unique" 1 endif End MuseumRobeLich
146MuseumSaviorsHideBegin MuseumSaviorsHide if ("Torasa Aram".saviorshide < 2) Disable endif if ("Torasa Aram".saviorshide == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".saviorshide to 3 Activate player->removeitem "cuirass_savior_unique_x" 1 player->additem "cuirass_savior_unique" 1 endif End MuseumSaviorsHide
147MuseumScriptBegin MuseumScript short eleidonsward short lordsmail short saviorshide short bootstenpace short ebonymail short bootsapostle short helmbloodworm short aurielshield short bootsblinding short bittermercy short umbrasword short chrysamere short daggerfang short aurielbow short velothjudgment short macemolagbal short bowshadows short dragonbone short goldbrand short helmbearclaw short iceblade short ringphynaster short skullcrusher short spellbreaker short staffhasedoki short staffmagnus short ringvampiric short ringwarlock short maceslurring short bipolarblade short stendarhammer short robelich short dagsym short MuseumCheck short nolore short itemcount short PCThief set itemcount to 0 if (eleidonsward == 0) if player->(GetItemCount "towershield_eleidon_unique") == 1 addtopic "Eleidon's Ward" set eleidonsward to 1 set itemcount to ( itemcount + 1 ) endif endif if ( lordsmail == 0 ) if player->(GetItemCount "lords_cuirass_unique") == 1 addtopic "Lord's Mail" set lordsmail to 1 set itemcount to ( itemcount + 1 ) endif endif if ( saviorshide == 0 ) if player->(GetItemCount "cuirass_savior_unique") == 1 addtopic "Cuirass of the Savior's Hide" set saviorshide to 1 set itemcount to ( itemcount + 1 ) endif endif if ( bootstenpace == 0 ) if player->(GetItemCount "tenpaceboots") == 1 addtopic "Ten Pace Boots" set bootstenpace to 1 set itemcount to ( itemcount + 1 ) endif endif if ( ebonymail == 0 ) if player->(GetItemCount "ebon_plate_cuirass_unique") == 1 addtopic "Ebony Mail" set ebonymail to 1 set itemcount to ( itemcount + 1 ) endif endif if ( bootsapostle == 0 ) if player->(GetItemCount "boots_apostle_unique") == 1 addtopic "Boots of the Apostle" set bootsapostle to 1 set itemcount to ( itemcount + 1 ) endif endif if ( helmbloodworm == 0 ) if player->(GetItemCount "bloodworm_helm_unique") == 1 addtopic "Bloodworm Helm" set helmbloodworm to 1 set itemcount to ( itemcount + 1 ) endif endif if ( aurielshield == 0 ) if player->(GetItemCount "ebony_shield_auriel") == 1 addtopic "Auriel's Shield" set aurielshield to 1 set itemcount to ( itemcount + 1 ) endif endif if ( bootsblinding == 0 ) if player->(GetItemCount "boots of blinding speed[unique]") == 1 addtopic "Boots of Blinding Speed" set bootsblinding to 1 set itemcount to ( itemcount + 1 ) endif endif if ( bittermercy == 0 ) if player->(GetItemCount "spear_mercy_unique") == 1 addtopic "Spear of Bitter Mercy" set bittermercy to 1 set itemcount to ( itemcount + 1 ) endif endif if ( umbrasword == 0 ) if player->(GetItemCount "longsword_umbra_unique") == 1 addtopic "Umbra Sword" set umbrasword to 1 set itemcount to ( itemcount + 1 ) endif endif if ( daggerfang == 0 ) if player->(GetItemCount "dagger_fang_unique") == 1 addtopic "Fang of Haynekhtnamet" set daggerfang to 1 set itemcount to ( itemcount + 1 ) endif endif if ( aurielbow == 0 ) if player->(GetItemCount "ebony_bow_auriel") == 1 addtopic "Auriel's Bow" set aurielbow to 1 set itemcount to ( itemcount + 1 ) endif endif if ( velothjudgment == 0 ) if player->(GetItemCount "daedric warhammer_ttgd") == 1 addtopic "Veloth's Judgement" set velothjudgment to 1 set itemcount to ( itemcount + 1 ) endif endif if ( macemolagbal == 0 ) if player->(GetItemCount "mace of molag bal_unique") == 1 addtopic "Mace of Molag Bal" set macemolagbal to 1 set itemcount to ( itemcount + 1 ) endif endif if ( bowshadows == 0 ) if player->(GetItemCount "longbow_shadows_unique") == 1 addtopic "Bow of Shadows" set bowshadows to 1 set itemcount to ( itemcount + 1 ) endif endif if ( dragonbone == 0 ) if player->(GetItemCount "dragonbone_cuirass_unique") == 1 addtopic "Dragonbone Cuirass" set dragonbone to 1 set itemcount to ( itemcount + 1 ) endif endif if ( goldbrand == 0 ) if player->(GetItemCount "katana_goldbrand_unique") == 1 addtopic "Goldbrand" set goldbrand to 1 set itemcount to ( itemcount + 1 ) endif endif if ( helmbearclaw == 0 ) if player->(GetItemCount "helm_bearclaw_unique") == 1 addtopic "Helm of Oreyn Bearclaw" set helmbearclaw to 1 set itemcount to ( itemcount + 1 ) endif endif if ( iceblade == 0 ) if player->(GetItemCount "claymore_iceblade_unique") == 1 addtopic "Ice blade of the Monarch" set iceblade to 1 set itemcount to ( itemcount + 1 ) endif endif if ( chrysamere == 0 ) if player->(GetItemCount "claymore_chrysamere_unique") == 1 addtopic "Chrysamere" set chrysamere to 1 set itemcount to ( itemcount + 1 ) endif endif if ( ringphynaster == 0 ) if player->(GetItemCount "ring_phynaster_unique") == 1 addtopic "Ring of Phynaster" set ringphynaster to 1 set itemcount to ( itemcount + 1 ) endif endif if ( skullcrusher == 0 ) if player->(GetItemCount "warhammer_crusher_unique") == 1 addtopic "Skull-Crusher" set skullcrusher to 1 set itemcount to ( itemcount + 1 ) endif endif if ( spellbreaker == 0 ) if player->(GetItemCount "spell_breaker_unique") == 1 addtopic "Spell Breaker" set spellbreaker to 1 set itemcount to ( itemcount + 1 ) endif endif if ( staffhasedoki == 0 ) if player->(GetItemCount "staff_hasedoki_unique") == 1 addtopic "Staff of Hasedoki" set staffhasedoki to 1 set itemcount to ( itemcount + 1 ) endif endif if ( staffmagnus == 0 ) if player->(GetItemCount "staff_magnus_unique") == 1 addtopic "Staff of Magnus" set staffmagnus to 1 set itemcount to ( itemcount + 1 ) endif endif if ( ringvampiric == 0 ) if player->(GetItemCount "ring_vampiric_unique") == 1 addtopic "Vampiric Ring" set ringvampiric to 1 set itemcount to ( itemcount + 1 ) endif endif if ( ringwarlock == 0 ) if player->(GetItemCount "ring_warlock_unique") == 1 addtopic "Warlock's Ring" set ringwarlock to 1 set itemcount to ( itemcount + 1 ) endif endif if ( maceslurring == 0 ) if player->(GetItemCount "mace of slurring") == 1 addtopic "Mace of Slurring" set maceslurring to 1 set itemcount to ( itemcount + 1 ) endif endif if ( bipolarblade == 0 ) if player->(GetItemCount "Bipolar Blade") == 1 addtopic "BiPolar Blade" set bipolarblade to 1 set itemcount to ( itemcount + 1 ) endif endif addtopic "Stendarr's Hammer" if ( robelich == 0 ) if player->(GetItemCount "robe_lich_unique") == 1 addtopic "Robe of the Lich" set robelich to 1 set itemcount to ( itemcount + 1 ) endif endif if ( dagsym == 0 ) if player->(GetItemCount "glass dagger_symmachus_unique") == 1 addtopic "Dagger of Symmachus" set dagsym to 1 set itemcount to ( itemcount + 1 ) endif endif StopScript MuseumScript End MuseumScript
148MuseumSkullCrusherBegin MuseumSkullCrusher if ("Torasa Aram".skullcrusher < 2) Disable endif if ("Torasa Aram".skullcrusher == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".skullcrusher to 3 Activate player->removeitem "warhammer_crusher_unique_x" 1 player->additem "warhammer_crusher_unique" 1 endif End MuseumSkullCrusher
149MuseumSpellBreakerBegin MuseumSpellBreaker if ("Torasa Aram".spellbreaker < 2) Disable endif if ("Torasa Aram".spellbreaker == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".spellbreaker to 3 Activate player->removeitem "spell_breaker_unique_x" 1 player->additem "spell_breaker_unique" 1 endif End MuseumSpellBreaker
150MuseumStaffHasedokiBegin MuseumStaffHasedoki if ("Torasa Aram".staffhasedoki < 2) Disable endif if ("Torasa Aram".staffhasedoki == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".staffhasedoki to 3 Activate player->removeitem "staff_hasedoki_unique_x" 1 player->additem "staff_hasedoki_unique" 1 endif End MuseumStaffHasedoki
151MuseumStaffMagnusBegin MuseumStaffMagnus if ("Torasa Aram".staffmagnus < 2) Disable endif if ("Torasa Aram".staffmagnus == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".staffmagnus to 3 Activate player->removeitem "staff_magnus_unique_x" 1 player->additem "staff_magnus_unique" 1 endif End MuseumStaffMagnus
152MuseumStendarHammerBegin MuseumStendarHammer if ("Torasa Aram".stendarhammer < 2) Disable endif if ("Torasa Aram".stendarhammer == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".stendarhammer to 3 Activate player->removeitem "stendar_hammer_unique_x" 1 player->additem "stendar_hammer_unique" 1 endif End MuseumStendarHammer
153MuseumUmbraSwordBegin MuseumUmbraSword if ("Torasa Aram".umbrasword < 2) Disable endif if ("Torasa Aram".umbrasword == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".umbrasword to 3 Activate player->removeitem "longsword_umbra_unique_x" 1 player->additem "longsword_umbra_unique" 1 endif End MuseumUmbraSword
154MuseumVelothJudgmentBegin MuseumVelothJudgment if ("Torasa Aram".velothjudgment < 2) Disable endif if ("Torasa Aram".velothjudgment == 2) Enable endif if (OnActivate == 1) set "Torasa Aram".velothjudgment to 3 Activate player->removeitem "daedric warhammer_ttgd_x" 1 player->additem "daedric warhammer_ttgd" 1 endif End MuseumVelothJudgment
155NarisaAdusbegin NarisaAdus ;place on Narisa Adus short currentDay short localdaysPassed short NoLore if ( currentDay != Day ) set currentDay to Day set localdaysPassed to localdaysPassed + 1 endif end narisaAdus
156OvisScriptBegin OvisScript float timer short lockout short enabled short distancecheck short nolore short doonce if ( MenuMode == 1 ) Return endif if ( GetJournalIndex MS_Summoner >= 1 ) Return endif if ( "drathas reyas".change != 1 ) if ( doonce = 0 ) Disable active_chimney_smoke02_ovis1->Disable active_chimney_smoke02_ovis2->Disable set doonce to 1 endif elseif ( "drathas reyas".change == 1 ) StopScript, VelasCellCheck if ( GetDistance Player <= 750 ) if ( lockout == 0 ) set distancecheck to 1 set lockout to 1 endif endif if ( distancecheck == 1 ) if ( enabled == 0 ) Enable active_chimney_smoke02_ovis1->Enable active_chimney_smoke02_ovis2->Enable PlaySound, steam set enabled to 1 set distancecheck to 2 endif endif if ( enabled == 1 ) set timer to timer + GetSecondsPassed if ( timer >= 2 ) active_chimney_smoke02_ovis1->Disable active_chimney_smoke02_ovis2->Disable if ( lockout == 1 ) ForceGreeting StartCombat Player SetFight 90 SetDisposition 0 set lockout to 2 set enabled to 2 endif endif endif endif if ( OnDeath == 1 ) Journal "MS_Summoner" 1 endif End
157packratbegin packrat short companion if ( getjournalindex MS_BadPets = 110 ) set companion to 1 endif end packrat
158passageScriptBegin passageScript short button short messageOn ; this part gives you your choice on activating the door if ( OnActivate == 1 ) MessageBox "Do you wish to crawl through this space?" "Yes" "No" set messageOn to 1 endif if ( messageOn == 1 ) set button to GetButtonPressed ;resets the variable so you can use the door multiple times if ( button >= 0 ) set messageOn to 0 endif ;should send you through the door normally if ( button == 0 ) Activate ; should just reset the script, allowing you to do it again elseif ( button == 1 ) set button to 0 return endif endif End passageScript
159PlagueAthelynBegin PlagueAthelyn short nolore short doonce if ( GetJournalIndex "MS_CrimsonPlague" < 40 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 40 ) if ( GetDisabled == 1 ) Enable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 70 ) if ( GetDisabled == 0 ) Disable endif endif if ( GetJournalIndex "MS_CrimsonPlague" >= 50 ) if ( doonce == 0 ) removespell "crimson_plague" set doonce to 1 endif endif End PlagueAthelyn
160PlagueHallRat1Begin PlagueHallRat1 short doonce if ( GetJournalIndex "MS_CrimsonPlague" < 30 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_CrimsonPlague" == 30 ) if ( GetDisabled == 1 ) Enable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 60 ) if ( GetDisabled == 0 ) Disable endif endif if ( OnDeath == 1 ) Set PlagueStage to ( PlagueStage + 1 ) endif End
161PlagueHallRat1aBegin PlagueHallRat1a if ( GetJournalIndex "MS_CrimsonPlague" < 30 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_CrimsonPlague" == 30 ) if ( GetDisabled == 1 ) Enable StartCombat "Nerile Andaren" endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 60 ) if ( GetDisabled == 0 ) Disable endif endif if ( OnDeath == 1 ) Set PlagueStage to ( PlagueStage + 1 ) endif End PlagueHallRat1a
162PlagueHallRat2Begin PlagueHallRat2 if ( GetJournalIndex "MS_CrimsonPlague" < 60 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_CrimsonPlague" == 60 ) if ( GetDisabled == 1 ) Enable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 100 ) if ( GetDisabled == 0 ) Disable endif endif End PlagueHallRat2
163PlagueNerileBegin PlagueNerile short nolore short doonce if ( OnDeath == 1 ) if ( GetJournalIndex "MS_CrimsonPlague" >= 10 ) if ( GetJournalIndex "MS_CrimsonPlague" < 170 ) Journal MS_CrimsonPlague 200 endif endif endif if ( GetJournalIndex "MS_CrimsonPlague" == 30 ) if ( doonce == 0 ) StartCombat rat_plague_hall1a set doonce to 1 endif endif endif End PlagueNerile
164PlagueOrdBasementBegin PlagueOrdBasement short knockedout short nolore if ( GetDeadCount "ordinator_mh_tbasement" > 0 ) StopScript PlagueOrdBasement endif if ( GetJournalIndex "MS_CrimsonPlague" < 60 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 60 ) if ( GetDisabled == 1 ) Enable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 160 ) if ( GetDisabled == 0 ) Disable endif endif if ( GetJournalIndex "MS_CrimsonPlague" >= 80 ) if ( knockedout == 0 ) modcurrentfatigue -10000 set knockedout to 1 endif endif if ( GetJournalIndex "MS_CrimsonPlague" >= 105 ) if ( knockedout == 1 ) setfatigue 321 StopScript PlagueOrdBasement endif endif End PlagueOrdBasement
165PlagueOrdHallBegin PlagueOrdHall if ( GetJournalIndex "MS_CrimsonPlague" < 60 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 60 ) if ( GetDisabled == 1 ) Enable endif endif End PlagueOrdHall
166PlagueRat1Begin PlagueRat1 if ( GetJournalIndex "MS_CrimsonPlague" < 10 ) if ( GetDisabled == 0 ) Disable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 10 ) if ( GetDisabled == 1 ) Enable endif elseif ( GetJournalIndex "MS_CrimsonPlague" >= 150 ) if ( GetDisabled == 0 ) Disable endif endif End PlagueRat1
167PlagueRock1Begin PlagueRock1 float timer short initialized short doonce if ( initialized == 0 ) set initialized to 1 set timer to 0 endif if (plaguerock == 1) if ( doonce == 0 ) playloopsound3D "Door Stone Open" set doonce to 1 endif if ( timer < 5 ) MoveWorld x, 20 set timer to ( timer + GetSecondsPassed ) else SetPos X, -1920 StopSound "Door Stone Open" StopScript PlagueRock1 endif endif end PlagueRock1
168PlagueRock2Begin PlagueRock2 short doonce float timer short initialized if ( initialized == 0 ) set initialized to 1 set timer to 0 endif if (plaguerock == 1) if ( doonce == 0 ) playLoopSound3D "Door Stone Open" set doonce to 1 endif if ( timer < 5 ) MoveWorld x, -20 set timer to ( timer + GetSecondspassed ) else SetPos X, -2400 StopSound "Door Stone Open" StopScript PlagueRock2 endif endif end PlagueRock2
169PlagueRock3Begin PlagueRock3 short doonce float timer short active if ( GetJournalIndex MS_CrimsonPlague >= 130 ) if ( MenuMode != 1 ) if ( doonce == 0 ) if ( GetStandingPC == 1 ) set active to 1 set doonce to 1 set timer to 0 endif endif endif endif If ( active == 1 ) if ( timer < 3 ) move z, -10 set timer to ( timer + GetSecondsPassed ) else set active to 2 SetPos Z, -620 set PlagueRock to 1 PlaySound3D "Disarm Trap" Journal MS_CrimsonPlague 140 endif endif End PlagueRock3
170PlagueStartBegin PlagueStart ;note that this is a placeholder script; final script will ;set the var PlagueActivate after several days. float timer short doonce if ( GetLocked == 0 ) if ( doonce == 0 ) if ( OnActivate == 1 ) set PlagueActivate to 1 set doonce to 1 Activate endif endif endif End PlagueStart
171PlagueWarningBegin PlagueWarning short doonce if ( doonce == 0 ) if ( GetDistance Player <= 256 ) MessageBox "A rancid stench nearly overwhelms you. This is not the smell of the dead... there is something else here." set doonce to 1 endif endif End PlagueWarning
172Plague_GednaBegin Plague_Gedna short nolore short level short greetonce short doonce float healthchange float fatiguechange float magickachange if ( MenuMode == 1 ) Return endif if ( GetJournalIndex "MS_CrimsonPlague" == 140 ) if ( doonce == 0 ) set level to player->GetStat Level Set healthchange to ( level * 100 ) set fatiguechange to ( level * 400 ) set magickachange to ( level * 300 ) modhealth, healthchange modhealth, fatiguechange modhealth, magickachange set doonce to 1 endif endif if ( greetonce == 0 ) if ( GetDistance Player <= 512 ) ForceGreeting set greetonce to 1 endif endif if ( OnDeath == 1 ) Journal MS_CrimsonPlague 150 endif End Plague_Gedna
173playScriptBegin playScript short disabled short control float timer short questionAsked short button short door float doortimer if ( MenuMode == 1 ) Return endif if ( GetJournalIndex "MS_Performers" == 30 ) if ( door == 0 ) ;set doortimer to doortimer + GetSecondsPassed ; if ( doortimer <= 1 ) ;"in_MH_door_02_play"->rotate, z, -90 ; else ; set doortimer to 0 "in_MH_door_02_play"->activate set door to 1 ; endif endif if ( disabled == 0 ) if ( GetDistance Player > 100 ) set timer to timer + GetSecondsPassed if ( timer >= 15 ) Journal "MS_Performers" 150 set disabled to 2 set control to 20 set timer to 0 endif elseif ( GetDistance Player <= 100 ) DisablePlayerControls set disabled to 1 set timer to 0 endif endif if ( disabled == 1 ) ;set doortimer to doortimer + GetSecondsPassed ; if ( doortimer <= 1 ) ; "in_MH_door_02_play"->rotate, z, 90 ; else ; set doortimer to 0 set disabled to 2 ; endif endif if ( disabled == 2 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers1.mp3" , "Good evening to you, serjo." endif ;MessageBox "ANARA: Good evening to you, serjo.", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set disabled to 3 set control to 1 set questionAsked to 0 endif endif ;endif endif if ( control == 1 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox "Choose your line", "Good evening. Is your master home?", "Greetings, I'm looking for your husband.", "Hello. I've come to borrow some sugar." set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 0 ) set control to 2 set timer to 0 set questionAsked to 0 elseif ( button > 0 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 2 set timer to 0 set questionAsked to 0 endif ;endif endif elseif ( control == 2 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers2.mp3" , "No, serjo, it's only me here. My master, Sedura Kena Telvanni Hordalf Xyr, is at his winter estate. Is there something I can do for you?" endif ;MessageBox "ANARA: No, serjo, it's only me here. My master, Sedura Kena Telvanni Hordalf Xyr, is at his winter estate. Is there something I can do for you?", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set control to 3 set questionAsked to 0 endif endif ;endif elseif ( control == 3 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox, "Choose your line", "Is there any way you can contact him?", "That's too bad. I'll be on my way then.", "Possibly. Would you mind if I came in?" set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 2 ) set control to 4 set timer to 0 set questionAsked to 0 elseif ( button < 2 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 4 set timer to 0 set questionAsked to 0 endif endif ;endif elseif ( control == 4 ) ; set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers3.mp3" , "Not at all, serjo. Please. May I offer you some flin?" endif ;MessageBox "ANARA: Not at all, serjo. Please. May I offer you some flin?", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set control to 5 set questionAsked to 0 endif endif ;endif elseif ( control == 5 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox, "Choose your line", "Yes, please. What's your name?", "No, thank you. What's your name?", "No, I prefer sujamma." set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 1 ) set control to 6 set timer to 0 set questionAsked to 0 elseif ( button == 0 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 6 set timer to 0 set questionAsked to 0 elseif ( button == 2 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 6 set timer to 0 set questionAsked to 0 endif endif ;endif elseif ( control == 6 ) ; set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers4.mp3" , "Anara, serjo." endif ;MessageBox "ANARA: Anara, serjo.", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set control to 7 set questionAsked to 0 endif endif ;endif elseif ( control == 7 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox, "Choose your line", "Anara. Such a lovely name.", "I don't like that name very much.", "Anara, when did your master leave Scath Anud?" set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 2 ) set control to 8 set timer to 0 set questionAsked to 0 elseif ( button < 2 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 8 set timer to 0 set questionAsked to 0 endif endif ;endif elseif ( control == 8 ) ; set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers5.mp3" , "More than a fortnight ago. That's why it's only me in the castle, serjo. All the other servants and slaves who tend to his lordship travel with him. Is there something wrong?" endif ;MessageBox "ANARA: More than a fortnight ago. That's why it's only me in the castle, serjo. All the other servants and slaves who tend to his lordship travel with him. Is there something wrong?", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set control to 9 set questionAsked to 0 endif endif ;endif elseif ( control == 9 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox, "Choose your line", "Do you know an Ashlander named Sul-Kharifa?", "Do you know an Ashlander named Elu-Radad?", "Do you know an Ashlander named Ashur-Dan?" set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 0 ) set control to 10 set timer to 0 set questionAsked to 0 elseif ( button > 0 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 10 set timer to 0 set questionAsked to 0 endif endif ;endif elseif ( control == 10 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers6.mp3" , "No, serjo. I know no one by that name." endif ;MessageBox "ANARA: No, serjo. I know no one by that name.", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set control to 11 set questionAsked to 0 endif endif ;endif elseif ( control == 11 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox, "Choose your line", "He's dead. He last said �keep� and �Xen.�", "He's dead. He last said �castle� and �Xyr.�", "He's dead. He knew your master." set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 1 ) set control to 12 set timer to 0 set questionAsked to 0 elseif ( button == 0 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 12 set timer to 0 set questionAsked to 0 elseif ( button == 2 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 12 set timer to 0 set questionAsked to 0 endif endif ;endif elseif ( control == 12 ) ; set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers7.mp3" , "B'vek, that's strange. I suppose it's possible that my master knew this man, but being an Ashlander and my master being of the House of Telvanni, well, if you'll pardon me for being flippant, serjo, I don't think they would be friends." endif ;MessageBox "ANARA: B'vek, that's strange. I suppose it's possible that my master knew this man, but being an Ashlander and my master being of the House of Telvanni, well, if you'll pardon me for being flippant, serjo, I don't think they would be friends.", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set control to 13 set questionAsked to 0 endif endif ;endif elseif ( control == 13 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox, "Choose your line", "Could I look in your master's library?", "Do you know where your master went?", "Did your master have any interest in Ashlanders?" set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 0 ) set control to 16 set timer to 0 set questionAsked to 0 elseif ( button > 0 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 16 set timer to 0 set questionAsked to 0 endif endif ;endif elseif ( control == 16 ) ; set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) if ( "gureryne selvilo"->SayDone == 1) "gureryne selvilo"->Say "vo\misc\ms_performers8.mp3" , "Please, serjo, go wherever you want. We have nothing to hide. We're loyal Imperial subjects." endif ;MessageBox "ANARA: Please, serjo, go wherever you want. We have nothing to hide. We're loyal Imperial subjects.", "Ok" set questionAsked to 1 elseif ( questionAsked == 1 ) if ( "gureryne selvilo"->SayDone == 1) ;set button to GetButtonPressed ;if ( button == 0 ) set timer to 0 set control to 17 set questionAsked to 0 endif endif ;endif elseif ( control == 17 ) ;set timer to timer + GetSecondsPassed ;if ( timer >= 3 ) if ( questionAsked == 0 ) MessageBox, "Choose your line", "I don't see how you claim that, being Telvanni.", "No, you're not. You're Telvanni.", "As, I hear, are all Telvanni." set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 2 ) set control to 18 set timer to 0 set questionAsked to 0 EnablePlayerControls set "dravil indrano".attacking to 1 elseif ( button < 2 ) set "meryn othralas".mistakes to 1 PlaySound, "crowd booing" set control to 18 set timer to 0 set questionAsked to 0 EnablePlayerControls set "dravil indrano".attacking to 1 endif endif ;endif endif Return else EnablePlayerControls endif End
174poisonsteambegin poisonsteam short doOnce if ( MenuMode == 1) return endif if doOnce == 0 set doOnce to 1 endif if ( doOnce ==1) if ( GetDistance, player == 500 ) ModHealth -100 endif endif end poisonsteam
175powerboxScriptBegin powerboxScript short messageOn short button short PowerOn if ( PowerOn == 1 ) return endif If ( OnActivate == 1 ) If ( player->GetItemCount misc_dwrv_weather > 0 ) MessageBox "Place the Dwemer Coherer in the Junction Box?" "Yes" "No" set messageOn to 1 endif endif if ( messageOn == 1 ) set button to GetButtonPressed if ( button > 0 ) set messageOn to 0 endif if ( button == 0 ) "misc_dwrv_weather2"->enable Player->RemoveItem misc_dwrv_weather 1 Journal TR_ShowPower 90 set PowerOn to 1 elseif ( button == 1 ) return endif endif End powerboxScript
176profaneScriptBegin profaneScript short doOnce short enableOnce if ( GetDisabled == 0 ) if ( GetJournalIndex TR_ShrineDead < 20 ) Disable endif else if ( GetJournalIndex TR_ShrineDead >= 20 ) if ( enableOnce == 0 ) Enable endif endif endif If ( OnDeath == 1 ) if ( doOnce == 0 ) if ( GetDeadCount lich_profane_unique >= 5 ) Journal TR_ShrineDead 50 Set doOnce to -1 endif endif endif End profaneScript
177projectileMinebegin projectileMine float playerdistance float timer float resettime float myX float myY float myZ float myRotZ short proximity short triggered short dieroll short sneakskill short initialized if ( MenuMode ) return endif if ( initialized == 0 ) set proximity to 700 ;range for mine set resettime to 2 ;time for mine to reset itself set initialized to 1 set myX to GetPos X set myY to GetPos Y set myZ to GetPos Z set myRotZ to GetAngle Z endif if ( triggered == 1 ) set timer to ( timer + GetSecondsPassed ) if ( timer > 4 ) set triggered to 0 set timer to 0 endif return endif set playerdistance to GetDistance "player" if ( playerdistance < proximity ) set triggered to 1 if ( GetPCSneaking == 1 ) set dieroll to ( Random 100 ) set sneakskill to ( player->GetSneak ) if ( dieroll < sneakskill ) return endif endif PlaceItem "trapProjectile" myX myY myZ myRotZ endif End ProximityMine
178proximityMinebegin proximityMine float playerdistance float timer float resettime short proximity short triggered short dieroll short sneakskill short whichspell short initialized if ( MenuMode ) return endif if ( initialized == 0 ) set proximity to 300 ;range for mine set resettime to 4 ;time for mine to reset itself set initialized to 1 endif if ( triggered == 1 ) set timer to ( timer + GetSecondsPassed ) if ( timer > 4 ) set triggered to 0 set timer to 0 endif return endif set playerdistance to GetDistance "player" if ( playerdistance < proximity ) set triggered to 1 if ( GetPCSneaking == 1 ) set dieroll to ( Random 100 ) set sneakskill to ( player->GetSneak ) if ( dieroll < sneakskill ) return endif endif ;must be touch range spells set whichspell to Random 4 if ( whichspell == 0 ) Cast "prox_mine_fire" player elseif (whichspell == 1 ) Cast "prox_mine_frost" player elseif (whichspell == 2 ) Cast "prox_mine_poison" player elseif (whichspell == 3 ) Cast "prox_mine_shock" player elseif (whichspell == 3 ) Cast "prox_mine_life" player endif endif End ProximityMine
179radacScriptBegin radacScript short doOnce if ( GetDisabled == 0 ) if ( GetJournalIndex TR_Blade < 70 ) Disable endif endif if ( GetDisabled == 1 ) if ( GetJournalIndex TR_Blade >= 70 ) Enable endif endif End radacScript
180raiseWaterToOpenbegin raiseWaterToOpen short startheight short heightdiff short initialized if ( initialized == 0 ) set startheight to GetWaterLevel set initialized to 1 endif if ( OnActivate ) set heightdiff to GetWaterLevel set heightdiff to ( heightdiff - startheight ) if ( heightdiff > 10 ) Activate else MessageBox "The crates on this trap door prevent you from opening it." endif endif end
181reeh_jahScriptBegin reeh_jahScript short nolore if ( GetJournalIndex "MV_RunawaySlave" < 10 ) return endif if ( GetJournalIndex "MV_RunawaySlave" >= 105 ) return endif if ( GetCurrentAiPackage != 3 ) return endif if ( OnDeath == 1 ) Journal "MV_RunawaySlave" 90 endif if ( GetJournalIndex "MV_RunawaySlave" >= 20 ) if ( GetJournalIndex "MV_RunawaySlave" < 90 ) if ( GetDistance "Im_Kilaya" <= 512 ) Journal "MV_RunawaySlave" 97 endif if (GetDistance "Savile Imayn" <=512 ) Journal "MV_RunawaySlave" 103 endif endif endif if ( GetDisabled == 1 ) return endif if ( GetJournalIndex "MV_RunawaySlave" >= 105 ) if ( CellChanged == 1 ) disable "reeh_jah" endif endif end
182replenishammoBegin replenishammo short isdead if ( MenuMode ) return endif if ( isdead== 1 ) return endif ;when killed, adds 5 darts to inventory. so player finds 5 plus whatever is left If ( OnDeath == 1 ) additem "centurion_projectile_dart" 5 set isdead to 1 endif ;if 1 dart left in inv, adds 5 more If ( GetItemCount centurion_projectile_dart < 2 ) ;Messagebox "less than 1 left. adding 5 more" additem "centurion_projectile_dart" 5 endif End
183replenishammoShockBegin replenishammoShock short isdead if ( MenuMode ) return endif if ( isdead== 1 ) return endif ;when killed, adds 5 darts to inventory for player to find. so player finds 5 plus whatever is left If ( OnDeath == 1 ) additem "centurion_projectile_dart_shock" 5 set isdead to 1 endif ;if 1 dart left in inv, adds 5 more If ( GetItemCount "centurion_projectile_dart_shock" < 2 ) additem "centurion_projectile_dart_shock" 5 endif End
184rerlasbegin rerlas Short NoLore Short packrats Short rats Short scribs end rerlas
185rockslideBegin rockslide short doOnce short disOnce float timer if (disOnce == 0 ) if ( GetJournalIndex TR_MazedBand >= 20 ) if ( GetDisabled == 0 ) disable set disOnce to 1 Endif Endif Endif If ( GetPCCell "Old Mournhold: Abandoned Crypt" == 1 ) if ( doOnce == 0 ) set timer to timer + GetSecondsPassed if ( timer > 1 ) Playgroup "death1" PlaySound "cavein" Set DoOnce to 1 endif endif Endif End
186SadriDoorBegin SadriDoor if ( GetJournalIndex "MS_Thief" = 40 ) if ( OnActivate == 1 ) Journal MS_Thief 50 ;updates journal when trapdoor is activated Activate endif endif End SadriDoor
187SadriFightBegin SadriFight short nolore short spellcheck short ammogone short nolore short greetonce if ( MenuMode == 1 ) Return endif if ( greetonce == 0 ) if ( GetDistance Player <= 512 ) ForceGreeting set greetonce to 1 endif endif if ( player->GetParalysis > 0 ) set spellcheck to 1 else set spellcheck to 0 endif if ( ammogone == 0 ) if ( spellcheck == 1 ) removeitem "ebony arrow_sadri" 50 removeitem "daedric long bow" 1 set ammogone to 1 elseif ( GetItemCount "ebony arrow_sadri" < 1 ) additem "ebony arrow_sadri" 50 endif endif if ( ammogone == 1 ) if ( spellcheck == 0 ) additem "ebony arrow_sadri" 50 additem "daedric long bow" 1 set ammogone to 0 endif endif if ( OnDeath == 1 ) removeitem "ebony arrow_sadri" 1000 removeitem "daedric long bow" 10 additem "ebony arrow_sadri" 5 additem "daedric long bow" 1 "ordinator_MH_Sadri"->Disable Journal MS_Thief 80 endif End
188SadriTaderaBegin SadriTadera short nolore short doonce if ( GetDeadCount "Tadera Andules" > 0 ) if ( GetJournalIndex "MS_Thief" > 30 ) if ( OnActivate == 1 ) if ( doonce == 0 ) Journal MS_Thief 60 Activate set doonce to 1 endif endif endif endif End SadriTadera
189SadriThiefBegin SadriThief "EX_MH_door_02_sadri"->Lock 90 "ordinator_mh_sadri"->PositionCell 37.592,141.316,-274.898,85.9 "Mournhold, Sadri Manor" "ordinator_mh_sadri"->sethealth 0 "ordinator_mh_sadri"->removeitem "ebony scimitar" 1 "in_MH_wall_01_sadri"->Disable "Golena Sadri"->Disable "Alvan Llarys"->PositionCell 704,1891,250,233.9 "Mournhold, Godsreach" "Tadera Andules"->PositionCell -3203.457,11987.781,340.149,67.1 "Old Mournhold: Residential Sewers" "Tadera Andules"->sethealth 0 StopScript SadriThief End
190SalasDeadBegin SalasDead short nolore if ( OnDeath == 1 ) if ( getjournalindex TR_MissingHand_02 >= 1 ) Journal TR_MissingHand_02 90 ;Salas Valor killed after quest starts else Journal TR_MissingHand_01 90 ;Salas Valor killed before quest starts endif endif end SalasDead
191ScrollSalesBegin ScrollSales short doonce if ( GetJournalIndex "MS_ScrollSales" >= 30 ) if ( "bk_ahnia"->GetDisabled == 1 ) "bk_ahnia"->enable endif endif if ( GetJournalIndex "MS_ScrollSales" == 30 ) if ( "bk_ahnia"->OnActivate == 1 ) Journal MS_ScrollSales 35 Activate endif endif if ( doonce == 0 ) if ( MenuMode != 1 ) if ( GetJournalIndex "MS_ScrollSales" == 35 ) "ahnia"->ForceGreeting set doonce to 1 endif endif endif if ( "Ahnia"->OnDeath == 1 ) Journal MS_ScrollSales 40 endif if ( GetJournalIndex "MS_ScrollSales" == 40 ) StopScript ScrollSales endif End ScrollSales
192Shunari_PlagueBegin Shunari_Plague short nolore short cured short doonce ;for MS_CrimsonPlague ; disable her until she's needed if ( GetJournalIndex "MS_CrimsonPlague" < 80 ) Disable endif if ( GetJournalIndex "MS_CrimsonPlague" == 80 ) if ( GetDisabled == 1 ) Enable endif endif if ( GetJournalIndex "MS_CrimsonPlague" == 170 ) if ( GetDisabled == 0 ) Disable endif endif ;moves her to Temple Gardens after initial meeting ;checks to make sure she's not dead, in case player felt like killing her if ( GetJournalIndex "MS_CrimsonPlague" == 105 ) if ( GetDeadCount "Shunari Eye-Fly" == 0 ) if ( doonce == 0 ) PositionCell 961.706,-2534.809,-25.316,170.9 "Old Mournhold: Temple Gardens" set doonce to 1 endif endif endif ;checks to see if Shunari has common disease if ( GetJournalIndex "MS_CrimsonPlague" >= 100 ) if ( cured == 0 ) if ( GetCommonDisease == 0 ) Journal MS_CrimsonPlague 110 ModDisposition 50 set cured to 1 Return endif endif endif End Shunari_Plague
193SignRotatebegin SignRotate float timer float swingTime float swingSpeed float startAngle DontSaveObject set startAngle to GetStartingAngle, y if ( MenuMode == 1 ) return endif if ( GetDistance, Player > 2000 ) return endif set swingTime to 1 ;set swingSpeed to 30 set timer to ( timer + GetSecondsPassed ) ;rotate forward if ( timer < swingTime ) Rotate y, 2 ;rotate backward elseif ( timer < (swingTime * 3) ) Rotate y, -2 ;forward again elseif ( timer < (swingTime * 4 ) ) Rotate y, 2 ;reset timer back to zero else set timer to 0 ;SetAngle, y, GetStartingAngle, y endif end SignRotate
194SothaHotOilbegin SothaHotOil if ( menumode == 1 ) return endif if ( CellChanged == 0 ) if ( GetSoundPlaying "oil bubbly" == 0 ) PlayLoopSound3DVP "oil bubbly", 1.0, 1.0 endif endif HurtStandingActor, 20.0 ;20 pts of damage a sec end SothaHotOil
195SothaImperfectbegin SothaImperfect ;script on creature short state float timer ;come alive if ( state == 0 ) if ( getdistance, player < 1500 ) set state to 10 playsound "FabBossAlive" act_sotha_fabsteam->PlayGroup Idle2 ;replace with gear bending sound of creature coming alive endif elseif ( state == 10 ) if ( timer < 8 ) set timer to ( timer + getsecondspassed ) else playsound "FabBossRoar" act_sotha_fabsteam->Disable ;replace with sound of imperfect popping up setfight 100 set timer to 0 set state to -1 endif endif endif end
196SothaImperfectDoorbegin SothaImperfectDoor ;door can only be opened after imperfect dies if ( Onactivate == 1 ) if ( getDeadCount "Imperfect" == 0 ) MessageBox "The door does not budge. Not while the Imperfect lives." else activate endif endif end
197SothaLever1begin SothaLever1 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_pre_door6".state == 0 ) ;push anims on to open "act_sotha_pre_door1"->playgroup "idle2" set "act_sotha_pre_door1".state to 1 else ;push anims on to close "act_sotha_pre_door1"->playgroup "idle3" set "act_sotha_pre_door1".state to 0 endif set move to 0 endif end
198SothaLever10begin SothaLever10 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_door10".state == 0 ) ;push anims on to open "act_sotha_door10"->playgroup "idle2" set "act_sotha_door10".state to 1 else ;push anims on to close "act_sotha_door10"->playgroup "idle3" set "act_sotha_door10".state to 0 endif set move to 0 endif end
199SothaLever11begin SothaLever11 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations ;this one, unlike others, moves "act_sotha_door3" short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_door3".state == 0 ) ;push anims on to open "act_sotha_door3"->playgroup "idle2" set "act_sotha_door3".state to 1 else ;push anims on to close "act_sotha_door3"->playgroup "idle3" set "act_sotha_door3".state to 0 endif set move to 0 endif end
200SothaLever2begin SothaLever2 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_pre_door2".state == 0 ) ;push anims on to open "act_sotha_pre_door2"->playgroup "idle2" set "act_sotha_pre_door2".state to 1 else ;push anims on to close "act_sotha_pre_door2"->playgroup "idle3" set "act_sotha_pre_door2".state to 0 endif set move to 0 endif end
201SothaLever3begin SothaLever3 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_pre_door3".state == 0 ) ;push anims on to open "act_sotha_pre_door3"->playgroup "idle2" set "act_sotha_pre_door3".state to 1 else ;push anims on to close "act_sotha_pre_door3"->playgroup "idle3" set "act_sotha_pre_door3".state to 0 endif set move to 0 endif end
202SothaLever4begin SothaLever4 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_pre_door4".state == 0 ) ;push anims on to open "act_sotha_pre_door4"->playgroup "idle2" set "act_sotha_pre_door4".state to 1 else ;push anims on to close "act_sotha_pre_door4"->playgroup "idle3" set "act_sotha_pre_door4".state to 0 endif set move to 0 endif end
203SothaLever5begin SothaLever5 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_pre_door5".state == 0 ) ;push anims on to open "act_sotha_pre_door5"->playgroup "idle2" set "act_sotha_pre_door5".state to 1 else ;push anims on to close "act_sotha_pre_door5"->playgroup "idle3" set "act_sotha_pre_door5".state to 0 endif set move to 0 endif end
204SothaLever6begin SothaLever6 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_pre_door6".state == 0 ) ;push anims on to open "act_sotha_pre_door6"->playgroup "idle2" set "act_sotha_pre_door6".state to 1 else ;push anims on to close "act_sotha_pre_door6"->playgroup "idle3" set "act_sotha_pre_door6".state to 0 endif set move to 0 endif end
205SothaLever8begin SothaLever8 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_pre_door8".state == 0 ) ;push anims on to open "act_sotha_pre_door8"->playgroup "idle2" set "act_sotha_pre_door8".state to 1 else ;push anims on to close "act_sotha_pre_door8"->playgroup "idle3" set "act_sotha_pre_door8".state to 0 endif set move to 0 endif end
206SothaLever9begin SothaLever9 ;each lever gets a script that controls itself, and moves the door based on the door's ;local state (each door has LocalState script on it). ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) set move to 1 endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_door9".state == 0 ) ;push anims on to open "act_sotha_door9"->playgroup "idle2" set "act_sotha_door9".state to 1 else ;push anims on to close "act_sotha_door9"->playgroup "idle3" set "act_sotha_door9".state to 0 endif set move to 0 endif end
207sothalightScriptBegin sothalightScript if ( act_sotha_mach_door1.state == 0 ) if ( act_sotha_red00->GetDisabled == 1 ) act_sotha_red00->Enable endif if ( act_sotha_green00->GetDisabled == 0 ) act_sotha_green00->Disable endif elseif ( act_sotha_mach_door1.state == 1 ) if ( act_sotha_red00->GetDisabled == 0 ) act_sotha_red00->Disable endif if ( act_sotha_green00->GetDisabled == 1 ) act_sotha_green00->Enable endif endif if ( act_sotha_mach_door2.state == 0 ) if ( act_sotha_red10->GetDisabled == 1 ) act_sotha_red10->Enable endif if ( act_sotha_green10->GetDisabled == 0 ) act_sotha_green10->Disable endif elseif ( act_sotha_mach_door2.state == 1 ) if ( act_sotha_red10->GetDisabled == 0 ) act_sotha_red10->Disable endif if ( act_sotha_green10->GetDisabled == 1 ) act_sotha_green10->Enable endif endif End sothalightScript
208SothaOilLeverbegin SothaOilLever ;moves oil bridge, checks state of bridge local state ;sounds should be tagged in animations short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move if ( OnActivate == 1 ) if ( player->getstrength < 100 ) messagebox "The lever is rusted shut. You do not possess the strength to turn it." return else set move to 1 endif endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playsound "LockedDoor" set move to 0 return endif ;animate the bride if ( "act_sotha_oilbridge".state == 0 ) "act_sotha_oilbridge"->playgroup "death1" set "act_sotha_oilbridge".state to 1 endif endif end
209SothaSilTeleportbegin SothaSilTeleport ;global script that teleports the player to sotha sil flooded halls if ( MenuMode == 1 ) return endif playsound "conjuration hit" Player->PositionCell -50, -124, -37, 90, "Sotha Sil, Outer Flooded Halls" ;Journal TR_SothaSil 20 stopscript SothaSilTeleport end
210sothasteam1ScriptBegin sothasteam1Script if ( act_sotha_mach_door1.state == 1 ) if ( GetDisabled == 1 ) Enable PlayGroup Idle2 endif else if ( GetDisabled == 0 ) Disable PlayGroup Idle endif endif End sothasteam1Script
211sothasteam2ScriptBegin sothasteam2Script if ( act_sotha_mach_door2.state == 1 ) if ( GetDisabled == 1 ) Enable PlayGroup Idle2 endif else if ( GetDisabled == 0 ) Disable PlayGroup Idle endif endif End sothasteam2Script
212Sotha_Almabegin Sotha_Alma ;script on Alamexia who appears and talks short state float timer short OnPCHitMe if ( menuMode == 1 ) return endif if ( OnDeath ==1 ) Journal TR_SothaSil 100 endif if ( GetJournalIndex TR_SothaSil >= 70 ) return endif if ( "in_sotha_sil00".state == 0 ) disable "sotha alma appear effect"->disable return endif if ( state < 100 ) if ( OnPCHitMe == 1 ) StopCombat Player set OnPCHitMe to 0 endif endif if ( state == 0 ) if ( GetDistance, Player < 240 ) DisablePlayerControls enable PlaySound "conjuration hit" "sotha alma appear effect"->enable set state to 10 endif elseif ( state == 10 ) if ( timer < 3 ) set timer to ( timer + getsecondspassed ) else "sotha alma appear effect"->disable if ( SayDone == 1) Say "vo\misc\tr_almaend_1.mp3" , "Nerevarine. Here it ends. This Clockwork City was to be your death. You were to be my greatest martyr! The heroic Nerevarine, sacrificing all to protect Morrowind from the mad Sotha Sil. But you live! You live!" endif set timer to 0 SetHealth 3000 set state to 20 endif elseif ( state == 20 ) if ( SayDone == 1) Say "vo\misc\tr_almaend_2.mp3" , " Fear not. I will tell the tale myself when this is done. I will tell my people how with your dying breath you proclaimed your devotion to me, the one true god. Your death will end this prophecy and unite my people again under one god, one faith, one rule by my divine law. The puppet king will lay down his arms and bow to my will. Those who do not yield will be destroyed." SetHealth 3000 set state to 30 endif elseif ( state == 30 ) if ( SayDone == 1) Say "vo\misc\tr_almaend_3.mp3" , "The Mazed Band has allowed me to travel to this place. Here, I slew Sotha Sil. Here, I summoned the Fabricants to attack Mournhold. I will be the savior of my people! I alone will be their salvation!" SetHealth 3001 set state to 40 endif elseif ( state == 40 ) if ( SayDone == 1) if ( GetDeadCount, vivec_god > 0 ) Say "vo\misc\tr_almaend_4a.mp3" , "But I smell the blood of gods on your hands, Nerevarine. Vivec was a fool. I'm sorry I wasn't there to see his death. But Sotha Sil...he always thought himself our better, shunning us, locking himself in this hole. He spoke not a word as he died. Not a whisper. Even in death, he mocked me with his silence! But I think you will scream, mortal. For now, you face the one true god." else Say "vo\misc\tr_almaend_4b.mp3" , "None may stand in my way. Not you, and certainly not Vivec. He is a poet, a fool. I will deal with him when I have finished with you. And Sotha Sil...he always thought himself our better, shunning us, locking himself in this hole. He spoke not a word as he died. Not a whisper. Even in death, he mocked me with his silence! But I think you will scream, mortal. For now, you face the one true god" endif SetHealth 3000 set state to 100 endif else ( state == 100 ) if ( SayDone == 1) if ( timer < 1 ) set timer to ( timer + getsecondspassed ) else EnablePlayerControls SetHealth 3000 setfight 100 set timer to 0 set state to -1 Journal TR_SothaSil 70 endif endif endif end
213sotha_machine1begin sotha_machine1 ;controls act_sotha_monster1 ;this is the main script for the fabricant machine ;it decides if fabricants are made and plays the anims for everything, opens the doors, etc ;sotha_machine2 script controls the second lever and the second door only short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move float timer ;for timing the creature making and such short make ;true when making creature and controlling door #1 float timer2 ;for timing player getting stuck in machine short inside ;for making sure player isn't inside ;****************************************** ; turn lever and open the door ; ;****************************************** if ( OnActivate == 1 ) ;can only move this lever if the second other door is shut and no creature is being made ;otherwise, play sound if ( "act_sotha_mach_door2".state == 0 ) if ( make == 0 ) set move to 1 endif else playsound "LockedDoor" endif endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_mach_door1".state == 0 ) ;push anims on to open "act_sotha_mach_door1"->playgroup "idle2" set "act_sotha_mach_door1".state to 1 else ;push anims on to close "act_sotha_mach_door1"->playgroup "idle3" set "act_sotha_mach_door1".state to 0 endif set move to 0 endif ;****************************************** ; make creatures, open door, etc ; ;****************************************** ;check status of doors and the state of making fabs if ( make == 0 ) if ( "act_sotha_mach_door1".state == 0 ) if ( "act_sotha_mach_door2".state == 0 ) if ( timer > 15 ) ;only makes them every 10 seconds set make to 10 set timer to 0 else set timer to ( timer + GetSecondsPassed ) endif endif endif endif if ( make >= 10 ) ;play the anim and sound if ( make == 10 ) playsound "SothaFabMachine" "act_sotha_powertubes"->loopgroup idle2 6 set make to 20 endif ;open door for creature after 5 secs if ( make == 20 ) if ( timer > 3 ) ;door opens in 3 seconds and creature is made, it is in these 3 seconds you can open other door PlaceItemCell, "fabricant_machine_1", "Sotha Sil, Dome of Serlyn" 4364, 5091, 12541, 190 "act_sotha_mach_door1"->playgroup "idle2" set "act_sotha_mach_door1".state to 1 "act_sotha_powertubes"->playgroup idle set make to 30 set timer to 0 else set timer to ( timer + GetSecondsPassed ) endif endif ;close the door behind the creature and reset if ( make == 30 ) if ( timer > 7 ) ;door closes in 7 seconds ;push anims on to close if ( act_sotha_collide->GetStandingPC == 1 ) set timer2 to 0 set inside to 1 return else set timer2 to ( timer2 + GetSecondsPassed ) if ( timer2 < 5 ) return endif set inside to 0 if ( inside == 0 ) "act_sotha_mach_door1"->playgroup "idle3" set "act_sotha_mach_door1".state to 0 set make to 0 ;can now make again set timer to 0 endif endif else set timer to ( timer + GetSecondsPassed ) endif endif endif end
214sotha_machine2begin sotha_machine2 ;controls act_sotha_monster2 ;script controls the second lever and the second door only ;script sotha_machine1 controls decides if fabricants are made ;and plays the anims for everything, opens the doors, etc short state ;the state of the lever, 0 down, 1 up short move ;tells the lever and door to move ;****************************************** ; turn lever and open the door ; ;****************************************** if ( OnActivate == 1 ) ;can only move this lever if the first door is shut, otherwise, play sound if ( "act_sotha_mach_door1".state == 0 ) set move to 1 else playsound "LockedDoor" endif endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif ;animate the door if ( "act_sotha_mach_door2".state == 0 ) ;push anims on to open "act_sotha_mach_door2"->playgroup "idle2" set "act_sotha_mach_door2".state to 1 else ;push anims on to close "act_sotha_mach_door2"->playgroup "idle3" set "act_sotha_mach_door2".state to 0 endif set move to 0 endif end
215Sotha_SothaSilbegin Sotha_SothaSil short state short doOnce if ( menumode == 1 ) return endif ;this part sets the weather back to normal after endgame if ( GetJournalIndex TR_SothaSil >= 100 ) if ( doOnce == 0 ) ModRegion "Mournhold Region" 25 35 5 20 10 5 0 0 ChangeWeather "Mournhold Region" 1 set doOnce to 1 endif endif ;this part sets up endgame if ( OnActivate == 1 ) if ( state == 0 ) messagebox "You have found the body of Sotha Sil, his lifeless hulk dangling from a contraption of his own making. Someone has obviously been here before you." "Ok" Journal TR_SothaSil 50 set state to 1 endif endif end
216Sound_Dwemer_Fanbegin Sound_Dwemer_Fan if ( CellChanged == 0 ) if ( GetSoundPlaying "Dwemer Fan" == 0 ) PlayLoopSound3DVP "Dwemer Fan", 1.0, 1.0 endif endif end
217Sound_MournEnvbegin Sound_MournEnv if ( CellChanged != 0 ) return endif if ( MournWeather == 7 ) return endif if ( GameHour >= 6 ) if ( GameHour <= 18 ) if ( GetSoundPlaying "MournDayAmb" == 0 ) PlayLoopSound3DVP "MournDayAmb", 1.0, 1.0 endif endif endif if ( GameHour < 6 ) if ( GetSoundPlaying "MournNightAmb" == 0 ) PlayLoopSound3DVP "MournNightAmb", 1.0, 1.0 endif elseif ( GameHour > 18 ) if ( GetSoundPlaying "MournNightAmb" == 0 ) PlayLoopSound3DVP "MournNightAmb", 1.0, 1.0 endif endif end
218Sound_MournFountbegin Sound_MournFount if ( GetDisabled == 0 ) if ( FabAttack == 1 ) disable endif endif if ( FabAttack == 1 ) return endif if ( CellChanged == 0 ) if ( GetSoundPlaying "MournSpray" == 0 ) PlayLoopSound3DVP "MournSpray", 1.0, 1.0 endif endif end
219Sound_MournTempleAmbegin Sound_MournTempleAm if ( CellChanged == 0 ) if ( GetSoundPlaying "MournTempleAmb" == 0 ) PlayLoopSound3DVP "MournTempleAmb", 1.0, 1.0 endif endif end
220Sound_Power_Thrumbegin Sound_Power_Thrum if ( CellChanged == 0 ) if ( GetSoundPlaying "power hummer" == 0 ) PlayLoopSound3DVP "power hummer", 1.0, 1.0 endif endif end
221Sound_Rock_Crumblebegin Sound_Rock_Crumble if ( CellChanged == 0 ) if ( GetSoundPlaying "rock and roll" == 0 ) PlayLoopSound3DVP "rock and roll", 1.0, 1.0 endif endif end
222Sound_SothaAmbientbegin Sound_SothaAmbient if ( CellChanged == 0 ) if ( GetSoundPlaying "SothaAmbient" == 0 ) PlayLoopSound3DVP "SothaAmbient", 1.0, 1.0 endif endif end
223Sound_SothaGearsbegin Sound_SothaGears if ( CellChanged == 0 ) if ( GetSoundPlaying "SothaGear" == 0 ) PlayLoopSound3DVP "SothaGear", 1.0, 1.0 endif endif end
224Sound_SothaLabbegin Sound_SothaLab if ( CellChanged == 0 ) if ( GetSoundPlaying "SothaLab" == 0 ) PlayLoopSound3DVP "SothaLab", 1.0, 1.0 endif endif end
225Sound_SothaRollbegin Sound_SothaRoll if ( CellChanged == 0 ) if ( GetSoundPlaying "SothaBladeRoll" == 0 ) PlayLoopSound3DVP "SothaBladeRoll", 1.0, 1.0 endif endif end
226Sound_SothaSparksbegin Sound_SothaSparks if ( CellChanged == 0 ) if ( GetSoundPlaying "SothaSpark" == 0 ) PlayLoopSound3DVP "SothaSpark", 1.0, 1.0 endif endif end
227Sound_Waterfallbegin Sound_Waterfall if [ CellChanged == 0] if [ GetSoundPlaying "waterfall small" == 0] PlayLoopSound3DVP "waterfall small", 1.0, 1.0 endif endif end
228Sound_Water_breakbegin Sound_Water_break if ( CellChanged == 0 ) if ( GetSoundPlaying "Dwe_Waterfall" == 0 ) PlayLoopSound3DVP "Dwe_Waterfall", 1.0, 1.0 endif endif end
229SpellCastbegin SpellCast short doOnce short istriggered if ( doOnce == 1 ) return endif set istriggered to "shrine_trigger".triggered if ( istriggered > 0 ) cast "fireball" player set istriggered to istriggered - 1 set "shrine_trigger".triggered to istriggered set doOnce to 1 endif end
230tarenEnableScriptbegin tarenEnableScript short enabled short distancecheck if ( enabled == 0 ) if ( GetJournalIndex "MS_Adulterer" < 10 ) "taren andoren"->Disable Return endif if ( GameHour < 22 ) if ( GameHour > 4 ) "taren andoren"->Disable Return endif endif if ( GetDistance Player > 1000 ) set "taren andoren".distancecheck to 1 set distancecheck to 1 else Return endif if ( distancecheck == 1 ) if ( GameHour > 22 ) if ( GameHour < 4 ) "taren andoren"->Enable set enabled to 1 set "taren andoren".enabled to 1 else Return endif else Return endif endif endif End
231tarenScriptbegin tarenScript short walkstate short enabled float walktimer float timer short walked short distancecheck short tooclose short nolore short doonce if ( MenuMode == 1 ) Return endif if ( GetJournalIndex "MS_Adulterer" >= 150 ) disable endif if ( doonce = 0 ) disable set doonce to 1 endif if ( GetJournalIndex "MS_Adulterer" < 1 ) return endif if ( GetJournalIndex "MS_Adulterer" >= 1 ) if ( getdeadcount "velyna seran" >= 1 ) "taren andoren"->ClearForceSneak startcombat player setfight 100 setdisposition 0 set walkstate to 0 endif endif if ( enabled == 0 ) if ( GetJournalIndex "MS_Adulterer" == 10 ) Enable set enabled to 1 endif endif if ( GetAttacked == 1 ) set walkstate to 12 endif if ( OnDeath == 1 ) Journal "MS_Adulterer" 120 endif if ( gethealth < 1 ) return endif if ( enabled == 1 ) if ( GetDistance Player > 500 ) if ( GetDistance Player < 1024 ) set walkstate to 1 set enabled to 2 Journal "MS_Adulterer" 20 endif endif endif if ( tooclose == 0 ) if ( walkstate > 0 ) if ( GetDistance Player <= 500 ) MessageBox, "You're too close! Get farther away before he realizes you're following him!" set tooclose to 1 endif endif endif if ( tooclose == 1 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 5 ) if ( GetDistance Player <= 500 ) set tooclose to 2 ForceGreeting else if ( tooclose < 2 ) MessageBox, "Good, he didn't see you." set timer to 0 set tooclose to 0 endif endif endif endif if ( walked == 2 ) set walktimer to ( walktimer + GetSecondsPassed ) if ( walktimer > 5 ) set walkstate to 8 set walked to 3 endif Return endif if ( walkstate == 1 ) "taren andoren"->ForceSneak "taren andoren"->AiTravel -550, -1581, 218, 0 set walkstate to 2 elseif ( walkstate == 2 ) if ( "taren andoren"->GetAiPackageDone == 1 ) set walkstate to 3 endif elseif ( walkstate == 3 ) "taren andoren"->AiTravel -1462, -2607, 218, 90 set walkstate to 4 elseif ( walkstate == 4 ) if ( "taren andoren"->GetAiPackageDone == 1 ) set walkstate to 5 endif elseif ( walkstate == 5 ) "taren andoren"->AiTravel -1359, -2832, 218, 0 set walkstate to 6 elseif ( walkstate == 6 ) if ( "taren andoren"->GetAiPackageDone == 1 ) set walkstate to 7 endif elseif ( walkstate == 7 ) set walked to 2 Return elseif ( walkstate == 8 ) ; "taren andoren"->AiTravel 1153, -2610, -96, 270 "taren andoren"->AiTravel -866, -3052, 282, 0 set walkstate to 10 elseif ( walkstate == 9 ) if ( "taren andoren"->GetAiPackageDone == 1 ) "taren andoren"->ClearForceSneak "taren andoren"->AiFollow "velyna seran" 0, 0, 0, 0 set walkstate to 0 endif elseif ( walkstate == 10 ) if ( "taren andoren"->GetAiPackageDone == 1 ) ;messagebox "Checking Distance to Player" If ( getdistance player <= 2000 ) Journal "MS_Adulterer" 30 endif "taren andoren"->ClearForceSneak "taren andoren"->AiFollow "velyna seran" 0, 0, 0, 0 set walkstate to 0 endif elseif ( walkstate == 11 ) "taren andoren"->ClearForceSneak "taren andoren"->AiFollow "velyna seran" 0, 0, 0, 0 set walkstate to 0 elseif ( walkstate == 10 ) if ( "taren andoren"->GetAiPackageDone == 1 ) "taren andoren"->ClearForceSneak "taren andoren"->AiFollow "velyna seran" 0, 0, 0, 0 set walkstate to 0 StartCombat Player setfight 100 setdisposition 0 endif endif End
232TestMoveRockBegin TestMoveRock short initialized float timer float startingpos float currentpos short active if ( initialized == 0 ) set startingpos to ( GetPos Z ) set currentpos to ( GetPos Z ) set initialized to 1 endif If ( GetStandingActor == 1 ) set active to 1 playsound "Disarm Trap" endif If ( Active == 1 ) if ( startingpos - currentpos < 30 ) set currentpos to ( currentpos - 3 ) SetPos Z, CurrentPos else SetPos Z, CurrentPos StopScript TestMoveRock endif endif End
233ThendasTravelBegin ThendasTravel short nolore float timer short chance short walkstate if ( walkstate == 0 ) set walkstate to 1 AiTravel 48,340,-110 endif if ( walkstate == 3 ) if ( GetAiPackageDone == 1 ) AiTravel 48,340,-110 ;goes to center set walkstate to 1 endif endif if ( walkstate == 1 ) if ( GetAiPackageDone == 1 ) set chance to Random 4 set timer to 0 set walkstate to 2 endif endif if ( walkstate == 2 ) if ( chance == 3 ) if ( GetAiPackageDone == 1 ) AiTravel 228,223,-110 set timer to ( timer + GetSecondsPassed ) if ( timer > 2 ) set walkstate to 3 endif endif elseif ( chance == 2 ) if ( GetAiPackageDone == 1 ) AiTravel -189,141,-110 set timer to ( timer + GetSecondsPassed ) if ( timer > 2 ) set walkstate to 3 endif endif elseif ( chance == 1 ) if ( GetAiPackageDone == 1 ) AiTravel -139,462,-110 set timer to ( timer + GetSecondsPassed ) if ( timer > 2 ) set walkstate to 3 endif endif elseif ( chance == 0 ) if ( GetAiPackageDone == 1 ) AiTravel 194,489,-110 set timer to ( timer + GetSecondsPassed) if ( timer > 2 ) set walkstate to 3 endif endif endif endif End
234Therdon2ScriptBegin Therdon2Script short giveitem short nolore short doonce short doonceB if ( therdon.change == 1 ) if ( getdeadcount therdon < 1 ) if ( doonce = 0 ) Enable set doonce to 1 endif endif elseif ( doonceB = 0 ) Disable set doonceB to 1 endif End
235TherdonCellCheckBegin TherdonCellCheck if ( CellChanged == 1 ) set therdon.change to 1 StopScript, TherdonCellCheck endif End
236TherdonScriptBegin TherdonScript short change short nolore short doonce if ( doonce = 0 ) if ( change == 1 ) Disable set doonce to 1 Return endif endif End
237ThrudScriptbegin ThrudScript short dilbornDead short nolore short doOnce short doOnceB short doOnceC if ( doonceC = 0 ) if ( GetJournalIndex MS_BarbarianBook = 0 ) if ( GetDeadCount Dilborn >= 1 ) disable set doonceC to 1 endif endif endif if ( OnDeath == 1 ) set dilborn.thrudDead to 1 endif if ( doOnce = 0 ) if ( GetDeadCount "drathas nerus" == 1 ) if ( GetDeadCount "melur savil" == 1 ) if ( GetDeadCount "alam merys" == 1 ) AIWander 0 0 0 0 set doOnce to 1 endif endif endif endif if ( doOnceB = 0 ) if ( GetJournalIndex MS_BarbarianBook > 110 ) if ( CellChanged == 1 ) disable set doOnceB to 1 endif endif endif End
238torch_leverbegin torch_lever short changelevel float direction float waterlift short crankturn short currcrank float newwaterlevel short state short move if ( MenuMode ) return endif if ( OnActivate == 1 ) if ( state == 0 ) ;state 1 is down, state 0 is up playgroup "idle2" ;moves lever down PlaySound "SothaLever" set state to 1 set direction to 1 else MessageBox "Lever is stuck" endif if ( "Black Dart Gilur"->GetHealth > 25 ) "Black Dart Gilur"->SetHealth 25 endif if ( "Black Dart Malar"->GetHealth > 25 ) "Black Dart Malar"->SetHealth 25 endif if ( "Black Dart Urvyn"->GetHealth > 25 ) "Black Dart Urvyn"->SetHealth 25 endif if ( "Black Dart Adren"->GetHealth > 25 ) "Black Dart Adren"->SetHealth 25 endif endif if ( direction == 0 ) return endif set waterlift to 200 * GetSecondsPassed set waterlift to waterlift * direction ModWaterLevel waterlift set newwaterlevel to GetWaterLevel if ( direction == 1 ) if ( newwaterlevel >= 850 ) SetWaterLevel 850 set direction to 0 endif endif end torch_lever
239trapProjScriptbegin trapProjScript short range short initialized short distance short detonate short triggered float targx float targy float targz float shiftx float shifty float shiftz float currshift float currx float curry float currz float totaldist float rate float killtimer if ( MenuMode == 1 ) return endif if ( triggered == 1 ) if ( killtimer < 4 ) set killtimer to ( killtimer + GetSecondsPassed ) else SetDelete 1 endif return endif if ( initialized == 0 ) set initialized to 1 set range to 150 set rate to 600 set targx to ( player->GetPos X ) set targy to ( player->GetPos Y ) set targz to ( player->GetPos Z ) set shiftx to ( targx - GetPos X ) set shifty to ( targy - GetPos Y ) set shiftz to ( targz - GetPos Z ) set totaldist to ( ( shiftx * shiftx ) + ( shifty * shifty ) + ( shiftz * shiftz ) ) set totaldist to GetSquareRoot totaldist if ( totaldist != 0 ) set shiftx to ( shiftx / totaldist ) set shiftx to ( shiftx * rate ) set shifty to ( shifty / totaldist ) set shifty to ( shifty * rate ) set shiftz to ( shiftz / totaldist ) set shiftz to ( shiftz * rate ) else set triggered to 1 return endif endif set distance to GetDistance "player" if ( distance < range ) set detonate to 1 else set currx to GetPos X set curry to GetPos Y set currz to GetPos Z set currshift to ( shiftx * GetSecondsPassed ) set currx to ( currx + currshift ) set currshift to ( shifty * GetSecondsPassed ) set curry to ( curry + currshift ) set currshift to ( shiftz * GetSecondsPassed ) set currz to ( currz + currshift ) if ( shiftx < 0 ) if ( currx < targx ) set detonate to 1 set currx to targx else set detonate to 0 endif else if ( currx > targx ) set detonate to 1 set currx to targx else set detonate to 0 endif endif if ( shifty < 0 ) if ( curry < targy ) set detonate to 1 set curry to targy else set detonate to 0 endif else if ( curry > targy ) set detonate to 1 set curry to targy else set detonate to 0 endif endif if ( shiftz < 0 ) if ( currz < targz ) set detonate to 1 set currz to targz else set detonate to 0 endif else if ( currz > targz ) set detonate to 1 set currz to targz else set detonate to 0 endif endif SetPos X currx SetPos Y curry SetPos Z currz endif if ( detonate == 1 ) ExplodeSpell "proj_trap_spell" set triggered to 1 disable endif end
240treboniusScriptBegin treboniusScript ;if you're both in the Arena ;and if the guildmaster quest is active... ;sets a journal and raises the player's rank ;when trebonius dies. short doOnce short nolore if ( doOnce == 1 ) Return endif if ( GetJournalIndex MG_Guildmaster < 50 ) Return endif if ( GetPCCell "Vivec, Arena" == 0 ) Return endif if ( duelActive == 0 ) Return endif if ( OnDeath == 1 ) Set DuelActive to 0 Set doOnce to 1 PCRaiseRank "Mages Guild" PCRaiseRank "Mages Guild" Journal MG_Guildmaster 100 endif End
241treedeadScriptBegin treedeadScript ;this script removes dead trees when ashstorms not active, activates when active short doOnce if ( GetDisabled == 0 ) if ( MournWeather != 7 ) Disable set doOnce to 0 endif endif ( GetDisabled == 1 ) if ( MournWeather == 7 ) if ( doOnce == 0 ) Enable set doOnce to 1 endif endif endif End treedeadScript
242treeliveScriptBegin treeliveScript ;this script removes dead trees when ashstorms not active, activates when active short doOnce if ( GetDisabled == 0 ) if ( MournWeather == 7 ) Disable set doOnce to 0 endif endif ( GetDisabled == 1 ) if ( MournWeather != 7 ) if ( doOnce == 0 ) Enable set doOnce to 1 endif endif endif End treeliveScript
243TribEndbegin TribEnd ;Goes on disabled version of Azura outside Temple to tell you you've finished expansion. ;enabled when journal TR_SothaSil = 100 ;animated activator that disables controls and does its thing ;sets journal TR_SothaSil == 110 short state float timer short gameState short doOnce if ( menumode == 1 ) return endif if ( state == -1 ) return endif if ( GetJournalIndex c3_DestroyDagoth < 50 ) if ( GetDeadCount vivec_god == 0 ) set gameState to 1 else set gameState to 2 endif elseif ( GetJournalIndex C3_DestroyDagoth == 50 ) if ( GetDeadCount vivec_god == 0 ) set gameState to 3 else set gameState to 4 endif endif if ( state == 30 ) set timer to ( timer + GetSecondsPassed ) if ( timer > 9 ) if ( GetDisabled == 0 ) set timer to 0 Disable set state to 40 endif endif return endif if ( GetDisabled == 0 ) if ( GetJournalIndex TR_SothaSil < 100 ) ;gets set when Almalexia dies disable endif endif if ( GetDisabled == 1 ) if ( GetJournalIndex TR_SothaSil == 100 ) ;gets set when Almalexia dies enable set state to 5 endif endif ;show up ;if ( State == 2 ) ; if ( GetDistance, Player < 800 ) ; PlayGroup, Idle2 ;fading in/appearing ; ;MessageBox "TEST: WITHIN DISTANCE TO APPEAR" ; set state to 5 ; endif ;endif ;wait till pc gets closer if ( state == 5 ) ;wait till player gets close if ( GetDistance, Player < 250 ) DisablePlayerControls PlayGroup, Idle2 ;fading in/appearing ;MessageBox "TEST: WITHIN DISTANCE FOR MOVIE" set state to 10 endif endif ;has appeared, start talking if ( state == 10 ) if ( timer < 3 ) set timer to ( timer + GetSecondsPassed ) return endif Say "Vo\Misc\tr_azuraend1.mp3", "You have done well, mortal. The death of Almalexia is a boon for all of Morrowind, though it may take time for this to be understood. She would have betrayed the Dunmer as surely as she betrayed all those she loved. This was her curse, and this was her undoing. " set timer to 0 ;MessageBox "TEST: PLAY MOVIE" set state to 12 endif if ( state == 12 ) if ( timer < 1 ) set timer to ( timer + GetSecondsPassed ) return endif set timer to 0 if ( SayDone == 1 ) Say "Vo\Misc\tr_azuraend2.mp3", "Weep not for Sotha Sil. He shed his mortality long ago, and I am certain his death was no small relief to him. These gods lived with the burden of a power no mortal was meant to possess." set state to 14 endif endif if ( state == 14 ) if ( timer < 1 ) set timer to ( timer + GetSecondsPassed ) return endif set timer to 0 if ( SayDone == 1 ) if ( gameState == 1 ) Say "Vo\Misc\tr_azuraend3a.mp3", "There is much for you still to do. Vivec lives, and he may yet have a part to play in your future. Continue on your chosen path. The skies of Mournhold are clear once again. Let these people suffer no longer. Now go, mortal. Embrace your destiny, and go with my blessing." set state to 20 elseif ( gameState == 2 ) Say "Vo\Misc\tr_azuraend3b.mp3", "There is much for you still to do. Vivec, is dead, though I thought he might play a part in your future. Continue on your chosen path. The skies of Mournhold are clear once again. Let these people suffer no longer. Now go, mortal.Embrace your destiny, and go with my blessing." set state to 20 elseif ( gameState == 3 ) Say "Vo\Misc\tr_azuraend3c.mp3", "Your work in Morrowind is not finished, Nerevarine. Vivec still lives, but I believe his time grows short. Protect my people. Defend these lands. The skies of Mournhold are clear once again. Let these people suffer no longer. Now go, mortal. Embrace your destiny, and go with my blessing." set state to 20 elseif ( gameState == 4 ) Say "Vo\Misc\tr_azuraend3d.mp3", "Your work in Morrowind is not finished, Nerevarine. The Tribunal are dead, and the faith of my people is shaken. Protect them. Defend these lands. The skies of Mournhold are clear once again. Let these people suffer no longer. Now go, mortal. Embrace your destiny, and go with my blessing." set state to 20 endif endif endif if ( state == 20 ) if ( timer < 1 ) set timer to ( timer + GetSecondsPassed ) return endif if ( SayDone == 1 ) set timer to 0 PlayGroup, Idle, 0 ;play group for disappearing if ( doOnce == 0 ) ModRegion "Mournhold Region" 100 0 0 0 0 0 0 0 ChangeWeather "Mournhold Region" 1 set MournWeather to 0 set doOnce to 1 endif journal TR_SothaSil 110 ;the end EnablePlayerControls set state to 30 set timer to 0 endif endif if ( state == 40 ) if ( timer < 300 ) set timer to ( timer + GetSecondsPassed ) return endif ModRegion "Mournhold Region" 25 35 5 20 10 5 0 0 set state to -1 endif end TribEnd
244TribFabAttackCheckbegin TribFabAttackCheck ;script checks for when the fabricants attack mournhold short startday short state if ( state == -1 ) stopscript TribFabAttackCheck endif if ( FabAttack == 1 ) if ( GetJournalIndex TR_MHAttack < 30 ) if ( GetDeadCount "fabricant_hulkin_attack" >= 4 ) if ( GetDeadCount "fabricant_verm_attack" >= 4 ) journal "tr_mhattack" 30 set MournholdAttack to -1 set state to -1 endif endif endif endif if ( getjournalindex "TR_MazedBand" >= 100 ) if ( startday == 0 ) set startday to day endif else return endif if ( day != startday ) if ( MournholdAttack == 0 ) if ( GetPCCell "Mournhold, Plaza Brindisi Dorom" != 1 ) set FabAttack to 1 set MournholdAttack to 1 endif endif endif end
245TribunalMainBegin TribunalMain short disablestate short newstate ;by default, enable teleport and levitate set newstate to 0 ;only need to check cells in interiors if ( GetInterior ) if ( GetPCCell "Sotha Sil," == 1 ) ;disable teleport and levitate here set newstate to 1 elseif ( GetPCCell "Mournhold" == 1 ) ;disable levitate only here set newstate to 2 endif endif ;if state should change if ( disablestate != newstate ) if ( newstate == 1 ) DisableTeleporting DisableLevitation elseif ( newstate == 2 ) DisableLevitation elseif ( newstate == 0 ) EnableTeleporting EnableLevitation endif set disablestate to newstate endif end
246trigger_spellsbegin trigger_spells short triggered if ( GetDistance "player" < 1000 ) set triggered to 5 endif end
247tr_weathlev1begin tr_weathlev1 ;lever for weather machine, same script on all three levers. short state ;the state of the lever, 0 down, 1 up short move if ( OnActivate == 1 ) if (act_dwe_powerbox00.PowerOn == 0 ) MessageBox "This lever cannot be used until the machine is powered on." else if ( GetJournalIndex TR_SothaSil < 100 ) if ( GetJournalIndex TR_ShowPower >= 100 ) MessageBox "This lever is being held in place by a mysterious force." return endif endif set move to 1 endif endif if ( move == 1 ) ;animate the lever if ( state == 0 ) playgroup "idle2" set state to 1 else playgroup "idle3" set state to 0 endif set "act_dwe_weather00".crankReset to 1 set move to 0 endif end
248tr_weathmachinebegin tr_weathmachine ;MournWeather Global Key ;0 - Normal ;1 - Clear ;2 - Cloudy ;3 - Foggy ;4 - Overcast ;5 - Rainy ;6 - Thunderstorm ;7 - Ashstorm short initialized short crankReset ;this is set from the levers, and when 1 will select a new weather short crankA short crankB short crankC short move ;true when sign should move short clamp float startangle ;the angle from last crank float angle ;the angle the weather sign should rotate to float curangle ; current angle / amount to move while moving if ( initialized == 0 ) set startangle to 280 set angle to startangle set initialized to 1 endif if ( MenuMode == 1 ) return endif set crankA to "act_dwe_lever_a".state set crankB to "act_dwe_lever_b".state set crankC to "act_dwe_lever_c".state if ( crankReset == 1 ) playsound "thunder0" set startangle to GetAngle Z if ( crankA == 0 ) if ( crankB == 0 ) if ( crankC == 0 ) ModRegion "Mournhold Region" 15 30 15 20 10 10 0 0 ChangeWeather "Mournhold Region" 1 set angle to 280 ;;MessageBox "WEATHER SHOULD NOW BE NORMAL" set MournWeather to 0 set crankReset to 0 elseif ( crankC == 1 ) ModRegion "Mournhold Region" 100 0 0 0 0 0 0 0 ChangeWeather "Mournhold Region" 0 set angle to 80 ;;MessageBox "WEATHER SHOULD NOW BE CLEAR" set MournWeather to 1 set crankReset to 0 endif elseif ( crankB == 1 ) if ( crankC == 0 ) ModRegion "Mournhold Region" 0 0 0 0 0 100 0 0 ChangeWeather "Mournhold Region" 5 set angle to 300 ;;MessageBox "WEATHER SHOULD NOW BE THUNDERSTORM" set MournWeather to 6 set crankReset to 0 elseif ( crankC == 1 ) ModRegion "Mournhold Region" 0 100 0 0 0 0 0 0 ChangeWeather "Mournhold Region" 1 set angle to 320 ;;MessageBox "WEATHER SHOULD NOW BE CLOUDY" set MournWeather to 2 set crankReset to 0 endif endif elseif ( crankA == 1 ) if ( crankB == 0 ) if ( crankC == 0 ) ModRegion "Mournhold Region" 0 0 0 0 0 0 100 0 ChangeWeather "Mournhold Region" 6 ;;MessageBox "WEATHER SHOULD NOW BE ASHSTORM" set MournWeather to 7 Journal TR_ShowPower 95 set angle to 0 set crankReset to 0 elseif ( crankC == 1 ) ModRegion "Mournhold Region" 0 0 100 0 0 0 0 0 ChangeWeather "Mournhold Region" 2 set angle to 20 ;;MessageBox "WEATHER SHOULD NOW BE FOGGY" set MournWeather to 3 set crankReset to 0 endif elseif ( crankB == 1 ) if ( crankC == 0 ) ModRegion "Mournhold Region" 0 0 0 0 100 0 0 0 ChangeWeather "Mournhold Region" 4 set angle to 40 ;;MessageBox "WEATHER SHOULD NOW BE RAINY" set MournWeather to 5 set crankReset to 0 elseif ( crankC == 1 ) ModRegion "Mournhold Region" 0 0 0 100 0 0 0 0 ChangeWeather "Mournhold Region" 3 set angle to 60 ;;MessageBox "WEATHER SHOULD NOW BE OVERCAST" set MournWeather to 4 set crankReset to 0 endif endif endif ;determine which direction to rotate in if ( angle > 279 ) if ( startangle < 81 ) set move to -1 else if ( startangle < angle ) set move to 1 else set move to -1 endif endif else if ( startangle > 279 ) set move to 1 else if ( startangle < angle ) set move to 1 else set move to -1 endif endif endif endif ;crankreset check ;************************************************************************ ; ; the weather sign object (BIG) always moves towards the angle it needs ; ;************************************************************************ if ( move == 0 ) ;if not moving, don't run the rest of the code return endif set curangle to ( GetSecondsPassed * 7 ) set curangle to ( curangle * move ) set curangle to ( GetAngle Z + curangle ) if ( curangle >= 360 ) set curangle to curangle - 360 elseif ( curangle < 0 ) set curangle to curangle + 360 endif ;clamp at target and stop movement set clamp to 0 if ( angle == 0 ) if ( move < 0 ) if ( curangle > 350 ) set clamp to 1 endif else if ( curangle < 10 ) set clamp to 1 endif endif else if ( curangle > angle ) set startangle to ( curangle - angle ) else set startangle to ( angle - curangle ) endif ;make sure current and target on same side of 0 if ( startangle < 10 ) if ( move < 0 ) if ( curangle < angle ) set clamp to 1 endif else if ( curangle > angle ) set clamp to 1 endif endif endif endif if ( clamp == 1 ) SetAngle Z angle set move to 0 PlaySound "dwemer door close" else SetAngle Z curangle endif End tr_weathmachine
249VarisDeadBegin VarisDead short nolore if ( MenuMode == 1 ) Return endif if ( OnDeath == 1 ) if ( getjournalindex TR09_Journalist >= 1 ) Journal TR09_Journalist 80 else Journal TR09_Journalist 90 endif endif end VarisDead
250VarninerGhostbegin VarninerGhost short disOnce short enableOnce ;start disabled; place on Variner's ghost if ( GetJournalIndex MS_Blackdart < 1 ) if ( getdisabled == 0 ) disable return endif endif if ( GetJournalIndex MS_BlackDart >= 1 ) if ( getdisabled == 1) if ( enableOnce == 0 ) if ( GetJournalIndex MS_BlackDart < 25 ) enable set enableOnce to 1 endif endif endif endif if ( OnDeath == 1 ) if ( GetJournalIndex MS_BlackDart >= 1 ) if ( GetJournalIndex MS_BlackDart < 25 ) Journal MS_BlackDart_B 1 endif endif endif if (disOnce == 0 ) if ( GetJournalIndex MS_Blackdart >= 25 ) if ( CellChanged == 1 ) if ( GetDisabled == 0 ) disable set disOnce to 1 endif Endif Endif Endif End VarninerGhost
251VelasCellCheckBegin VelasCellCheck if ( CellChanged == 1 ) set "drathas reyas".change to 1 StopScript, VelasCellCheck endif End
252velnyaWalkScriptbegin velnyaWalkScript short walkstate short walked short nolore if ( MenuMode == 1 ) Return endif if ( GetJournalIndex "MS_Adulterer" >= 150 ) disable endif if ( GetJournalIndex "MS_Adulterer" == 0 ) Return endif if ( OnDeath == 1 ) if ( GetJournalIndex "MS_Adulterer" >= 30 ) Journal "MS_Adulterer" 130 endif endif if ( walked == 3 ) Return endif if ( walked == 0 ) if ( "taren andoren".walkstate == 2 ) set walkstate to 1 set walked to 1 endif endif if ( walkstate == 1 ) "velyna seran"->AiTravel 27, -4282, 106, 0 set walkstate to 2 elseif ( walkstate == 2 ) if ( "velyna seran"->GetAiPackageDone == 1 ) set walkstate to 3 endif elseif ( walkstate == 3 ) "velyna seran"->AiTravel -82, -3517, 219, 0 set walkstate to 4 elseif ( walkstate == 4 ) "velyna seran"->AiTravel -800, -3110, 278, 0 set walkstate to 5 elseif ( walkstate == 5 ) "velyna seran"->AiTravel -870, -3067, 278, 0 set walkstate to 6 elseif ( walkstate == 6 ) if ( "velyna seran"->GetAiPackageDone == 1 ) set walkstate to 7 endif elseif ( walkstate == 7 ) "velyna seran"->AiWander 0, 0, 0, 0, 0, 0 set walkstate to 0 set walked to 3 endif End
253VVTransportScriptBegin VVTransportScript if ( MenuMode == 1 ) return endif playsound "conjuration hit" Player->PositionCell 1173.285 613.156 -120.847 0 "Ebonheart, Grand Council Chambers" StopScript VVTransportScript End VVTransportScript
254WarlordOrenBegin WarlordOren short nolore if ( GetJournalIndex "MS_Warlords" > 0 ) if ( GetJournalIndex "MS_Warlords_a" < 35 ) if ( OnDeath == 1 ) Journal MS_Warlords 210 endif endif endif if ( GetJournalIndex "MS_Warlords_a" == 35 ) if ( OnActivate == 1 ) Journal MS_Warlords_a 40 Activate endif endif End WarlordOren
255Warlord_aScriptBegin Warlord_aScript short nolore short daysgoneby short timerday short doonce if ( daysgoneby == 0 ) set timerDay to Day set daysgoneby to 1 endif if ( timerDay != Day ) ;presumably it went up... set daysgoneby to daysgoneby + 1 set timerDay to Day endif if ( doonce == 0 ) if ( GetPCCell "Mournhold, Vacant Manor" == 0 ) if ( daysgoneby == 2 ) "Dovor Oren"->Sethealth 0 "Felvan Ienith"->PositionCell -490.53,800.05,-88.71,90 "Mournhold, Royal Palace: Jail" "Felvan Ienith"->removeitem "ebony war axe_elanande" 1 "Felvan Ienith"->removeitem "extravagant_robe_02_elanande" 1 "Felvan Ienith"->removeitem "steel battle axe" 1 "Olvyne Dobar"->PositionCell -490.53,1020.05,-88.71,90 "Mournhold, Royal Palace: Jail" "Olvyne Dobar"->removeitem "silver_helm_uvenim" 1 "Olvyne Dobar"->removeitem "silver spear_uvenim" 1 "Olvyne Dobar"->removeitem "silver war axe" 1 Journal MS_Warlords_a 35 set doonce to 1 endif endif endif End Warlord_aScript
256waterstate_torchdisablebegin waterstate_torchdisable short initialized short myheight short enablestate if ( initialized == 0 ) set initialized to 1 set myheight to GetPos Z endif if ( GetWaterLevel > myheight ) if ( enablestate != 1 ) Disable set enablestate to 1 endif else if ( enablestate != 2 ) Enable set enablestate to 2 endif endif end
257waterstate_torchenablebegin waterstate_torchenable short initialized short myheight short enablestate if ( initialized == 0 ) set initialized to 1 set myheight to GetPos Z endif if ( GetWaterLevel > myheight ) if ( enablestate != 1 ) Enable set enablestate to 1 endif else if ( enablestate != 2 ) Disable set enablestate to 2 endif endif end
258weatherpowerScriptBegin weatherpowerScript short doOnce if ( act_dwe_powerbox00.PowerOn == 1 ) if ( OnActivate == 1 ) MessageBox "The Dwemer Coherer may not be removed from the Power Box." endif endif if ( act_dwe_powerbox00.PowerOn == 0 ) if ( doOnce == 0 ) Disable set doOnce to 1 endif endif End weatherpowerScript
259weatherScriptBegin weatherScript short crankReset short crankA short crankB short crankC ;crankReset, crankA, crankB, crankC was originally a global variable, and will have to be again. made it a short here to allow script to compile ;modRegion commented out b/c region does not exist until it is created for Mournhold if ( crankReset == 0 ) return endif if ( crankA == 0 ) if ( crankB == 0 ) if ( crankC == 0 ) ;ModRegion "Weather Machine" 0 100 0 0 0 0 0 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE CLOUDY" set crankReset to 0 elseif ( crankC == 1 ) ;ModRegion "Weather Machine" 100 0 0 0 0 0 0 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE CLEAR" set crankReset to 0 endif elseif ( crankB == 1 ) if ( crankC == 0 ) ;ModRegion "Weather Machine" 0 0 0 0 0 100 0 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE THUNDERSTORM" set crankReset to 0 elseif ( crankC == 1 ) ;ModRegion "Weather Machine" 15 30 15 20 10 10 0 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE NORMAL" set crankReset to 0 endif endif elseif ( crankA == 1 ) if ( crankB == 0 ) if ( crankC == 0 ) ;ModRegion "Weather Machine" 0 0 0 0 0 0 100 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE ASHSTORM" set crankReset to 0 elseif ( crankC == 1 ) ;ModRegion "Weather Machine" 0 0 100 0 0 0 0 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE FOGGY" set crankReset to 0 endif elseif ( crankB == 1 ) if ( crankC == 0 ) ;ModRegion "Weather Machine" 0 0 0 0 100 0 0 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE RAINY" set crankReset to 0 elseif ( crankC == 1 ) ;ModRegion "Weather Machine" 0 0 0 100 0 0 0 0 MessageBox "WEATHER IN BALMORA SHOULD NOW BE OVERCAST" set crankReset to 0 endif endif endif End weatherScript
260WritAlenBegin WritAlen ; log a journal entry for a successful 'hit' on Bedal Alen short CL1 short CL2 short nolore if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex TR08_Hlaalu >= 70 ) ; ... and if the player has a writ for us... set CL2 to GetPCCrimeLevel if ( CL2 > CL1 ) ; ... append a journal entry if the execution is seen ... Journal TR08_Hlaalu_Alen_A 1 else ; ... append a journal entry if the execution is NOT seen ... Journal TR08_Hlaalu_Alen_A 5 endif endif endif End
261WritBeranoBegin WritBerano ; log a journal entry for a successful 'hit' on Forven Berano short CL1 short CL2 short nolore if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex TR08_Hlaalu >= 70 ) ; ... and if the player has a writ for us... set CL2 to GetPCCrimeLevel if ( CL2 > CL1 ) ; ... append a journal entry if the execution is seen ... Journal TR08_Hlaalu_Berano_A 1 else ; ... append a journal entry if the execution is NOT seen ... Journal TR08_Hlaalu_Berano_A 5 endif endif endif End
262WritHloggarBegin WritHloggar ; log a journal entry for a successful 'hit' on Hloggar the Bloody short CL1 short CL2 short nolore if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex TR08_Hlaalu >= 70 ) ; ... and if the player has a writ for us... set CL2 to GetPCCrimeLevel if ( CL2 > CL1 ) ; ... append a journal entry if the execution is seen ... Journal TR08_Hlaalu_Hloggar_A 1 else ; ... append a journal entry if the execution is NOT seen ... Journal TR08_Hlaalu_Hloggar_A 5 endif endif endif End
263yarnarScriptBegin yarnarScript short doOnce if ( doOnce == 0 ) if ( OnDeath == 1 ) Journal TR_KillGoblins 58 set doOnce to 1 endif endif End yarnarScript


Incendar.com , Incendar, Incendar Gaming, Incendar Coding, Incendium, Incendara, Incendario, Mincendar © Incendar 2004-2019 RSS Feed
Fallout 76 TESV Skyrim Fallout 4 Fallout New Vegas © 2019 Bethesda
Sitemap