Tutorial Old Behavior Script Helpers - LaughingLeader-DOS2-Mods/LeaderLib GitHub Wiki

Behavior-Based Object Timers

Variables

Variable Type Description
LeaderLib_Timer_CompleteEvent String This event is called when the timer finishes.
LeaderLib_Timer_Delay Integer The timer's delay in milliseconds

Starting Event

Event Name Type Description
LeaderLib_Commands_StartObjectTimer Character/Item Event This event starts the timer.

Example

This set of events delays applying FORTIFIED by use of an object timer, to allow a few frames for armor to fully update after blocking.

EVENT MyMod_StartBlockTimer
VARS
	CHARACTER:_Character
ON
	OnBlock(_Character, _, _, _)
ACTIONS
IF "c1"
	CharacterHasTalent(_Character, IncreasedArmor)
THEN
	SetVar(_Character, "LeaderLib_Timer_CompleteEvent", STRING:"MyMod_Events_ApplyBlockBonus")
	SetVar(_Character, "LeaderLib_Timer_Delay", INT:500)
	CharacterEvent(_Character, "LeaderLib_Commands_StartObjectTimer")
ENDIF

EVENT MyMod_ApplyBlockBonus
VARS
	CHARACTER:_Character
	FLOAT:_Armor
ON
	OnCharacterEvent(_Character, "MyMod_Events_ApplyBlockBonus")
ACTIONS
IF "c1&(c2|c3)"
	CharacterGetStat(_Armor, _Character, PhysicalArmorPoints)
	IsLessThen(_Armor, 1)
	IsEqual(_Armor, 0)
THEN
	CharacterApplyStatus(_Character, FORTIFIED, 1)
ENDIF

Event Documentation

A spreadsheet of events that call procedures (a.k.a. "Command Events") can be found here: LeaderLib: Command Events.

⚠️ **GitHub.com Fallback** ⚠️