-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathdocudemon_conditions.txt
2950 lines (2944 loc) · 144 KB
/
docudemon_conditions.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Triggers, conditions and events
===============================
Triggers are data objects consisting of an event on which to test, a number of
conditions, and a list of effects. These effects can be upon character traits
or upon advice, although this could easily be extended to other domains of
activity such as the world, the empire, diplomacy &c.
The triggers themselves are not encoded in the project - they are read in from
an external file and instantiations of triggers are stored in an array indexed
by their event.
If you wish to add new triggers, consult the list of extant triggers and see if
you are merely redefining a trigger that already exists. You can do this by
examining the advice and VnV spreadsheets. If you are satisfied that this is
indeed a new trigger, ask yourself when the trigger should be tested, and under
what conditions the trigger should fire. If either the condition or the event
is unavailable, request that they be added to the set.
Conditions which take no logic_token in their parameter list can be negated by
prepending them with not, e.g. not WonBattle
The events are in events.txt. This document contains the current set of
conditions. They are:
---------------------------------------------------
Identifier: I_InBattle
Trigger requirements:
Parameters: None
Sample use: InBattle
Description: Are we in battle?
Battle or Strat: Either
Class: IN_BATTLE
Implemented: Yes
---------------------------------------------------
Identifier: WonBattle
Trigger requirements: character_record
Parameters: None
Sample use: WonBattle
Description: Did the general win the battle just fought?
Battle or Strat: Either
Class: WON_BATTLE
Implemented: Yes
---------------------------------------------------
Identifier: I_WonBattle
Trigger requirements:
Parameters: None
Sample use: I_WonBattle romans_julii
Description: Did the faction win the battle just fought?
Battle or Strat: Either
Class: I_WON_BATTLE
Implemented: No
---------------------------------------------------
Identifier: Routs
Trigger requirements: character_record
Parameters: None
Sample use: Routs
Description: Did the general's unit rout in the battle just fought?
Battle or Strat: Either
Class: ROUTS
Implemented: Yes
---------------------------------------------------
Identifier: Ally_Routs
Trigger requirements: character_record
Parameters: None
Sample use: Ally_Routs
Description: Did any ally's general's units rout in the battle just fought?
Battle or Strat: Either
Class: ALLY_ROUTS
Implemented: Yes
---------------------------------------------------
Identifier: GeneralHPLostRatioinBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: GeneralHPLostRatioinBattle > 35.8
Description: Test to see what the HP lost ratio of the prior battle was
Battle or Strat: Either
Class: GENERALS_LOST_HP_RATIO_TEST
Implemented: Yes
---------------------------------------------------
Identifier: GeneralNumKillsInBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: GeneralNumKillsInBattle > 4
Description: Test to see how many kills the character scored in the prior battle was
Battle or Strat: Either
Class: GENERAL_ENEMIES_KILLED_TEST
Implemented: Yes
---------------------------------------------------
Identifier: GeneralFoughtInCombat
Trigger requirements: character_record
Parameters: None
Sample use: GeneralFoughtInCombat
Description: Test to see if the character entered combat in the prior battle
Battle or Strat: Either
Class: GENERAL_FOUGHT_IN_COMBAT
Implemented: Yes
---------------------------------------------------
Identifier: PercentageOfArmyKilled
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageOfArmyKilled > 35.8
Description: Test to see what percentage of their men they lost in the prior battle
Battle or Strat: Either
Class: PERCENTAGE_OF_ARMY_KILLED_TEST
Implemented: Yes
---------------------------------------------------
Identifier: I_PercentageOfArmyKilled
Trigger requirements:
Parameters: alliance_index army_index logic_token percentage
Sample use: I_PercentageOfArmyKilled 1 0 < 50
Description: Tests the percentage of casualties taken by the specified army during this battle
Battle or Strat: Battle
Class: BATTLE_PERCENTAGE_OF_ARMY_KILLED
Implemented: Yes
---------------------------------------------------
Identifier: PercentageEnemyKilled
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageEnemyKilled > 35.8
Description: Test to see what percentage of the enemy was killed in the prior battle
Battle or Strat: Either
Class: PERCENTAGE_OF_ENEMY_KILLED_TEST
Implemented: Yes
---------------------------------------------------
Identifier: PercentageBodyguardKilled
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageBodyguardKilled > 35.8
Description: Test to see what percentage of their bodyguard was killed in the prior battle
Battle or Strat: Either
Class: PERCENTAGE_OF_GENERALS_UNIT_KILLED_TEST
Implemented: Yes
---------------------------------------------------
Identifier: PercentageRoutedOffField
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageRoutedOffField > 35.8
Description: Test to see the percentage of the character's soldiers who routed
Battle or Strat: Either
Class: PERCENTAGE_ROUTED_OFF_FIELD_TEST
Implemented: Yes
---------------------------------------------------
Identifier: NumKilledGenerals
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: NumKilledGenerals > 3
Description: Test to see how many generals were killed
Battle or Strat: Either
Class: GENERALS_ARMY_KILLED_GENERALS_TEST
Implemented: Yes
---------------------------------------------------
Identifier: PercentageUnitCategory
Trigger requirements: character_record
Parameters: unit category (infantry, cavalry, siege, non_combatant, ship, handler), logic token, test value
Sample use: PercentageUnitCategory handler > 35.8
Description: Test to see what percentage of the army were of a particular category
Battle or Strat: Either
Class: GENERALS_ARMY_PERCENTAGE_OF_UNIT_CATEGORY_TEST
Implemented: Yes
---------------------------------------------------
Identifier: NumFriendsInBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: NumFriendsInBattle < 50
Description: Test the number of soldiers and officers in allied armies
Battle or Strat: Either
Class: NUM_FRIENDS_IN_BATTLE_TEST
Implemented: Yes
---------------------------------------------------
Identifier: NumEnemiesInBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: NumEnemiesInBattle > 300
Description: Test the number of soldiers and officers in enemy armies
Battle or Strat: Either
Class: NUM_ENEMIES_IN_BATTLE_TEST
Implemented: Yes
---------------------------------------------------
Identifier: GeneralFoughtFaction
Trigger requirements: character_record
Parameters: faction type
Sample use: GeneralFoughtFaction romans_julii
Description: Test to see whether the opponent was of a particular faction in the prior battle
Battle or Strat: Either
Class: FOUGHT_FACTION
Implemented: Yes
---------------------------------------------------
Identifier: GeneralFoughtCulture
Trigger requirements: character_record
Parameters: culture type (roman, barbarian, carthaginian, greek, egyptian, eastern)
Sample use: GeneralFoughtCulture greek
Description: Test to see whether the opponent was of a particular culture in the prior battle
Battle or Strat: Either
Class: FOUGHT_CULTURE
Implemented: Yes
---------------------------------------------------
Identifier: I_ConflictType
Trigger requirements:
Parameters: conflict type (SuccessfulAmbush, FailedAmbush, Normal, Siege, SallyBesieger, Naval, Withdraw)
Sample use: I_ConflictType SuccessfulAmbush
Description: Test the type of conflict (ambush, siege &c.)
Battle or Strat: Either
Class: BATTLE_CONFLICT_TYPE
Implemented: Yes
---------------------------------------------------
Identifier: IsNightBattle
Trigger requirements:
Parameters: None
Sample use: IsNightBattle
Description: Test if this is a night battle
Battle or Strat: Either
Class: IS_NIGHT_BATTLE
Implemented: Yes
---------------------------------------------------
Identifier: BattleSuccess
Trigger requirements: character_record
Parameters: success type (close, average, clear, crushing)
Sample use: BattleSuccess = clear, BattleSuccess > close
Description: Test the type of success
Battle or Strat: Either
Class: BATTLE_SUCCESS_TYPE
Implemented: Yes
---------------------------------------------------
Identifier: BattleOdds
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: BattleOdds > 5
Description: Test the odds to win i.e. 5 (5:1)
Battle or Strat: Either
Class: BATTLE_ODDS_TEST
Implemented: Yes
---------------------------------------------------
Identifier: WasAttacker
Trigger requirements: character_record
Parameters: None
Sample use: WasAttacker
Description: Was the character the aggressor?
Battle or Strat: Either
Class: CHARACTER_WAS_ATTACKER
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAiAttacking
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiAttacking
Description: Is the enemy ai planning to attack the player?
Battle or Strat: Battle
Class: BATTLE_AI_ATTACKING
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAiAttackingSettlement
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiAttackingSettlement
Description: Is the enemy ai planning to attack the player's settlement?
Battle or Strat: Battle
Class: BATTLE_AI_ATTACKING_SETTLEMENT
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAiDefendingSettlement
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiDefendingSettlement
Description: Is the enemy ai planning to defend it's settlement?
Battle or Strat: Battle
Class: BATTLE_AI_DEFENDING_SETTLEMENT
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAiDefendingHill
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiDefendingHill
Description: Is the enemy ai planning to defend a hill?
Battle or Strat: Battle
Class: BATTLE_AI_DEFENDING_HILL
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAiDefendingCrossing
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiDefendingCrossing
Description: Is the enemy ai planning to defend a crossing?
Battle or Strat: Battle
Class: BATTLE_AI_DEFENDING_CROSSING
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAiScouting
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiScouting
Description: Is the enemy ai planning to scout?
Battle or Strat: Battle
Class: BATTLE_AI_SCOUTING
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleIsRiverBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsRiverBattle
Description: Is this a river battle?
Battle or Strat: Battle
Class: BATTLE_IS_RIVER_BATTLE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleIsSiegeBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsSiegeBattle
Description: Is this a siege battle?
Battle or Strat: Battle
Class: BATTLE_IS_SIEGE_BATTLE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleIsSallyOutBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsSallyOutBattle
Description: Is this a sally out battle?
Battle or Strat: Battle
Class: BATTLE_IS_SALLY_OUT_BATTLE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleIsFortBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsFortBattle
Description: Is this a fort battle?
Battle or Strat: Battle
Class: BATTLE_IS_FORT_BATTLE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAttackerNumSiegeEngines
Trigger requirements:
Parameters: siege_engine_class (tower, ram, ladder, sap_point)
Sample use: I_BattleAttackerNumSiegeEngines ladder
Description: How many of this engine type are present?
Battle or Strat: Battle
Class: BATTLE_ATTACKER_NUM_SIEGE_ENGINES
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleAttackerNumArtilleryCanPenetrateWalls
Trigger requirements:
Parameters: logic token, number
Sample use: I_BattleAttackerNumArtilleryCanPenetrateWalls > 5
Description: How many of the attackers artillery can penetrate the siege walls
Battle or Strat: Battle
Class: BATTLE_ATTACKER_NUM_ARTILLERY_CAN_PENETRATE_WALLS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleDefenderNumNonMissileUnitsOnWalls
Trigger requirements:
Parameters: logic token, number
Sample use: I_BattleDefenderNumNonMissileUnitsOnWalls > 5
Description: How many of the defenders non-missile units are on the walls
Battle or Strat: Battle
Class: BATTLE_DEFENDER_NUM_NON_MISSILE_UNITS_ON_WALLS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleDefenderNumMissileUnitsOnWalls
Trigger requirements:
Parameters: logic token, number
Sample use: I_BattleDefenderNumMissileUnitsOnWalls > 5
Description: How many of the defenders missile units are on the walls
Battle or Strat: Battle
Class: BATTLE_DEFENDER_NUM_MISSILE_UNITS_ON_WALLS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleSettlementWallsBreached
Trigger requirements:
Parameters: none
Sample use: I_BattleSettlementWallsBreached
Description: Have the walls of the settlement been breached?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_WALLS_BREACHED
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleSettlementGateDestroyed
Trigger requirements:
Parameters: none
Sample use: I_BattleSettlementGateDestroyed
Description: Has a gate in the settlement been destroyed?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_GATE_DESTROYED
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleSettlementTowerDefence
Trigger requirements:
Parameters: tower defence type (arrow_tower, ballista_tower, none)
Sample use: not I_BattleSettlementTowerDefence arrow_tower
Description: What type of tower defence is this settlement equipped with?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_TOWER_DEFENCE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleSettlementGateDefence
Trigger requirements:
Parameters: gate defence type (hot_sand, burning_oil, none)
Sample use: not I_BattleSettlementGateDefence hot_sand
Description: What type of gate defence is this settlement equipped with?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_GATE_DEFENCE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleSettlementFortificationLevel
Trigger requirements:
Parameters: wall level (none, 0, 1, 2, 3, 4)
Sample use: I_BattleSettlementFortificationLevel > 0
Description: What is the fortification level of this settlement?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_FORTIFICATION_LEVEL
Implemented: Yes
---------------------------------------------------
Identifier: BattleBuildingType
Trigger requirements:
Parameters: building type (ambient, major, wall, tower, gate)
Sample use: BattleBuildingType = wall
Description: What type of building is this?
Battle or Strat: Battle
Class: BATTLE_BUILDING_TYPE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleSettlementGateStrength
Trigger requirements:
Parameters: gate strength (0..2)
Sample use: I_BattleSettlementGateStrength > 2
Description: What is the strength of the settlement gates?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_GATE_STRENGTH
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleNumberOfRiverCrossings
Trigger requirements:
Parameters: integer
Sample use: I_BattleNumberOfRiverCrossings > 1
Description: How many river crossings are there on this map?
Battle or Strat: Battle
Class: BATTLE_NUMBER_OF_RIVER_CROSSINGS
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitClass
Trigger requirements: player_unit
Parameters: unit_class (heavy, light, skirmish, spearmen, missile)
Sample use: BattlePlayerUnitClass = unit_class
Description: What is the class of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitClass
Trigger requirements: enemy_unit
Parameters: unit_class (heavy, light, skirmish, spearmen, missile)
Sample use: BattleEnemyUnitClass = unit_class
Description: What is the class of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitCategory
Trigger requirements: player_unit
Parameters: unit category (infantry, cavalry, siege, non_combatant, ship, handler)
Sample use: BattlePlayerUnitCategory = unit_category
Description: What is the category of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_CATEGORY
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitCategory
Trigger requirements: enemy_unit
Parameters: unit category (infantry, cavalry, siege, non_combatant, ship, handler)
Sample use: BattleEnemyUnitCategory = unit_category
Description: What is the category of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_CATEGORY
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitSiegeEngineClass
Trigger requirements: player_unit
Parameters: siege engine category (catapult, trebuchet, ballista, scorpion, tower, ram, ladder, sap_point)
Sample use: BattlePlayerUnitSiegeEngineClass = scorpion
Description: What type of siege engine is the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SIEGE_ENGINE_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitSiegeEngineClass
Trigger requirements: enemy_unit
Parameters: siege engine category (catapult, trebuchet, ballista, scorpion, tower, ram, ladder, sap_point)
Sample use: BattleEnemyUnitSiegeEngineClass = scorpion
Description: What type of siege engine is the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SIEGE_ENGINE_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitOnWalls
Trigger requirements: player_unit
Parameters: none
Sample use: BattlePlayerUnitOnWalls
Description: Is the player unit on the walls?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_ON_WALLS
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitOnWalls
Trigger requirements: enemy_unit
Parameters: none
Sample use: BattleEnemyUnitOnWalls
Description: Is the enemy unit on the walls?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_ON_WALLS
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerCurrentFormation
Trigger requirements: player_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx)
Sample use: BattlePlayerCurrentFormation = phalanx
Description: What is the current formation of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_CURRENT_FORMATION
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyCurrentFormation
Trigger requirements: enemy_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx)
Sample use: BattleEnemyCurrentFormation = unit_formation
Description: What is the current formation of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_CURRENT_FORMATION
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitCloseFormation
Trigger requirements: player_unit
Parameters: none
Sample use: BattlePlayerUnitCloseFormation
Description: Is the player unit in close formation, otherwise loose?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_CLOSE_FORMATION
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitCloseFormation
Trigger requirements: enemy_unit
Parameters: none
Sample use: BattleEnemyUnitCloseFormation
Description: Is the enemy unit in close formation, otherwise loose?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_CLOSE_FORMATION
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitSpecialAbilitySupported
Trigger requirements: player_unit
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout, schiltrom )
Sample use: BattlePlayerUnitSpecialAbilitySupported = flaming_ammo
Description: What special ability can the player unit support?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SPECIAL_ABILITY_SUPPORTED
Implemented: Yes
---------------------------------------------------
Identifier: BattleSelectedPlayerUnitSpecialAbilitySupported
Trigger requirements:
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout, schiltrom )
Sample use: BattleSelectedPlayerUnitSpecialAbilitySupported = flaming_ammo
Description: What special ability can the selected units support?
Battle or Strat: Battle
Class: BATTLE_SELECTED_PLAYER_UNIT_SPECIAL_ABILITY_SUPPORTED
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitSpecialAbilitySupported
Trigger requirements: enemy_unit
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout, schiltrom )
Sample use: BattleEnemyUnitSpecialAbilitySupported = flaming_ammo
Description: What special ability can the enemy unit support?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SPECIAL_ABILITY_SUPPORTED
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitSpecialAbilityActive
Trigger requirements: player_unit
Parameters: none
Sample use: BattlePlayerUnitSpecialAbilityActive
Description: Is the player unit currently doing its special ability
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SPECIAL_ABILITY_ACTIVE
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitSpecialAbilityActive
Trigger requirements: enemy_unit
Parameters: none
Sample use: BattleEnemyUnitSpecialAbilityActive
Description: Is the enemy unit currently doing its special ability
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SPECIAL_ABILITY_ACTIVE
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerMountClass
Trigger requirements: player_unit
Parameters: mount_class (horse, camel, elephant, chariot)
Sample use: BattlePlayerMountClass = mount_class
Description: What is the mount class of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_MOUNT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyMountClass
Trigger requirements: enemy_unit
Parameters: mount_class (horse, camel, elephant, chariot)
Sample use: BattleEnemyMountClass = mount_class
Description: What is the mount class of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_MOUNT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitMeleeStrength
Trigger requirements: player_unit
Parameters: logic token, test value
Sample use: BattlePlayerUnitMeleeStrength > 56.45
Description: Compare the melee strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_MELEE_STRENGTH
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitMeleeStrength
Trigger requirements: enemy_unit
Parameters: logic token, test value
Sample use: BattleEnemyUnitMeleeStrength > 56.45
Description: Compare the melee strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_MELEE_STRENGTH
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitMissileStrength
Trigger requirements: player_unit
Parameters: logic token, test value
Sample use: BattlePlayerUnitMissileStrength > 56.45
Description: Compare the missile strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_MISSILE_STRENGTH
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitMissileStrength
Trigger requirements: enemy_unit
Parameters: logic token, test value
Sample use: BattleEnemyUnitMissileStrength > 56.45
Description: Compare the missile strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_MISSILE_STRENGTH
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitSpecialFormation
Trigger requirements: player_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx), test value
Sample use: BattlePlayerUnitSpecialFormation = testudo
Description: What is the special formation of the player unit
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SPECIAL_FORMATION
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitSpecialFormation
Trigger requirements: enemy_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx), test value
Sample use: BattleEnemyUnitSpecialFormation = testudo
Description: What is the special formation of the enemy unit
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SPECIAL_FORMATION
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitEngaged
Trigger requirements: player_unit
Parameters: None
Sample use: BattlePlayerUnitEngaged
Description: Is the player unit engaged in battle
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_ENGAGED
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitEngaged
Trigger requirements: enemy_unit
Parameters: None
Sample use: BattleEnemyUnitEngaged
Description: Is the enemy unit engaged in battle
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_ENGAGED
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerActionStatus
Trigger requirements: player_unit
Parameters: Action status ( idling, hiding, ready, reforming, moving, withdrawing, missiles_firing, missiles_reloading, charging, fighting, pursuing, routing, fighting_backs_to_the_walls, running_amok, rallying, dead, leaving_battle, entering_battle, left_battle )
Sample use: BattlePlayerActionStatus = moving
Description: What is the current action status of the player unit
Battle or Strat: Battle
Class: BATTLE_PLAYER_ACTION_STATUS
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyActionStatus
Trigger requirements: enemy_unit
Parameters: Action status ( idling, hiding, ready, reforming, moving, withdrawing, missiles_firing, missiles_reloading, charging, fighting, pursuing, routing, fighting_backs_to_the_walls, running_amok, rallying, dead, leaving_battle, entering_battle, left_battle )
Sample use: BattleEnemyActionStatus = moving
Description: What is the current action status of the player unit
Battle or Strat: Battle
Class: BATTLE_ENEMY_ACTION_STATUS
Implemented: Yes
---------------------------------------------------
Identifier: BattlePlayerUnitMovingFast
Trigger requirements: player_unit
Parameters: None
Sample use: BattlePlayerUnitMovingFast
Description: Is the player unit moving fast
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_MOVING_FAST
Implemented: Yes
---------------------------------------------------
Identifier: BattleEnemyUnitMovingFast
Trigger requirements: enemy_unit
Parameters: None
Sample use: BattleEnemyUnitMovingFast
Description: Is the enemy unit moving fast
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_MOVING_FAST
Implemented: Yes
---------------------------------------------------
Identifier: BattleRangeOfAttack
Trigger requirements: player_unit, enemy_unit
Parameters: logic token, test value
Sample use: BattleRangeOfAttack > 56.45
Description: Test the range of the attack (in m)
Battle or Strat: Battle
Class: BATTLE_RANGE_OF_ATTACK
Implemented: Yes
---------------------------------------------------
Identifier: BattleDirectionOfAttack
Trigger requirements: infer_attacking_unit, infer_defending_unit
Parameters: logic token, attack_dir (front, flank, rear)
Sample use: BattleDirectionOfAttack = front
Description: Test direction of the attack
Battle or Strat: Battle
Class: BATTLE_DIRECTION_OF_ATTACK
Implemented: Yes
---------------------------------------------------
Identifier: BattleIsMeleeAttack
Trigger requirements: infer_attacking_unit
Parameters: None
Sample use: BattleIsMeleeAttack
Description: Is the attacker initiating a melee attack (otherwise missile attack)
Battle or Strat: Battle
Class: BATTLE_IS_MELEE_ATTACK
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfUnitClass
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), percentage
Sample use: I_BattlePlayerArmyPercentageOfUnitClass missile > 50.0
Description: Test makeup of army by unit class
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_UNIT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfUnitClass
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), percentage
Sample use: I_BattleEnemyArmyPercentageOfUnitClass missile > 50.0
Description: Test makeup of army by unit class
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_UNIT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfUnitCategory
Trigger requirements:
Parameters: logic token, unit category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattlePlayerArmyPercentageOfUnitCategory missile > 50.0
Description: Test makeup of army by unit category
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_UNIT_CATEGORY
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfUnitCategory
Trigger requirements:
Parameters: logic token, unit category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattleEnemyArmyPercentageOfUnitCategory missile > 50.0
Description: Test makeup of army by unit category
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_UNIT_CATEGORY
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfMountClass
Trigger requirements:
Parameters: logic token, mount_class (horse, camel, elephant, chariot), percentage
Sample use: I_BattlePlayerArmyPercentageOfMountClass camel > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_MOUNT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfMountClass
Trigger requirements:
Parameters: logic token, mount_class (horse, camel, elephant, chariot), percentage
Sample use: I_BattleEnemyArmyPercentageOfMountClass camel > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_MOUNT_CLASS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfClassAndCategory
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), unit_category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattlePlayerArmyPercentageOfClassAndCategory missile cavalry > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_CLASS_AND_CATEGORY
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfClassAndCategory
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), unit_category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattleEnemyArmyPercentageOfClassAndCategory missile cavalry > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_CLASS_AND_CATEGORY
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfSpecialAbility
Trigger requirements:
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout, schiltrom ), percentage
Sample use: I_BattlePlayerArmyPercentageOfSpecialAbility testudo > 50.0
Description: Test makeup of army by special ability
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_SPECIAL_ABILITY
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfSpecialAbility
Trigger requirements:
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout, schiltrom ), percentage
Sample use: I_BattleEnemyArmyPercentageOfSpecialAbility testudo > 50.0
Description: Test makeup of army by special ability
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_SPECIAL_ABILITY
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageCanHide
Trigger requirements:
Parameters: logic token, hide_type (hide_forest, hide_improved_forest, hide_long_grass, hide_anywhere), percentage
Sample use: I_BattlePlayerArmyPercentageCanHide hide_forest > 50.0
Description: Test makeup of army by hide capability
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_CAN_HIDE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageCanHide
Trigger requirements:
Parameters: logic token, hide_type (hide_forest, hide_improved_forest, hide_long_grass, hide_anywhere), percentage
Sample use: I_BattleEnemyArmyPercentageCanHide hide_forest > 50.0
Description: Test makeup of army by hide capability
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_CAN_HIDE
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageCanSwim
Trigger requirements:
Parameters: logic token, percentage
Sample use: I_BattlePlayerArmyPercentageCanSwim > 50.0
Description: Test makeup of army by swim capability
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_CAN_SWIM
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageCanSwim
Trigger requirements:
Parameters: logic token, percentage
Sample use: I_BattleEnemyArmyPercentageCanSwim > 50.0
Description: Test makeup of army by swim capability
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_CAN_SWIM
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerArmyIsAttacker
Trigger requirements:
Parameters: logic token
Sample use: I_BattlePlayerArmyIsAttacker
Description: Is the player attacking
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_IS_ATTACKER
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerAllianceOddsInFavour
Trigger requirements:
Parameters: logic token
Sample use: I_BattlePlayerAllianceOddsInFavour > 5
Description: Odds in favour of the player i.e. 5 (5:1)
Battle or Strat: Battle
Class: BATTLE_PLAYER_ALLIANCE_ODDS_IN_FAVOUR
Implemented: Yes
---------------------------------------------------
Identifier: I_BattlePlayerAllianceOddsAgainst
Trigger requirements:
Parameters: logic token
Sample use: I_BattlePlayerAllianceOddsAgainst > 5
Description: Odds against the player i.e. 5 (5:1)
Battle or Strat: Battle
Class: BATTLE_PLAYER_ALLIANCE_ODDS_AGAINST
Implemented: Yes
---------------------------------------------------
Identifier: TotalSiegeWeapons
Trigger requirements: character_record
Parameters: logic token, number
Sample use: TotalSiegeWeapons = 0
Description: Test to see how many siege weapons this characters army has got for an assault.
Battle or Strat: Strat
Class: TOTAL_NUMBER_OF_SIEGE_WEAPONS
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleStarted
Trigger requirements:
Parameters: None
Sample use: I_BattleStarted
Description: Has the battle deployment phase ended
Battle or Strat: Battle
Class: HAS_BATTLE_STARTED
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleFinished
Trigger requirements:
Parameters: None
Sample use: I_BattleFinished
Description: Has the battle 'finished' phase started
Battle or Strat: Either
Class: IS_BATTLE_FINISHED
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEnd
Trigger requirements:
Parameters: None
Sample use: I_BattleEnd
Description: Has the battle entered one of the end phases (ending or finish countdown, not end pending, see IBattleEndPending for that)
Battle or Strat: Battle
Class: IS_BATTLE_END
Implemented: Yes
---------------------------------------------------
Identifier: I_BattleEndPending
Trigger requirements:
Parameters: None
Sample use: I_BattleEndPending
Description: Has the battle entered the end pending phase (ie dialog to the human player for whether they want to mop up the leftovers)
Battle or Strat: Battle
Class: IS_BATTLE_END_PENDING
Implemented: Yes
---------------------------------------------------
Identifier: I_IsUnitMoveFastSet
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitMoveFastSet roman_archers
Description: Is the specified unit flagged to move fast
Battle or Strat: Battle
Class: IS_UNIT_MOVE_FAST_SET
Implemented: Yes
---------------------------------------------------
Identifier: I_IsUnitMoving
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitMoving roman_archers
Description: Is the specified unit moving
Battle or Strat: Battle
Class: IS_UNIT_MOVING
Implemented: Yes
---------------------------------------------------
Identifier: I_IsUnitIdle
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitIdle roman_archers
Description: Is the specified unit idle?
Battle or Strat: Battle
Class: IS_UNIT_IDLE
Implemented: Yes
---------------------------------------------------
Identifier: I_IsUnitRouting
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitRouting roman_archers
Description: Is the specified unit routing?
Battle or Strat: Battle
Class: IS_UNIT_ROUTING
Implemented: Yes
---------------------------------------------------
Identifier: I_IsUnitUnderFire
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitUnderFire roman_general_unit
Description: Is the specified unit recieving missile fire?
Battle or Strat: Battle
Class: IS_UNIT_UNDER_FIRE
Implemented: Yes
---------------------------------------------------
Identifier: I_IsUnitEngaged
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitEngaged roman_archers
Description: Is the specified unit engaged in combat?
Battle or Strat: Battle
Class: IS_UNIT_ENGAGED
Implemented: Yes
---------------------------------------------------
Identifier: I_IsUnitEngagedWithUnit
Trigger requirements: