1
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

38 lines
1.2 KiB

Scriptname _00E_CombatSoundtrackScript extends Actor
Event OnUpdate()
Actor player = Game.GetForm(0x14) as Actor
If player.IsInCombat()
RegisterForSingleUpdate(2.0)
ElseIf Triggered
Triggered = False
_00E_PlayerFunctions.GetCombatMusicControl().StopCombatMusic()
EndIf
EndEvent
Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
If !_00E_Music_Combat_Regular
Debug.Trace(self + ": _00E_Music_Combat_Regular property is empty")
Return
EndIf
If aeCombatState == 1
Actor player = Game.GetForm(0x14) as Actor
If akTarget == player
Int encounterLevel = GetLevel()
If encounterLevel >= 20 || (encounterLevel >= (PlayerLevel.GetValue() - 15)) || HasKeyword(ActorTypeBoss) ; Frage ab ob Gegnerstufe über Spielerstufe oder Boss ist, wenn ja spiele Combatmusic
If Triggered == False ; player.IsInCombat() &&
Triggered = _00E_PlayerFunctions.GetCombatMusicControl().StartCombatMusic(_00E_Music_Combat_Regular)
If Triggered
RegisterForSingleUpdate(5.0)
EndIf
EndIf
EndIf
EndIf
EndIf
EndEvent
MusicType Property _00E_Music_Combat_Regular Auto
GlobalVariable Property PlayerLevel Auto
Keyword Property ActorTypeBoss Auto
Bool Triggered = False