enderalse/source/scripts/_00e_fs_nq02_functions.psc

1215 lines
38 KiB
Plaintext

Scriptname _00E_FS_NQ02_Functions extends Quest
Import _00E_PlayerFunctions
Import Utility
Import Game
int function _GetScriptVersion() Global
return 1
endFunction
;=====================================================================================
; FUNCTIONS
;=====================================================================================
Function StartSC01()
FS_NQ02_SC01_Tavern.ForceStart()
_00E_FS_NQ02_EsmeLeorREF.Enable()
EndFunction
Function EnableGamblingTable()
_00E_FS_NQ02_SC01_DisableMarker.Disable()
PrepareCardgame()
EndFunction
Function DisableGamblingTable()
_00E_FS_NQ02_SC01_DisableMarker.Enable()
EndFunction
Function StartSC02()
FS_NQ02_SC02_Travel.ForceStart()
_00E_MAGFXFireOilIgniteLow.Play(PlayerREF)
_00E_FS_NQ02_SC02_FeuerActivatorREF.Enable()
EndFunction
Function GivePlayerGewuerzwein()
_00E_FadeToBlackControl FadeToBlackControl = GetFadeToBlackControl()
FadeToBlackControl.FadeToBlack()
FadeToBlackControl.FadeToBlackBack()
PlayerREF.AddItem(FoodSolitudeSpicedWine, 1)
SetCurrentStageID(90)
EndFunction
Function InventarCheckForBook()
_00E_SilenceLongTransitionHighPriority.Remove()
_00E_FS_NQ02_Music_Theme.Remove()
DisableGamblingTable()
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(1)
If PlayerREF.GetItemCount(_00E_FS_NQ02_Passagierbuch) >= 1 ;if the player already owns the book
PlayerREF.RemoveItem(_00E_FS_NQ02_Passagierbuch, 1, true)
_00E_FS_NQ02_Passagierbuch_EntryREF.Enable()
PlayerREF.AddItem(_00E_FS_NQ02_Passagierbuch_EntryREF, 1, true)
SetCurrentStageID(110)
Else
_00E_FS_NQ02_PassagierbuchREF.Disable()
_00E_FS_NQ02_Passagierbuch_EntryREF.Enable()
SetObjectiveDisplayed(30)
EndIf
EndFunction
Function GiveEsmePassagierbuch()
PlayerREF.RemoveItem(_00E_FS_NQ02_Passagierbuch_EntryREF, 1, false, _00E_FS_NQ02_EsmeREF)
;PlayerREF.RemoveItem(_00E_FS_NQ02_Passagierbuch, 1, false, _00E_FS_NQ02_EsmeREF)
;_00E_FS_NQ02_EsmeREF.AddItem(_00E_FS_NQ02_Passagierbuch, 1)
EndFunction
; called from _00E_PlayerSetUpScript on patch 1.6.0.0
Function UpdatePassengerBook()
If GetCurrentStageID() >= 5
Passagierbuch_Entry.ForceRefTo(_00E_FS_NQ02_Passagierbuch_EntryREF as ObjectReference)
EndIf
If GetCurrentStageID() >= 90 && GetCurrentStageID() <= 130
If PlayerREF.GetItemCount(_00E_FS_NQ02_Passagierbuch) >= 1
PlayerREF.RemoveItem(_00E_FS_NQ02_Passagierbuch, 1, true)
_00E_FS_NQ02_Passagierbuch_EntryREF.Enable()
PlayerREF.AddItem(_00E_FS_NQ02_Passagierbuch_EntryREF, 1, true)
Else
_00E_FS_NQ02_Passagierbuch_EntryREF.Enable()
_00E_FS_NQ02_PassagierbuchREF.Disable()
EndIf
EndIf
EndFunction
Function ErsteBelohnung()
PlayerRef.AddItem(Gold001, 250)
EndFunction
Function EnableEsmeNotiz1()
_00E_FS_NQ02_EsmeLetterREF1.Enable()
EndFunction
Function EnableEsmeNotiz2()
_00E_FS_NQ02_EsmeLetterREF2.Enable()
EndFunction
Function MoveEsmeToBadehaus()
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_EsmeBadehausMarker)
_00E_FS_NQ02_EsmeLeorREF.Disable()
_00E_FS_NQ02_EsmeREF.SetOutfit(_00E_FS_NQ02_EsmeOutfit)
_00E_FS_NQ02_EsmeREF.Additem(_01E_07_SteelDagger, 1)
_00E_FS_NQ02_DunkanREF.Enable()
FS_NQ02_SC03_Badehaus.ForceStart()
_00E_FS_NQ02_Travelbox1.Enable()
_00E_FS_NQ02_CaravanCampfireOff.Enable()
; Failsafe because they blocked Esmes way
_00E_HundBelloFleeREF.Disable()
_00E_CapitalCityMaraGaboffREF.Disable()
_00E_CapitalCity_MerrelFunkenfrstREF.Disable()
EndFunction
Function DunkanExamineDisabler()
Debug.SendAnimationEvent(_00E_FS_NQ02_DunkanREF, "IdleForceDefaultState")
EndFunction
Function StartTravelWithEsme()
_00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(_00E_FS_NQ02_EsmeREF, True, 500, 200, 150)
_00E_FS_NQ02_TravelState.SetValue(1.0)
_00E_FS_NQ02_EsmeREF.EvaluatePackage()
EndFunction
Function StopTravelWithEsme()
_00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(_00E_FS_NQ02_EsmeREF, FALSE)
_00E_FS_NQ02_TravelState.SetValue(0.0)
_00E_FS_NQ02_EsmeREF.EvaluatePackage()
EndFunction
Function SC03Failsafe()
If (_00E_FS_NQ02_EsmeREF.GetDistance(_00E_FS_NQ02_SC03_EsmeMarker) > 100)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC03_EsmeMarker)
EndIf
EndFunction
Function PrepareDoorVision()
_00E_FS_NQ02_SC03_DoorActivatorREF.Enable()
StartTravelWithEsme()
EndFunction
Function StartDoorVision()
; TODO: Fix _00E_FS_NQ02_VisionRefs filled with NPC_ forms and doing nothing
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC04_FreezeRefs)
FS_NQ02_SC04_Vision.ForceStart()
_00E_FS_NQ02_TaraREF.Enable()
If _00E_FS_NQ02_EsmeREF.GetDistance(FS_NQ02_SC03_EsmePortMarkerREF) >= 50
_00E_FS_NQ02_EsmeREF.MoveTo(FS_NQ02_SC03_EsmePortMarkerREF)
EndIf
If _00E_FS_NQ02_DunkanREF.GetDistance(_00E_FS_NQ02_SC03_DunkanMarker) >= 50
_00E_FS_NQ02_DunkanREF.MoveTo(_00E_FS_NQ02_SC03_DunkanMarker)
EndIf
; _00E_FS_NQ02_EsmeREF.SetAlpha(0.0)
; _00E_FS_NQ02_DunkanREF.SetAlpha(0.0)
_00E_FS_NQ02_TaraREF.SetAlpha(0.5)
Wait(1.0)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_TaraREF)
EndFunction
Function EnableDalMercer()
_00E_FS_NQ02_DalMercerREF.Enable()
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.5)
Wait(0.5)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_DalMercerREF)
EndFunction
Function StopDoorVision()
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.0)
_00E_FS_NQ02_TaraREF.SetAlpha(0.0)
wait(0.1)
_00E_FS_NQ02_DalMercerREF.Disable()
_00E_FS_NQ02_TaraREF.Disable()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC04_FreezeRefs)
FS_NQ02_SC05_AfterVision.ForceStart()
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC03_EsmeMarker)
_00E_FS_NQ02_DunkanREF.SetAlpha(1.0)
_00E_FS_NQ02_DunkanREF.MoveTo(_00E_FS_NQ02_SC03_DunkanMarker)
EndFunction
Function StartSC06mitDunkan()
_00E_FS_NQ02_DalMercerDoor.Lock(false)
FS_NQ02_SC06_mitDunkan.ForceStart()
_00E_FS_NQ02_DunkanVar.SetValue(1)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(0)
StartTravelWithEsme()
EndFunction
Function StartSC06ohneDunkan()
_00E_FS_NQ02_DalMercerDoor.Lock(false)
FS_NQ02_SC06_ohneDunkan.ForceStart()
_00E_FS_NQ02_DunkanVar.SetValue(0)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(0)
StartTravelWithEsme()
EndFunction
Function StartSC07()
FS_NQ02_SC07_Keller.ForceStart()
StartTravelWithEsme()
EndFunction
Function OpenKeller()
_00E_FS_NQ02_SC07_Door.Lock(false)
_00E_FS_NQ02_SC07_Door.SetOpen()
StartTravelWithEsme()
EndFunction
Function SpawnElementar()
_00E_FS_NQ02_PhasmalistREF.Enable()
_00E_MQ11a_MagicAnomalyScreamAM.Play(PlayerREF)
_00E_FS_NQ02_DunkanREF.Disable()
_00E_FS_NQ02_PhasmalistREF.MoveTo(_00E_FS_NQ02_SC07_Marker3)
_00E_FS_NQ02_EsmeREF.AddToFaction(PlayerAlliesFaction)
_00E_FS_NQ02_EsmeREF.SetGhost(false)
_00E_FS_NQ02_PhasmalistREF.PlaceAtMe(_00E_FS_NQ02_Phasmalist_EnterWorldExp)
_00E_FS_NQ02_PhasmalistREF.SetAlpha(0.5)
_00E_Phasmalist_ApparitionShaderFXS.Play(_00E_FS_NQ02_PhasmalistREF)
wait(1.0)
_00E_FS_NQ02_PhasmalistREF.StartCombat(PlayerREF)
_00E_FS_NQ02_PhasmalistREF.StartCombat(_00E_FS_NQ02_EsmeREF)
_00E_FS_NQ02_EsmeREF.StartCombat(_00E_FS_NQ02_PhasmalistREF)
EndFunction
Function EnableSchreinActivator()
_00E_FS_NQ02_SC07_SchreinActivatorREF.Enable()
StartTravelWithEsme()
EndFunction
Function StartSchreinVision()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC08_FreezeRefs)
FS_NQ02_SC08_Vision.ForceStart()
_00E_FS_NQ02_DalMercerREF.MoveTo(_00E_FS_NQ02_SC08_Marker1)
_00E_FS_NQ02_TaraREF.MoveTo(_00E_FS_NQ02_SC08_Marker2)
_00E_FS_NQ02_TaraREF.SetOutfit(_00E_FS_NQ02_CultOutfit)
_00E_FS_NQ02_TaraREF.Enable()
_00E_FS_NQ02_TaraREF.SetAlpha(0.5)
_00E_FS_NQ02_DalMercerREF.Enable()
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.5)
Wait(1.0)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_TaraREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_DalMercerREF)
EndFunction
Function StopSchreinVision()
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.0)
_00E_FS_NQ02_TaraREF.SetAlpha(0.0)
wait(0.1)
_00E_FS_NQ02_DalMercerREF.Disable()
_00E_FS_NQ02_TaraREF.Disable()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC08_FreezeRefs)
FS_NQ02_SC09_AfterVision.ForceStart()
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC07_Marker2)
SetObjectiveDisplayed(110)
_00E_FS_NQ02_DunkanREF.Enable()
_00E_FS_NQ02_DunkanREF.MoveTo(_00E_FS_NQ02_SC09_Marker1)
EndFunction
Function EnableGeheimraum()
_00E_FS_NQ02_SC09_Hebel.Enable()
EndFunction
Function SC09Failsafe()
_00E_FS_NQ02_DunkanREF.DrawWeapon()
If (_00E_FS_NQ02_EsmeREF.GetDistance(_00E_FS_NQ02_SC09_Marker2) > 100)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC09_Marker2)
EndIf
EndFunction
Function DunkanFight()
_00E_FS_NQ02_DunkanREF.SetActorValue("Aggression", 2)
_00E_FS_NQ02_DunkanREF.SetGhost(false)
_00E_FS_NQ02_DunkanREF.StartCombat(PlayerREF)
_00E_FS_NQ02_DunkanREF.StartCombat(_00E_FS_NQ02_EsmeREF)
EndFunction
Function EnableStatuette()
_00E_FS_NQ02_StatuetteMisc.Enable()
_00E_FS_NQ02_StatuetteMisc.SetPosition(-1115.0, -843.0, 5912.0)
EndFunction
Function RemoveStatuette()
PlayerREF.RemoveItem(_00E_FS_NQ02_StatuetteMisc, 1)
_00E_FS_NQ02_Travelbox1.Disable()
EndFunction
Function Timer()
RegisterForUpdateGameTime(24)
GameDay = GameDaysPassed.GetValue() as Int
EndFunction
Function StartSC10()
FS_NQ02_SC10_Museum.ForceStart()
_00E_FS_NQ02_DunkanREF.Disable()
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC10_Marker1)
_00E_FS_NQ02_Travelbox3.Enable()
_00E_HundBelloFleeREF.Enable()
_00E_CapitalCityMaraGaboffREF.Enable()
_00E_CapitalCity_MerrelFunkenfrstREF.Enable()
EndFunction
Function SC10Failsafe()
If (_00E_FS_NQ02_EsmeREF.GetDistance(_00E_FS_NQ02_SC10_Marker3) > 1000)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC10_FailsafeMarker)
EndIf
EndFunction
Function SteintafelFound()
_00E_FadeToBlackControl FadeToBlackControl = GetFadeToBlackControl()
AllowIdleChatter.SetValue(0)
_00E_FS_NQ02_Travelbox3.Disable()
FadeToBlackControl.FadeToBlack()
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC10_Marker5)
_00E_FS_NQ02_WaerterREF.MoveTo(_00E_FS_NQ02_SC10_Marker3)
PlayerREF.MoveTo(_00E_FS_NQ02_SC10_Marker4)
StopTravelWithEsme()
FadeToBlackControl.FadeToBlackBack()
EndFunction
Function StartSC11()
AllowIdleChatter.SetValue(1)
FS_NQ02_SC11_Fahlstern.ForceStart()
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC11_Marker1)
_00E_FS_NQ02_EsmeREF.SetOutfit(_00E_FS_NQ02_EsmeArmorOutfit)
_00E_FS_NQ02_EsmeREF.Additem(_02E_11_RuneSword, 1)
EndFunction
Function EnableSC11Travelbox()
_00E_FS_NQ02_Travelbox5.Enable()
_00E_FS_NQ02_Travelbox6.Enable()
_00E_FS_NQ02_Travelbox7.Enable()
_00E_FS_NQ02_Travelbox8.Enable()
_00E_FS_NQ02_Travelbox9.Enable()
_00E_FS_NQ02_Travelbox10.Enable()
_00E_FS_NQ02_Travelbox11.Enable()
_00E_FS_NQ02_Travelbox12.Enable()
_00E_FS_NQ02_Travelbox13.Enable()
_00E_FS_NQ02_Travelbox14.Enable()
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(1)
StartTravelWithEsme()
EndFunction
Function SC11Failsafe()
If (_00E_FS_NQ02_EsmeREF.GetDistance(_00E_FS_NQ02_FahlsternDoor) > 500)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC11_Marker3)
EndIf
EndFunction
Function SC11Failsafe2()
If (_00E_FS_NQ02_EsmeREF.GetDistance(PlayerREF) > 500)
_00E_FS_NQ02_EsmeREF.MoveTo(PlayerREF)
EndIf
_00E_FS_NQ02_Travelbox14.Disable()
EndFunction
Function SpawnElementar2()
_00E_FS_NQ02_SC11_Barrier.PlaceAtMe(ExplosionRuneShock02)
_00E_FS_NQ02_FahlsternDoor.KnockAreaEffect(1, 300)
SpawnApparition(_00E_FS_NQ02_Phasmalist2REF)
EndFunction
Function DisableFahlsternBarrier()
_00E_FS_NQ02_SC11_Barrier.PlaceAtMe(ExplosionRuneShock02)
_00E_FS_NQ02_SC11_Barrier.Disable()
_00E_FS_NQ02_Travelbox5.Disable()
_00E_FS_NQ02_Travelbox6.Disable()
_00E_FS_NQ02_Travelbox7.Disable()
_00E_FS_NQ02_Travelbox8.Disable()
_00E_FS_NQ02_Travelbox9.Disable()
_00E_FS_NQ02_Travelbox10.Disable()
_00E_FS_NQ02_Travelbox11.Disable()
_00E_FS_NQ02_Travelbox12.Disable()
_00E_FS_NQ02_Travelbox13.Disable()
EndFunction
Function OpenFahlsternDoor()
_00E_FS_NQ02_FahlsternDoor.lock(false)
StartTravelWithEsme()
EndFunction
Function GiveEsmeTorch()
_00E_FS_NQ02_EsmeREF.AddItem(_00E_FS_NQ02_EsmeTorch, 1)
EndFunction
Function StartFahlsternVision1()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC12_FreezeRefs, true)
FS_NQ02_SC12_Vision.ForceStart()
_00E_FS_NQ02_TaraREF.Enable()
_00E_FS_NQ02_TaraREF.MoveTo(_00E_FS_NQ02_SC12_TMarker1)
_00E_FS_NQ02_DalMercerREF.Enable()
_00E_FS_NQ02_DalMercerREF.MoveTo(_00E_FS_NQ02_SC12_DMarker1)
_00E_FS_NQ02_SC12_WomanREF.Enable()
_00E_FS_NQ02_SC12_WomanREF.MoveTo(_00E_FS_NQ02_SC12_WMarker1)
_00E_FS_NQ02_SC12_WomanREF.SetAlpha(0.5)
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.5)
_00E_FS_NQ02_TaraREF.SetAlpha(0.5)
Wait(1.0)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_TaraREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_DalMercerREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC12_WomanREF)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(0)
EndFunction
Function StopFahlsternVision1()
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.0)
_00E_FS_NQ02_TaraREF.SetAlpha(0.0)
_00E_FS_NQ02_SC12_WomanREF.SetAlpha(0.0)
wait(0.1)
_00E_FS_NQ02_DalMercerREF.Disable()
_00E_FS_NQ02_TaraREF.Disable()
_00E_FS_NQ02_SC12_WomanREF.Disable()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC12_FreezeRefs)
FS_NQ02_SC13_AfterVision.ForceStart()
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC13_Marker1)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(1)
EndFunction
Function SpawnElementar3()
_00E_FS_NQ02_Phasmalist3REF.MoveTo(_00E_FS_NQ02_SC13_Marker2)
SpawnApparition(_00E_FS_NQ02_Phasmalist3REF)
EndFunction
Function SpawnElementar4()
_00E_FS_NQ02_Phasmalist4REF.MoveTo(_00E_FS_NQ02_SC13_Marker4)
SpawnApparition(_00E_FS_NQ02_Phasmalist4REF)
EndFunction
Function PrepareFahlsternVision2()
FS_NQ02_SC14_Well.ForceStart()
EndFunction
Function StartFahlsternVision2()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC14_FreezeRefs)
_00E_FS_NQ02_SC14_WomanREF.Enable()
_00E_FS_NQ02_SC14_WomanREF.MoveTo(_00E_FS_NQ02_SC14_WMarker)
_00E_FS_NQ02_SC14_ManREF.Enable()
_00E_FS_NQ02_SC14_ManREF.MoveTo(_00E_FS_NQ02_SC14_MMarker)
_00E_FS_NQ02_SC14_ManREF.SetAlpha(0.5)
_00E_FS_NQ02_SC14_WomanREF.SetAlpha(0.5)
Wait(1.0)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC14_ManREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC14_WomanREF)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(0)
EndFunction
Function StopFahlsternVision2()
_00E_FS_NQ02_SC14_WomanREF.SetAlpha(0.0)
_00E_FS_NQ02_SC14_ManREF.SetAlpha(0.0)
Wait(0.1)
_00E_FS_NQ02_SC14_WomanREF.Disable()
_00E_FS_NQ02_SC14_ManREF.Disable()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC14_FreezeRefs)
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC14_EMarker)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(1)
EndFunction
Function EnableSC15()
_00E_FS_NQ02_SC15_Barrier.Disable()
StartTravelWithEsme()
EndFunction
Function SpawnApparition(Actor akApparition)
akApparition.Enable()
_00E_MQ11a_MagicAnomalyScreamAM.Play(PlayerREF)
akApparition.PlaceAtMe(_00E_FS_NQ02_Phasmalist_EnterWorldExp)
akApparition.SetAlpha(0.5)
_00E_Phasmalist_ApparitionShaderFXS.Play(akApparition)
wait(1.0)
akApparition.StartCombat(PlayerREF)
akApparition.StartCombat(_00E_FS_NQ02_EsmeREF)
_00E_FS_NQ02_EsmeREF.StartCombat(akApparition)
EndFunction
Function SpawnElementar5()
_00E_FS_NQ02_Phasmalist5REF.MoveTo(_00E_FS_NQ02_SC13_Marker5)
SpawnApparition(_00E_FS_NQ02_Phasmalist5REF)
EndFunction
Function PrepareFahlsternVision3()
FS_NQ02_SC15_Granary.ForceStart()
_00E_FS_NQ02_SC12_WomanREF.Enable()
_00E_FS_NQ02_SC12_WomanREF.MoveTo(_00E_FS_NQ02_SC15_Marker1)
_00E_FS_NQ02_SC12_WomanREF.SetAlpha(0.0)
_00E_FS_NQ02_DalMercerREF.Enable()
_00E_FS_NQ02_DalMercerREF.MoveTo(_00E_FS_NQ02_SC15_Marker2)
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.0)
_00E_FS_NQ02_TaraREF.Enable()
_00E_FS_NQ02_TaraREF.MoveTo(_00E_FS_NQ02_SC15_Marker3)
_00E_FS_NQ02_TaraREF.SetAlpha(0.0)
_00E_FS_NQ02_SC14_WomanREF.Enable()
_00E_FS_NQ02_SC14_WomanREF.MoveTo(_00E_FS_NQ02_SC15_Marker4)
_00E_FS_NQ02_SC14_WomanREF.SetAlpha(0.0)
_00E_FS_NQ02_SC15_WomanREF.Enable()
_00E_FS_NQ02_SC15_WomanREF.MoveTo(_00E_FS_NQ02_SC15_Marker5)
_00E_FS_NQ02_SC15_WomanREF.SetAlpha(0.0)
_00E_FS_NQ02_SC14_ManREF.Enable()
_00E_FS_NQ02_SC14_ManREF.MoveTo(_00E_FS_NQ02_SC15_Marker6)
_00E_FS_NQ02_SC14_ManREF.SetAlpha(0.0)
_00E_FS_NQ02_SC15_ManREF.Enable()
_00E_FS_NQ02_SC15_ManREF.MoveTo(_00E_FS_NQ02_SC15_Marker7)
_00E_FS_NQ02_SC15_ManREF.SetAlpha(0.0)
EndFunction
Function StartFahlsternVision3()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC15_FreezeRefs)
_00E_FS_NQ02_CandleMarker.Enable()
_00E_FS_NQ02_SC12_WomanREF.SetAlpha(1.0)
_00E_FS_NQ02_DalMercerREF.SetAlpha(1.0)
_00E_FS_NQ02_TaraREF.SetAlpha(1.0)
_00E_FS_NQ02_SC14_WomanREF.SetAlpha(1.0)
_00E_FS_NQ02_SC15_WomanREF.SetAlpha(1.0)
_00E_FS_NQ02_SC14_ManREF.SetAlpha(1.0)
_00E_FS_NQ02_SC15_ManREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(0)
_00E_FS_NQ02_SC14_ManREF.SetAlpha(0.5)
_00E_FS_NQ02_SC14_WomanREF.SetAlpha(0.5)
_00E_FS_NQ02_SC12_WomanREF.SetAlpha(0.5)
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.5)
_00E_FS_NQ02_TaraREF.SetAlpha(0.5)
_00E_FS_NQ02_SC15_WomanREF.SetAlpha(0.5)
_00E_FS_NQ02_SC15_ManREF.SetAlpha(0.5)
Wait(1.0)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC14_ManREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC14_WomanREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC12_WomanREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_DalMercerREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_TaraREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC15_WomanREF)
MS04MemoryFXBody01VFX.Play(_00E_FS_NQ02_SC15_ManREF)
EndFunction
Function SC15Failsafe()
If _00E_FS_NQ02_SC15_WomanREF.GetDistance(_00E_FS_NQ02_SC15_Marker7) > 30
_00E_FS_NQ02_SC15_WomanREF.MoveTo(_00E_FS_NQ02_SC15_Marker7)
EndIf
If _00E_FS_NQ02_SC15_ManREF.GetDistance(_00E_FS_NQ02_SC15_Marker5) > 30
_00E_FS_NQ02_SC15_ManREF.MoveTo(_00E_FS_NQ02_SC15_Marker5)
EndIf
EndFunction
Function StopFahlsternVision3()
_00E_FS_NQ02_SC12_WomanREF.SetAlpha(0.0)
_00E_FS_NQ02_DalMercerREF.SetAlpha(0.0)
_00E_FS_NQ02_TaraREF.SetAlpha(0.0)
_00E_FS_NQ02_SC14_WomanREF.SetAlpha(0.0)
_00E_FS_NQ02_SC15_WomanREF.SetAlpha(0.0)
_00E_FS_NQ02_SC14_ManREF.SetAlpha(0.0)
_00E_FS_NQ02_SC15_ManREF.SetAlpha(0.0)
_00E_FS_NQ02_EsmeREF.MoveTo(_00E_FS_NQ02_SC15_EsmeMarker)
wait(0.1)
_00E_FS_NQ02_SC12_WomanREF.Disable()
_00E_FS_NQ02_DalMercerREF.Disable()
_00E_FS_NQ02_TaraREF.Disable()
_00E_FS_NQ02_SC14_WomanREF.Disable()
_00E_FS_NQ02_SC15_WomanREF.Disable()
_00E_FS_NQ02_SC14_ManREF.Disable()
_00E_FS_NQ02_SC15_ManREF.Disable()
_00E_FS_NQ02_CandleMarker.Disable()
_00E_PlayerFunctions.GetVisionControl().VisionEffectNoTimestopStop(_00E_FS_NQ02_VisionRefs, _00E_FS_NQ02_SC15_FreezeRefs)
_00E_FS_NQ02_EsmeREF.SetAlpha(1.0)
_00E_FS_NQ02_EsmeMiscTalkVar.SetValue(1)
EndFunction
Function SC15FadeOutIn()
_00E_FadeToBlackControl FadeToBlackControl = GetFadeToBlackControl()
FadeToBlackControl.FadeToBlack()
FadeToBlackControl.FadeToBlackBack()
EndFunction
Function DisableFahlsternWall()
AllowIdleChatter.SetValue(1)
_00E_FS_NQ02_SC15_Wall.Disable()
StartTravelWithEsme()
EndFunction
;=====================================================================================
; EVENTS
;=====================================================================================
Event OnUpdateGameTime() ; because of how we registered, this event occurs every 30 minutes of game time
If (GameDaysPassed.GetValue() + 1 >= GameDay)
SetCurrentStageID(GetCurrentStageID()+10)
UnregisterForUpdateGameTime()
EndIf
EndEvent
;=====================================================================================
; PROPERTIES
;=====================================================================================
int GameDay
GlobalVariable Property AllowIdleChatter Auto
Quest Property FS_NQ02 Auto
Actor Property _00E_FS_NQ02_EsmeREF Auto
Actor Property _00E_FS_NQ02_EsmeLeorREF Auto
Actor Property _00E_FS_NQ02_DunkanREF Auto
Actor Property PlayerREF Auto
Actor Property _00E_FS_NQ02_TaraREF Auto
Actor Property _00E_FS_NQ02_DalMercerREF Auto
Actor Property _00E_FS_NQ02_PhasmalistREF Auto
Actor Property _00E_FS_NQ02_Phasmalist2REF Auto
Actor Property _00E_FS_NQ02_Phasmalist3REF Auto
Actor Property _00E_FS_NQ02_Phasmalist4REF Auto
Actor Property _00E_FS_NQ02_Phasmalist5REF Auto
Actor Property _00E_FS_NQ02_WaerterREF Auto
Actor Property _00E_FS_NQ02_SC12_WomanREF Auto
Actor Property _00E_FS_NQ02_SC14_WomanREF Auto
Actor Property _00E_FS_NQ02_SC14_ManREF Auto
Actor Property _00E_FS_NQ02_SC15_WomanREF Auto
Actor Property _00E_FS_NQ02_SC15_ManREF Auto
Actor Property _00E_HundBelloFleeREF Auto
Actor Property _00E_CapitalCityMaraGaboffREF Auto
Actor Property _00E_CapitalCity_MerrelFunkenfrstREF Auto
Armor Property _00E_TravellingMageArmor_Scarf Auto
Book Property _00E_FS_NQ02_Passagierbuch Auto
Book Property _00E_FS_NQ02_Passagierbuch_Entry Auto
Explosion Property _00E_FS_NQ02_Phasmalist_AppearExp Auto
Explosion Property _00E_FS_NQ02_Phasmalist_EnterWorldExp Auto
Explosion Property ExplosionRuneShock02 Auto
Faction Property PlayerAlliesFaction Auto
Formlist Property _00E_FS_NQ02_VisionRefs Auto
Formlist Property _00E_FS_NQ02_SC04_FreezeRefs Auto
Formlist Property _00E_FS_NQ02_SC08_FreezeRefs Auto
Formlist Property _00E_FS_NQ02_SC12_FreezeRefs Auto
Formlist Property _00E_FS_NQ02_SC14_FreezeRefs Auto
Formlist Property _00E_FS_NQ02_SC15_FreezeRefs Auto
GlobalVariable Property _00E_FS_NQ02_DunkanVar Auto
GlobalVariable Property GameDaysPassed Auto
GlobalVariable Property _00E_FS_NQ02_TravelState Auto
GlobalVariable Property _00E_FS_NQ02_EsmeMiscTalkVar Auto
Light Property _00E_FS_NQ02_EsmeTorch Auto
MusicType Property _00E_SilenceLongTransitionHighPriority Auto
MusicType Property _00E_FS_NQ02_Music_Theme Auto
ObjectReference Property _00E_FS_NQ02_SC01_DisableMarker Auto
ObjectReference Property _00E_FS_NQ02_EsmeChairREF Auto
ObjectReference Property _00E_FS_NQ02_PlayerChairREF Auto
ObjectReference Property _00E_FS_NQ02_SC02_FeuerActivatorREF Auto
ObjectReference Property _00E_FS_NQ02_EsmeLetterREF1 Auto
ObjectReference Property _00E_FS_NQ02_EsmeLetterREF2 Auto
ObjectReference Property _00E_FS_NQ02_EsmeBadehausMarker Auto
ObjectReference Property _00E_FS_NQ02_SC1_SoeldnerTavernMarker Auto
ObjectReference Property _00E_FS_NQ02_SC03_DoorActivatorREF Auto
ObjectReference Property _00E_FS_NQ02_SC03_EsmeMarker Auto
ObjectReference Property _00E_FS_NQ02_SC03_DunkanMarker Auto
ObjectReference Property _00E_FS_NQ02_DalMercerDoor Auto
ObjectReference Property _00E_FS_NQ02_SC07_Door Auto
ObjectReference Property _00E_FS_NQ02_SC07_Marker2 Auto
ObjectReference Property _00E_FS_NQ02_SC07_Marker3 Auto
ObjectReference Property _00E_FS_NQ02_SC07_SchreinActivatorREF Auto
ObjectReference Property _00E_FS_NQ02_SC08_Marker1 Auto
ObjectReference Property _00E_FS_NQ02_SC08_Marker2 Auto
ObjectReference Property _00E_FS_NQ02_SC09_Marker1 Auto
ObjectReference Property _00E_FS_NQ02_SC09_Marker2 Auto
ObjectReference Property _00E_FS_NQ02_SC09_Hebel Auto
ObjectReference Property _00E_FS_NQ02_StatuetteMisc Auto
ObjectReference Property _00E_FS_NQ02_SC10_Marker1 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox1 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox3 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox5 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox6 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox7 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox8 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox9 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox10 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox11 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox12 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox13 Auto
ObjectReference Property _00E_FS_NQ02_Travelbox14 Auto
ObjectReference Property _00E_FS_NQ02_SC10_Marker3 Auto
ObjectReference Property _00E_FS_NQ02_SC10_FailsafeMarker Auto
ObjectReference Property _00E_FS_NQ02_SC10_Marker4 Auto
ObjectReference Property _00E_FS_NQ02_SC10_Marker5 Auto
ObjectReference Property _00E_FS_NQ02_SC11_Marker1 Auto
ObjectReference Property _00E_FS_NQ02_SC11_Marker2 Auto
ObjectReference Property _00E_FS_NQ02_SC11_Barrier Auto
ObjectReference Property _00E_FS_NQ02_FahlsternDoor Auto
ObjectReference Property _00E_FS_NQ02_SC11_Marker3 Auto
ObjectReference Property _00E_FS_NQ02_SC12_TMarker1 Auto
ObjectReference Property _00E_FS_NQ02_SC12_DMarker1 Auto
ObjectReference Property _00E_FS_NQ02_SC12_WMarker1 Auto
ObjectReference Property _00E_FS_NQ02_SC13_Marker1 Auto
ObjectReference Property _00E_FS_NQ02_SC13_Marker2 Auto
ObjectReference Property _00E_FS_NQ02_SC13_Marker4 Auto
ObjectReference Property _00E_FS_NQ02_SC13_Marker5 Auto
ObjectReference Property _00E_FS_NQ02_SC14_WMarker Auto
ObjectReference Property _00E_FS_NQ02_SC14_MMarker Auto
ObjectReference Property _00E_FS_NQ02_SC14_EMarker Auto
ObjectReference Property _00E_FS_NQ02_SC15_Barrier Auto
ObjectReference Property _00E_FS_NQ02_SC15_Marker1 Auto
ObjectReference Property _00E_FS_NQ02_SC15_Marker2 Auto
ObjectReference Property _00E_FS_NQ02_SC15_Marker3 Auto
ObjectReference Property _00E_FS_NQ02_SC15_Marker4 Auto
ObjectReference Property _00E_FS_NQ02_SC15_Marker5 Auto
ObjectReference Property _00E_FS_NQ02_SC15_Marker6 Auto
ObjectReference Property _00E_FS_NQ02_SC15_Marker7 Auto
ObjectReference Property _00E_FS_NQ02_SC15_EsmeMarker Auto
ObjectReference Property _00E_FS_NQ02_SC15_Wall Auto
ObjectReference Property _00E_FS_NQ02_CaravanCampfireOff Auto
ObjectReference Property _00E_FS_NQ02_CandleMarker Auto
ObjectReference Property FS_NQ02_SC03_EsmePortMarkerREF Auto
ObjectReference Property _00E_FS_NQ02_Passagierbuch_EntryREF Auto
ObjectReference Property _00E_FS_NQ02_PassagierbuchREF Auto
Outfit Property _00E_FS_NQ02_EsmeArmorOutfit Auto
Outfit Property _00E_FS_NQ02_EsmeOutfit Auto
Outfit Property _00E_FS_NQ02_CultOutfit Auto
Potion Property FoodSolitudeSpicedWine Auto
ReferenceAlias Property Passagierbuch_Entry Auto
Scene Property FS_NQ02_SC01_Tavern Auto
Scene Property FS_NQ02_SC02_Travel Auto
Scene Property FS_NQ02_SC03_Badehaus Auto
Scene Property FS_NQ02_SC04_Vision Auto
Scene Property FS_NQ02_SC05_AfterVision Auto
Scene Property FS_NQ02_SC06_mitDunkan Auto
Scene Property FS_NQ02_SC06_ohneDunkan Auto
Scene Property FS_NQ02_SC07_Keller Auto
Scene Property FS_NQ02_SC08_Vision Auto
Scene Property FS_NQ02_SC09_AfterVision Auto
Scene Property FS_NQ02_SC10_Museum Auto
Scene Property FS_NQ02_SC11_Fahlstern Auto
Scene Property FS_NQ02_SC12_Vision Auto
Scene Property FS_NQ02_SC13_AfterVision Auto
Scene Property FS_NQ02_SC14_Well Auto
Scene Property FS_NQ02_SC15_Granary Auto
Weapon Property _02E_11_RuneSword Auto
Weapon Property _01E_07_SteelDagger Auto
;=====================================================================================
; CARDGAME - FUNCTIONS
;=====================================================================================
Function PrepareCardgame()
OpenCardInterface()
;CardgameVar1 = 1 -> Spiel 1 gewonnen
;CardgameVar1 = 2 -> Spiel 1 verloren
;CardgameVar1 = 3 -> Spiel 1 unentschieden
;CardgameVar2 = 1 -> Beide Spiele gewonnen
;CardgameVar2 = 2 -> Ein Spiel verloren, ein Spiel gewonnen oder beide Spiele unentschieden
;CardgameVar2 = 3 -> Ein Spiel unentschieden, ein Spiel gewonnen
;CardgameVar2 = 4 -> Ein Spiel unentschieden, ein Spiel verloren
;CardgameVar2 = 5 -> Beide Spiele verloren
EndFunction
Function OpenCardInterface()
s_chargeninitialtext = GetGameSettingString("sCharGenControlsDisabled")
SetGameSettingString("sCharGenControlsDisabled","")
DisablePlayerControls(abMovement = true, abFighting = true, abCamSwitch =true, abLooking = true, abSneaking = true, abMenu = false, abActivate = true, abJournalTabs = false, aiDisablePOVType = 0)
ForceFirstPerson()
Commentator.GetActorBase().SetVoiceType(_00E_FS_NQ02_EsmeREF.GetVoiceType())
Commentator.SetName(_00E_FS_NQ02_EsmeREF.GetDisplayName())
Commentator.SetDisplayName(_00E_FS_NQ02_EsmeREF.GetDisplayName(), true)
SetInChargen(abDisableSaving = true, abDisableWaiting = true, abShowControlsDisabledMessage = true)
Wait(0.3)
PlayerRef.MoveTo(Cameraman)
Wait(1)
PlayCards()
EndFunction
Function PlayCards()
Step01()
EndFunction
int Function Step01() ; place your bet
If PlayerRef.GetItemCount(Gold001) < 20; Failsafe, falls Player kein Gold hat
PlayerRef.AddItem(Gold001, 20, true)
EndIf
If _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) < 160 ; Failsafe, falls Esme kein Gold hat
_00E_FS_NQ02_EsmeREF.AddItem(Gold001, 160, true)
EndIf
; need to calculate the max bet first
If _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) > PlayerRef.GetItemCount(Gold001)
MaxBet = PlayerRef.GetItemCount(Gold001) / 2
ElseIf _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) < PlayerRef.GetItemCount(Gold001)
MaxBet = _00E_FS_NQ02_EsmeREF.GetItemCount(Gold001) / 2
Else
MaxBet = PlayerRef.GetItemCount(Gold001) / 2
EndIf
if EnderalFunctions.TextInputEnabled()
PlayerBet = (((self as QUEST) as FORM) as UILIB_1).ShowTextInput(PlaceYourBet.GetName()+MaxBet, MaxBet) as int
else
int iFallbackBet = _SAG_PlaceYourBet_FallbackMessageEsme.Show()
if iFallbackBet == 3
PlayerBet = 80
elseif iFallbackBet == 2
PlayerBet = 50
elseif iFallbackBet == 1
PlayerBet = 20
else
PlayerBet = 10
endif
endif
If PlayerBet > MaxBet || PlayerBet <= 0
Step01()
RETURN 0
EndIf
PlayerPurse.EnableNoWait(true)
OpponentBet = RandomInt(PlayerBet +(-3) , PlayerBet +5)
If OpponentBet <= 0
OpponentBet = PlayerBet
EndIf
GlobalBet = OpponentBet + PlayerBet
_00E_FS_NQ02_PC_BetMessage.Show(PlayerBet, OpponentBet, GlobalBet)
EnemyPurse.EnableNoWait(true)
;RegisterForKey(14) ; not doing anything
;RegisterForKey(271)
Step02()
Return PlayerBet
EndFunction
Function Step02() ; take player's cards
PCardLeft = RandomInt(0, 9)
PCardMiddle = RandomInt(0, 9)
PCardRight = RandomInt(0, 9)
totalplayer = 3 + PCardLeft + PCardMiddle + PCardRight
int BoostPrice = (PlayerBet*45)/100
Wait(2.0)
CardFlip.Play(PlayerRef)
PlayersLeft[PCardLeft].EnableNoWait(true)
Wait(2)
CardFlip.Play(PlayerRef)
PlayersRight[PCardRight].EnableNoWait(true)
Wait(2)
CardFlip.Play(PlayerRef)
PlayersMiddle[PCardMiddle].EnableNoWait(true)
Wait(2)
totalplayer = 3 + PCardLeft + PCardMiddle + PCardRight ;update+utility.wait in case the player cheated or was caught cheating
PlayerScore.Show(totalplayer)
int choicedices = _00E_FS_NQ02_PC_ThrowDices.Show(BoostPrice)
If ChoiceDices == 0
_00E_TavernGames_DiceRollM.Play(PlayerRef)
Wait(0.75)
int Dices = RandomInt(2, 12)
PlayerDice01 = RandomInt(1,6)
PlayerDice02 = RandomInt(1,6)
Dices = PlayerDice01 +PlayerDice02
PlayerDiceGroup01[PlayerDice01+(-1)].Enable(true)
PlayerDiceGroup02[PlayerDice02+(-1)].Enable(true)
totalplayer = totalplayer + Dices
PlayerRef.RemoveItem(Gold001, BoostPrice, false, _00E_FS_NQ02_EsmeREF)
_00E_FS_NQ02_PC_DicesResult.Show(Dices, totalplayer)
EndIf
Step03()
EndFunction
Function Step03() ; take opponent's cards
Wait(1.5)
ECardLeft = RandomInt(0, 9)
ECardRight = RandomInt(0, 9)
ECardMiddle = RandomInt(0, 9)
totalEnemy = 3 + ECardLeft + EcardRight + EcardMiddle
int EBoostPrice = (OpponentBet*45)/100
int EnemyDices = RandomInt(2, 12)
OpponentDice01 = RandomInt(1,6)
OpponentDice02 = RandomInt(1,6)
EnemyDices = OpponentDice01 + OpponentDice02
CardFlip.Play(PlayerRef)
EnemyMiddle[ECardMiddle].EnableNoWait(true)
Wait(2)
CardFlip.Play(PlayerRef)
EnemyRight[ECardRight].EnableNoWait(true)
Wait(2)
CardFlip.Play(PlayerRef)
EnemyLeft[ECardLeft].EnableNoWait(true)
Wait(2.0)
If totalEnemy > totalplayer
_00E_FS_NQ02_PC_EnemyResult.Show(totalEnemy)
ElseIf totalEnemy + 11 >= totalplayer
_00E_TavernGames_DiceRollM.Play(PlayerRef)
Wait(0.75)
OpponentDiceGroup01[OpponentDice01+(-1)].Enable(true)
OpponentDiceGroup02[OpponentDice02+(-1)].Enable(true)
_00E_FS_NQ02_PC_EnemyDicesResult.Show(totalEnemy, EnemyDices, EBoostPrice)
_00E_FS_NQ02_EsmeREF.RemoveItem(Gold001, EBoostPrice, false, PlayerRef)
totalEnemy = totalEnemy + EnemyDices
Else
_00E_FS_NQ02_PC_EnemyResult.Show(totalEnemy)
EndIf
Step04()
EndFunction
Function Step04() ; check who won
If totalEnemy > totalPlayer
_00E_FS_NQ02_PC_EnemyWon.Show(totalplayer, totalEnemy, GlobalBet)
PlayerRef.RemoveItem(Gold001, PlayerBet, false, _00E_FS_NQ02_EsmeREF)
LostGames.Value += 1
LostBets.Value += GlobalBet
If _00E_FS_NQ02_CardgameVar1.GetValue() == 0
_00E_FS_NQ02_CardgameVar1.SetValue(2)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 1
_00E_FS_NQ02_CardgameVar2.SetValue(2)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 2
_00E_FS_NQ02_CardgameVar2.SetValue(5)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 3
_00E_FS_NQ02_CardgameVar2.SetValue(4)
EndIf
Wait(4)
ElseIf totalEnemy < totalPlayer
_SAG_PC_Victory_MT.Add()
_00E_FS_NQ02_PC_PlayerWon.Show(totalplayer, totalEnemy, GlobalBet)
_00E_FS_NQ02_EsmeREF.RemoveItem(Gold001, OpponentBet, false, PlayerRef)
WonGames.Value += 1
WonBets.Value += GlobalBet
If _00E_FS_NQ02_CardgameVar1.GetValue() == 0
_00E_FS_NQ02_CardgameVar1.SetValue(1)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 1
_00E_FS_NQ02_CardgameVar2.SetValue(1)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 2
_00E_FS_NQ02_CardgameVar2.SetValue(2)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 3
_00E_FS_NQ02_CardgameVar2.SetValue(3)
EndIf
Wait(4)
ElseIf totalEnemy == totalPlayer
_00E_FS_NQ02_PC_NoOneWon.Show(totalplayer, totalEnemy)
ExAequo.Value += 1
If _00E_FS_NQ02_CardgameVar1.GetValue() == 0
_00E_FS_NQ02_CardgameVar1.SetValue(3)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 1
_00E_FS_NQ02_CardgameVar2.SetValue(3)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 2
_00E_FS_NQ02_CardgameVar2.SetValue(4)
ElseIf _00E_FS_NQ02_CardgameVar1.GetValue() == 3
_00E_FS_NQ02_CardgameVar2.SetValue(2)
EndIf
Wait(4)
EndIf
FinishGameAndClearUp()
EndFunction
Function FinishGameAndClearUp()
PlayerDiceGroup01[PlayerDice01+(-1)].Disable(false)
PlayerDiceGroup02[PlayerDice02+(-1)].Disable(false)
OpponentDiceGroup01[OpponentDice01+(-1)].Disable(false)
OpponentDiceGroup02[OpponentDice02+(-1)].Disable(false)
PlayersLeft[PCardLeft].Disable(FALSE)
PlayersRight[PCardRight].Disable(false)
PlayersMiddle[PCardMiddle].Disable(false)
EnemyLeft[ECardLeft].Disable(false)
EnemyRight[ECardRight].Disable(false)
EnemyMiddle[ECardMiddle].Disable(false)
EnemyPurse.Disable(false)
PlayerPurse.Disable(false)
_SAG_PC_Victory_MT.Remove()
playerbet = 0
opponentbet = 0
globalbet = 0
totalplayer = 0
totalenemy = 0
SetCurrentStageID(GetCurrentStageID()+5)
PlayerREF.MoveTo(_00E_FS_NQ02_PlayerChairREF)
EnablePlayerControls()
if SKSE.GetVersion()
SetGameSettingString("sCharGenControlsDisabled", s_chargeninitialtext)
endif
SetInChargen(abDisableSaving = false, abDisableWaiting = true, abShowControlsDisabledMessage = false)
EndFunction
;=====================================================================================
; CARDGAME - PROPERTIES
;=====================================================================================
String s_chargeninitialtext
Int TotalEnemy = 0
Int OpponentBet = 0
Int MaxBet = 0
Int Property TotalPlayer = 0 Auto
Int GlobalBet = 0
Int Property PlayerBet = 0 Auto
Int PlayerDice01
Int PlayerDice02
Int ReplacedCard
Int ECardMiddle
Int ECardLeft
Int ECardRight
Int PCardMiddle
Int PCardLeft
Int PCardRight
Int PCardLeftBeforeCheat
Int PCardMiddleBeforeCheat
Int PCardRightBeforeCheat
Int OpponentDice01
Int OpponentDice02
Spell Property dunReanimateSelf Auto
Actor Property Commentator Auto
Message Property PlaceYourBet Auto
Message Property _SAG_PlaceYourBet_FallbackMessageEsme Auto
GlobalVariable Property ExAequo Auto
GlobalVariable Property WonGames Auto
GlobalVariable Property LostGames Auto
GlobalVariable Property LostBets Auto
GlobalVariable Property WonBets Auto
GlobalVariable Property _00E_FS_NQ02_CardgameVar1 Auto
GlobalVariable Property _00E_FS_NQ02_CardgameVar2 Auto
VisualEffect Property MS04MemoryFXBody01VFX Auto
Message Property PlayerScore Auto
Message Property _00E_FS_NQ02_PC_DicesResult Auto
Message Property _00E_FS_NQ02_PC_ThrowDices Auto
Message Property _00E_FS_NQ02_PC_BetMessage Auto
Message Property _00E_FS_NQ02_PC_EnemyDicesResult Auto
Message Property _00E_FS_NQ02_PC_EnemyResult Auto
Message Property _00E_FS_NQ02_PC_PlayerWon Auto
Message Property _00E_FS_NQ02_PC_EnemyWon Auto
Message Property _00E_FS_NQ02_PC_NoOneWon Auto
ObjectReference Property EnemyPurse Auto
ObjectReference Property PlayerPurse Auto
ObjectReference Property Cameraman Auto
ObjectReference Property PlayCards_ThiefShouter Auto
ObjectReference Property CommentatorMoveToREF Auto
;PLAYER CARDS
ObjectReference[] Property PlayersLeft Auto
ObjectReference[] Property PlayersMiddle Auto
ObjectReference[] Property PlayersRight Auto
; OPPONENT CARDS
ObjectReference[] Property EnemyLeft Auto
ObjectReference[] Property EnemyMiddle Auto
ObjectReference[] Property EnemyRight Auto
ObjectReference[] Property PlayerDiceGroup01 Auto
ObjectReference[] Property PlayerDiceGroup02 Auto
ObjectReference[] Property OpponentDiceGroup01 Auto
ObjectReference[] Property OpponentDiceGroup02 Auto
MusicType Property _SAG_PC_Victory_MT Auto
EffectShader Property _00E_Phasmalist_ApparitionShaderFXS Auto
Sound Property CardFlip Auto
Sound Property _00E_MQ11a_MagicAnomalyScreamAM Auto
Sound Property _00E_TavernGames_ThiefShoutM Auto
Sound Property _00E_TavernGames_DiceRollM Auto
Sound Property _00E_MAGFXFireOilIgniteLow Auto
Sound Property _00E_FS_Phasmalist_EnterWorld_Male Auto
MiscObject Property Gold001 Auto