scriptName defaultEnableEncLinkedRef extends ObjectReference
{
- This script enables its linkedRef based on a the player's level compared to a global
}

bool Property PlayerOnly = TRUE auto
{Does this only trigger for the player? (DEFAULT = TRUE)}

bool Property Fade = FALSE auto
{Fade in/out when enabled (DEFAULT = FALSE)}

GlobalVariable Property EncounterGlobal auto
{usually will use global prefixed with LevelGate, for example LevelGateHagraven}

; ObjectReference myLinkedRef

;****************************

Event onCellLoad()
	;myLinkedRef = getLinkedRef()
endEvent

;****************************

Auto State waiting
	Event onTriggerEnter(ObjectReference triggerRef)
		Actor playerRef = Game.GetPlayer()
		if (PlayerOnly == False) || (triggerRef == playerRef)
			if (EncounterGlobal == None) || (playerRef.getLevel() >= EncounterGlobal.getValue())
				gotoState ("done")
				;USKP 2.0.4 - Using the myLinkedRef variable is unreliable because OnCellLoad events suck.
				getLinkedRef().enable(Fade)
			endif
		endif
	endEvent

endState

;****************************

State done
	Event onTriggerEnter(ObjectReference triggerRef)
		;do nothing
	endEvent
endState

;****************************