Code:
@> Comment: =====
@> Comment: CALLERS: "Enemy*AttackControl" COMMON EVENTS (>= 0111)
@> Comment: =====
@> Comment: CHOOSES AN ACTION OUT OF THE ACTION LIST BASED ON RATING
: : WITH A RANDOM FACTOR.
: :
: : NOTE: ACTIONS MUST BE DEFINED IN ORDER BY DESCENDING RATING.
@> Conditional Branch: Variable [0090:enemyID] == 1
@> Control Variables: [0621:enemyRefAction1] = Variable [0201]
@> Control Variables: [0622:enemyRefAction2] = Variable [0202]
@> Control Variables: [0623:enemyRefAction3] = Variable [0203]
@> Control Variables: [0624:enemyRefAction4] = Variable [0204]
@> Control Variables: [0625:enemyRefAction5] = Variable [0205]
@> Control Variables: [0626:enemyRefAction1Rat.] = Variable [0206]
@> Control Variables: [0627:enemyRefAction2Rat.] = Variable [0207]
@> Control Variables: [0628:enemyRefAction3Rat.] = Variable [0208]
@> Control Variables: [0629:enemyRefAction4Rat.] = Variable [0209]
@> Control Variables: [0630:enemyRefAction5Rat.] = Variable [0210]
@> Control Variables: [0631:enemyRefActiveAction] = 211
@>
: Else
@> Conditional Branch: Variable [0090:enemyID] == 2
@> Control Variables: [0621:enemyRefAction1] = Variable [0221]
@> Control Variables: [0622:enemyRefAction2] = Variable [0222]
@> Control Variables: [0623:enemyRefAction3] = Variable [0223]
@> Control Variables: [0624:enemyRefAction4] = Variable [0224]
@> Control Variables: [0625:enemyRefAction5] = Variable [0225]
@> Control Variables: [0626:enemyRefAction1Rat.] = Variable [0226]
@> Control Variables: [0627:enemyRefAction2Rat.] = Variable [0227]
@> Control Variables: [0628:enemyRefAction3Rat.] = Variable [0228]
@> Control Variables: [0629:enemyRefAction4Rat.] = Variable [0229]
@> Control Variables: [0630:enemyRefAction5Rat.] = Variable [0230]
@> Control Variables: [0631:enemyRefActiveAction] = 231
@>
: Else
@> Conditional Branch: Variable [0090:enemyID] == 3
@> Control Variables: [0621:enemyRefAction1] = Variable [0241]
@> Control Variables: [0622:enemyRefAction2] = Variable [0242]
@> Control Variables: [0623:enemyRefAction3] = Variable [0243]
@> Control Variables: [0624:enemyRefAction4] = Variable [0244]
@> Control Variables: [0625:enemyRefAction5] = Variable [0245]
@> Control Variables: [0626:enemyRefAction1Rat.] = Variable [0246]
@> Control Variables: [0627:enemyRefAction2Rat.] = Variable [0247]
@> Control Variables: [0628:enemyRefAction3Rat.] = Variable [0248]
@> Control Variables: [0629:enemyRefAction4Rat.] = Variable [0249]
@> Control Variables: [0630:enemyRefAction5Rat.] = Variable [0250]
@> Control Variables: [0631:enemyRefActiveAction] = 251
@>
: Else
@> Conditional Branch: Variable [0090:enemyID] == 4
@> Control Variables: [0621:enemyRefAction1] = Variable [0261]
@> Control Variables: [0622:enemyRefAction2] = Variable [0262]
@> Control Variables: [0623:enemyRefAction3] = Variable [0263]
@> Control Variables: [0624:enemyRefAction4] = Variable [0264]
@> Control Variables: [0625:enemyRefAction5] = Variable [0265]
@> Control Variables: [0626:enemyRefAction1Rat.] = Variable [0266]
@> Control Variables: [0627:enemyRefAction2Rat.] = Variable [0267]
@> Control Variables: [0628:enemyRefAction3Rat.] = Variable [0268]
@> Control Variables: [0629:enemyRefAction4Rat.] = Variable [0269]
@> Control Variables: [0630:enemyRefAction5Rat.] = Variable [0270]
@> Control Variables: [0631:enemyRefActiveAction] = 271
@>
: Else
@> Conditional Branch: Variable [0090:enemyID] == 5
@> Control Variables: [0621:enemyRefAction1] = Variable [0281]
@> Control Variables: [0622:enemyRefAction2] = Variable [0282]
@> Control Variables: [0623:enemyRefAction3] = Variable [0283]
@> Control Variables: [0624:enemyRefAction4] = Variable [0284]
@> Control Variables: [0625:enemyRefAction5] = Variable [0285]
@> Control Variables: [0626:enemyRefAction1Rat.] = Variable [0286]
@> Control Variables: [0627:enemyRefAction2Rat.] = Variable [0287]
@> Control Variables: [0628:enemyRefAction3Rat.] = Variable [0288]
@> Control Variables: [0629:enemyRefAction4Rat.] = Variable [0289]
@> Control Variables: [0630:enemyRefAction5Rat.] = Variable [0290]
@> Control Variables: [0631:enemyRefActiveAction] = 291
@>
: Branch End
@>
: Branch End
@>
: Branch End
@>
: Branch End
@>
: Branch End
@> Control Variables: [0082:enemyActionSum] = Variable [0626]
@> Control Variables: [0082:enemyActionSum] += Variable [0627]
@> Control Variables: [0082:enemyActionSum] += Variable [0628]
@> Control Variables: [0082:enemyActionSum] += Variable [0629]
@> Control Variables: [0082:enemyActionSum] += Variable [0630]
@> Loop
@> Control Variables: [0083:enemyActionRandomNum] = Random No. (0...100)
@> Conditional Branch: Variable [0083:enemyActionRandomNum] < Variable [0082:enemyActionSum]
@> Break Loop
@>
: Else
@>
: Branch End
@>
: Repeat Above
@> Comment: PUTS ALL ACTIONS TO THE POOL WITH A RATING GREATER THAN THE
: : RANDOM NUMBER
@> Conditional Branch: Variable [0083:enemyActionRandomNum] < Variable [0630:enemyRefAction5Rat.]
@> Control Switches: [0088:enemyAction5InPool] = ON
@>
: Else
@> Control Variables: [0083:enemyActionRandomNum] -= Variable [0630]
@>
: Branch End
@> Conditional Branch: Variable [0083:enemyActionRandomNum] < Variable [0629:enemyRefAction4Rat.]
@> Control Switches: [0087:enemyAction4InPool] = ON
@>
: Else
@> Control Variables: [0083:enemyActionRandomNum] -= Variable [0629]
@>
: Branch End
@> Conditional Branch: Variable [0083:enemyActionRandomNum] < Variable [0628:enemyRefAction3Rat.]
@> Control Switches: [0086:enemyAction3InPool] = ON
@>
: Else
@> Control Variables: [0083:enemyActionRandomNum] -= Variable [0628]
@>
: Branch End
@> Conditional Branch: Variable [0083:enemyActionRandomNum] < Variable [0627:enemyRefAction2Rat.]
@> Control Switches: [0085:enemyAction2InPool] = ON
@>
: Else
@> Control Variables: [0083:enemyActionRandomNum] -= Variable [0627]
@>
: Branch End
@> Conditional Branch: Variable [0083:enemyActionRandomNum] < Variable [0626:enemyRefAction1Rat.]
@> Control Switches: [0084:enemyAction1InPool] = ON
@>
: Branch End
@> Comment: RANDOMLY PICKS ONE OF THE POSSIBLE ACTIONS
@> Loop
@> Control Variables: [0084:enemyActionPick] = Random No. (1...5)
@> Conditional Branch: Variable [0084:enemyActionPick] == 1
@> Conditional Branch: Switch [0084:enemyAction1InPool] is ON
@> Control Variables: Variable [0631] = Variable [0621]
@> Break Loop
@>
: Branch End
@>
: Else
@> Conditional Branch: Variable [0084:enemyActionPick] == 2
@> Conditional Branch: Switch [0085:enemyAction2InPool] is ON
@> Control Variables: Variable [0631] = Variable [0622]
@> Break Loop
@>
: Branch End
@>
: Else
@> Conditional Branch: Variable [0084:enemyActionPick] == 3
@> Conditional Branch: Switch [0086:enemyAction3InPool] is ON
@> Control Variables: Variable [0631] = Variable [0623]
@> Break Loop
@>
: Branch End
@>
: Else
@> Conditional Branch: Variable [0084:enemyActionPick] == 4
@> Conditional Branch: Switch [0087:enemyAction4InPool] is ON
@> Control Variables: Variable [0631] = Variable [0624]
@> Break Loop
@>
: Branch End
@>
: Else
@> Conditional Branch: Variable [0084:enemyActionPick] == 5
@> Conditional Branch: Switch [0088:enemyAction5InPool] is ON
@> Control Variables: Variable [0631] = Variable [0625]
@> Break Loop
@>
: Branch End
@>
: Branch End
@>
: Branch End
@>
: Branch End
@>
: Branch End
@>
: Branch End
@>
: Repeat Above
@> Comment: CLEAR POOL
@> Control Switches: [0084..0088] = OFF