Version: Public Beta Patch 1.01 (released 20121025?)
Bug: Script command syntax/usage error.
28 instances of questionable syntax/usage of SelectSubUnits.
ERROR: in Events/RegionsDecisions.sct, at (or near) line 9: line-specific or other contextual syntax error: #;# (0x3b), #;#
1
2 StartEvent = RGDScriptSurrender|999|0|NULL|NULL|NULL|NULL
3
4 Conditions
5 EvalBesieged = ALL
6
7 Actions
8 DescEvent = evt_desc_Surrender
9> SelectSubUnits = Region;Enemy
10 AlterCuSubUnit = ApplyToList;Attempts 15;ChgCohesionPerc -50
11
12 EndEvent
13
14 StartEvent = RGDScriptTraitor|999|0|NULL|NULL|NULL|NULL
15
16 Conditions
17 EvalBesieged = ALL
18
http://www.ageod.net/agewiki/SelectSubUnits
Syntax: SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;Domains <_domLand> <_domNav> <_domAir>;<Attributes>;Generations <ModelGen1> <ModelGen2> ...
ERROR: in Events/RegionsDecisions.sct, at (or near) line 77: line-specific or other contextual syntax error: #;# (0x3b), #;#
68
69 EndEvent
70
71 StartEvent = RGDScriptChiefBribing|999|0|NULL|NULL|NULL|NULL
72
73 Conditions
74
75 Actions
76 DescEvent = evt_desc_Bribing
77> SelectSubUnits = Region;Enemy;FactionTags CEL GAL ILL IBE
78 AlterCuSubUnit = ApplyToList;Attempts 20;Probability 50;Kill
79
80 EndEvent
81
82 StartEvent = RGDScriptChiefTreaty|999|0|NULL|NULL|NULL|NULL
83
84 Conditions
85 EvalRgnOwnerKind = $fkTribalNation
86
At the AGEWiki,
http://www.ageod.net/agewiki/SelectSubUnits, the syntax for this command is:
Syntax: SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;Domains <_domLand> <_domNav> <_domAir>;<Attributes>;Generations <ModelGen1> <ModelGen2> ...
Parameters are detailed as:
Parameters
Region <RgnUID>
...
Attributes
Any or all of the attributes will filter the selection list: OnlyFixed, OnlyNotFixed, Enemy, FriendOnly, FriendAndSelf, UniqueName <Name>, OnlyPermFixed, OnlyNPermFixed
So, there seems to be a missing <RgnUID> after 'Region'.
('Enemy' is one of the permitted attributes, so that's okay.)
In the kwd database*, there are many examples of 'SelectSubUnits = Region <RgnUID>; ...', for instance:
telemann:/home/berto/games/ageod/agelint # ./kwddat SelectSubUnits aje | egrep -i region | head -n 5
1 SelectSubUnits = Region $Mare Internum Commercius;Families $famWarship;$famHvyWarship; FactionTags CAE
1 SelectSubUnits = Region $Mare Internum Commercius;Families $famWarship;$famHvyWarship; FactionTags CLO
1 SelectSubUnits = Region $Mare Internum Commercius;Families $famWarship;$famHvyWarship; FactionTags OPT
1 SelectSubUnits = Region $Mare Internum Commercius;Families $famWarship;$famHvyWarship; FactionTags OTH
1 SelectSubUnits = Region $Mare Internum Commercius;Families $famWarship;$famHvyWarship; FactionTags PES
In all the games, there are just three examples of 'Region ... Enemy' use, one of them done correctly, in RUS:
telemann:/home/berto/games/ageod/agelint # for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat SelectSubUnits $g | egrep -i "region.+enemy"; echo; done
acw
aje
1 SelectSubUnits = Region;Enemy
1 SelectSubUnits = Region;Enemy;FactionTags CEL GAL ILL IBE
ncp
pon
rop
rus
1 SelectSubUnits = Region $Helsinki;Enemy
wia
ERROR: in Events/VariousEvents_AJE50.sct, at (or near) line 17: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
in event evt_nam_PIR_MerchantSunk:
8 SelectRegion = $Mare Internum Commercius
9 StartEvent = evt_nam_PIR_MerchantSunk|999|0|NULL|NULL|$Mare Internum Commercius|NULL
10
11 Conditions
12 MinDate = -049/01/01
13 MaxDate = 0386/01/01
14 TurnIndex = 1;3;5;7;9;11;
15
16 SelectFaction = $CAE
17> SelectSubUnits = Region $Mare Internum Commercius;Families $famWarship;$famHvyWarship; FactionTags CAE
18 EvalSubUnitCount = <=;10
19 SelectSubUnits = Region $Mare Internum Commercius;Models $mdl_ROM_Com
20 EvalSubUnitCount = >;0
21 Probability = 10
22
23 Actions
24
25 ChgEvtOccurs = evt_nam_CMN_MerchantSunk;MaxOccurs;1
26
http://www.ageod.net/agewiki/SelectSubUnits
Syntax: SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;Domains <_domLand> <_domNav> <_domAir>;<Attributes>;Generations <ModelGen1> <ModelGen2> ...
There is a superfluous ';' between $famWarship' & '$famHvyWarship'.
In the AJE kwd database, there are numerous examples of correct usage (i.e., without the extra ';'):
telemann:/home/berto/games/ageod/agelint # ./kwddat SelectSubUnits aje | egrep Families | egrep "Families[[:space:]]+[[:graph:]]+[[:space:]]+[[:graph:]]" | egrep -v famWarship
1 SelectSubUnits = Area $Africa;FactionTags CAE ROM;Families $famElite $famLine $famCavalry $famService;Domains $Land
1 SelectSubUnits = Area $Area_Narbonensis;FactionTags MAS HEL;Families $famLeader $famMilitia $famLine $famSupply
1 SelectSubUnits = Area $Theater_Hispania;FactionTags PMP ROM CEL;Families $famLine $famCavalry $famMilitia $famSupply
1 SelectSubUnits = FactionTags GLL LUS;Families $famLine $famMilitia
[...]
At least 28 such correct usages:
telemann:/home/berto/games/ageod/agelint # ./kwddat SelectSubUnits aje | egrep Families | egrep -v famWarship | wc -l
28
Other instances of the above error:
ERROR: in Events/VariousEvents_AJE50.sct, at (or near) line 1195: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_GMW75.sct, at (or near) line 17: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_GMW75.sct, at (or near) line 1152: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_MS87.sct, at (or near) line 17: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_MS87.sct, at (or near) line 674: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_MS87.sct, at (or near) line 1320: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_SEV193.sct, at (or near) line 17: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_SEV193.sct, at (or near) line 1549: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_SEV193.sct, at (or near) line 3081: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_SPR73.sct, at (or near) line 17: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_YF68.sct, at (or near) line 17: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_YF68.sct, at (or near) line 1303: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/VariousEvents_YF68.sct, at (or near) line 2589: line-specific or other contextual syntax error: #$# (0x24), #$famHvyWarship#
ERROR: in Events/0-Tutorial.sct, at (or near) line 195: line-specific or other contextual syntax error: #O# (0x4f), #OnlyNonPermFixed#
in event evt_nam_TutorialTurn4_PompeiansMoved:
186 Conditions
187
188 SelectFaction = $CAE
189
190 EvalRgnOwned = $Ilerda
191
192 Actions
193
194 SelectFaction = $PMP
195> SelectSubUnits = Area $Area_Tarraconensis;FactionTags PMP ROM;Families $famLine ;OnlyNonPermFixed
196 AlterCuSubUnit = ApplytoList;Move $Salduba
197 SelectSubUnits = Region $Salduba;FactionTags PMP ROM
198 AlterCuSubUnit = ApplytoList;ChgHealthPerc 50;ChgCohPerc 50;SetFixing 5
199
200 SelectFaction = $PMP
201 SelectSubUnits = Region $Cesse;FactionTags PMP ROM
202 AlterCuSubUnit = ApplytoList;Kill
203 SelectRegion = $Ilerda
204 ChangeLoyaltyFac = -55
At
http://www.ageod.net/agewiki/SelectSubUnits, Parameters are detailed as:
Parameters
...
Attributes
Any or all of the attributes will filter the selection list: OnlyFixed, OnlyNotFixed, Enemy, FriendOnly, FriendAndSelf, UniqueName <Name>, OnlyPermFixed, OnlyNPermFixed
So, in the ERROR above, it says 'OnlyNonPermFixed' when in fact it should be 'OnlyNPermFixed' (i.e., 'N' instead of 'Non').
In the AJE kwd database, there are numerous examples of correct usage of OnlyNPermFixed, for instance:
telemann:/home/berto/games/ageod/agelint # ./kwddat SelectSubUnits aje | egrep -i permfixed | head -n 5
1 SelectSubUnits = Area $Area_Cappadocia;FactionTags ROM CAE CAP HEL ORI;OnlyNPermFixed
1 SelectSubUnits = Area $Area_Cappadocia;FactionTags ROM CAP HEL;OnlyNPermFixed
1 SelectSubUnits = Area $Area_Chersonesus;FriendAndSelf;Domains $Land;OnlyNPermFixed
1 SelectSubUnits = Area $Area_Chersonesus;FriendAndSelf;OnlyNPermFixed
1 SelectSubUnits = Area $Area_Galatia;FactionTags GLT GAL CEL;FriendAndSelf;OnlyNPermFixed
At least 41 such correct usages:
telemann:/home/berto/games/ageod/agelint # ./kwddat SelectSubUnits aje | egrep -i onlynpermfixed | wc -l
41
Of all the games, only AJE uses 'SelectSubUnits ... OnlyNonPermFixed':
telemann:/home/berto/games/ageod/agelint # for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat SelectSubUnits $g | egrep -i "onlynonpermfixed"; echo; done
acw
aje
1 SelectSubUnits = Area $Area_Tarraconensis;FactionTags PMP ROM;Families $famLine ;OnlyNonPermFixed
ncp
pon
rop
rus
wia
In addition to the above, there are these other three ERRORS involving a misspelling of OnlyNPermFixed:
ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 5131: line-specific or other contextual syntax error: #O# (0x4f), #OnyNPermFixed#
ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 5156: line-specific or other contextual syntax error: #O# (0x4f), #OnyNPermFixed#
ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 5158: line-specific or other contextual syntax error: #O# (0x4f), #OnyNPermFixed#
So 'Ony' is an obvious misspelling of 'Only'.
ERROR: in Events/1-MariusSulla87.sct, at (or near) line 1713: line-specific or other contextual syntax error: #C# (0x43), #Callimachos#
in event evt_nam_OPT_LucullusCyprus1:
1704 EvalRgnOwned = $Salamis
1705 EvalUnqUnit = Lucius Licinius Lucullus
1706 Probability = 50
1707 SelUnqSubUnit = Lucius Licinius Lucullus;Region $Salamis
1708
1709 Actions
1710 DescEvent = evt_desc_OPT_LucullusSuccess
1711 SelectSubUnits = Region $Salamis;FactionTags ROM PIR HEL OPT CRE LAG;Domains $Naval;FriendAndSelf;OnlyNPermFixed
1712 AlterCuSubUnit = ApplytoList;SetFixing 0
1713> SelectSubUnits = Region $Salamis;Callimachos
1714 AlterCuSubUnit = ApplytoList;SetFixing 0
1715 ChgFacEngagementPts = -3
1716 ChangeFacMorale = 1
1717 SetEvtOccurs = evt_nam_OPT_LucullusCyprus2;MaxOccurs;0
1718
1719 EndEvent
1720
1721 SelectFaction = $OPT
1722 SelectRegion = $Salamis
ERROR: in Events/1-MariusSulla87.sct, at (or near) line 1779: line-specific or other contextual syntax error: #S# (0x53), #Scymnos#
in event evt_nam_OPT_LucullusPhoenicia1:
1770 EvalRgnOwned = $Tyrus
1771 EvalUnqUnit = Lucius Licinius Lucullus
1772 Probability = 60
1773 SelUnqSubUnit = Lucius Licinius Lucullus;Region $Tyrus
1774
1775 Actions
1776 DescEvent = evt_desc_OPT_LucullusSuccess
1777 SelectSubUnits = Region $Tyrus;FactionTags ROM PIR HEL OPT CRE LAG;Domains $Naval;FriendAndSelf;OnlyNPermFixed
1778 AlterCuSubUnit = ApplytoList;SetFixing 0
1779> SelectSubUnits = Region $Tyrus;Scymnos
1780 AlterCuSubUnit = ApplytoList;SetFixing 0
1781 ChgFacEngagementPts = -3
1782 ChangeFacMorale = 1
1783 SetEvtOccurs = evt_nam_OPT_LucullusPhoenicia2;MaxOccurs;0
1784 SetHealth = 50
1785 SetCohesion = 50
1786
1787 SelectFaction = $OPT
1788 SelectRegion = $Tyrus
ERROR: in Events/1-MariusSulla87.sct, at (or near) line 1930: line-specific or other contextual syntax error: #P# (0x50), #Paos#
in event evt_nam_OPT_LucullusEgypt1:
1921 EvalRgnOwned = $Alexandria
1922 EvalUnqUnit = Lucius Licinius Lucullus
1923 Probability = 15
1924 SelUnqSubUnit = Lucius Licinius Lucullus;Region $Alexandria
1925
1926 Actions
1927 DescEvent = evt_desc_OPT_LucullusSuccess
1928 SelectSubUnits = Region $Alexandria;FactionTags ROM PIR HEL OPT CRE LAG;Domains $Naval;FriendAndSelf;OnlyNPermFixed
1929 AlterCuSubUnit = ApplytoList;SetFixing 0
1930> SelectSubUnits = Region $Alexandria;Paos
1931 AlterCuSubUnit = ApplytoList;SetFixing 0
1932 ChgFacEngagementPts = -3
1933 ChangeFacMorale = 1
1934 SetEvtOccurs = evt_nam_OPT_LucullusEgypt2;MaxOccurs;0
1935
1936 EndEvent
1937
1938 SelectFaction = $OPT
1939 SelectRegion = $Alexandria
Questionable appending of 'Callimachos', 'Scymnos' & 'Paos' after 'Region <RgnUID>'.
These conform to no documented syntax usage.
ERROR: in Events/1-MariusSulla87.sct, at (or near) line 2146: line-specific or other contextual syntax error: #-# (0x2d), #-1#
in event evt_nam_PON_FallRhodes:
2137 SelectFaction = $OPT
2138 ChgFacEngagementPts = -3
2139 ChangeFacMorale = -2
2140
2141 SelectFaction = $POP
2142 ChgFacEngagementPts = -1
2143 ChangeFacMorale = -2
2144
2145 SelectFaction = $OPT
2146> SelectSubUnits = -1;FactionTags RHO
2147 AlterCuSubUnit = ApplytoList;Kill
2148
2149 SelectFaction = $PON
2150 SelectRegion = $Rhodos
2151
2152 SelectFaction = $PON
2153 SelectRegion = $Rhodos
2154 CreateGroup
2155 Posture = $Defensive
ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 3959: line-specific or other contextual syntax error: #-# (0x2d), #-1#
in event evt_nam_CMN_SpartacusCaptured_Italia:
3950 ChangeMoneyPool = 100
3951 ChgVPCount = 200
3952 ChangeLoyaltyFac = $Theater_Italia;50
3953
3954 SelectFaction = $SLV
3955 ChgFacEngagementPts = -20
3956 ChgVPCount = -50
3957 ChangeLoyaltyFac = $Theater_Italia;-75
3958 RemUnqUnit = Spartacus
3959> SelectSubUnits = -1;FactionTags SLV HEL;Families $famElite $famLine $famLightInf $famSkirmisher $famRaider $famMilitia $famLeader
3960 AlterCuSubUnit = ApplyToList;Attempts 100;Probability 75;Kill
3961 SetEvtOccurs = evt_nam_CMN_SpartacusCaptured_Cisalpina;MaxOccurs;0
3962
3963 EndEvent
3964 NULL = NULL
3965
3966 SelectFaction = $CMN
3967 SelectRegion = $Placentia
3968
ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 4005: line-specific or other contextual syntax error: #-# (0x2d), #-1#
in event evt_nam_CMN_SpartacusCaptured_Cisalpina:
3996 ChgVPCount = 200
3997 ChangeLoyaltyFac = $Theater_Italia;50
3998
3999 SelectFaction = $SLV
4000 ChgFacEngagementPts = -20
4001 ChgVPCount = -50
4002 ChangeLoyaltyFac = $Theater_Italia;-75
4003 RemUnqUnit = Spartacus
4004 SetEvtOccurs = evt_nam_CMN_SpartacusCaptured_Italia;MaxOccurs;0
4005> SelectSubUnits = -1;FactionTags SLV HEL;Families $famElite $famLine $famLightInf $famSkirmisher $famRaider $famMilitia $famLeader
4006 AlterCuSubUnit = ApplyToList;Attempts 100;Probability 75;Kill
4007
4008 EndEvent
4009 NULL = NULL
4010
4011 SelectFaction = $CMN
4012 SelectRegion = $Roma
4013
4014 SelectFaction = $CMN
ERROR: in Events/2b-Spartacus73.sct, at (or near) line 2039: line-specific or other contextual syntax error: #-# (0x2d), #-1#
in event evt_nam_CMN_SpartacusCaptured_Italia:
2030 ChangeMoneyPool = 100
2031 ChgVPCount = 200
2032 ChangeLoyaltyFac = $Theater_Italia;50
2033
2034 SelectFaction = $SLV
2035 ChgFacEngagementPts = -20
2036 ChgVPCount = -50
2037 ChangeLoyaltyFac = $Theater_Italia;-75
2038 RemUnqUnit = Spartacus
2039> SelectSubUnits = -1;FactionTags SLV HEL;Families $famElite $famLine $famLightInf $famSkirmisher $famRaider $famMilitia $famLeader
2040 AlterCuSubUnit = ApplyToList;Attempts 100;Probability 75;Kill
2041 SetEvtOccurs = evt_nam_CMN_SpartacusCaptured_Cisalpina;MaxOccurs;0
2042
2043 EndEvent
2044 NULL = NULL
2045
2046 SelectFaction = $CMN
2047 SelectRegion = $Placentia
2048
ERROR: in Events/2b-Spartacus73.sct, at (or near) line 2085: line-specific or other contextual syntax error: #-# (0x2d), #-1#
in event evt_nam_CMN_SpartacusCaptured_Cisalpina:
2076 ChgVPCount = 200
2077 ChangeLoyaltyFac = $Theater_Italia;50
2078
2079 SelectFaction = $SLV
2080 ChgFacEngagementPts = -20
2081 ChgVPCount = -50
2082 ChangeLoyaltyFac = $Theater_Italia;-75
2083 RemUnqUnit = Spartacus
2084 SetEvtOccurs = evt_nam_CMN_SpartacusCaptured_Italia;MaxOccurs;0
2085> SelectSubUnits = -1;FactionTags SLV HEL;Families $famElite $famLine $famLightInf $famSkirmisher $famRaider $famMilitia $famLeader
2086 AlterCuSubUnit = ApplyToList;Attempts 100;Probability 75;Kill
2087
2088 EndEvent
2089 NULL = NULL
2090
2091 SelectFaction = $CMN
2092 SelectRegion = $Neapolis
2093
2094 SelectFaction = $CMN
Questionable use of undocumented leading '-1' parameter.
There are examples of this in only AJE & PON, but no other games:
telemann:/home/berto/games/ageod/agelint # for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat SelectSubUnits $g | egrep "=[[:space:]]*\-"; echo; done
acw
aje
1 SelectSubUnits = -1;FactionTags RHO
4 SelectSubUnits = -1;FactionTags SLV HEL;Families $famElite $famLine $famLightInf $famSkirmisher $famRaider $famMilitia $famLeader
ncp
pon
1 SelectSubUnits = -1;FactionTags CRL;Domains $Land
1 SelectSubUnits = -1;FactionTags CSA;Domains $Land
1 SelectSubUnits = -1;FactionTags IND
1 SelectSubUnits = -1;FactionTags MAH
1 SelectSubUnits = -1;FactionTags MUG
1 SelectSubUnits = -1;FactionTags MUG;Domains $Land
3 SelectSubUnits = -1;FactionTags TAI
12 SelectSubUnits = -1;FactionTags OFS TRV
rop
rus
wia
But again, a leading '-1' (or indeed anywhere) does not agree with the documentation.
Hope this helps.
Still many more to follow.
[Disclaimer: I make no claim about the significance or insignificance of any discovered bug, problem, glitch, or anomaly. Whether or not it impacts game play, or goes entirely unnoticed. Whether in the larger scheme of things it's important, or unimportant. I just call them as I see them.]