Scripts

TR_m4_NPC_HH_RedoranHead

TR_Mainland.esm
Variables 10
Local Variables
TR_Map
control
controlQ
T_Local_NPC
NoLore
TR_m4_HH_RedoranWorker
prepareToLeave
setDisable
doOnce
frameHour
Source
1Begin TR_m4_NPC_HH_RedoranHead 2; Script for the head of the Redoran workers in Omaynis. Will only be enabled during certain stages of the Omaynis Inn quest. 3; Also has some additional mechanics 4 5short TR_Map 6short control 7short controlQ 8short T_Local_NPC 9short NoLore 10short TR_m4_HH_RedoranWorker ; identifier 11short prepareToLeave 12short setDisable 13short doOnce 14float frameHour ; timestamp of previous frame 15 16if ( MenuMode ) 17 return 18endif 19 20if ( TR_m4_Oma_InnStage < 1 ) 21 Set setDisable to 1 22elseif ( TR_m4_HH_WorkerDisable == 1 ) 23 Set setDisable to 1 24elseif ( GetDisabled ) 25 Enable 26 Set setDisable to 0 27endif 28 29if ( setDisable ) 30 if ( GetHealth >= 1 ) 31 if ( GetDisabled == 0 ) 32 Disable 33 endif 34 endif 35 return 36endif 37 38if ( OnKnockOut ) 39 if ( prepareToLeave == -1 ) 40 ; workers brawl flag 41 StopCombat 42 "TR_m4_q_Balen Romayen"->StopCombat 43 "TR_m4_q_Duni Llothren"->StopCombat 44 "TR_m4_q_Jeryn"->StopCombat 45 Set prepareToLeave to 1 46 endif 47endif 48 49if ( OnDeath ) 50 ; count the number of dead workers 51 Set TR_m4_HH_WorkerDeathCounter to ( TR_m4_HH_WorkerDeathCounter + 1 ) 52 if ( TR_m4_HH_WorkerDeathCounter == 4 ) 53 ; all dead 54 ModPCFacRep -3 "Redoran" 55 Journal TR_m4_HH_AND_OmaynisInn2 70 56 endif 57endif 58 59if ( prepareToLeave != 0 ) 60 if ( doOnce == 0 ) 61 Set frameHour to GameHour 62 Set doOnce to 1 63 endif 64 if ( TR_m4_HH_WorkerDeathCounter > 0 ) ; do not disable workers if having initiated a fight 65 return 66 endif 67 if ( prepareToLeave == 1 ) 68 if ( TR_m4_HH_WorkerDisable == 0 ) 69 Set TR_m4_HH_WorkerDisable to -1 70 ; used for dialogue purposes 71 endif 72 endif 73 if ( CellChanged ) 74 if ( prepareToLeave == 1 ) 75 Set TR_m4_HH_WorkerDisable to 1 76 endif 77 elseif ( GetDistance Player > 6500 ) 78 ; require a bit more than a cell change if they are still fighting 79 Set TR_m4_HH_WorkerDisable to 1 80 elseif ( GameHour >= ( frameHour + 1 ) ) ; player rested 81 Set TR_m4_HH_WorkerDisable to 1 82 elseif ( GameHour < frameHour ) 83 if ( GameHour >= ( frameHour - 23 ) ) 84 Set TR_m4_HH_WorkerDisable to 1 85 endif 86 endif 87 Set frameHour to GameHour 88endif 89 90if ( TR_Map > 0 ) 91 return 92endif 93 94set TR_Map to 4 95 96End