Scriptname _00E_MQ07b_BellScript extends ObjectReference Event OnActivate(ObjectReference akActionRef) If akActionRef == Game.GetPlayer() _00E_MQ07b_sBellDoesntMove.Show() EndIf EndEvent Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) If akAggressor == Game.GetPlayer() && akSource == _02E_UniGlockenhammer && MQ07b_DeusExMachina.GetStage() == 65 BellSound.Play(Self) Game.ShakeCamera() BaseAngleX = Self.GetAngleX() BaseAngleY = Self.GetAngleY() BaseAngleZ = Self.GetAngleZ() XPos = Self.GetPositionX() YPos = Self.GetPositionY() ZPos = Self.GetPositionZ() Self.TranslateTo(XPos, YPos, ZPos, AngleX*0.5, AngleY*0.5, BaseAngleZ, 20, 20) DoOnce = False If MQ07b_BellVar.GetValue() == 0 && BellNumber == 1 MQ07b_BellVar.SetValue(1) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackYes) Return EndIf If MQ07b_BellVar.GetValue() != 0 && BellNumber == 1 MQ07b_BellVar.SetValue(0) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackNo) EndIf If MQ07b_BellVar.GetValue() == 1 && BellNumber == 2 MQ07b_BellVar.SetValue(2) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackYes) Return EndIf If MQ07b_BellVar.GetValue() == 4 && BellNumber == 2 MQ07b_DeusExMachina.SetStage(70) MQ07b_BellVar.SetValue(5) Return EndIf if MQ07b_BellVar.GetValue() != 1 && BellNumber == 2 ;&& MQ07b_BellVar.GetValue() != 4 MQ07b_BellVar.SetValue(0) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackNo) EndIf If MQ07b_BellVar.GetValue() == 2 && BellNumber == 3 MQ07b_BellVar.SetValue(3) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackYes) Return EndIf If MQ07b_BellVar.GetValue() != 2 && BellNumber == 3 MQ07b_BellVar.SetValue(0) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackNo) EndIf If MQ07b_BellVar.GetValue() == 3 && BellNumber == 4 MQ07b_BellVar.SetValue(MQ07b_BellVar.GetValue()+1) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackYes) Return EndIf If MQ07b_BellVar.GetValue() != 3 && BellNumber == 4 MQ07b_BellVar.SetValue(0) CaliaRef.Say(MQ07b_DeusExMachinaCaliaPuzzleFeedbackNo) EndIf EndIf EndEvent Event OnTranslationComplete() If DoOnce == False If TranslationCount == 0 Self.TranslateTo(XPos, YPos, ZPos, BaseAngleX, BaseAngleY, BaseAngleZ, 20, 20) TranslationCount += 1 ElseIf TranslationCount == 1 Self.TranslateTo(XPos, YPos, ZPos, AngleX*-1*0.5, AngleY*-1*0.5, BaseAngleZ, 20, 20) TranslationCount += 1 ElseIf TranslationCount == 2 Self.TranslateTo(XPos, YPos, ZPos, BaseAngleX, BaseAngleY, BaseAngleZ, 20, 20) TranslationCount = 0 DoOnce = True EndIf EndIf EndEvent Float BaseAngleX Float BaseAngleY Float BaseAngleZ Float XPos Float YPos Float ZPos Float TranslationCount Bool DoOnce = false Message Property _00E_MQ07b_sBellDoesntMove Auto Float Property AngleX Auto Float Property AngleY Auto Float Property AngleZ Auto Int Property BellNumber Auto Sound Property BellSound Auto Weapon Property _02E_UniGlockenhammer Auto Quest Property MQ07b_DeusExMachina Auto GlobalVariable Property MQ07b_BellVar Auto Topic Property MQ07b_DeusExMachinaCaliaPuzzleFeedbackYes Auto Topic Property MQ07b_DeusExMachinaCaliaPuzzleFeedbackNo Auto ObjectReference Property CaliaRef Auto