Trending Games
Release Countdowns
Florida Man Death Clocks Funko PoP!


08-26 Mob dB 4 more Realms Monday: INCENDIUS


The Elder Scrolls III: Morrowind Game of the Year Edition



632 Results
For SCPT:SCTX

NumberEDIDText
1CharGen;global character generation script begin CharGen ;short CharGenState is a global ; 1 = start ; -1 = all done. Set from CharGenDoorExitCaptain. Can save game after that is set DisablePlayerControls DisablePlayerJumping DisablePlayerViewSwitch DisableVanityMode DisablePlayerFighting DisablePlayerMagic Player->PositionCell 61,-135, 24, 340, "Imperial Prison Ship" ChangeWeather "Bitter Coast Region" 1 ;sets beginning weather to cloudy, looks nicer set CharGenState to 10 stopscript CharGen end CharGen
2AbebaalAttackBegin AbebaalAttack ;makes all slaves in Abebaal attack at once ;easier than making them all follow one another, etc. "seen-rei"->StartCombat Player "dan_ru"->StartCombat Player "eleedal_lei"->StartCombat Player "ahnarra"->StartCombat Player "dro'zah"->StartCombat Player "j'dato"->StartCombat Player StopScript AbebaalAttack End
3abebaalSlavesBegin abebaalSlaves ;Slave Status... each slave has a status as follows ;0 = Owned ( default state... does not indicate who they are owned by ) ;1 = For Sale ( someone in the game can "sell" this slave via dialogue ) ;2 = Owned By the Player ( the player has purchased this slave and the slave follows the player ) ;3 = Freed ( the player has freed this slave, the slave eventually disables himself) ;dead = not in slave status, but a state one should check for ;special conditions for slaves in Abebaal, see HT_SlaveRebellion short slaveStatus short doOnce short NoLore if ( CellChanged == 0 ) return endif if ( GetJournalIndex HT_SlaveRebellion >= 50 ) if ( GetItemCount Slave_Bracer_Left > 0 ) Drop Slave_Bracer_Left 1 endif if ( GetItemCount Slave_Bracer_Right > 0 ) Drop Slave_Bracer_Right 1 endif endif if ( GetJournalIndex HT_SlaveRebellion >= 100 ) Disable endif End
4AhemmusaKillbegin AhemmusaKill if ( OnDeath == 1 ) Journal B2_AhemmusaKill 1 endif end
5ahnassiScriptbegin ahnassiScript short localdaysPassed short currentDay short nolore if ( GetDisabled == 1 ) Return endif if ( GetJournalIndex Romance_Ahnassi == 33 ) Disable Return endif if ( currentDay != Day ) set currentDay to Day set localdaysPassed to localdaysPassed + 1 endif End ahnassiScript
6ajiraReportsBegin ajiraReports short doOnce if ( doOnce > 1 ) Return endif if ( doOnce == 1 ) if ( GetJournalIndex MG_StolenReport > 0 ) Set doOnce to 2 Enable endif Return endif if ( doOnce == 0 ) Set doOnce to 1 Disable endif End
7ajiraScriptBegin ajiraScript short doOnce short gemInDesk short NoLore if ( CellChanged == 0 ) Return endif if ( doOnce == 0 ) if ( GetJournalIndex MG_Flowers >= 100 ) Set doOnce to 1 Return endif endif if ( doOnce == 1 ) if ( GetJournalIndex MG_StolenReport >= 100 ) RaiseRank Set doOnce to 2 endif endif End
8Akula_doorsbegin Akula_doors float timer short start if ( MenuMode == 1 ) return ;don't run time in Menu Mode. Very bad. endif if ( OnActivate == 1) if ( start == 0 ) set start to 1 endif return ;when activated, we want to start movement on the next frame... endif if ( start == 0 ) return ;if we have't started, stop here for speed endif if ( timer < 9 ) Rotate X 20 ;above line rotates the crank itself Akula_door00->Rotate Z -10 Akula_door01->Rotate Z 10 ;above two lines open the doors. ;you may need to adjust the times or the rotate value. ;right now they open over 9 seconds to about 100 degrees. endif if ( timer > 20 ) Akula_door00->Rotate Z 10 Akula_door01->Rotate Z -10 ;these lines close the doors 20 seconds after you activate ;or 11 seconds after the doors are fully open endif if ( timer > 29 ) set start to 0 set timer to 0 ;after 9 more seconds, the doors are back to their original position ;reset timer and start endif set timer to ( timer + GetSecondsPassed ) ;above line increments the timer... should be last here outside if ;statements ;otherwise bad things can happen end Akula_doors
9Akula_innerdoorsbegin Akula_innerdoors float timer short start if ( MenuMode == 1 ) return ;don't run time in Menu Mode. Very bad. endif if ( OnActivate == 1) if ( start == 0 ) PlaySound "Dwemer Door Open" set start to 1 endif return ;when activated, we want to start movement on the next frame... endif if ( start == 0 ) return ;if we have't started, stop here for speed endif if ( timer < 9 ) Rotate X 20 ;above line rotates the crank itself if ( timer > 1 ) if ( start == 1 ) PlaySound "Door Stone Open" Set start to 2 endif endif Akula_door00->Rotate Z -10 Akula_door01->Rotate Z 10 ;above two lines open the doors. ;you may need to adjust the times or the rotate value. ;right now they open over 9 seconds to about 100 degrees. endif if ( timer > 20 ) if ( start == 2 ) PlaySound "Door Stone Open" Set start to 3 endif Akula_door00->Rotate Z 10 Akula_door01->Rotate Z -10 ;these lines close the doors 20 seconds after you activate ;or 11 seconds after the doors are fully open endif if ( timer > 29 ) set start to 0 set timer to 0 Akula_door00->SetAngle Z 90 Akula_door01->SetAngle Z 180 ;after 9 more seconds, the doors are back to their original position ;reset timer and start endif set timer to ( timer + GetSecondsPassed ) ;above line increments the timer... should be last here outside if ;statements ;otherwise bad things can happen end Akula_innerdoors
10Akula_outerdoorsbegin Akula_outerdoors float timer short start if ( MenuMode == 1 ) return ;don't run time in Menu Mode. Very bad. endif if ( OnActivate == 1) if ( start == 0 ) set start to 1 endif return ;when activated, we want to start movement on the next frame... endif if ( start == 0 ) return ;if we have't started, stop here for speed endif if ( timer < 9 ) Rotate X 20 ;above line rotates the crank itself "akula door B"->Rotate Z -10 "akula door A"->Rotate Z 10 ;above two lines open the doors. ;you may need to adjust the times or the rotate value. ;right now they open over 9 seconds to about 100 degrees. endif if ( timer > 20 ) "akula door B"->Rotate Z 10 "akula door A"->Rotate Z -10 ;these lines close the doors 20 seconds after you activate ;or 11 seconds after the doors are fully open endif if ( timer > 29 ) set start to 0 set timer to 0 "akula door B"->SetAngle Z 0 "akula door A"->SetAngle Z 0 ;after 9 more seconds, the doors are back to their original position ;reset timer and start endif set timer to ( timer + GetSecondsPassed ) ;above line increments the timer... should be last here outside if ;statements ;otherwise bad things can happen end Akula_outerdoors
11All_Hortatorbegin All_Hortator if ( GetJournalIndex B5_RedoranHort >= 50 ) if ( GetJournalIndex B6_HlaaluHort >= 50 ) if ( GetJournalIndex B7_TelvanniHort >= 50 ) Journal B8_All_Hortator 50 StopScript All_Hortator endif endif endif end All_Hortator
12All_Nerevarinebegin All_Nerevarine if ( GetJournalIndex B1_UnifyUrshilaku >= 50 ) if ( GetJournalIndex B2_AhemmusaSafe >= 50 ) if ( GetJournalIndex B3_ZainabBride >= 50 ) if ( GetJournalIndex B4_KillWarLovers >= 50 ) Journal B8_All_Nerevarine 50 StopScript All_Nerevarine endif endif endif endif end All_Nerevarine
13alvisTeriScriptBegin alvisTeriScript short noLore short OnPCHitMe if ( OnMurder == 1 ) Set Neminda.murderedAlvisTeri to 1 endif if ( CellChanged == 1 ) if ( GetJournalIndex HR_FoundersHelm > 0 ) if ( GetJournalIndex HR_FoundersHelm < 100 ) ;to avoid free murder if that is still a bug SetFight 50 SetDisposition 30 StopCombat Set noLore to 0 endif else Set noLore to 1 endif endif if ( OnPCHitMe == 1 ) "meril hlaano"->StopCombat "meril hlaano"->SetFight 30 "traven marvos"->StopCombat "traven marvos"->SetFight 30 "dulnea ralaal"->StopCombat "dulnea ralaal"->SetFight 30 "dulnea ralaal"->SetDisposition 30 if ( "itermerel"->GetDisabled == 0 ) ;justin case "itermerel"->StopCombat "Itermerel"->SetFight 30 endif if ( GetTarget Player == 0 ) StartCombat Player endif Set OnPCHitMe to 0 endif End
14AmayaJournalbegin AmayaJournal short done if ( done == 1 ) return endif if ( onactivate == 1 ) Journal "A2_4_MiloGone" 10 set done to 1 activate endif end
15amuletAundaeScriptBegin amuletAundaeScript 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 ) if ( VampClan == 1 ) if ( PCVampire == 1 ) Set OnPCEquip to 0 MessageBox "Would you like to return to Ashmelech?" "Yes" "No" set messageOn to 1 endif endif endif endif if ( messageOn == 1) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif if ( button == 0 ) Player->PositionCell, 2816.406, 7016.756, 4306.963, 180, "Ashmelech" set reset to 1 elseif ( button == 1 ) set reset to 1 return endif endif End
16amuletBerneScriptBegin amuletBerneScript 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 ) if ( VampClan == 2 ) if ( PCVampire == 1 ) Set OnPCEquip to 0 MessageBox "Would you like to return to Galom Daeus?" "Yes" "No" set messageOn to 1 endif endif endif endif if ( messageOn == 1) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif if ( button == 0 ) Player->PositionCell, -732.552, 5502.982, 12304, 85.9, "Galom Daeus, Entry" set reset to 1 elseif ( button == 1 ) set reset to 1 return endif endif End
17amuletDaedraScriptBegin amuletDaedraScript short button short messageOn short reset short OnPcEquip short doneonce ;if ( MenuMode == 1 ) ; Return ;endif if ( doneonce == -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 "Would you like to travel to Magas Volar?" "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 ) Player->PositionCell, 4003, 4510, 13299, 180, "Magas Volar" set doneonce to -1 set reset to 1 elseif ( button == 1 ) set reset to 1 return endif endif End
18amuletQuarraScriptBegin amuletQuarraScript 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 ) if ( VampClan == 3 ) if ( PCVampire == 1 ) Set OnPCEquip to 0 MessageBox "Would you like to return to Druscashti?" "Yes" "No" set messageOn to 1 endif endif endif endif if ( messageOn == 1) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif if ( button == 0 ) Player->PositionCell, 2077.101, -785.586, -752, 270, "Druscashti, Upper Level" set reset to 1 elseif ( button == 1 ) set reset to 1 return endif endif End
19amuletTelFyrScriptBegin amuletTelFyrScript short button short messageOn short reset short OnPcEquip short doOnce ;if ( MenuMode == 1 ) ; Return ;endif if ( doOnce == -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 "Would you like to travel to Tel Fyr?" "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 ) Player->PositionCell, 4168, 4732, 14902, 0, "Tower of Tel Fyr, Hall of Fyr" set reset to 1 set doOnce to -1 elseif ( button == 1 ) set reset to 1 return endif endif End
20anoScriptBegin anoScript short doonce short nolore short greetonce if ( MenuMode == 1 ) Return endif if ( doonce == -1 ) return endif if ( PCVampire != 1 ) return endif If ( PCVampire == 1 ) If ( GetDistance Player <= 256 ) if ( greetonce == 0 ) ForceGreeting set greetonce to -1 endif endif endif if ( GetJournalIndex "VA_VampHunter" >= 20 ) if ( GetJournalIndex "VA_VampHunter" < 60 ) if ( OnDeath == 1 ) if ( GameHour >= 9 ) if ( GameHour <= 17 ) Journal "VA_VampHunter" 70 set doonce to -1 endif endif endif endif endif if ( GetJournalIndex "VA_VampHunter" >= 20 ) if ( GetJournalIndex "VA_VampHunter" < 60 ) if ( OnDeath == 1 ) if ( GameHour < 9 ) Journal "VA_VampHunter" 60 set doonce to -1 endif endif endif endif if ( GetJournalIndex "VA_VampHunter" >= 20 ) if ( GetJournalIndex "VA_VampHunter" < 60 ) if ( OnDeath == 1 ) if ( GameHour > 17 ) Journal "VA_VampHunter" 60 set doonce to -1 endif endif endif endif end anoScript
21araraUvulasScriptBegin araraUvulasScript short noLore if ( CellChanged == 0 ) return endif if ( GetDeadCount "Neloth" > 0 ) Disable endif End
22arethanMandasScriptBegin arethanMandasScript ;can't be insane if you have LORE short noLore End
23Arkn_doorsbegin Arkn_doors float timer short start if ( MenuMode == 1 ) return ;don't run time in Menu Mode. Very bad. endif if ( OnActivate == 1) if ( start == 0 ) set start to 1 Playsound "Dwemer Door Open" endif return ;when activated, we want to start movement on the next frame... endif if ( start == 0 ) return ;if we have't started, stop here for speed endif if ( timer < 9 ) if ( timer > 1 ) if ( start == 1 ) PlaySound "Door Stone Open" Set start to 2 endif endif Rotate X 20 ;above line rotates the crank itself Arkn_door00->Rotate Z -10 Arkn_door01->Rotate Z 10 ;above two lines open the doors. ;you may need to adjust the times or the rotate value. ;right now they open over 9 seconds to about 100 degrees. endif if ( timer > 14 ) if ( start == 2 ) PlaySound "Door Stone Open" Set start to 3 endif Arkn_door00->Rotate Z 10 Arkn_door01->Rotate Z -10 ;these lines close the doors 14 seconds after you activate ;or 5 seconds after the doors are fully open endif if ( timer > 23 ) set start to 0 set timer to 0 Arkn_door00->SetAngle Z 90 Arkn_door01->SetAngle Z 180 ;after 9 more seconds, the doors are back to their original position ;reset timer and start endif set timer to ( timer + GetSecondsPassed ) ;above line increments the timer... should be last here outside if ;statements ;otherwise bad things can happen end Arkn_doors
24aryonScriptbegin aryonScript ;because he should have NO "lore" short noLore ;local to set for HT_Monopoly short mageMonopolyVote ;local to check if PC has learned all the Wizard Spells... short learnedWizardSpells ;if you kill him... if ( OnDeath == 1 ) Set TelvanniDead to ( TelvanniDead + 1 ) "crate_01_telvos1"->AddItem "hortatorrobe" 1 endif End
25ashamanuScriptBegin ashamanuScript ; Ashamanu will activate on Journal Index 20 if ( GetDisabled != 1 ) if ( GetJournalIndex "MS_WhiteGuar" >= 70 ) Disable endif endif if ( GetDisabled == 1 ) if ( GetJournalIndex MS_WhiteGuar >= 20 ) Enable endif endif ; Ashamanu will give journal entry 60 when player is near if ( GetDisabled != 1 ) if ( GetDistance Player <= 256 ) if ( GetDistance "guar_white_unique" <= 256 ) if ( GetJournalIndex "MS_WhiteGuar" <= 50 ) Journal "MS_WhiteGuar" 60 endif endif endif endif if ( GetDisabled != 1 ) if ( GetDistance Player <= 256 ) if ( GetJournalIndex "MS_WhiteGuar" <= 50 ) Journal "MS_WhiteGuar" 65 endif endif endif End
26ashStatueTopicbegin ashStatueTopic if ( OnActivate == 1 ) AddTopic "Ash Statue" Activate endif end ashStatueTopic
27ashvampirebegin ashvampire ;on each ash vampire; when each ash vampire dies, Dagoth Ur is weakened ;based on Dagoth Ur base stats: Strength, Willpower, Speed = 100; ;Health, Fatigue = 1000 ;Magica = 5000 ;when Dagoth-Ur dies, the ashvampires also die if ( GetJournalIndex c3_DestroyDagoth >= 50 ) if ( GetHealth > 0 ) SetHealth 0 endif Return endif if ( OnDeath == 0 ) Return endif "dagoth_ur_1"->modStrength -5 "dagoth_ur_2"->modStrength -5 "dagoth_ur_1"->modWillpower -5 "dagoth_ur_2"->modWillpower -5 "dagoth_ur_1"->modSpeed -5 "dagoth_ur_2"->modSpeed -5 "dagoth_ur_1"->modHealth -50 "dagoth_ur_2"->modHealth -50 "dagoth_ur_1"->modFatigue -50 "dagoth_ur_2"->modFatigue -50 "dagoth_ur_1"->modMagicka -250 "dagoth_ur_2"->modMagicka -250 End ashvampire
28assabaScriptBegin assabaScript short noLore short followNow short distanceCheck float timer ;global NPCVoiceDistance short xPos short yPos if ( MenuMode == 1 ) return endif if ( OnDeath == 1 ) Journal B4_ErabenimsunKill 1 endif if ( GetJournalIndex IL_RescueHermit >= 30 ) return endif if ( GetJournalIndex IL_RescueHermit < 25 ) return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;original conditions, and in case something funky happens... Journal IL_RescueHermit 30 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\M\Flw_DM004.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif Set xPos to GetPos X Set yPos to GetPos Y if ( xPos > 84700 ) if ( xPos < 83700 ) if ( yPos < -3200 ) if ( yPos > -4000 ) ;since the above method may not actually work... Journal IL_RescueHermit 30 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\M\Flw_DM004.mp3" "Thank you." SetHello 30 endif endif endif 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\D\M\Flw_DM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
29assantusScriptbegin assantusScript if ( GetDisabled == 1 ) return endif if ( GetJournalIndex TT_MinistryHeathen >= 50 ) return endif if ( GetCommonDisease == 0 ) say, "vo\d\m\Flw_DM004.mp3", "Thank you." Journal TT_MinistryHeathen 50 endif end
30athynSarethiScriptbegin athynSarethiScript ;0 = not done, 1 = won duel 2 = murdered Ondres Nerano short duelOndresNerano ;to avoid early Bralen Carvaren quest short varvurMoved ;what all Redoran Councilors have ;vote for Mages Guild monopoly HT_Monopoly short mageMonopolyVote short noLore ;for Hortator dialogue... if ( OnDeath == 1 ) if ( OnMurder == 1 ) Set RedoranMurdered to 2 else Set RedoranMurdered to 1 endif endif end
31atronachMountKandBegin atronachMountKand ;makes them stop attacking you if they're fighting you if you leave if ( CellChanged == 0 ) Return endif SetFight 0 StopCombat End
32attack_slaveBegin attack_slave short nolore If ( GetDeadCount "Vorar Helas" > 0 ) return endif if ( GetJournalIndex "MV_SlaveMule" < 102 ) If ( GetDistance, "Rabinna" < 512 ) Rabinna->AiWander 0 0 0 0 0 0 0 StartCombat, "Rabinna" Journal "MV_SlaveMule", 102 endif endif End
33avSlavehunterBegin avSlavehunter float timer ;used in dialogue, set from J'Saddha's script short followNow ;used for telling them where J'Saddha is ;0 = not done yet, 1 = told them something, -1 = they know you're a liar short toldSlavehunter if ( CellChanged == 1 ) if ( GetJournalIndex HH_TwinLamps1 > 0 ) if ( GetJournalIndex HH_TwinLamps1 < 100 ) Enable Return endif endif Disable Return endif if ( timer == -1 ) Return endif if ( timer < 2 ) Set timer to ( timer + GetSecondsPassed ) Return endif Set timer to 0 if ( GetDistance "j_saddha" < 1024 ) if ( GetDetected "j_saddha" == 1 ) StartCombat "j_saddha" Set counter to -1 endif endif End
34AzuraEndbegin 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 ;MessageBox "TEST: GET RING" EnablePlayerControls set state to -1 set timer to 0 endif end AzuraEnd
35AzurasStarScriptbegin AzurasStarScript ;this is for Azura's Star. A never ending soulgem item. Mucho good. Kids love it. short OnPCSoulGemUse ;they use it, so give them a new one if ( OnPCSoulGemUse == 1 ) Player->additem, "Misc_soulgem_Azura" 1 endif end
36baladasCenturionBegin baladasCenturion ;makes the centurion pop out of Arvs Drelen ;because of Velothi collision issues short state if ( state == -1 ) ;we've already popped to the new cell... return endif if ( GetDeadCount "centurion_shock_baladas" > 0 ) ;if we are dead, stop return endif if ( GetJournalIndex HT_DahrkMezalf < 10 ) ;if quest has not yet started, stop return endif if ( CellChanged == 0 ) ;only pop on cellchange return endif if ( GetJournalIndex HT_DahrkMezalf < 100 ) PositionCell -87017 95351 1226 283 "Gnisis" Disable endif if ( GetJournalIndex HT_DahrkMezalf >= 100 ) AiFollow Player 0 0 0 0 Set state to -1 Enable endif End
37balynScriptBegin balynScript float timer short doOnce if ( GetJournalIndex "DA_Mephala" < 40 ) Return endif if ( GetJournalIndex DA_Mephala >= 60 ) Return endif Set timer to ( timer + GetSecondsPassed ) if ( timer < 5 ) Return endif Set timer to 0 if ( doOnce == 0 ) if ( GetDistance Player <= 1024 ) if ( player->GetDistance "hlaalu_loaddoor_ 02_balyn" <=256 ) if ( GetLOS Player == 1 ) ForceGreeting Journal DA_Mephala 55 set doOnce to -1 endif endif endif endif End
38bandenIndarysScriptBegin bandenIndarysScript if ( CellChanged == 0 ) Return endif if ( GetPCRank "Redoran" == -1 ) Enable else Disable endif End
39BarDoorbegin BarDoor float timer short On short Open if (MenuMode == 0) if (OnActivate == 1) if (On == 0) set timer to 0 set On to 1 PlaySound3D, "Door Creaky Open" endif endif if (On == 1) set timer to timer + GetSecondsPassed if (Open == 0) if (timer < 1) rotate x, 110 elseif (timer >= 1) set On to 0 set Open to 1 endif elseif (Open == 1) if (timer < 1) rotate x, -110 elseif (timer >= 1) SetatStart set On to 0 set Open to 0 endif endif endif endif end ; BarDoor
40barenAlenScriptBegin barenAlenScript ;for HH_BankFraud short givenOrders ;for HH_ReplaceDocs short givenDocuments ;checks to see if he still has a land deed short hasLandDeed if ( GetItemCount "bk_stronghold_ld_hlaalu" > 0 ) Set hasLandDeed to 1 endif End
41Bed_Standardbegin Bed_Standard ;used for standard beds the player can activate and sleep in if ( MenuMode == 0) if ( OnActivate == 1 ) ShowRestMenu endif endif end
42beluelleBowlbegin beluelleBowl short doOnce if ( OnActivate == 0 ) Return endif if ( doOnce == 0 ) Journal MS_Piernette 1 addtopic "Beluelle's silver bowl" addtopic "missing silver bowl" set doOnce to 1 Activate else Activate endif end
43BILL_common_trapped_rugbegin BILL_common_trapped_rug ; hits the player with a glyph of weakness when he walks on the rug. ; trap resets 15 seconds later. ; ; script location: should be called from ac_furn_rug_big_04_dren ; variables short onMe ; is the Player on me? short wait float timer if ( MenuMode == 1 ) return endif if ( wait == 1 ) set timer to ( timer + GetSecondsPassed ) if ( timer < 15 ) return else set timer to 0 set wait to 0 endif endif set onMe to ( GetStandingPC ) if ( onMe == 1 ) MessageBox, "You have triggered a trap..." Cast, "sp_glyphofweakness", Player set wait to 1 endif end BILL_common_trapped_rug
44BILL_FG_Berwen_CorpBegin BILL_FG_Berwen_Corp ;No longer used. Head hurts. Doug. ; FG_CorprusStalker quest behaveour for Berwen ; script location: should be attached to Berwen ; variables short once1 short check1 short check2 short count1 short stalkerTest short done1 if ( MenuMode == 1 ) return endif if ( once1 == 0 ) set check1 to ( Player->GetJournalIndex FG_CorprusStalker ) if ( check1 == 30 ) ; MessageBox "Gonna getim." set once1 to 1 set check2 to 1 endif endif if ( check2 == 1 ) if ( count1 == 0 ) ; if the stalker is killed, come back set stalkerTest to ( GetDeadCount "corprus_stalker_fgcs" ) if ( stalkerTest == 1 ) Enable ; MessageBox "Stalker killed." set check2 to 0 set done1 to 1 ; mission accomplished endif endif set count1 to ( count1 + 1 ) if ( count1 > 20 ) ; check every 20 frames set count1 to 0 endif endif if ( done1 == 1 ) MessageBox "Berwen: 'Excellent. You are quite the warrior.'" ModDisposition 20 ; removed this "stop script self" line to help text search and fix all these. Doug. set done1 to 0 endif End BILL_FG_Berwen_Corp
45BILL_FG_Hrelvesuubegin BILL_FG_Hrelvesuu ; behaveour for Larienna's nemisis ; ; script location: should be placed on "Hrelvesuu" id: 'daedroth_fg_nchur' ; variables short once1 short count1 short LOSTest short deathTest float questTest if ( MenuMode == 1 ) return endif if ( once1 == 1 ) if ( count1 == 0 ) if ( GetLOS "Larienna Macrina" == 1 ) ; if we see Larienna Macrina, attack her ; Say "Vo\Misc\bill_intruderalert.wav", "Intruder Alert! Intruder Alert!" StartCombat, "Larienna Macrina" set once1 to 0 ; mission accomplished endif endif set count1 to ( count1 + 1 ) if ( count1 > 20 ) ; check every 20 frames set count1 to 0 endif endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex FG_Nchurdamz > 0 ) ; ... and if the player is on the quest ... Player->Journal FG_Nchurdamz 90 set "Larienna Macrina".questOver to 1 ; ... it's over. endif endif end BILL_FG_Hrelvesuu
46BILL_FG_Larienna_Macrinabegin BILL_FG_Larienna_Macrina ; adventuring behaveour for Larienna ; script location: should be placed on Larienna Macrina and used to augment ; her behaveour for joint adventuring with the Player during quest FG_Nchurdamz ;fixed in various ways 03/20 short healCompanion ; gets set in dialogue topic 'require aid' short healCount ;makes you not get healed over and over short questOver ; gets set in script 'BILL_FG_Hrelvesuu' when the beast dies short noLore if ( MenuMode == 1 ) return endif if ( GetHealth <= 0 ) return endif if ( healCompanion == 1 ) Cast "heal companion" Player set healCount to ( healCount + 1 ) set healCompanion to 0 endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex "FG_Nchurdamz" > 0 ) ; ... and if the player is on the quest to protect us... Journal "FG_Nchurdamz" 60 ; blew it endif endif if ( questOver == 1 ) Say "Vo\Misc\bill_lariennaend.wav", "Larienna: 'Hrelvesuu is vanquished, yet somehow I feel uneasy. I must investigate these ruins further. You have been a worthy companion. Farewell my friend.'" AIWander 0 0 0 20 20 10 10 0 0 0 40 0 set questOver to 0 endif end BILL_FG_Larienna_Macrina
47BILL_FG_Nchurdamz01begin BILL_FG_Nchurdamz01 ; Larienna's daedroth summoning ; script location: should be placed on a small unseen ring01 in the daedroth's sanctuary ;fixed by Doug 03/20 -- could still be wierdness float timer short doOnce if ( OnActivate == 1 ) ;no pickup return endif if ( MenuMode == 1 ) return endif if ( GetDeadCount "Larienna Macrina" > 0 ) ;don't talk if she's dead return endif if ( doOnce == 1 ) return endif if ( GetJournalIndex FG_Nchurdamz < 10 ) return endif if ( timer < 1 ) Set timer to ( timer + GetSecondsPassed ) return endif Set timer to 0 if ( GetDistance "Larienna Macrina" > 250 ) return endif "Larienna Macrina"->Say "Vo\Misc\bill_fg_nchurdamz01.wav" "Hrelvsuu! I have come for you! Show yourself!" set doOnce to 1 End
48BILL_FG_Nchurdamz02begin BILL_FG_Nchurdamz02 ; Larienna's daedroth summoning ; ; script location: should be placed on a small unseen ring02 in the daedroth's sanctuary ;fixed by Doug 03/20 -- could still be wierdness float timer short doOnce if ( OnActivate == 1 ) ;no pickup return endif if ( MenuMode == 1 ) return endif if ( GetDeadCount "Larienna Macrina" > 0 ) ;don't talk if she's dead return endif if ( doOnce == 1 ) return endif if ( GetJournalIndex FG_Nchurdamz < 10 ) return endif if ( timer < 1 ) Set timer to ( timer + GetSecondsPassed ) return endif Set timer to 0 if ( GetDistance "Larienna Macrina" > 300 ) return endif "Larienna Macrina"->Say "Vo\Misc\bill_fg_nchurdamz02.wav", "I can smell the stench of the Daedroth. It is here and I will find it!'" set doOnce to 1 end BILL_FG_Nchurdamz02
49BILL_FG_Nchurdamz03begin BILL_FG_Nchurdamz03 ; Larienna's daedroth summoning ; ; script location: should be placed on a small unseen ring03 in the daedroth's sanctuary ;fixed by Doug 03/20 -- could still be wierdness float timer short doOnce if ( OnActivate == 1 ) ;no pickup return endif if ( MenuMode == 1 ) return endif if ( GetDeadCount "Larienna Macrina" > 0 ) ;don't talk if she's dead return endif if ( doOnce == 1 ) return endif if ( GetJournalIndex FG_Nchurdamz < 10 ) return endif if ( timer < 1 ) Set timer to ( timer + GetSecondsPassed ) return endif Set timer to 0 if ( GetDistance "Larienna Macrina" > 300 ) return endif "Larienna Macrina"->Say "Vo\Misc\bill_fg_nchurdamz03.wav", "The beast is near now ... very near. Be on your guard.'" set doOnce to 1 end BILL_FG_Nchurdamz03
50BILL_FG_Nchurdamz04begin BILL_FG_Nchurdamz04 ; Larienna's daedroth summoning ; ; script location: should be placed on a small unseen ring04 in the daedroth's sanctuary ;This on is too funky and looks broken. Removed ring from world. Doug. ; variables short once short questTest short distTest short check1 short check2 short check3 short doit short gotKey short deadTest short deadTest2 if ( MenuMode == 1 ) return endif if ( OnActivate == 1 ) return endif if ( once == 0 ) set questTest to ( Player->GetJournalIndex "FG_Nchurdamz" ) if ( questTest > 0 ) ; ... this happens only if the player is on the FG_Nchurdamz quest set check1 to 1 endif set once to 1 endif if ( check1 == 1 ) set distTest to ( GetDistance, "Larienna Macrina" ) if ( distTest > 300 ) ; no good set check2 to 0 return else ; good set check1 to 0 set check2 to 1 endif endif if ( check2 == 1 ) set gotKey to ( Player->GetItemCount, "key_fg_nchur" ) if ( gotKey == 0 ) ; no good set doit to 0 return else ; good set check2 to 0 set check3 to 1 endif endif if ( check3 == 1 ) set deadTest to ( GetDeadCount "daedroth_fg_nchur" ) if ( deadTest >= 1 ) ; no good set doit to 1 return else ; good set check3 to 0 set doit to 1 endif endif if ( doit == 1 ) set deadTest2 to ( GetDeadCount "Larienna Macrina" ) if ( deadTest2 == 0 ) "Larienna Macrina"->Say "Vo\Misc\bill_fg_nchurdamz04.wav", "Larienna: 'At last! A means to vanquish Hrelvesuu. The final battle awaits!'" set doit to 0 ;removed this "stop script self" line to help text search and fix all these. Doug. endif endif end BILL_FG_Nchurdamz04
51BILL_FG_Nchurdamz_CenturionsBegin BILL_FG_Nchurdamz_Centurions ; FG_Nchurdamz quest behaveour for Centurions ; script location: should be placed on every centurion in the Nchurdamz ruins ;fixed 03/20. 43% less funkiness. No "every kill" journals, etc. short doOnce float timer if ( MenuMode == 1 ) return endif if ( doOnce == 1 ) return endif if ( timer < 3 ) Set timer to ( timer + GetSecondsPassed ) return endif Set timer to 0 if ( GetDetected "Larienna Macrina" == 1 ) StartCombat "Larienna Macrina" Set doOnce to 1 endif End
52BILL_GTs_Cursed_Chestbegin BILL_GTs_Cursed_Chest ; Cursed chest behavour in the 'Sandas Ancestral Tomb' ; script location: should be placed on 'chest_tomb_sandas' ;Fixed by Doug 03/20. Could still be wierdness. See also the next script on the two skeletal guards... ; variables short doOnce if ( OnActivate == 1 ) if ( doOnce == 1 ) Activate return else MessageBox "You suddenly feel quite cold..." ;I think the idea was to remove the corpses and replace them with skeletons... ;The following should actually do that. "contain_corpse_Sandas00"->Disable "skeleton champ_sandas00"->Enable set "skeleton champ_sandas00".getimBoy to 1 "contain_corpse_Sandas10"->Disable "skeleton champ_sandas10"->Enable set "skeleton champ_sandas10".getimBoy to 1 Set doOnce to 1 endif endif End
53BILL_GTs_Skeletal_Guardiansbegin BILL_GTs_Skeletal_Guardians ; Skeletal Champion behavour in the 'Sandas Ancestral Tomb' ; script location: should be placed on 'skeleton champ_sandas00' and ; 'skeleton champ_sandas10' ; NOTE: these creatures are not placed - rather they 'rise' when the master's ; chest is disturbed ('chest_tomb_sandas'). ;NOTE: Fixed by Doug 03/20. Should work as intended now. They are diabled on cell change and ;enabled when the chest is activated. Moving them "up" from a hidden room is bad ; variables short getimBoy if ( CellChanged == 1 ) Disable endif if ( MenuMode == 1 ) return endif if ( getimBoy == 1 ) if ( GetTarget "Player" == 0 ) ;as soon as we are enabled, try and get to the player ;More reliable than a Travel. In tiny Velothi halls. Through two doors. Out of LOS and FOV. Underwater. In the future. StartCombat Player endif endif End
54BILL_MarksDaedraSummonbegin BILL_MarksDaedraSummon ; Summon an Daedra when an item is removed from altar ; ; script location: should be placed upon an object on a Daedric Altar ; variables short done if ( OnActivate == 1 ) if ( done == 1 ) Activate return else Set done to 1 PlaceAtPC "Dremora_lord" 1 128 1 ;1 of them, 256 units away, in back (1) of the player Activate endif endif End
55BILL_MarksDwvGhostSummonBegin BILL_MarksDwvGhostSummon ; Summon an Dwarven Ghost when a cursed Dwarven coin is pulled from a skull ; ; script location: should be placed on a Dwarven Coin stuck in a skull ;fixed 03/20. Could still be wierdness. ; variables short done if ( OnActivate == 1 ) if ( done == 1 ) Activate return else PlaceAtPC "dwarven ghost", 1, 128, 1 ; 1 of them, 256 units away, in back (1) of the player set done to 1 Activate endif endif End
56BILL_MarksSpiritSummonBegin BILL_MarksSpiritSummon ; Summon an Ancestor Ghost when a silver dagger is pulled from a skull ; ; script location: should be placed on a silver dagger stick in a skull ;fixed 03/20. Could still be wierdness. ;fixed again for the small space... only in Ibar-Dad in case someone puts one somewhere else ; variables short done short xPos if ( OnActivate == 1 ) if ( done == 1 ) Activate return endif if ( GetPCCell "Ibar-Dad" == 1 ) Set xPos to ( GetPos X ) if ( xPos > -2300 ) ;it's on the left side, put the ghost to the player's left PlaceAtPC "ancestor_ghost" 1 256 2 else ;it's on the right side, put the ghost to the player's right PlaceAtPC "ancestor_ghost" 1 256 3 endif Set done to 1 Activate return endif ;if NOT Ibar-Dad... PlaceAtPC "ancestor_ghost", 1, 128, 1 ; 1 of them, 128 units away, in back (1) of the player set done to 1 Activate endif End
57BILL_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 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 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
58BILL_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 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
59BILL_MT_WritBaladasBegin BILL_MT_WritBaladas ; log a journal entry for each successful 'hit' the player performs for the Morag Tong short noLore ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 float timer ;for doing his three book quests in House Telvanni ;reward flag short givenReward if ( MenuMode == 1 ) Return endif ;below added for IL_RescueRagash behavior. Should not affects Bill's MT quest. if ( timer != -1 ) ;flag set in dialogue to make him not attack Set timer to ( timer + GetSecondsPassed ) endif if ( timer > 2 ) set timer to 0 if ( GetDetected "ragash gra-shuzgub" == 1 ) StartCombat "ragash gra-shuzgub" endif endif if ( CellChanged == 1 ) StopCombat set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... Set TelvanniDead to ( TelvanniDead + 1 ) ;this line for Telvanni Hortator... This Baladas is in too many quests! if ( GetJournalIndex MT_WritBaladas > 0 ) ; ... and if the player has a writ for us... ;dug sez: er... NO. If the player is ON THE QUEST ;otherwise if the player drops the writ, the quest is broke set CL2 to GetPCCrimeLevel if ( CL2 > CL1 ) ; ... append a journal entry if the execution is seen ... Player->Journal MT_WritBaladas 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritBaladas 90 endif endif endif End
60BILL_MT_WritBelvaynBegin BILL_MT_WritBelvayn ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritBelvayn > 0 ) ; ... 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 ... Player->Journal MT_WritBelvayn 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritBelvayn 90 endif endif endif End
61BILL_MT_WritBemisBegin BILL_MT_WritBemis ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritBemis > 0 ) ; ... 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 ... Player->Journal MT_WritBemis 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritBemis 90 endif endif endif End
62BILL_MT_WritBeroBegin BILL_MT_WritBero ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritBero > 0 ) ; ... 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 ... Player->Journal MT_WritBero 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritBero 90 endif endif endif End
63BILL_MT_WritBrilnosubegin BILL_MT_WritBrilnosu ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 short doOnce if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritBrilnosu > 0 ) ; ... 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 ... Player->Journal MT_WritBrilnosu 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritBrilnosu 90 endif endif endif End
64BILL_MT_WritGalasaBegin BILL_MT_WritGalasa ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritGalasa > 0 ) ; ... 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 ... Player->Journal MT_WritGalasa 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritGalasa 90 endif endif endif End
65BILL_MT_WritGurilBegin BILL_MT_WritGuril ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 short OnPCHitMe short fightRothisNethan short fightTalisDrurel short fightSorosiRadobar if ( MenuMode == 1 ) return endif if ( GetJournalIndex MT_WritGuril < 10 ) if ( OnPCHitMe == 1 ) if ( GetTarget Player == 0 ) StartCombat Player endif Set OnPCHitMe to 0 endif return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnPCHitMe == 1 ) set fightRothisNethan to 1 set fightTalisDrurel to 1 set fightSorosiRadobar to 1 if ( GetTarget Player == 0 ) StartCombat Player endif Set OnPCHitMe to 0 endif if ( fightRothisNethan == 1 ) if ( "rothis nethan"->GetTarget Player == 1 ) "rothis nethan"->StopCombat "rothis nethan"->SetFight 30 Set fightRothisNethan to 0 endif endif if ( fightTalisDrurel == 1 ) if ( "talis drurel"->GetTarget Player == 1 ) "talis drurel"->StopCombat "talis drurel"->SetFight 30 Set fightTalisDrurel to 0 endif endif if ( fightSorosiRadobar == 1 ) if ( "sorosi radobar"->GetTarget Player == 1 ) "sorosi radobar"->StopCombat "sorosi radobar"->SetFight 30 Set fightSorosiRadobar to 0 endif endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritGuril > 0 ) ; ... 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 ... Player->Journal MT_WritGuril 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritGuril 90 endif endif endif End
66BILL_MT_WritMavonBegin BILL_MT_WritMavon ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 short OnPCHitMe short fightTolmeraRelenim short fightCirgesAdrard short fightCirwedh short fightSiliusFulcinius short fightFerarilieRiscel short fightCielNestal if ( GetJournalIndex MT_WritMavon < 10 ) if ( OnPCHitMe == 1 ) if ( GetTarget Player == 0 ) StartCombat Player endif Set OnPCHitMe to 0 endif return endif if ( MenuMode == 1 ) return endif if ( OnPCHitMe == 1 ) set fightTolmeraRelenim to 1 set fightCirgesAdrard to 1 set fightCirwedh to 1 set fightSiliusFulcinius to 1 set fightFerarilieRiscel to 1 set fightCielNestal to 1 if ( GetTarget Player == 0 ) StartCombat Player endif Set OnPCHitMe to 0 endif if ( fightTolmeraRelenim == 1 ) if ( "tolmera relenim"->GetTarget Player == 1 ) "tolmera relenim"->StopCombat "tolmera relenim"->SetFight 30 set fightTolmeraRelenim to 0 endif endif if ( fightCirgesAdrard == 1 ) if ( "cirges adrard"->GetTarget Player == 1 ) "cirges adrard"->StopCombat "cirges adrard"->SetFight 30 set fightCirgesAdrard to 0 endif endif if ( fightCirwedh == 1 ) if ( "cirwedh"->GetTarget Player == 1 ) "cirwedh"->StopCombat "cirwedh"->SetFight 30 set fightCirwedh to 0 endif endif if ( fightSiliusFulcinius == 1 ) if ( "silius fulcinius"->GetTarget Player == 1 ) "silius fulcinius"->StopCombat "silius fulcinius"->SetFight 30 set fightSiliusFulcinius to 0 endif endif if ( fightFerarilieRiscel == 1 ) if ( "ferarilie riscel"->GetTarget Player == 1 ) "ferarilie riscel"->StopCombat "ferarilie riscel"->SetFight 30 set fightFerarilieRiscel to 0 endif endif if ( fightCielNestal == 1 ) if ( "ciel nestal"->GetTarget Player == 1 ) "ciel nestal"->StopCombat "ciel nestal"->SetFight 30 set fightCielNestal to 0 endif endif if ( CellChanged == 1 ) if ( GetJournalIndex MT_WritMavon > 0 ) SetFight 100 endif set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritMavon > 0 ) ; ... 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 ... Player->Journal MT_WritMavon 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritMavon 90 endif endif endif End
67BILL_MT_WritNavilBegin BILL_MT_WritNavil ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 short OnPCHitMe short doOnce ;for voice and enabling Ranes if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( doOnce == 0 ) if ( OnPCHitMe == 1 ) PlaceAtPC "ranes ienith" 1 128 1 ;change to enable if this is not fixed Say, "Vo\Misc\bill_diedog.wav", "Die like a dog." set doOnce to 1 endif endif if ( OnDeath == 1 ) ; when we are killed... if ( doOnce == 0 ) ;just in case it didn't go off earlier... Should not happen. PlaceAtPC "ranes ienith" 1 128 1 set doOnce to 1 endif if ( GetJournalIndex MT_WritNavil > 0 ) ; ... 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 ... ; ... based on if the other is killed too ... if ( GetDeadCount, "Ranes Ienith" == 0 ) Player->Journal MT_WritNavil 75 else Player->Journal MT_WritNavil 80 endif else ; ... append a journal entry if the execution is NOT seen ... if ( GetDeadCount "Ranes Ienith" == 0 ) Player->Journal MT_WritNavil 85 else Player->Journal MT_WritNavil 90 endif endif endif endif End
68BILL_MT_WritNavil2Begin BILL_MT_WritNavil2 ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritNavil > 0 ) ; ... 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 ... ; ... based on if the other is killed too ... if ( GetDeadCount, "Navil Ienith" == 0 ) Player->Journal MT_WritNavil 75 else Player->Journal MT_WritNavil 80 endif else ; ... append a journal entry if the execution is NOT seen ... if ( GetDeadCount "Navil Ienith" == 0 ) Player->Journal MT_WritNavil 85 else Player->Journal MT_WritNavil 90 endif endif endif endif End
69BILL_MT_WritOranBegin BILL_MT_WritOran ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 short OnPCHitMe short fightArvamaRathri short fightBrethasDeras short fightGadelaAndus short fightGlathel short fightNalasaSarothren short fightSovaliUvayn if ( MenuMode == 1 ) return endif if ( GetJournalIndex MT_WritOran < 10 ) if ( OnPCHitMe == 1 ) if ( GetTarget Player == 0 ) StartCombat Player endif Set OnPCHitMe to 0 endif return endif if ( OnPCHitMe == 1 ) set fightArvamaRathri to 1 set fightBrethasDeras to 1 set fightGadelaAndus to 1 set fightGlathel to 1 set fightNalasaSarothren to 1 set fightSovaliUvayn to 1 if ( GetTarget Player == 0 ) StartCombat Player endif set OnPCHitMe to 0 endif if ( fightArvamaRathri == 1 ) if ( "arvama rathri"->GetTarget Player == 1 ) "arvama rathri"->StopCombat "arvama rathri"->SetFight 30 set fightArvamaRathri to 0 endif endif if ( fightBrethasDeras == 1 ) if ( "brethas deras"->GetTarget Player == 1 ) "brethas deras"->StopCombat "brethas deras"->SetFight 30 set fightBrethasDeras to 0 endif endif if ( fightGadelaAndus == 1 ) if ( "gadela andus"->GetTarget Player == 1 ) "gadela andus"->StopCombat "gadela andus"->SetFight 30 set fightGadelaAndus to 0 endif endif if ( fightGlathel == 1 ) if ( "glathel"->GetTarget Player == 1 ) "glathel"->StopCombat "glathel"->SetFight 30 set fightGlathel to 0 endif endif if ( fightNalasaSarothren == 1 ) if ( "nalasa sarothren"->GetTarget Player == 1 ) "nalasa sarothren"->StopCombat "nalasa sarothren"->SetFight 30 set fightNalasaSarothren to 0 endif endif if ( fightSovaliUvayn == 1 ) if ( "sovali uvayn"->GetTarget Player == 1 ) "sovali uvayn"->StopCombat "sovali uvayn"->SetFight 30 set fightSovaliUvayn to 0 endif endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritOran > 0 ) ; ... 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 ... Player->Journal MT_WritOran 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritOran 90 endif endif endif End
70BILL_MT_WritSadusBegin BILL_MT_WritSadus ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritSadus > 0 ) ; ... 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 ... Player->Journal MT_WritSadus 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritSadus 90 endif endif endif End
71BILL_MT_WritSarenBegin BILL_MT_WritSaren ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritSaren > 0 ) ; ... 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 ... Player->Journal MT_WritSaren 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritSaren 90 endif endif endif End
72BILL_MT_WritTheranaBegin BILL_MT_WritTherana ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 ;for HT_NewClothes short wearingClothes short doOnce short noLore if ( MenuMode == 1 ) return endif if ( doOnce == 0 ) if ( wearingClothes == 1 ) ForceGreeting Set doOnce to 1 endif endif if ( CellChanged == 1 ) ;keep her from going off over and over. StopCombat SetFight 30 set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... Set TelvanniDead to ( TelvanniDead + 1 ) ;for Telvanni Hortator... if ( GetJournalIndex MT_WritTherana > 0 ) ; ... 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 ... Player->Journal MT_WritTherana 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritTherana 90 endif endif endif End
73BILL_MT_WritVarroBegin BILL_MT_WritVarro ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritVarro > 0 ) ; ... 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 ... Player->Journal MT_WritVarro 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritVarro 90 endif endif endif End
74BILL_MT_WritVendubegin BILL_MT_WritVendu ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritVendu > 0 ) ; ... 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 ... ; ... based on if the other is killed too ... if ( GetDeadCount, "ethal seloth" == 0 ) Player->Journal MT_WritVendu 75 else Player->Journal MT_WritVendu 80 endif else ; ... append a journal entry if the execution is NOT seen ... if ( GetDeadCount, "ethal seloth" == 0 ) Player->Journal MT_WritVendu 85 else Player->Journal MT_WritVendu 90 endif endif endif endif End
75BILL_MT_WritVendu2Begin BILL_MT_WritVendu2 ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritVendu > 0 ) ; ... 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 ... ; ... based on if the other is killed too ... if ( GetDeadCount, "idroso vendu" == 0 ) Player->Journal MT_WritVendu 75 else Player->Journal MT_WritVendu 80 endif else ; ... append a journal entry if the execution is NOT seen ... if ( GetDeadCount, "idroso vendu" == 0 ) Player->Journal MT_WritVendu 85 else Player->Journal MT_WritVendu 90 endif endif endif endif End
76BILL_MT_WritYasalmibaalBegin BILL_MT_WritYasalmibaal ; log a journal entry for each successful 'hit' the player performs for the Morag Tong ; script location: should be placed on each and every target of the Morag Tong, with ; changes to reflect the person it is running on. short CL1 short CL2 if ( MenuMode == 1 ) return endif if ( CellChanged == 1 ) set CL1 to GetPCCrimeLevel endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex MT_WritYasalmibaal > 0 ) ; ... 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 ... Player->Journal MT_WritYasalmibaal 80 else ; ... append a journal entry if the execution is NOT seen ... Player->Journal MT_WritYasalmibaal 90 endif endif endif End
77BILL_shrineMaarGanbegin BILL_shrineMaarGan ; activator behaveour. special behaveour for TT_MaarGan quest ; basically spews a message ; script location: should be placed on ac_maar_gan_magic_rock ;no longer used. See "shrineMaarGan" ; variables short testDist short questTest short deadTest short doit ; bug out if in menumode if ( MenuMode == 1 ) return endif ; bug out if player cant touch it set testDist to GetDistance, Player if ( testDist > 300 ) return endif if ( OnActivate == 1 ) MessageBox "Your mind reels with a voice: 'Here Mehrunes Dagon held this rock high above the Dunmer. Vivec taunted Mehrines Dagon so that Dagon threw the rock at Vivec instead of at the Dunmer.'" set questTest to ( GetJournalIndex, "TT_MaarGan" ) if ( questTest = 50 ) Player->Journal "TT_MaarGan" 60 set doit to 1 endif set deadTest to ( GetDeadCount, "dremora_ttmg" ) if ( deadTest == 1 ) set doit to 1 endif endif if ( doit == 1 ) Cast "shrine_maargan_sp", Player set doit to 0 endif end BILL_shrineMaarGan
78BILL_shrineSanctusbegin BILL_shrineSanctus ; activator behaveour. special behaveour for TT_SanctusShrine quest ; basically spews a message ; script location: should be placed on ac_sanctus_shrine_triolith ;no longer used. See shrineSanctus. ; variables short testDist short questTest short deadTest short doit ; bug out if in menumode if ( MenuMode == 1 ) return endif ; bug out if player cant touch it set testDist to GetDistance, Player if ( testDist > 300 ) return endif if ( OnActivate == 1 ) MessageBox "You have completed your silent Pilgramage to the Sanctus Shrine." set questTest to ( GetJournalIndex, "TT_SanctusShrine" ) if ( questTest = 20 ) Player->Journal "TT_SanctusShrine" 50 set doit to 1 endif endif if ( doit == 1 ) Cast "shrine_sanctus_sp", Player set doit to 0 endif end BILL_shrineSanctus
79BILL_synette_jelinebegin BILL_synette_jeline ; if player is spotted, then give muscle the high-sign to take position ; if player takes bait, then attack ; script location: should be placed on "synette jeline" (NPC) short testDist short testLOS short doneHighSign short testBait short doneBait short OnPCHitMe short bow short blade short count if ( MenuMode == 1 ) return endif ; *********** AI augmentation ********** ;if ( count == 0 ) ; set testDist to GetDistance, Player ; if ( testDist < 400 ) ; ; melee distance ; SetMarksman, 55 ; SetShortblade, 60 ; endif ; if ( testDist > 400 ) ; ; missile distance ; SetMarksman, 60 ; SetShortblade, 55 ; endif ;endif ;set count to ( count + 1 ) ;if ( count > 3 ) ; set count to 0 ;endif ; *********** AI augmentation ********** if ( doneHighSign == 1 ) ;set testDist to ( GetDistance, player ) ;if ( testDist < 1200 ) ; if within sighting distance ; set testLOS to ( GetLOS, player ) ; if ( testLOS == 1 ) ; and if she spots the player "tavynu tedran"->AITravel, -95568.648, 113477.344, 548.457, 0 set doneHighSign to 2 ; endif endif endif if ( doneBait == 0 ) ;set testBait to "expensive_ring_01_BILL"->GetDistance, player ;if ( testBait < 200 ) if ( player->GetItemCount "expensive_ring_01_BILL" > 0 ) Player->Say "Vo\Misc\bill_nogooddeed.wav", "No good deed goes unpunished, Outlander." StartCombat player SetFight 100 "tavynu tedran"->StartCombat Player "tavynu tedran"->SetFight 100 set doneBait to 1 endif endif if ( doneBait == 1 ) if ( doneHighSign == 2 ) if ( GetJournalIndex MV_LostRing >= 20 ) if ( OnPCHitMe == 1 ) Journal MV_LostRing 40 set doneBait to -1 set doneHighSign to -1 endif endif endif endif end BILL_synette_jeline
80BILL_TT_AnhaedraBegin BILL_TT_Anhaedra ;for TT_MaarGan. If you kill the daedra after a successful taunt, you get this journal. Stops the npcs from healing you, etc. ;edited lots short tauntCount if ( CellChanged == 1 ) SetFight 0 StopCombat endif if ( OnDeath == 1 ) if ( GetJournalIndex TT_MaarGan >= 30 ) Journal "TT_MaarGan" 50 endif endif End
81BILL_TT_Bjadmundbegin BILL_TT_Bjadmund ; quest behaveour for TT_StAralor quest ; basically checks to see if he's been killed ;No longer used ; script location: should be placed on Elvil Vidron ; variables short deathTest short questTest if ( MenuMode == 1 ) return endif set deathTest to ( OnDeath ) if ( deathTest == 1 ) ; when we are killed... set questTest to ( Player->GetJournalIndex "TT_StAralor" ) if ( questTest > 0 ) ; ... and if the player is on the quest ... Player->Journal "TT_StAralor" 60 ; killed us endif endif end BILL_TT_Bjadmund
82BILL_TT_Bulfim_gra-Shugharzbegin BILL_TT_Bulfim_gra-Shugharz ;for TT_Compasion ;checks to see if Bulfim has blight disease ;removed funkiness if ( GetJournalIndex TT_Compassion < 50 ) if ( GetBlightDisease == 0 ) say, "vo\o\f\Flw_OF003.mp3", "Thank you." Journal TT_Compassion 50 ModDisposition 50 endif endif End
83BILL_TT_Dagoth_Fovonbegin BILL_TT_Dagoth_Fovon ;not used anymore... if ( OnDeath == 1 ) if ( GetJournalIndex TT_Hassour > 0 ) Journal TT_Hassour 50 endif endif End
84BILL_TT_Delvam_AndarysBegin BILL_TT_Delvam_Andarys ;not used anymore if ( OnDeath == 1 ) if ( GetJournalIndex "TT_Mawia" > 0 ) Journal TT_Mawia 50 endif endif End
85BILL_TT_Elvil_Vidronbegin BILL_TT_Elvil_Vidron ;for TT_FalseIncarnate quest if ( OnDeath == 1 ) if ( GetJournalIndex TT_FalseIncarnate > 0 ) Journal TT_FalseIncarnate 60 endif endif End
86BILL_TT_LetteBegin BILL_TT_Lette if ( GetDisabled == 1 ) return endif if ( GetCommonDisease == 0 ) if ( GetJournalIndex TT_CuringTouch < 50 ) say, "vo\r\f\Flw_RF003.mp3", "Thank you." Journal TT_CuringTouch 50 ModDisposition 25 endif endif End
87BILL_TT_MinistryHeathenbegin BILL_TT_MinistryHeathen ; quest behaveour for TT_MinistryHeathen quest ; basically checks to see if the disease that she has has been removed ; script location: should be placed on 'assantushansar' in ghostgate ;Doug sez: No longer used. See assantusScript. ; variables short deathTest short questTest short doneTest1 short count1 short diseaseTest if ( MenuMode == 1 ) return endif set deathTest to ( OnDeath ) if ( deathTest == 1 ) ; when we are killed... set questTest to ( Player->GetJournalIndex "TT_MinistryHeathen" ) if ( questTest > 0 ) ; ... and if the player is on the quest to cure us... Player->Journal "TT_MinistryHeathen" 30 ; we blew it endif endif if ( doneTest1 == 0 ) if ( count1 == 0 ) set diseaseTest to ( GetSpell, "droops" ) if ( diseaseTest == 0 ) set doneTest1 to 1 return endif endif set count1 to ( count1 + 1 ) if ( count1 > 20 ) ; every 20 frames set count1 to 0 endif endif if ( doneTest1 == 1 ) Say "Vo\Misc\bill_assantus.wav", "Assantus: 'Thank you, Outlander. You are a kind and generous soul.'" Journal "TT_MinistryHeathen" 50 ModDisposition 30 set doneTest1 to 2 return endif if ( doneTest1 == 2 ) ;Removed "stop script self" line to make finding all these easier. return endif end BILL_TT_MinistryHeathen
88BILL_TT_MountKand01begin BILL_TT_MountKand01 ; activator behaveour. special behaveour for TT_MountKand quest ; basically spews a message ; script location: should be placed on ac_mount_kand_triolith ;no longer used. See shrineMountKand. ; variables short testDist short questTest short deadTest short doit ; bug out if in menumode if ( MenuMode == 1 ) return endif ; bug out if player cant touch it set testDist to GetDistance, Player if ( testDist > 300 ) return endif if ( OnActivate == 1 ) MessageBox "You receive visions: You watch in stunned silence as Vivec defeats three daedra in a contest of riddles. Vivec's Blessing be upon you!" set questTest to ( GetJournalIndex, "TT_MountKand" ) if ( questTest >= 75 ) Player->Journal "TT_MountKand" 100 set doit to 1 endif endif if ( doit == 1 ) Cast "shrine_mountkand_sp", Player set doit to 0 endif end BILL_TT_MountKand01
89BILL_TT_MountKand02begin BILL_TT_MountKand02 ; quest behaveour for TT_MountKand quest ; basically checks to see if he's been killed ; script location: should be placed on 'atronach_flame_ttmk' ;no longer used. See atronachMountKand ; variables short deathTest if ( MenuMode == 1 ) return endif set deathTest to ( OnDeath ) if ( deathTest == 1 ) ; when we are killed... Player->Journal "TT_MountKand" 11 ; killed us endif end BILL_TT_MountKand02
90BILL_TT_MountKand03begin BILL_TT_MountKand03 ; quest behaveour for TT_MountKand quest ; basically checks to see if he's been killed ; script location: should be placed on 'atronach_frost_ttmk' ;no longer used. See atronachMountKand ; variables short deathTest if ( MenuMode == 1 ) return endif set deathTest to ( OnDeath ) if ( deathTest == 1 ) ; when we are killed... Player->Journal "TT_MountKand" 12 ; killed us endif end BILL_TT_MountKand03
91BILL_TT_MountKand04begin BILL_TT_MountKand04 ; quest behaveour for TT_MountKand quest ; basically checks to see if he's been killed ; script location: should be placed on 'atronach_storm_ttmk' ;no longer used. See atronachMountKand ; variables short deathTest if ( MenuMode == 1 ) return endif set deathTest to ( OnDeath ) if ( deathTest == 1 ) ; when we are killed... Player->Journal "TT_MountKand" 13 ; killed us endif end BILL_TT_MountKand04
92BILL_TT_MountKand05begin BILL_TT_MountKand05 ; modifies fight settings on critters in the mount kand caverns ; if the player has completed some or all of the riddles. ; ; script location: should be placed on 'common_ring_01_tt_mountkand' ;Doug sez: No longer used. Ring deleted from world. ; variables short questTest short distTest short once short check short doit if ( MenuMode == 1 ) return endif if ( OnActivate == 1 ) return endif if ( once == 0 ) set questTest to ( Player->GetJournalIndex "TT_MountKand" ) if ( questTest > 25 ) ; ... this happens only if the player has answered some of the riddles correctly set check to 1 endif set once to 1 endif if ( check == 1 ) set distTest to ( GetDistance, Player ) if ( distTest > 300 ) return else set check to 0 set doit to 1 endif endif if ( doit == 1 ) if ( questTest >= 25 ) ; first riddle answered, flame atronach is now immediately violent atronach_flame_ttmk->setfight 100 endif if ( questTest >= 50 ) ; first and second riddles answered, flame and frost atronachs are ; now immediately violent atronach_flame_ttmk->setfight 100 atronach_frost_ttmk->setfight 100 endif if ( questTest >= 75 ) ; all riddles answered, all atronachs are now immediately violent atronach_flame_ttmk->setfight 100 atronach_frost_ttmk->setfight 100 atronach_storm_ttmk->setfight 100 endif set doit to 0 ;removed "stop script self" line to search & catch all these. endif end BILL_TT_MountKand05
93BILL_TT_Tanusea_Velothbegin BILL_TT_Tanusea_Veloth ; quest behaveour for TT_DiseaseCarrier quest ; basically checks to see if she's been killed ; script location: should be placed on Tanusea Veloth ; variables if ( MenuMode == 1 ) return endif if ( OnDeath == 1 ) ; when we are killed... if ( GetJournalIndex "TT_DiseaseCarrier" > 0 ) ; ... and if the player is on the quest ... Player->Journal "TT_DiseaseCarrier" 40 ; killed us endif endif end BILL_TT_Tanusea_Veloth
94BILL_TT_Tralas_Rendasbegin BILL_TT_Tralas_Rendas ; behaveour for Tralas Rendas ; script location: should be placed on Tralas Rendas ;no longer used. all handled in dialogue and journals. ; variables short touchProtect ; gets set in dialogue topic 'require aid' short castCount ;short OnPCHitMe ; special necessary local variable for accidental PC damage ;short doneHitTest ;short times ;short count1 if ( MenuMode == 1 ) return endif if ( touchProtect == 1 ) Cast "sp_touchprotect", Player set castCount to ( castCount + 1 ) set touchProtect to 0 endif ;if ( doneHitTest == 0 ) ; if ( count1 == 0 ) ; if ( OnPCHitMe == 1 ) ; set times to ( times + 1 ) ; if ( times == 1 ) ; MessageBox "Tralas: 'Hit me again and I will kill you where you stand!'" ; ModDisposition -25 ; set OnPCHitMe to 0 ; endif ; if ( times == 2 ) ; MessageBox "Tralas: 'Die!'" ; StartCombat Player ; set doneHitTest to 1 ; endif ; endif ; endif ; set count1 to ( count1 + 1 ) ; if ( count1 > 10 ) ; set count1 to 0 ; endif ;endif end BILL_TT_Tralas_Rendas
95bittercupbegin bittercup ;this is used on the bittercup artifact to ask you if you want to drink from it or carry it ;the question is asked whenever you activate (pick it up). ;the cup raises your top attribute by the var and lowers your worst by the var ; modified: bburcham 20010919, 20011008, 20011015 short button short messageOn short drink short gone short testdist ; attribute variables short str short int short wil short agi short spd short end short per short luc short maxatt short maxattval short minatt short minattval short TGtest float timer ; disable if used (a 1 use item) if ( gone == 1 ) Disable set gone to 0 return endif ; bug out if in menumode if ( MenuMode == 1 ) return endif ; bug out if player cant touch it ;set testDist to GetDistance, Player ;if ( testDist > 300 ) ; return ;endif if ( OnActivate == 1 ) Set messageOn to 2 endif if ( messageOn == 0 ) return endif if ( messageOn == 2 ) MessageBox "Do you wish to drink from the Bitter Cup or to pick it up? Drinking from the cup will improve your best attribute and lower your worst. If you drink, the Cup is lost forever." "Drink from the Bitter Cup" "Pick it up." Set messageOn to 1 endif if ( messageOn == 1 ) set button to GetButtonPressed if ( button == 0 ) ; drink it Set drink to 1 Set messageOn to 0 endif if ( button == 1 ) ; pick it up Activate Set messageOn to 0 return endif endif ; drink from the cup if ( drink == 1 ) ; attributes are 'get' once, determine maxatt and minatt ; strength set str to ( Player->GetStrength ) set maxatt to 1 set maxattval to str set minatt to 1 set minattval to str ; intelligence set int to ( Player->GetIntelligence ) if ( int > maxattval ) set maxatt to 2 set maxattval to int endif if ( int < minattval ) set minatt to 2 set minattval to int endif ; willpower set wil to ( Player->GetWillpower ) if ( wil > maxattval ) set maxatt to 3 set maxattval to wil endif if ( wil < minattval ) set minatt to 3 set minattval to wil endif ; agility set agi to ( Player->GetAgility ) if ( agi > maxattval ) set maxatt to 4 set maxattval to agi endif if ( agi < minattval ) set minatt to 4 set minattval to agi endif ; speed set spd to ( Player->GetSpeed ) if ( spd > maxattval ) set maxatt to 5 set maxattval to spd endif if ( spd < minattval ) set minatt to 5 set minattval to spd endif ; endurance set end to ( Player->GetEndurance ) if ( end > maxattval ) set maxatt to 6 set maxattval to end endif if ( end < minattval ) set minatt to 6 set minattval to end endif ; personality set per to ( Player->GetPersonality ) if ( per > maxattval ) set maxatt to 7 set maxattval to per endif if ( per < minattval ) set minatt to 7 set minattval to per endif ; luck set luc to ( Player->GetLuck ) if ( luc > maxattval ) set maxatt to 8 set maxattval to luc endif if ( luc < minattval ) set minatt to 8 set minattval to luc endif ; modify the selected attributes ; one cannot modatt using a variable. it does wierd things if ( maxatt == 1 ) Player->ModStrength, 20 endif if ( minatt == 1 ) Player->ModStrength, -20 endif if ( maxatt == 2 ) Player->ModIntelligence, 20 endif if ( minatt == 2 ) Player->ModIntelligence, -20 endif if ( maxatt == 3 ) Player->ModWillpower, 20 endif if ( minatt == 3 ) Player->ModWillpower, -20 endif if ( maxatt == 4 ) Player->ModAgility, 20 endif if ( minatt == 4 ) Player->ModAgility, -20 endif if ( maxatt == 5 ) Player->ModSpeed, 20 endif if ( minatt == 5 ) Player->ModSpeed, -20 endif if ( maxatt == 6 ) Player->ModEndurance, 20 endif if ( minatt == 6 ) Player->ModEndurance, -20 endif if ( maxatt == 7 ) Player->ModPersonality, 20 endif if ( minatt == 7 ) Player->ModPersonality, -20 endif if ( maxatt == 8 ) Player->ModLuck, 20 endif if ( minatt == 8 ) Player->ModLuck, -20 endif ; cleanup MessageBox "You feel strange..." set TGtest to ( Player->GetJournalIndex TG_BitterBribe ) if ( TGtest >= 10 ) Player->Journal TG_BitterBribe 30 else Player->Journal TG_BitterBribe 25 endif set gone to 1 set drink to 0 endif end bittercup
96blockedDoorBegin blockedDoor if ( OnActivate == 1 ) MessageBox "This door is blocked." endif End blockeddoor
97blueScriptBegin blueScript if ( player->GetItemCount "katana_goldbrand_unique" == 1 ) if ( player->GetItemCount "gold_001" == 11171 ) Player->RemoveItem "katana_goldbrand_unique" 1 Player->AddItem "katana_bluebrand_unique" 1 MessageBox "Go to Hell, Carolina!" StopScript blueScript endif endif End blueScript
98boethiabuildScriptbegin boethiabuildScript short state short dialogcue if ( state == -10 ) return endif if ( state == 0 ) if ( "duma gro-lag2"-> GetDisabled == 1 ) disable set state to 10 endif endif if ( state == 10 ) if ( "duma gro-lag2"-> GetDisabled != 1 ) enable set state to 20 endif endif if ( state == 20 ) if ( "Ex_DAE_Boethiah_fixed"-> GetDisabled != 1 ) disable set state to -10 set dialogcue to 20 endif endif end
99bolvynScriptBegin bolvynScript short doOnce if ( doOnce == 1 ) Return endif if ( GetPCCell "Vivec, Arena Pit" == 0 ) ;To simulate Essential NPC Killed message if ( OnDeath == 1 ) Messagebox "With this character's death, the thread of prophecy is severed. Restore a saved game to restore the weave of fate, or persist in the doomed world you have created." endif endif if ( GetPCCell "Vivec, Arena Pit" == 0 ) ;for Hortator dialogue... if ( OnDeath == 1 ) if ( OnMurder == 1 ) Set RedoranMurdered to 2 else Set RedoranMurdered to 1 endif endif Return endif if ( OnDeath == 1 ) Set DuelActive to 0 Set doOnce to 1 if ( GetJournalIndex HR_Archmaster >= 50 ) PCRaiseRank "Redoran" Journal HR_Archmaster 70 endif if ( GetJournalIndex B5_VenimHort >= 30 ) Journal B5_VenimHort 50 endif endif End
100boneScriptBegin boneScript short summon if ( summon == -1 ) return endif if ( GetJournalIndex "EB_Bone" == 50 ) return endif if ( summon == 0 ) if ( "com_chest_02_jeanne_u"->GetItemCount "misc_dwarfbone_unique" > 0 ) if ( GetJournalIndex "EB_Bone" < 40 ) Journal "EB_Bone" 40 elseIf ( GetJournalIndex "EB_Bone" >= 60 ) "dwarven ghost_jeanne_U"->Enable set bone to 1 set summon to 1 endif endif endif if ( summon == 1 ) if ( "com_chest_02_jeanne_u"-> GetItemCount "misc_dwarfbone_unique" == 0 ) if ( GetJournalIndex "EB_Bone" == 80 ) "dwarven ghost_jeanne_U"->sethealth 0 Journal "EB_Bone" 100 set summon to -1 endif endif endif if ( summon == 1 ) if "dwarven ghost_jeanne_U"->( OnDeath == 1 ) Journal "EB_Bone" 90 set summon to -1 endif endif End boneScript
101bookPilgrimsPathBegin bookPilgrimsPath if ( GetJournalIndex TT_PilgrimsPath >= 100 ) Return endif if ( OnActivate == 1 ) Journal TT_PilgrimsPath 100 ShowMap "Gnisis" ShowMap "Vivec" ShowMap "Ghostgate" ShowMap "Koal Cave Entrance" ShowMap "Fields of Kummu" Activate endif End
102botrirScriptBegin botrirScript short done short nolore if ( done == -1 ) return endif if ( GetJournalIndex MV_RecoverWidowmaker > 50 ) return endif if ( menumode == 1 ) return endif if ( done == 0 ) if ( GetCurrentAiPackage == 3 ) If ( GetDistance "Iveri Llothri" <= 800 ) StartCombat "Iveri Llothri" set done to 1 endif endif endif ;if ( GetJournalIndex MV_RecoverWidowmaker >= 10 ) ;if ( GetJournalIndex MV_RecoverWidowmaker <= 50 ) if ( Player->GetItemCount "widowmaker_unique" > 0 ) if ( GetDistance Player <= 512 ) if ( GetDeadCount "Iveri Llothri" > 0 ) ;Journal "MV_RecoverWidowmaker" 50 ForceGreeting endif endif endif ;endif ;endif If ( OnDeath == 1 ) Journal "MV_RecoverWidowmaker", 90 set done to -1 endif End
103brallionScriptbegin brallionScript short doonce short ringcount if ( OnDeath == 1 ) return endif if ( brallion->GetItemCount "exquisite_ring_brallion" < 1 ) set ringcount to 1 endif if ( doonce == -1 ) return endif if ( doonce == 0 ) if ( GetJournalIndex TG_SS_GreedySlaver >= 10 ) brallion->PositionCell 80,100,140,0 "Sadrith Mora, Fara's Hole in the Wall" set doonce to 1 endif endif if ( doonce == 1 ) if ( GetJournalIndex TG_SS_GreedySlaver >= 50 ) brallion->Position 145980.750, 38996.141, 911.657, 180 set doonce to -1 endif endif End brallionScript
104brerasScriptBegin brerasScript if ( GetJournalIndex HR_CowardDisgrace < 10 ) Return endif if ( GetJournalIndex HR_CowardDisgrace >= 70 ) if ( CellChanged == 1 ) if ( GetDisabled == 0 ) Disable endif endif Return endif if ( GetPCCell "Vivec, Arena" ) if ( OnDeath == 1 ) Journal HR_CowardDisgrace 70 Set DuelActive to 0 "Rothis Nethan"->StopCombat endif endif End
105broderGarilScriptBegin broderGarilScript short noLore short strongService if ( strongService != 1 ) set strongService to 1 endif if ( CellChanged == 0 ) return endif if ( Stronghold < 4 ) Disable else Enable endif End
106brownBookScriptBegin brownBookScript short doOnce short OnPCEquip if ( doOnce == 1 ) Return endif if ( OnActivate == 1 ) StartScript CouncilorTopicsTelvanni Set doOnce to 1 Activate endif if ( OnPCEquip == 1 ) StartScript CouncilorTopicsTelvanni Set doOnce to 1 endif End
107bulfimScriptbegin bulfimScript if ( GetDisabled == 1 ) return endif if ( GetJournalIndex TT_Compassion > 49 ) return endif if ( GetSpellEffects "Rust Chancre" == 0 ) Journal TT_Compassion 50 endif end bulfimScript
108cassiusScriptBegin cassiusScript short cassgreet short nolore if ( menumode == 1 ) return endif if ( cassgreet == -1 ) return endif if ( GetJournalIndex TT_SanctusShrine >= 20 ) if ( GetJournalIndex TT_SanctusShrine < 50 ) Return ;or some other way of saying in the voice of Swamp Thing: ;DO NOT FORCE YOUR GREETING HERE! endif endif if ( GetJournalIndex "EB_Invisible" == 0 ) if ( GetDistance Player <= 512 ) if ( cassgreet == 0 ) ForceGreeting set cassgreet to 1 endif endif endif if ( GetJournalIndex "EB_Invisible" == 70 ) if ( GetDistance Player <= 512 ) if ( cassgreet == 1 ) ForceGreeting set cassgreet to -1 endif endif endif if ( GetJournalIndex "EB_Invisible" == 100 ) if ( GetDistance Player <= 512 ) if ( cassgreet == 1 ) ForceGreeting set cassgreet to -1 endif endif endif End cassiusScript
109cattleScriptBegin cattleScript Short OnPCHitme short AiSet if ( menumode == 1 ) return endif if ( AiSet == 0 ) setfight 20 setflee 100 set AiSet to -1 endif if ( PCVampire != 1 ) return endif if ( OnDeath == 1 ) if ( GetJournalIndex "VA_VampHunter" == 100 ) Journal "VA_VampHunter" 110 elseif ( GetJournalIndex "VA_VampCountess" == 60 ) Journal "VA_VampCountess" 70 elseif ( GetJournalIndex "VA_VampAmulet" == 40 ) Journal "VA_VampAmulet" 50 endif endif if ( VampClan == 0 ) return elseif ( VampClan == 1 ) if ( GetJournalIndex "VA_VampHunter" == 100 ) if ( OnPCHitMe == 1 ) SetFight 0 SetFlee 0 StopCombat Player endif endif elseif ( VampClan == 2 ) if ( GetJournalIndex "VA_VampCountess" == 60 ) if ( OnPCHitMe == 1 ) SetFight 0 SetFlee 0 StopCombat Player endif endif elseif ( VampClan == 3 ) if ( GetJournalIndex "VA_VampAmulet" == 40 ) if ( OnPCHitMe == 1 ) SetFight 0 SetFlee 0 StopCombat Player endif endif endif End cattleScript
110CavernIncarnateDoorBegin CavernIncarnateDoor float timer short state short talking ;run the timer, can only talk after 6 seconds if ( talking == 1 ) set timer to timer + GetSecondsPassed if ( timer > 6 ) set talking to 0 set timer to 0 endif endif if ( OnActivate == 1 ) if ( GameHour > 6 ) if ( GameHour < 8 ) ;hour is 6 to 8 AM Say "vo\misc\A2-6_cave_open.mp3" , "In the dawn hour under Azura's Star, the door is opened." set state to 10 endif endif if ( GameHour > 18 ) if ( GameHour < 20 ) ; hour is 6 to 8 PM Say "vo\misc\A2-6_cave_open.mp3" , "In the dawn hour under Azura's Star, the door is opened." set state to 10 endif endif ;gets here if the hour is wrong if ( state != 10 ) if ( talking = 0 ) Say "vo\misc\A2-6_cave_closed.mp3", "The door is locked, and will not open. The star is the key." set talking to 1 endif endif endif if ( state == 10 ) ;need to make them wait if the door needs to open so they hear the voice Disableplayercontrols set timer to timer + getsecondspassed if ( timer > 5 ) set state to 0 set timer to 0 enableplayercontrols Activate endif endif End
111CharGenBedbegin CharGenBed ;for bed in chargen room short done if ( MenuMode == 1 ) return endif if ( OnActivate == 1 ) if ( done == 0 ) if ( Xbox == 0 ) MessageBox "Beds can be used to rest in public buildings. Press ^ActionRestMenu to rest when out in the wilderness.", "Ok" else MessageBox "Beds can be used to rest in public buildings. Press BLACK to rest when out in the wilderness.", "Ok" endif EnableRest ;the PC can now rest and use T set done to 1 return endif ShowRestMenu endif end
112CharGenBoatNPCbegin CharGenBoatNPC ;this is the guard on boat who says to move along short state float timer if ( menumode == 1) return endif if ( GetDisabled == 1 ) return endif if ( OnActivate == 1 ) return endif if ( GetDistance, Player < 180 ) if ( SayDone == 1) ;first greeting if ( state == 0 ) if ( timer == 0 ) ;using a timer so he doesn't talk ALL the time say, "vo\Misc\CharGenBoat1.wav", "This is where they want you. Head down to the dock and he'll show you to the Census Office." set state to 10 endif ;all other times after first else set timer to timer + GetSecondsPassed if ( timer > 6 ) set timer to 0 say, "vo\Misc\CharGenBoat2.wav", "Let's go. Move it along." endif endif endif endif end CharGenBoatNPC
113CharGenBoatWomenbegin CharGenBoatWomen ;this is the woman on the boat short state float timer if ( menumode == 1) return endif if ( OnActivate == 1 ) return endif if ( GetDistance, Player < 180 ) if ( SayDone == 1) ;first greeting if ( state == 0 ) if ( timer == 0 ) ;using a timer so he doesn't talk ALL the time say, "vo\Misc\CharGenWoman1.wav", "The sooner you leave, the sooner we can move on." set state to 10 endif ;all other times after first else set timer to timer + GetSecondsPassed if ( timer > 6 ) set timer to 0 say, "vo\Misc\CharGenWoman2.wav", "Yes, confused? We're all waiting." endif endif endif endif end CharGenBoatWomen
114CharGenClassNPCbegin CharGenClassNPC ;This is on the guy who creates your class. short state ;tracks state of questioning. -1 when over. Short NoLore ;blocks discussion of general topics float timer if ( menumode == 1) return endif if ( state == -1 ) if ( OnActivate == 1 ) Activate endif endif if ( GetHealth == 0 ) return endif ;return if you've talked to captain and don't have papers if ( "CharGen Captain".state == -1 ) SetHello 30 return endif ;greeting if ( State == 0 ) "CharGen StatsSheet"->Disable ;hide the actual scroll itself ;disable all the boat stuff outside and the guys "CharGen Boat"->Disable "CharGen Boat Guard 1"->disable "CharGen Boat Guard 2"->disable "CharGen Dock Guard"->disable "CharGen_cabindoor"->disable "CharGen_chest_02_empty"->disable "CharGen_crate_01"->disable "CharGen_crate_01_empty"->disable "CharGen_crate_01_misc01"->disable "CharGen_crate_02"->disable "CharGen_lantern_03_sway"->disable "CharGen_ship_trapdoor"->disable "CharGen_barrel_01"->disable "CharGen_barrel_02"->disable "CharGenbarrel_01_drinks"->disable "CharGen_plank"->disable if ( GetDistance, Player < 100 ) if ( State == 0 ) Say "vo\Misc\CharGen Class1.wav", "Ahh yes, we've been expecting you. You'll have to be recorded before you're officially released. There are a few ways we can do this, and the choice is yours." DisablePlayerControls set state to 10 endif endif if ( OnActivate == 1 ) ;in case they activate him instead of moving in if ( State == 0 ) Say "vo\Misc\CharGen Class1.wav", "Ahh yes, we've been expecting you. You'll have to be recorded before you're officially released. There are a few ways we can do this, and the choice is yours." DisablePlayerControls set state to 10 endif endif elseif ( State == 10 ) if ( SayDone == 1 ) EnableClassMenu set State to 12 endif elseif ( State == 12 ) if ( SayDone == 1 ) set timer to timer + GetSecondsPassed if ( timer > 1 ) Say "vo\Misc\CharGen Birth.wav", "Very good. The letter that preceded you mentioned you were born under a certain sign. And what would that be?" set State to 14 set timer to 0 endif endif elseif ( State == 14 ) if ( SayDone == 1 ) EnableBirthMenu set State to 15 endif elseif ( State == 15 ) if ( SayDone == 1 ) set timer to timer + GetSecondsPassed if ( timer > 1 ) Say "vo\Misc\CharGen Class2.wav", "Interesting. Now before I stamp these papers, make sure this information is correct." set State to 16 set timer to 0 endif endif ;show statreview menu elseif ( State == 16 ) if ( SayDone == 1 ) EnableStatReviewMenu set State to 17 endif ;show popup messages elseif ( State == 17 ) if ( SayDone == 1 ) set timer to timer + GetSecondsPassed if ( timer > 1 ) set timer to 0 EnableStatsMenu EnablePlayerControls StartScript RaceCheck ;sets the PCRace global flag for dialogue and such MessageBox "You now have a Stats Menu, where you can always view your information." "Ok" set state to 18 endif endif elseif ( State == 18 ) if ( Xbox == 1 ) MessageBox "Press B to use your menus. When you are done with them, press B again to close them." "Ok" else MessageBox "Right Clicking allows you to use your menus. When you are done with them, right click again to close them." "Ok" endif set state to 20 ;show papers elseif ( State == 20 ) Say "vo\Misc\CharGen Class3.wav", "Show your papers to the Captain when you exit to get your release fee." "CharGen StatsSheet"->Enable ;make the actual scroll show itself set State to 30 ;show how to pick them up elseif ( State == 30 ) if ( SayDone == 1 ) set timer to timer + GetSecondsPassed if ( timer > 1 ) set timer to 0 if ( Xbox == 1 ) MessageBox "Read your papers by pressing A while looking at them. Then select 'Take' to pick them up." "Ok" else MessageBox "Read your papers by pressing the ^ActionActivate while looking at them. Then select 'Take' to pick them up." "Ok" endif EnablePlayerViewSwitch EnableVanityMode set State to -1 endif endif elseif ( State == -1 ) if ( CharGenState != -1 ) ;this may need to be here for flow if ( OnActivate == 1 ) Activate endif if ( GetDistance, Player < 180 ) if ( Player->GetItemCount "CharGen StatsSheet" == 0 ) ;does not have sheet yet if ( SayDone == 1) set timer to timer + GetSecondsPassed if ( timer > 5 ) set timer to 0 say, "vo\Misc\CharGen Class4.wav", "Take your papers off the table and go see Captain Gravius." endif endif endif endif endif endif end CharGenClassNPC
115CharGenCustomsDoorbegin CharGenCustomsDoor ;door that opens up to customs house in back. Gives message when you get near ;11/5/01 Moved to boat door with new intro. short done if ( menumode == 1) return endif if ( done == 0 ) if ( GetDistance, Player < 300 ) if ( Xbox == 1 ) MessageBox "Look up at the hatch and press the A button to open it. A activates objects and people you are looking at.", "Ok" else MessageBox "Look up at the hatch and press ^ActionActivate to open it. ^ActionActivate activates objects and people you are looking at.", "Ok" endif set done to 1 endif endif end CharGenCustomsDoor
116CharGenDaggerbegin CharGenDagger ;for picking up the dagger in character generation short done short OnPCEquip ;only does message during chargen if ( CharGenState == -1 ) if ( OnActivate == 1 ) Activate return endif endif if ( OnActivate == 1 ) if ( done == 0 ) if ( Xbox == 0 ) MessageBox "Equip the dagger by dropping it on your picture in your inventory menu. ", "Ok" else MessageBox "Equip the dagger in your inventory menu. ", "Ok" endif set done to 1 endif Activate endif ;you equip the dagger if ( OnPCEquip == 1 ) if ( CharGenState != -1) ;only get message during chargen if ( done == 1 ) if ( Xbox == 0 ) MessageBox "Press ^ActionReadyItem to pull out your weapon. Once your weapon is readied, hold and release the left mouse button to swing it. The harder you swing it, the more damage it does, but the more fatigue you will drain.", "OK" else MessageBox "Press the X button to pull out your weapon. Once your weapon is readied, hold and release the RIGHT TRIGGER to swing it. The harder you swing it, the more damage it does, but the more fatigue you will drain.", "OK" endif set done to 2 endif endif endif end
117CharGenDialogueMessagebegin CharGenDialogueMessage ;give message before captian for dialogue, script goes on captain short done Short NoLore short state ;set to -1 when you give him papers, used in dialogue if ( menumode == 1) return endif if ( done == 0 ) if ( GetDistance, Player < 300 ) if ( Xbox == 1 ) MessageBox "Press A to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he'll start to dislike you.", "Ok" else MessageBox "Press ^ActionActivate to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he will start to dislike you.", "Ok" endif set done to 1 endif endif end CharGenDialogueMessage
118CharGenDisablebegin CharGenDisable ;goes on objects to disable in CharGen if ( CharGenState >= 0 ) return else disable endif end
119CharGenDoorEnterCaptainbegin CharGenDoorEnterCaptain ;this is the door that goes into see the captian ;it tells you to look in the barrel and get the ring ;safety check for all menus on short done if (done == 1) return endif if ( OnActivate == 1 ) if ( player->GetItemCount, "ring_keley" < 1 ) MessageBox "Check the barrel to your left, and get the ring inside." "Ok" else set done to 1 Activate endif endif End
120CharGenDoorExitbegin CharGenDoorExit ;this is the door that exits the first part of the census building ;safety check for all menus on short done if (done == 1) return endif if ( OnActivate == 1 ) enablestatsmenu enableinventorymenu enablemagicmenu enablemapmenu enableplayerfighting enableplayermagic set done to 1 Activate endif End
121CharGenDoorExitCaptainbegin CharGenDoorExitCaptain ;this is the door that exits the second part of the census building ;safety check for all menus on short done if (done == 1) return endif if ( OnActivate == 1 ) if ( player->GetItemCount, "bk_a1_1_caiuspackage" < 1 ) MessageBox "Make sure you ask Sellus Gravius about your duties before leaving." "Ok" else set done to 1 ;ends character generation set CharGenState to -1 ;safety check all menus enablestatsmenu enableinventorymenu enablemagicmenu enablemapmenu enableplayerfighting enableplayermagic Activate endif endif End
122CharGenDoorGuardTalkerbegin CharGenDoorGuardTalker ;this guy needs to talk to you about the door and unlock it if you have the papers short done float timer if ( menumode == 1) return endif if ( done == 0 ) if ( GetDistance, Player < 180 ) if ( player->GetItemCount, "CharGen StatsSheet" >= 1 ) if ( SayDone == 1) say, "vo\Misc\CharGen Door2.wav", "Continue through to the next building, and talk to Sellus Gravius." "CharGen Door Hall"->Unlock "CharGen Door Hall"->PlaySound3D, "Open Lock" enableplayerfighting enableplayermagic set done to 1 endif else ;does not have papers set timer to timer + GetSecondsPassed if ( timer > 3 ) set timer to 0 endif if ( SayDone == 1) if ( timer == 0 ) ;using a timer so he doesn't talk ALL the time say, "vo\Misc\CharGen Door1.wav", "You'll go no further until you have your papers." endif endif endif endif endif end CharGenDoorGuardTalker
123CharGenFatigueBarrelbegin CharGenFatigueBarrel ;barrel in courtyard that shows map menu short done if ( menumode == 1) return endif if ( done == 0 ) if ( GetDistance, Player < 400 ) enablemapmenu MessageBox "You now have a map menu. It shows you the name of the place you are in and your facing.", "Ok" EnablePlayerJumping enableplayerfighting enableplayermagic set done to 1 endif endif end
124CharGenJournalMessagebegin CharGenJournalMessage ;give message after leaving about journal short done if ( menumode == 1) return endif if ( done == 0 ) if ( GetDistance, Player < 300 ) if ( Xbox == 1 ) MessageBox "Press the WHITE button to use your journal and review what you've been told. You should probably check out Arrille's Tradehouse up on the left. You're on your own now. Good luck.", "Ok" else MessageBox "Press ^ActionJournal to use your journal and review what you've been told. You should probably check out Arrille's Tradehouse up on the left. You're on your own now. Good luck.", "Ok" endif set done to 1 endif endif end CharGenJournalMessage
125CharGenNameNPCbegin CharGenNameNPC ;this is the prisoner who asks you you're name short state float timer short wandering if ( menumode == 1) return endif if ( OnActivate == 1 ) return endif ;done, standing if ( state == -1 ) if ( GetDistance, Player < 150 ) set timer to timer + GetSecondsPassed if ( timer > 14 ) set timer to 0 say, "vo\Misc\CharGenName4.wav", "You better do what they say." endif endif endif if ( wandering == 0 ) if ( GetDistance, Player > 500 ) if ( state == -1 ) ;AIWander 32 0 0 75 20 20 set wandering to 1 endif endif endif if ( state == 0 ) set timer to ( timer + Getsecondspassed ) if ( timer >= 1 ) ;fader delay ;he asks if you are ok Say, "Vo\Misc\CharGenName1.wav", "Stand up, there you go. You were dreaming. What's your name?" set State to 10 set timer to 0 endif ;show name menu when done talking elseif ( State == 10 ) if ( SayDone == 1 ) EnableNameMenu set State to 20 endif ;name is entered, guy says we're there elseif ( State == 20 ) set timer to ( timer + Getsecondspassed ) if ( timer >= 1 ) ;delay ;he asks if you are ok Say, "vo\Misc\CharGenName2.wav", "Well, not even last night's storm could wake you. I heard them say we've reached Morrowind. I'm sure they'll let us go." set State to 40 set timer to 0 endif ;says the guard is coming when he gets close elseif ( State == 40 ) if ( SayDone == 1 ) if ( GetDistance, "CharGen Boat Guard 2" <= 400 ) ;PlayGroup idle3 1 Say, "vo\Misc\CharGenName3.wav", "Quiet, here comes the guard." set State to -1 set timer to 5 ;force him to say next line a little earlier endif endif endif end CharGenNameNPC
126CharGenRaceNPCbegin CharGenRaceNPC ;this is the guard on the dock who asks race short state float timer if ( menumode == 1) return endif if ( GetDisabled == 1 ) return endif if ( OnActivate == 1 ) return endif ;done, standing if ( state == -1 ) if ( GetDistance, Player < 150 ) set timer to timer + GetSecondsPassed if ( timer > 6 ) set timer to 0 say, "vo\Misc\CharGenDock3.wav", "Head on in." endif endif endif if ( state == 0 ) ;walk him out to dock ;AITravel -8593, -73295, 227 ;up on boat AITravel -8914, -73093, 126 ;before plank set state to 10 elseif ( state == 10 ) if ( GetDistance, Player < 108 ) set state to 20 AiWander 0 0 0 90 0 0 0 0 0 0 0 0 endif ;PC has reached him, start talking elseif ( State == 20 ) DisablePlayerControls Say "Vo\Misc\CharGenDock1.wav", "You finally arrived, but our records don't show from where." set State to 30 elseif ( state == 30 ) if ( saydone == 1 ) Enableracemenu set state to 40 endif elseif ( state == 40 ) set timer to ( timer + Getsecondspassed ) ;let then look around delay if ( timer >= 1.5 ) Say "Vo\Misc\CharGenDock2.wav", "Great. I'm sure you'll fit right in. Follow me up to the office and they'll finish your release." set State to 50 set timer to 0 endif elseif ( state == 50 ) if ( SayDone == 1 ) EnablePlayerControls ;AITravel -9879, -72443, 208 ;goes up to office door AITravel -9944, -72481, 126 ;next to door ;AIEscort Player, 12, -9944, -72481, 126 ;next to door set state to -1 endif endif end CharGenRaceNPC
127CharGenStatsSheetbegin CharGenStatsSheet ;for picking up the stats sheet, shows inventory short state short OnPCAdd ;auto set by code when object is picked up, see help file if ( menumode == 1 ) return endif if ( state == 20 ) return endif if ( State == 0 ) if ( OnActivate == 1) Activate EnableInventoryMenu endif ;if ( Player->GetItemCount "CharGen Statssheet" > 0 ) if ( OnPCAdd == 1 ) MessageBox "You now have an Inventory Menu, where you can see what you are carrying." "Ok" enableplayerfighting enableplayermagic set state to 10 return endif endif if ( state == 10 ) if ( Xbox == 0 ) MessageBox "Like all menus, right click to use your new menu. You can click and move objects from the world to your inventory." "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 endif end
128CharGenStuffRoombegin CharGenStuffRoom short MessageState short DoneIngred short DoneLight short DonePick short DonePotion short DoneNote ;displays messages as you pick up stuff in chargen if ( MenuMode == 1 ) return endif if ( CharGenState == -1 ) return endif ;check for bread (ingred) if ( DoneIngred == 0 ) if ( Player->GetItemCount, "ingred_bread_01" >= 1 ) MessageBox "You can eat ingredients by equipping them on your character in the inventory menu. Ingredients have different properties. Some may hurt you and some may help.", "Ok" set DoneIngred to 1 endif endif ;check for crabmeat (ingred) if ( DoneIngred == 0 ) if ( Player->GetItemCount, "ingred_crab_meat_01" >= 1 ) MessageBox "You can eat ingredients by equipping them on your character in the inventory menu. Ingredients have different properties. Some may hurt you and some may help.", "Ok" set DoneIngred to 1 endif endif ;check for light if ( DoneLight == 0 ) if ( Player->GetItemCount, "light_com_candle_10_128" >= 1 ) MessageBox "Equip lights and torches in the inventory menu. Lights and torches can only be used for a limited time before they burn out.", "Ok" set DoneLight to 1 endif endif ;check for lockpick if ( DonePick == 0 ) if ( Player->GetItemCount, "pick_apprentice_01" >= 1 ) MessageBox "Equip lockpicks in the inventory menu. Try picking the lock of the small chest on the shelf.", "Ok" Set DonePick to 1 endif endif ;check for potion if ( DonePotion == 0 ) if ( Player->GetItemCount, "Potion_Cyro_Whiskey_01" >= 1 ) MessageBox "This regional liquor acts like a potion. To drink potions, equip them in the inventory menu. ", "Ok" set DonePotion to 1 endif endif ;check for note if ( DoneNote == 0 ) if ( Player->GetItemCount, "note to hrisskar" >= 1 ) MessageBox "Letters, books, and scrolls can be read by equipping them in your inventory menu.", "Ok" set DoneNote to 1 endif endif ;display message when they walk on if ( MessageState == 0) if ( GetStandingPC == 1) ;player walks onto this thing if ( Xbox == 1 ) MessageBox "You should learn how to do combat. Pick up the dagger on the table by activating it with the A button.", "Ok" else MessageBox "You should learn how to do combat. Pick up the dagger on the table by activating it with ^ActionActivate.", "Ok" endif set MessageState to 1 endif endif end CharGenStuffRoom
129CharGenWalkNPCbegin CharGenWalkNPC ;this is the guard who walks you through the boat short state float timer if ( menumode == 1) return endif if ( OnActivate == 1 ) return endif ;done, standing if ( state == -1 ) if ( GetDistance, Player < 150 ) set timer to timer + GetSecondsPassed if ( timer > 6 ) set timer to 0 say, "vo\Misc\CharGenWalk3.wav", "On deck now, prisoner." endif endif endif ;start walking to below deck if ( state == 0 ) set timer to timer + GetSecondsPassed if ( timer > 8 ) set state to 5 set timer to 0 endif ;walk on down after pause elseif ( state == 5 ) AITravel 90, -90, -88 set state to 10 elseif ( state == 10 ) if ( GetAIPackageDone == 1 ) ;he's reached the player set state to 20 endif ;he's at the PC, start talking elseif ( State == 20 ) say "Vo\Misc\CharGenWalk1.wav", "This is where you get off, come with me." set State to 30 set timer to 0 ;give message on how to move elseif ( State == 30 ) if ( SayDone == 1 ) if ( Xbox == 1) MessageBox "The LEFT THUMBSTICK moves you, and the RIGHT THUMBSTICK looks around.", "Ok" else MessageBox "^ActionForward and ^ActionBack move forward and back. ^ActionSlideLeft and ^ActionSlideRight move side to side, and the mouse looks around.", "Ok" ;MessageBox "W and S move forward and back. A and D move side to side, and the mouse looks around.", "Ok" endif set State to 40 endif ;you now have to walk up to dock elseif ( State == 40 ) EnablePlayerControls ;AITravel 185, 174, 170 AIEscort Player, 12, 195, 100, 170 set State to 50 elseif ( state == 50 ) if ( GetAIPackageDone == 1 ) ;he's reached the player set state to 53 endif ;get him to travel back a little so he turns around elseif ( state == 53 ) AITravel 185, 174, 170 ;face -500 500 set state to 57 ;set state to 60 elseif ( state == 57 ) if ( GetAIPackageDone == 1 ) ;he's turned around set state to 60 endif ;he's at the stairs, tell PC to get up on board elseif ( state == 60 ) if ( GetDistance, Player <= 200 ) Say "Vo\Misc\CharGenWalk2.wav", "Get yourself up on deck, and let's keep this as civil as possible." set state to -1 endif endif ;this is end of big elseifs for CharGenState end CharGenWalkNPC
130CharGen_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 10 return 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
131clientScriptBegin clientScript short state if ( MenuMode == 1 ) Return endif if ( state == -1 ) return endif if ( Player->GetItemCount "bk_clientlist" > 0 ) "hunger_audenian"->Enable "hunger_audenian"->StartCombat Player set state to -1 "Audenian Valius"->ModDisposition -30 "Audenian Valius"->ModFight 30 endif End clientScript
132codusScriptBegin codusScript ;for IL_Courtesy, set to 1 in dialogue if he gives you a free copy short redBookRiddles End
133CorprusBeastSafebegin CorprusBeastSafe ; makes corprus monsters stop fighting at Corprusarium when PC makes nice ; Main quest A2_3_CorprusCure if ( GetJournalIndex A2_3_CorprusSafe = 100 ) if ( getdeadcount "corprus_stalker_fyr01" == 0 ) "corprus_stalker_fyr01"->stopcombat "corprus_stalker_fyr01"->setfight 10 "corprus_stalker_fyr01"->setdisposition 30 endif if ( getdeadcount "corprus_stalker_fyr02" == 0 ) "corprus_stalker_fyr02"->stopcombat "corprus_stalker_fyr02"->setfight 10 "corprus_stalker_fyr02"->setdisposition 30 endif if ( getdeadcount "corprus_stalker_fyr03" == 0 ) "corprus_stalker_fyr03"->stopcombat "corprus_stalker_fyr03"->setfight 10 "corprus_stalker_fyr03"->setdisposition 30 endif if ( getdeadcount "corprus_lame_fyr01" == 0 ) "corprus_lame_fyr01"->stopcombat "corprus_lame_fyr01"->setfight 10 "corprus_lame_fyr01"->setdisposition 30 endif if ( getdeadcount "corprus_lame_fyr02" == 0 ) "corprus_lame_fyr02"->stopcombat "corprus_lame_fyr02"->setfight 10 "corprus_lame_fyr02"->setdisposition 30 endif if ( getdeadcount "corprus_lame_fyr03" == 0 ) "corprus_lame_fyr03"->stopcombat "corprus_lame_fyr03"->setfight 10 "corprus_lame_fyr03"->setdisposition 30 endif if ( getdeadcount "corprus_lame_fyr04" == 0 ) "corprus_lame_fyr04"->stopcombat "corprus_lame_fyr04"->setfight 10 "corprus_lame_fyr04"->setdisposition 30 endif endif StopScript CorprusBeastSafe end CorprusBeastSafe
134CorprusOnPCbegin CorprusOnPC short doOnce if ( OnDeath == 1 ) player->AddSpell "Corprus" MessageBox, "With his dying breath, Dagoth Gares smiles and curses you. 'Even as my Master wills, you shall come to him, in his flesh, and of his flesh.'", "Ok" Journal A2_2_6thHouse 50; tell PC he has got corprus disease endif if ( doOnce == 0 ) if ( GetDistance Player < 1000 ) ForceGreeting set doOnce to 1 endif endif end CorprusOnPC
135corrudusScriptBegin corrudusScript ;for HR_Caldera* short givenKey End
136CouncilorTopicsHlaaluBegin CouncilorTopicsHlaalu AddTopic "Crassius Curio" AddTopic "Dram Bero" AddTopic "Velanda Omani" AddTopic "Yngling Half-Troll" AddTopic "Nevena Ules" StopScript CouncilorTopicsHlaalu End
137CouncilorTopicsRedoranBegin CouncilorTopicsRedoran AddTopic "Bolvyn Venim" AddTopic "Athyn Sarethi" AddTopic "Brara Morvayn" AddTopic "Hlaren Ramoran" AddTopic "Miner Arobar" AddTopic "Garisa Llethri" StopScript CouncilorTopicsRedoran End
138CouncilorTopicsTelvanniBegin CouncilorTopicsTelvanni AddTopic "Master Aryon" AddTopic "Master Neloth" AddTopic "Archmagister Gothren" AddTopic "Mistress Dratha" AddTopic "Mistress Therana" End
139CountMonopolyVotesBegin CountMonopolyVotes ;runs from Master Aryon's Greeting during quest ;global MonopolyVotes short deadCouncilors ;reset vars Set deadCouncilors to 0 Set MonopolyVotes to 0 if ( "Miner Arobar".mageMonopolyVote == 1 ) Set MonopolyVotes to ( MonopolyVotes + 1 ) endif if ( "Garisa Llethri".mageMonopolyVote == 1 ) Set MonopolyVotes to ( MonopolyVotes + 1 ) endif if ( "Brara Morvayn".mageMonopolyVote == 1 ) Set MonopolyVotes to ( MonopolyVotes + 1 ) endif if ( "Hlaren Ramoran".mageMonopolyVote == 1 ) Set MonopolyVotes to ( MonopolyVotes + 1 ) endif if ( "Athyn Sarethi".mageMonopolyVote == 1 ) Set MonopolyVotes to ( MonopolyVotes + 1 ) endif if ( GetDeadCount "Miner Arobar" > 0 ) Set deadCouncilors to deadCouncilors + 1 endif if ( GetDeadCount "Garisa Llethri" > 0 ) Set deadCouncilors to deadCouncilors + 1 endif if ( GetDeadCount "Brara Morvayn" > 0 ) Set deadCouncilors to deadCouncilors + 1 endif if ( GetDeadCount "Hlaren Ramoran" > 0 ) Set deadCouncilors to deadCouncilors + 1 endif if ( GetDeadCount "Athyn Sarethi" > 0 ) Set deadCouncilors to deadCouncilors + 1 endif if ( deadCouncilors > 2 ) ;if quest is impossible... i.e. too many councilors are dead... Set MonopolyVotes to -1 endif StopScript countMonopolyVotes End
140CountTelvanniHortatorbegin CountTelvanniHortator ;reset global variable set HortatorVotes to 0 ;This is the model for all councilors ;if he's dead, you have his vote ;if he's alive, you have to check if you got his vote ;the local variable is set in dialogue when you do whatever ;you have to do to get that councilor's vote if ( GetDeadCount Aryon >= 1 ) set HortatorVotes to ( HortatorVotes + 1 ) else if ( GetJournalIndex B7_AryonHort >= 50 ) set HortatorVotes to ( HortatorVotes + 1 ) endif endif if ( GetDeadCount Dratha >= 1 ) set HortatorVotes to ( HortatorVotes + 1 ) else if ( GetJournalIndex B7_DrathaHort >= 50 ) set HortatorVotes to ( HortatorVotes + 1 ) endif endif if ( GetDeadCount Gothren >= 1 ) set HortatorVotes to ( HortatorVotes + 1 ) endif if ( GetDeadCount Neloth >= 1 ) set HortatorVotes to ( HortatorVotes + 1 ) else if ( GetJournalIndex B7_NelothHort >= 50 ) set HortatorVotes to ( HortatorVotes + 1 ) endif endif if ( GetDeadCount Therana >= 1 ) set HortatorVotes to ( HortatorVotes + 1 ) else if ( GetJournalIndex B7_TheranaHort >= 50 ) set HortatorVotes to ( HortatorVotes + 1 ) endif endif ;in House Telvanni, Baladas can become a councilor ;if he is a councilor, you need to check him also ;otherwise, just increment it once for good measure if ( GetJournalIndex HT_BaladasAlly >= 100 ) if ( GetDeadCount "Baladas Demnevanni" >= 1 ) set HortatorVotes to ( HortatorVotes + 1 ) else if ( GetJournalIndex B7_BaladasHort >= 50 ) set HortatorVotes to ( HortatorVotes + 1 ) endif endif else set HortatorVotes to ( HortatorVotes + 1 ) endif ;stop the script so that it doesn't count over and over StopScript countTelvanniHortator End
141CountWizardSpellsBegin CountWizardSpells ;runs ONCE from Aryon's Greeting short hasLevitate short hasFire Set hasLevitate to 0 Set hasFire to 0 if ( Player->GetSpell "levitate" == 1 ) Set hasLevitate to 1 endif if ( Player->GetSpell "wild levitate" == 1 ) Set hasLevitate to 1 endif if ( Player->GetSpell "great levitate" == 1 ) Set hasLevitate to 1 endif if ( Player->GetSpell "fire storm" == 1 ) Set hasFire to 1 endif if ( Player->GetSpell "fireball" == 1 ) Set hasFire to 1 endif if ( Player->GetSpell "Fireball_large" == 1 ) Set hasFire to 1 endif if ( Player->GetSpell "Recall" == 1 ) if ( hasLevitate == 1 ) if ( hasFire == 1 ) set Aryon.learnedWizardSpells to 1 else set Aryon.learnedWizardSpells to 0 endif endif endif StopScript CountWizardSpells End
142crassiusScriptBegin crassiusScript ;for HH_BankFraud short givenOrders ;for HH_ReplaceDocs short givenDocuments ;for Hlaalu Hortator short myVote short nolore End
143DaedraAzuraBegin DaedraAzura short talk short state if ( CellChanged == 1 ) set talk to 0 endif if ( OnActivate == 1 ) set talk to 1 endif if ( talk == 0 ) return endif if ( GetJournalIndex "DA_Azura" < 10 ) if ( state == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_AzuraIntro1.wav", "You have come here for a reason, though you may not know what it is. Sheogorath and I have made a wager. He contends that solitude causes madness, while I maintain it allows for solace and meditation. To test this, I sent one of my priestesses to live alone on an island north of Dagon Fel. If she can live there for 100 years, continuing her life of prayer, my theory will be proven. If not, Sheogorath wins our wager." set state to 10 endif elseif ( state == 10 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_AzuraIntro2.wav", "The time has almost passed, and she remains steadfast. But, Sheogorath has tried to sway the decision in his favor. Travel there, rid the island of his minions, and bring back proof of his meddling. Do not disturb the wise woman, though, as that would void our wager. Serve me, and I will reward you well." set state to 20 endif elseif ( state == 20 ) if ( Player->SayDone == 1 ) Journal "DA_Azura", 10 ;give journal entry "golden saint_staada"->Enable "daedroth_az"->Enable "hunger_az_01"->Enable "atronach_flame_az"->Enable "atronach_storm_az"->Enable "hunger_az_02"->Enable "ogrim_az"->Enable set talk to 0 set state to 0 endif endif endif if ( GetJournalIndex "DA_Azura" == 20 ) if ( Player->GetItemCount "Sheogorath's Signet Ring" > 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_AzuraComplete.wav","Well done, mortal. You have preserved the integrity of my wager with Sheogorath. Now it will end as fated, and not due to the meddling of the Daedra Prince. Take this, and use it wisely." player->AddItem "Misc_soulgem_Azura" 1 MessageBox "Azura's Star has been added to your inventory." Journal "DA_Azura" 30 endif endif endif if ( GetJournalIndex "DA_Azura" == 25 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_AzuraFail.wav","You have caused me to lose my wager, mortal. Now, it matters not that Sheogorath meddled in the outcome of our wager. You have failed, but it seems that is your fate." endif endif if ( state == 0 ) set talk to 0 endif End
144DaedraBoethiahBegin DaedraBoethiah short talk short state if ( MenuMode == 1 ) Return endif if ( GetDeadCount "duma gro-lag" > 0 ) return endif if ( OnActivate == 1 ) set talk to 1 endif if (GetJournalIndex "DA_Boethiah" > 10 ) return endif if ( talk == 1 ) if ( GetJournalIndex "DA_Boethiah" <= 10 ) if ( State == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_BoethiahIntro1.wav", "What do you want with me, mortal? My shrine is in ruins, my priests have forgotten me. Will you rebuild my shrine, mortal? Restore it in all its glory? Accomplish this, and I will reward you. You will be the bearer of Goldbrand, my sword of legend. There is one who can help you do this for me. Listen...." set state to 10 endif elseif ( State == 10 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_BoethiahIntro2.wav", "Rough hands to smooth stone, Carving rock instead of bone, In Caldera an artist waits, His masterpiece to create. Find the one who may shape the rock. Go." Player->AddTopic "sculptor" Journal "DA_Boethiah" 20 Journal "DA_Boethiah" 30 endif endif endif endif End
145DaedraBoethiah2Begin DaedraBoethiah2 short talk short state if ( OnActivate == 1 ) ;MessageBox "ACTIVATED" set talk to 1 endif if ( state == 10 ) return endif if (GetJournalIndex "DA_Boethiah" < 60 ) return endif if ( talk == 1 ) if ( GetJournalIndex "DA_Boethiah" >= 60 ) ;MessageBox "JOURNAL CHECK" if ( State == 0 ) if ( Player->SayDone == 1 ) ;MessageBox "SHOULD START TALKING" Player->Say "Vo\Misc\DA_BoethiahComplete.wav", "You have done well. This shrine is a worthy one, and my power will again be felt. Take this, mortal. Wield the Goldbrand with a strong hand, and let all know that my Shrine has risen!" Player->AddItem "katana_goldbrand_unique" 1 MessageBox "Goldbrand has been added to your inventory." Journal "DA_Boethiah" 70 set state to 10 endif endif endif endif End
146DaedraMalacathBegin DaedraMalacath short talk short state if ( OnActivate == 1 ) set talk to 1 endif if ( talk == 1 ) if ( GetJournalIndex "DA_Malacath" < 10 ) if ( Player->GetRace "Orc" == 1 ) if ( State == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MalacathIntro1.wav", "You have summoned me, orc? Have you come to restore the honor of your people? I have in my possession the Helm of Oreyn Bearclaw, the dark elven 'hero.' His deeds are numerous, but he was a false hero. They were performed by Kharag gro-Khar, his orcish friend. It is time this legend of this hero was put to rest. Find the last of his bloodline, kill him, and I will grant you the Helm. Look for him in the city where the Man-God lives. " set state to 10 Journal "DA_Malacath" 10 "Farvyn Oreyn"->enable "dreynis nothro"->enable "vala herennius"->enable netch_bull_dead->enable netch_bull_dead_2->enable AddTopic "Oreyn Bearclaw" AddTopic "Kharag gro-Khar" set talk to 0 endif endif elseif ( Player->GetRace "Orc" != 1 ) if ( State == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MalacathIntro2.wav", "You have summoned me? Hmmph. You are all the same. But, perhaps you can be of use to me. I have in my possession the Helm of Oreyn Bearclaw, the dark elven 'hero.' His deeds are numerous, but he was a false hero. All were performed by Kharag gro-Khar, his orcish friend. It is time this legend was put to rest. Find the last of his bloodline, kill him, and I will grant you the Helm. Look for the him in the city where the Man-God lives." set state to 10 AddTopic "Oreyn Bearclaw" AddTopic "Kharag gro-Khar" Journal "DA_Malacath" 10 "Farvyn Oreyn"->enable "dreynis nothro"->enable "vala herennius"->enable netch_bull_dead->enable netch_bull_dead_2->enable set talk to 0 endif endif endif elseif ( GetJournalIndex "DA_Malacath" == 60 ) ;checks to see if Farvyn Oreyn is dead if ( Player->SayDone == 1 ) if ( State == 10 ) Player->Say "Vo\Misc\DA_MalacathComplete.wav","You have killed the false hero, and ensured there will be no more to follow. You have helped bring honor back to the Orcish people, and for that I am glad. Here, take the Helm of Oreyn Bearclaw. Wear it proudly, and let it serve as a reminder of what really happened." player->AddItem "helm_bearclaw_unique" 1 MessageBox "The Helm of Oreyn Bearclaw has been added to your inventory." Journal "DA_Malacath" 70 set talk to 0 endif endif endif endif if ( GetJournalIndex "DA_Malacath" >= 10 ) if ( GetJournalIndex "DA_Malacath" < 60 ) set talk to 0 endif endif End
147DaedraMehrunesBegin DaedraMehrunes short talk short state short button short messageOn if ( OnActivate == 1 ) set talk to 1 endif if ( GetJournalIndex "DA_Mehrunes" == 20 ) if ( Player->GetItemCount "Rusty_Dagger_UNIQUE" > 0 ) if ( GetDistance Player < 800 ) Journal "DA_Mehrunes" 30 endif endif endif if ( talk == 1 ) if ( GetJournalIndex "DA_Mehrunes" < 10 ) if ( State == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MehrunesIntro.wav", "Why do you call on me, little mortal? Do you seek your death so soon? I should crush you where you stand, yet you show mettle by even approaching me. How ambitious are you, little one." set state to 10 endif elseif ( State == 10 ) if ( Player->SayDone == 1 ) Journal "DA_Mehrunes" 10 ;give journal entry MessageBox "Would you like a chance to prove your worth to me?" "I wish to prove my worth." "I have no desire to deal with you, Daedra Prince." ;choice to do quest set messageOn to 1 set talk to 0 set state to 20 endif endif elseif ( GetJournalIndex "DA_Mehrunes" == 30 ) if ( Player->GetItemCount "Rusty_Dagger_UNIQUE" > 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MehrunesComplete.wav","You've found my Razor. Good. Can you feel its hunger? Can you feel its frustration? Now, I will make it again what it once was, what it shall always be. Draw a line of blood across the land in the name of Mehrunes Dagon! " player->AddItem "mehrunes'_razor_unique" 1 player->RemoveItem "Rusty_Dagger_Unique" 1 MessageBox "Mehrunes' Razor has been added to your inventory." Journal "DA_Mehrunes" 40 endif endif endif endif if ( messageOn == 1) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif if ( button == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MehrunesChoice1.wav","You are brave or foolish. Perhaps both. This, then, is your chance to prove your courage. My Razor, slayer of man and mer, scourge of all who stand before it, lies dormant. Stolen by an unworthy bearer, an elf of little courage or consequence, it lies unused, gathering dust in the Alas Tomb near Molag Mar. Return it to me, mortal. Prove yourself to be a worthy bearer of Mehrunes' Razor." Journal "DA_Mehrunes" 20 endif elseif ( button == 1 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MehrunesChoice2.wav","I expected little else. Take your leave of this place or die where you stand." Journal "DA_Mehrunes" 25 set button to 0 ;disable endif endif endif if ( state == 20 ) set talk to 0 endif End
148DaedraMephalaBegin DaedraMephala short talk if ( OnActivate == 1 ) set talk to 1 endif if ( talk == 1 ) if ( GetJournalIndex "DA_Mephala" == 50 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MephalaComplete.wav", "You have done well, mortal. There are some things that must be done to preserve the order. And it will be amusing for me when this business comes to light. I look forward to it. Take this ring, mortal. Through the brightest day it will carry you with speed and stealth. Leave me now." Journal "DA_Mephala" 60 Player->AddItem "ring_khajiit_unique" 1 MessageBox "The Ring of Khajiit has been added to your inventory." "balyn omavel"->Disable "balyn omavel-DEAD"->Enable "furn_de_p_chair_02_UNI2"->Enable "misc_com_metal_plate_07_UNI2"->Enable "ingred_bread_01_UNI2"->Enable "misc_com_wood_knife_UNI2"->Enable "misc_com_wood_spoon_01_UNI2"->Enable "misc_com_wood_fork_UNI2"->Enable "furn_de_p_chair_02_UNI1"->Disable "misc_com_metal_plate_07_UNI1"->Disable "misc_com_wood_fork_UNI1"->Disable "misc_com_wood_spoon_01_UNI1"->Disable "misc_com_wood_knife_UNI1"->Disable endif endif endif set talk to 0 End
149DaedraMolagBalBegin DaedraMolagBal short talk short state if ( OnActivate == 1 ) ;MessageBox "THIS IS WHERE IT ACTIVATES" set talk to 1 endif if ( talk == 1 ) if ( GetJournalIndex "DA_MolagBal" < 10 ) ;MessageBox "JUST CHECKED THE JOURNAL" if ( State == 0 ) ;MessageBox "JUST CHECKED THE STATE" if ( Player->SayDone == 1 ) ;MessageBox "THIS IS WHERE IT SHOULD TALK" Player->Say "Vo\Misc\DA_MolagBalIntro1.wav", "Why do you summon me now? I have no time for your pleadings, weakling. I have other matters that need my attention. Menta Na!!! He will pay for his insolence. Listen well--those in my service will do my bidding, or they will suffer eternal torment. You will serve me, mortal." set state to 10 endif elseif ( State == 10 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MolagBalIntro2.wav", "Menta Na has grown careless and lazy. He sits in his wretched cave while life on the surface goes on unmolested. He was spawned a creature of terror! His role is to sow fear and discord among men and mer, yet he is content to stay locked in his cave and mock my will!" set state to 20 endif elseif ( State ==20 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MolagBalIntro3.wav", "Kill him, mortal. Set his soul flying to the Outer Realms so that I might show him eternal torture for his disobedience. Take this key. You will find him in in the caves of Kora-Dur, east of Kogoruhn. Kill this lazy fool for me, mortal. Do this, and you will have my favor." set state to 30 endif elseif ( State == 30 ) if ( Player->SayDone == 1 ) Journal "DA_MolagBal", 10 ;give journal entry Player->AddItem "key_menta_na" 1 MessageBox "Menta Na's Key has been added to your inventory." "daedroth_menta_unique"->Enable set talk to 0 set state to 0 endif endif elseif ( GetJournalIndex "DA_MolagBal" == 20 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_MolagBalComplete.wav","Ah, you have freed the soul of Menta Na! Torment will be his. Endless agony is all he will know until the end of time. You have performed well, mortal. Perhaps you will be my servant again one day. Take this and use it well. Bring strife and discord with you wherever you may travel. Now go." player->AddItem "mace of molag bal_unique" 1 MessageBox "The Mace of Molag Bal has been added to your inventory." Journal "DA_MolagBal" 30 set talk to 0 endif endif endif if ( state == 0 ) set talk to 0 endif End
150DaedraSheogorathBegin DaedraSheogorath short talk short state if ( OnActivate == 1 ) set talk to 1 endif if ( talk == 1 ) if ( GetJournalIndex "DA_Sheogorath" < 10 ) if ( State == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_SheogorathIntro.wav", "What is it, mortal? Have you come to be of service to Sheogorath? That in and of itself speaks toward your madness. This pleases me. Fetch the Fork of Horripilation from the mad hermit near Ald Redaynia. Take care with him. He's not the most...stable man. " set state to 10 endif elseif ( State == 10 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_SheogorathIntro2.wav", "Use the Fork wisely, mortal. Few have wielded it who have not come away changed. Use the Fork to strike a deathblow to the giant bull netch that resides near the hermit. Do this, return the Fork of Horripilation to me, and Sheogorath will reward you well." set state to 20 endif elseif ( State == 20 ) if ( Player->SayDone == 1 ) Journal "DA_Sheogorath", 10 ;give journal entry AddTopic "Fork of Horripilation" AddTopic "giant bull netch" AddTopic "mad hermit" "Netch_Giant_UNIQUE"->enable set talk to 0 set state to 0 endif endif elseif ( GetJournalIndex "DA_Sheogorath" == 60 ) if ( Player->GetItemCount "fork_horripilation_unique" > 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\DA_SheogorathComplete.wav", "Ah...I see you have completed my little errand. Well done. Perhaps you've gotten a taste of madness as well? Do not believe madness to be a curse, mortal. For some, it is the greatest of blessings...a bitter mercy perhaps, but mercy nonetheless. Give me the Fork of Horripilation. I believe I have something more suitable for your needs. Go now. Remember what you have seen." player->RemoveItem "fork_horripilation_unique" 1 player->AddItem "spear_mercy_unique" 1 MessageBox "The Spear of Bitter Mercy has been added to your inventory." Journal "DA_Sheogorath" 70 endif endif endif endif if ( state == 0 ) set talk to 0 endif End
151DagothDoorDetectorbegin DagothDoorDetector ;checks for player's distance and heart being destroyed and sets everything in motion ;this is in two places to check for when the PC has left the statue and is away from the heart so we can destroy it ;looks like a bucket by the door and off of the bridge ;global short DestroyBlight if ( HeartDestroyed == 1 ) if ( GetDistance, Player < 1200 ) if ( DestroyBlight == 0 ) StartScript EndGame endif endif endif End
152DagothTaunt_1Begin DagothTaunt_1 short done if ( MenuMode == 1 ) return endif if ( done == 1 ) return endif if ( GetStandingPC == 0 ) ;plays when you walk across this architecture return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) ;don't play if game over, man return endif if ( Player->GetItemCount "wraithguard" == 0 ) ;don't play if player doesn't have tools return endif Player->Say "vo\misc\Dagoth Ur Taunt 1.mp3" "Come, Nerevar. Friend or traitor, come. Come and look upon the Heart, and Akulakhan. And bring Wraithguard... I have need of it." set done to 1 End
153DagothTaunt_2Begin DagothTaunt_2 short done if ( MenuMode == 1 ) return endif if ( done == 1 ) return endif if ( GetStandingPC == 0 ) return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) return endif if ( Player->GetItemCount "wraithguard" == 0 ) ;don't play if player doesn't have tools return endif Player->Say "vo\misc\Dagoth Ur Taunt 2.mp3" "Come to the Heart Chamber. I wait for you there, where we last met, countless ages ago." set done to 1 End
154DagothTaunt_3Begin DagothTaunt_3 short done if ( MenuMode == 1 ) return endif if ( done == 1 ) return endif if ( GetStandingPC == 0 ) return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) return endif if ( Player->GetItemCount "wraithguard" == 0 ) ;don't play if player doesn't have tools return endif Player->Say "vo\misc\Dagoth Ur Taunt 3.mp3" "Come to me, through fire and war. I welcome you." set done to 1 End
155DagothTaunt_4Begin DagothTaunt_4 short done if ( MenuMode == 1 ) return endif if ( done == 1 ) return endif if ( GetStandingPC == 0 ) return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) return endif if ( Player->GetItemCount "wraithguard" == 0 ) ;don't play if player doesn't have tools return endif Player->Say "vo\misc\Dagoth Ur Taunt 4.mp3" "Welcome, Moon-and-Star. I have prepared a place for you." set done to 1 End
156DagothTaunt_5Begin DagothTaunt_5 short done if ( MenuMode == 1 ) return endif if ( done == 1 ) return endif if ( GetStandingPC == 0 ) return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) return endif if ( Player->GetItemCount "wraithguard" == 0 ) ;don't play if player doesn't have tools return endif Player->Say "vo\misc\Dagoth Ur Taunt 5.mp3" "Come. Bring Wraithguard to the Heart Chamber. Together let us free the cursed false gods." set done to 1 End
157DagothTaunt_6Begin DagothTaunt_6 short done if ( MenuMode == 1 ) return endif if ( done == 1 ) return endif if ( GetStandingPC == 0 ) return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) return endif if ( Player->GetItemCount "wraithguard" == 0 ) ;don't play if player doesn't have tools return endif Player->Say "vo\misc\Dagoth Ur Taunt 6.mp3" "Welcome, Nerevar. Together we shall speak for the Law and the Land, and shall drive the mongrel dogs of the Empire from Morrowind." set done to 1 End
158DagothTaunt_7Begin DagothTaunt_7 short done if ( MenuMode == 1 ) return endif if ( done == 1 ) return endif if ( GetStandingPC == 0 ) return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) return endif if ( Player->GetItemCount "wraithguard" == 0 ) ;don't play if player doesn't have tools return endif Player->Say "vo\misc\Dagoth Ur Taunt 7.mp3" "Is this how you honor the Sixth House, and the tribe unmourned? Come to me openly, and not by stealth." set done to 1 End
159DagothUrCreature1begin 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
160DagothUrCreature2begin DagothUrCreature2 short state float timer short teleportDisabled if ( teleportDisabled == 0 ) DisableTeleporting Set teleportDisabled to 1 endif if ( Menumode == 1 ) return endif ;return if heart is destroyed, so he can be killed if ( HeartDestroyed == 1 ) if ( GetHealth > 200 ) SetHealth 200 endif if ( GetMagicka > 0 ) SetMagicka 0 endif return endif ;keep alive if ( GetHealth < 1000 ) SetHealth 1000 endif ;infinite spells if ( GetMagicka < 100 ) SetMagicka 1000 endif if ( state == 0 ) if ( timer < 1 ) Set timer to ( timer + GetSecondsPassed ) return endif Set timer to 0 ;play initial greeting, once Player->Say, "Vo\Misc\Dagoth Ur Welcome C.wav", "What a fool you are. I'm a god. How can you kill a god? What a grand and intoxicating innocence. How could you be so naive? There is no escape. No Recall or Intervention can work in this place. Come. Lay down your weapons. It is not too late for my mercy." set state to 10 endif if ( "heart_akulakhan".countHits == 0 ) ;if Dagoth has not been hit or it is reset, reset dagoth's shields if ( GetSpell "dagoth_ur_shield_01" == 0 ) AddSpell "dagoth_ur_shield_01" endif if ( GetSpell "dagoth_ur_shield_02" == 1 ) RemoveSpell "dagoth_ur_shield_02" endif if ( GetSpell "dagoth_ur_shield_03" == 1 ) RemoveSpell "dagoth_ur_shield_03" endif if ( GetSpell "dagoth_ur_shield_04" == 1 ) RemoveSpell "dagoth_ur_shield_04" endif endif if ( "heart_akulakhan".countHits == 1 ) if ( GetSpell "dagoth_ur_shield_01" == 1 ) RemoveSpell "dagoth_ur_shield_01" endif if ( GetSpell "dagoth_ur_shield_02" == 0 ) AddSpell "dagoth_ur_shield_02" endif endif if ( "heart_akulakhan".countHits == 2 ) if ( GetSpell "dagoth_ur_shield_02" == 1 ) RemoveSpell "dagoth_ur_shield_02" endif if ( GetSpell "dagoth_ur_shield_03" == 0 ) AddSpell "dagoth_ur_shield_03" endif endif if ( "heart_akulakhan".countHits == 3 ) if ( GetSpell "dagoth_ur_shield_03" == 1 ) RemoveSpell "dagoth_ur_shield_01" endif if ( GetSpell "dagoth_ur_shield_04" == 0 ) AddSpell "dagoth_ur_shield_04" endif endif if ( "heart_akulakhan".countHits == 4 ) if ( GetSpell "dagoth_ur_shield_01" == 1 ) RemoveSpell "dagoth_ur_shield_01" endif if ( GetSpell "dagoth_ur_shield_02" == 1 ) RemoveSpell "dagoth_ur_shield_02" endif if ( GetSpell "dagoth_ur_shield_03" == 1 ) RemoveSpell "dagoth_ur_shield_03" endif if ( GetSpell "dagoth_ur_shield_04" == 1 ) RemoveSpell "dagoth_ur_shield_04" endif endif End
161Dagoth_doorsbegin Dagoth_doors float timer float angle short start if ( MenuMode == 1 ) return ;don't run time in Menu Mode. Very bad. endif if ( OnActivate == 1) if ( start == 0 ) PlaySound "Dwemer Door Open" set start to 1 endif return ;when activated, we want to start movement on the next frame... endif if ( start == 0 ) return ;if we have't started, stop here for speed endif if ( timer < 6) if ( timer > 1 ) if ( start == 1 ) PlaySound "Door Stone Open" Set start to 2 endif endif Rotate X 45 ;above line rotates the crank itself Dagoth_door00->Rotate Z -15 Dagoth_door01->Rotate Z 15 ;above two lines open the doors. ;you may need to adjust the times or the rotate value. ;right now they open over 9 seconds to about 100 degrees. endif if ( timer > 12 ) if ( start == 2 ) PlaySound "Door Stone Open" Set start to 3 endif Dagoth_door00->Rotate Z 15 Dagoth_door01->Rotate Z -15 ;these lines close the doors 20 seconds after you activate ;or 11 seconds after the doors are fully open endif if ( timer > 18 ) set start to 0 set timer to 0 Dagoth_door00->SetAngle Z 180 Dagoth_door01->SetAngle Z 270 ;after 9 more seconds, the doors are back to their original position ;reset timer and start endif set timer to ( timer + GetSecondsPassed ) ;above line increments the timer... should be last here outside if ;statements ;otherwise bad things can happen end Dagoth_doors
162danarScriptbegin danarScript if ( MenuMode == 1 ) return endif if ( OnDeath == 1 ) If ( GetJournalIndex "EB_DeadMen" >= 30 ) Journal "EB_DeadMen" 50 endif endif End danarScript
163dancingGirlScriptBegin dancingGirlScript short noLore short dancingGirl ;if this is one it means "I am a dancing girl" if ( dancingGirl != 1 ) Set dancingGirl to 1 endif End
164dandsaScriptBegin dandsaScript short noLore short followNow short distanceCheck float timer if ( MenuMode == 1 ) Return endif if ( GetJournalIndex IL_Damsel >= 70 ) Return endif if ( GetJournalIndex IL_Damsel < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if (GetAIPackageDone == 1) ;if follow is done, NPC has arrived... Journal IL_Damsel 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\R\F\Flw_RF003.mp3" "Thank you." ForceGreeting SetHello 30 endif if ( GetPCCell "Abernanit" == 0 ) ;if she's outside, NPC has also arrived... Journal IL_Damsel 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\R\F\Flw_RF003.mp3" "Thank you." ForceGreeting SetHello 30 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\R\F\Flw_RF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
165daric_bielleScriptBegin daric_bielleScript if ( Player->GetRace "Argonian" == 1) set PCRace to 1 elseif ( Player->GetRace "Breton" == 1) set PCRace to 2 elseif ( Player->GetRace "Dark Elf" == 1) set PCRace to 3 elseif ( Player->GetRace "High Elf" == 1) set PCRace to 4 elseif ( Player->GetRace "Imperial" == 1) set PCRace to 5 elseif ( Player->GetRace "Khajiit" == 1) set PCRace to 6 elseif ( Player->GetRace "Nord" == 1) set PCRace to 7 elseif ( Player->GetRace "Orc" == 1) set PCRace to 8 elseif ( Player->GetRace "Redguard" == 1) set PCRace to 9 elseif ( Player->GetRace "Wood Elf" == 1) set PCRace to 10 endif end
166dariusScriptBegin dariusScript ;for IL_WidowLand quest... made contribution to fund ONCE short widowFund End
167darksunScriptBegin darksunScript float damage short OnPCEquip short doOnce if ( menumode == 1) return endif if ( OnPCEquip == 1 ) if ( PCVampire == 1 ) set damage to -5 set damage to ( damage * GetSecondsPassed ) Player->ModCurrentHealth, Damage if ( doOnce == 0 ) MessageBox "You feel a searing pain on your arm as you equip the shield. A voice screams out in your mind, 'This is not for your kind, Dark One.'" set doOnce to -1 endif endif endif if ( OnPCEquip != 1 ) set doOnce to 0 endif End darksunScript
168da_bullnetchScriptBegin da_bullnetchScript if ( GetJournalIndex "DA_Sheogorath" < 10 ) return endif If ( GetJournalIndex "DA_Sheogorath" >= 10 ) if ( "netch_giant_unique"->OnDeath == 1 ) Journal "DA_Sheogorath" 55 endif endif End
169da_forkScriptBegin da_forkScript Short OnPCEquip if ( GetJournalIndex "DA_Sheogorath" < 10 ) return endif if ( GetJournalIndex "DA_Sheogorath" >= 10 ) if ( "netch_giant_unique"->OnDeath == 1 ) If ( OnPCEquip == 1 ) Journal "DA_Sheogorath" 60 elseif ( OnPCEquip != 1 ) Journal "DA_Sheogorath" 55 endif endif endif End
170deadSarethiGuardBegin deadSarethiGuard ;script to enable dead guards in Sarethi Manor during HR_GuardSarethi if ( GetJournalIndex HR_GuardSarethi >= 100 ) if ( GetDisabled == 0 ) Disable endif Return endif if ( GetJournalIndex HR_GuardSarethi == 0 ) if ( GetDisabled == 0 ) Disable endif Return endif if ( GetDisabled == 1 ) Enable endif End
171delynaScriptBegin delynaScript ;if her father is dead and you tell her, she will stop short doOnce short noLore short followNow short distanceCheck float timer if ( MenuMode == 1 ) Return endif if ( GetJournalIndex HR_RansomMandas >= 70 ) Return endif if ( GetJournalIndex HR_RansomMandas < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetPCCell "Tel Fyr" == 1 ) ;if Delyna is outside Journal HR_RansomMandas 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." ForceGreeting SetHello 30 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\D\F\Flw_DF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
172devalFollowBegin devalFollow short noLore short followNow short distanceCheck float timer ;global NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex HR_KoalCave >= 70 ) Return endif if ( GetJournalIndex HR_KoalCave < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Koal Cave" == 1 ) if ( GetPCCell "Koal Cave Entrance" == 0 ) ;since there can be some confusion here... Journal HR_KoalCave 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\M\Flw_DM003.mp3" "Thank you." SetHello 30 endif endif if ( GetDistance Player < NPCVoiceDistance ) if ( GetDistance Player < 500 ) set distanceCheck to 0 endif set timer to 0 return endif if ( distanceCheck == 0 ) ;since there is not "wait for me" for Dunmer male... Say "Vo\D\M\Flw_DM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
173dinScriptBegin dinScript short nolore if ( GetJournalIndex "MV_MonsterDisease" < 10 ) return endif if ( GetJournalIndex "MV_MonsterDisease" >= 49 ) return endif if ( OnDeath == 1 ) Journal "MV_MonsterDisease" 70 endif if ( GetSpell "Greenspore" == 0 ) if ( GetJournalIndex "MV_MonsterDisease" < 49 ) if ( GetDistance Player <= 256 ) Journal "MV_MonsterDisease" 49 ForceGreeting endif endif endif if ( GetDistance "Mehra Drora" <= 256 ) if ( GetJournalIndex "MV_MonsterDisease" < 50 ) Journal "MV_MonsterDisease" 50 AIWander 128 0 0 60 30 10 0 0 0 0 0 0 ForceGreeting endif endif End
174disableEnnbjofBegin disableEnnbjof ;MS_Nord_burial Short NoLore if ( CellChanged == 1 ) if ( GetDisabled == 0 ) if ( GetJournalIndex MS_nord_burial >= 1 ) Ennbjof->disable endif endif endif end disableEnnbjof
175disableWulfBegin disableWulf ;IC30_Imperial_veteran quest ;aspect of Tiber Septim named 'wulf' gives PC lucky coin Short NoLore if ( CellChanged == 1 ) if ( GetDisabled == 0 ) if ( GetJournalIndex IC30_Imperial_veteran >= 1 ) wulf->disable endif endif endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) wulf->disable endif end disableWulf
176diseaseAscendedBegin diseaseAscended DontSaveObject ;ascended sleeper has all the blight diseases for some reason... if ( CellChanged == 0 ) return endif AddSpell "ash woe blight" AddSpell "black-heart blight" AddSpell "chanthrax blight" AddSpell "ash-chancre" End
177diseaseAshChancreBegin diseaseAshChancre DontSaveObject short doOnce ;this is the disease on all kwama, so this script is different... ;if the kwama queen in this cell is blighted, newly spawned kwama will be blighted ;if the kwama queen is NOT blighted, newly spawned kwama will NOT be blighted ;at least, that's the intention... if ( CellChanged == 0 ) return endif if ( GetPCCell "Abaesen-Pulu Egg Mine" == 1 ) if ( "Kwama Queen_Abaesen"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Ahanibi-Malmus Egg Mine" == 1 ) if ( "kwama queen_ahanibi"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Akimaes-Ilanipu Egg Mine" == 1 ) if ( "kwama queen_akimaes"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Eluba-Addon Egg Mine" == 1 ) if ( "kwama queen_eluba"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Eretammus-Sennammu Egg Mine" == 1 ) if ( "kwama queen_eretammus"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Gnisis" == 1 ) if ( GetDeadCount "kwama queen_gnisis" > 0 ) ; do nothing if the kwama queen here is dead... for IL_GnisisBlight return endif if ( "kwama queen_gnisis"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Hairat-Vassamsi Egg Mine" == 1 ) if ( "kwama queen_hairat"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Hairat-Vassamsi Egg Mine, Queen's Lair" == 1 ) if ( "kwama queen_hairat"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Inanius Egg Mine" == 1 ) ;this queen is not blighted, but can be killed... if ( GetDeadCount "Kwama Queen_HHEM" > 0 ) Disable else Enable endif return endif if ( GetPCCell "Madas-Zebba Egg Mine" == 1 ) if ( "kwama queen_madas"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Maesa-Shammus Egg Mine" == 1 ) if ( "kwama queen_maesa"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Matus-Akin Egg Mine" == 1 ) if ( "kwama queen_matus"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Matus-Akin Egg Mine, Queen's Lair" == 1 ) if ( "kwama queen_matus"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Mudan-Mul Egg Mine" == 1 ) if ( "kwama queen_mudan"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Panabanit-Nimawia Egg Mine" == 1 ) if ( "kwama queen_panabanit"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Sarimisun-Assa Egg Mine" == 1 ) if ( "kwama queen_sarimisun"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Sarimisun-Assa Egg Mine, Queen's Lair" == 1 ) if ( "kwama queen_sarimisun"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Shurdan-Raplay Egg Mine" == 1 ) if ( "kwama queen_shurdan"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Sinamusa Egg Mine" == 1 ) if ( "kwama queen_sinamusa"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif if ( GetPCCell "Zalkin-Sul Egg Mine" == 1 ) if ( "kwama queen_zalkin"->GetBlightDisease == 1 ) AddSpell "ash-chancre" else RemoveSpell "ash-chancre" endif return endif ;default is to go ahead and add the spell... if ( GetBlightDisease == 0 ) AddSpell "ash-chancre" endif End
178diseaseAshChancreKWBegin diseaseAshChancreKW DontSaveObject short doOnce ;special script on just kwama WORKERS to set & reset their fight settings ;50 if non-blighted, 90 if blighted if ( CellChanged == 0 ) return endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) if ( GetBlightDisease == 1 ) RemoveSpell "ash-chancre" endif endif if ( GetPCCell "Abaesen-Pulu Egg Mine" == 1 ) if ( "Kwama Queen_Abaesen"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Ahanibi-Malmus Egg Mine" == 1 ) if ( "kwama queen_ahanibi"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Akimaes-Ilanipu Egg Mine" == 1 ) if ( "kwama queen_akimaes"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Eluba-Addon Egg Mine" == 1 ) if ( "kwama queen_eluba"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Eretammus-Sennammu Egg Mine" == 1 ) if ( "kwama queen_eretammus"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Gnisis" == 1 ) if ( GetDeadCount "kwama queen_gnisis" > 0 ) ; do nothing if the kwama queen here is dead... for IL_GnisisBlight return endif if ( "kwama queen_gnisis"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Hairat-Vassamsi Egg Mine" == 1 ) if ( "kwama queen_hairat"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Hairat-Vassamsi Egg Mine, Queen's Lair" == 1 ) if ( "kwama queen_hairat"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Inanius Egg Mine" == 1 ) ;this queen is not blighted, but can be killed... if ( GetDeadCount "Kwama Queen_HHEM" > 0 ) Disable else Enable endif return endif if ( GetPCCell "Madas-Zebba Egg Mine" == 1 ) if ( "kwama queen_madas"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Maesa-Shammus Egg Mine" == 1 ) if ( "kwama queen_maesa"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Matus-Akin Egg Mine" == 1 ) if ( "kwama queen_matus"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Matus-Akin Egg Mine, Queen's Lair" == 1 ) if ( "kwama queen_matus"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Mudan-Mul Egg Mine" == 1 ) if ( "kwama queen_mudan"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Panabanit-Nimawia Egg Mine" == 1 ) if ( "kwama queen_panabanit"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Sarimisun-Assa Egg Mine" == 1 ) if ( "kwama queen_sarimisun"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Sarimisun-Assa Egg Mine, Queen's Lair" == 1 ) if ( "kwama queen_sarimisun"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Shurdan-Raplay Egg Mine" == 1 ) if ( "kwama queen_shurdan"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Sinamusa Egg Mine" == 1 ) if ( "kwama queen_sinamusa"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif if ( GetPCCell "Zalkin-Sul Egg Mine" == 1 ) if ( "kwama queen_zalkin"->GetBlightDisease == 1 ) AddSpell "ash-chancre" SetFight 90 else RemoveSpell "ash-chancre" SetFight 50 endif return endif ;default is to go ahead and add the spell... if ( GetBlightDisease == 0 ) AddSpell "ash-chancre" endif End
179diseaseAshWoeBegin diseaseAshWoe DontSaveObject ;model for all diseased creature scripts ;if the creature is NOT diseased, a disease is added on cell changed ;kwama are more complicated... if ( CellChanged == 0 ) return endif if ( GetBlightDisease == 0 ) AddSpell "ash woe blight" endif End
180diseaseAtaxiaBegin diseaseAtaxia DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "ataxia" endif End
181diseaseBlackHeartBegin diseaseBlackHeart DontSaveObject if ( CellChanged == 0 ) return endif if ( GetBlightDisease == 0 ) AddSpell "black-heart blight" endif End
182diseaseBrownRotBegin diseaseBrownRot DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "brown rot" endif End
183diseaseChanthraxBegin diseaseChanthrax DontSaveObject if ( CellChanged == 0 ) return endif if ( GetBlightDisease == 0 ) AddSpell "chanthrax blight" endif End
184diseaseChillsBegin diseaseChills DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "chills" endif End
185diseaseCollywobblesBegin diseaseCollywobbles DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "collywobbles" endif End
186diseaseCorprusBegin diseaseCorprus DontSaveObject if ( CellChanged == 0 ) return endif if ( GetBlightDisease == 0 ) AddSpell "corprus" endif End
187diseaseDampwormBegin diseaseDampworm DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "dampworm" endif End
188diseaseDroopsBegin diseaseDroops DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "droops" endif End
189diseaseGreensporeBegin diseaseGreenspore DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "greenspore" endif End
190diseaseHelljointBegin diseaseHelljoint DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "helljoint" endif End
191diseaseRattlesBegin diseaseRattles DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "rattles" endif End
192diseaseRockjointBegin diseaseRockjoint DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "rockjoint" endif End
193diseaseRustChancreBegin diseaseRustChancre DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "rust chancre" endif End
194diseaseSerpiginousBegin diseaseSerpiginous DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "serpiginous dementia" endif End
195diseaseSwampFeverBegin diseaseSwampFever DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "swamp fever" endif End
196diseaseWitbaneBegin diseaseWitbane DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "witbane" endif End
197diseaseWitherBegin diseaseWither DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "wither" endif End
198diseaseWtichwitherBegin diseaseWtichwither DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "witchwither" endif End
199diseaseYellowTickBegin diseaseYellowTick DontSaveObject if ( CellChanged == 0 ) return endif if ( GetCommonDisease == 0 ) AddSpell "yellow tick" endif End
200disguisedArmorBegin disguisedArmor short OnPCEquip if ( GetPCCell "Ald-ruhn, Redoran Council Entrance" == 0 ) Return endif if ( OnPCEquip == 1 ) set WearingHelmHHDA to 1 else set WearingHelmHHDA to 0 endif End
201dmamiScriptBegin dmamiScript short doOnce if ( doOnce == 1 ) Return endif if ( OnActivate == 1 ) AddTopic "Divine Metaphysics" Set doOnce to 1 Activate endif End
202DoorBarricadedBegin DoorBarricaded if (MenuMode == 1) return endif if ( OnActivate == 1 ) MessageBox, "This door refuses to open. It feels as though it has been barricaded on the inside. You'll have to find another way inside." return endif End DoorBarricaded
203doortestwarpbegin doortestwarp if ( MenuMode == 0 ) if ( GetDistance, Player < 300 ) OnActivate endif endif end
204doorVassirDidanatBegin doorVassirDidanat if ( OnActivate == 0 ) Return endif AddTopic "Vassir Didanat Mine" Activate End
205draramuScriptBegin draramuScript If ( GetJournalIndex "IL_KnightShield" < 50 ) return endif If ( OnDeath == 1 ) If ( GetJournalIndex "IL_KnightShield" > 50 ) Journal "IL_KnightShield" 80 endif endif End
206drarelAndusScriptBegin drarelAndusScript short noLore if ( GetDisabled == 1 ) return endif if ( GetHealth <= 0 ) return endif if ( GetTarget "Player" == 0 ) StartCombat Player endif End End
207dreamerWorkerScriptBegin dreamerWorkerScript ;makes the workers disappear if they're dead and the heart is destroyed short doOnce ;global short DestroyBlight if ( doOnce == 0 ) if ( HeartDestroyed == 1 ) SetHealth 0 Set doOnce to 1 endif if ( GetDeadCount "dagoth_ur_2" > 0 ) SetHealth 0 Set doOnce to 1 endif endif if ( doOnce != 2 ) if ( DestroyBlight == -1 ) Disable Set doOnce to 2 endif endif End
208dreamer_talkerEnablebegin dreamer_talkerEnable short test Short NoLore Set test to GetJournalIndex A2_2_6thHouse if ( GetDisabled == 0 ) Return endif if ( test == 50 ) Enable Return endif End
209drenSlaveOwnersBegin drenSlaveOwners float timer if ( timer < 3 ) Set timer to ( timer + GetSecondsPassed ) endif Set timer to 0 if ( GetDeadCount "hides_his_foot" == 0 ) if ( GetJournalIndex HH_TwinLamps3 >= 50 ) if ( GetJournalIndex HH_TwinLamps3 < 70 ) if ( GetDetected "hides_his_foot" == 1 ) StartCombat "hides_his_foot" return endif endif endif endif if ( GetDeadCount "Neetinei" == 0 ) if ( "Neetinei".slaveStatus == 3 ) if ( "Neetinei"->GetDisabled == 0 ) if ( GetDetected Player == 1 ) StartCombat Player return endif endif endif endif if ( GetDeadCount "Ahzini" == 0 ) if ( "Ahzini".slaveStatus == 3 ) if ( "Neetinei"->GetDisabled == 0 ) if ( GetDetected Player == 1 ) StartCombat Player return endif endif endif endif if ( GetDeadCount "gah_julan" == 0 ) if ( "gah_julan".slaveStatus == 3 ) if ( "gah_julan"->GetDisabled == 0 ) if ( GetDetected Player == 1 ) StartCombat Player return endif endif endif endif End
210drerel_indarenBegin drerel_indaren short done short nolore if ( done == -1 ) return endif if ( GetJournalIndex "MV_MissingCompanion" < 10 ) return endif if ( GetCurrentAiPackage != 3 ) return endif if ( OnDeath == 1 ) AddTopic "Drerel was killed" Journal "MV_MissingCompanion" 70 endif if ( GetJournalIndex "MV_MissingCompanion" >= 30 ) if ( GetJournalIndex "MV_MissingCompanion" < 50 ) if ( GetDistance "Falanu Indaren" <= 512 ) Journal "MV_MissingCompanion" 50 ForceGreeting set done to -1 endif endif endif end
211druleneScriptBegin druleneScript ;Checks for the player to sell "Corky." ;Corky must be nearby (1000 units) and must be following the player. ;Might need some revision... short corkyFollow ;same name as llovyn andus' thing... is 1 when Corky meets sale conditions float counter ;keeps the distance check overhead at a minimum if ( corkyFollow == 2 ) Return ;set in dialogue when you "sell" Corky... script does not run again endif if ( counter < 3 ) Set counter to ( counter + GetSecondsPassed ) endif Set counter to 0 if ( "guar_llovyn_unique"->GetCurrentAiPackage == 3 ) if ( GetDistance "guar_llovyn_unique" < 1000 ) Set corkyFollow to 1 endif endif End
212duma2scriptbegin duma2script short nolore short duma if ( GetJournalIndex "DA_Boethiah" == 70 ) return endif if ( GetJournalIndex "DA_Boethiah" < 70 ) if ( "Ex_DAE_Boethiah_fixed"->GetDisabled != 1 ) set duma to 10 endif endif end
213Dummybegin Dummy end
214Dwemer_boxbegin Dwemer_box short doOnce if ( OnActivate == 0 ) Return endif if ( doOnce == 0 ) if ( GetJournalIndex A1_2_AntabolisInformant >= 1 ) journal A1_2_AntabolisInformant 7 set doOnce to 1 Activate endif else Activate endif end Dwemer_box
215DwRuins_Ark_Lv_Abegin DwRuins_Ark_Lv_A float timer short on if ( MenuMode == 0) ;let PC activate lever If ( OnActivate == 1) if ( on == 0 ) set on to 1 endif endif ;if lever is activated run the steam anim and open the doors if ( on == 1 ) ;TODD: I commented this out. If you want to ref that object, in needs to be unique. That object is used everywhere. ;in_dwrv_doorjam00->PlayGroup Idle2 ;steam playing on hinges set on to 2 endif if ( on == 2 ) ;this is where we make the doors move after a delay set timer to timer + GetSecondsPassed if ( timer < 1 ) rotate y, 45 endif ;go after 2 seconds if ( timer > 2 ) if ( timer < 4 ) ;doors rotate when timer is between 2 and 4 ; DwRuins_Ark_Door_1a->rotate z, 45 ; DwRuins_Ark_Door_1b->rotate z, -45 else ;timer is above 4 now ;reset everything when done endif endif endif endif end
216eb_pestScriptBegin eb_pestScript ;if ( CellChanged == 0 ) ; Return ;endif short doonce if ( doonce == -1 ) return endif if ( GetJournalIndex EB_Pest >= 20 ) if ( GetDisabled == 1 ) Enable endif else if ( GetDisabled == 0 ) Disable endif endif If ( OnDeath == 1 ) set ratskilled to ratskilled + 1 endif if ( GetJournalIndex EB_Pest >=25 ) if ( GetJournalIndex EB_Pest <= 30 ) if ( GetJournalIndex EB_Pest != 26 ) if ( ratskilled == 10 ) Journal "EB_Pest" 35 set doonce to -1 endif endif endif endif End
217edras_orilBegin edras_oril short done short nolore short inviso if ( MenuMode == 1 ) return endif if ( done == -1 ) return endif if ( GetJournalIndex "MV_StrayedPilgrim" == 29 ) return endif if ( GetEffect sEffectInvisibility == 1 ) set inviso to 1 elseif ( GetEffect sEffectChameleon == 1 ) set inviso to 1 elseif ( GetEffect sEffectChameleon == 0 ) if ( GetEffect sEffectInvisibility == 0 ) set inviso to 0 endif endif if ( GetEffect sEffectInvisibility == 1 ) if ( GetJournalIndex "MV_StrayedPilgrim" ==26 ) Journal "MV_StrayedPilgrim" 27 ForceGreeting endif elseif ( GetEffect sEffectChameleon == 1 ) if ( GetJournalIndex "MV_StrayedPilgrim" == 26 ) Journal "MV_StrayedPilgrim" 27 ForceGreeting endif endif if ( GetJournalIndex "MV_StrayedPilgrim" != 27 ) if ( GetEffect sEffectInvisibility == 1 ) if ( GetJournalIndex "MV_StrayedPilgrim" > 20 ) if ( GetJournalIndex "MV_StrayedPilgrim" < 45 ) Journal "MV_StrayedPilgrim" 45 ForceGreeting endif endif elseif ( GetEffect sEffectChameleon == 1 ) if ( GetJournalIndex "MV_StrayedPilgrim" > 20 ) if ( GetJournalIndex "MV_StrayedPilgrim" < 45 ) Journal "MV_StrayedPilgrim" 45 ForceGreeting endif endif endif endif if ( done == 0 ) if ( GetDistance "Thoronor" <= 512 ) Journal "MV_StrayedPilgrim" 90 AiFollow Thoronor 0,0,0,60,20,10,0,0,0,0,0,0 set done to -1 endif endif end
218edrynoArethiScriptBegin edrynoArethiScript short noLore ;no lore... short gameRatsCured ;counter for if you CURE the game rats. See HH_TheExterminator End
219edwinnaScriptBegin edwinnaScript ;for MG_ReturnBook short bookInBox ;for "quest" Secrets of Dwemer Animunculi short givenDocuments short NoLore End
220eleedalScriptBegin eleedalScript ;Slave Status... each slave has a status as follows ;0 = Owned ( default state... does not indicate who they are owned by ) ;1 = For Sale ( someone in the game can "sell" this slave via dialogue ) ;2 = Owned By the Player ( the player has purchased this slave and the slave follows the player ) ;3 = Freed ( the player has freed this slave, the slave eventually disables himself) ;dead = not in slave status, but a state one should check for short slaveStatus short doOnce short NoLore if ( slaveStatus == 0 ) return endif if ( slaveStatus == 1 ) return endif if ( slaveStatus == 2 ) if ( doOnce == 0 ) AIFollow Player 0 0 0 0 0 Set doOnce to 1 endif return endif if ( slaveStatus == 3 ) if ( GetItemCount Slave_Bracer_Left > 0 ) Drop Slave_Bracer_Left 1 endif if ( GetItemCount Slave_Bracer_Right > 0 ) Drop Slave_Bracer_Right 1 endif if ( CellChanged == 1 ) "seen-rei"->Disable "dan_ru"->Disable "ahnarra"->Disable "dro'zah"->Disable "j'dato"->Disable Disable endif endif End
221enableNoticebegin enableNotice if ( GetJournalIndex A2_6_Incarnate < 50 ) if ( GetDisabled == 0 ) Disable endif Return endif if ( GetJournalIndex B8_MeetVivec < 50 ) if ( GetDisabled == 1 ) Enable endif Return endif if ( GetDisabled == 0 ) Disable endif end enableNotice
222enableSpiderTGADbegin enableSpiderTGAD if ( CellChanged == 0 ) return endif if ( GetJournalIndex TG_AldruhnDefenses >= 100 ) Enable else Disable endif end enableSpiderTGAD
223enarRelethScriptBegin enarRelethScript short noLore if ( CellChanged == 0 ) return endif if ( GetDeadCount "Baladas Demnevanni" > 0 ) Disable endif End
224EndGamebegin 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
225enoHlaaluScriptBegin enoHlaaluScript short noLore short test ;disable him if you're the new grandmaster... if ( CellChanged == 1 ) if ( GetJournalIndex MT_Grandmaster >= 110 ) if ( GetDisabled == 0 ) Disable endif endif endif ;otherwise, as long as he lives, skip the rest of all this... if ( OnDeath == 0 ) Return endif ;if you kill him after rank 7, you are the new grandmaster. Set test to GetPCRank "Morag Tong" if ( test == 7 ) PCRaiseRank PCRaiseRank Player->ModReputation 3 endif if ( test == 8 ) PCRaiseRank Player->ModReputation 3 endif ;this item Eno Hlaalu "always" has. AddItem sanguineamuletenterprise 1 ;if you've given him any of these, you can get them back here... if ( GetJournalIndex MT_S_BalancedArmor >= 100 ) AddItem sanguinebeltbalancedarmor 1 endif if ( GetJournalIndex MT_S_DeepBiting >= 100 ) AddItem sanguinebeltdeepbiting 1 endif if ( GetJournalIndex MT_S_Denial >= 100 ) AddItem sanguinebeltdenial 1 endif if ( GetJournalIndex MT_S_Fleetness >= 100 ) AddItem sanguinebeltfleetness 1 endif if ( GetJournalIndex MT_S_FluidEvasion >= 100 ) AddItem sanguineringfluidevasion 1 endif if ( GetJournalIndex MT_S_GlibSpeech >= 100 ) AddItem sanguineamuletglibspeech 1 endif if ( GetJournalIndex MT_S_Golden >= 100 ) AddItem sanguineringgoldenw 1 endif if ( GetJournalIndex MT_S_Green >= 100 ) AddItem sanguineringgreenw 1 endif if ( GetJournalIndex MT_S_Hewing >= 100 ) AddItem sanguinebelthewing 1 endif if ( GetJournalIndex MT_S_HornyFist >= 100 ) AddItem sanguinerglovehornyfist 1 endif if ( GetJournalIndex MT_S_Impaling >= 100 ) AddItem sanguinebeltimpaling 1 endif if ( GetJournalIndex MT_S_Leaping >= 100 ) AddItem sanguineshoesleaping 1 endif if ( GetJournalIndex MT_S_MartialCraft >= 100 ) AddItem sanguinebeltmartialcraft 1 endif if ( GetJournalIndex MT_S_NimbleArmor >= 100 ) AddItem sanguineamuletnimblearmor 1 endif if ( GetJournalIndex MT_S_Red >= 100 ) AddItem sanguineringredw 1 endif if ( GetJournalIndex MT_S_Safekeeping >= 100 ) AddItem sanguinelglovesafekeeping 1 endif if ( GetJournalIndex MT_S_Silver >= 100 ) AddItem sanguineringsilverw 1 endif if ( GetJournalIndex MT_S_Smiting >= 100 ) AddItem sanguinebeltsmiting 1 endif if ( GetJournalIndex MT_S_Stalking >= 100 ) AddItem sanguineshoesstalking 1 endif if ( GetJournalIndex MT_S_StolidArmor >= 100 ) AddItem sanguinebeltstolidarmor 1 endif if ( GetJournalIndex MT_S_Sublime >= 100 ) AddItem sanguineringsublimew 1 endif if ( GetJournalIndex MT_S_Sureflight >= 100 ) AddItem sanguinebeltsureflight 1 endif if ( GetJournalIndex MT_S_Swiftblade >= 100 ) AddItem sanguinergloveswiftblade 1 endif if ( GetJournalIndex MT_S_Transcendent >= 100 ) AddItem sanguineringtranscendw 1 endif if ( GetJournalIndex MT_S_Transfiguring >= 100 ) AddItem sanguineringtransfigurw 1 endif if ( GetJournalIndex MT_S_Unseen >= 100 ) AddItem sanguineringunseenw 1 endif End
226eotScriptBegin eotScript short doOnce if ( doOnce == 1 ) Return endif if ( OnActivate == 1 ) AddTopic "Egg of Time" Set doOnce to 1 Activate endif End
227ErabenimsunKillbegin ErabenimsunKill if ( OnDeath == 1 ) Journal B4_ErabenimsunKill 1 endif end
228eraldilScriptBegin eraldilScript short currentDay short daysPassed short eraldilMove short nolore ;if ( menumode == 1 ) ; return ;endif if ( eraldilMove == -1 ) return endif if ( GetJournalIndex "EB_Unrequited" != 95 ) return endif if ( currentDay == Day ) Return endif Set currentDay to Day Set daysPassed to ( daysPassed + 1 ) ;MessageBox "ADDING A DAY TO ERALDIL SCRIPT" if ( GetPCCell "Vivec, Hlaalu Waistworks" == 1 ) return endif if ( GetPCCell "Vivec, Hlaalu General Goods" == 1 ) return endif if ( GetDeadCount "eraldil" > 0 ) return endif if ( GetDeadCount "gadayn andarys" > 0 ) return endif if ( daysPassed > 10 ) ;MessageBox "SHOULD BE MOVING ERALDIL" "eraldil"->PositionCell, 175.85, -134.169, -157.704, 270, "Vivec, Hlaalu General Goods" "eraldil"->AiWander 128 0 0 0 0 0 0 0 0 0 0 set eraldilMove to -1 return endif End eraldilScript
229example_Containersbegin example_Containers ;****************************************************************** ; ; Example script for some stuff you can do with containers ; ;****************************************************************** ;****************************************************************** ; ; Set a flag when opened ; ;****************************************************************** short Opened if ( OnActivate == 1 ) set Opened to 1 Activate endif end
230Example_NPC_Stuffbegin Example_NPC_Stuff ;this is an example script for several things you can do with an NPC ;************************************************************************ ; ; Add a journal entry if Killed ; ;************************************************************************ If ( OnDeath == 1 ) Journal "11111 test journal", 10 endif ;************************************************************************ ; ; Add a journal entry if following NPC is Killed ; ;************************************************************************ if ( GetCurrentAiPackage == 3 ) ;following If ( OnDeath == 1 ) Journal "11111 test journal", 10 endif endif ;************************************************************************ ; ; Make NPC complain every half day if being escorted ; ;************************************************************************ float timer short bother ;this flag gets set here, but should be reset in the dialogue results if ( GetCurrentAiPackage != 3 ) return endif set timer to timer + GetSecondsPassed if ( timer > 720 ) ;12 minutes set bother to ( bother + 1 ) ;this will get reset in dialogue set timer to 0 if ( GetDistance Player < 512 ) ForceGreeting endif endif ;************************************************************************ ; ; Make NPC follow you after knocking them out ; ;************************************************************************ if ( OnKnockout == 1) StopCombat SetFight 0 AiFollow, Player, 0, 0, 0, 0, 0 endif ;************************************************************************ ; ; Make something appear in inventory when killed ; ;************************************************************************ if ( OnDeath == 1 ) AddItem, "Gold_001", 100 endif ;************************************************************************ ; ; have a specific guy attack specific NPC if following the player ; ; in this example this script would be on Ken, and Todd is the attacker ; ;************************************************************************ if ( GetCurrentAiPackage == 3 ) ;following, assumed to be following the player, but may not be If ( GetDistance, "Todd" < 500 ) ;get within 500 units of Todd "Todd"->StartCombat, "Ken" ;this makes Todd attack Ken endif endif ;************************************************************************ ; ; Check for spell effect on PC and force a greeting ; NOTE: as of 7/28/01, the geteffect command is not in yet ; ;************************************************************************ ; if ( GetEffect, 37 ) ;check for effect, see Enum list in help file ; ForceGreeting ; endif ;doug says: if ( GetSpellEffects Droops == 1 ) ForceGreeting endif end Example_NPC_Stuff
231Example_NPC_Stuff_Gold_Editionbegin Example_NPC_Stuff_Gold_Edition ;this is an example script for several things you can do with an NPC ;************************************************************************ ; ; add a journal entry upon arriving at a Cell. ; ;************************************************************************ If ( GetPCCell, "Gnisis" == 1 ) Journal "11111 test journal", 10 endif ;************************************************************************ ; ; add a journal entry upon at arriving near a specific object ; ;************************************************************************ If ( GetDistance, Player <= 512 ) Journal "11111 test journal", 10 endif ;************************************************************************ ; ; Script to set a flag when PC enters Ald-ruhn after a certain journal ; entry, and then, if PC enters Ald-ruhn again before a different journal ; entry shows up, an NPC pops up behind him and attacks. ; ;************************************************************************* short PCvisit short PCleft short Attack If ( GetPCCell, "Ald-ruhn" == 1 ) if ( GetJournalIndex, "11111 test journal" >= 10 ) if ( PCvisit == 0 ) 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 ) set PCleft to 1 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, "11111 test journal" < 20 ) PlaceAtPC, "Todd", 1, 256, 1 set Attack to 1 endif endif endif endif ;************************************************************************ ; ; modify PC Mercantile skill upon quest completion. ; ;************************************************************************* if ( GetJournalIndex, "11111 test journal" >= 20 ) Player->ModMercantile 10 endif ;************************************************************************ ; ; deactivate NPCs on quest completion ; ;************************************************************************* if ( GetJournalIndex, "11111 test journal" >= 20 ) todd->disable endif ;************************************************************************ ; ; cure another NPC of a disease on arrival at a location. ; ;************************************************************************* If ( GetPCCell, "Gnisis" == 1 ) Todd->RemoveSpell, "Rattles" endif ;************************************************************************ ; ; NPC check whether (a) a spell effect is present and (b) ; whether a disease is gone. ; ;************************************************************************* short MyFlag if ( GetSpellEffects, "Burning Hand" == 1 ) if ( GetSpell, "Rattles" != 1 ) set MyFlag to 1 endif endif end
232expelledMGBegin expelledMG ;this is just a model ;it is supposed to be on an item in each of the Mages Guilds. short myDay short temp if ( PCExpelled "Mages Guild" == 0 ) return endif if ( ExpMagesGuild == 0 ) Set ExpMagesGuild to 1 endif if ( myDay == 0 ) Set myDay to Day endif if ( myDay == Day ) return endif if ( Day > myDay ) Set temp to ( Day - myDay ) else Set temp to ( myDay - Day ) endif Set myDay to Day Set temp to ( temp + 2 ) Set ExpMagesGuild to ( ExpMagesGuild + temp ) if ( ExpMagesGuild > 30 ) Set ExpMagesGuild to 0 PCClearExpelled "Mages Guild" return endif End
233eydisScriptbegin eydisScript short nolore short doonce if ( doonce == -1 ) return endif if ( GetJournalIndex FG_KillCronies >= 10 ) if ( GetDistance Player <= 256 ) ForceGreeting StartCombat Player set doonce to -1 endif endif end eydisScript
234fallingScriptbegin fallingScript short fellonce float timer if ( "agronian guy"->OnDeath == 1 ) set fellonce to -1 return endif if ( fellonce == -1 ) return endif if ( fellonce == 2 ) set timer to ( timer + Getsecondspassed ) if ( timer >= 4 ) "player"->Say "Vo\w\m\Fle_WM005.mp3" "WAAAAAAAOOOOOOOOOOAAAAAAAAAGGGHHHHHH!!!!!" "agronian guy"->Fall set fellonce to -1 endif endif if ( fellonce == 0 ) if ( GetDistance Player <= 2000 ) "agronian guy"->enable ;"agronian guy"->AiWander 32 0 0 0 0 0 0 0 0 0 0 0 ;PlayGroup WalkForward 1 "agronian guy"->Fall set fellonce to 1 endif endif if ( fellonce == 1 ) set timer to ( timer + Getsecondspassed ) if ( timer >= 2 ) "fallguy_collision_unique"->Disable ;"agronian guy"->AiWander 32 0 0 0 0 0 0 0 0 0 0 0 ;"agronian guy"->PlayGroup WalkForward 1 "agronian guy"->Fall "player"->Say "Vo\w\m\Hit_WM006.mp3" "AAAAAAARRRRRRGGGGGGGGGGGGGGGGGGGG!!!!!!" set fellonce to 2 endif endif endif end fallingScript
235FaluraScriptBegin FaluraScript ; when Kaushad demands a bride, disable Am-Lima [if necessary to clear the cage] ; and enable Falura Llervu ; follow script on Falura Llervu ; Main quest B3_ZainabBride ; follow PC to Zainab camp to meet Ashkhan Kaushad, her new husband ; NB: Falura is a slave, but has none of the standard slave script or trappings... ; no slaveStatus or slave bracers short noLore short followDone short followNow short distanceCheck float timer if ( MenuMode == 1 ) Return endif if ( FollowDone == 1 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) set followDone to 1 set followNow to 0 AiWander 128 0 0 40 20 20 0 0 0 0 0 0 Journal B3_ZainabBride 47 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." ForceGreeting SetHello 30 endif if ( GetPCCell "Zainab Camp, Ashkhan's Yurt" == 1 ) set followDone to 1 set followNow to 0 AiWander 128 0 0 40 20 20 0 0 0 0 0 0 Journal B3_ZainabBride 47 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." ForceGreeting SetHello 30 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\D\F\Flw_DF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else set followNow to 0 endif End
236farvynScriptBegin farvynScript short nolore if ( GetJournalIndex "DA_Malacath" < 10 ) return endif if (GetJournalIndex "DA_Malacath" >= 10 ) if ( OnDeath == 1 ) Journal "DA_Malacath" 60 endif endif End
237FastEddieAmuletBegin FastEddieAmulet short currentDay short daysPassed if ( GetJournalIndex HT_EddieAmulet != 50 ) StopScript FastEddieAmulet Return endif if ( currentDay != Day ) Set currentDay to Day Set daysPassed to daysPassed + 1 ;if a day has passed, increment. does this once automatically. endif if ( daysPassed > 5 ) ;when the number of days to the quest pass, do this stuff: Journal HT_EddieAmulet 70 endif End End
238FastEddieRingbegin FastEddieRing short currentDay short daysPassed if ( GetJournalIndex HT_EddieRing != 50 ) StopScript FastEddieRing Return endif if ( currentDay != Day ) Set currentDay to Day Set daysPassed to daysPassed + 1 ;if a day has passed, increment. does this once automatically. endif if ( daysPassed > 5 ) ;when the number of days to the quest pass, do this stuff: Journal HT_EddieRing 70 endif End
239fastEddieScriptBegin fastEddieScript short noLore ;do stuff here to make him disappear for a week if ( CellChanged == 0 ) Return endif if ( GetJournalIndex HT_EddieRing == 50 ) Disable endif if ( GetJournalIndex HT_EddieRing == 70 ) Enable endif if ( GetJournalIndex HT_EddieAmulet == 50 ) Disable endif if ( GetJournalIndex HT_EddieAmulet == 70 ) Enable endif End
240fedrisTharenScriptBegin fedrisTharenScript if ( GetDisabled == 1 ) return endif if ( GetJournalIndex HR_FindTharen >= 70 ) Return endif if ( GetCommonDisease == 0 ) Journal HR_FindTharen 70 endif End
241felisaUlessenScriptBegin felisaUlessenScript short noLore if ( CellChanged == 0 ) return endif if ( GetDeadCount "Therana" > 0 ) Disable endif End
242fightbethesbegin fightbethes short counter Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif if ( counter < 20 ) Set counter to counter + 1 Return ;for speed... endif Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "Fore Paw" > 0 ) if ( GetDistance "Fore Paw" < 400 ) StartCombat "Fore Paw" set doonceA to 1 endif endif endif if ( doonceB == 0 ) if ( GetDeadCount fieryra > 0 ) if ( GetDistance fieryra < 400 ) StartCombat fieryra set doonceB to 1 endif endif endif end fightbethes
243fightBovkinnaBegin fightBovkinna Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount "Salvas Areleth" == 0 ) StartCombat "Salvas Areleth" set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount "Daral Thireloth" == 0 ) StartCombat "Daral Thireloth" set doonceB to 1 endif endif End fightBovkinna
244fightBreldaBegin fightBrelda Short NoLore short doonceA if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount Kardryn == 0 ) StartCombat Kardryn set doonceA to 1 endif endif End fightBrelda
245fightClendilBegin fightClendil Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount "Salvas Areleth" == 0 ) StartCombat "Salvas Areleth" set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount "Daral Thireloth" == 0 ) StartCombat "Daral Thireloth" set doonceB to 1 endif endif End fightClendil
246fightDaralBegin fightDaral Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount Clendil == 0 ) StartCombat Clendil set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount Bovkinna == 0 ) StartCombat Bovkinna set doonceB to 1 endif endif End fightDaral
247fightDombaBegin fightDomba short counter Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif ;if ( counter < 20 ) ; Set counter to counter + 1 ; Return ;for speed... ;endif ;Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "Endroni Dalas" == 0 ) StartCombat "Endroni Dalas" set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount "Uresa Omoril" == 0 ) StartCombat "Uresa Omoril" set doonceB to 1 endif endif end fightDomba
248fightDroresArvelbegin fightDroresArvel short counter Short NoLore short doonceA short doonceB ;if ( CellChanged == 0 ) ; Return ;endif if ( counter < 20 ) Set counter to counter + 1 Return ;for speed... endif Set counter to 0 if ( GetDeadCount "Fore Paw" > 0 ) return endif if ( doonceA == 0 ) "Drores Arvel"->StartCombat "Fore Paw" set doonceA to 1 endif if ( doonceB == 0 ) if ( GetDeadCount "fieryra" == 0 ) if ( GetDistance "fieryra" < 400 ) StartCombat "fieryra" set doonceB to 1 endif endif endif end fightDroresArvel
249fightEigmaBegin fightEigma Short NoLore short doonceA if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount "Nals Indrano" == 0 ) StartCombat "Nals Indrano" set doonceA to 1 endif endif End fightEigma
250fightEndroniBegin fightEndroni short counter Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif ;if ( counter < 20 ) ; Set counter to counter + 1 ; Return ;for speed... ;endif ;Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "Gnaw Tooth" == 0 ) StartCombat "Gnaw Tooth" set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount Domba == 0 ) StartCombat Domba set doonceB to 1 endif endif end fightEndroni
251fightFieryraBegin fightFieryra short counter short dooncea short doonceb short dooncec Short NoLore if ( CellChanged == 0 ) Return endif if ( counter < 20 ) Set counter to counter + 1 Return ;for speed... endif Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "bethes sarothril" == 0 ) if ( GetDistance "bethes sarothril" < 400 ) StartCombat "bethes sarothril" set doonceA to 1 endif endif endif if ( doonceB == 0 ) if ( GetDeadCount "Drores Arvel" == 0 ) if ( GetDistance "Drores Arvel" < 400 ) StartCombat "Drores Arvel" set doonceB to 1 endif endif endif if ( doonceC == 0 ) if ( GetDeadCount "fore paw" == 0 ) if ( GetDistance "fore paw" < 400 ) AiFollow, "fore paw", 24, 0, 0, -10,000 set doonceC to 1 endif endif endif End fightFieryra
252fightForepawBegin fightForepaw short counter short doonceA short doonceB Short NoLore ;if ( CellChanged == 0 ) ; Return ;endif if ( counter < 20 ) Set counter to counter + 1 Return ;for speed... endif Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "Drores Arvel" == 0 ) StartCombat "Drores Arvel" Set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount "bethes sarothril" == 0 ) if ( GetDistance "bethes sarothril" < 400 ) StartCombat "bethes sarothril" Set doonceB to 1 endif endif endif End fightForepaw
253fightGnawToothBegin fightGnawTooth short counter Short NoLore short doonceA short doonceB if ( counter < 20 ) Set counter to counter + 1 Return ;for speed... endif Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "Endroni Dalas" == 0 ) if ( GetDistance "Endroni Dalas" < 400 ) StartCombat "Endroni Dalas" set doonceA to 1 endif endif endif if ( doonceB == 0 ) if ( GetDeadCount "Uresa Omoril" == 0 ) if ( GetDistance "Uresa Omoril" < 400 ) StartCombat "Uresa Omoril" set doonceB to 1 endif endif endif end fightGnawTooth
254fightGnaw_ToothBegin fightGnaw_Tooth short counter Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif ;if ( counter < 20 ) ; Set counter to counter + 1 ; Return ;for speed... ;endif ;Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "Endroni Dalas" == 0 ) StartCombat "Endroni Dalas" set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount "Uresa Omoril" == 0 ) StartCombat "Uresa Omoril" set doonceB to 1 endif endif end fightGnaw_Tooth
255fightKardrynBegin fightKardryn Short NoLore short doonceA if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount "Brelda Quintella" == 0 ) StartCombat "Brelda Quintella" set doonceA to 1 endif endif End fightKardryn
256fightNalsBegin fightNals Short NoLore short doonceA if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount Eigma == 0 ) StartCombat Eigma set doonceA to 1 endif endif End fightNals
257fightSalvasBegin fightSalvas Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif if ( doonceA == 0 ) if ( GetDeadCount Clendil == 0 ) StartCombat Clendil set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount Bovkinna == 0 ) StartCombat Bovkinna set doonceB to 1 endif endif End fightSalvas
258fightStopOrdinatorsbegin fightStopOrdinators if ( GetDeadCount "Drores Arvel" == 0 ) "Drores Arvel"->StopCombat "Drores Arvel"->SetFight 10 endif if ( GetDeadCount "Bethes Sarothril" == 0 ) "Bethes Sarothril"->StopCombat "Bethes Sarothril"->SetFight 10 endif if ( GetDeadCount "Daral Thireloth" == 0 ) "Daral Thireloth"->StopCombat "Daral Thireloth"->SetFight 10 endif if ( GetDeadCount "Salvas Areleth" == 0 ) "Salvas Areleth"->StopCombat "Salvas Areleth"->SetFight 10 endif if ( GetDeadCount "Nals Indrano" == 0 ) "Nals Indrano"->StopCombat "Nals Indrano"->SetFight 10 endif if ( GetDeadCount "Uresa Omoril" == 0 ) "Uresa Omoril"->StopCombat "Uresa Omoril"->SetFight 10 endif if ( GetDeadCount "Endroni Dalas" == 0 ) "Endroni Dalas"->StopCombat "Endroni Dalas"->SetFight 10 endif if ( GetDeadCount "Brelda Quintella" == 0 ) "Brelda Quintella"->StopCombat "Brelda Quintella"->SetFight 10 endif StopScript fightStopOrdinators end fightStopOrdinators
259fightStopWitchesbegin fightStopWitches if ( GetDeadCount "Fieryra" == 0 ) "Fieryra"->StopCombat "Fieryra"->SetFight 10 endif if ( GetDeadCount "Fore Paw" == 0 ) "Fore Paw"->StopCombat "Fore Paw"->SetFight 10 endif if ( GetDeadCount "Kardryn" == 0 ) "Kardryn"->StopCombat "Kardryn"->SetFight 10 endif if ( GetDeadCount "Hlireni Indavel" == 0 ) "Hlireni Indavel"->StopCombat "Hlireni Indavel"->SetFight 10 endif if ( GetDeadCount "Ra'Gruzgob" == 0 ) "Ra'Gruzgob"->StopCombat "Ra'Gruzgob"->SetFight 10 endif if ( GetDeadCount "Je Tee" == 0 ) "Je Tee"->StopCombat "Je Tee"->SetFight 10 endif if ( GetDeadCount "Kar Alber" == 0 ) "Kar Alber"->StopCombat "Kar Alber"->SetFight 10 endif if ( GetDeadCount "Eigma" == 0 ) "Eigma"->StopCombat "Eigma"->SetFight 10 endif if ( GetDeadCount "Clendil" == 0 ) "Clendil"->StopCombat "Clendil"->SetFight 10 endif if ( GetDeadCount "Bovkinna" == 0 ) "Bovkinna"->StopCombat "Bovkinna"->SetFight 10 endif if ( GetDeadCount "Oisig" == 0 ) "Oisig"->StopCombat "Oisig"->SetFight 10 endif if ( GetDeadCount "Sloomalah" == 0 ) "Sloomalah"->StopCombat "Sloomalah"->SetFight 10 endif if ( GetDeadCount "Domba" == 0 ) "Domba"->StopCombat "Domba"->SetFight 10 endif if ( GetDeadCount "Gnaw Tooth" == 0 ) "Gnaw Tooth"->StopCombat "Gnaw Tooth"->SetFight 10 endif StopScript fightStopWitches end fightStopWitches
260fightUresaBegin fightUresa short counter Short NoLore short doonceA short doonceB if ( CellChanged == 0 ) Return endif ;if ( counter < 20 ) ; Set counter to counter + 1 ; Return ;for speed... ;endif ;Set counter to 0 if ( doonceA == 0 ) if ( GetDeadCount "Gnaw Tooth" == 0 ) StartCombat "Gnaw Tooth" set doonceA to 1 endif endif if ( doonceB == 0 ) if ( GetDeadCount Domba == 0 ) StartCombat Domba set doonceB to 1 endif endif end fightUresa
261fjolgeirScriptBegin fjolgeirScript short noLore short followNow short distanceCheck float timer if ( MenuMode == 1 ) return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage != 3 ) 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 ) ;since there does not appear to be any "wait for me" for Nord males... Say "Vo\N\M\Flw_NM001.mp3" "Do you know where you're going?" set distanceCheck to 1 endif End
262Floatbegin 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
263fonus_rathryonBegin fonus_rathryon float timer short fonusGreet short doonce short nolore if ( doonce == -1 ) return endif if ( GetJournalIndex "MV_PoorPilgrim" >= 20 ) if ( GetDistance Player < 512 ) if ( GetDistance "Ex_Cave_Door_01_Koal" < 400 ) Journal "MV_PoorPilgrim" 90 ;AiWander 128,0,0,60,30,10,0,0,0,0,0,0 ;MessageBox "SET WANDER ON" ForceGreeting set doonce to -1 endif endif endif if ( GetCurrentAiPackage != 3 ) return endif set timer to timer + GetSecondsPassed if ( timer > 720 ) ;12 minutes set timer to 0 if ( GetDistance Player < 512 ) set fonusGreet to ( fonusGreet + 1 ) ForceGreeting endif endif if ( OnDeath == 1 ) Journal "MV_PoorPilgrim" 120 endif End
264fools_dead_checkBegin fools_dead_check ;flag for dialog to recognize that troublesome fools bothering Huleeya have been killed, quest A1-7 Huleeya Informant short FoolsDead if ( MenuMode == 1 ) Return endif if ( GetDeadCount, "Favel Gobor" > 0 ) if ( GetDeadCount, "Urven Davor" > 0) if ( GetDeadCount, "Ethys Savil" > 0) set FoolsDead to 1 endif endif endif End
265FraldCounterBegin FraldCounter short myDay if ( myDay == Day ) Return endif if ( myDay == 0 ) set myDay to Day Return endif set "Frald the White".daysPassed to "Frald the White".daysPassed + 1 set myDay to Day if ( "Frald the White".daysPassed > 10 ) StopScript FraldCounter endif End
266fraldScriptBegin fraldScript short daysPassed End
267freleneAcquesScriptBegin freleneAcquesScript short noLore short followNow short distanceCheck float timer ;in dialogue to tell if the door to her cell is locked or not. 0 = locked, 1 = unlocked. short doorLocked if ( MenuMode == 1 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetJournalIndex HR_Stronghold >= 144 ) Return endif if ( GetJournalIndex HR_Stronghold < 141 ) Return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetTarget "ordinator wander_hp" == 1 ) StopCombat endif if ( GetPCCell "Vivec, Hlaalu Prison Cells" == 0 ) ;if follow is done, NPC has arrived... Journal HR_Stronghold 144 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 ForceGreeting SetHello 30 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\B\F\Flw_BF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
268freleneCellDoorBegin freleneCellDoor if ( GetLocked == 1 ) set "Frelene Acques".doorLocked to 1 else set "Frelene Acques".doorLocked to 0 endif End
269furiusScriptBegin furiusScript If ( GetJournalIndex "IL_KnightShield" < 10 ) return endif If ( OnDeath == 1 ) If ( GetJournalIndex "IL_KnightShield" > 10 ) Journal "IL_KnightShield" 40 endif endif End
270gadaynScriptBegin gadaynScript short eraldilhere short glathelhere short doonce short nolore if ( doonce == -1 ) return endif if ( GetDistance eraldil <= 512 ) set eraldilhere to 1 set doonce to -1 endif if ( GetDistance glathel <=512 ) set glathelhere to 1 set doonce to -1 endif End gadaynScript
271galbedirDeskBegin galbedirDesk if ( GetJournalIndex MG_Sabotage >= 100 ) Return endif if ( GetJournalIndex MG_Sabotage < 10 ) Return endif if ( GetItemCount "Misc_fakesoulgem" > 0 ) Set "ajira".gemInDesk to 1 else Set "ajira".gemInDesk to 0 endif End
272galbedirScriptBegin galbedirScript short doOnce float timer if ( doOnce == 5 ) Return endif if ( doOnce == 0 ) if ( GetJournalIndex MG_Sabotage >= 10 ) AiTravel -26 -660 -750 0 Set doOnce to 1 endif endif if ( doOnce == 1 ) if ( GetAiPackageDone == 1 ) AiWander 0 0 0 60 30 20 0 0 0 0 0 0 Set doOnce to 2 endif if ( GetDistance "common_ring_01_mgbwg" < 200 ) AiWander 0 0 0 60 30 20 0 0 0 0 0 0 Set doOnce to 2 endif if ( CellChanged == 1 ) AiWander 0 0 0 60 30 20 0 0 0 0 0 0 Set doOnce to 2 endif endif if ( doOnce == 2 ) Set timer to ( timer + GetSecondsPassed ) if ( timer > 30 ) Set doOnce to 3 endif endif if ( doOnce == 3 ) AiTravel -545 -75 15 0 Set doOnce to 4 endif if ( doOnce == 4 ) if ( GetAiPackageDone == 1 ) AiWander 0 0 0 60 30 20 0 0 0 0 0 0 Set doOnce to 5 endif if ( GetDistance "de_p_desk_01_galbedir" < 64 ) AiWander 0 0 0 60 30 20 0 0 0 0 0 0 Set doOnce to 5 endif if ( CellChanged == 1 ) AiWander 0 0 0 60 30 20 0 0 0 0 0 0 Set doOnce to 5 endif endif End
273galosMathendisScriptBegin galosMathendisScript short noLore if ( CellChanged == 0 ) return endif if ( GetDeadCount "Aryon" > 0 ) Disable endif End
274gameRatScriptBegin gameRatScript ;script on Yngling's Blighted Game Rats short doOnce if ( doOnce == 1 ) Return endif if ( GetBlightDisease == 0 ) Set "edryno arethi".gameRatsCured to "edryno arethi".gameRatsCured + 1 Set doOnce to 1 endif End
275gardingScriptBegin gardingScript ;if you're both in the Arena ;and if the Bero Support quest is active ;handles duel flag and duel conditions short NoLore short doOnce if ( GetPCCell "Vivec, Arena Pit" == 0 ) ;if you're not in the arena yet, is very bad to kill him, also no reason to run rest of script yet if ( OnDeath == 1 ) Journal HH_BeroSupport 200 endif return endif if ( GetJournalIndex HH_BeroSupport >= 70 ) ;if quest if over and he's not dead, pop him back to haunted manor once, also stop here if ( CellChanged == 0 ) return endif if ( doOnce == 0 ) if ( GetDeadCount "Garding" == 0 ) PositionCell 8090 698 -500 270 "Vivec, St. Olms Haunted Manor" endif endif return endif if ( OnDeath == 1 ) Set DuelActive to 0 Journal HH_BeroSupport 70 endif if ( OnKnockout == 1 ) Set DuelActive to 0 Journal HH_BeroSupport 70 SetFight 0 StopCombat endif if ( GetHealth < 70 ) Set DuelActive to 0 Journal HH_BeroSupport 70 ForceGreeting SetFight 0 StopCombat endif End
276GG_OpenGate1Begin GG_OpenGate1 ;opens first gate as Ghostgate (say that 5 times) ;put on button float timer short state if ( MenuMode == 1 ) return endif if ( OnActivate == 1 ) if ( GG_Gate1_State == 0 ) PlaySound "Open Lock" "ex_gg_portcullis_01"->Playsound3DVP "Dwemer Door Open" 1.0 1.0 set GG_Gate1_State to 10 set state to 10 endif endif if ( State >= 10 ) set timer to ( timer + GetSecondsPassed ) ;move gate up (210 units) if ( timer < 3 ) "ex_gg_portcullis_01"->MoveWorld z 70 ;set back to start elseif ( timer > 21 ) "ex_gg_portcullis_01"->SetAtStart set State to 0 ;can now press button again set GG_Gate1_State to 0 set timer to 0 ;move gate down (210 units) elseif ( timer > 18 ) ;use state so sound only plays once if ( State == 10 ) "ex_gg_portcullis_01"->Playsound3DVP "Dwemer Door Open" 1.0 1.0 Set State to 20 endif "ex_gg_portcullis_01"->MoveWorld z -70 endif endif end GG_OpenGate1
277GG_OpenGate2Begin GG_OpenGate2 ;opens second gate as Ghostgate (say that 5 times) ;put on button float timer short state if ( MenuMode == 1 ) return endif if ( OnActivate == 1 ) if ( GG_Gate2_State == 0 ) PlaySound "Open Lock" "ex_gg_portcullis_02"->Playsound3DVP "Dwemer Door Open" 1.0 1.0 Set GG_Gate2_State to 10 Set state to 10 endif endif if ( state >= 10 ) set timer to ( timer + GetSecondsPassed ) ;move gate up (210 units) if ( timer < 3 ) "ex_gg_portcullis_02"->MoveWorld z 70 elseif ( timer > 21 ) "ex_gg_portcullis_02"->SetAtStart set GG_Gate2_State to 0 ;can now press button again set state to 0 set timer to 0 ;move gate down (210 units) elseif ( timer > 18 ) ;use state so sound only plays once if ( state == 10 ) "ex_gg_portcullis_02"->Playsound3DVP "Dwemer Door Open" 1.0 1.0 set state to 20 endif "ex_gg_portcullis_02"->MoveWorld z -70 endif endif end GG_OpenGate2
278GhostfenceScriptBegin GhostfenceScript if ( GetDisabled == 1 ) Return endif ;this journal entry gets set when heart is wacked and akul falls apart if ( GetJournalIndex, C3_DestroyDagoth >= 20 ) Disable stopsound "ghostgate sound" else if ( CellChanged == 0 ) if ( GetSoundPlaying "ghostgate sound" == 0 ) playloopsound3dvp "ghostgate sound" 1.0 1.0 endif endif endif End
279girasScriptBegin girasScript short postDuel ;for dialogue float timer if ( timer == -1 ) return endif if ( timer > 0 ) Set timer to ( timer + GetSecondsPassed ) if ( timer > 2 ) ForceGreeting StopCombat SetFight 30 Set timer to -1 endif return endif if ( GetJournalIndex HR_BillCollect != 70 ) if ( OnDeath == 1 ) AddItem "Gold_001" 2000 endif return endif if ( OnDeath == 1 ) "Tidros Indaram"->SetFight 100 "Birer Indaram"->SetFight 100 Journal HR_BillCollect 90 AddItem "Gold_001" 2000 return endif if ( OnKnockout == 1 ) StopCombat SetFight 30 SetHealth 175 Journal HR_BillCollect 90 Set timer to 1 return endif if ( GetHealth < 75 ) StopCombat SetFight 30 SetHealth 175 Journal HR_BillCollect 90 Set timer to 1 return endif End
280glathelScriptBegin glathelScript short currentDay short daysPassed short glathelMove short nolore ;if ( menumode == 1 ) ; return ;endif if ( glathelMove == -1 ) return endif if ( GetJournalIndex "EB_Unrequited" != 80 ) return endif if ( currentDay == Day ) Return endif Set currentDay to Day Set daysPassed to ( daysPassed + 1 ) ;MessageBox "ADDING DAY TO GLATHEL SCRIPT" if ( GetPCCell "Vivec, Elven Nations Cornerclub" == 1 ) return endif if ( GetPCCell "Vivec, Hlaalu General Goods" == 1 ) return endif if ( GetDeadCount "glathel" > 0 ) return endif if ( GetDeadCount "gadayn andarys" > 0 ) return endif if ( daysPassed > 10 ) "glathel"->PositionCell, 175.85, -134.169, -157.704, 270, "Vivec, Hlaalu General Goods" set glathelMove to -1 ;MessageBox "SHOULD BE MOVING GLATHEL NOW" return endif End glathelScript
281GlobalFixNPCsbegin GlobalFixNPCs if ( "sharn gra-muzgob"->getpos z < -1000 ) "sharn gra-muzgob"->position 488 -1676 -727 0 endif if ( GetJournalIndex MG_Guildmaster == 50 ) if ( "trebonius artorius"->getpos z < -1000 ) "trebonius artorius"->position 1 1 -325 270 endif endif StopScript GlobalFixNPCs end GlobalFixNPCs
282gloveScriptbegin gloveScript short OnPCEquip if ( OnPCEquip == 1 ) set TGglove to 1 else set TGglove to 0 endif end gloveScript
283GnisisEggmineDoorbegin GnisisEggmineDoor float time if ( MenuMode == 0 ) if GetDistance, Player < 500 set time to time + GetSecondsPassed if time > 3 set time to 0 ; StreamMusic "Your_Music_Here.mp3" (and take the comment out) Player->PositionCell 3712, 3840, 0, 0, "Todd's Interior Wonderland" endif else set time to 0 endif endif end
284GnisisWarpDoorbegin GnisisWarpDoor float time if GetDistance, Player < 500 set time to time + GetSecondsPassed if time > 3 set time to 0 StreamMusic "conantheme.mp3" Player->Position -79616, 95004, 1736, 260 endif else set time to 0 endif end
285hanAmmuNoLorebegin hanAmmuNoLore Short NoLore if ( OnDeath == 1 ) Journal B4_ErabenimsunKill 1 Journal B8_Failed_Nerevarine 1 endif end nolore
286hannatScriptBegin hannatScript short noLore short distanceCheck short followNow float timer if ( GetJournalIndex "MS_Hannat" < 1 ) return endif if ( GetJournalIndex "MS_Hannat" >= 50 ) if ( CellChanged == 1 ) disable endif return endif if ( GetHealth <= 0 ) if ( GetJournalIndex "MS_Hannat" <= 50 ) Journal "MS_Hannat" 110 endif endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetPCCell "Mamaea, Sanctum of Awakening" == 0 ) if ( GetPCCell "Mamaea, Sanctum of Black Hope" == 0 ) if ( GetPCCell "Mamaea, Shrine of Pitted Dreams" == 0 ) ;if Hannat is outside Journal "MS_Hannat" 50 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\M\Flw_DM004.mp3" "Thank you." ForceGreeting SetHello 30 endif endif 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 ) ;since there is not "wait for me" for Dunmer male... Say "Vo\D\M\Flw_DM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
287HentusTravelBegin HentusTravel short hentusmove float hentface float timer if ( hentusmove == 0 ) "Hentus Yansurnummu"->AiTravel -83957.945 89109.875 380.425 Set hentusmove to 1 elseif ( hentusmove == 1 ) if ( "Hentus Yansurnummu"-> GetAiPackageDone == 1 ) set hentusmove to 2 endif elseif ( hentusmove == 2 ) "Hentus Yansurnummu"->AiTravel -83764.008 89347.672 518.606 Set hentusmove to 3 elseif ( hentusmove == 3 ) if ( "Hentus Yansurnummu"-> GetAiPackageDone == 1 ) set hentusmove to 4 endif elseif ( hentusmove == 4 ) "Hentus Yansurnummu"->AiTravel -83256.125 90114 870.734 Set hentusmove to 5 elseif ( hentusmove == 5 ) if ( "Hentus Yansurnummu"-> GetAiPackageDone == 1 ) set hentusmove to 6 endif elseif ( hentusmove == 6 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 3 ) set hentface to ( "Hentus Yansurnummu"->GetAngle Z ) "Hentus Yansurnummu"->Position -83201.602 90123.063 885.547 hentface Set hentusmove to 7 endif elseif ( hentusmove == 7 ) "Hentus Yansurnummu"->AiTravel -86606.344 92276.438 964.208 set hentusmove to 8 endif elseif ( hentusmove == 8 ) if ( "Hentus Yansurnummu"-> GetAiPackageDone == 1 ) "Hentus Yansurnummu"-> AiWander 2000 0 60 30 0 0 0 0 set hentusmove to 9 endif elseif ( hentusmove == 9 ) StopScript hentusTravel endif End
288hgwcScriptBegin hgwcScript ;script on bk_hanginggardenswasten short doOnce if ( doOnce == 1 ) Return endif if ( OnActivate == 1 ) AddTopic "Hanging Gardens" if ( GetJournalIndex MG_Excavation < 40 ) Journal MG_Excavation 40 endif Set doOnce to 1 Activate endif if ( GetJournalIndex MG_Excavation >= 40 ) Return endif if ( GetDistance Player < 200 ) Journal MG_Excavation 40 endif End
289hidesFootScriptBegin hidesFootScript short noLore short followNow short distanceCheck float timer ;global NPCVoiceDistance float xPos float yPos if ( MenuMode == 1 ) return endif if ( GetJournalIndex HH_TwinLamps3 >= 70 ) return endif if ( GetJournalIndex HH_TwinLamps3 < 50 ) return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;original conditions, and in case something funky happens... Journal HH_TwinLamps3 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\A\M\Flw_AM003.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif Set xPos to GetPos X Set yPos to GetPos Y if ( xPos > 34770 ) Set xPos to 1 else Set xPos to 0 endif if ( yPos > -38050 ) Set yPos to 1 else Set yPos to 0 endif if ( GetPCCell "Sterdecan's Farmhouse" == 1 ) ;since the above method may not actually work... Journal HH_TwinLamps3 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\A\M\Flw_AM003.mp3" "Thank you." SetHello 30 endif if ( GetDistance Player < NPCVoiceDistance ) if ( GetDistance Player < 500 ) set distanceCheck to 0 endif set timer to 0 return endif if ( distanceCheck == 0 ) if ( SayDone == 1 ) Say "Vo\A\M\Flw_AM001.mp3" "Where are you going?" endif set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
290high_fane_alertbegin high_fane_alert ;ordinator_high_fane: Berel Sala tells ordinators you will try to assassinate Saryoni ;this forcegreeting script lets PC persuade ordinators to leave you alone, or defy them, and be attacked short doOnce float timer if ( getjournalindex B8_MeetVivec < 1 ) return endif if ( getjournalindex B8_MeetVivec >= 20 ) return endif if ( GetDistance Player > 3000 ) set doOnce to 0 Return endif if ( timer < 3 ) Set timer to ( timer + GetSecondsPassed ) return endif Set timer to 0 if ( doOnce != 0 ) Return endif if ( GetDistance Player < 150 ) ForceGreeting set doOnce to 1 endif end high_fane_alert
291hisin_deep_raedBegin hisin_deep_raed short done short nolore if ( done == -1 ) return endif if ( GetJournalIndex "MV_ParalyzedBarbarian" < 100 ) if ( GetSpell "WitchWither" == 0 ) Journal "MV_ParalyzedBarbarian" 65 ForceGreeting set done to -1 endif endif End
292hlaaluPrisonGuardBegin hlaaluPrisonGuard short doOnce float timer if ( GetJournalIndex HR_Stronghold < 141 ) Return endif if ( GetJournalIndex HR_Stronghold >= 144 ) if ( doOnce == 1 ) StopCombat Set doOnce to 2 endif Return endif if ( doOnce > 0 ) Return endif Set timer to ( timer + GetSecondsPassed ) if ( timer > 1 ) Set timer to 0 if ( GetDetected Player == 1 ) StartCombat Player Set doOnce to 1 endif endif End
293hlormarScriptBegin hlormarScript short followOn short greetonce short nolore if ( GetJournalIndex "MV_AbusedHealer" >= 80 ) return endif if ( MenuMode == 1 ) return ;don't run time in Menu Mode. Very bad. endif If ( GetCurrentAIPackage == 3 ) set followOn to 1 endif if ( GetCurrentAIPackage != 3 ) set followOn to 0 endif if ( greetonce == 0 ) if ( Player->GetItemCount "cloudcleaver_unique" > 0 ) if ( GetDistance Player <= 512 ) ForceGreeting ;set greetonce to -1 endif endif endif ;short Greeted ;if ( Greeted == 1 ) ; return ;endif ;if ( GetJournalIndex "MV_AbusedHealer" != 50 ) ; return ;endif ;if ( Greeted == 0 ) ; If ( GetJournalIndex "MV_AbusedHealer" == 50 ) ; ForceGreeting ; Set Greeted to 1 ; endif ;endif end
294HolamayanCoverbegin HolamayanCover short BeOpen ;true if you WANT the cover to be open short open ;true if the cover is currently open short sound ;true if sound has played already float timer if ( menumode == 1) return endif set BeOpen to 0 ;check for sunrise if ( Gamehour > 6 ) if ( Gamehour < 8 ) set BeOpen to 1 endif endif ;check for sunset if ( Gamehour > 18 ) if ( Gamehour < 20 ) set BeOpen to 1 endif endif ;move the thing, it has to rotate 20 degrees if ( BeOpen == 1 ) if ( open == 0 ) ;it's opening since it's currently closed if ( sound == 0 ) PlaySound "Door Stone Open" set sound to 1 endif if ( timer < 5 ) set timer to timer + getsecondspassed Rotate, x, 4 else set timer to 0 set open to 1 set sound to 0 endif endif else ;BeOpen if false, should be closed if ( open == 1 ) ; Oh No!! It's open, but we want it closed!! if ( sound == 0 ) PlaySound "Door Stone Open" set sound to 1 endif if ( timer < 5 ) set timer to timer + getsecondspassed Rotate, x, -4 else set timer to 0 set open to 0 set sound to 0 SetAtStart ;safety check for back to normal endif endif endif end HolamayanCover
295HuleeyaFollowBegin HuleeyaFollow short noLore short followDone short followNow short distanceCheck float timer if ( MenuMode == 1 ) Return endif if ( FollowDone == 1 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;if the follow is done, set followDone to 1, reset followNow to 0 set followDone to 1 set followNow to 0 ;Give NPC new package to avoid dumb-looking behavior AiWander 256 0 0 40 20 20 0 0 0 0 0 0 ;And journal entry gives feedback to the player... Journal, "A1_7HuleeyaInformant", 20 ;And increase PC Reputation... Player->ModReputation 1 ;And increase Huleeya's Dispositions ModDisposition 30 ;force a greeting to make sure quest is over ForceGreeting ;and say something Say "Vo\A\M\Flw_AM003.mp3" "Thank you." ;and start doing idles, hellos, etc. again SetHello 30 endif if ( GetPCCell "Vivec, Jobasha's Rare Books" == 1 ) ;do it all here also set followDone to 1 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Journal, "A1_7HuleeyaInformant", 20 Player->ModReputation 1 ModDisposition 30 ForceGreeting Say "Vo\A\M\Flw_AM003.mp3" "Thank you." SetHello 30 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\A\M\Flw_AM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
296Huleeya_disposition_checkBegin Huleeya_disposition_check ;Huleeya Disposition >= 50; good report to Morag Tong short HuleeyaFriend if ( MenuMode == 1 ) Return endif if ( Huleeya->GetDisposition > 50 ) set HuleeyaFriend to 1 else set HuleeyaFriend to 0 endif End
297Ingwold_disablebegin Ingwold_disable ;for MS_HatandSkirt ;disable Ingwold on cell change short nolore if ( GetDisabled == 1 ) return endif if ( GetJournalIndex MS_HatandSkirt >= 50 ) if ( CellChanged == 1 ) disable endif endif end Ingwold_disable
298irarakScriptbegin irarakScript short done short dead short nolore if ( OnDeath == 1 ) if ( GetJournalIndex "VA_VampCult" >= 20 ) Journal "VA_VampCult" 110 set dead to -1 endif endif if ( dead == -1 ) return endif if ( done == -1 ) return endif if ( done == 2 ) ;check for PC NO LONGER a Berne Vampire if ( player->GetSpell "Vampire Aundae Specials" != 1 ) setfight 90 set done to -1 endif endif if ( done == 1 ) ;check for PC as a Berne Vampire if ( player->GetSpell "Vampire Berne Specials" == 1 ) setfight 30 set done to 2 endif return endif if ( done == 0 ) AddSpell, "Vampire Blood Berne" ;this is the blood disease AddSpell, "Vampire Attributes" AddSpell, "Vampire Skills" AddSpell, "Vampire Immunities" AddSpell, "Vampire Sun Damage" AddSpell, "Vampire Touch" AddSpell, "Vampire's Kiss" AddSpell, "Vampire Berne Specials" ModRestoration 75 set done to 1 endif end irarakScript
299itermerelScriptBegin itermerelScript short noLore short followNow short distanceCheck float timer ;global NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex MG_EscortScholar2 >= 70 ) Return endif if ( GetJournalIndex MG_EscortScholar2 < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;original conditions, and in case something funky happens... Journal MG_EscortScholar2 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\H\M\Flw_HM003.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Pelagiad, Halfway Tavern" == 1 ) ;since the above method may not actually work... Journal MG_EscortScholar2 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\H\M\Flw_HM003.mp3" "Thank you." SetHello 30 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\H\M\Flw_HM004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
300jeannechestScriptBegin jeannechestScript short greetonce if ( GetJournalIndex EB_Bone < 20 ) return endif if ( GetJournalIndex EB_Bone >= 40 ) return endif if ( GetJournalIndex EB_Bone == 30 ) return endif if ( greetonce == -1 ) return endif if ( GetDistance Player <= 128 ) if ( jeanne->GetDetected Player == 1 ) Journal EB_Bone 50 jeanne->ForceGreeting set greetonce to -1 endif Activate endif End jeannechestScript
301jeannedoorScriptBegin jeannedoorScript short greetonce if ( greetonce == -1 ) if ( OnActivate == 1 ) Activate endif endif if ( GetJournalIndex EB_Bone < 20 ) return endif if ( GetJournalIndex EB_Bone >= 40 ) return endif if ( GetJournalIndex EB_Bone == 30 ) return endif if ( greetonce == -1 ) return endif if ( OnActivate == 1 ) if ( jeanne->GetDetected Player == 1 ) Journal EB_Bone 50 jeanne->ForceGreeting endif Activate set greetonce to -1 endif End jeannedoorScript
302jeanneScriptBegin jeanneScript float timer short nolore if ( GetJournalIndex "EB_Bone" < 20 ) Return endif if ( GetJournalIndex EB_Bone >= 40 ) Return endif Set timer to ( timer + GetSecondsPassed ) if ( timer < 5 ) Return endif Set timer to 0 if ( GetDistance Player <= 1024 ) if ( player->GetDistance "com_chest_02_jeanne_u" <=128 ) if ( GetDetected Player == 1 ) ForceGreeting Journal EB_Bone 50 endif endif endif End jeanneScript
303jobashaScriptbegin jobashaScript ;flag to avoid giving "free the slaves" freeform reward over and over short gaveFreedomReward short noLore end jobashaScript
304jsaddhaScriptBegin jsaddhaScript short noLore short followNow short distanceCheck float timer if ( MenuMode == 1 ) Return endif if ( GetJournalIndex HH_TwinLamps1 >= 70 ) Return endif if ( CellChanged == 1 ) if ( GetJournalIndex HH_TwinLamps1 > 0 ) if ( GetJournalIndex HH_TwinLamps1 < 100 ) Enable Return endif endif Disable Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 set "anes hlaren".followNow to 1 set "garyn girith".followNow to 1 set "sadal doren".followNow to 1 if ( GetAIPackageDone == 1 ) ;if follow is done, NPC has arrived... Journal HH_TwinLamps1 70 set followNow to 0 set "anes hlaren".followNow to 0 set "garyn girith".followNow to 0 set "sadal doren".followNow to 0 AiFollow "galyn arvel" 0 0 0 0 0 Say "Vo\K\M\Flw_KM003.mp3" "Many thanks." SetHello 30 endif if ( timer > 3 ) if ( GetDistance "galyn arvel" < 300 ) ;if J'Saddha is near Galyn, end quest here as well if JSaddha can't reach his point ;or if someone sets Galyn to a larger wander distance, etc. Journal HH_TwinLamps1 70 set followNow to 0 set "anes hlaren".followNow to 0 set "garyn girith".followNow to 0 set "sadal doren".followNow to 0 AiFollow "galyn arvel" 0 0 0 0 0 Say "Vo\K\M\Flw_KM003.mp3" "Many thanks." SetHello 30 endif 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\H\M\Flw_HM004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 set "anes hlaren".followNow to 0 set "garyn girith".followNow to 0 set "sadal doren".followNow to 0 endif End
305kaushadNoLorebegin kaushadNoLore Short NoLore if ( OnDeath == 1 ) Journal B3_ZainabKill 1 Journal B8_Failed_Nerevarine 1 endif end
306kwamaQueenGnisisBegin kwamaQueenGnisis ;this handles curing the queen of here blight if ( GetJournalIndex IL_GnisisBlight < 10 ) Return endif if ( GetJournalIndex IL_GnisisBlight >= 50 ) Return endif if ( GetBlightDisease == 0 ) Journal IL_GnisisBlight 50 endif End kwamaQueenGnisis
307kwamaQueenMudanBegin kwamaQueenMudan ;this handles curing the queen of here blight if ( GetJournalIndex HT_MineCure < 10 ) Return endif if ( GetJournalIndex HT_MineCure >= 70 ) Return endif if ( GetBlightDisease == 0 ) Journal HT_MineCure 70 endif End
308kwamaQueenShurdanBegin kwamaQueenShurdan ;this handles curing the queen of here blight if ( GetJournalIndex HH_Stronghold >= 140 ) return endif if ( GetJournalIndex HH_Stronghold < 110 ) return endif if ( GetBlightDisease == 0 ) Journal HH_Stronghold 140 endif End
309kwamaShurdan1Begin kwamaShurdan1 if ( CellChanged == 0 ) Return endif if ( GetJournalIndex HH_Stronghold >= 140 ) Disable else Enable endif End
310landDeedChestBegin landDeedChest ;for HH_ReplaceDocs ;short replacedDocs in "Odral Helvi" if ( GetItemCount "bk_landdeedfake_hhrd" > 0 ) if ( "Odral Helvi".replacedDocs == 0 ) Set "Odral Helvi".replacedDocs to 1 endif else if ( "Odral Helvi".replacedDocs == 1 ) Set "Odral Helvi".replacedDocs to 0 endif endif End
311lavabegin lava if ( menumode == 1 ) return endif if ( CellChanged == 0 ) if ( GetSoundPlaying "lava layer" == 0 ) PlayLoopSound3DVP "lava layer", 1.0, 1.0 endif endif HurtStandingActor, 20.0 ;20 pts of damage a sec end lava
312LegionUniformbegin LegionUniform short OnPCEquip short OnPC ;this is needed since this script also runs on the armor pieces the NPC wears if ( OnPCEquip == 1 ) set WearingLegionUni to 1 set OnPC to 1 endif ;this one has been equipped by PC ast some point, so check for it being unequipped if ( OnPC == 1 ) ;oops, now he took it off if ( OnPCEquip == 0 ) set WearingLegionUni to 0 set OnPC to 0 ;start looking again if he has it on endif endif end LegionUniform
313letteScriptbegin letteScript if ( GetJournalIndex TT_CuringTouch >= 50 ) return endif if ( GetSpell "Swamp Fever" == 0 ) say, "vo\r\f\Flw_RF003.mp3", "Thank you." Journal TT_CuringTouch 50 endif end letteScript
314lightofdayScriptBegin lightofdayScript float damage short OnPCEquip short doOnce if ( menumode == 1) return endif if ( OnPCEquip == 1 ) if ( PCVampire == 1 ) set damage to -7 set damage to ( damage * GetSecondsPassed ) Player->ModCurrentHealth, Damage if ( doOnce == 0 ) MessageBox "Your had begins to blister and burn with the pain of a thousand suns. A voice echoes in your mind, 'Never shall you wield this, evil thing.'" set doOnce to -1 endif endif endif if ( OnPCEquip != 1 ) set doOnce to 0 endif End lightofdayScript
315llovynAndusScriptBegin llovynAndusScript ;for HH_RentCollector... Makes Guar follow you short corkyFollow End
316llunelaHleranScriptBegin llunelaHleranScript short hasSoul End
317LocalStatebegin LocalState ;used on objects just to track a locak var short state end LocalState
318lookoutScriptBegin lookoutScript float timer short walkstate short distancecheck if ( walkstate == -1 ) return endif if ( GetJournalIndex MS_Lookout == 30 ) return endif if ( GetJournalIndex Ms_Lookout < 20 ) return elseif ( GetJournalIndex MS_Lookout >= 100 ) return endif if ( distancecheck == 0 ) if ( GetDistance Player > 512 ) return endif endif if ( walkstate == 0 ) if ( GameHour < 22 ) if ( GameHour > 4 ) return endif endif set walkstate to 1 set distancecheck to 1 ;MessageBox "TIME AND DISTANCE CHECK PASSED" elseif ( walkstate == 1 ) if ( GetJournalIndex "MS_Lookout" = 20 ) set fargothwalk to 1 set walkstate to 2 ;Fargoth->AddItem "torch_infinite_time" 1 ;MessageBox "STATE 1 -- SCRIPT RUNNING" endif elseif ( walkstate == 2 ) Fargoth->ForceSneak Fargoth->AiTravel -11468.595,-71511.531,173.728 ;goes to tree set walkstate to 3 elseif ( walkstate == 3 ) if ( Fargoth->GetAiPackageDone == 1 ) ;Fargoth->Equip "torch_infinite_time_unique" set walkstate to 4 ;MessageBox "SHOULD BE AT TREE" endif elseif ( walkstate == 4 ) set timer to timer + GetSecondsPassed Fargoth->ClearForceSneak Fargoth->AiWander 0 0 0 0 0 0 0 0 0 if ( timer > 3 ) Fargoth->ForceSneak Fargoth->AiTravel -11410.590,-72057.188,133.644 ;goes to wall set walkstate to 5 endif elseif ( walkstate == 5 ) if ( Fargoth->GetAiPackageDone == 1 ) set timer to 0 set walkstate to 6 ;MessageBox "SHOULD BE AT WALL" endif elseif ( walkstate == 6 ) set timer to timer + GetSecondsPassed Fargoth->ClearForceSneak Fargoth->AiWander 0 0 0 0 0 0 0 0 0 if ( timer > 3 ) Fargoth->ForceSneak Fargoth->AiTravel -11809.143,-72958.930,36.435 ;goes to shore set walkstate to 7 endif elseif ( walkstate == 7 ) if ( Fargoth->GetAiPackageDone == 1 ) set timer to 0 set walkstate to 8 ;MessageBox "SHOULD BE AT SHORE" endif elseif ( walkstate == 8 ) set timer to timer + GetSecondsPassed Fargoth->ClearForceSneak Fargoth->AiWander 0 0 0 0 0 0 0 0 0 if ( timer > 3 ) Fargoth->ForceSneak Fargoth->AiTravel -11869.832,-71553.195,141.121 ;goes to tree again set walkstate to 9 endif elseif ( walkstate == 9 ) if ( Fargoth->GetAiPackageDone == 1 ) set timer to 0 set walkstate to 10 ;MessageBox "SHOULD BE AT TREE AGAIN" endif elseif ( walkstate == 10 ) set timer to timer + GetSecondsPassed Fargoth->ClearForceSneak Fargoth->AiWander 0 0 0 0 0 0 0 0 0 if ( timer > 3 ) Fargoth->ForceSneak Fargoth->AiTravel -12592.300,-71155.977,-43.445 ;goes to muck pond set walkstate to 11 endif elseif ( walkstate == 11 ) if ( Fargoth->GetAiPackageDone == 1 ) set timer to 0 set walkstate to 12 ;MessageBox "SHOULD BE AT POND" endif elseif ( walkstate == 12 ) ;"sack_fargoth"->enable set timer to timer + GetSecondsPassed Fargoth->AiWander 128 0 0 0 0 0 0 0 0 if ( timer > 8 ) Fargoth->ForceSneak "flora_treestump_unique"->additem "gold_001" 300 "flora_treestump_unique"->additem "pick_journeyman_01" 1 Fargoth->AiTravel -11296.063,-70331.398,246.265 ;goes to middle of town set walkstate to 13 set fargothwalk to 2 if ( GetJournalIndex "MS_FargothRing" == 100 ) if ( Fargoth->GetItemCount "ring_keley" > 0 ) "flora_treestump_unique"->additem "ring_keley" 1 Fargoth->RemoveItem "ring_keley" 1 endif endif endif elseif ( walkstate == 13 ) if ( Fargoth->GetAiPackageDone == 1 ) set timer to 0 set walkstate to 14 ;MessageBox "SHOULD BE AT TOWN" endif elseif ( walkstate == 14 ) set timer to timer + GetSecondsPassed Fargoth->ClearForceSneak Fargoth->AiWander 0 0 0 0 0 0 0 0 0 if ( timer > 3 ) Fargoth->AiTravel -11683.002,-67847.398,298.981 ;goes to his front door set walkstate to 15 endif elseif ( walkstate == 15 ) if ( Fargoth->GetAiPackageDone == 1 ) set timer to 0 set walkstate to 16 ;MessageBox "SHOULD BE AT HOUSE" endif elseif ( walkstate == 16 ) Fargoth->AiWander 512 0 0 60 30 10 0 0 0 set fargothwalk to 3 set walkstate to -1 endif End lookoutScript
319lorbumolScriptbegin lorbumolScript short nolore short doonce if ( doonce == -1 ) return endif if ( GetJournalIndex FG_KillCronies >= 10 ) if ( GetDistance Player <= 256 ) ForceGreeting StartCombat Player set doonce to -1 endif endif end lorbumolScript
320LorkhanHeartbegin 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
321lucanScript2Begin lucanScript2 short greetonce short nolore if ( GetDistance Player <= 300 ) if greetonce == 0 ForceGreeting set greetonce to 1 endif endif End lucanScript2
322lucan_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
323lugrubScriptBegin lugrubScript short doOnce short NoLore float timer if ( CellChanged == 1 ) Set doOnce to 0 Set timer to 0 Return endif if ( MenuMode == 1 ) ;don't increment timer in menu mode... Return endif if ( GetJournalIndex IL_GnisisBlight >= 10 ) ;if you *don't* kill lugrub in last quest, it is now "safe" to be here ;you get one free stopcombat if ( doOnce != -1 ) Set doOnce to -1 StopCombat endif Return endif if ( doOnce == 0 ) if ( GetDistance Player < 400 ) Set doOnce to 1 ForceGreeting Set timer to 0 endif endif if ( doOnce == 1 ) Set timer to ( timer + GetSecondsPassed ) if ( timer > 10 ) StartCombat Player endif Return endif End
324MaduraFollowBegin MaduraFollow ;script on Madura Seran, pilgrim held captive south of ald velothi short followDone short noLore short followNow short distanceCheck float timer ;global short MaduraRescued -- used in some dialogue if ( MenuMode == 1 ) Return endif if ( FollowDone >= 1 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue set followNow to 1 SetHello 0 if ( GetPCCell "Ald Velothi, Outpost" == 1 ) ;if the follow is done, set followDone to 1, reset followNow to 0 set followDone to 1 set MaduraRescued to 1 ;Give NPC new package to avoid dumb-looking behavior AiWander 256 0 0 40 20 20 0 0 0 0 0 0 ;And journal entry gives feedback to the player... Journal, "IL_RescuePilgrim", 70 ;And increase PC Reputation... Player->ModReputation 1 ModPCFacRep, 5, "Imperial Legion" ModPCFacRep, 5, "Temple" ;And increase Dispositions ModDisposition 30 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." ForceGreeting SetHello 30 endif if ( timer < 2 ) 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\D\F\Flw_DF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
325magasScriptBegin magasScript if ( OnDeath == 1 ) MessageBox "You have defeated the Lord Dregas Volar. The Daedric amulet that brought you to this place disappears from your inventory, but is replaced by Volar's own weapon. You now wield the Crescent Blade." Player->PositionCell, 3996.000, 3920.000, 14408.000, 180, "Tower of Tel Fyr, Hall of Fyr" Player->AddItem "daedric_crescent_unique" 1 Player->RemoveItem "Daedric_special" 1 endif End magasScript
326Mainbegin Main ;***************************************************** ;* ;* this script starts when the game is run ;* ;***************************************************** if ( MenuMode == 0 ) Set Random100 to Random, 101 endif ;start character generation if ( CharGenState == 1 ) ;the game sets CharGenState to 1 when NEW GAME is selected StartScript Startup StartScript VampireCheck if ( ScriptRunning, CharGen == 0 ) StartScript CharGen endif endif ;***************************************************** ;* ;* section for sleeping ;* ;***************************************************** ;if ( GetPCSleep == 1 ) ;endif ;********************************************************************** ; ; Crime Stuff ; ;********************************************************************** end
327mallamRyonScriptBegin mallamRyonScript short noLore if ( CellChanged == 0 ) return endif if ( GetDeadCount "Gothren" > 0 ) Disable endif End
328mandasGuardsBegin mandasGuards short doOnce ;if you "cure" Mandas, they should all stop combat ONCE if ( doOnce == 0 ) if ( GetJournalIndex HR_MadMilk >= 70 ) Set doOnce to 1 SetFight 30 SetDisposition 50 StopCombat endif endif End
329maniraiNoLorebegin maniraiNoLore Short NoLore if ( OnDeath == 1 ) Journal B4_ErabenimsunKill 1 Journal B8_Failed_Nerevarine 1 endif end
330manisVirmScriptBegin manisVirmScript short test short doOnce short nolore Set test to GetJournalIndex TG_LootAldruhnMG if ( test == 0 ) if ( GetDisabled == 0 ) Disable endif Return endif if ( test >= 100 ) if ( GetDisabled == 0 ) Disable endif Return endif if ( doOnce == 1 ) Return endif Enable ForceGreeting Set doOnce to 1 End
331mararaScriptbegin mararaScript short done short nolore short nohello short noidle short nothief short noflee short nointruder if ( OnDeath == 1 ) if ( GetJournalIndex "VA_VampMarara" >= 10 ) Journal "VA_VampMarara" 100 endif endif if ( done == -1 ) return endif if ( done == 2 ) if ( PCVampire == 1 ) setfight 30 set done to -1 endif endif if ( done == 1 ) ;check for PC as a Berne Vampire if ( PCVampire == 1 ) setfight 30 set done to 2 endif endif if ( done == 0 ) AddSpell, "Vampire Blood Berne" ;this is the blood disease AddSpell, "Vampire Attributes" AddSpell, "Vampire Skills" AddSpell, "Vampire Immunities" AddSpell, "Vampire Sun Damage" AddSpell, "Vampire Touch" AddSpell, "Vampire's Kiss" AddSpell, "Vampire Berne Specials" ModRestoration 75 set done to 1 endif end mararaScript
332marksmanTogglebegin marksmanToggle short counter short myMarksman if ( MenuMode == 1 ) return endif if ( counter < 20 ) Set counter to counter + 1 Return endif if ( myMarksman == 0 ) set myMarksman to GetMarksman endif if ( GetMarksman > 0 ) if ( GetDistance Player < 400 ) SetMarksman 0 endif else if ( GetDistance Player > 600 ) SetMarksman myMarksman endif endif ;for level desginers... forces AI to do what it ought to do ;when they are near, they use melee weapons ;when they are far, they use missile weapons ;checks every 20 frames for speed ;Note: does not affect spellcasting AI End
333mastriusScriptBegin mastriusScript short done short curse short drain short killmessage float timer float othertimer float currenthealth float newhealth float currentfatigue float newfatigue short nolore if ( menumode == 1) return endif if ( GetJournalIndex "VA_VampCurse" < 90 ) if curse == 0 "mastrius"->ModStrength -100 "mastrius"->ModWillpower -20 "mastrius"->ModAgility -60 "mastrius"->ModSpeed -70 "mastrius"->ModEndurance -50 "mastrius"->ModHealth -200 "mastrius"->ModMagicka -70 "mastrius"->ModFatigue -245 "mastrius"->ModAthletics -80 "mastrius"->ModLongblade -50 "mastrius"->ModHeavyarmor -50 "mastrius"->ModMediumarmor -50 "mastrius"->Modblock -50 "mastrius"->Modspear -40 "mastrius"->ModAxe -40 "mastrius"->ModBluntweapon -40 "mastrius"->ModArmorer -40 "mastrius"->ModMarksman -40 set curse to 1 endif endif if ( GetJournalIndex "VA_VampCurse" == 90 ) if curse == 1 SetStrength 120 SetWillpower 72 SetAgility 93 SetSpeed 95 SetEndurance 110 SetHealth 380 SetMagicka 150 SetFatigue 350 SetAthletics 90 SetLongblade 90 SetHeavyarmor 90 SetMediumarmor 50 Setblock 70 Setspear 40 SetAxe 40 SetBluntweapon 40 SetArmorer 40 SetMarksman 40 SetRestoration 90 ;MessageBox "SHOULD HAVE MODDED ALL HIS STATS" set curse to -1 endif endif if ( GetJournalIndex "VA_VampCurse" == 70 ) if ( curse == 1 ) if ( drain == 0 ) ;DisablePlayerLooking ;DisablePlayerControls FadeOut 7 FadeIn 7 set drain to 1 endif endif endif if ( drain == 2 ) set timer to ( timer + Getsecondspassed ) if ( timer >= 7 ) ;fader delay ;EnablePlayerLooking ;EnablePlayerControls ForceGreeting set timer to 0 set drain to -1 endif endif if ( drain == 1 ) if ( killmessage == 0 ) set othertimer to ( othertimer + Getsecondspassed ) if ( othertimer >= 7 ) ;fader delay MessageBox "You feel the life and strength draining from your body." set currenthealth to ( player->GetHealth ) set newhealth to ( currenthealth * -0.6 ) player->modCurrentHealth newhealth set currentfatigue to ( player->GetFatigue ) set newfatigue to ( currentfatigue * -0.6 ) player->modCurrentFatigue newfatigue set othertimer to 0 set killmessage to -1 set drain to 2 endif endif endif if ( done == -1 ) return endif if ( done == 2 ) ;check for PC NO LONGER a Quarra Vampire if ( player->GetSpell "Vampire Aundae Specials" != 1 ) setfight 30 set done to -1 endif endif if ( done == 1 ) ;check for PC as a Quarra Vampire if ( player->GetSpell "Vampire Quarra Specials" == 1 ) setfight 30 set done to 2 endif return endif if ( done == 0 ) AddSpell, "Vampire Blood Quarra" ;this is the blood disease AddSpell, "Vampire Attributes" AddSpell, "Vampire Skills" AddSpell, "Vampire Immunities" AddSpell, "Vampire Sun Damage" AddSpell, "Vampire Touch" AddSpell, "Vampire's Kiss" AddSpell, "Vampire Quarra Specials" ModRestoration 75 set done to 1 endif End mastriusScript
334mathisFollowBegin mathisFollow short noLore short followNow short distanceCheck float timer ;global NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex HR_FindDalobar >= 70 ) Return endif if ( GetJournalIndex HR_FindDalobar < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 ; if ( GetAIPackageDone == 1 ) ;removed since he could not reach his point... ;changed to follow until INSIDE of Shrine ; Journal HR_FindDalobar 70 ; set followNow to 0 ; AiWander 256 0 0 40 20 20 0 0 0 0 0 0 ; Say "Vo\D\M\Flw_DM004.mp3" "Thank you." ; SetHello 30 ; endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Maar Gan, Shrine" == 1 ) Journal HR_FindDalobar 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\M\Flw_DM004.mp3" "Thank you." SetHello 30 endif if ( GetDistance Player < NPCVoiceDistance ) if ( GetDistance Player < 500 ) set distanceCheck to 0 endif set timer to 0 return endif if ( distanceCheck == 0 ) ;since there is not "wait for me" for Dunmer male... Say "Vo\D\M\Flw_DM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
335maurrieScriptBegin maurrieScript "maurrie aurmine"->Disable "Nelos Onmar"->Disable StopScript maurrieScript End
336MehraMiloScriptbegin MehraMiloScript short travelDone short travelNow short noLore if ( MenuMode == 1 ) return endif if ( travelDone == 1 ) return endif if ( GetCurrentAiPackage == 1 ) ;if travel is the current package, set travelNow and continue\ set travelNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) set travelDone to 1 set travelNow to 0 AiWander 128 6 0 40 30 20 0 0 0 0 0 0 SetHello 30 endif if ( GetPos Y > 1730 ) ;failsafe set travelDone to 1 set travelNow to 0 AiWander 128 6 0 40 30 20 0 0 0 0 0 0 SetHello 30 endif else ;if travel is NOT the current package, make sure travelNow is zero set travelNow to 0 endif End
337menhirTelNagaBegin menhirTelNaga short test set test to GetPCRank "House Telvanni" if ( test < 9 ) Enable else Disable endif End
338menhirTelUvirithBegin menhirTelUvirith short test set test to GetPCRank "House Telvanni" if ( test < 9 ) Disable else Enable endif End
339mentanaScriptBegin mentanaScript If ( GetJournalIndex "DA_MolagBal" < 10 ) return endif If ( OnDeath == 1 ) Journal "DA_MolagBal", 20 endif End
340mertaScriptBegin mertaScript short done short greeting short nolore if ( GetDistance Player <= 128 ) if ( VampClan == 2) if ( GetJournalIndex "VA_VampCountess" >= 20 ) if ( greeting == 0 ) ForceGreeting set greeting to -1 endif endif endif endif if ( OnDeath == 1 ) if ( GetJournalIndex "VA_VampCountess" >= 20 ) Journal "VA_VampCountess" 40 endif endif if ( done == -1 ) return endif if ( done == 2 ) ;check for PC NO LONGER a Berne Vampire if ( player->GetSpell "Vampire Aundae Specials" != 1 ) setfight 90 set done to -1 endif endif if ( done == 1 ) ;check for PC as a Berne Vampire if ( player->GetSpell "Vampire Berne Specials" == 1 ) setfight 30 set done to 2 endif return endif if ( done == 0 ) AddSpell, "Vampire Blood Berne" ;this is the blood disease AddSpell, "Vampire Attributes" AddSpell, "Vampire Skills" AddSpell, "Vampire Immunities" AddSpell, "Vampire Sun Damage" AddSpell, "Vampire Touch" AddSpell, "Vampire's Kiss" AddSpell, "Vampire Berne Specials" ModRestoration 75 set done to 1 endif end mertaScript
341MessageTestbegin MessageTest short rotate short questionAsked short button if ( questionAsked < 2 ) if ( GetDistance, Player <= 200 ) if ( questionAsked == 0 ) MessageBox, "Shall I start to spin? GameHour = %.2f", GameHour, "OK", "No Way" set questionAsked to 1 elseif ( questionAsked == 1 ) set button to GetButtonPressed if ( button == 0 ) set rotate to 1 set questionAsked to 2 elseif ( button == 1 ) set questionAsked to 2 endif endif endif elseif ( questionAsked == 2 ) if ( GetDistance, Player >= 500 ) if ( rotate == 1 ) MessageBox, "I will now stop spinning." set rotate to 0 else MessageBox, "The question has been reset." endif set questionAsked to 0 endif endif if ( MenuMode == 0 ) if ( rotate == 1 ) rotate, z, 45 endif endif end MessageTest
342MiloKeybegin MiloKey if ( GetDisabled == 1 ) if ( GetJournalIndex "A2_4_MiloGone" > 0 ) Enable MessageBox "I have just enabled!!!" endif endif end
343MiloTravelbegin MiloTravel short travelDone short travelNow if (MenuMode == 0) if (travelDone == 0) ;don't check the rest if you don't have to ;avoid adding AI packages over and over if (GetCurrentAiPackage == 1) ;if travel is the current package, set travelNow and continue set travelNow to 1 if (GetAIPackageDone == 1) ;if the travel is done, set travelDone to 1, reset travelNow to 0 set travelDone to 1 set travelNow to 0 ;Give NPC new package to avoid dumb-looking behavior AiWander 128 6 0 40 30 20 0 0 0 0 0 0 endif else ;if travel is NOT the current package, make sure travelNow is zero set travelNow to 0 endif endif endif end MiloTravel
344mirpalFollowBegin mirpalFollow ; follow script on Sinnammu Mirpal ; Main quest B2_AhemmusaSafe ; follow PC to Ald Daedroth to prove it is safe short followDone short noLore short followNow short distanceCheck float timer ;global short NPCVoiceDistance if ( OnDeath == 1 ) Journal B2_AhemmusaKill 1 Journal B8_Failed_Nerevarine 1 endif if ( GetHealth <= 0 ) return endif if ( MenuMode == 1 ) return endif if ( GetJournalIndex "B2_AhemmusaSafe" >= 40 ) return endif ;don't check the rest if you don't have to ;avoid adding AI packages over and over if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;if the follow is done, set followDone to 1, reset followNow to 0 set followDone to 1 set followNow to 0 ;Give NPC new package to avoid dumb-looking behavior AiWander 256 0 0 40 20 20 0 0 0 0 0 0 ;And journal entry gives feedback to the player... Journal, "B2_AhemmusaSafe", 40 ;And increase PC Reputation... Player->ModReputation 1 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." ForceGreeting SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Ald Daedroth, Inner Shrine" == 1 ) if ( GetDistance "active_dae_sheogorath_ad" < 400 ) ;if she misses her point, guarantee it... set followDone to 1 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Journal, "B2_AhemmusaSafe", 40 Player->ModReputation 1 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." ForceGreeting SetHello 30 endif 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\D\F\Flw_DF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
345molaggrundaScriptBegin molaggrundaScript If ( OnDeath == 1 ) If ( GetDeadCount "atronach_frost_gwai_uni" >= 1 ) Journal "MS_VampireCure" 40 endif endif End
346MoonAndStarbegin MoonAndStar ;this goes on the moon and star ring ;handles the Azura speech when you first pick it up short pickedup short speech if ( menumode == 1 ) return endif if ( pickedup == 1 ) return endif if ( pickedup == 0 ) if ( GetDistance, Player > 200 ) rotate, x, 360 ;spins around in air above Azura's hand, I'd like to give it a light too. endif if ( OnActivate == 1 ) set speech to 1 PlayBink "mw_cavern.bik" 1 endif endif if ( speech == 1 ) ;player->additem, "Moon_and_Star", 1 "Azura Ring Light"->disable set speech to 0 set pickedup to 1 activate ;disable ;faction reaction and journal stuff Journal "A2_6_Incarnate" 50 player->modReputation 5 PCJoinFaction, Nerevarine if ( GetPCRank, Redoran >= 0 ) modFactionReaction, "Redoran", "Nerevarine", 4 endif if ( GetPCRank, Temple >= 0 ) modFactionReaction, "Temple", "Nerevarine", 4 endif ;make all the ghosts appear "ghost_npc_ane teria"->Enable "ghost_npc_conoon chodal"->Enable "ghost_npc_erur-dan"->Enable "ghost_npc_hort_ledd"->Enable "ghost_npc_idrenie nerot"->Enable "ghost_npc_peakstar"->Enable ;start scripts which track and total conditions for Nerevarine and Hortator StartScript All_Nerevarine StartScript All_Hortator addtopic "Redoran councilors" addtopic "Telvanni councilors" addtopic "Hlaalu councilors" addtopic "Redoran Hortator" addtopic "Hlaalu Hortator" addtopic "Telvanni Hortator" endif end
347morvaynCreaturesBegin morvaynCreatures if ( CellChanged == 0 ) return endif if ( GetBlightDisease == 0 ) AddSpell "black-heart blight" endif if ( GetJournalIndex HR_MorvaynManor >= 100 ) Disable endif End
348moveAhnassibegin moveAhnassi if ( CellChanged == 0 ) return endif if ( GetJournalIndex Romance_Ahnassi >= 80 ) if ( CellChanged == 1 ) PositionCell 402, -327, 639, 0, "Pelagiad, Ahnassi's House" StopScript MoveAhnassi endif endif End moveAhnassi
349MoveAndTurnbegin MoveAndTurn float timer if ( MenuMode == 1 ) Return endif move y, 200 set timer to timer + GetSecondsPassed ;do about face after 5 seconds if ( timer > 5 ) rotate z, 180 endif End
350MoveMehrabegin MoveMehra if ( GetJournalIndex, "A2_4_MiloGone" == 20 ) if ( cellChanged == 1 ) "Mehra Milo"->PositionCell 1207, 372, -592, 0 "Holamayan Monastery" StopScript MoveMehra endif endif end
351moveSarandasbegin moveSarandas if ( GetJournalIndex town_aldruhn >= 45 ) if ( CellChanged == 1 ) additem common_robe_03 1 additem common_shoes_03 1 PositionCell 4612, 3921, 14746, 0, "Ald-ruhn, Temple" stopscript movesarandas endif endif End
352MoveSinnammubegin MoveSinnammu if ( GetJournalIndex, "B2_AhemmusaSafe" >= 50 ) if ( cellChanged == 1 ) "sinnammu mirpal"->PositionCell -130, 546, 251, 0 "Ahemmusa Camp, Wise Woman's Yurt" StopScript MoveSinnammu endif endif end MoveSinnammu
353MoveTriolithbegin MoveTriolith float timer short On if (MenuMode == 0) if (OnActivate == 1) if (On == 0) set timer to 0 set On to 1 PlaySound3Dvp "Door Stone Open" 1.0 1.0 endif endif if (On == 1) set timer to timer + GetSecondsPassed if (timer <=4) ; sink Triolith move z, -11 elseif (timer > 4) set On to 2 endif endif endif end ; MoveTriolith
354nartiseArobarScriptBegin nartiseArobarScript short noLore short followNow short distanceCheck float timer ;global NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex HR_ArobarKidnap >= 70 ) Return endif if ( GetJournalIndex HR_ArobarKidnap < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;original conditions, and in case something funky happens... Journal HR_ArobarKidnap 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetDistance "Gals Arethi" <= 600 ) ;since the above method may not actually work... Journal HR_ArobarKidnap 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." SetHello 30 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\D\F\Flw_DF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
355nartiseGuardsBegin nartiseGuards if ( CellChanged == 1 ) StopCombat endif if ( GetJournalIndex HR_ArobarKidnap >= 50 ) if ( GetJournalIndex HR_ArobarKidnap < 70 ) if ( GetDetected Player == 1 ) if ( GetTarget Player == 0 ) StartCombat Player endif endif endif endif End
356nchuleftingthWrong1begin nchuleftingthWrong1 ;this is the first WRONG script float counter short doOnce if ( OnActivate == 1 ) Set counter to 1 endif if ( counter == 0 ) if ( GetDisabled == 0 ) "steam_nchuleftingth_01"->Disable endif return endif Rotate X 80 if ( doOnce == 0 ) Cast Nchuleftingth_Trap_SP Player "steam_nchuleftingth_01"->Enable Set doOnce to 1 endif Set counter to counter + GetSecondsPassed if ( counter > 5 ) Set counter to 0 Set doOnce to 0 endif end nchuleftingthWrong1
357nchuleftingthWrong2begin nchuleftingthWrong2 ;this is the second WRONG script float counter short doOnce if ( OnActivate == 1 ) Set counter to 1 endif if ( counter == 0 ) if ( GetDisabled == 0 ) "steam_nchuleftingth_02"->Disable endif return endif Rotate X 80 if ( doOnce == 0 ) Cast Nchuleftingth_Trap_SP Player "steam_nchuleftingth_02"->Enable Set doOnce to 1 endif Set counter to counter + GetSecondsPassed if ( counter > 5 ) Set counter to 0 Set doOnce to 0 endif end nchuleftingthWrong2
358nchulfetingthRightbegin nchulfetingthRight ;this one moves the door aside. float counter short doOnce if ( CellChanged == 1 ) if ( doOnce == 2 ) "in_dwrv_wall_nchuleftingth1"->disable endif endif if ( OnActivate == 1 ) Set counter to 1 endif if ( counter == 0 ) return endif if ( doOnce == 2 ) MessageBox "The crank seems to be stuck." Set counter to 0 return endif if ( doOnce == 0 ) PlaySound "Door Stone Open" set doOnce to 1 endif Set counter to counter + GetSecondsPassed Rotate X 80 ;should move pretty fast to avoid player seeing it close up "in_dwrv_wall_nchuleftingth1"->MoveWorld Y 80 if ( counter > 6 ) Set doOnce to 2 Set counter to 0 endif end nchuleftingthRight
359nels_llendoScriptBegin nels_llendoScript if ( GetDeadCount "nels llendo" > 0 ) return endif if ( GetJournalIndex "MV_3_Charming" < 90 ) Return endif if ( GetJournalIndex "MV_3_Charming" > 130 ) Return endif if ( GetPCCell "Pelagiad" == 1 ) "nels llendo"->PositionCell 564,140,71,0 "Pelagiad, Halfway Tavern" "nels llendo"->AIWander 0 0 0 60 30 10 0 0 0 Journal "MV_3_Charming" 140 endif End
360nemindaScriptBegin nemindaScript ;just creates a flag to tell when Alvis Teri is mudered short murderedAlvisTeri short doOnce short noLore short stopFightHHDA if ( CellChanged == 0 ) return endif if ( GetTarget Player == 1 ) StopCombat endif End
361Netch_breedingbegin Netch_breeding ;put on breeding netch for message when you kill them if ( menumode == 1 ) return endif if ( OnDeath == 1 ) MessageBox "You have killed a breeding Netch." endif end Netch_breeding
362nevrasa_dralorBegin nevrasa_dralor short nolore if ( GetJournalIndex "MV_WanderingPilgrim" >= 100 ) Return ;Do nothing if the quest is over endif if ( GetJournalIndex "MV_WanderingPilgrim" < 10 ) Return ;Do nothing if the quest is over endif if ( GetJournalIndex "MV_WanderingPilgrim" == 30 ) if ( OnDeath == 1 ) Journal "MV_WanderingPilgrim" 110 endif endif if ( GetDistance "Furn_shrine_vivec_cure_02" <= 512 ) Journal "MV_WanderingPilgrim" 90 ForceGreeting AiWander 128,0,0,60,30,10,0,0,0,0,0,0 endif end
363NibaniMaesaBegin NibaniMaesa short currentDay short localdaysPassed Short NoLore ;blocks discussion of general topics if ( OnDeath == 1 ) Journal B1_UrshilakuKill 1 Journal B8_Failed_Nerevarine 1 endif if ( currentDay != Day ) set currentDay to Day set localdaysPassed to localdaysPassed + 1 endif ;Old Version (for reference -- month thing makes no sense so sayeth Doug) ;short eventDay ;short eventMonth ;short oneDayPassed ;if (oneDayPassed == 0) ; set oneDayPassed to 1 ; set eventDay to Day ; set eventMonth to Month ;endif ;if (oneDayPassed == 1) ; if (Month != eventMonth) ; set oneDayPassed to 2 ; endif ; ; if (Day != eventDay) ; set oneDayPassed to 2 ; endif ;endif End
364NibaniWaitOneDayBegin NibaniWaitOneDay short eventDay short eventMonth short oneDayPassed if ( GetJournalIndex "A2_6_Incarnate" == 1 ) ;Nibani Maesa says come back when she's had time to think if ( oneDayPassed == 0 ) set oneDayPassed to 1 set eventDay to Day set eventMonth to Month endif if ( oneDayPassed == 1 ) if ( Month != eventMonth ) set oneDayPassed to 2 endif if ( Day != eventDay ) set oneDayPassed to 2 Journal "A2_6_Incarnate" 3 ;moons have come and gone, and it is time endif endif endif End
365nofleebegin noflee Short NoFlee end noflee
366nohellobegin nohello Short nohello end nohello
367noidlebegin noidle Short NoIdle end noidle
368nointruderbegin nointruder Short NoIntruder end nointruder
369nolorebegin nolore Short NoLore end nolore
370nomeggwaiScriptBegin nomeggwaiScript If ( OnDeath == 1 ) If ( GetDeadCount "winged twilight_grunda_" >= 1 ) Journal "MS_VampireCure" 40 endif endif End
371noPickUpBegin noPickUp ;no wife, no pickup, no mustache. if ( OnActivate ==1 ) return endif End
372nothiefbegin nothief Short NoThief end nothief
373NPC_Statebegin NPC_State ;this script only exists to track a local state variable in an NPC for dialogue reasons short state end NPC_State
374odralHelviScriptbegin odralHelviScript ;to tell if documents in Vivec were put in the container or not ;for HH_ReplaceDocs short replacedDocs end odralHelviScript
375ondresNeranoScriptBegin ondresNeranoScript if ( GetJournalIndex HR_HonorChallenge != 50 ) Return endif if ( CellChanged == 1 ) ;stops "legal" murder bug. SetFight 30 StopCombat endif if ( OnMurder == 1 ) Set "Athyn Sarethi".duelOndresNerano to 2 Return endif if ( OnDeath == 1 ) Journal HR_HonorChallenge 70 endif if ( OnKnockOut == 1 ) Journal HR_HonorChallenge 70 SetFight 30 StopCombat ForceGreeting endif if ( GetHealth < 50 ) Journal HR_HonorChallenge 70 SetFight 30 StopCombat ForceGreeting endif End
376OrdinatorUniformbegin OrdinatorUniform ;script for ordinator armor so people can react to you wearing it short OnPCEquip short OnPC ;this is needed since this script also runs on the armor pieces the NPC wears if ( OnPCEquip == 1 ) set WearingOrdinatorUni to 1 set OnPC to 1 endif ;this one has been equipped by PC ast some point, so check for it being unequipped if ( OnPC == 1 ) ;oops, now he took it off if ( OnPCEquip == 0 ) set WearingOrdinatorUni to 0 set OnPC to 0 ;start looking again if he has it on endif endif end OrdinatorUniform
377ouch_falsesunderBegin ouch_falsesunder ;add a journal first time player picks it up short doOnce if ( OnActivate == 0 ) Return endif if ( doOnce == 0 ) Journal C0_Act_C 20 Set doOnce to 1 endif Activate End
378ouch_keeningBegin ouch_keening ;hurt PC as long as it is equipped, and wraithguard or wraithguard_jury_rig are not equipped ;give player a journal when you first pick it up short extraDamage short OnPCEquip short doOnce float timer short messageOnce ;global short wraithguardEquipped if ( MenuMode == 1 ) return endif if ( Player->GetHealth <= 0 ) return endif if ( OnPCEquip == 1 ) if ( timer < 1 ) set timer to ( timer + GetSecondsPassed ) return endif set timer to 0 if ( wraithguardEquipped == 0 ) Set extraDamage to Random 75 Set extraDamage to ( 0 - extraDamage ) Set extraDamage to ( extraDamage - 50 ) player->ModCurrentHealth extraDamage if ( messageOnce == 0 ) Set messageOnce to 1 MessageBox "Keening has dealt you a mortal wound." endif endif endif if ( doOnce == 1 ) return endif if ( Player->GetItemCount "keening" == 0 ) return endif Journal C0_Act_C 10 Set doOnce to 1 End
379ouch_sunderBegin ouch_sunder ;hurt PC as long as it is equipped, and wraithguard or wraithguard_jury_rig are not equipped ;add a journal first time player picks it up short extraDamage short OnPCEquip short doOnce float timer short messageOnce ;global short wraithguardEquipped if ( MenuMode == 1 ) return endif if ( Player->GetHealth <= 0 ) return endif if ( OnPCEquip == 1 ) if ( timer < 1 ) set timer to ( timer + GetSecondsPassed ) return endif set timer to 0 if ( wraithguardEquipped == 0 ) Set extraDamage to Random 75 Set extraDamage to ( 0 - extraDamage ) Set extraDamage to ( extraDamage - 50 ) player->ModCurrentHealth extraDamage if ( messageOnce == 0 ) Set messageOnce to 1 MessageBox "Sunder has dealt you a mortal wound." endif endif endif if ( doOnce == 1 ) return endif if ( Player->GetItemCount "sunder" == 0 ) return endif Journal C0_Act_C 15 Set doOnce to 1 End
380ouch_wraithguardBegin ouch_wraithguard short extraDamage short doOnce short OnPCEquip ;global short wraithguardEquipped if ( OnPCEquip == 1 ) ;is wraithguard equipped? set wraithguardEquipped to 1 else set wraithguardEquipped to 0 return endif if ( doOnce == 1 ) return endif ;hurt PC BAD first time equipped Set extraDamage to Random 25 Set extraDamage to -200 - extraDamage player->ModHealth extraDamage set doOnce to 1 End
381OutsideBannerbegin OutsideBanner ;this script is for a banner object outside that ;animates in the wind. ;Idle is still, Idle2 is a little breeze, and Idle3 is a large breeze short ran ;PlayLoopSound3DVP "Flag" 1.0, 1.0 ;sounds odd and too slow anyway if ( MenuMode == 0 ) set ran to random 100 if ( ran < 30 ) ;30% chance the flag does something new ;this will check the weather in the future if (GetCurrentWeather >= 5 ) ;thunder, ash, or blight LoopGroup, Idle3, 5 endif ;the last anim called in this script is the one it will play if ( ran <= 10 ) PlayGroup, Idle elseif ( GetCurrentWeather < 5 ) PlayGroup, Idle2 endif endif endif end OutsideBanner
382paur_mastonBegin paur_maston short nolore if ( GetJournalIndex "MV_TraderMissed" >= 90 ) Return ;Do nothing if the quest is over endif if ( GetJournalIndex "MV_TraderMissed" < 10 ) Return ;Do nothing if the quest is over endif if ( OnDeath == 1 ) Journal "MV_TraderMissed" 90 Return ;sets journal when he dies. endif if ( GetPCCell, "Molag Mar" == 1 ) if ( GetCurrentAIPackage == 3 ) if ( GetDistance Player < 512 ) if ( GetDistance Vanjirra < 512 ) Journal "MV_TraderMissed" 95 "paur maston"->AiWander 256, 0, 0, 60, 30, 20, 0,0,0,0,0,0 ;sets journal if he's following you in Molag Mar within 512 units endif endif endif endif End
383pemenieScriptBegin pemenieScript short nolore short pemannoy if ( GetJournalIndex "MV_TraderAbandoned" >= 100 ) Return ;Do nothing if the quest is over endif if ( GetJournalIndex "MV_TraderAbandoned" < 10 ) Return ;Do nothing if the quest is over endif if ( OnDeath == 1 ) if ( GetJournalIndex "MV_TraderAbandoned" >= 10 ) Journal "MV_TraderAbandoned" 110 Return ;sets journal when he dies. endif endif if ( GetPCCell, "Gnaar Mok" == 1 ) if ( GetCurrentAIPackage == 3 ) if ( GetDistance Player < 512 ) Journal "MV_TraderAbandoned" 90 ForceGreeting AiWander 0 0 0 60 40 20 0 0 0 0 0 0 ;sets journal if he's following you in Molag Mar within 512 units ;note that this does NOT stop him from following you, etc. endif endif endif End
384pillowScriptBegin pillowScript short comfy if ( PCVampire == 1 ) return endif if ( comfy == -1 ) if ( player->GetItemCount "misc_uni_pillow_unique" > 0 ) if ( GetPCSleep == 0 ) set comfy to 0 return endif endif endif if ( comfy == 0 ) if ( player->GetItemCount "misc_uni_pillow_unique" > 0 ) if ( GetPCSleep == 1 ) MessageBox "Your sleep is very restful on your Extra-Comfy Pillow" set comfy to -1 return endif endif endif End pillowScript
385poisonfoodScriptBegin poisonfoodScript short messageOn short button if ( OnActivate == 1) if ( Player->GetItemCount "ingred_treated_bittergreen_uniq" >= 5 ) if ( GetJournalIndex "DA_Mephala" == 40 ) MessageBox "Would you like to place the poison in the pot?" "Yes." "No." set messageOn to 1 endif endif endif if ( messageOn == 1) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif if ( button == 0 ) Player->RemoveItem "ingred_treated_bittergreen_uniq" 5 Journal "DA_Mephala" 50 elseif ( button == 1 ) set button to 0 endif endif End
386prisonerScriptBegin prisonerScript short prisonerFreed short doOnce short NoLore if ( prisonerFreed == 0 ) Return endif if ( doOnce == 1 ) Return endif if ( CellChanged == 1 ) Set doOnce to 1 Disable endif End
387PrisonSafebegin PrisonSafe ; makes Ministry of Truth guards peaceful if duldrar saren speaks to PC in Temple Faction, rank > Adept if ( GetJournalIndex A2_4_MiloPrisonSafe = 100 ) ; messagebox "running PrisonSafe" if ( getdeadcount "duldrar saren" == 0 ) "duldrar saren"->stopcombat "duldrar saren"->setfight 10 "duldrar saren"->setdisposition 30 endif if ( getdeadcount "ervas aradil" == 0 ) "ervas aradil"->stopcombat "ervas aradil"->setfight 10 "ervas aradil"->setdisposition 30 endif if ( getdeadcount "fadren dalis" == 0 ) "fadren dalis"->stopcombat "fadren dalis"->setfight 10 "fadren dalis"->setdisposition 30 endif if ( getdeadcount "favas nilem" == 0 ) "favas nilem"->stopcombat "favas nilem"->setfight 10 "favas nilem"->setdisposition 30 endif endif StopScript PrisonSafe end PrisonSafe
388processusScriptBegin processusScript if ( OnActivate == 0 ) return endif if ( GetJournalIndex "MV_DeadTaxman" < 10 ) Journal "MV_DeadTaxman" 10 AddTopic "murder of Processus Vitellius" endif Activate End
389Pub_Aldruhn_Skarbegin Pub_Aldruhn_Skar ;Cell: Ald-ruhn, Ald Skar Inn ;Publican: Boderi Farano ;Flag: Rent_Aldruhn_Skar ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Aldruhn_Skar to 1 ;this is the flag for the ownership on the bed 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_Aldruhn_Skar to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 endif endif endif end Pub_Aldruhn_Skar
390Pub_Balmora_Councilbegin Pub_Balmora_Council ;Cell: Balmora, Council Club ;Publican: Banor Seran ;Flag: Rent_Balmora_Council ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Balmora_Council to 1 ;this is the flag for the ownership on the bed "Rent_Balmora_Council_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Balmora_Council to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Balmora_Council_Door"->lock 50 endif endif endif end Pub_Balmora_Council
391Pub_Balmora_Eightbegin Pub_Balmora_Eight ;Cell: Balmora, Eight Plates ;Publican: Dulnea Ralaal ;Flag: Rent_Balmora_Eight ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Balmora_Eight to 1 ;this is the flag for the ownership on the bed "Rent_Balmora_Eight_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Balmora_Eight to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Balmora_Eight_Door"->lock 50 endif endif endif end Pub_Balmora_Eight
392Pub_Balmora_Luckybegin Pub_Balmora_Lucky ;Cell: Balmora, Lucky Lockup ;Publican: Benunius Agrudilius ;Flag: Rent_Balmora_Lucky ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Balmora_Lucky to 1 ;this is the flag for the ownership on the bed "Rent_Balmora_Lucky_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Balmora_Lucky to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Balmora_Lucky_Door"->lock 50 endif endif endif end Pub_Balmora_Lucky
393Pub_Balmora_Southbegin Pub_Balmora_South ;Cell: Balmora, South Wall ;Publican: Bacola Closcius ;Flag: Rent_Balmora_South ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Balmora_South to 1 ;this is the flag for the ownership on the bed "Rent_Balmora_South_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Balmora_South to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Balmora_South_Door"->lock 50 endif endif endif end Pub_Balmora_South
394Pub_Caldera_Shenkbegin Pub_Caldera_Shenk ;Cell: Caldera, Shenk's Shovel ;Publican: Shenk ;Flag: Rent_Caldera_Shenk ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Caldera_Shenk to 1 ;this is the flag for the ownership on the bed "Rent_Caldera_Shenk_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Caldera_Shenk to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Caldera_Shenk_Door"->lock 20 endif endif endif end Pub_Caldera_Shenk
395Pub_Ebon_Sixbegin Pub_Ebon_Six ;Cell: Ebonheart, Six Fishes ;Publican: Agning ;Flag: Rent_Ebon_Six ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Ebon_Six to 1 ;this is the flag for the ownership on the bed "Rent_Ebon_Six_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Ebon_Six to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Ebon_Six_Door"->lock 50 endif endif endif end Pub_Ebon_Six
396Pub_Ghost_Duskbegin Pub_Ghost_Dusk ;Cell: Ghostgate, Tower of Dusk ;Publican: galore salvi ;Flag: Rent_Ghost_Dusk ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Ghost_Dusk to 1 ;this is the flag for the ownership on the bed "Rent_Ghost_Dusk_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Ghost_Dusk to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Ghost_Dusk_Door"->lock 50 endif endif endif end Pub_Ghost_Dusk
397Pub_Maargan_Andusbegin Pub_Maargan_Andus ;Cell: Maar Gan, Andus Tradehouse ;Publican: Manse Andus ;Flag: Rent_Maargan_Andus ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Maargan_Andus to 1 ;this is the flag for the ownership on the bed "Rent_Maargan_Andus_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Maargan_Andus to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Maargan_Andus_Door"->lock 20 endif endif endif end
398Pub_Pelagiad_Halfwaybegin Pub_Pelagiad_Halfway ;Cell: Pelagiad, Halfway Tavern ;Publican: Drelasa Ramothran ;Flag: Rent_Pelagiad_Halfway ;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 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_Pelagiad_Halfway). 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Pelagiad_Halfway to 1 ;this is the flag for the ownership on the bed "Pelagiad_Halfway_Room"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Pelagiad_Halfway to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Pelagiad_Halfway_Room"->lock 20 endif endif endif end Publican_Pelagiad_Halfway
399Pub_SMora_Farasbegin Pub_SMora_Faras ;Cell: Sadrith Mora, Fara's Hole in the Wall ;Publican: Fara ;Flag: Rent_SMora_Faras ;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 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 ( rent == 1) if ( setup == 0 ) ;"Smora_Fara_Door"->Unlock set rentDay to Day set rentMonth to Month set setup to 1 set Rent_SMora_Faras to 1 ;this is the flag for the ownership on the bed "smora_fara_door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_SMora_Faras to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Smora_Fara_Door"->Lock 50 endif endif endif end Pub_Smora_Faras
400Pub_Smora_Gatewaybegin Pub_Smora_Gateway ;Cell: Sadrith Mora, Gateway Inn ;Publican: Ery ;Flag: Rent_SMora_Gateway ;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 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_Pelagiad_Halfway). 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 ( rent == 1) if ( setup == 0 ) ;"Specific Door"->Unlock set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Smora_Gateway to 1 ;this is the flag for the ownership on the bed ;"doorID"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Smora_Gateway to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 endif endif endif end Pub_Smora_Gateway
401Pub_TelAruhn_Plotbegin Pub_TelAruhn_Plot ;Cell: Tel Aruhn, Plot and Plaster ;Publican: Drarayne Girith ;Flag: Rent_TelAruhn_Plot ;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 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 ( rent == 1) if ( setup == 0 ) ;"Specific Door"->Unlock set rentDay to Day set rentMonth to Month set setup to 1 set Rent_TelAruhn_Plot to 1 ;this is the flag for the ownership on the bed 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_TelAruhn_Plot to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 endif endif endif end Pub_TelAruhn_Plot
402Pub_TelBran_Sethanbegin Pub_TelBran_Sethan ;Cell: Ald-ruhn, Ald Skar Inn ;Publican: Boderi Farano ;Flag: Rent_TelBran_Sethan ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_TelBran_Sethan to 1 ;this is the flag for the ownership on the bed 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_TelBran_Sethan to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 endif endif endif end Pub_TelBran_Sethan
403Pub_TelMora_Covenantbegin Pub_TelMora_Covenant ;Cell: Tel Mora, The Covenant ;Publican: Thaeril ;Flag: Rent_TelMora_Covenant ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_TelMora_Covenant to 1 ;this is the flag for the ownership on the bed 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_TelMora_Covenant to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 endif endif endif end Pub_TelMora_Covenant
404Pub_Vivec_Blackbegin Pub_Vivec_Black ;Cell: Vivec, Black Shalk Cornerclub ;Publican: Raril Giral ;Flag: Rent_Vivec_Black ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Vivec_Black to 1 ;this is the flag for the ownership on the bed "Rent_Vivec_Black_door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Vivec_Black to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Vivec_Black_door"->lock 50 endif endif endif end Pub_Vivec_Black
405Pub_Vivec_Flowerbegin Pub_Vivec_Flower ;Cell: Vivec, The Flowers of Gold ;Publican: Sorosi Radobar ;Flag: Rent_Vivec_Flower ;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 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 ( rent == 1) if ( setup == 0 ) ;"Specific Door"->Unlock set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Vivec_Flower to 1 ;this is the flag for the ownership on the bed "Rent_Vivec_Flower_door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Vivec_Flower to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Vivec_Flower_door"->lock 20 endif endif endif end Pub_Vivec_Flower
406Pub_Vivec_Lizardbegin Pub_Vivec_Lizard ;Cell: Vivec, The Lizard's Head ;Publican: Manara Othan ;Flag: Rent_Vivec_Lizard ;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 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 ( rent == 1) if ( setup == 0 ) ;"Specific Door"->Unlock set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Vivec_Lizard to 1 ;this is the flag for the ownership on the bed "Rent_Vivec_Lizard_Door"->unlock ;also needed if you have locked the room, use a specific objectRef 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_Vivec_Lizard to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 "Rent_Vivec_Lizard_Door"->lock 20 endif endif endif end Pub_Vivec_Lizard
407Pub_Vos_Varobegin Pub_Vos_Varo ;Cell: Vos, Varo Tradehouse ;Publican: Burcanius Varo ;Flag: Rent_Vos_Varo ;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 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 ( rent == 1) if ( setup == 0 ) set rentDay to Day set rentMonth to Month set setup to 1 set Rent_Vos_Varo to 1 ;this is the flag for the ownership on the bed 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_Vos_Varo to 0 set setup to 0 set rentDay to 0 set rentMonth to 0 set cleanup to 0 endif endif endif end
408puzzlecanalbegin puzzlecanal ;placed on puzzle stairs object ;this script runs the center map of the puzzle canal ; you must drown yourself in this room for the bridges to appear float timer short state if ( menumode == 1 ) return endif if ( state == 0 ) "puzzle canal bridge A"->disable "puzzle canal bridge B"->disable set state to 10 elseif ( state == 10 ) ;check for player dieing in here, screen fades in and out, and you get health back if ( Player->GetHealth <= 10 ) FadeOut 1.0 set state to 20 endif elseif ( state == 20 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 1.0 ) PlaySound Thunder1 Player->ModCurrentHealth 1000 "puzzle canal bridge A"->enable "puzzle canal bridge B"->enable "puzzle canal glow"->disable "Puzzle Canal Force Field"->disable set timer to 0 set state to 100 FadeIn 1.0 disable ;the stairs, which this script is placed on endif elseif ( state == 100 ) ;done ;but keep ressurecting the stupid player at least until they leave the area... if ( Player->GetHealth <= 10 ) Player->ModCurrentHealth 1000 endif return endif end puzzlecanal
409rabinna_deathBegin rabinna_death short nolore short hasfollowed short argmission if ( hasfollowed == 0 ) if ( GetCurrentAiPackage == 3 ) set hasfollowed to 1 endif endif if ( hasfollowed == 1 ) If ( OnDeath == 1 ) ;MessageBox "MOON SUGAR ADDED" AddItem "Ingred_Moon_Sugar_01" 20 If ( GetJournalIndex "MV_SlaveMule" <= 100 ) Journal "MV_SlaveMule", 101 elseif ( GetJournalIndex "MV_SlaveMule" == 102 ) "Vorar Helas"->ForceGreeting endif endif endif if ( argmission == 0 ) if ( GetPCCell "Ebonheart, Argonian Mission" == 1 ) if ( Rabinna->GetDistance Player <=256 ) Journal MV_SlaveMule 114 set argmission to -1 Rabinna->AiFollow Im_Kilaya 128 0 0 0 0 0 0 ForceGreeting endif endif endif End
410RaceCheckbegin RaceCheck ;global script that gets run once to check the PC's race, so it can be used in dialogue if ( Player->GetRace "Argonian" == 1 ) set PCRace to 1 elseif ( Player->GetRace "Breton" == 1 ) set PCRace to 2 elseif ( Player->GetRace "Dark Elf" == 1 ) set PCRace to 3 elseif ( Player->GetRace "High Elf" == 1 ) set PCRace to 4 elseif ( Player->GetRace "Imperial" == 1 ) set PCRace to 5 elseif ( Player->GetRace "Khajiit" == 1 ) set PCRace to 6 elseif ( Player->GetRace "Nord" == 1 ) set PCRace to 7 elseif ( Player->GetRace "Orc" == 1 ) set PCRace to 8 elseif ( Player->GetRace "Redguard" == 1 ) set PCRace to 9 elseif ( Player->GetRace "Wood Elf" == 1 ) set PCRace to 10 endif stopscript RaceCheck end
411racistSafeBegin racistSafe short doOnce ; makes racists stop threatening Huleeya ; Main quest A1_7HuleeyaInformant if ( doOnce = 0 ) if ( GetJournalIndex A1_7HuleeyaInformant == 15 ) if ( GetHealth > 0 ) StopCombat SetFight 10 SetDisposition 60 set doOnce to 1 endif endif endif End
412ragashScriptBegin ragashScript short noLore short followNow short distanceCheck float timer short doOnce short state ;global short NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex IL_RescueRagash >= 70 ) return endif if ( GetHealth <= 0 ) return endif if ( GetJournalIndex IL_RescueRagash == 0 ) ;disable if quest is not active disable return endif if ( state == 0 ) ;enable when quest is active, but only once enable set state to 10 endif if ( GetJournalIndex IL_RescueRagash < 50 ) if ( state < 20 ) if ( GetDistance Player < 200 ) ForceGreeting Set state to 20 endif endif return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;if follow is done, NPC has arrived... Journal IL_RescueRagash 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\O\F\Flw_OF003.mp3" "Thank you." ForceGreeting SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Gnisis, Arvs-Drelen" == 0 ) ;if ragash is outside for abit, the quest is also done. Journal IL_RescueRagash 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\O\F\Flw_OF003.mp3" "Thank you." ForceGreeting SetHello 30 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\O\F\Flw_OF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
413ralenHlaaloScriptBegin ralenHlaaloScript short doOnce if ( OnActivate == 0 ) Return endif if ( doOnce == 0 ) AddTopic "Ralen Hlaalo" Journal HH_Retaliation 5 Set doOnce to 1 endif Activate End
414ralenTilvurScriptBegin ralenTilvurScript short noLore if ( GetCurrentAiPackage == 3 ) if ( GetDeadCount "drarel andus" > 0 ) AiWander 0 0 40 20 20 10 0 0 0 0 endif if ( GetPCCell "Vivec, Ralen Tilvur: Smith" == 0 ) ;to try and stop him from following through doors... PositionCell -50 -180 -160 0 "Vivec, Ralen Tilvur: Smith" endif endif End
415ranisScriptBegin ranisScript short NoLore End
416ratScriptBegin ratScript short ratskilled short doonce if ( doonce == -1 ) return endif If ( OnDeath == 1 ) set ratskilled to ratskilled + 1 endif if ( GetJournalIndex EB_Pest >=25 ) if ( GetJournalIndex EB_Pest <= 30 ) if ( GetJournalIndex EB_Pest != 26 ) if ( ratskilled == 10 ) Journal "EB_Pest" 10 set doonce to -1 endif endif endif endif End ratScript
417ravenOmaynScriptBegin ravenOmaynScript short noLore if ( CellChanged == 0 ) return endif if ( GetDeadCount "Dratha" > 0 ) Disable endif End
418raynasaRethanScriptBegin raynasaRethanScript if ( CellChanged == 0 ) Return endif if ( GetPCRank "Hlaalu" == -1 ) Enable else Disable endif End
419raynaScriptBegin raynaScript short state short nolore if ( state == 10 ) return endif if ( GetDistance Player <= 512 ) ForceGreeting set state to 10 endif End
420redBookScriptBegin redBookScript short doOnce short OnPCEquip if ( doOnce == 1 ) Return endif if ( OnActivate == 1 ) StartScript CouncilorTopicsRedoran Set doOnce to 1 Activate endif if ( OnPCEquip == 1 ) StartScript CouncilorTopicsRedoran Set doOnce to 1 endif End
421RedoranCouncilorbegin RedoranCouncilor ;no lore... short noLore ;for HT_Monopoly short mageMonopolyVote ;for Hortator dialogue... if ( OnDeath == 1 ) if ( OnMurder == 1 ) Set RedoranMurdered to 2 else Set RedoranMurdered to 1 endif endif End
422reeh_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_FakeSlave" 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
423regularSarethiGuardBegin regularSarethiGuard ;script on Sarethi guards to remove them during HR_GuardSarethi quest if ( CellChanged == 0 ) Return endif if ( GetJournalIndex HR_GuardSarethi > 0 ) if ( GetJournalIndex HR_GuardSarethi < 100 ) if ( GetDisabled == 0 ) Disable Return endif endif endif if ( GetDisabled == 1 ) Enable endif End
424ResurrectHauntBegin ResurrectHaunt ;town_Sadrith quest ;gateway_haunt resurrects until journal town_Sadrith >= 35 if ( CellChanged == 1 ) if ( gateway_haunt->GetHealth < 1 ) gateway_haunt->Resurrect endif endif end ResurrectHaunt
425reynelUvirithScriptBegin reynelUvirithScript if ( CellChanged == 0 ) Return endif if ( GetPCRank "Telvanni" == -1 ) Enable else Disable endif End
426ringAzuraScriptBegin ringAzuraScript ;makes ring spin around like a cheesy B movie until you click on it short doOnce if ( doOnce == 1 ) return endif if ( CellChanged == 1 ) Disable endif if ( OnActivate == 0 ) Rotate Z 30 return endif Cast "hand of azura" Player Set doOnce to 1 Activate End
427ringDrarelSummoningBegin ringDrarelSummoning short doOnce float timer ;for quest HH_GuardMerchant... Drarel is placed at PC a short time after the player arrives if ( doOnce == 1 ) Return endif if ( GetJournalIndex HH_GuardMerchant < 10 ) Return endif Set timer to GetSecondsPassed if ( timer > 60 ) PlaceAtPC "drarel andus" 1 256 1 Set doOnce to 1 Journal HH_GuardMerchant 50 endif End
428rollieBegin rollie short rollievar short nolore if ( GetJournalIndex "MV_RichTrader" >= 100 ) Return ;Do nothing if the quest is over endif if ( GetJournalIndex "MV_RichTrader" < 10 ) Return ;Do nothing if the quest is over endif if ( rollievar == 5 ) set rollievar to 0 endif if ( OnDeath == 1 ) Journal "MV_RichTrader" 120 Return ;sets journal when he dies. endif End
429rothisScriptBegin rothisScript short noLore if ( GetJournalIndex HR_CowardDisgrace < 10 ) return endif if ( GetJournalIndex HR_CowardDisgrace >= 70 ) if ( CellChanged == 1 ) if ( GetDisabled == 0 ) Disable endif endif return endif if ( GetPCCell "Vivec, Arena" == 1 ) if ( GetFlee != 30 ) SetFlee 30 endif if ( OnDeath == 1 ) Journal HR_CowardDisgrace 70 Set DuelActive to 0 "Brethas Deras"->StopCombat endif if ( GetHealth < 40 ) if ( GetItemCount "p_restore_health_s" > 0 ) RemoveItem "p_restore_health_s" 1 ModHealth 20 endif endif endif End
430rovoneArvelScriptBegin rovoneArvelScript ;for HH_BankFraud short givenOrders ;for HH_ReplaceDocs short givenDocuments End
431sanvynScriptBegin sanvynScript float currenthealth float halfhealth short gettinghealth short nolore if ( MenuMode == 1 ) Return endif if ( gettinghealth == -1 ) return endif if ( OnDeath == 1 ) if ( GetJournalIndex "VA_Vamprich" > 10 ) Journal "VA_VampRich" 90 endif endif if ( GetJournalIndex "VA_VampRich" >= 60 ) if ( GetTarget Player == 1 ) if ( gettinghealth == 0 ) set currenthealth to ( player->GetHealth ) set halfhealth to ( currenthealth * 0.5 ) set gettinghealth to 1 endif endif endif if ( GetJournalIndex "VA_VampRich" >= 60 ) if ( gettinghealth == 1 ) if ( GetTarget Player == 1 ) if ( player->GetHealth <= halfhealth ) StopCombat Player Journal "VA_VampRich" 65 ForceGreeting set gettinghealth to -1 endif endif endif endif end sanvynScript
432sapriusAttackBegin sapriusAttack short state short NoLore ;these guys get enabled from rescuing saprius entius ;they start hidden if ( state == 0 ) disable set state to 10 elseif ( state == 10 ) if ( GetDisabled == 0 ) ;get enabled from dialogue set state to 20 endif elseif ( state == 20 ) StartCombat "Saprius Entius" Set state to -1 endif End
433sapriusScriptBegin sapriusScript short noLore short followNow short distanceCheck float timer ;global short NPCVoiceDistance if ( MenuMode == 1 ) return endif if ( GetJournalIndex IL_ProtectEntius >= 70 ) return endif if ( GetJournalIndex IL_ProtectEntius < 50 ) return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;original conditions, and in case something funky happens... Journal IL_ProtectEntius 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\I\M\Flw_IM003.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Ebonheart, Hawkmoth Legion Garrison" == 1 ) ;since the above method may not actually work... Journal IL_ProtectEntius 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\I\M\Flw_IM003.mp3" "Thank you." SetHello 30 endif if ( GetDistance Player < NPCVoiceDistance ) if ( GetDistance Player < 500 ) set distanceCheck to 0 endif set timer to 0 return endif if ( distanceCheck == 0 ) ;there is no "wait for me" for Imperial male Say "Vo\I\M\Flw_IM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
434sasonScriptBegin sasonScript short nolore short doonce if ( doonce == -1 ) return endif if ( MenuMode == 1 ) Return endif if ( GetJournalIndex "MV_CultistVictim" == 50 ) if ( GetDistance Player <= 256 ) if ( GetDistance Malexa <= 256 ) Malexa->AiFollow Sason 0 0 0 0 0 0 0 0 0 0 0 0 ForceGreeting set doonce to -1 endif endif endif End sasonScript
435satyanaScriptBegin satyanaScript ;for Gary's betrayal quest thingy in Arenim Ancestral Tomb ;always wondered if these GetPos things could be used for this ;will find out soon short doOnce ;this is used as a state flag... short noLore ;not a bore float timer short xpos short ypos if ( GetJournalIndex MS_ArenimTomb >= 100 ) ;post-quest, regardless of how it turns out, she's gone if ( CellChanged == 1 ) Disable endif endif if ( MenuMode == 0 ) if ( Player->GetItemCount "amulet_Agustas_unique" > 0 ) ;when the player finds the amulet... if ( timer != -1 ) set timer to ( timer+ GetSecondsPassed ) if ( timer > 3 ) if ( GetDistance Player <= 256 ) AiWander 128 0 0 0 0 0 0 0 ForceGreeting Set timer to -1 endif endif endif return endif endif if ( GetCurrentAIPackage != 3 ) Set doOnce to 0 return endif set xpos to GetPos X set ypos to GetPos Y if ( GetJournalIndex MS_ArenimTomb >= 100 ) if ( xpos > 1900 ) if ( ypos < 800 ) ;approaching the entrance ;if you're leaving, reset her and keep her from following you out AiTravel 1470 910 -540 0 Set doOnce to 0 return endif endif endif if ( xpos < -2000 ) if ( ypos > 1500 ) ;near the body of her father's friend Set doOnce to 2 return endif endif if ( xpos > 2000 ) if ( ypos > 1300 ) ;in final room with her father's body Set doOnce to 3 return endif endif Set doOnce to 1 ;default if you're following... End
436savileSlaveTraderBegin savileSlaveTrader ;no lore... short noLore ;for buying slaves... keeps track so you can't "buy" them twice short sbakhaBought short manilianBought short menelrasBought short ciralindeBought short jadierBought short davinaBought End
437scampScriptbegin scampScript short scampGreet short nolore if ( scampGreet == 5 ) set scampGreet to 0 endif End scampScript
438sealedTreasuryOrdersbegin sealedTreasuryOrders ;allows player to open and read "sealed" orders... ;and gives the player the chance to "re-seal" them ;the global UnsealedOdral1 is used for dialogue... ;to tell if the scroll is CURRENTLY sealed or not ;for quest HH_BankFraud short sealFailed short PCSkipEquip short OnPCEquip short scrollState short securityCheck short button short wasActivated ;global UnsealedOdral1 ;scrollState... ;0 never been loaded, sets PCSkipEquip once ;1 scoll is sealed, ask if you want to unseal ;2 player has been asked to unseal, wait for response ;3 it is unsealed and can be read ;4 it has been read once, ask if you want to re-seal ;5 player has been asked to re-seal, wait for response if ( GetDisabled == 1 ) Return endif if ( scrollState == 0 ) ;set up PCSkipEquip for first use Set PCSkipEquip to 1 Set scrollState to 1 endif if ( OnActivate == 1 ) Set wasActivated to 1 ;handle activate method of reading books endif if ( wasActivated == 1 ) set wasActivated to 0 if ( scrollState == 1 ) MessageBox "This scroll has been sealed. If you want to break the seal, drop the scroll on your character." "Okay." "Pick up Scroll." set scrollState to 10 Return endif if ( scrollState == 10 ) set button to GetButtonPressed if ( button == 0 ) Set scrollState to 0 Set wasActivated to 0 elseif ( button == 1 ) ;can't get around activate... so we add on copy to the player and disable this reference Player->AddItem "bk_treasuryorders" 1 Set scrollState to 0 Set wasActivated to 0 Disable endif Return endif ;if ( scrollState == SOMETHING ELSE ) Activate endif if ( OnPCEquip == 0 ) Set button to -1 Return endif if ( scrollState == 1 ) MessageBox "Do you want to break the seal and read the scroll?" "Yes" "No" Set scrollState to 2 endif if ( scrollState == 2 ) set button to GetButtonPressed if ( button == 0 ) Set scrollState to 3 Set UnsealedOdral1 to 1 Set OnPCEquip to 0 Set PCSkipEquip to 0 MessageBox "You have broken the seal." "Okay" ;unseal it and set global elseif ( button == 1 ) Set scrollState to 1 Set PCSkipEquip to 1 Set OnPCEquip to 0 ;leave it sealed and reset PCSkipEquip endif Return endif if ( scrollState == 3 ) Set scrollState to 4 Set PCSkipEquip to 1 Return endif if ( scrollState == 4 ) MessageBox "Do you want to read the scroll again, or try to re-seal the scroll?" "Read again" "Re-seal it" Set scrollState to 5 Return endif if ( scrollState == 5 ) set button to GetButtonPressed if ( button == 0 ) Set scrollState to 3 Set OnPCEquip to 0 Set PCSkipEquip to 0 elseif ( button == 1 ) if ( sealFailed == 0 ) Set securityCheck to Random 100 if ( Player->GetSecurity > securityCheck ) Set scrollState to 1 Set PCSkipEquip to 1 Set UnsealedOdral1 to 0 MessageBox "You have resealed the scroll." "Okay" ;reset state and conditions here else set sealFailed to 1 MessageBox "You have damaged the seal." "Okay" endif else MessageBox "The seal has been damaged." "Okay" endif Set OnPCEquip to 0 endif endif End
439sealedTreasuryReportbegin sealedTreasuryReport ;allows player to open and read "sealed" orders... ;and gives the player the chance to "re-seal" them ;the global UnsealedEdryno1 is used for dialogue... ;to tell if the scroll is CURRENTLY sealed or not ;for quest HH_BankCourier short sealFailed short PCSkipEquip short OnPCEquip short scrollState short securityCheck short button short wasActivated ;global UnsealedEdryno1 ;scrollState... ;0 never been loaded, sets PCSkipEquip once ;1 scoll is sealed, ask if you want to unseal ;2 player has been asked to unseal, wait for response ;3 it is unsealed and can be read ;4 it has been read once, ask if you want to re-seal ;5 player has been asked to re-seal, wait for response if ( GetDisabled == 1 ) Return endif if ( scrollState == 0 ) ;set up PCSkipEquip for first use Set PCSkipEquip to 1 Set scrollState to 1 endif if ( OnActivate == 1 ) Set wasActivated to 1 ;handle activate method of reading books endif if ( wasActivated == 1 ) if ( scrollState == 1 ) MessageBox "This scroll has been sealed. If you want to break the seal, drop the scroll on your character." "Okay." "Pick up Scroll." set scrollState to 10 Return endif if ( scrollState == 10 ) set button to GetButtonPressed if ( button == 0 ) Set scrollState to 0 Set wasActivated to 0 elseif ( button == 1 ) ;can't get around activate... so we add on copy to the player and disable this reference Player->AddItem "bk_treasuryreport" 1 Set scrollState to 0 Set wasActivated to 0 Disable endif Return endif ;if ( scrollState == SOMETHING ELSE ) Activate endif if ( OnPCEquip == 0 ) Set button to -1 Return endif if ( scrollState == 1 ) MessageBox "Do you want to break the seal and read the scroll?" "Yes" "No" Set scrollState to 2 endif if ( scrollState == 2 ) set button to GetButtonPressed if ( button == 0 ) Set scrollState to 3 Set UnsealedEdryno1 to 1 Set OnPCEquip to 0 Set PCSkipEquip to 0 MessageBox "You have broken the seal." "Okay" ;unseal it and set global elseif ( button == 1 ) Set scrollState to 1 Set PCSkipEquip to 1 Set OnPCEquip to 0 ;leave it sealed and reset PCSkipEquip endif Return endif if ( scrollState == 3 ) Set scrollState to 4 Set PCSkipEquip to 1 Return endif if ( scrollState == 4 ) MessageBox "Do you want to read the scroll again, or try to re-seal the scroll?" "Read again" "Re-seal it" Set scrollState to 5 Return endif if ( scrollState == 5 ) set button to GetButtonPressed if ( button == 0 ) Set scrollState to 3 Set OnPCEquip to 0 Set PCSkipEquip to 0 elseif ( button == 1 ) if ( sealFailed == 0 ) Set securityCheck to Random 100 if ( Player->GetSecurity > securityCheck ) Set scrollState to 1 Set PCSkipEquip to 1 Set UnsealedEdryno1 to 0 MessageBox "You have resealed the scroll." "Okay" ;reset state and conditions here else set sealFailed to 1 MessageBox "You have damaged the seal." "Okay" endif else MessageBox "The seal has been damaged." "Okay" endif Set OnPCEquip to 0 endif endif End
440secretsAnimunculiBegin secretsAnimunculi short doOnce if ( doOnce == 1 ) Return endif if ( OnActivate == 1 ) Player->AddSpell "summon_centurion_unique" Set doOnce to 1 Activate endif End
441shashurariDoorBegin shashurariDoor ;removed from door... assaba bentus now follow you instead. short test if ( OnActivate == 0 ) return endif if ( test == -1 ) Activate Return endif Set test to GetJournalIndex IL_RescueHermit if ( test != 25 ) Activate Return endif if ( GetDeadCount "Assaba-Bentus" == 0 ) "Assaba-Bentus"->Position 86960 -1024 640 225 Set test to -1 Activate endif End
442SheogorathBlessingbegin SheogorathBlessing ;lets you activate statue, gives message and asks you to bleed on it in return for powers. short messageOn short button if ( OnActivate == 1 ) PlaySound "Thunder1" MessageBox, "Are you ready to wash the statue with your blood?", "Spill some.", "Spill a cupful.", "Splatter statue with gouts of blood.", "No thanks." set messageOn to 1 endif if ( messageOn == 1) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif if ( button == 0 ) PlaySound "Thunder1" Player->ModCurrentHealth, -5 elseif ( button == 1 ) PlaySound "Thunder1" Player->ModCurrentHealth, -10 elseif ( button == 2 ) PlaySound "Thunder1" Player->ModCurrentHealth, -20 Cast, "Sheogorath's Blessing", Player elseif ( button == 3 ) PlaySound "Thunder1" endif endif end SheogorathBlessing
443ShishiOdirniranFightsBegin ShishiOdirniranFights if ( GetPCRank "Telvanni" > 0 ) ;Telvanni like you... "faves andas"->SetFight 30 "milyn faram"->SetFight 30 ;Everyone else hates you... "brerama selas"->SetFight 90 "anise romoran"->SetFight 90 "temis romavel"->SetFight 90 "remasa othril"->SetFight 90 "valyne vedaren"->SetFight 90 "haleneri salor"->SetFight 90 "vedelea othril"->SetFight 90 else ;Telvanni hate you... "faves andas"->SetFight 90 "milyn faram"->SetFight 90 ;Everyone else likes you "brerama selas"->SetFight 40 "anise romoran"->SetFight 40 "temis romavel"->SetFight 40 "remasa othril"->SetFight 40 "valyne vedaren"->SetFight 40 "haleneri salor"->SetFight 40 "vedelea othril"->SetFight 40 endif StopScript ShishiOdirniranFights End
444Shishi_doorbegin Shishi_door float timer short doOnce if ( doOnce == 2 ) return endif if ( MenuMode == 1 ) return endif if ( OnActivate == 1 ) if ( doOnce == 0 ) PlaySound "Stone Door Open 1" set doOnce to 1 endif endif if ( doOnce == 1 ) set timer to timer + GetSecondsPassed if ( timer <= 1 ) RotateWorld Z 90 endif "in_velothi_platform_Shishi"->Move Z -50 if ( timer > 5 ) Set doOnce to 2 endif endif end Shishi_door
445shrineAldDaedrothBegin shrineAldDaedroth if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_AldDaedroth >= 100 ) Cast Shrine_AldDaedroth_SP Player Return endif if ( GetJournalIndex TT_DagonFel >= 100 ) if ( GetJournalIndex TT_AldSotha >= 100 ) if ( GetJournalIndex TT_BalUr >= 100 ) if ( Player->GetItemCount "extravagant_rt_art_wild" > 0 ) Player->RemoveItem "extravagant_rt_art_wild" 1 Cast Shrine_AldDaedroth_SP Player MessageBox "Once like a Great House founded on sand, Stood our Temple whose pillars on troubles were based. Now mischievous spirits, bound, in dim corners stand, Rotted columns, but with iron-bound bands embraced. Cracked, crumbling marble, tempered on every hand, By strong steel forged in fire and faith. Shackled, these wayward servants serve the land, The Temple secured by the Builder's grace." Journal TT_AldDaedroth 100 Player->ModReputation 1 ModPCFacRep 25 "Temple" endif endif endif endif End
446shrineAldSothabegin shrineAldSotha if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_AldSotha >= 100 ) Cast Shrine_AldSotha_SP Player Return endif if ( GetJournalIndex TT_DagonFel >= 100 ) Cast Shrine_AldSotha_SP Player if ( GetJournalIndex TT_AldSotha < 100 ) MessageBox "Once like a Great House founded on sand, Stood our Temple whose pillars on troubles were based. Now mischievous spirits, bound, in dim corners stand, Rotted columns, but with iron-bound bands embraced. Cracked, crumbling marble, tempered on every hand, By strong steel forged in fire and faith. Shackled, these wayward servants serve the land, The Temple secured by the Builder's grace." Journal TT_AldSotha 100 Player->ModReputation 1 endif endif End
447shrineAralorBegin shrineAralor short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Aralor's Intervention" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Aralor's Intervention" Player ;Fortify Personality 5 if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
448shrineAssarnibibiBegin shrineAssarnibibi if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_AldSotha < 100 ) MessageBox "This is the birthplace of Almalexia" Return endif if ( GetJournalIndex TT_AldDaedroth < 100 ) MessageBox "This is the birthplace of Almalexia" Return endif if ( GetJournalIndex TT_BalUr < 100 ) MessageBox "This is the birthplace of Almalexia" Return endif if ( GetJournalIndex TT_DagonFel < 100 ) MessageBox "This is the birthplace of Almalexia" Return endif if ( GetJournalIndex TT_Assarnibibi >= 100 ) MessageBox "This is where Molag Bal oversaw the 99 lovers of Boethiah that gave birth to Almalexia, mother of Morrowind." Return endif MessageBox "This is where Molag Bal oversaw the 99 lovers of Boethiah that gave birth to Almalexia, mother of Morrowind." if ( GetJournalIndex TT_Assarnibibi < 100 ) Cast "shrine_gnisis_sp" Player Journal TT_Assarnibibi 100 Player->AddItem "ebon_plate_cuirass_unique" 1 Player->ModReputation 1 endif End
449shrineBalUrbegin shrineBalUr ;see vampire cure script instead if ( OnActivate == 0 ) return endif Cast Shrine_BalUr_SP Player MessageBox "Once like a Great House founded on sand\nStood our Temple whose pillars on troubles were based.\nNow mischievous spirits, bound, in dim corners stand,\nRotted columns, but with iron-bound bands embraced.\nCracked, crumbling marble, tempered on every hand\nBy strong steel forged in fire and faith.\nShackled, these wayward servants serve the land,\nThe Temple secured by the Builder's grace.\n" "Okay" Journal TT_BalUr 100 end shrineBalUr
450ShrineBoethiahBegin ShrineBoethiah ;global script, unlike the other shrines... short dacurrentDay short daysPassed short dumaMove if ( dacurrentDay == Day ) Return endif Set dacurrentDay to Day Set daysPassed to ( daysPassed + 1 ) if ( GetPCCell "Caldera, Ghorak Manor" == 1 ) return endif if ( GetDeadCount "duma gro-lag" > 0 ) return endif if ( GetDeadCount "duma gro-lag2" > 0 ) return endif if ( dumaMove == 0 ) "duma gro-lag"->Disable "duma gro-lag2"->Enable set dumaMove to 1 endif if ( GetPCCell "Khartag Point" == 1 ) Return endif if ( daysPassed > 20 ) "terrain_rock_wg_UNIQUE"->Disable "ex_de_scaffold_01_Boe"->Disable "ex_de_scaffold_02_boe"->Disable "ex_de_scaffold_03_boe"->Disable "misc_com_bucket_boe_UNI"->Disable "shulonk gro-azorku"->Disable "dumburz gro-bulfish"->Disable "lazgar gra-durog"->Disable "ugdumph gro-lumbuk"->Disable ex_de_scaffold_01a_Boe->Disable ex_de_scaffold_02a_boe->Disable ex_de_scaffold_02b_boe->Disable ex_de_scaffold_02c_boe->Disable ex_de_scaffold_03a_boe->Disable misc_com_bucket_boe_UNIa->Disable misc_com_bucket_boe_UNIb->Disable "Ex_DAE_Boethiah_fixed"->Enable StopScript ShrineBoethiah Return endif if ( daysPassed > 10 ) "Ex_DAE_r_platform_01_boe"->Enable "ex_de_scaffold_01_Boe"->Enable "ex_de_scaffold_02_boe"->Enable "ex_de_scaffold_03_boe"->Enable "misc_com_bucket_boe_UNI"->Enable "shulonk gro-azorku"->Enable "dumburz gro-bulfish"->Enable "lazgar gra-durog"->Enable "ugdumph gro-lumbuk"->Enable ex_de_scaffold_01a_Boe->Enable ex_de_scaffold_02a_boe->Enable ex_de_scaffold_02b_boe->Enable ex_de_scaffold_02c_boe->Enable ex_de_scaffold_03a_boe->Enable misc_com_bucket_boe_UNIa->Enable misc_com_bucket_boe_UNIb->Enable Return endif End
451shrineDagonFelbegin shrineDagonFel if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_DagonFel >= 100 ) Cast Shrine_DagonFel_Sp Player Return endif if ( Player->GetItemCount "ingred_daedras_heart_01" > 3 ) Player->RemoveItem "ingred_daedras_heart_01" 4 Cast Shrine_DagonFel_SP Player MessageBox "Once like a Great House founded on sand, Stood our Temple whose pillars on troubles were based. Now mischievous spirits, bound, in dim corners stand, Rotted columns, but with iron-bound bands embraced. Cracked, crumbling marble, tempered on every hand, By strong steel forged in fire and faith. Shackled, these wayward servants serve the land, The Temple secured by the Builder's grace." Journal TT_DagonFel 100 Player->ModReputation 1 endif End
452shrineDelynBegin shrineDelyn short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Shield of St. Delyn" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Shield of St. Delyn" Player ;resist blight disease 10 if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
453shrineFelmsBegin shrineFelms short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Felms' Glory" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Felms' Glory" Player ;fortify restoration skill 5 if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
454shrineGhostgatebegin shrineGhostgate short button short questionState if ( OnActivate == 1 ) Set questionState to 1 Return endif if ( questionState == 0 ) Return endif if ( questionState == 1 ) if ( Player->GetItemCount Misc_soulgem_petty > 0 ) MessageBox "Would you like to donate a Soul Gem and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount Misc_soulgem_lesser > 0 ) MessageBox "Would you like to donate a Soul Gem and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount Misc_soulgem_common > 0 ) MessageBox "Would you like to donate a Soul Gem and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount Misc_soulgem_greater > 0 ) MessageBox "Would you like to donate a Soul Gem and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount Misc_soulgem_grand > 0 ) MessageBox "Would you like to donate a Soul Gem and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif MessageBox "Here Vivec, Sotha Sil, and Almalexia used many soul gems to create the Ghostfence, an unwavering symbol of Dunmer pride." Set questionState to 0 endif if ( questionState == 2 ) set button to GetButtonPressed if ( button == 1 ) Set questionState to 0 Return endif if ( button == 0 ) if ( Player->GetItemCount Misc_soulgem_petty > 0 ) Player->RemoveItem Misc_soulgem_petty 1 MessageBox "The Grace of Pride: Thank you for your pride, Lord Vivec. I shall not doubt myself, or my people, or my gods, and shall insist upon them, and my ancient rights." Cast shrine_ghostgate_sp Player Journal TT_Ghostgate 100 Set questionState to 0 endif if ( Player->GetItemCount Misc_soulgem_lesser > 0 ) Player->RemoveItem Misc_soulgem_lesser 1 MessageBox "The Grace of Pride: Thank you for your pride, Lord Vivec. I shall not doubt myself, or my people, or my gods, and shall insist upon them, and my ancient rights." Cast shrine_ghostgate_sp Player Journal TT_Ghostgate 100 Set questionState to 0 endif if ( Player->GetItemCount Misc_soulgem_common > 0 ) Player->RemoveItem Misc_soulgem_common 1 MessageBox "The Grace of Pride: Thank you for your pride, Lord Vivec. I shall not doubt myself, or my people, or my gods, and shall insist upon them, and my ancient rights." Cast shrine_ghostgate_sp Player Journal TT_Ghostgate 100 Set questionState to 0 endif if ( Player->GetItemCount Misc_soulgem_greater > 0 ) Player->RemoveItem Misc_soulgem_greater 1 MessageBox "The Grace of Pride: Thank you for your pride, Lord Vivec. I shall not doubt myself, or my people, or my gods, and shall insist upon them, and my ancient rights." Cast shrine_ghostgate_sp Player Journal TT_Ghostgate 100 Set questionState to 0 endif if ( Player->GetItemCount Misc_soulgem_grand > 0 ) Player->RemoveItem Misc_soulgem_grand 1 MessageBox "The Grace of Pride: Thank you for your pride, Lord Vivec. I shall not doubt myself, or my people, or my gods, and shall insist upon them, and my ancient rights." Cast shrine_ghostgate_sp Player Journal TT_Ghostgate 100 Set questionState to 0 endif endif endif End
455shrineGnisisBegin shrineGnisis short button short questionState if ( OnActivate == 1 ) if ( questionState == 0 ) Set questionState to 1 endif endif if ( questionState == 0 ) Return endif if ( questionState == 1 ) if ( Player->GetItemCount "P_Cure_Common_S" == 0 ) MessageBox "Here in Gnisis Vivec made a potion to cure a villager who had fallen ill but could not pay for the healing of the Temple. Vivec promised that the Temple would always cure those who could not pay and left his sacred Mask here as a sign of that promise." Set questionState to 0 Return endif MessageBox "Would you like to donate a Potion of Cure Disease and ask for a blessing?" "Yes" "No" Set questionState to 2 endif if ( questionState == 2 ) set button to GetButtonPressed if ( button == 0 ) Player->RemoveItem "P_Cure_Common_S" 1 Cast Shrine_Gnisis_SP Player MessageBox "The Grace of Justice: Thank you for your justice, Lord Vivec. I shall be neither cruel nor arbitrary, for fair dealing earns the love, trust, and respect of our people." Journal TT_MaskVivec 100 Set questionState to 0 elseif ( button == 1 ) Set questionState to 0 Return endif endif End
456shrineGnisisRealMaskBegin shrineGnisisRealMask if ( OnActivate == 0 ) Return endif Cast "shrine_gnisis_sp" Player if ( Player->GetSpell "HealingTouch_SP_uniq" == 0 ) Player->AddSpell "HealingTouch_SP_uniq" endif End
457shrineGnisisSecretBegin shrineGnisisSecret short button short questionState short doOnce float timer if ( CellChanged == 1 ) SetPos Z 337 Set doOnce to 0 endif if ( GetJournalIndex TT_MaskVivec >= 100 ) if ( OnActivate == 1 ) if ( doOnce == 0 ) PlaySound3D "Door Stone Close" set doOnce to 1 endif set timer to 0 endif if ( MenuMode == 1 ) Return endif if ( doOnce == 1 ) set timer to ( timer + GetSecondsPassed ) if ( timer <= 1 ) Move Z -40 else Set doOnce to 2 endif endif ;if journal is > 100, ALWAYS return here Return endif if ( OnActivate == 1 ) if ( questionState == 0 ) Set questionState to 1 endif endif if ( questionState == 0 ) Return endif if ( questionState == 1 ) if ( Player->GetItemCount "P_Cure_Common_S" == 0 ) MessageBox "Here in Gnisis Vivec made a potion to cure a villager who had fallen ill but could not pay for the healing of the Temple. Vivec promised that the Temple would always cure those who could not pay and left his sacred Mask here as a sign of that promise." Set questionState to 0 Return endif MessageBox "Would you like to donate a Potion of Cure Disease and ask for a blessing?" "Yes" "No" Set questionState to 2 endif if ( questionState == 2 ) set button to GetButtonPressed if ( button == 0 ) Player->RemoveItem "P_Cure_Common_S" 1 "ac_shrine_gnisis"->Cast Shrine_Gnisis_SP Player MessageBox "The Grace of Justice: Thank you for your justice, Lord Vivec. I shall be neither cruel nor arbitrary, for fair dealing earns the love, trust, and respect of our people." Journal TT_MaskVivec 100 Set questionState to 0 elseif ( button == 1 ) Set questionState to 0 Return endif endif End
458shrineImperialBegin shrineImperial ;on Furn_imp_altar_cure_01 short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Imperial Cult" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Imperial Cult" >= 0 ) ;member below rank 2 Set donation to 10 else ;not a member Set donation to 25 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Restore Attributes" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 25 ) Player->RemoveItem Gold_001 25 elseif ( donation == 10 ) Player->RemoveItem Gold_001 10 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 25 ) Player->RemoveItem Gold_001 25 elseif ( donation == 10 ) Player->RemoveItem Gold_001 10 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 25 ) Player->RemoveItem Gold_001 25 elseif ( donation == 10 ) Player->RemoveItem Gold_001 10 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Restore Attributes" Player ;restore eight attributes Cast "Restore Fighter" Player ;restore eight fighter skills Cast "Restore Mage" Player ;restore eight mage skills Cast "Restore Stealth" Player ;restore eight stealth skills Cast "Restore Other" Player ;restore three other skills if ( donation == 25 ) Player->RemoveItem Gold_001 25 elseif ( donation == 10 ) Player->RemoveItem Gold_001 10 endif Set QuestionState to 0 endif endif end
459shrineKoalCaveBegin shrineKoalCave short button short questionState if ( OnActivate == 1 ) Set questionState to 1 Return endif if ( questionState == 0 ) Return endif if ( questionState == 1 ) if ( Player->GetItemCount Ingred_Dreugh_Wax_01 > 0 ) MessageBox "Would you like to donate your Dreugh Wax and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif MessageBox "Here Vivec defeated Ruddy Man, the god of the Dreugh. Vivec showed his people how to make armor from the wax of the Dreugh." Set questionState to 0 Return endif if ( questionState == 2 ) Set button to GetButtonPressed if ( button == 0 ) Player->RemoveItem Ingred_Dreugh_Wax_01 1 ;give the big reward ONLY if you've killed the boss daddy dreugh if ( GetDeadCount "dreugh_koal" >= 1 ) Player->AddItem Dreugh_Cuirass_TTRM 1 endif MessageBox "The Grace of Valor: Thank you for your valor, Lord Vivec. I shall not quail, nor turn away, but face my enemies and my fear." Cast shrine_koalcave_sp Player Journal TT_RuddyMan 100 Set questionState to 0 endif if ( button == 1 ) MessageBox "Here Vivec defeated Ruddy Man, the god of the Dreugh." Set questionState to 0 endif endif End
460shrineKummuBegin shrineKummu short button short questionState if ( OnActivate == 1 ) Set questionState to 1 Return endif if ( questionState == 0 ) Return endif if ( questionState == 1 ) if ( Player->GetItemCount Ingred_Muck_01 > 0 ) MessageBox "Would you like to donate muck and ask for a blessing?" "Yes" "No" Set questionState to 2 else MessageBox "Here in the Fields of Kummu, Vivec acted as a beast of burden for a poor famer who could not harvest mucksponge after his guar died." Set questionState to 0 endif endif if ( questionState == 2 ) set button to GetButtonPressed if ( button == 0 ) Player->RemoveItem Ingred_Muck_01 10 Cast Shrine_Kummu_SP Player MessageBox "The Grace of Humility: Thank you for your humility, Lord Vivec. I shall neither strut nor preen in vanity, but shall know and give thanks for my place in the greater world." Journal TT_FieldsKummu 100 Set questionState to 0 endif if ( button == 1 ) MessageBox "Here in the Fields of Kummu, Vivec acted as a beast of burden for a poor famer who could not harvest mucksponge after his guar died." Set questionState to 0 endif endif End
461shrineLlothisBegin shrineLlothis short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "The Rock of Llothis" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "The Rock of Llothis" Player ;fortify willpower 5 if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
462shrineMaarGanBegin shrineMaarGan if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_MaarGan < 30 ) MessageBox "Here Mehrunes Dagon held this rock high above the Dunmer. Vivec taunted Mehrines Dagon so that Dagon threw the rock at Vivec instead of the people." Journal TT_MaarGan 20 Addtopic "taunt the Daedra" Return endif MessageBox "Here Mehrunes Dagon held this rock high above the Dunmer. Vivec taunted Mehrines Dagon so that Dagon threw the rock at Vivec instead of the people." Cast shrine_maargan_sp Player Journal TT_MaarGan 60 End
463shrineMerisBegin shrineMeris short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Meris' Warding" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Meris' Warding" Player ;[resist corprus disease 20] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
464shrineMountKandBegin shrineMountKand if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_MountKand < 75 ) MessageBox "Here Vivec won a contest of wits with three Daedra. After enraging them with his answers, he used their bones to build houses for his people." Return endif Cast shrine_mountkand_sp Player if ( GetJournalIndex TT_MountKand < 100 ) Journal TT_MountKand 100 Player->ModReputation 1 endif End
465shrineNerevarBegin shrineNerevar short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Spirit of Nerevar" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Spirit of Nerevar" Player ;[fortify fatigue 20] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
466shrineOlmsBegin shrineOlms short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Olms' Benediction" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Olms' Benediction" Player ;[resist common disease 20] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
467shrinePalaceBegin shrinePalace short questionState short button if ( OnActivate == 1) Set questionState to 1 Return endif if ( questionState == 0 ) Return endif if ( questionState == 1 ) if ( Player->GetItemCount Gold_001 >= 100 ) MessageBox "Would you like to leave a donation of 100 gold and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif MessageBox "Here Vivec showed his generosity by filling the gentle waters of the Palace with gold for the poor and destitute of Vivec City." Set questionState to 0 Return endif if ( questionState == 2 ) set button to GetButtonPressed if ( button == 0 ) Player->RemoveItem Gold_001 100 Cast Shrine_Palace_SP Player MessageBox "The Grace of Generosity: Thank you for your generosity, Lord Vivec. I shall neither hoard nor steal, nor encumber myself with profitless treasures, but shall share freely among house and hearth." Journal TT_PalaceVivec 100 Set questionState to 0 endif if ( button == 1 ) MessageBox "Here Vivec showed his generosity by filling the gentle waters of the Palace with gold for the poor and destitute of Vivec City." Set questionState to 0 endif endif End
468shrinePuzzleCanalBegin shrinePuzzleCanal short button if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_PuzzleCanal >= 100 ) Cast Shrine_Puzzle_SP Player MessageBox "Here Vivec gave a plain silver longsword to the Daedra Lord Mehrunes Dagon rather than dishonor himself by fighting an unarmed foe." Return endif if ( GetJournalIndex TT_PuzzleCanal >= 50 ) Cast Shrine_Puzzle_SP Player MessageBox "The Grace of Courtesy: Thank you for your courtesy, Lord Vivec. I shall speak neither hurtful nor harsh word, but shall speak respectfully, even of my enemies, for temperate words may turn aside anger." Journal TT_PuzzleCanal 100 Return endif MessageBox "Here Vivec gave a plain silver longsword to the Daedra Lord Mehrunes Dagon rather than dishonor himself by fighting an unarmed foe." End
469shrinePuzzleCanal_mBegin shrinePuzzleCanal_m if ( OnActivate == 1 ) MessageBox "Breathe the Waters of His Glory and the Way is Made Clear." endif End
470shrineRilmBegin shrineRilm short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Rilm's Grace" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Rilm's Grace" Player ;[fortify endurance 5] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
471shrineRorisBegin shrineRoris short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Roris' Bloom" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Roris' Bloom" Player ;[fortify health 5] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
472shrineSanctusBegin shrineSanctus if ( OnActivate == 0 ) Return endif if ( GetJournalIndex TT_SanctusShrine >= 20 ) if ( GetJournalIndex TT_SanctusShrine < 50 ) MessageBox "[You have made the pilgrimage. Your vow of silence is lifted.]" Cast shrine_sanctus_sp Player Journal TT_SanctusShrine 50 endif endif if ( GetJournalIndex TT_SanctusShrine == 100 ) Cast shrine_sanctus_sp Player endif End
473shrineSerynBegin shrineSeryn short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Seryn's Shield" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Seryn's Shield" Player ;[resist poison 20] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
474shrineStopMoonBegin shrineStopMoon short questionState short button if ( OnActivate == 1 ) Set questionState to 1 Return endif if ( questionState == 0 ) Return endif if ( questionState == 1 ) if ( Player->GetItemCount P_Levitation_B > 0 ) MessageBox "Would you like to donate a potion of rising force and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount P_Levitation_C > 0 ) MessageBox "Would you like to donate a potion of rising force and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount P_Levitation_S > 0 ) MessageBox "Would you like to donate a potion of rising force and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount P_Levitation_Q > 0 ) MessageBox "Would you like to donate a potion of rising force and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif if ( Player->GetItemCount P_Levitation_E > 0 ) MessageBox "Would you like to donate a potion of rising force and ask for a blessing?" "Yes" "No" Set questionState to 2 Return endif MessageBox "Here Vivec stopped the moon before it crashed into Vivec City. The moon levitates now above the city and is known as the Ministry of Truth." Set questionState to 0 Return endif if ( questionState == 2 ) Set button to GetButtonPressed if ( button == 1 ) Set questionState to 0 Return endif if ( button == 0 ) if ( Player->GetItemCount P_Levitation_B > 0 ) Player->RemoveItem P_Levitation_B 1 Set questionState to 3 Return endif if ( Player->GetItemCount P_Levitation_C > 0 ) Player->RemoveItem P_Levitation_C 1 Set questionState to 3 Return endif if ( Player->GetItemCount P_Levitation_S > 0 ) Player->RemoveItem P_Levitation_S 1 Set questionState to 3 Return endif if ( Player->GetItemCount P_Levitation_Q > 0 ) Player->RemoveItem P_Levitation_Q 1 Set questionState to 3 Return endif if ( Player->GetItemCount P_Levitation_E > 0 ) Player->RemoveItem P_Levitation_E 1 Set questionState to 3 Return endif endif endif if ( questionState == 3 ) Cast shrine_stopmoon_sp Player MessageBox "The Grace of Daring: Thank you for your daring, Lord Vivec. I shall not shun risk, nor hide behind the mask of cautious counsel, for fortune favors the bold." Journal TT_StopMoon 100 Set questionState to 0 endif End
475shrineTempleBegin shrineTemple ;Cure Common Disease [and Cure Common Disease Other] do not currently work through scripts; reported as a bug short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Lady's Grace" "Soul of Sotha Sil" "Vivec's Mystery" "Almsivi Restoration" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Lady's Grace shrine" Player ;Fortify Endurance 5 if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif if ( button == 4 ) Cast "Soul of Sotha Sil" Player ;Fortify Magicka 5 if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif if ( button == 5 ) Cast "Vivec's Mystery" Player ;Fortify Luck 10 if ( donation == 25 ) Player->RemoveItem Gold_001 25 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif if ( button == 6 ) Cast "Almsivi Restoration" Player ;restore eight attributes Cast "Almsivi Restore Fighter" Player ;restore eight fighter skills Cast "Almsivi Restore Mage" Player ;restore eight mage skills Cast "Almsivi Restore Stealth" Player ;restore eight stealth skills Cast "Almsivi Restore Other" Player ;restore three other skills if ( donation == 25 ) Player->RemoveItem Gold_001 25 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
476shrineVelothBegin shrineVeloth short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Veloth's Indwelling" "Almsivi Restoration" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Veloth's Indwelling" Player ;[fortify magicka 10] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif if ( button == 4 ) Cast "Almsivi Restoration" Player ;[restore eight attributes] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
477shrineVivecFuryBegin shrineVivecFury short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Vivec's Fury" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Vivec's Fury" Player ;[fortify attack 5] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
478shrineVivecHumilityBegin shrineVivecHumility short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Vivec's Humility" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Vivec's Humility" Player ;[fortify personality 5] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
479shrineVivecMysteryBegin shrineVivecMystery short button short donation short QuestionState if ( menumode == 1 ) return endif if ( OnActivate == 0 ) if ( QuestionState == 0 ) Return endif endif ;set donation amount if ( player->GetPCRank "Temple" >= 2 ) ;member of rank 2 or above Set donation to 0 elseif ( player->GetPCRank "Temple" >= 0 ) ;member below rank 2 Set donation to 5 else ;not a member Set donation to 35 endif if ( Player->GetItemCount Gold_001 < donation ) MessageBox "You do not have enough gold to make a donation." "OK" Return endif if ( QuestionState == 0 ) MessageBox "Would you like to make a donation of %.0f and receive a blessing?" donation "Yes" "No" set QuestionState to 10 endif ;Ask second question if ( QuestionState == 10 ) Set button to GetButtonPressed if ( button == 0 ) MessageBox "What blessing do you ask for?" "Cure Disease" "Cure Blight" "Cure Poison" "Vivec's Mystery" set QuestionState to 20 elseif ( button == 1 ) set QuestionState to 0 endif Return endif ;perform cure or give message if ( QuestionState == 20 ) Set button to GetButtonPressed if ( button == 0 ) if ( Player->GetCommonDisease == 1 ) Cast "Cure Common Disease Other" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a common disease." "OK" endif Set QuestionState to 0 endif if ( button == 1 ) if ( Player->GetBlightDisease == 1 ) Cast "Cure Blight Disease" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not afflicted with a blight disease." "OK" endif Set QuestionState to 0 endif if ( button == 2 ) if ( Player->GetEffect sEffectPoison == 1 ) ;check for poison effect on player Cast "Cure Poison Touch" Player if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif else MessageBox "You are not poisoned." "OK" endif Set QuestionState to 0 endif if ( button == 3 ) Cast "Vivec's Mystery" Player ;[fortify luck 10] if ( donation == 35 ) Player->RemoveItem Gold_001 35 elseif ( donation == 5 ) Player->RemoveItem Gold_001 5 endif Set QuestionState to 0 endif endif end
480SignRotatebegin 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
481sirilonweChestBegin sirilonweChest if ( MenuMode == 1 ) Return endif if ( GetItemCount "BookSkill_Heavy Armor3" > 0 ) Set "edwinna elbert".bookInBox to 1 else Set "edwinna elbert".bookInBox to 0 endif End
482Sixth_Bell_01Begin Sixth_Bell_01 if ( MenuMode == 1 ) Return endif if ( OnActivate == 0 ) Return endif PlaySound3D "bell1" End
483Sixth_Bell_02Begin Sixth_Bell_02 if ( MenuMode == 1 ) Return endif if ( OnActivate == 0 ) Return endif PlaySound3D "bell2" End
484Sixth_Bell_03Begin Sixth_Bell_03 if ( MenuMode == 1 ) Return endif if ( OnActivate == 0 ) Return endif PlaySound3D "bell3" End
485Sixth_Bell_04Begin Sixth_Bell_04 if ( MenuMode == 1 ) Return endif if ( OnActivate == 0 ) Return endif PlaySound3D "bell4" End
486Sixth_Bell_05Begin Sixth_Bell_05 if ( MenuMode == 1 ) Return endif if ( OnActivate == 0 ) Return endif PlaySound3D "bell5" End
487Sixth_Bell_06begin Sixth_Bell_06 if ( MenuMode == 1 ) Return endif if ( OnActivate == 0 ) Return endif PlaySound3D "bell6" End
488sjoringScriptBegin sjoringScript ;should raise you one or two ranks if you're near the top and you kill him. ;used to be really complex, but now it is easy. short nolore if ( OnDeath == 1 ) if ( GetPCRank "Fighters Guild" >= 7 ) PCRaiseRank PCRaiseRank endif endif End
489skinkScriptBegin skinkScript short soulAshGhoul ; for MG_SoulGem2 short givenLetter ;for MG_Guildmaster short noLore End
490SkinkSoul1Begin SkinkSoul1 Set skinkintreesshade.soulAshGhoul to 0 if ( Player->HasSoulGem "ash_ghoul" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "ash_ghoul_fgr" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "ash_ghoul_ganel" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "ash_ghoul_mulyn" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth aladus" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth baler" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth daynil" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth delnus" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth drals" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth drals" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth draven" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth elam" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth fals" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth fervas" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth fovon" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth galmis" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth gares" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth ienas" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth mendras" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth mulis" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth muthes" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth nilor" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth ralas" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth soler" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif if ( Player->HasSoulGem "dagoth drals" > 0 ) Set skinkintreesshade.soulAshGhoul to 1 endif StopScript SkinkSoul1 End
491SkinkSoul2Begin SkinkSoul2 short doOnce ;in topic Ash Ghoul for MG_SoulGem2 ;if you actually HAVE the soul gem in inventory, this script ;will find and remove all instance of soul gems with that creature ID if ( doOnce == 1 ) StopScript SkinkSoul2 Return endif if ( Player->HasSoulGem "ash_ghoul" > 0 ) Player->RemoveSoulGem "ash_ghoul" Set doOnce to 1 Return endif if ( Player->HasSoulGem "ash_ghoul_fgr" > 0 ) Player->RemoveSoulGem "ash_ghoul_fgr" Set doOnce to 1 Return endif if ( Player->HasSoulGem "ash_ghoul_ganel" > 0 ) Player->RemoveSoulGem "ash_ghoul_ganel" Set doOnce to 1 Return endif if ( Player->HasSoulGem "ash_ghoul_mulyn" > 0 ) Player->RemoveSoulGem "ash_ghoul_mulyn" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth aladus" > 0 ) Player->RemoveSoulGem "dagoth aladus" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth baler" > 0 ) Player->RemoveSoulGem "dagoth baler" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth daynil" > 0 ) Player->RemoveSoulGem "dagoth daynil" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth delnus" > 0 ) Player->RemoveSoulGem "dagoth delnus" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth drals" > 0 ) Player->RemoveSoulGem "dagoth drals" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth draven" > 0 ) Player->RemoveSoulGem "dagoth draven" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth elam" > 0 ) Player->RemoveSoulGem "dagoth elam" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth fals" > 0 ) Player->RemoveSoulGem "dagoth fals" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth fervas" > 0 ) Player->RemoveSoulGem "dagoth fervas" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth fovon" > 0 ) Player->RemoveSoulGem "dagoth fovon" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth galmis" > 0 ) Player->RemoveSoulGem "dagoth galmis" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth gares" > 0 ) Player->RemoveSoulGem "dagoth gares" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth ienas" > 0 ) Player->RemoveSoulGem "dagoth ienas" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth mendras" > 0 ) Player->RemoveSoulGem "dagoth mendras" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth mulis" > 0 ) Player->RemoveSoulGem "dagoth mulis" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth muthes" > 0 ) Player->RemoveSoulGem "dagoth muthes" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth nilor" > 0 ) Player->RemoveSoulGem "dagoth nilor" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth ralas" > 0 ) Player->RemoveSoulGem "dagoth ralas" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth soler" > 0 ) Player->RemoveSoulGem "dagoth soler" Set doOnce to 1 Return endif if ( Player->HasSoulGem "dagoth drals" > 0 ) Player->RemoveSoulGem "dagoth drals" Set doOnce to 1 Return endif End
492slaveScriptbegin slaveScript ;Slave Status... each slave has a status as follows ;0 = Owned ( default state... does not indicate who they are owned by ) ;1 = For Sale ( someone in the game can "sell" this slave via dialogue ) ;2 = Owned By the Player ( the player has purchased this slave and the slave follows the player ) ;3 = Freed ( the player has freed this slave, the slave eventually disables himself) ;dead = not in slave status, but a state one should check for short slaveStatus short doOnce short NoLore if ( slaveStatus == 0 ) return endif if ( slaveStatus == 1 ) return endif if ( slaveStatus == 2 ) if ( doOnce == 0 ) AIFollow Player 0 0 0 0 0 Set doOnce to 1 endif return endif if ( slaveStatus == 3 ) if ( GetCurrentAIPackage == 3 ) AIWander 512 0 0 0 0 0 0 0 0 0 0 0 endif if ( GetItemCount Slave_Bracer_Left > 0 ) Drop Slave_Bracer_Left 1 endif if ( GetItemCount Slave_Bracer_Right > 0 ) Drop Slave_Bracer_Right 1 endif if ( CellChanged == 1 ) Disable endif endif end slaveScript
493Sleepersbegin Sleepers short dream ;when dream happens short doOnce ;do it only once each time player goes to town ;script for Dreams sent by Dagoth Ur and Sixth House cultists attacking when sleeping around certain locations ;this will have to be a global that runs all the time ;doug just rewrote this script to prevent multiple attacks and because it was a crazy-long kinda slow to run as a global ;*** DREAMS *** : series of four dreams, each occurring only once, before PC kills Dagoth Gares at Ilunibi Shrine ;check for sleeping in certain areas, give dream message if ( GetPCSleep == 0 ) return endif Set dream to 0 if ( GetPCCell "Balmora" == 1 ) Set dream to 1 endif if ( GetPCCell "Ald-ruhn" == 1 ) Set dream to 2 endif if ( GetPCCell "Vivec" == 1 ) Set dream to 3 endif if ( dream == 0 ) Set doOnce to 0 ;this makes sure you have to leave the city and come back for another attack to occur return endif AddTopic "Disturbing Dreams" ;add this topic, doesn't matter if you do it over and over ;THE FIRST DREAM... if ( GetJournalIndex A1_2_AntabolisInformant >= 10 ) if ( GetJournalIndex A1_Dreams < 1 ) WakeUpPC MessageBox "You had a disturbing dream. You can only recall one part. A tall figure with a golden mask led you among the dead as through a wedding celebration. You heard many voices, but no lips moved. You strained to breathe, but your chest didn't move. The tall figure spoke with each figure as he passed among them, laughing and joking, as if they were alive, but they made no reply. You tried to cry out, but without breath, your tongue fluttered in vain." "Ok" Journal A1_Dreams 1 return endif endif ;THE SECOND DREAM... if ( GetJournalIndex A1_6_AddhiranirrInformant >= 45 ) if ( GetJournalIndex A1_Dreams < 5 ) WakeUpPC MessageBox "In your dream, a tall figure with a golden mask greeted you, saying: 'There are many rooms in the house of the Master. Be easy, for from the hands of your enemies I have delivered you.' It seemed you had died and could see yourself laid upon a table lit by candles. But with your own hands you touched the figure, and the figure drew breath, opened eyes, and rose from the table. Then the room was gone, and the world filled with light, and you awoke." "Ok" Journal A1_Dreams 5 return endif endif ;THE THIRD DREAM if ( GetJournalIndex A1_10_MehraMilo >= 50 ) if ( GetJournalIndex A1_Dreams < 10 ) WakeUpPC MessageBox "You dreamed that a tall figure with a golden mask spoke to you, but you understood not a word. He smiled, and seemed pleasant, but when he reached to touch you, it terrified you, and you tried to escape, but you couldn't move. You tried to cry out, but you couldn't make a sound. The figure kept smiling and talking, but you felt sure he was trying to cast some sort of spell on you. When you woke, you couldn't recall how the dream ended." "Ok" Journal A1_Dreams 10 return endif endif ;THE FOURTH DREAM if ( GetJournalIndex A1_11_ZainsubaniInformant >= 50 ) if ( GetJournalIndex A1_Dreams < 15 ) WakeUpPC MessageBox "In your dreams, a tall figure in a golden mask spoke to you: Lord Nerevar Indoril, Hai Resdaynia! Long forgotten, forged anew! Three belied you, three betrayed you! One you betrayed was three times true! Lord Voryn Dagoth, Dagoth Ur! Steadfast liegeman, faithful friend, bids you come and climb Red Mountain! Beneath Red Mountain, once again, break your bonds, shed cursed skin, and purge the n'wah from Morrowind!" "Ok" Journal A1_Dreams 15 return endif endif ;SIXTH HOUSE ATTACKERS ;these occur AFTER the PC has fought Dagoth Gares ;NO DUPLICATE ATTACKS UNTIL YOU LEAVE AND RETURN if ( doOnce == 1 ) return endif ;NO ATTACKS WHEN GAME IS OVER if ( GetJournalIndex C3_DestroyDagoth >= 50 ) return endif ;NO ATTACKS IF YOU HAVEN'T GOTTEN THIS FAR if ( GetJournalIndex A2_2_6thHouse < 50 ) return endif Set doOnce to 1 ;BALMORA SIXTH HOUSE ATTACKERS (dream === 1) if ( dream == 1 ) if ( GetDeadCount "Dagoth Fovon" == 0 ) WakeUpPC MessageBox "You wake. You hear something, and sense the presence of another nearby....", "Ok" Journal A1_SleepersAwake 3 AddTopic "attacked while sleeping" PlaceAtPC Ash_Zombie 1 128 1 endif endif ;ALD-RUHN SIXTH HOUSE ATTACKERS (dream == 2) if ( dream == 2 ) if ( GetDeadCount "Hanarai Assutlanipal" == 0 ) WakeUpPC MessageBox "You wake. You hear something, and sense the presence of another nearby....", "Ok" Journal A1_SleepersAwake 3 AddTopic "attacked while sleeping" PlaceAtPC Ash_Zombie 1 128 1 endif endif ;VIVEC SIXTH HOUSE ATTACKERS (dream == 3) if ( dream == 3 ) if ( GetDeadCount "Dagoth_Hlevul" == 0 ) WakeUpPC MessageBox "You wake. You hear something, and sense the presence of another nearby....", "Ok" Journal A1_SleepersAwake 3 AddTopic "attacked while sleeping" PlaceAtPC Ash_Zombie 1 128 1 endif endif ;whew! End
494sleeperScriptBegin sleeperScript short sleeperOn ;activates sleeper dialogue at night ;other sleeper behavior (endgame, etc) is handled in dialogue short doOnce ;keeps sleepers from ForceGreeting over and over short NoLore ;don't want sleepers being too talkative if ( GetJournalIndex TT_SanctusShrine >= 20 ) if ( GetJournalIndex TT_SanctusShrine < 50 ) Return endif endif if ( GetJournalIndex A1_2_AntabolisInformant < 10 ) Set sleeperOn to 0 Return ;sleepers don't forceGreeting you before this event endif if ( GetJournalIndex C3_DestroyDagoth >= 50 ) Set sleeperOn to 0 Return ;no more sleepers after endgame endif Set sleeperOn to 1 if ( GameHour > 6 ) if ( GameHour < 18 ) Set sleeperOn to 0 ;1 unless sun is up... estimate, adjust ;not sleepers anymore after endgame Return endif endif if ( GetDistance Player > 3000 ) set doOnce to 0 Return endif if ( doOnce != 0 ) Return endif if ( GetDistance Player < 150 ) ForceGreeting set doOnce to 1 endif ;the idea is to have them annoyingly initiate conversation ;whenever the player approaches... But only do this ;once per approach... needs testing. End
495sondaaleFollowBegin sondaaleFollow short noLore short followNow short distanceCheck float timer ;global short NPCVoiceDistance if ( MenuMode == 1 ) return endif if ( GetJournalIndex FG_Telasero >= 70 ) return endif if ( GetJournalIndex FG_Telasero < 50 ) return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;original conditions, and in case something funky happens... Journal FG_Telasero 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\F\M\Flw_HF003.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Telasero, Lower Level" == 0 ) if ( GetPCCell "Telasero, Upper Level" == 0 ) ;since the above method may not actually work... Journal FG_Telasero 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\H\F\Flw_HF003.mp3" "Thank you." SetHello 30 endif 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\H\F\Flw_HF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
496sonummuNoLorebegin sonummuNoLore Short NoLore if ( OnDeath == 1 ) Journal B3_ZainabKill 1 Journal B8_Failed_Nerevarine 1 endif end
497SoundTestbegin SoundTest short messageOn short button if ( OnActivate == 1 ) PlaySound "ThunderClap" MessageBox, "Choose a function to test!", "Regular", "Pitch & Volumn", "3D", "3D w/ vol & pitch", "3DLooping", "3DLooping w/ vol & pitch", "Stop Looping" set messageOn to 1 endif if ( messageOn == 1) set button to GetButtonPressed if ( button >= 0 ) set messageOn to 0 endif if ( button == 0 ) PlaySound "Sound Test" MessageBox "PlaySound" elseif ( button == 1 ) PlaySoundVP "Sound Test" 1.0, 1.0 MessageBox "PlaySoundVP" elseif ( button == 2 ) PlaySound3D "Sound Test" MessageBox "PlaySound3D" elseif ( button == 3 ) PlaySound3DVP "Sound Test" 1.0, 1.0 MessageBox "PlaySound3DVP" elseif ( button == 4 ) PlayLoopSound3D "Sound Test Loop" MessageBox "PlayLoopSound3D" elseif ( button == 5 ) if ( GetSoundPlaying "Sound Test Loop" == 0 ) PlayLoopSound3DVP "Sound Test Loop" 1.0, 1.0 MessageBox "PlayLoopSound3DVP" endif elseif ( button == 6 ) StopSound "Sound Test Loop" MessageBox "Stopping the Loop Test" endif endif end SoundTest
498Sound_Boat_Creakbegin Sound_Boat_Creak if ( CellChanged == 0 ) if ( GetSoundPlaying "Boat Creak" == 0 ) PlayLoopSound3DVP "Boat Creak" 0.4, 1.0 endif endif end
499Sound_Boat_Hullbegin Sound_Boat_Hull if ( CellChanged == 0 ) if ( GetSoundPlaying "Boat Hull" == 0 ) PlayLoopSound3DVP "Boat Hull" 0.4, 1.0 endif endif end
500Sound_Bubblesbegin Sound_Bubbles if ( CellChanged == 0 ) if ( GetSoundPlaying "Bubbles" == 0 ) PlayLoopSound3DVP "Bubbles", 0.5, 1.0 endif endif end
501Sound_Cave_Dripbegin Sound_Cave_Drip if ( CellChanged == 0 ) if ( GetSoundPlaying "Cave Drip" == 0 ) PlayLoopSound3DVP "Cave Drip", 1.0, 1.0 endif endif end
502Sound_Cave_Windbegin Sound_Cave_Wind if ( CellChanged == 0 ) if ( GetSoundPlaying "Cave Wind" == 0 ) PlayLoopSound3DVP "Cave Wind", 1.0, 1.0 endif endif end
503Sound_chimes_woodbegin Sound_chimes_wood if ( CellChanged == 0 ) if ( GetSoundPlaying "chimes wood" == 0 ) PlayLoopSound3DVP "chimes wood", 1.0, 1.0 endif endif end
504Sound_Creeky_Woodbegin Sound_Creeky_Wood if ( CellChanged == 0 ) if ( GetSoundPlaying "Dock Creak" == 0 ) PlayLoopSound3DVP "Dock Creak", 0.4, 1.0 endif endif end
505Sound_Crystal_Ringingbegin Sound_Crystal_Ringing if ( CellChanged == 0 ) if ( GetSoundPlaying "Crystal Ringing" == 0 ) PlayLoopSound3DVP "Crystal Ringing", 1.0, 1.0 endif endif end
506Sound_Daedric_Chantbegin Sound_Daedric_Chant if ( CellChanged == 0 ) if ( GetSoundPlaying "Daedric Chant" == 0 ) PlayLoopSound3DVP "Daedric Chant", 1.0, 1.0 endif endif end Sound_Daedric_Chant
507Sound_Dwemer_Ambientbegin Sound_Dwemer_Ambient if ( CellChanged == 0 ) if ( GetSoundPlaying "Ambient Factory Ruins" == 0 ) PlayLoopSound3DVP "Ambient Factory Ruins", 1.0, 1.0 endif endif end
508Sound_Firebegin Sound_Fire if ( CellChanged == 0 ) if ( GetSoundPlaying "fire" == 0 ) PlayLoopSound3DVP "fire", 0.50, 1.0 endif endif end
509Sound_Fire_Smallbegin Sound_Fire_Small if ( CellChanged == 0 ) if ( GetSoundPlaying "fire" == 0 ) PlayLoopSound3DVP "fire", 0.4, 1.0 endif endif end
510Sound_Fliesbegin Sound_Flies if ( CellChanged == 0 ) if ( GetSoundPlaying "Flies" == 0 ) PlayLoopSound3DVP "Flies", 0.5, 1.0 endif endif end
511Sound_Hauntedbegin Sound_Haunted if ( CellChanged == 0 ) if ( GetSoundPlaying "Haunted" == 0 ) PlayLoopSound3DVP "Haunted", 1.0, 1.0 endif endif end
512Sound_Lava_Vatbegin Sound_Lava_Vat if ( CellChanged == 0 ) if ( GetSoundPlaying "Lava Layer" == 0 ) PlayLoopSound3DVP "Lava Layer", 1.0, 1.0 endif endif end
513Sound_Machinerybegin Sound_Machinery if ( CellChanged == 0 ) if ( GetSoundPlaying "Machinery" == 0 ) PlayLoopSound3DVP "Machinery", 1.0, 1.0 endif endif end
514Sound_mud_bubblesbegin Sound_mud_bubbles if ( CellChanged == 0 ) if ( GetSoundPlaying "mud bubbles" == 0 ) PlayLoopSound3DVP "mud bubbles", 1.0, 1.0 endif endif end
515Sound_Power_lightbegin Sound_Power_light if ( CellChanged == 0 ) if ( GetSoundPlaying "Power Light" == 0 ) PlayLoopSound3DVP "Power Light", 0.5, 1.0 endif endif end
516Sound_Spirit_Whisperbegin Sound_Spirit_Whisper if ( CellChanged == 0 ) if ( GetSoundPlaying "Spirit Ambient Voices" == 0 ) PlayLoopSound3DVP "Spirit Ambient Voices", 1.0, 1.0 endif endif end
517Sound_Steambegin Sound_Steam if ( CellChanged == 0 ) if ( GetSoundPlaying "Steam" == 0 ) PlayLoopSound3DVP "Steam", 0.5, 1.0 endif endif end
518Sound_Water_Spoutbegin Sound_Water_Spout if ( CellChanged == 0 ) if ( GetSoundPlaying "Cave_Waterfall" == 0 ) PlayLoopSound3DVP "Cave_Waterfall", 1.0, 1.0 endif endif end
519SpyMasterScriptBegin SpyMasterScript short gone ;after he has left for the empire short currentDay short localDaysPassed Short NoLore ;blocks discussion of general topics if ( menumode == 1) return endif ;*********************************************************** ; ; check for the one day passed while he looks at info from Vivec informants ; ;*********************************************************** if ( GetJournalIndex "A1_V_VivecInformants" >= 50 ) if ( currentDay != Day ) set currentDay to Day set localDaysPassed to localDaysPassed + 1 endif endif ;*********************************************************** ; ; make him leave ; ;*********************************************************** if ( gone == 0 ) if ( GetJournalIndex "A2_4_MiloGone" >= 1 ) if ( CellChanged == 1 ) "Caius Cosades"->Disable set gone to 1 endif endif endif End
520staadaScriptBegin staadaScript If ( GetJournalIndex "DA_Azura" == 10 ) If ( OnDeath == 1 ) Journal "DA_Azura" 20 endif endif End
521staceyScriptBegin staceyScript ;script on Gentleman Jim Stacey ;local for dialogue which is set if the player puts Enamor and the note in the right chest. ; appended to by BILL, 20010913 short enamorInChest short doneKey short nolore ;don't process when disabled if ( GetDisabled == 1 ) return endif if ( GetJournalIndex TG_KillHardHeart >= 100 ) if ( CellChanged == 1 ) Disable Return ; make him disappear when you're the Master Thief endif else if ( OnDeath == 1 ) if ( doneKey == 0 ) AddItem Skeleton_key 1 ; make him drop the Skeleton key if the player doesn't already have it ; can't be in his inventory, re: pickpocket, lest the player get it twice set doneKey to 1 endif endif endif if ( GetJournalIndex TG_SS_Enamor >= 100 ) return endif if ( "de_p_chest_02salynsaret"->GetItemCount "Glass_Dagger_Enamor" >= 1 ) if ( "de_p_chest_02salynsaret"->GetItemCount "bk_Enamor" >= 1 ) Set enamorInChest to 1 endif endif End
522Startupbegin Startup ;put RUN ONCE stuff here, disable NPCs, etc. short testVar ;for TG_AldruhnDefenses Centurion_Spider_TGA1->Disable Centurion_Spider_TGA2->Disable ;for TG_SadrithMoraDefenses "Natalinus Flavonius"->Disable ;for Ken... "Dreamer Prophet"->Disable "bk_NoteToAmaya"->Disable "Falura Llervu"->Disable "Dreamer_Talker01"->Disable "Dreamer_Talker02"->Disable "Dreamer_Talker03"->Disable "Dreamer_Talker04"->Disable "Dreamer_Talker05"->Disable "Dreamer_Talker06"->Disable "Dreamer_Talker07"->Disable "Dreamer_Talker08"->Disable "Dreamer_Talker09"->Disable "Dreamer_Talker10"->Disable "Dreamer_Talker11"->Disable "Dreamer_Talker12"->Disable "key_Private Quarters"->Disable "Wulf"->Disable "hannat zainsubani"->Disable "dagoth gares"->Disable ;for cavern of incarnate "Ghost_NPC_Ane Teria"->Disable "Ghost_NPC_Conoon Chodal"->Disable "Ghost_NPC_Erur-Dan"->Disable "Ghost_NPC_Hort_Ledd"->Disable "Ghost_NPC_Idrenie Nerot"->Disable "Ghost_NPC_Peakstar"->Disable ;for Ahnissi Romance "Daren Adryn"->Disable ;for HR_OldBlueFin "slaughterfish_hr_sfavd"->Disable ;for HR_FindDalobar "Mathis Dalobar"->Disable ;for HR_FindThedrin "fedris tharen"->Disable ;for HR_GuardSarethi "Arsyn Salas"->Disable "Gragus Lleran"->Disable "Redoran Guard Sarethi1"->Disable "Redoran Guard Sarethi2"->Disable ;for HR_Stronghold "Heniele Milielle"->Disable "Assimusa Samsi"->Disable "Frelene Acques"->Disable ;for HR_ArobarKidnap "nartise arobar"->disable "galmir"->disable ;for Mark's Boethiah shrine "ex_de_scaffold_01_Boe"->Disable "ex_de_scaffold_02_boe"->Disable "misc_com_bucket_boe_UNI"->Disable "ex_de_scaffold_03_boe"->Disable "Ex_DAE_r_platform_01_boe"->Disable "Ex_DAE_Boethiah_fixed"->Disable "duma gro-lag2"->Disable "ugdumph gro-lumbuk"->Disable "lazgar gra-durog"->Disable "dumburz gro-bulfish"->Disable "shulonk gro-azorku"->Disable "golden saint_staada"->Disable "ex_de_scaffold_01a_Boe"->Disable "ex_de_scaffold_02a_boe"->Disable "ex_de_scaffold_02b_boe"->Disable "ex_de_scaffold_02c_boe"->Disable "ex_de_scaffold_03a_boe"->Disable "misc_com_bucket_boe_UNIa"->Disable "misc_com_bucket_boe_UNIb"->Disable "daedroth_menta_unique"->Disable "bk_notefromsondaale"->Disable "sondaale of shimmerene"->Disable ;for Mark's Azura thing "daedroth_az"->Disable "hunger_az_01"->Disable "atronach_flame_az"->Disable "atronach_storm_az"->Disable "hunger_az_02"->Disable "ogrim_az"->Disable ;for Mark's Malacath thing "netch_bull_dead"->Disable "netch_bull_dead_2"->Disable ;for kinder, gentler FG_Nchurdamz daedroth_fg_nchur->Disable "Larienna Macrina"->Disable ;for Sheogorath Quest "Netch_Giant_UNIQUE"->disable ;for Malacath Quest "Farvyn Oreyn"->disable "dreynis nothro"->disable "vala herennius"->disable ;for Mephala "balyn omavel-DEAD"->disable "furn_de_p_chair_02_UNI2"->disable "misc_com_metal_plate_07_UNI2"->disable "ingred_bread_01_UNI2"->disable "misc_com_wood_knife_UNI2"->disable "misc_com_wood_spoon_01_UNI2"->disable "misc_com_wood_fork_UNI2"->disable ;for FG_Vas "Ulyne Henim"->Disable ;for MV_WhiteGuar "ashamanu"->Disable "guar_white_unique"->Disable ;for MG_EscortScholar "tenyeminwe"->Disable "itermerel"->Disable ;for HH_EscortMerchant "tarvyn faren"->Disable ;for HH_GuardMerchant "drarel andus"->Disable ;for HH_Stronghold "Fjorgeir"->Disable ;for HT_BaladasAlly this is his mouth who appears in the council house "Enar Releth"->Disable ;for IL_ProtectEntius "saprius entius"->Disable ;for TT_MinistryHeathen "assantushansar"->Disable ;for Ebonheart/Vivec quests "dwarven ghost_Jeanne_U"->Disable "bk_clientlist"->Disable "corprus_stalker_danar"->Disable "hunger_audenian"->Disable ;for VA_VampHunter "ano vando"->disable ;for fallingGuy "agronian guy"->disable ;for Mark "spell_breaker_unique"->Disable StopScript Startup set testVar to 1 End
523Strong1Begin Strong1 if ( Stronghold > 0 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif End
524Strong1_Completebegin Strong1_Complete if ( Stronghold < 2 ) if ( GetDisabled == 0 ) disable endif else if ( GetDisabled == 1 ) enable endif endif end Strong1_Complete
525Strong1_Constructbegin Strong1_Construct ;enables phase one construction clutter for the stronghold if ( Stronghold == 1 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif end Strong1_Construct
526Strong1_Onlybegin Strong1_Only if ( Stronghold == 2 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif end Strong1_Only
527Strong2Begin Strong2 if ( Stronghold > 2 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif End
528Strong2_Completebegin Strong2_Complete if ( Stronghold < 4 ) if ( GetDisabled == 0 ) disable endif else if ( GetDisabled == 1 ) enable endif endif end Strong2_Complete
529Strong2_Constructbegin Strong2_Construct if ( Stronghold == 3 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif end Strong2_Construct
530Strong2_NotBegin Strong2_Not if ( Stronghold < 3 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif End
531Strong2_Onlybegin Strong2_Only if ( Stronghold == 4 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif end Strong2_Only
532Strong3Begin Strong3 if ( Stronghold > 4 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif End
533Strong3_Completebegin Strong3_Complete if ( Stronghold < 6 ) if ( GetDisabled == 0 ) disable endif else if ( GetDisabled == 1 ) enable endif endif end Strong3_Complete
534Strong3_Constructbegin Strong3_Construct if ( Stronghold == 5 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif end Strong3_Construct
535Strong3_NotBegin Strong3_Not if ( Stronghold < 5 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif End
536strongholdServicesBegin strongholdServices ;script on all the people in your stronghold to give them unique greetings without extra typing short strongService short noLore if ( strongService != 1 ) set strongService to 1 endif if ( Stronghold < 2 ) if ( GetDisabled == 0 ) disable endif else if ( GetDisabled == 1 ) enable endif endif End
537StrongholdWifeTeleportBegin StrongholdWifeTeleport if ( "aryni orethi".agreedWife == 1 ) "aryni orethi"->PositionCell 100 310 -940 260 "Indarys Manor, Raram's House" endif if ( "fathusa girethi".agreedWife == 1 ) "fathusa girethi"->PositionCell -310 20 20 90 "Indarys Manor, Manor Services" endif StopScript StrongholdWifeTeleport End
538strongholdWivesBegin strongholdWives ;just a variable set in dialogue & accessed in scripts short agreedWife End
539StrongSoulCheckBegin StrongSoulCheck short counter ;in Greeting for HT_Stronghold (phase 1) Set "llunela hleran".hasSoul to 0 Set counter to 0 if ( Player->HasSoulGem "atronach_storm" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "atronach_storm" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "atronach_storm_summon" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "atronach_storm_summon" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "atronach_storm_ttmk" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "atronach_storm_ttmk" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "golden saint" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "golden saint" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "golden saint_summon" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "golden saint_summon" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "golden saint_staada" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "golden saint_staada" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "winged twilight" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "winged twilight" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "winged twilight_summon" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "winged twilight_summon" > 0 ) Set counter to ( counter + 1 ) endif if ( Player->HasSoulGem "winged twilight_grunda_" > 1 ) Set counter to ( counter + 2 ) elseif ( Player->HasSoulGem "winged twilight_grunda_" > 0 ) Set counter to ( counter + 1 ) endif if ( counter > 1 ) Set "llunela hleran".hasSoul to 1 endif StopScript StrongSoulCheck End
540StrongSoulRemoveBegin StrongSoulRemove ;called in dialogue for HT_Stronghold (phase 1) short counter Set counter to 2 if ( counter > 0 ) if ( Player->HasSoulGem "atronach_storm" > 0 ) Player->RemoveSoulGem "atronach_storm" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "atronach_storm_summon" > 0 ) Player->RemoveSoulGem "atronach_storm_summon" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "atronach_storm_ttmk" > 0 ) Player->RemoveSoulGem "atronach_storm_ttmk" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "golden saint" > 0 ) Player->RemoveSoulGem "golden saint" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "golden saint_summon" > 0 ) Player->RemoveSoulGem "golden saint_summon" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "golden saint_staada" > 0 ) Player->RemoveSoulGem "golden saint_staada" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "winged twilight" > 0 ) Player->RemoveSoulGem "winged twilight" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "winged twilight_summon" > 0 ) Player->RemoveSoulGem "winged twilight_summon" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "winged twilight_grunda_" > 0 ) Player->RemoveSoulGem "winged twilight_grunda_" 1 Set counter to ( counter - 1 ) endif endif ;do it all again... if ( counter > 0 ) if ( Player->HasSoulGem "atronach_storm" > 0 ) Player->RemoveSoulGem "atronach_storm" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "atronach_storm_summon" > 0 ) Player->RemoveSoulGem "atronach_storm_summon" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "atronach_storm_ttmk" > 0 ) Player->RemoveSoulGem "atronach_storm_ttmk" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "golden saint" > 0 ) Player->RemoveSoulGem "golden saint" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "golden saint_summon" > 0 ) Player->RemoveSoulGem "golden saint_summon" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "golden saint_staada" > 0 ) Player->RemoveSoulGem "golden saint_staada" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "winged twilight" > 0 ) Player->RemoveSoulGem "winged twilight" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "winged twilight_summon" > 0 ) Player->RemoveSoulGem "winged twilight_summon" 1 Set counter to ( counter - 1 ) endif endif if ( counter > 0 ) if ( Player->HasSoulGem "winged twilight_grunda_" > 0 ) Player->RemoveSoulGem "winged twilight_grunda_" 1 Set counter to ( counter - 1 ) endif endif StopScript StrongSoulRemove End
541StrongZeroBegin StrongZero if ( Stronghold == 0 ) if ( GetDisabled == 1 ) enable endif else if ( GetDisabled == 0 ) disable endif endif End
542Strong_Build1_Hbegin Strong_Build1_H short daysPassed short myDay ;when stronghold phase 1 is done, stop if ( Stronghold > 1 ) StopScript Strong_Build1_H Return endif ;when stronghold starts building, store the current day if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif ;if we've already set a day, count the days if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif ;wait x days for the stronghold to be built, give journal, set global ;make sure player is NOT in the cell while the stuff goes "poof" if ( GetPCCell "Odai Plateau" == 0 ) if ( daysPassed > 5 ) Journal HH_Stronghold 100 set Stronghold to 2 endif endif End
543Strong_Build1_Rbegin Strong_Build1_R short daysPassed short myDay ;when stronghold phase 1 is done, stop if ( Stronghold > 1 ) StopScript Strong_Build1_R Return endif ;when stronghold starts building, store the current day if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif ;if we've already set a day, count the days if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif ;wait x days for the stronghold to be built, give journal, set global ;make sure player is NOT in the cell while the stuff goes "poof" if ( GetPCCell "Bal Isra" == 0 ) if ( daysPassed > 5 ) Journal HR_Stronghold 100 set Stronghold to 2 endif endif End
544Strong_Build1_Tbegin Strong_Build1_T short daysPassed short myDay ;when stronghold phase 1 is done, stop if ( Stronghold > 1 ) StopScript Strong_Build1_T Return endif ;when stronghold starts building, store the current day if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif ;if we've already set a day, count the days if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif ;wait x days for the stronghold to be built, give journal, set global if ( GetPCCell "Uvirith's Grave" == 0 ) if ( daysPassed > 5 ) Journal HT_Stronghold 100 set Stronghold to 2 endif endif End
545Strong_Build2_Hbegin Strong_Build2_H short daysPassed short myDay if ( Stronghold > 3 ) StopScript Strong_Build2_H Return endif if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif if ( GetPCCell "Odai Plateau" == 0 ) if ( daysPassed > 5 ) Journal HH_Stronghold 200 set Stronghold to 4 endif endif End
546Strong_Build2_Rbegin Strong_Build2_R short daysPassed short myDay if ( Stronghold > 3 ) StopScript Strong_Build2_R Return endif if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif if ( GetPCCell "Bal Isra" == 0 ) if ( daysPassed > 5 ) Journal HR_Stronghold 200 set Stronghold to 4 endif endif End
547Strong_Build2_Tbegin Strong_Build2_T short daysPassed short myDay if ( Stronghold > 3 ) StopScript Strong_Build2_T Return endif if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif if ( myDay != Day ) set daysPassed to daysPassed + 1 set myDay to Day endif if ( GetPCCell "Uvirith's Grave" == 0 ) if ( daysPassed > 5 ) Journal HT_Stronghold 200 set Stronghold to 4 endif endif End
548Strong_Build3_Hbegin Strong_Build3_H short daysPassed short myDay if ( Stronghold > 5 ) StopScript Strong_Build3_H Return endif if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif if ( GetPCCell "Odai Plateau" == 0 ) if ( daysPassed > 5 ) Journal HH_Stronghold 300 set Stronghold to 6 endif endif End
549Strong_Build3_Rbegin Strong_Build3_R short daysPassed short myDay if ( Stronghold > 5 ) StopScript Strong_Build3_R Return endif if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif if ( GetPCCell "Bal Isra" == 0 ) if ( daysPassed > 5 ) Journal HR_Stronghold 300 set Stronghold to 6 endif endif End
550Strong_Build3_Tbegin Strong_Build3_T short daysPassed short myDay if ( Stronghold > 5 ) StopScript Strong_Build3_T Return endif if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif if ( myDay != Day ) set daysPassed to daysPassed + 1 set myDay to Day endif if ( GetPCCell "Uvirith's Grave" == 0 ) if ( daysPassed > 5 ) Journal HT_Stronghold 300 set Stronghold to 6 endif endif End
551Strong_Build_Start_Hbegin Strong_Build_Start_H short daysPassed short myDay ;global Stronghold ;stop once enough time has passed. if ( Stronghold > 0 ) StopScript Strong_Build_Start_H Return endif ;when stronghold starts building, store the current day if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif ;if we've already set a day, count the days if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif ;wait x days for the stronghold to be built, give journal, set global ;make sure player is NOT in the cell while the stuff goes "poof" if ( GetPCCell "Odai Plateau" == 0 ) if ( daysPassed > 5 ) Journal HH_Stronghold 55 set Stronghold to 1 endif endif End
552Strong_Build_Start_Rbegin Strong_Build_Start_R short daysPassed short myDay ;global Stronghold ;stop once enough time has passed. if ( Stronghold > 0 ) StopScript Strong_Build_Start_R Return endif ;when stronghold starts building, store the current day if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif ;if we've already set a day, count the days if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif ;wait x days for the stronghold to be built, give journal, set global ;make sure player is NOT in the cell while the stuff goes "poof" if ( GetPCCell "Bal Isra" == 0 ) if ( daysPassed > 5 ) Journal HR_Stronghold 55 set Stronghold to 1 endif endif End
553Strong_Build_Start_Tbegin Strong_Build_Start_T short daysPassed short myDay ;global Stronghold ;stop once enough time has passed. if ( Stronghold > 0 ) StopScript Strong_Build_Start_T Return endif ;when stronghold starts building, store the current day if ( daysPassed == 0 ) set myDay to Day set daysPassed to 1 endif ;if we've already set a day, count the days if ( myDay != Day ) ;presumably it went up... set daysPassed to daysPassed + 1 set myDay to Day endif ;wait x days for the stronghold to be built, give journal, set global ;make sure player is NOT in the cell while the stuff goes "poof" if ( GetPCCell "Uvirith's Grave" == 0 ) if ( daysPassed > 5 ) Journal HT_Stronghold 55 set Stronghold to 1 endif endif End
554strong_foremanBegin strong_foreman if ( CellChanged == 0 ) Return endif if ( Stronghold <= 0 ) Disable endif if ( Stronghold == 1 ) Enable endif if ( Stronghold == 2 ) Disable endif if ( Stronghold == 3 ) Enable endif if ( Stronghold == 4 ) Disable endif if ( Stronghold == 5 ) Enable endif if ( Stronghold >= 6 ) Disable endif End
555sulMatuulNoLorebegin sulMatuulNoLore Short NoLore if ( OnDeath == 1 ) Journal B1_UrshilakuKill 1 Journal B8_Failed_Nerevarine 1 endif end
556talosTraitorScriptBegin talosTraitorScript short doOnce if ( doOnce == 1 ) Return endif if ( Player->GetItemCount "bk_TalosTreason" >= 1 ) SetFight 100 SetDisposition 0 Set doOnce to 1 endif End talosTraitorScript
557tarvynFollowBegin tarvynFollow short noLore short followNow short distanceCheck float timer ;global NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex HH_EscortMerchant >= 70 ) Return endif if ( GetJournalIndex HH_EscortMerchant < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetAIPackageDone == 1 ) ;original conditions, and in case something funky happens... Journal HH_EscortMerchant 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\M\Flw_DM004.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetPCCell "Pelagiad, Halfway Tavern" == 1 ) ;since the above method may not actually work... Journal HH_EscortMerchant 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\M\Flw_DM004.mp3" "Thank you." SetHello 30 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\D\M\Flw_DM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
558telaseroDisableBegin telaseroDisable short telenable short nolore if ( telenable == -1 ) return endif if ( GetJournalIndex FG_Telasero < 10 ) if ( GetDisabled == 0 ) Disable endif Return endif if ( GetJournalIndex FG_Telasero >= 10 ) if ( GetDisabled == 1 ) Enable set telenable to -1 endif endif End telaseroDisable
559TeleportTanuseabegin TeleportTanusea ;teleports Tanusea after TT_DiseaseCarrier when the player isn't looking. if ( GetPCCell "Vivec" == 1 ) Return endif PositionCell 4733 3911 14328 0 "Tower of Tel Fyr, Hall of Fyr" StopScript TeleportTanusea End
560TelvanniCouncilorBegin TelvanniCouncilor short noLore if ( OnDeath == 1 ) Set TelvanniDead to ( TelvanniDead + 1 ) endif End
561TelVosTeleport1begin TelVosTeleport1 if ( MenuMode == 1) return endif if ( OnActivate == 1 ) Position 561, 1462, 16128, 0 endif End TelVosTeleport1
562TelVosTeleport2begin TelVosTeleport2 if ( MenuMode == 1) return endif if ( OnActivate == 1 ) Position 559, 1745, 16128, 180 endif End TelVosTeleport2
563templeStewardsBegin templeStewards ;script all all TEMPLE questgivers. Checks if player has completed seven graces. ;if so, sets local completedGraces used in dialogue. ;run only on cell change short completedGraces if ( CellChanged == 0 ) Return endif if ( completedGraces == 1 ) Return endif if ( GetJournalIndex TT_FieldsKummu < 100 ) Return endif if ( GetJournalIndex TT_Ghostgate < 100 ) Return endif if ( GetJournalIndex TT_MaskVivec < 100 ) Return endif if ( GetJournalIndex TT_PalaceVivec < 100 ) Return endif if ( GetJournalIndex TT_PuzzleCanal < 100 ) Return endif if ( GetJournalIndex TT_RuddyMan < 100 ) Return endif if ( GetJournalIndex TT_StopMoon < 100 ) Return endif Set completedGraces to 1 End
564tenisiScriptBegin tenisiScript ;for HH_BankFraud short givenOrders End
565tenyeminweFollowBegin tenyeminweFollow short noLore short followNow short distanceCheck float timer ;global short NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex MG_EscortScholar1 >= 70 ) Return endif if ( GetJournalIndex MG_EscortScholar1 < 10 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue set followNow to 1 SetHello 0 if ( GetAiPackageDone == 1 ) set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Journal MG_EscortScholar1 70 Say "Vo\H\F\Flw_HF003.mp3" "Thank you." SetHello 30 endif if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetDistance "Gals Arethi" < 600 ) set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Journal MG_EscortScholar1 70 Say "Vo\H\F\Flw_HF003.mp3" "Thank you." SetHello 30 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\H\F\Flw_HF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
566teresArothanScriptBegin teresArothanScript short noLore short followNow short distanceCheck float timer short once ;global short NPCVoiceDistance ;local to tell if NPC is currently following or not for dialogue. if ( MenuMode == 1 ) return endif if ( GetJournalIndex FG_DissaplaMine >= 70 ) ;no need to check if the escort is done return endif if ( GetJournalIndex FG_DissaplaMine < 50 ) ;no need to check if the escort hasn't started return endif if ( GetHealth <= 0 ) ;if he's dead... return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetDistance "Novor Drethan" < 512 ) ;if Teres arrives, give player journal ;set followNow and replace Follow AI Package Say "Vo\D\M\Flw_DM004.mp3" "Thank you." Journal FG_DissaplaMine 70 set followNow to 0 AiWander 128 0 0 40 20 20 0 0 0 0 0 0 SetHello 30 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\D\M\Flw_DM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
567terisBegin teris short invivec short state short nolore if ( MenuMode == 1 ) Return endif if ( state == -1 ) return endif if ( GetJournalIndex "MV_RichTrader" >= 100 ) if ( GetJournalIndex "MV_RichTrader" <=105 ) Return ;Do nothing if the quest is over endif endif if ( GetJournalIndex "MV_RichTrader" < 10 ) Return ;Do nothing if the quest hasn't begun endif if ( GetCurrentAiPackage != 3 ) return endif if ( OnDeath == 1 ) Journal "MV_RichTrader" 110 Return ;sets journal when he dies. endif If ( GetPCCell, "Vivec" == 1 ) if ( invivec == 0 ) set invivec to 1 Journal "MV_RichTrader" 80 ForceGreeting "guar_rollie_unique"->AiWander 128,0,0,60,30,10,0,0,0,0,0,0 set invivec to -1 endif endif if ( state == 0 ) if ( GetDistance, "In_velothismall_ndoor_Agrippina" <= 512 ) Journal "MV_RichTrader" 90 ForceGreeting AiWander 0,0,0,60,30,10,0,0,0,0,0,0 set state to -1 endif endif ;sets journal when he gets near his destination end
568TestMakePCVampirebegin TestMakePCVampire if ( OnActivate == 1 ) StartScript Vampire_Aundae_PC endif end TestMakePCVampire
569testPlayerStatsbegin testPlayerStats if ( OnActivate == 1 ) PlaySound "ThunderClap" MessageBox, "Setting Stats for testing, giving gold, etc." ;make sure these scripts are running StartScript Startup StartScript VampireCheck ;stats player->sethealth 10000 player->setlongblade 50 player->setblock 50 player->setmarksman 50 player->setspeed 100 player->setathletics 100 player->setalchemy 50 player->setenchant 50 player->setdestruction 30 player->setalteration 30 player->setillusion 30 player->setconjuration 90 player->setmysticism 30 player->setrestoration 30 player->setstrength 100 player->setmagicka 1000 ;items player->additem "gold_001" 10000 player->additem "steel longbow" 1 player->additem "steel crossbow" 1 player->additem "steel arrow" 100 player->additem "steel bolt" 100 player->additem "steel dart" 100 player->additem "steel throwing star" 100 player->additem "steel throwing knife" 100 player->additem "steel longsword" 1 player->additem "steel_shield" 1 player->additem "p_cure_common_s" 2 ;magic player->addspell "moonshadow" player->addspell "beggar's nose spell" player->addspell "vampire blood berne" player->addspell "cure common disease" player->addspell "fire bite" player->addspell "fire storm" player->addspell "fire shield" player->addspell "fireball" player->addspell "command creature" player->addspell "command humanoid" player->addspell "bound longsword" player->addspell "summon hunger" endif end
570TestRefRotatebegin TestRefRotate float timer short on if ( MenuMode == 0 ) if ( OnActivate == 1) if ( on == 0 ) set on to 1 endif endif if ( on == 1 ) if ( timer < 5 ) Todd->rotate, z, 45 ;using Todd as my referenced object for testing set timer to ( timer + GetSecondsPassed ) else ;reset everything set timer to 0 set on to 0 endif endif endif end
571TestRotatebegin TestRotate short goNuts float timer ; RotateWorld z, 10 ; MoveWorld y, 100 if ( MenuMode == 0 ) if ( GetDistance, Player > 200 ) if ( goNuts == 0 ) set goNuts to 1 endif elseif ( goNuts != 1 ) Rotate z, 360 Rotate x, 360 endif if ( goNuts == 1 ) if ( timer < 10 ) Rotate x, 360 Rotate z, 360 set timer to ( timer + GetSecondsPassed ) else set timer to 0 set goNuts to 0 endif endif endif end TestRotate
572TestRotateSlowbegin TestRotateSlow if ( MenuMode == 0) rotate y, 30 endif end TestRotate
573Test_AddSanguineBegin Test_AddSanguine Player->AddItem sanguinebeltbalancedarmor 1 Player->AddItem sanguinebeltdeepbiting 1 Player->AddItem sanguinebeltdenial 1 Player->AddItem sanguinebeltfleetness 1 Player->AddItem sanguineringfluidevasion 1 Player->AddItem sanguineamuletglibspeech 1 Player->AddItem sanguineringgoldenw 1 Player->AddItem sanguineringgreenw 1 Player->AddItem sanguinebelthewing 1 Player->AddItem sanguinerglovehornyfist 1 Player->AddItem sanguinebeltimpaling 1 Player->AddItem sanguineshoesleaping 1 Player->AddItem sanguinebeltmartialcraft 1 Player->AddItem sanguineamuletnimblearmor 1 Player->AddItem sanguineringredw 1 Player->AddItem sanguinelglovesafekeeping 1 Player->AddItem sanguineringsilverw 1 Player->AddItem sanguinebeltsmiting 1 Player->AddItem sanguineshoesstalking 1 Player->AddItem sanguinebeltstolidarmor 1 Player->AddItem sanguineringsublimew 1 Player->AddItem sanguinebeltsureflight 1 Player->AddItem sanguinergloveswiftblade 1 Player->AddItem sanguineringtranscendw 1 Player->AddItem sanguineringtransfigurw 1 Player->AddItem sanguineringunseenw 1 StopScript Test_AddSanguine End
574TGDiscountScriptBegin TGDiscountScript float discount set discount to CrimeGoldDiscount MessageBox "1. Discount set to CrimeGoldDiscount %.0f" discount SetPCCrimeLevel discount MessageBox "2. PCCrimeLevel set to discount, discount should still be %.0f" discount Player->RemoveItem Gold_001 GetPCCrimeLevel Set discount to GetPCCrimeLevel MessageBox "3. discount set back to new GetPCCrimeLevel, %.0f" discount SetPCCrimeLevel 0 PayFine StopScript TGDiscountScript End TGDiscountScript
575TG_LootMGBegin TG_LootMG "Erranil"->Disable "Movis Darys"->Disable "Edwinna Elbert"->Disable "Tremona Maren"->Disable "Vala Catraso"->Disable "Tanar Llervi"->Disable "Orrent Geontene"->Disable "Heem_La"->Disable "Anarenen"->Disable stopScript TG_LootMG End
576TG_LootMG2Begin TG_LootMG2 "Erranil"->Enable "Movis Darys"->Enable "Edwinna Elbert"->Enable "Tremona Maren"->Enable "Vala Catraso"->Enable "Tanar Llervi"->Enable "Orrent Geontene"->Enable "Heem_La"->Enable "Anarenen"->Enable StopScript TG_LootMG2 End
577theranaSkirtScriptBegin theranaSkirtScript short OnPCEquip if ( OnPCEquip == 1 ) Set "Therana".wearingClothes to 1 else Set "Therana".wearingClothes to 0 endif End
578ThiefTraderScriptBegin ThiefTraderScript short PCvisit if ( GetJournalIndex MV_ThiefTrader >= 100 ) StopScript ThiefTraderScript Return endif if ( PCvisit == -1 ) PlaceAtPC "Lucan Ostorius" 1 512 1 "Lucan Ostorius"->SetFight 100 StopScript ThiefTraderScript endif if ( PCvisit == 0 ) if ( GetPCCell "Ald'ruhn" == 1 ) Set PCvisit to 1 endif Return endif if ( Player->GetDistance Ex_redwall_post_UNIQUE >= 64000 ) ;if the player has been there AND is far from Ald'ruhn... "Lucan Ostorius"->Disable Set PCvisit to -1 ;this little trick keeps him from being disabled and placed-at-pc in the same frame ;hopefully this works... kludgy. endif End
579TopicsWebspinnerBegin TopicsWebspinner Player->AddTopic "Sanguine Balanced Armor" Player->AddTopic "Sanguine Deep Biting" Player->AddTopic "Sanguine Denial" Player->AddTopic "Sanguine Enterprise" Player->AddTopic "Sanguine Fleetness" Player->AddTopic "Sanguine Fluid Evasion" Player->AddTopic "Sanguine Glib Speech" Player->AddTopic "Sanguine Golden Wisdom" Player->AddTopic "Sanguine Green Wisdom" Player->AddTopic "Sanguine Hewing" Player->AddTopic "Sanguine Horny Fist" Player->AddTopic "Sanguine Impaling Thrust" Player->AddTopic "Sanguine Leaping" Player->AddTopic "Sanguine Martial Craft" Player->AddTopic "Sanguine Nimble Armor" Player->AddTopic "Sanguine Red Wisdom" Player->AddTopic "Sanguine Safekeeping" Player->AddTopic "Sanguine Silver Wisdom" Player->AddTopic "Sanguine Smiting" Player->AddTopic "Sanguine Stalking" Player->AddTopic "Sanguine Stolid Armor" Player->AddTopic "Sanguine Sublime Wisdom" Player->AddTopic "Sanguine Sureflight" Player->AddTopic "Sanguine Swiftblade" Player->AddTopic "Sanguine Transcendence" Player->AddTopic "Sanguine Transfiguring" Player->AddTopic "Sanguine Unseen Wisdom" StopScript TopicsWebspinner End
580treboniusScriptBegin 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" Journal MG_Guildmaster 100 endif End
581treestumpScriptBegin treestumpScript short setonce if ( OnActivate == 0 ) return endif if ( GetJournalIndex "MS_Lookout" >= 20 ) if ( GetJournalIndex "MS_Lookout" < 40 ) if ( fargothwalk >= 2 ) if ( setonce == 0 ) Journal "MS_Lookout" 40 set setonce to -1 endif endif endif endif Activate End treestumpScript
582tulScriptBegin tulScript short nolore if ( GetJournalIndex "MV_FakeSlave" < 10 ) return endif if ( OnDeath == 1 ) if ( GetJournalIndex "MV_FakeSlave" <= 50 ) Journal "MV_FakeSlave" 90 endif if ( GetJournalIndex "MV_FakeSlave" >= 60 ) if ( GetJournalIndex "MV_FakeSlave" < 80 ) Journal "MV_FakeSlave" 80 Sterdecan->StopCombat Tul endif endif endif if ( GetDistance "Sterdecan" <= 512 ) if ( GetJournalIndex "MV_FakeSlave" < 60 ) AiWander 512,0,0,60,30,10,0,0,0,0,0,0 Journal "MV_FakeSlave" 60 ForceGreeting endif endif end
583UleniDeadbegin UleniDead if ( OnDeath == 1 ) disable "Gateway_haunt" endif end
584ulyneFollowbegin ulyneFollow short noLore short followNow short distanceCheck float timer if ( MenuMode == 1 ) return endif if ( GetJournalIndex FG_Vas >= 80 ) return endif if ( GetJournalIndex FG_Vas < 50 ) return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetDeadCount "Daris Adram" > 0 ) ;if the Necromancer is dead, give the player feedback journal, reset followNow, and give Wander package Journal FG_Vas 70 Set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 ForceGreeting SetHello 30 endif if ( timer < 2 ) 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\D\F\Flw_DF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero Set followNow to 0 endif End
585unemployedMinersBegin unemployedMiners ;for HH_Stronghold short hiredMiner End
586UrshilakuKillbegin UrshilakuKill if ( OnDeath == 1 ) Journal B1_UrshilakuKill 1 endif end
587UseTestbegin UseTest ;Commented out by Doug -- was not compiling & causing dialogue crashes... ;short rotate ;if ( UsedOnMe, Misc_pot_redware_01 ) ; if ( rotate == 0 ) ; MessageBox, "The Pot was used on me, I'll spin around now" ; set rotate to 1 ; else ; MessageBox, "The Pot was used on me, I'll STOP spinning now" ; set rotate to 0 ; endif ;endif ; ;if ( MenuMode == 0 ) ; if ( rotate == 1 ) ; rotate, z, 45 ; endif ;endif ; end UseTest
588uupse_BagrumBegin uupse_Bagrum short doOnce if ( doOnce == 0 ) if ( "yagrum bagarn"->GetAttacked == 1 ) StartCombat player SetFight 90 SetDisposition 0 set doOnce to 1 endif endif end uupse_Bagrum
589vabdasGhostScriptBegin vabdasGhostScript if ( menumode == 1 ) return endif ; talk to player if story has not been told if ( GetDistance, Player <= 500 ) if ( GetJournalIndex IL_WidowLand < 50 ) ForceGreeting endif endif if ( GetJournalIndex IL_WidowLand >= 100 ) if ( GetDisabled == 0 ) Disable endif endif End
590vampcureScriptBegin vampcureScript if ( GetJournalIndex "MS_VampireCure" == 30 ) disable stopscript vampcureScript endif End vampcureScript
591vampdreamScriptBegin vampdreamScript short randdream short sleephealth short wakehealth short vamphealth short healthmod short gothealth if ( gothealth == 0 ) If ( PCVampire == 1 ) If ( GetPCSleep == 1 ) set sleephealth to ( player->GetHealth ) set gothealth to 1 set randdream to Random 100 endif endif endif if ( gothealth ==1 ) if ( GetPCSleep != 1 ) set wakehealth to ( player->GetHealth ) set healthmod to (( wakehealth - sleephealth ) * -1.0 ) set gothealth to 2 endif endif if ( gothealth == 2 ) if ( wakehealth > sleephealth ) Player->ModCurrentHealth healthmod set gothealth to 3 elseif ( wakehealth <= sleephealth ) set gothealth to 3 endif endif if ( gothealth == 3 ) if ( randdream <= 10 ) MessageBox "You dream of long days spent basking in the sunlight of your native lands. You feel the warmth and the heat, and feel your body become refreshed. Then you awaken, knowing it was but a dream.", "OK" set gothealth to 4 elseif ( randdream <= 20 ) MessageBox "In your dream, you see a beautiful young Dunmer woman holding an infant to her breast. It is only as you draw near that you realize that the woman is a desiccated corpse and the child is purple and bloated, dying of plague. As mother and child crumble to dust, you awaken.", "OK" set gothealth to 4 elseif ( randdream <= 30 ) MessageBox "In your dream, an old Ashlander wise-woman treats you for burns on your hands. As she applies a salve to your skin, you feel the tingle of magic as the pain begins to subside. But as you watch, the flesh of your hands begins to bubble, crack, and split, falling in chunks to the floor of her yurt. As the wise-woman smiles, you wake up.", "OK" set gothealth to 4 elseif ( randdream <= 40 ) MessageBox "In a dream from your childhood you remember playing hiding games with your young friends on a warm summer afternoon. You hide in your parents� barn, sure you will not be found. Soon, the sweet smell of hay is replaced by a darker, sickly smell. You move deeper into the barn, only to stumble on the rotting corpses of your parents, their throats ripped out. You try to scream as your parents rise and pull you into an embrace.", "OK" set gothealth to 4 elseif ( randdream <= 50 ) MessageBox "You dream of a sumptuous banquet spread out before you. You feast on a particularly choice cut of roasted meat, and its aroma makes your mouth water. It is only as you cut into the last portion that you see the scrib larvae squirming inside. You cough blood as the larvae begin eating their way out of your stomach.", "OK" set gothealth to 4 elseif ( randdream <= 60 ) MessageBox "You lay on your back, with a blissful feeling of peace swirling through your brain. Your every muscle is relaxed. There is no tension in any part of your body. You feel completely at ease. As your vision comes into focus, you notice others standing around you. As a man leans towards you, you recognize the robes of the Telvanni mage, and you see a glint of light from his scalpel as it begins to cut through your flesh.", "OK" set gothealth to 4 elseif ( randdream <= 70 ) MessageBox "A warm, gentle breeze causes a tickle on your face, but as you go to brush it off, you find you cannot move your arms. Looking at your skin, you realize that it has turned to a brittle, green glass. Standing perfectly still, you breathe in shallow gulps of air, knowing that moving would cause your skin to shatter into thousands of pieces. The tickle on your face worsens, and you know that you are about to sneeze. As your skin shatters, you wake up sweating.", "OK" set gothealth to 4 elseif ( randdream <= 80 ) MessageBox "In your dream, you open your eyes to a beautiful blue sky. The sun is bright, but you feel cool, even a bit damp. You draw a breath but begin to cough, as you expel blood and dirt that you�ve inhaled into your lungs. As you try to draw another, you see a shovel of dirt being emptied onto your face. The sunlight grows fainter as you view it through the soil that covers your body. You would scream, but your mouth fills with dirt before you can make a sound.", "OK" set gothealth to 4 elseif ( randdream <= 90 ) MessageBox "In your dream, you approach a vampire ancient. Having just completed a perilous task for him, you swell with pride, sure that he will now bestow even greater power upon you. The entire clan�s eyes are upon you. Walking towards the dais where he stands, you realize that your task for him is actually unfinished, and that all of your vampiric powers have left you. You cry out as the clan descends upon you, and the ancient�s fangs rip into the flesh of your throat.", "OK" set gothealth to 4 elseif ( randdream <= 100 ) MessageBox "You dream of walking through the cool night air. Your body cries for blood, having not fed for days. Weakly, you stumble to a small pool. As you bend down to it, you see that it is not water in the pool, but warm, fresh blood, steam rising off of it. You lower your head to drink, but cannot open your mouth. As you realize in horror that your lips have been sewn shut, a pair of cold, white hands reach out from the pool and draw you under.", "OK" set gothealth to 4 endif endif if ( gothealth == 4 ) set gothealth to 0 endif End vampdreamScript
592VampireCheckbegin VampireCheck ;this is a global scritp that constantly runs checking for the blood disease that causes vampirism ;there are three blood diseases that cause this. You can only get one. ;So if you have one, or are a vampire, then the new one is removed. ;this script will check if you have the disease, then wait till the 3rd day, see if you still have it, then make you a vampire short currentDay short dayCount short hasDisease short state ;PCVampire, 0 = Normal, 1 = Vampire, -1 = Cured if ( state == -1 ) return endif if ( state == 10 ) MessageBox "I dreamt of a blond maiden. I drew near, and saw she was crying, but her tears were red as blood. I touched her tears and tasted them, and they were wonderfully salty, sharp with spice and savor. But the maiden's face had changed, her skin grey-white, and red tears dripped from her lips, and her hair had turned black, and wreathed her head like twining snakes. I was afraid, but could not run. I screamed, and then I woke, heart pounding, cramped and aching.", "Ok" set state to -1 ;check which one they have and give the goods. if ( player->GetSpell "Vampire Blood Quarra" == 1 ) StartScript Vampire_Quarra_PC elseif ( player->GetSpell "Vampire Blood Aundae" == 1 ) StartScript Vampire_Aundae_PC elseif ( player->GetSpell "Vampire Blood Berne" == 1 ) StartScript Vampire_Berne_PC endif return endif if ( PCVampire != 0 ) stopscript VampireCheck ;stop this script if they become a vampire return endif if ( player->GetSpell "Vampire Blood Quarra" == 1 ) if ( hasDisease == 0 ) set hasDisease to 1 set currentDay to Day endif elseif ( player->GetSpell "Vampire Blood Aundae" == 1 ) if ( hasDisease == 0 ) set hasDisease to 1 set currentDay to Day endif elseif ( player->GetSpell "Vampire Blood Berne" == 1 ) if ( hasDisease == 0 ) set hasDisease to 1 set currentDay to Day endif else if ( hasDisease == 1 ) ;they had it at one point, but don't anymore set hasDisease to 0 set currentDay to 0 set dayCount to 0 endif endif if ( hasDisease == 1 ) ;has disease will get set back to 0 before here if they cured it if ( currentDay != day ) ;the day has changed, so up the count set dayCount to dayCount + 1 set currentDay to Day endif if ( dayCount >= 3 ) ;goes over 3 days if ( GetPCSleep == 1 ) wakeupPC set state to 10 endif endif endif end VampireCheck
593VampireMolagBegin VampireMolag short talk short state if ( MenuMode == 1 ) Return endif if ( OnActivate == 1 ) ;doug's temple quest hacked in here... if ( GetJournalIndex TT_AldSotha >= 100 ) if ( GetJournalIndex TT_DagonFel >= 100 ) if ( GetJournalIndex TT_BalUr < 100 ) Cast "Shrine_BalUr2_SP" Player Player->AddSpell "Shrine_BalUr_SP" MessageBox "Once like a Great House founded on sand, Stood our Temple whose pillars on troubles were based. Now mischievous spirits, bound, in dim corners stand, Rotted columns, but with iron-bound bands embraced. Cracked, crumbling marble, tempered on every hand, By strong steel forged in fire and faith. Shackled, these wayward servants serve the land, The Temple secured by the Builder's grace." Journal TT_BalUr 100 Player->ModReputation 1 Return endif endif endif set talk to 1 endif if ( talk == 1 ) if ( GetJournalIndex "MS_VampireCure" < 30 ) if ( PCVampire != 0 ) if ( State == 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\MS_VampireMolag1.wav", "So, you do not enjoy the blood hunger, little leech? Do you miss the warmth of the sun? I can obtain the cure for you, but you will help me first. You will find my daughter, Molag Grunda, in the dungeon Dubdilla below Mt. Assarnibibi. There she hides with her consort, the lowly atronach Nomeg Gwai. She believes hiding in a sorcerer's cave will shield her from my eyes. Foolish girl!" set state to 10 endif elseif ( State == 10 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\MS_VampireMolag2.wav", "I ordered her not to associate with these animals. I told her what the penalty would be for her disobediance! Yet she continues to defy me! Willful beast! I cannot have this. Find her, mortal. Kill her and the atronach, so I may deal with them in the Outer Realms. When this is done, return to me, and I will rid you of your unlife. Take care, mortal, for she is powerful. She is still a daughter of Molag Bal." set state to 20 endif elseif ( State == 20 ) if ( Player->SayDone == 1 ) Journal "MS_VampireCure", 30 ;give journal entry set talk to 0 set state to 0 endif endif endif elseif ( GetJournalIndex "MS_VampireCure" == 40 ) if ( PCVampire != 0 ) if ( Player->SayDone == 1 ) Player->Say "Vo\Misc\MS_VampireMolag3.wav","I see you have done as I asked, little vampire. It was not easy for me to obtain the cure, but I was able to pry it from Vaermina after some...discussion. You have earned it. Now I have eternity to punish my daughter for her defiance. Your curse is lifted. Yet...I wonder, will you miss the taste of blood on your lips? When you sleep, will you taste the salt and copper flowing over your tongue? Go, mortal. Bask in your precious sunlight." Journal "MS_VampireCure" 50 StartScript "Vampire_Cure_PC" set talk to 0 endif endif endif endif endif End
594Vampire_Aundaebegin Vampire_Aundae short done short fightset short cattlekilled short nolore short nohello short noflee short noidle short nointruder short nothief if ( GetJournalIndex "VA_VampHunter" == 110 ) setFight 100 setDisposition 0 set cattlekilled to -1 return endif if ( OnDeath == 1 ) if ( GetJournalIndex "VA_VampCountess" == 50 ) if ( VampClan == 1 ) set VampKills to ( VampKills - 1 ) elseif ( VampClan == 2 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 3 ) set VampKills to ( VampKills + 1 ) endif elseif ( GetJournalIndex "VA_VampAmulet" == 30 ) if ( VampClan == 1 ) set VampKills to ( VampKills - 1 ) elseif ( VampClan == 2 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 3 ) set VampKills to ( VampKills + 1 ) endif endif AddItem "ingred_vampire_dust_01" 1 endif if ( done == -1 ) return endif if ( done == 2 ) ;check for PC NO LONGER a Aundae Vampire if ( player->GetSpell "Vampire Aundae Specials" != 1 ) setfight 90 setdisposition 20 set done to -1 endif endif if ( done == 1 ) ;check for PC as a Aundae Vampire if ( player->GetSpell "Vampire Aundae Specials" == 1 ) setfight 30 set done to 2 elseif ( player->GetSpell "Vampire Aundae Specials" != 1 ) if ( fightset == 0 ) setfight 90 setdisposition 20 set fightset to 1 endif endif return endif if ( done == 0 ) AddSpell, "Vampire Blood Aundae" ;this is the blood disease AddSpell, "Vampire Attributes" AddSpell, "Vampire Skills" AddSpell, "Vampire Immunities" AddSpell, "Vampire Sun Damage" AddSpell, "Vampire Touch" AddSpell, "Vampire Aundae Specials" ModRestoration 75 set done to 1 endif end Vampire_Aundae
595Vampire_Aundae_PCbegin Vampire_Aundae_PC if ( PCVampire != 0 ) ;return if PC is not normal, 1 = Vampire, -1 = Cured StopScript Vampire_Aundae_PC return endif Player->RemoveSpell, "Vampire Blood Aundae" Player->AddSpell, "Vampire Attributes" Player->AddSpell, "Vampire Skills" Player->AddSpell, "Vampire Immunities" Player->AddSpell, "Vampire Sun Damage" Player->AddSpell, "Vampire Touch" Player->AddSpell, "Vampire Aundae Specials" ;MessageBox "SPELLS ADDED" set PCVampire to 1 ;MessageBox "PCVAMPIRE SET TO 1" set VampClan to 1 ;MessageBox "VAMPCLAN SET TO 1" StartScript vampdreamScript StopScript Vampire_Aundae_PC end Vampire_Aundae_PC
596Vampire_Bernebegin Vampire_Berne short done short fightset short cattlekilled short nolore short nohello short noflee short noidle short nointruder short nothief if ( GetJournalIndex "VA_VampCountess" == 70 ) setFight 100 setDisposition 0 set cattlekilled to -1 return endif if ( OnDeath == 1 ) if ( GetJournalIndex "VA_VampHunter" == 90 ) if ( VampClan == 1 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 2 ) set VampKills to ( VampKills - 1 ) elseif ( VampClan == 3 ) set VampKills to ( VampKills + 1 ) endif elseif ( GetJournalIndex "VA_VampAmulet" == 30 ) if ( VampClan == 1 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 2 ) set VampKills to ( VampKills - 1 ) elseif ( VampClan == 3 ) set VampKills to ( VampKills + 1 ) endif endif AddItem "ingred_vampire_dust_01" 1 endif if ( done == -1 ) return endif if ( done == 2 ) ;check for PC NO LONGER a Berne Vampire if ( player->GetSpell "Vampire Berne Specials" != 1 ) setfight 90 setdisposition 20 set done to -1 endif endif if ( done == 1 ) ;check for PC as a Berne Vampire if ( player->GetSpell "Vampire Berne Specials" == 1 ) setfight 30 set done to 2 elseif ( player->GetSpell "Vampire Berne Specials" != 1 ) if ( fightset == 0 ) setfight 90 setdisposition 20 set fightset to 1 endif endif return endif if ( done == 0 ) AddSpell, "Vampire Blood Berne" ;this is the blood disease AddSpell, "Vampire Attributes" AddSpell, "Vampire Skills" AddSpell, "Vampire Immunities" AddSpell, "Vampire Sun Damage" AddSpell, "Vampire Touch" AddSpell, "Vampire Berne Specials" ModRestoration 75 set done to 1 endif end Vampire_Berne
597Vampire_Berne_PCbegin Vampire_Berne_PC if ( PCVampire != 0 ) ;return if PC is not normal, 1 = Vampire, -1 = Cured StopScript Vampire_Berne_PC return endif Player->RemoveSpell, "Vampire Blood Berne" Player->AddSpell, "Vampire Attributes" Player->AddSpell, "Vampire Skills" Player->AddSpell, "Vampire Immunities" Player->AddSpell, "Vampire Sun Damage" Player->AddSpell, "Vampire Touch" Player->AddSpell, "Vampire Berne Specials" set PCVampire to 1 set VampClan to 2 StartScript vampdreamScript StopScript Vampire_Berne_PC end Vampire_Berne_PC
598Vampire_Cure_PCbegin Vampire_Cure_PC if ( PCVampire != 1 ) StopScript Vampire_Cure_PC return endif Player->RemoveSpell, "Vampire Attributes" Player->RemoveSpell, "Vampire Skills" Player->RemoveSpell, "Vampire Immunities" Player->RemoveSpell, "Vampire Sun Damage" Player->RemoveSpell, "Vampire Touch" Player->RemoveSpell, "Vampire Aundae Specials" Player->RemoveSpell, "Vampire Berne Specials" Player->RemoveSpell, "Vampire Quarra Specials" set PCVampire to -1 ; -1 means that he has been cured, can no longer become vampire set VampClan to -1 StopScript vampdreamScript StopScript Vampire_Cure_PC end Vampire_Cure_PC
599Vampire_Quarrabegin Vampire_Quarra short done short fightset short cattlekilled short nolore short nohello short noflee short noidle short nointruder short nothief if ( GetJournalIndex "VA_VampAmulet" == 50 ) setFight 100 setDisposition 0 set cattlekilled to -1 return endif if ( OnDeath == 1 ) if ( GetJournalIndex "VA_VampCountess" == 50 ) if ( VampClan == 1 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 2 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 3 ) set VampKills to ( VampKills - 1 ) endif elseif ( GetJournalIndex "VA_VampHunter" == 90 ) if ( VampClan == 1 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 2 ) set VampKills to ( VampKills + 1 ) elseif ( VampClan == 3 ) set VampKills to ( VampKills - 1 ) endif endif AddItem "ingred_vampire_dust_01" 1 endif if ( done == -1 ) return endif if ( done == 2 ) ;check for PC NO LONGER a Quarra Vampire if ( player->GetSpell "Vampire Quarra Specials" != 1 ) setfight 90 setdisposition 20 set done to -1 endif endif if ( done == 1 ) ;check for PC as a Quarra Vampire if ( player->GetSpell "Vampire Quarra Specials" == 1 ) setfight 30 set done to 2 elseif ( player->GetSpell "Vampire Quarra Specials" != 1 ) if ( fightset == 0 ) setfight 90 setdisposition 20 set fightset to 1 endif endif return endif if ( done == 0 ) AddSpell, "Vampire Blood Quarra" ;this is the blood disease AddSpell, "Vampire Attributes" AddSpell, "Vampire Skills" AddSpell, "Vampire Immunities" AddSpell, "Vampire Sun Damage" AddSpell, "Vampire Touch" AddSpell, "Vampire Quarra Specials" ModRestoration 75 set done to 1 endif end Vampire_Quarra
600Vampire_Quarra_PCbegin Vampire_Quarra_PC if ( PCVampire != 0 ) ;return if PC is not normal, 1 = Vampire, -1 = Cured StopScript Vampire_Quarra_PC return endif Player->RemoveSpell, "Vampire Blood Quarra" Player->AddSpell, "Vampire Attributes" Player->AddSpell, "Vampire Skills" Player->AddSpell, "Vampire Immunities" Player->AddSpell, "Vampire Sun Damage" Player->AddSpell, "Vampire Touch" Player->AddSpell, "Vampire Quarra Specials" set PCVampire to 1 set VampClan to 3 StartScript vampdreamScript StopScript Vampire_Quarra_PC end Vampire_Quarra_PC
601vamppapersScriptbegin vamppapersScript short done if ( done == 1 ) return endif if ( onactivate == 1 ) Journal MS_VampireCure 10 set done to 1 activate endif end
602VampTestBegin VampTest startscript startup startscript vampirecheck startscript vampire_quarra_pc stopscript VampTest End
603VampTest1Begin VampTest1 startscript startup startscript vampirecheck startscript vampire_aundae_pc stopscript VampTest1 End
604VampTest2Begin VampTest2 startscript startup startscript vampirecheck startscript vampire_berne_pc stopscript VampTest2 End
605VampTest3Begin VampTest3 startscript startup startscript vampirecheck startscript vampire_quarra_pc stopscript VampTest3 End
606varusVantiniusScriptBegin varusVantiniusScript short doOnce if ( doOnce == 1 ) Return endif if ( GetJournalIndex IL_Grandmaster < 10 ) Return endif if ( GetPCCell "Vivec, Arena Pit" == 0 ) Return endif if ( duelActive == 0 ) Return endif if ( OnDeath == 1 ) Set DuelActive to 0 Set doOnce to 1 PCRaiseRank "Imperial Legion" Journal IL_Grandmaster 100 endif End
607varvurSarethiScriptBegin varvurSarethiScript short noLore short followNow short distanceCheck float timer short doOnce if ( MenuMode == 1 ) return endif if ( GetHealth <= 0 ) return endif if ( doOnce == 1 ) if ( CellChanged == 1 ) if ( GetPCCell "Ald-ruhn, Sarethi Manor" == 1 ) ;teleport him to his room when the quest is over... AddItem extravagant_belt_01 1 AddItem extravagant_pants_01 1 AddItem extravagant_shirt_01_r 1 AddItem extravagant_shoes_01 1 PositionCell 1500 510 -100 180 "Ald-ruhn, Sarethi Guard Quarters" ;tell his dad he's moved... Set "athyn sarethi".varvurMoved to 1 Set doOnce to 2 endif endif endif if ( GetJournalIndex HR_RescueSarethi >= 70 ) return endif if ( GetJournalIndex HR_RescueSarethi < 50 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( GetTarget "malsa ules" == 1 ) ;kludge to force him to FOLLOW and not attack and get killed StopCombat endif if ( GetTarget "tidras deltis" == 1 ) StopCombat endif if ( GetDistance "Athyn Sarethi" < 256 ) ;if Varvur is this close to Athyn, the quest is over Journal HR_RescueSarethi 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Set doOnce to 1 Say "Vo\D\M\Flw_DM004.mp3" "Thank you." SetHello 30 ;make the guards STOP attacking you if they're attacking you... "bevadar bels"->StopCombat "idros givyn"->StopCombat "malsa ules"->StopCombat "nathyne uvelas"->StopCombat "nidryne redas"->StopCombat "novor gorvas"->StopCombat "tereri irethi"->StopCombat "tidras deltis"->StopCombat "velsa orethi"->StopCombat "vevul alver"->StopCombat "bevadar bels"->SetFight 30 "idros givyn"->SetFight 30 "malsa ules"->SetFight 30 "nathyne uvelas"->SetFight 30 "nidryne redas"->SetFight 30 "novor gorvas"->SetFight 30 "tereri irethi"->SetFight 30 "tidras deltis"->SetFight 30 "velsa orethi"->SetFight 30 "vevul alver"->SetFight 30 endif if ( timer < 2 ) 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\D\M\Flw_DM001.mp3" "Where are you going?" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End End
608vedamDrenScriptBegin vedamDrenScript short noLore ;for HH_Stronghold short doOnce End
609vedeleaFollowBegin vedeleaFollow short noLore short followNow short distanceCheck float timer ;global short NPCVoiceDistance if ( MenuMode == 1 ) Return endif if ( GetJournalIndex HH_Odirniran >= 70 ) Return endif if ( GetJournalIndex HH_Odirniran < 50 ) Return endif if ( GetHealth <= 0 ) return endif if ( GetCurrentAiPackage == 3 ) ;if follow is the current package, set followNow and continue... set followNow to 1 SetHello 0 if ( timer < 2 ) set timer to ( timer + GetSecondsPassed ) return endif if ( GetDistance "Remasa Othril" < 512 ) ;since the above method may not actually work... Journal HH_Odirniran 70 set followNow to 0 AiWander 256 0 0 40 20 20 0 0 0 0 0 0 Say "Vo\D\F\Flw_DF003.mp3" "Thank you." SetHello 30 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\D\F\Flw_DF004.mp3" "Hey! Wait for me!" set distanceCheck to 1 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif if (GetDistance "Remasa Othril" <= 256) ;if Talmsa arrives near Remasa Othril, quest is over journal HH_Odirniran 70 set followNow to 0 AiWander 128 6 0 40 30 20 0 0 0 0 0 0 endif else ;if follow is NOT the current package, make sure followNow is zero set followNow to 0 endif End
610venimGuardScriptBegin venimGuardScript float timer if ( timer == -1 ) Return endif if ( GetJournalIndex HR_RescueSarethi < 50 ) Return endif if ( GetJournalIndex HR_RescueSarethi >= 70 ) Return endif set timer to ( timer + GetSecondsPassed ) if ( timer < 3 ) Return endif Set timer to 0 if ( GetDetected "Varvur Sarethi" == 1 ) StartCombat Player Set timer to -1 endif End
611viatrix_petiliaBegin viatrix_petilia float timer float annoyed short gotthere short nolore if ( gotthere == -1 ) return endif if ( GetCurrentAiPackage != 3 ) return endif set timer to timer + GetSecondsPassed if ( timer > 720 ) ;12 minutes set timer to 0 set annoyed to 1 if ( GetDistance Player < 512 ) if ( GetJournalIndex "MV_RichPilgrim" == 20 ) ForceGreeting Journal "MV_RichPilgrim" 40 set annoyed to 0 return elseif ( GetJournalIndex "MV_RichPilgrim" == 40 ) ForceGreeting Journal "MV_RichPilgrim" 50 set annoyed to 0 return elseif ( GetJournalIndex "MV_RichPilgrim" == 50 ) ForceGreeting Journal "MV_RichPilgrim" 60 set annoyed to 0 return elseif ( GetJournalIndex "MV_RichPilgrim" == 60 ) ForceGreeting Journal "MV_RichPilgrim" 120 set annoyed to 0 return endif endif endif if ( GetDistance "Furn_shrine_Vivec_cure_03" <= 512 ) Journal "MV_RichPilgrim" 95 set gotthere to -1 ForceGreeting StopScript viatrix_petilia endif if ( OnDeath == 1 ) Journal "MV_RichPilgrim" 130 endif End
612virasGulsScriptBegin virasGulsScript ;first check Stronghold wives... short strongService short noLore short agreedWife if ( strongService != 1 ) set strongService to 1 endif if ( "Aryni Orethi".agreedWife == 1 ) if ( "Fathusa Girethi".agreedWife == 1 ) set agreedWife to 1 endif endif ;same as Strong1_Complete to enable him if ( CellChanged == 0 ) return endif if ( Stronghold < 2 ) if ( GetDisabled == 0 ) disable endif else if ( GetDisabled == 1 ) enable endif endif End
613vivecArenaScriptBegin vivecArenaScript if ( CellChanged == 0 ) return endif if ( DuelActive == 1 ) return endif if ( GetJournalIndex B5_VenimHort == 30 ) if ( GetDeadCount "bolvyn venim" == 0 ) "bolvyn venim"->PositionCell 1 1 -325 270 "Vivec, Arena Pit" "bolvyn venim"->SetFight 100 "bolvyn venim"->StartCombat Player "bolvyn venim"->SetDisposition 10 Set DuelActive to 1 return endif endif if ( GetJournalIndex HR_Archmaster == 50 ) if ( GetDeadCount "bolvyn venim" == 0 ) "bolvyn venim"->PositionCell 1 1 -325 270 "Vivec, Arena Pit" "bolvyn venim"->SetFight 100 "bolvyn venim"->StartCombat Player "bolvyn venim"->SetDisposition 10 Set DuelActive to 1 return endif endif if ( GetJournalIndex MG_Guildmaster == 50 ) if ( GetDeadCount "trebonius artorius" == 0 ) "trebonius artorius"->PositionCell 1 1 -325 270 "Vivec, Arena Pit" "trebonius artorius"->SetFight 100 "trebonius artorius"->StartCombat Player "trebonius artorius"->SetDisposition 10 Set DuelActive to 1 return endif endif if ( GetJournalIndex IL_Grandmaster == 10 ) if ( GetDeadCount "Varus Vatinius" == 0 ) "Varus Vatinius"->PositionCell 1 1 -325 270 "Vivec, Arena Pit" "Varus Vatinius"->SetFight 100 "Varus Vatinius"->StartCombat Player "Varus Vatinius"->SetDisposition 10 Set DuelActive to 1 return endif endif if ( GetJournalIndex HR_CowardDisgrace == 50 ) if ( GetDeadCount "Rothis Nethan" == 0 ) if ( GetDeadCount "Brethas Deras" == 0 ) "Rothis Nethan"->PositionCell 840 1 -325 270 "Vivec, Arena Pit" "Brethas Deras"->PositionCell -840 1 -325 270 "Vivec, Arena Pit" "Rothis Nethan"->StartCombat "Brethas Deras" Set DuelActive to 1 return endif endif endif if ( GetJournalIndex HH_BeroSupport == 50 ) if ( GetDeadCount "Garding" == 0 ) "Garding"->PositionCell 1 1 -325 270 "Vivec, Arena Pit" "Garding"->SetFight 100 "Garding"->StartCombat Player "Garding"->SetDisposition 10 Set DuelActive to 1 return endif endif ;if you get all the way to the end, set duelActive to zero... ;just in case one of the local scripts does not work, etc. Set DuelActive to 0 ;on hidden ring under arena. Works on CellChanged ;positioncells the "next" NPC to the Arena ;only one at a time. ;must kill them, leave, and return to get next opponent. ;DuelActive is a GLOBAL which prevents multiple "PositioCells" and ;multiple duels, etc. Also speed, since Vivec, Arena is kinda slow ;repeat this model for all arena duels. End
614voduniusScriptBegin voduniusScript if ( CellChanged == 0 ) Return endif if ( GetJournalIndex MS_Nuccius >= 100 ) if ( GetDisabled == 0 ) Disable endif endif End
615WaitOneDayBegin WaitOneDay short currentDay short localdaysPassed Short NoLore ;blocks discussion of general topics if ( currentDay != Day ) ;assume that the day has gone up, not down or something... set currentDay to Day set localdaysPassed to localdaysPassed + 1 endif ;Old Version (for reference -- month thing makes no sense so sayeth Doug) ;short eventDay ;short eventMonth ;short oneDayPassed ;if (oneDayPassed == 0) ; set oneDayPassed to 1 ; set eventDay to Day ; set eventMonth to Month ;endif ;if (oneDayPassed == 1) ; if (Month != eventMonth) ; set oneDayPassed to 2 ; endif ; ; if (Day != eventDay) ; set oneDayPassed to 2 ; endif ;endif End
616WarLoverKillbegin WarLoverKill if ( OnDeath == 1 ) Journal B4_WarLoverKill 1 endif end
617Warp_Andrabegin Warp_Andra if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Andra" > 0 ) PlaySound "Thunder2" Player->PositionCell, 540, 630, -368, 270, "Andasreth, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
618Warp_Beranbegin Warp_Beran if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Beran" > 0 ) PlaySound "Thunder2" Player->PositionCell, 540, 1024, -608, 270, "Berandas, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
619Warp_Falasbegin Warp_Falas if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Falas" > 0 ) PlaySound "Thunder2" Player->PositionCell, 302, 504, -368, 270, "Falasmaryon, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
620Warp_Falenbegin Warp_Falen if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Falen" > 0 ) PlaySound "Thunder2" Player->PositionCell, 410 898 -496 270, "Falensarano, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
621Warp_Hlorbegin Warp_Hlor if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Hlor" > 0 ) PlaySound "Thunder2" Player->PositionCell, 4097, 3898, 12758, 180, "Hlormaren, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
622Warp_Indobegin Warp_Indo if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Indo" > 0 ) PlaySound "Thunder2" Player->PositionCell, 489 766 -368 270, "Indoranyon, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
623Warp_Maranbegin Warp_Maran if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Maran" > 0 ) PlaySound "Thunder2" Player->PositionCell, 244 888 -368 270, "Marandus, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
624Warp_Rothbegin Warp_Roth if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Roth" > 0 ) PlaySound "Thunder2" Player->PositionCell, 244 888 -368 270, "Rotheran, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
625Warp_Telasbegin Warp_Telas if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Telas" > 0 ) PlaySound "Thunder2" Player->PositionCell, 408 767 -484 270, "Telasero, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
626Warp_Valenbegin Warp_Valen if ( menumode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount, "Index_Valen" > 0 ) PlaySound "Thunder2" Player->PositionCell, 290, 778, -496, 720, "Valenvaryon, Propylon Chamber" else MessageBox "You do not have the Index for this Propylon." endif endif end
627whiteguarScriptBegin whiteguarScript short guarfollow if ( GetDisabled != 1 ) if ( GetJournalIndex "MS_WhiteGuar" >= 70 ) Disable endif endif if ( GetDisabled == 1 ) if ( GetJournalIndex MS_WhiteGuar >= 20 ) Enable endif Return endif if ( ashamanu->GetDisabled != 1 ) if ( ashamanu->GetDistance Player <= 128 ) if ( GetJournalIndex "MS_WhiteGuar" == 50 ) Journal "MS_WhiteGuar" 60 endif endif endif if ( GetJournalIndex "MS_WhiteGuar" < 60 ) if ( GetDistance Player <= 512 ) if ( guarfollow == 0 ) AiEscort Player 0 70685 126106 835 0 Journal "MS_WhiteGuar" 50 set guarfollow to -1 endif endif endif End
628wraithguardScriptBegin wraithguardScript short OnPCEquip ;global short wraithguardEquipped if ( OnPCEquip == 1 ) ;is wraithguard equipped? set wraithguardEquipped to 1 else set wraithguardEquipped to 0 endif End
629yellowBookScriptBegin yellowBookScript short doOnce short OnPCEquip if ( doOnce == 1 ) Return endif if ( OnActivate == 1 ) StartScript CouncilorTopicsHlaalu Set doOnce to 1 Activate endif if ( OnPCEquip == 1 ) StartScript CouncilorTopicsHlaalu Set doOnce to 1 endif End
630ynglingScriptBegin ynglingScript if ( OnDeath == 1 ) Journal B6_YnglingHort 70 endif End
631zabamundNoLorebegin zabamundNoLore Short NoLore if ( OnDeath == 1 ) Journal B1_UrshilakuKill 1 endif end
632ZainabKillbegin ZainabKill if ( OnDeath == 1 ) Journal B3_ZainabKill 1 endif end


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