enderalse/scripts/source/_00e_mq13b_sc10_reliefrotationsc.psc

97 lines
2.5 KiB
Plaintext

Scriptname _00E_MQ13b_SC10_ReliefRotationSC extends ObjectReference
Import Utility
Import _00E_QuestFunctions
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function StartRotationLoop()
if !bInit
RotationMarker = Self.PlaceAtMe(XMarkerHeading, 1)
bInit = True
EndIf
RotationMarker.SetAngle((fAngleX), (fAngleY), (Self.GetAngleZ() + 180))
Self.TranslateToREF(RotationMarker, RotationSpeedBase, RotationSpeedBase)
EndFunction
;=====================================================================================
; EVENTS
;=====================================================================================
Event OnInit()
fPosX = Self.GetPositionX()
fPosY = Self.GetPositionY()
fPosZ = Self.GetPositionZ()
fAngleX = Self.GetAngleX()
fAngleY = Self.GetAngleY()
fAngleZ = Self.GetAngleZ()
RotationMarker = Self.PlaceAtMe(XMarkerHeading, 1)
EndEvent
Event OnTranslationAlmostComplete()
If MQ13b.bReliefRotating == True
StartRotationLoop()
ElseIf iSlowDown == 0
Game.ShakeCamera()
DRSStoneLabyrinthianOpenM.Play(Game.GetPlayer())
RotationMarker.SetPosition(1545.0, 8771.6738, 21343.3164)
RotationMarker.SetAngle(0, 0, 326.2419)
Self.PlayImpactEffect(FXDragonTakeoffImpactSet)
Self.TranslateToREF(RotationMarker, 150.0, 150.0)
iSlowDown = 1
ElseIf iSlowDown == 1
Self.TranslateToREF(RotationMarker, 100.0, 100.0)
iSlowDown = 2
EndIf
EndEvent
Event OnTranslationComplete()
if iSlowDown == 2
Game.ShakeCamera()
Self.PlayImpactEffect(FXDragonTakeoffImpactSet)
DRSStoneLabyrinthianCloseM.Play(Game.GetPlayer())
EndIf
EndEvent
;=====================================================================================
; PROPERTIES
;=====================================================================================
float fPosX
float fPosY
float fPosZ
float fAngleX
float fAngleY
float fAngleZ
bool bInit
int iSlowDown
_00E_MQ13b_Functions Property MQ13b Auto
ObjectReference RotationMarker
Static Property XMarkerHeading Auto
ImpactDataSet Property FXDragonTakeoffImpactSet Auto
Sound Property DRSStoneLabyrinthianCloseM Auto
Sound Property DRSStoneLabyrinthianOpenM Auto
Float Property RotationSpeedBase = 125.0 Auto
{The base speed the objects will rotate around with. Defaut: 25}