Scriptname CWCatapultStrikeSpawnerScript extends ObjectReference Sound Property AMBrCivilWarCatapultsDistantM Auto Activator Property CWCatapultStrike Auto {BASEOBJECT: Pointer to CWCatapultStrike activator} int numLinkedRefs int lastChosenLink Event OnLoad() lastChosenLink = 0 numLinkedRefs = countLinkedRefChain() EndEvent Function CallCatapultStrike() ;Call a catapult strike sfx on itself (0) or a random linkedref (n) ;note: it won't ever call a strike on the same marker more than once, unless there aren't any links int randomLinkNum = lastChosenLink While randomLinkNum == lastChosenLink && NumLinkedRefs != 0 randomLinkNum = Utility.RandomInt(0, numLinkedRefs) EndWhile lastChosenLink = randomLinkNum ObjectReference placeAtRef = GetNthLinkedRef(randomLinkNum) placeAtRef.placeAtMe(CWCatapultStrike) AMBrCivilWarCatapultsDistantM.Play(placeAtRef) EndFunction