Scriptname _00E_SympathyControl extends Quest

int function _GetScriptVersion() Global
	return 1
endFunction

;=====================================================================================
;   		      						SYMPATHY            					 
;=====================================================================================

Function ModSympathyNG(Actor akSympathyActor, int iSympathyMod, bool bIsFlirt = False, bool bStringOverride = False, String sOverride = "") 

	Levelsystem_SympathyActor.ForceRefTo(akSympathyActor)

	ActorBase sympathyBase = akSympathyActor.GetActorBase()

	If sympathyBase == _00E_MC_Jespar
		SympathyJespar.Mod(iSympathyMod)
	ElseIf sympathyBase == _00E_MC_Calia
		SympathyCalia.Mod(iSympathyMod)
	ElseIf sympathyBase == _00E_CapitalCityMaelGroschenfrst
		SympathyMaelGroschenfuerst.Mod(iSympathyMod)
	ElseIf sympathyBase == _00E_SC_Dijaam
		SympathyDijaam.Mod(iSympathyMod)
	ElseIf sympathyBase == _00E_SC_Tharael
		SympathyTharael.Mod(iSympathyMod)
	ElseIf sympathyBase == _00E_MQ11c_Ryneus
		SympathyRyneus.Mod(iSympathyMod)
	ElseIf sympathyBase == _00E_MC_Yuslan
		SympathyYuslan.Mod(iSympathyMod)
	ElseIf sympathyBase == _00E_FS_NQ02_Esme
		SympathyEsme.Mod(iSympathyMod)
	EndIf
	
	If bIsFlirt 
		If sympathyBase == _00E_MC_Jespar
			JesparFlirtCounter.SetValueInt(JesparFlirtCounter.GetValueInt() + 1)
		ElseIf sympathyBase == _00E_MC_Calia
			CaliaFlirtCounter.SetValueInt(CaliaFlirtCounter.GetValueInt() + 1)
		ElseIf sympathyBase == _00E_SC_Dijaam
			DijaamFlirtCounter.SetValueInt(DijaamFlirtCounter.GetValueInt() + 1)
		ElseIf sympathyBase == _00E_SC_Tharael
			TharaelFlirtCounter.SetValueInt(TharaelFlirtCounter.GetValueInt() + 1)
		EndIf
	EndIf
	
	String sActorName = sympathyBase.GetName()

	If !bStringOverride
		If (iSympathyMod > 0) && (iSympathyMod <= 5) 
			_00E_Levelsystem_sApproves.Show()
			; Debug.Notification(sActorName + sLevelsystemAppreciate + ".")
		ElseIf (iSympathyMod > 5) && (iSympathyMod <= 10) 
			_00E_Levelsystem_sAppreciates.Show()
			; Debug.Notification(sActorName + sLevelsystemAppreciateALot + ".")
		ElseIf (iSympathyMod > 10) && (iSympathyMod <= 20) 
			_00E_Levelsystem_sAppreciatesALot.Show()
			; Debug.Notification(sActorName + sLevelsystemApproves + ".")
		ElseIf (iSympathyMod < 0) && (iSympathyMod >= -5) 
			_00E_Levelsystem_sDislikes.Show()
			; Debug.Notification(sActorName + sLevelsystemDislikes + ".")
		ElseIf (iSympathyMod < -5) && (iSympathyMod >= -10) 
			_00E_Levelsystem_sHurt.Show()
			; Debug.Notification(sActorName + sLevelsystemOffended + ".")
		ElseIf (iSympathyMod < -10) && (iSympathyMod >= -20) 
			_00E_Levelsystem_sVeryHurt.Show()
			; Debug.Notification(sActorName + sLevelsystemVeryOffended + ".")
		EndIf
	Else
		Debug.Notification(sActorName + sOverride)
	EndIf
	
EndFunction

Function ShowFailedMessage(String companionName = "Jespar")

	if companionName == "Jespar" && _00E_DisableQuestTutorials.GetValueInt() == 0
		_00E_Tutorial_Companions02_Jespar.Show()
	ElseIf _00E_DisableQuestTutorials.GetValueInt() == 0
		_00E_Tutorial_Companions02_Calia.Show()
	EndIf
	
EndFunction


;=====================================================================================
;              							PROPERTIES                  					 
;=====================================================================================

ActorBase Property _00E_MC_Jespar Auto
ActorBase Property _00E_MC_Calia Auto
ActorBase Property _00E_SC_Tharael Auto
ActorBase Property _00E_SC_Dijaam Auto
ActorBase Property _00E_MQ11c_Ryneus Auto
ActorBase Property _00E_CapitalCityMaelGroschenfrst Auto
ActorBase Property _00E_MC_Yuslan Auto
ActorBase Property _00E_FS_NQ02_Esme Auto

GlobalVariable Property SympathyTharael Auto
GlobalVariable Property SympathyJespar Auto
GlobalVariable Property SympathyDijaam Auto
GlobalVariable Property SympathyMaelGroschenfuerst Auto
GlobalVariable Property SympathyCalia Auto
GlobalVariable Property SympathyYuslan Auto
GlobalVariable Property SympathyEsme Auto
GlobalVariable Property SympathyRyneus auto

GlobalVariable Property CaliaFlirtCounter Auto
GlobalVariable Property DijaamFlirtCounter Auto
GlobalVariable Property JesparFlirtCounter Auto
GlobalVariable Property TharaelFlirtCounter Auto

GlobalVariable Property _00E_DisableQuestTutorials Auto
GlobalVariable Property _00E_DisableSkillTutorials Auto

ReferenceAlias Property Levelsystem_SympathyActor Auto

Actor Property PlayerREF Auto

Message Property _00E_Tutorial_Companions02_Jespar Auto
Message Property _00E_Tutorial_Companions02_Calia Auto

Message Property _00E_Levelsystem_sApproves Auto
Message Property _00E_Levelsystem_sAppreciates Auto
Message Property _00E_Levelsystem_sAppreciatesALot Auto
Message Property _00E_Levelsystem_sDislikes Auto
Message Property _00E_Levelsystem_sHurt Auto
Message Property _00E_Levelsystem_sVeryHurt Auto
Message Property _00E_Levelsystem_sDoesNotTrust Auto
Message Property _00E_Levelsystem_sExtremelyHurt Auto
Message Property _00E_Levelsystem_sIsHurt Auto