TR_m3_bloodstoneshoes_scr
TR_Mainland.esm
Variables
11
Local Variables
playerrunning
playerjumping
playermoved
rockmessage
startpilgrimage
endpilgrimage
playerposx
playerposy
playerpreviousx
playerpreviousy
timer
Source
1begin TR_m3_bloodstoneshoes_scr
2
3; Script on clothing TR_m3_bloodstoneshoes
4; for the Bloodstone Pilgrimage quest (TR_m3_TT_Bloodstone).
5
6float playerposx
7float playerposy
8float playerpreviousx
9float playerpreviousy
10short playerrunning
11short playerjumping
12short playermoved
13short rockmessage
14short startpilgrimage ;change this to a global, have the shrine check it when you're close
15short endpilgrimage
16float timer
17
18if ( MenuMode )
19 return
20endif
21
22if ( endpilgrimage )
23 return
24endif
25
26if ( player->HasItemEquipped, "TR_m3_bloodstoneshoes" == 0 )
27 set TR_m3_bloodstonecheck to 0
28 set rockmessage to 0
29 return
30endif
31
32if ( GetJournalIndex TR_m3_TT_Bloodstone >= 70 )
33 set endpilgrimage to 1
34endif
35
36if ( GetPCCell, "Almas Thirr, Hetman Llothro's House" )
37 if ( TR_m3_bloodstonecheck == 0 )
38 ;messagebox "pilgrimage start"
39 set TR_m3_bloodstonecheck to 1
40 endif
41endif
42
43if ( player->GetEffect, sEffectLevitate == 1 )
44 ;MessageBox "I'm levitating"
45 return
46endif
47
48if ( GetPCJumping )
49 set playerjumping to 1
50else
51 if ( playerjumping )
52 Messagebox "You feel a sharp pain in your foot."
53 player->ModCurrentHealth -5
54 player->ModCurrentFatigue -5
55 endif
56 set playerjumping to 0
57endif
58
59if ( GetPCRunning )
60 set playerrunning to 1
61else
62 set playerrunning to 0
63endif
64
65set playerpreviousx to playerposx
66set playerpreviousy to playerposy
67
68set playerposx to ( player->GetPos, X )
69set playerposy to ( player->GetPos, Y )
70
71if ( playerposx != playerpreviousx )
72 set playermoved to 1
73else
74 if ( playerposy != playerpreviousy )
75 set playermoved to 1
76 else
77 set playermoved to 0
78 endif
79endif
80
81if ( playermoved )
82 if ( rockmessage == 0 )
83 Messagebox "You feel a stone digging into your foot."
84 set rockmessage to 1
85 endif
86 set timer to ( timer + GetSecondsPassed )
87 if ( timer > 1 )
88 player->ModCurrentHealth -1
89 player->ModCurrentFatigue -1
90 if ( playerrunning )
91 player->ModCurrentHealth -5
92 player->ModCurrentFatigue -2
93 endif
94 set timer to 0
95 endif
96endif
97
98end