enderalse/source/scripts/_00e_mq01_functions.psc

325 lines
8.2 KiB
Plaintext

scriptName _00E_MQ01_Functions extends Quest Conditional
Import Utility
Import _00E_QuestFunctions
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function AdjustTimescale()
Timescale.SetValue(15)
EndFunction
Function ResetTimescale()
Timescale.SetValue(10)
EndFunction
Function ShowDialogueTutorial()
Message.ResetHelpMessage("Empty")
_00E_MQP03_Tutorial_Dialogues.ShowAsHelpMessage("Empty", 5 as Float, 1 as Float, 1)
EndFunction
Function GiveHealingPotion()
PlayerREF.AddItem(_02E_Genesungstrank, 1)
EndFunction
Function BeginHeadache()
PlayerREF.ModAV("LastFlattered", -15)
_00E_BlitzheilungArkanistenfieber_sFeverIncreased.Show(15.0, -1*PlayerREF.GetAV("LastFlattered"))
debug.SendAnimationEvent(PlayerREF as objectreference, "StaggerPlayer")
MagVampireSunlight.Play(PlayerREF as objectreference)
Message.ResetHelpMessage("Empty")
_00E_MQ01_ThoughtsHeadache.ShowAsHelpMessage("Empty", 3 as Float, 1 as Float, 1)
_00E_MQ01_HeadacheShort.apply(1.00000)
Wait(1)
SoundID01 = UIHealthHeartbeatALP.Play(PlayerREF as objectreference)
_00E_MQ01_HeadacheLoop.ApplyCrossFade(0.5)
EndFunction
function EndHeadache()
If PlayerREF.IsWeaponDrawn()
PlayerREF.SheatheWeapon()
Utility.Wait(3)
EndIf
PlayerREF.RestoreActorValue("Health", PlayerREF.GetAV("Health"))
_00E_NPCUncorkPotionAndDrinkM.Play(PlayerREF)
MAGRestorationFFFire.Play(PlayerREF)
Sound.StopInstance(SoundID01)
_00E_MQ01_HeadacheLoop.PopTo(_00E_MQ01_HeadacheEnd, 1.00000)
bHeadacheCured = True
endFunction
Function StartSC01()
if Torch01 == None
Torch01 = Game.GetForm(0x0001D4EC) as Light
EndIf
if PlayerREF.IsEquipped(Torch01)
PlayerREF.UnequipItem(Torch01)
EndIf
MQ01_SC1_FinnHealsPlayer.ForceStart()
EndFunction
Function StartPreVisionScene()
MQ01_UnchartedLand_PreVisionScene.Start()
;In case the save doesn't get triggered properly, hopefully fixes report ERB-754.
Wait(1)
If !MQ01_UnchartedLand_PreVisionScene.IsPlaying()
MQ01_UnchartedLand_PreVisionScene.ForceStart()
EndIf
EndFunction
Function StartHeadacheAndVisionScene()
MQ01_SC4_Vision.ForceStart()
FXSparks.EnableNoWait(False)
SparksSounds.EnableNoWait(False)
endFunction
function BeginVision()
_00E_MQ01_FinnREF.SetGhost(False)
_00E_MQ01_CarbosREF.SetGhost(False)
_00E_Ability_StaggerSelfSpell.Cast(_00E_MQ01_FinnREF, _00E_MQ01_FinnREF)
_00E_Ability_StaggerSelfSpell.Cast(_00E_MQ01_CarbosREF, _00E_MQ01_CarbosREF)
ExplodeDestillator()
Levelsystem.VisionEffectTimestop(False, False, False)
Wait(0.5)
_00E_MQ01_FinnREF.EnableAI(False)
_00E_MQ01_CarbosREF.EnableAI(False)
Wait(11)
SetStage(50)
endFunction
Function ExplodeDestillator()
MQ01_SC4_ExplosionMarker.PlaceAtMe(_00E_MQ01_BottleFlameExplosion)
MQ01_SC4_BurnerREF.PlaceAtMe(_00E_MQ01_BottleExplosion)
MQ01_SC4_BurnerREF.DisableNoWait(false)
MQ01_SC4_MetalPieceREF.Enable()
FXSparks.DisableNoWait(false)
SparksSounds.DisableNoWait(false)
EndFunction
function EndVision()
_00E_MQ01_FinnREF.SetGhost(True)
_00E_MQ01_CarbosREF.SetGhost(True)
Game.DisablePlayerControls()
Levelsystem.VisionEffectTimestopStop(true)
VisionVoice.GetReference().Disable(false)
_00E_MQ01_FinnREF.EnableAI(True)
_00E_MQ01_CarbosREF.EnableAI(True)
_00E_MQ01_HeadacheLoop.ApplyCrossFade(0.5)
endFunction
function StartSC05()
_00E_MQ01_FinnREF.SetGhost(False)
_00E_MQ01_CarbosREF.SetGhost(False)
MQ01_SC5_BanditAttack.ForceStart()
endFunction
Function StartSC2CarbosStairs()
Game.DisablePlayerControls()
Carbos.GetReference().Enable()
Wait(1)
MQ01_SC2_CarbosStairs.ForceStart()
EndFunction
Function StartSC02()
Game.DisablePlayerControls()
Carbos.GetReference().Enable()
Wait(1)
MQ01_SC2_CarbosAppears.ForceStart()
EndFunction
Function StartNewHorizons()
NQ02_NewHorizons.Start()
EndFunction
function FakeHeadtrackStart()
PlayerREF.AddSpell(_00E_Vision_UpdateAb, false)
Wait(0.500000)
PlayerREF.RemoveSpell(_00E_Vision_UpdateAb)
endFunction
function FakeHeadtrackEnd()
PlayerREF.AddSpell(_00E_Vision_UpdateAb, false)
utility.Wait(0.500000)
PlayerREF.RemoveSpell(_00E_Vision_UpdateAb)
endFunction
function KillCarbos()
Carbos.GetActorReference().SetGhost(false)
WPNBowFire.Play(Carbos.GetActorReference())
_00E_MQ01_KillerArrow01.Cast(ShootMarker, Carbos.GetActorReference() as objectreference)
endFunction
function KillCarbosFinal()
actorbase TargetBase = _00E_MQ01_CarbosREF.GetBaseObject() as actorbase
TargetBase.SetEssential(false)
_00E_MQ01_CarbosREF.DamageActorValue("health", 400.0)
endFunction
function CarbosHeadTrack()
Carbos.GetActorReference().SetLookAt(Finn.GetReference(), true)
endFunction
function FinnHeadTrack()
Finn.GetActorReference().SetLookAt(FinnPointMarker.GetReference(), true)
endFunction
function KillFinn()
Finn.GetActorReference().SetGhost(false)
WPNBowFire.Play(Carbos.GetActorReference())
_00E_MQ01_KillerArrow02.Cast(ShootMarker, Finn.GetActorReference() as objectreference)
endFunction
Function CleanUp()
FadeToBlackHoldImod.Apply()
ResetTimescale()
Timescale.SetValue(10.0)
AudioCategoryFST.UnMute()
PlayerREF.SetAlpha(1)
_00E_MQ01_CarbosREF.SetOutfit(_00E_Rags)
_00E_MQ01_FinnREF.SetOutfit(_00E_Rags)
; SE: Fixes "cannot disable an object with an enable state parent"
;_00E_MQ01_FinnREF.Disable()
;MQ01_SC5_TableREF.Disable()
MQ01_SC5_TableREF.Disable()
MQ01_SC4_BurnerREF.Disable()
MQ01_SC4_MetalPieceREF.Disable()
MQ01_SC5_DamGate.Lock(False)
MQ01_SC5_DamGate.SetOpen(True)
MQ01_SC01DoorREF.SetLockLevel(0)
MQ01_SC01DoorREF.Lock(False)
Self.CompleteQuest()
Wait(1)
MQ02.Start()
FadeToBlackHoldImod.Remove()
MQ02.SetStage(10)
EndFunction
;=====================================================================================
; PROPERTIES
;=====================================================================================
_00E_QuestFunctions Property Levelsystem Auto
bool Property bInVision Auto Conditional Hidden
bool Property bHeadacheCured Auto Conditional Hidden
Float SpeedBefore
Int SoundID01
Actor Property _00E_MQ01_FinnREF Auto
Actor Property _00E_MQ01_CarbosREF Auto
actor property PlayerREF auto
Scene Property MQ01_SC4_Vision Auto
Scene Property MQ01_SC5_BanditAttack Auto
Scene Property MQ01_SC1_FinnHealsPlayer Auto
scene property MQ01_UnchartedLand_PreVisionScene auto
scene property MQ01_SC2_CarbosAppears auto
scene property MQ01_SC2_CarbosStairs auto
Message Property _00E_MQP03_Tutorial_Dialogues Auto
Message Property _00E_BlitzheilungArkanistenfieber_sFeverIncreased Auto
message property _00E_MQ01_ThoughtsHeadache auto
objectreference property FXSparks auto
objectreference property SparksSounds auto
objectreference property ShootMarker auto
ObjectReference Property MQ01_SC4_BurnerREF Auto
ObjectReference Property MQ01_SC4_ExplosionMarker Auto
ObjectReference Property MQ01_SC5_TableREF Auto
ObjectReference Property MQ01_SC5_DamGate Auto
ObjectReference Property MQ01_SC4_MetalPieceREF Auto
ObjectReference Property MQ01_SC01DoorREF Auto
GlobalVariable Property Timescale Auto
sound property MagVampireSunlight auto
sound property WPNBowFire auto
sound property _00E_NPCUncorkPotionAndDrinkM auto
sound property MAGRestorationFFFire auto
sound property UIHealthHeartbeatALP auto
imagespacemodifier property _00E_MQ01_HeadacheEnd auto
imagespacemodifier property _00E_MQ01_HeadacheLoop auto
imagespacemodifier property _00E_MQ01_HeadacheShort auto
imagespacemodifier property FadeToBlackHoldImod auto
referencealias property Finn auto
referencealias property Carbos auto
referencealias property FinnPointMarker auto
referencealias property VisionVoice auto
light property Torch01 auto
spell property _00E_Vision_UpdateAb auto
spell property _00E_MQ01_KillerArrow02 auto
spell property _00E_Ability_StaggerSelfSpell auto
spell property _00E_MQ01_KillerArrow01 auto
explosion property _00E_MQ01_BottleExplosion auto
explosion property _00E_MQ01_BottleFlameExplosion auto
Quest Property MQ02 Auto
Quest property MQ01_UnchartedLand auto
Quest property NQ02_NewHorizons auto
Outfit Property _00E_Rags Auto
SoundCategory Property AudioCategoryFST Auto
Potion Property _02E_Genesungstrank Auto