Scriptname _FS_Theriantrophist_AffinityControl extends Quest  

_00E_FS_Affinity_DruidSC affinityDruidEventListener
_00E_FS_Affinity_BruteSC affinityBruteEventListener
_00E_FS_Affinity_NightwolfSC affinityNightwolfEventListener

Function RegisterForDruidAffinityEvents(_00E_FS_Affinity_DruidSC listener)
	affinityDruidEventListener = listener
EndFunction

Function UnRegisterForDruidAffinityEvents()
	affinityDruidEventListener = None
EndFunction

Function RegisterForBruteAffinityEvents(_00E_FS_Affinity_BruteSC listener)
	affinityBruteEventListener = listener
EndFunction

Function UnRegisterForBruteAffinityEvents()
	affinityBruteEventListener = None
EndFunction

Function RegisterForNightwolfAffinityEvents(_00E_FS_Affinity_NightwolfSC listener)
	affinityNightwolfEventListener = listener
EndFunction

Function UnRegisterForNightwolfAffinityEvents()
	affinityNightwolfEventListener = None
EndFunction

Function OnTransform(bool toWolf)
	if (toWolf && affinityDruidEventListener)
		affinityDruidEventListener.OnTransformToWolf()
	Endif
EndFunction

Function OnWolfCombatHit(Actor target)
	if (affinityBruteEventListener)
		affinityBruteEventListener.OnWolfCombatHit(target)
	EndIf
EndFunction

Function OnSneak(bool sneakStart)
	if (sneakStart && affinityNightwolfEventListener)
		affinityNightwolfEventListener.OnSneakStart()
	EndIf
EndFunction