AJE Game Data Bugs

Post bug reports and ask for game support here.
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Missing localization.

There are multiple references to missing localizations:

1 ldr_txt_ROM_LabienusOld3
1 ldr_txt_GLT_Deiotarus1
1 ldr_txt_GAL_Brenn

Examples:

telemann:/media/KINGSTON/Games/AGEOD/Alea Jacta Est/AJE # find Aliases GameData Includes Scripts Events Scens -exec egrep "ldr_txt_ROM_LabienusOld3|ldr_txt_GLT_Deiotarus1|ldr_txt_GAL_Brenn" {} \; | sort | uniq
Text = $ldr_txt_GAL_Brenn
Text = $ldr_txt_GLT_Deiotarus1
Text = $ldr_txt_ROM_LabienusOld3

These missing localization references are located in (file & line#):

telemann:/home/berto/games/ageod/agelint # egrep "ldr_txt_ROM_LabienusOld3|ldr_txt_GLT_Deiotarus1|ldr_txt_GAL_Brenn" chklocals_aje_QA_20121101_sorted_rpt.txt
GameData/Units/2332GALBrenn.uni:7:ldr_txt_GAL_Brenn not found
GameData/Units/2550GLTDeiotarus Philopator.uni:7:ldr_txt_GLT_Deiotarus1 not found
GameData/Units/1785PMPTitus Labienus.uni:7:ldr_txt_ROM_LabienusOld3 not found

I'm not going to suggest substitutes. The above may be misspellings of existing localizations, or more probably simply missing localizations.

Verifying their nonexistence:

[root@berto Settings]# pwd
/media/KINGSTON/Games/AGEOD/Alea Jacta Est/AJE/Settings

telemann:/media/KINGSTON/Games/AGEOD/Alea Jacta Est/AJE/Settings # egrep -i "ldr_txt_ROM_LabienusOld3|ldr_txt_GLT_Deiotarus1|ldr_txt_GAL_Brenn" *.csv
LocalStrings_AJE.csv:ldr_txt_GAL_Brenn2;Brenn;Brenn;Brenn;Brenn;NULL;NULL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[ldr_txt_GAL_Brenn2 ending with a '2' found, but not ldr_txt_GAL_Brenn]

These may be low priority too. Pick and choose and fix what matters.

Also:

155 ldr_txt_XXX_Bonus2
154 ldr_txt_XXX_Mediocrus1

But I think that those are false positives.

And also:

fac_HQStackName_???

Many, many examples of that. But I suspect that those too are false positives, or of low priority.

Hope this helps.

There are actually still 100s and 100s of missing localizations I could report, but I have filtered them out of the results, making my own judgment that they are likely false positives.

How so? If I see massive amounts of localization bugs of a certain type, I reason: How likely is it that these went unnoticed? or unfixed? No, if there are so many of them, they must not be significant. So I toss them out.

I pick up on other clues, such as names, and context. Comparisons with results from other games. More stuff gets tossed.

So, what I have reported here is actually a subset of what I might have reported. I hate false positives as much as anybody!

Eventually, after I implement the +/-n +/-w +/-e functionality in chkaliases.pl, chklocals, pl, etc., and after we categorize such bugs suitably, I can maybe go back to reporting these low-interest, insignificant "bugs" as WARNINGs, or mere NOTICEs. That way, you can still review them if you want. (And thereby spot missed true positives!) Or just devote your attention and energy to fixing the ERRORs -- what we have determined to be legitimately so.

But that's for the future.

This ends my series of missing localization bug reports. Next up, script command syntax ERRORs (and maybe also WARNINGs), then missing image files, and maybe miscellaneous bits and pieces.

[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.]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
BohémondAJE
Posts: 66
Joined: Fri Sep 21, 2012 7:18 am

RE: AJE Game Data Bugs

Post by BohémondAJE »

ORIGINAL: berto


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Missing localization.

There are multiple references to missing localizations:

1 ldr_txt_ROM_LabienusOld3
1 ldr_txt_GLT_Deiotarus1
1 ldr_txt_GAL_Brenn

Examples:

telemann:/media/KINGSTON/Games/AGEOD/Alea Jacta Est/AJE # find Aliases GameData Includes Scripts Events Scens -exec egrep "ldr_txt_ROM_LabienusOld3|ldr_txt_GLT_Deiotarus1|ldr_txt_GAL_Brenn" {} \; | sort | uniq
Text = $ldr_txt_GAL_Brenn
Text = $ldr_txt_GLT_Deiotarus1
Text = $ldr_txt_ROM_LabienusOld3

These missing localization references are located in (file & line#):

telemann:/home/berto/games/ageod/agelint # egrep "ldr_txt_ROM_LabienusOld3|ldr_txt_GLT_Deiotarus1|ldr_txt_GAL_Brenn" chklocals_aje_QA_20121101_sorted_rpt.txt
GameData/Units/2332GALBrenn.uni:7:ldr_txt_GAL_Brenn not found
GameData/Units/2550GLTDeiotarus Philopator.uni:7:ldr_txt_GLT_Deiotarus1 not found
GameData/Units/1785PMPTitus Labienus.uni:7:ldr_txt_ROM_LabienusOld3 not found

I'm not going to suggest substitutes. The above may be misspellings of existing localizations, or more probably simply missing localizations.

Verifying their nonexistence:

[root@berto Settings]# pwd
/media/KINGSTON/Games/AGEOD/Alea Jacta Est/AJE/Settings

telemann:/media/KINGSTON/Games/AGEOD/Alea Jacta Est/AJE/Settings # egrep -i "ldr_txt_ROM_LabienusOld3|ldr_txt_GLT_Deiotarus1|ldr_txt_GAL_Brenn" *.csv
LocalStrings_AJE.csv:ldr_txt_GAL_Brenn2;Brenn;Brenn;Brenn;Brenn;NULL;NULL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[ldr_txt_GAL_Brenn2 ending with a '2' found, but not ldr_txt_GAL_Brenn]

These may be low priority too. Pick and choose and fix what matters.

Also:

155 ldr_txt_XXX_Bonus2
154 ldr_txt_XXX_Mediocrus1

But I think that those are false positives.

And also:

fac_HQStackName_???

Many, many examples of that. But I suspect that those too are false positives, or of low priority.

Hope this helps.

There are actually still 100s and 100s of missing localizations I could report, but I have filtered them out of the results, making my own judgment that they are likely false positives.

How so? If I see massive amounts of localization bugs of a certain type, I reason: How likely is it that these went unnoticed? or unfixed? No, if there are so many of them, they must not be significant. So I toss them out.

I pick up on other clues, such as names, and context. Comparisons with results from other games. More stuff gets tossed.

So, what I have reported here is actually a subset of what I might have reported. I hate false positives as much as anybody!

Eventually, after I implement the +/-n +/-w +/-e functionality in chkaliases.pl, chklocals, pl, etc., and after we categorize such bugs suitably, I can maybe go back to reporting these low-interest, insignificant "bugs" as WARNINGs, or mere NOTICEs. That way, you can still review them if you want. (And thereby spot missed true positives!) Or just devote your attention and energy to fixing the ERRORs -- what we have determined to be legitimately so.

But that's for the future.

This ends my series of missing localization bug reports. Next up, script command syntax ERRORs (and maybe also WARNINGs), then missing image files, and maybe miscellaneous bits and pieces.

[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.]
ldr_txt_GAL_Brenn

Fixed in next version.
ldr_txt_XXX_Bonus2, ldr_txt_XXX_Mediocrus1 are kind of PlaceHolder in the DB so you are right, they are false positives.

Thank you for reporting

Regards

User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


Here is a snippet of code from counterrs, a Bash script I use to QA/validate my AGElint chklint results (indentation in the actual code not accurately rendered here):

elif [ $GAME = "aje" ]; then
GAME="aje"
# aje 100
if [ $SQUELCH ]; then
if [ $CAT = "error" ]; then
SQUELCHES="28 SelectSubUnits|33 PickFromRegList|7 EvalMorale|4 FlavorName|2 SetLevel|2 SetEvtOccurs|2 BlockState|2 AlterCuSubUnit|1 SetCohesion|1 Kind|1 FileName|1 EvalUnqUnit|1 EvalMoney|1 ChangeActorPool"
elif [ $CAT = "warning" ]; then
SQUELCHES="11 SelectUnqUnit|8 AddDynGraphic|7 SetEvtOccurs|6 EvalBattles|2 Attributes|2 AlterCuSubUnit|1 NativeTag|1 Entranch|1 CustomNames"
fi
fi

For each script command, the associated number is the count of alleged bugs I have discovered. (If a script command is not listed, no bug associates with it.)

I believe that all discovered bugs are legitimate, and I will try hard to "prove" that in my reports.

But I could be wrong. You da judge.

This is just to give a foretaste of what lies ahead over the next several days.

But now, it's time to turn from one passion (gaming) to another. Early Music concert this evening! [:)]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


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.]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AJE Game Data Bugs

Post by Chilperic »

ORIGINAL: berto


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:

These events are very special, because they are a recent addition to AGE engine, as they allow to use any script event commands in a given region by the way of a regional decisions ( until AJE, Rgds couldn't fire an event).

So I suspect the code internally handles the region string by restituting its real UID. So it should be wad.
BohémondAJE
Posts: 66
Joined: Fri Sep 21, 2012 7:18 am

RE: AJE Game Data Bugs

Post by BohémondAJE »

ORIGINAL: berto


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.]


RGDScriptXXX Event does not use standard syntax as Region is already selected by player when he does apply the regional Decisions.
So Events fire and work as intended

Superfluous ; fixed in next version

OnlyNonPermFixed and OnyNPermFixed issues fixed in next version

The uses of the name instead of the model alias in SelectSubUnits works although it is not documented.

-1 parameter fixed in next version. (Deleted)

Thank you for reporting

Regards


User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »

ORIGINAL: BohémondAJE
ORIGINAL: berto

28 instances of questionable syntax/usage of SelectSubUnits.

...

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> ...


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.
The uses of the name instead of the model alias in SelectSubUnits works although it is not documented.
Fair enough.

[root@berto AJE]# find Aliases GameData Includes Scripts Events Scens -exec egrep -il "callimachos|scymnos|paos" {} \; | sort | uniq | egrep -i "/Models/" | egrep -iv cached
GameData/Models/1574LAGPaos.mdl
GameData/Models/1579LAGCallimachos.mdl
GameData/Models/1586SELScymnos.mdl

[root@berto AJE]# egrep "Name =" `find Aliases GameData Includes Scripts Events Scens -exec egrep -il "callimachos|scymnos|paos" {} \; | sort | uniq | egrep -i "/Models/" | egrep -iv cached`
GameData/Models/1574LAGPaos.mdl:Name = Paos
GameData/Models/1574LAGPaos.mdl:ShortName = Paos
GameData/Models/1579LAGCallimachos.mdl:Name = Callimachos
GameData/Models/1579LAGCallimachos.mdl:ShortName = Callimachos
GameData/Models/1586SELScymnos.mdl:Name = Scymnos
GameData/Models/1586SELScymnos.mdl:ShortName = Scymnos

But even so, is not the keyword 'Models' missing? That is, shouldn't it therefore be:

SelectSubUnits = Region $Salamis; Models Callimachos
SelectSubUnits = Region $Tyrus; Models Scymnos
SelectSubUnits = Region $Alexandria; Models Paos

I'm not disputing what you say. I'm just seeking clarification, so I'm sure I revise the agelint code correctly.

And/or maybe the AGEWiki syntax doc needs to be changed:
SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;
Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;
Domains <_domLand> <_domNav> <_domAir>;<Attributes>;
Generations <ModelGen1> <ModelGen2> ...
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

33 instances of questionable syntax/usage of PickFromRegList


ERROR: in Events/BanditsRaidsPirates_YF68.sct, at (or near) line 648: absence of parameters in PickFromRegList

in event evt_nam_CMN_CaledonianPirates:

639 Probability = 5
640
641 Actions
642 DescEvent = evt_desc_CMN_Pirates
643
644 SelectFaction = $PIR
645 SelectFaction = $PIR
646 AddToRegList = $Moricambe Aestuarium;$Ituna Aestuarium;$Aneda Aestuarium;$Devae Ostia;$Dunum Sinus;$Tinea Aestuarium
647 SelectFaction = $PIR
648> PickFromRegList
649 GenMsg
650
651 SelectFaction = $PIR
652 CreateGroup
653 Posture = $Defensive
654 SetKind = $Nav
655 Entranch = 0
656 SetName = Caledonia piratii
657 Apply

For PickFromRegList, the absence of any parameters might be an error.

According to http://www.ageod.net/agewiki/PickFromRegList, the syntax for this command is:
PickFromRegList = [;NotEnemy] [NotAdj] [;NoBasicBias] [;FavorLocalRatio] [;FavorLackLocalRatio]
[;FavorCityLevel] [;FavorHarborLevel] [;FavorFortLevel]
[;FavorLoyalty] [;FavorLackLoyalty] [;FavorVP] [;FavorOBJ]
[;FavorColPen] [;FavorLackColPen] [;AllowBlocked]
At the Wiki page, there is no suggestion that using this command standalone, without parameters, is acceptable.

Across all the games, here are the instance counts for PickFromRegList usage:

1288 PickFromRegList = NotEnemy
234 PickFromRegList = NotEnemy;NotAdj
196 PickFromRegList = NotEnemy;NoBasicBias;FavorLoyalty;FavorLocalRatio
34 PickFromRegList
32 PickFromRegList = NotEnemy;NoBasicBias;FavorLocalRatio;FavorCityLevel;FavorLoyalty
14 PickFromRegList = NoBasicBias;FavorLocalRatio;FavorCityLevel;FavorLackLoyalty
11 PickFromRegList = NotEnemy;NoBasicBias;FavorLocalRatio;FavorCityLevel;FavorLackLoyalty
2 PickFromRegList = NotEnemy;NotAdjacent
1 PickFromRegList = NotEnemy;NotAdj;FavorHarborLevel

There are just 34 instances of standalone (without parameters) PickFromRegList, 33 of them in AJE.

This might be acceptable usage; this might be a false positive; but please check.

(Or perhaps an acceptable usage might be: PickFromRegList = NULL ?)


Hope this helps.

Still 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.]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
BohémondAJE
Posts: 66
Joined: Fri Sep 21, 2012 7:18 am

RE: AJE Game Data Bugs

Post by BohémondAJE »

ORIGINAL: berto

ORIGINAL: BohémondAJE
ORIGINAL: berto

28 instances of questionable syntax/usage of SelectSubUnits.

...

At the AGEWiki, http://www.ageod.net/agewiki/SelectSubUnits, the syntax for this command is:



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.
The uses of the name instead of the model alias in SelectSubUnits works although it is not documented.
Fair enough.

[root@berto AJE]# find Aliases GameData Includes Scripts Events Scens -exec egrep -il "callimachos|scymnos|paos" {} \; | sort | uniq | egrep -i "/Models/" | egrep -iv cached
GameData/Models/1574LAGPaos.mdl
GameData/Models/1579LAGCallimachos.mdl
GameData/Models/1586SELScymnos.mdl

[root@berto AJE]# egrep "Name =" `find Aliases GameData Includes Scripts Events Scens -exec egrep -il "callimachos|scymnos|paos" {} \; | sort | uniq | egrep -i "/Models/" | egrep -iv cached`
GameData/Models/1574LAGPaos.mdl:Name = Paos
GameData/Models/1574LAGPaos.mdl:ShortName = Paos
GameData/Models/1579LAGCallimachos.mdl:Name = Callimachos
GameData/Models/1579LAGCallimachos.mdl:ShortName = Callimachos
GameData/Models/1586SELScymnos.mdl:Name = Scymnos
GameData/Models/1586SELScymnos.mdl:ShortName = Scymnos

But even so, is not the keyword 'Models' missing? That is, shouldn't it therefore be:

SelectSubUnits = Region $Salamis; Models Callimachos
SelectSubUnits = Region $Tyrus; Models Scymnos
SelectSubUnits = Region $Alexandria; Models Paos

I'm not disputing what you say. I'm just seeking clarification, so I'm sure I revise the agelint code correctly.

And/or maybe the AGEWiki syntax doc needs to be changed:
SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;
Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;
Domains <_domLand> <_domNav> <_domAir>;<Attributes>;
Generations <ModelGen1> <ModelGen2> ...

I have to check with the main programmer why it works but I'm quite sure it works.

AGEwiki syntax will be fixed accordingly

Regards

BohémondAJE
Posts: 66
Joined: Fri Sep 21, 2012 7:18 am

RE: AJE Game Data Bugs

Post by BohémondAJE »

ORIGINAL: berto


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

33 instances of questionable syntax/usage of PickFromRegList


ERROR: in Events/BanditsRaidsPirates_YF68.sct, at (or near) line 648: absence of parameters in PickFromRegList

in event evt_nam_CMN_CaledonianPirates:

639 Probability = 5
640
641 Actions
642 DescEvent = evt_desc_CMN_Pirates
643
644 SelectFaction = $PIR
645 SelectFaction = $PIR
646 AddToRegList = $Moricambe Aestuarium;$Ituna Aestuarium;$Aneda Aestuarium;$Devae Ostia;$Dunum Sinus;$Tinea Aestuarium
647 SelectFaction = $PIR
648> PickFromRegList
649 GenMsg
650
651 SelectFaction = $PIR
652 CreateGroup
653 Posture = $Defensive
654 SetKind = $Nav
655 Entranch = 0
656 SetName = Caledonia piratii
657 Apply

For PickFromRegList, the absence of any parameters might be an error.

According to http://www.ageod.net/agewiki/PickFromRegList, the syntax for this command is:
PickFromRegList = [;NotEnemy] [NotAdj] [;NoBasicBias] [;FavorLocalRatio] [;FavorLackLocalRatio]
[;FavorCityLevel] [;FavorHarborLevel] [;FavorFortLevel]
[;FavorLoyalty] [;FavorLackLoyalty] [;FavorVP] [;FavorOBJ]
[;FavorColPen] [;FavorLackColPen] [;AllowBlocked]
At the Wiki page, there is no suggestion that using this command standalone, without parameters, is acceptable.

Across all the games, here are the instance counts for PickFromRegList usage:

1288 PickFromRegList = NotEnemy
234 PickFromRegList = NotEnemy;NotAdj
196 PickFromRegList = NotEnemy;NoBasicBias;FavorLoyalty;FavorLocalRatio
34 PickFromRegList
32 PickFromRegList = NotEnemy;NoBasicBias;FavorLocalRatio;FavorCityLevel;FavorLoyalty
14 PickFromRegList = NoBasicBias;FavorLocalRatio;FavorCityLevel;FavorLackLoyalty
11 PickFromRegList = NotEnemy;NoBasicBias;FavorLocalRatio;FavorCityLevel;FavorLackLoyalty
2 PickFromRegList = NotEnemy;NotAdjacent
1 PickFromRegList = NotEnemy;NotAdj;FavorHarborLevel

There are just 34 instances of standalone (without parameters) PickFromRegList, 33 of them in AJE.

This might be acceptable usage; this might be a false positive; but please check.

(Or perhaps an acceptable usage might be: PickFromRegList = NULL ?)


Hope this helps.

Still 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.]

AGEwiki need to clarify the point for this ScriptCommand.

Each parameter is optional (in square brackets).

So PickFromRegList without parameter is correct.


Regards

User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

7 instances of questionable syntax/usage of EvalMorale


ERROR: in Events/1-MariusSulla87.sct, at (or near) line 661: line-specific or other contextual syntax error: #;# (0x3b), #;#

in event evt_nam_CMN_SalyanRevoltTestA:

652 StartEvent = evt_nam_CMN_SalyanRevoltTestA|1|0|NULL|NULL|NULL|NULL
653
654 Conditions
655 MinDate = -083/02/01
656 Probability = 95
657
658 SelectFaction = $POP
659
660 EvalRgnOwned = $Cessero
661> EvalMorale = ;<;120
662
663 Actions
664
665 SelectFaction = $BAR
666 SelectRegion = $Arausio
667
668 SelectRegion = $Arausio
669 SelectRegion = $Arausio
670 ChangeRgnOwner = POP

http://www.ageod.net/agewiki/EvalMorale

Syntax: EvalMorale = Operator; Target

The first ';' immediately after the '=' appears to be mistaken.

Other instances of this "bug":

ERROR: in Events/1-MariusSulla87.sct, at (or near) line 696: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 121: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 150: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/2b-Spartacus73.sct, at (or near) line 2221: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 1133: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 1158: line-specific or other contextual syntax error: #;# (0x3b), #;#

Across all the games, there are just 10 instances of this "bug", 7 of them (as reported above) in AJE:

[root@berto agelint]# for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat EvalMorale $g | egrep "=[[:space:]][[:space:]]*;"; echo; done
acw

aje
1 EvalMorale = ;>=;100
2 EvalMorale = ;<;100
2 EvalMorale = ;>=;110
2 EvalMorale = ;<;120

ncp

pon

rop

rus
1 EvalMorale = ;>=;100
2 EvalMorale = ;>=;120

wia

But of the

[root@berto agelint]# ./kwddat EvalMorale | awk '{t+=$1}; END {print t}'
459

459 instances of EvalMorale usage across all games, just 10 of them add the superluous extra (?) ';' before the command parameters.

(NOTE: In general, for all commands, I assume that any ';' following the '=' and preceding the command parameters is a mistake.)


Hope this helps.

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.]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
BohémondAJE
Posts: 66
Joined: Fri Sep 21, 2012 7:18 am

RE: AJE Game Data Bugs

Post by BohémondAJE »

ORIGINAL: berto


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

7 instances of questionable syntax/usage of EvalMorale


ERROR: in Events/1-MariusSulla87.sct, at (or near) line 661: line-specific or other contextual syntax error: #;# (0x3b), #;#

in event evt_nam_CMN_SalyanRevoltTestA:

652 StartEvent = evt_nam_CMN_SalyanRevoltTestA|1|0|NULL|NULL|NULL|NULL
653
654 Conditions
655 MinDate = -083/02/01
656 Probability = 95
657
658 SelectFaction = $POP
659
660 EvalRgnOwned = $Cessero
661> EvalMorale = ;<;120
662
663 Actions
664
665 SelectFaction = $BAR
666 SelectRegion = $Arausio
667
668 SelectRegion = $Arausio
669 SelectRegion = $Arausio
670 ChangeRgnOwner = POP

http://www.ageod.net/agewiki/EvalMorale

Syntax: EvalMorale = Operator; Target

The first ';' immediately after the '=' appears to be mistaken.

Other instances of this "bug":

ERROR: in Events/1-MariusSulla87.sct, at (or near) line 696: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 121: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 150: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/2b-Spartacus73.sct, at (or near) line 2221: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 1133: line-specific or other contextual syntax error: #;# (0x3b), #;#

ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 1158: line-specific or other contextual syntax error: #;# (0x3b), #;#

Across all the games, there are just 10 instances of this "bug", 7 of them (as reported above) in AJE:

[root@berto agelint]# for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat EvalMorale $g | egrep "=[[:space:]][[:space:]]*;"; echo; done
acw

aje
1 EvalMorale = ;>=;100
2 EvalMorale = ;<;100
2 EvalMorale = ;>=;110
2 EvalMorale = ;<;120

ncp

pon

rop

rus
1 EvalMorale = ;>=;100
2 EvalMorale = ;>=;120

wia

But of the

[root@berto agelint]# ./kwddat EvalMorale | awk '{t+=$1}; END {print t}'
459

459 instances of EvalMorale usage across all games, just 10 of them add the superluous extra (?) ';' before the command parameters.

(NOTE: In general, for all commands, I assume that any ';' following the '=' and preceding the command parameters is a mistake.)


Hope this helps.

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.]


Fixed in next version

FYI, Supefluous ; has no impact on Events working as intended or not

Thank you for reporting

Regards

User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

4 instances of questionable syntax/usage of FlavorName, 2 of SetEvtOccurs, 2 of BlockState, and 2 of AlterCuSubUnit.


ERROR: in Events/OptionsGov_GreatMithridaticWar75.sct, at (or near) line 1241: line-specific or other contextual syntax error: #1# (0x31), #1#

in event evt_nam_SER_RomanSchool:

1232 Posture = $Defensive
1233 SetKind = $Land
1234 Entranch = 0
1235 InCS = 0
1236 FixType = 0
1237 SetName = Osca Force
1238 Apply
1239 CreateUnit
1240 SetType = $uni_GLL_HvyInf0
1241> FlavorName = 1
1242 SetLevel = 1
1243 SetName = Bellator VIII
1244 Apply
1245 CreateUnit
1246 SetType = $uni_GLL_HvyInf0
1247 FlavorName = 1
1248 SetLevel = 1
1249 SetName = Bellator IX
1250 Apply

Syntax: FlavorName = Name

If '1' is a legitimate name here, okay; but if not, if that is mistakenly the digit 1, it's a bug.

In the kwd database, I could easily show 1000s of correct usage examples (the total is well over 10,000), but I shouldn't need to.

Across all the games, there are just nine instances of a FlavorName being a number, four of them in AJE:

telemann:/home/berto/games/ageod/agelint # for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat FlavorName $g | egrep "=[[:space:]][[:space:]]*[[:digit:]]" | awk -F= '$NF>0'; echo; done
acw

aje
4 FlavorName = 1

ncp

pon

rop

rus
5 FlavorName = 1

wia


ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 2925: mistaken use of MaxOccur, should be MaxOccurs or CuOccurs

in event evt_nam_SLV_SpartacusCaptureCity_Rhegium:

2916 Apply
2917 CreateUnit
2918 SetType = $uni_SLV_Inf1
2919 SetName = Servii
2920 Apply
2921 CreateUnit
2922 SetType = $uni_SLV_Sup0
2923 SetName = Impedimenta
2924 Apply
2925> SetEvtOccurs = evt_nam_CMN_SicilyOpened;MaxOccur;1
2926
2927 EndEvent
2928
2929 SelectFaction = $CMN
2930 SelectRegion = $Locri
2931
2932 SelectFaction = $CMN
2933 SelectRegion = $Locri
2934 StartEvent = evt_nam_SLV_SpartacusCaptureCity_Locri|1|1|NULL|NULL|$Locri|NULL

At http://www.ageod.net/agewiki/SetEvtOccurs, it says:
SetEvtOccurs = EventName; OccParam; Value

...

Parameters

EventName

String; Name (alias) of the event

OccParam

String; [MaxOccurs, CuOccurs];

MaxOccurs - Changes the allowed amount of occurences.

MaxOccurs=0: Event never fires.

MaxOccurs=999: Event fires infinite times.

CuOccurs - Changes the counter for how often the event already has occured.
Value

Integer; [0, 999]
'MaxOccur' (singular) looks like a bug; it should be 'MaxOccurs' (plural), according to the AGEWiki docs.

But also according to actual usage. Across all the games, with

telemann:/home/berto/games/ageod/agelint # ./kwddat SetEvtOccurs | awk '{t+=$1}; END {print t}'
5226

5226 usages of SetEvtOccurs, just two have 'MaxOccur' instead of 'MaxOccurs':

telemann:/home/berto/games/ageod/agelint # for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat SetEvtOccurs $g | egrep "MaxOccur" | egrep -v "MaxOccurs"; echo; done
acw

aje
2 SetEvtOccurs = evt_nam_CMN_SicilyOpened;MaxOccur;1

ncp

pon

rop

rus

wia

Aside from the above, the one other misusage of 'MaxOccur' is:

ERROR: in Events/2b-Spartacus73.sct, at (or near) line 1005: mistaken use of MaxOccur, should be MaxOccurs or CuOccurs


ERROR: in Events/5-Severus193.sct, at (or near) line 938: line-specific or other contextual syntax error: #$# (0x24), #$Theater_Caucasus#

in event evt_nam_ROM_ArmeniaSupport195:

929 SelectFaction = $PES
930
931 EvalRgnOwned = $Colophon
932
933 EvalRgnOwned = $Byzantium
934
935 EvalRgnOwned = $Issus
936 Probability = 30
937 SelectRegion = $Roma
938> BlockState = $Theater_Caucasus;0
939 ChangeMoneyPool = 50
940 ChgFacEngagementPts = 1
941 SelectSubUnits = Area $Theater_Caucasus;FactionTags PES ROM ARM;OnlyNPermFixed
942 AlterCuSubUnit = ApplytoList;SetFixing 0
943
944 Actions
945
946 EndEvent
947 NULL = NULL

http://www.ageod.net/agewiki/BlockState

Syntax: BlockState = Value [;<AreaAlias>]

It should be '0;$Theater_Caucasus', with the parameters reversed (number leading).

The kwd database clearly confirms the AGEWiki documented usage:

telemann:/home/berto/games/ageod/agelint # ./kwddat BlockState aje
1 BlockState = $Theater_Caucasus;0
1 BlockState = $Theater_Mesopotamia;0
1 BlockState = $Theater_Persia;0
2 BlockState = 0;$ArmeniaAtWar_GMW75
678 BlockState=1
719 BlockState = 1
5571 BlockState=0
6531 BlockState = 0
10881 BlockState=2
13132 BlockState = 2

The other two instances of this bug (the second and third of the kwd usages shown above) are:

ERROR: in Events/5-Severus193.sct, at (or near) line 974: line-specific or other contextual syntax error: #$# (0x24), #$Theater_Mesopotamia#

ERROR: in Events/5-Severus193.sct, at (or near) line 976: line-specific or other contextual syntax error: #$# (0x24), #$Theater_Persia#


ERROR: in Events/OptionsDip_CaesarPompey50.sct, at (or near) line 719: line-specific or other contextual syntax error: #$# (0x24), #$Alexandria#

in event evt_nam_CAE_CaesarBesiegedInAlexandria:

710 FixType = 0
711 SetName = Caesar Legio
712 Apply
713 CreateUnit
714 SetType = $uni_ROM_HvyInf0_Exp
715 SetLevel = 5
716 SetName = Legio VI Ferrata
717 Apply
718 SelectSubUnits = Models $ldr_ROM_CaesarOldJ3
719> AlterCuSubUnit = ApplyToList;Move In $Alexandria
720
721 EndEvent
722
723 SelectFaction = $CAE
724 SelectRegion = $Alexandria
725 StartEvent = evt_nam_CAE_CaesarAvengesPompey|0|2|evt_txt_CAE_CaesarAvengesPompey|Event-Img_CivilWar01|$Alexandria|NULL
726
727 Conditions
728 MinDate = -048/02/01

'Move In $Alexandria' should, I believe, instead be 'Move In', or perhaps 'Move $Alexandria'.

At the AgeWiki page http://www.ageod.net/agewiki/AlterCuSubUnit, it shows
AlterCuSubUnit = <ApplyToList> <;Probability Value> <;Attempts Value> <;Convert NewUID/PrimUpg/SecUpg NewName>
<;ChgSeniority Value> <;ChgPtsHealth ValueInHits> <;ChgPtsCohesion ValueInPts>
<;ChgXPLevel Value> <;Kill> <;RerollActivation> <;SetFixing Value> <;SetParentGroupFixing Value>
<;SetHealthPerc Value> <;SetCohesionPerc Value> <;ChgHealthPerc Value> <;ChgCohesionPerc Value>
<;Move Out/In/RgnUID> <;LeaderActive> <;LeaderUnactive> <;SkipAttribs SkipProba Attrib1 Attrib2 ...>
<;SkipUnitAttribs SkipProba Attrib1 Attrib2 ...>
Note the '<;Move Out/In/RgnUID>', as in

[*]Move Out
[*]Move In
[*]Move <RgnUID> [for example: 'Move $Alexandria']

In the AJE kwd database, the documented usages overwhelmingly apply:

telemann:/home/berto/games/ageod/agelint # ./kwddat AlterCuSubUnit aje | egrep "Move"
1 AlterCuSubUnit = ApplyToList;Move $Artaxata
1 AlterCuSubUnit = ApplyToList;Move $Grumentum
1 AlterCuSubUnit = ApplyToList;Move $Issus
1 AlterCuSubUnit = ApplyToList;Move $Paestum
1 AlterCuSubUnit = ApplyToList;Move $Pelusium
1 AlterCuSubUnit = ApplyToList;Move $Sinope
1 AlterCuSubUnit = ApplyToList;Move In $Alexandria
1 AlterCuSubUnit = ApplytoList;Move $Batanea
1 AlterCuSubUnit = ApplytoList;Move $Byzantium
1 AlterCuSubUnit = ApplytoList;Move $Capua
1 AlterCuSubUnit = ApplytoList;Move $Chalcidis
1 AlterCuSubUnit = ApplytoList;Move $Colonia Agrippa
1 AlterCuSubUnit = ApplytoList;Move $Cyrene
1 AlterCuSubUnit = ApplytoList;Move $Danum
1 AlterCuSubUnit = ApplytoList;Move $Gades
1 AlterCuSubUnit = ApplytoList;Move $Gortyna
1 AlterCuSubUnit = ApplytoList;Move $Halicarnassum
1 AlterCuSubUnit = ApplytoList;Move $Icaunium
1 AlterCuSubUnit = ApplytoList;Move $Nicaea
1 AlterCuSubUnit = ApplytoList;Move $Pamphylia
1 AlterCuSubUnit = ApplytoList;Move $Phanagoria
1 AlterCuSubUnit = ApplytoList;Move $Phasis
1 AlterCuSubUnit = ApplytoList;Move $Rhegium
1 AlterCuSubUnit = ApplytoList;Move $Salamis
1 AlterCuSubUnit = ApplytoList;Move $Salduba
1 AlterCuSubUnit = ApplytoList;Move $Singara
1 AlterCuSubUnit = ApplytoList;Move $Thapsacus
1 AlterCuSubUnit = ApplytoList;Move $Tyrus
1 AlterCuSubUnit = ApplytoList;Move Out
1 AlterCuSubUnit = ApplytoList;Move in
2 AlterCuSubUnit = ApplyToList;Move $Ctesiphon
2 AlterCuSubUnit = ApplyToList;Move $Gades
2 AlterCuSubUnit = ApplytoList;Move $Carthago Nova
2 AlterCuSubUnit = ApplytoList;Move $Corsote
2 AlterCuSubUnit = ApplytoList;Move $Edessa
2 AlterCuSubUnit = ApplytoList;Move $Issus
2 AlterCuSubUnit = ApplytoList;Move $Nicomedia
2 AlterCuSubUnit = ApplytoList;Move $Phoceum
2 AlterCuSubUnit = ApplytoList;Move $Sena Gallica
3 AlterCuSubUnit = ApplyToList;Move $Alexandria
3 AlterCuSubUnit = ApplytoList;Move $Appolonia
3 AlterCuSubUnit = ApplytoList;Move $Coele Syria
3 AlterCuSubUnit = ApplytoList;Move $Lydia
4 AlterCuSubUnit = ApplytoList;Move $Colophon
4 AlterCuSubUnit = ApplytoList;Move $Utica
6 AlterCuSubUnit = ApplytoList;Move $Mazaca
12 AlterCuSubUnit = ApplytoList;Move $Sinope

Note just the 1 instance (cited above) of 'Move In $Alexandria' (i.e., 'Move In' with a RgnUID appended).

One other questionable AlterCuSubUnit:

ERROR: in Events/0-Tutorial.sct, at (or near) line 198: line-specific or other contextual syntax error: #C# (0x43), #ChgCohPerc#

in event evt_nam_TutorialTurn4_PompeiansMoved:

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
205
206 SelectFaction = $CAE
207 SelectRegion = $Ilerda

It should be 'ChgCohesionPerc', not 'ChgCohPerc'. Please see the AlterCuSubUnit syntax statement above.

Across all the games, ChgCohesionPerc clearly applies:

telemann:/home/berto/games/ageod/agelint # ./kwddat AlterCuSubUnit | egrep "ChgCoh.*Perc"
1 AlterCuSubUnit = ApplyToList;Attempts 15;ChgCohesionPerc -50
1 AlterCuSubUnit = ApplyToList;Attempts 30;SkipAttribs 50 #PoliticalUnit#;ChgCohesionPerc -20;ChgHealthPerc -20
1 AlterCuSubUnit = ApplyToList;ChgHealthPerc -25;ChgCohesionPerc -75
1 AlterCuSubUnit = ApplyToList;ChgHealthPerc 50;ChgCohesionPerc 50
1 AlterCuSubUnit = ApplytoList;ChgHealthPerc 50;ChgCohPerc 50;SetFixing 5
2 AlterCuSubUnit = ApplyToList;Attempts 20;ChgCohesionPerc -20;ChgHealthPerc -10
6 AlterCuSubUnit = ApplytoList;ChgCohesionPerc 100;SetFixing 1
7 AlterCuSubUnit = ApplytoList;ChgCohesionPerc 100
8 AlterCuSubUnit = ApplyToList;ChgCohesionPerc -5
18 AlterCuSubUnit = ApplyToList;ChgCohesionPerc -50

with just the one exception, in AJE:

telemann:/home/berto/games/ageod/agelint # ./kwddat AlterCuSubUnit aje | egrep "ChgCoh.*Perc" | egrep ChgCohPerc
1 AlterCuSubUnit = ApplytoList;ChgHealthPerc 50;ChgCohPerc 50;SetFixing 5


Hope this helps.

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.]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AJE Game Data Bugs

Post by Chilperic »

PickFromRegList:

whatever the reply of the lead programer to the lead developper, agelint should keep a warning when used without parameter. Indeed, there's a bias in the command favoring the choice of the first region in the list; hence the parameter NobasicBias. Imo, a warning will help to avoid the bias, that is tooo often overlooked.
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »

ORIGINAL: BohémondAJE

FYI, Supefluous ; has no impact on Events working as intended or not
Constructive feedback. Much appreciated. Good finally to get authoritative answers to some of these questions, and not be left to speculate. [8D]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
BohémondAJE
Posts: 66
Joined: Fri Sep 21, 2012 7:18 am

RE: AJE Game Data Bugs

Post by BohémondAJE »

ORIGINAL: berto


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

4 instances of questionable syntax/usage of FlavorName, 2 of SetEvtOccurs, 2 of BlockState, and 2 of AlterCuSubUnit.


ERROR: in Events/OptionsGov_GreatMithridaticWar75.sct, at (or near) line 1241: line-specific or other contextual syntax error: #1# (0x31), #1#

in event evt_nam_SER_RomanSchool:

1232 Posture = $Defensive
1233 SetKind = $Land
1234 Entranch = 0
1235 InCS = 0
1236 FixType = 0
1237 SetName = Osca Force
1238 Apply
1239 CreateUnit
1240 SetType = $uni_GLL_HvyInf0
1241> FlavorName = 1
1242 SetLevel = 1
1243 SetName = Bellator VIII
1244 Apply
1245 CreateUnit
1246 SetType = $uni_GLL_HvyInf0
1247 FlavorName = 1
1248 SetLevel = 1
1249 SetName = Bellator IX
1250 Apply

Syntax: FlavorName = Name

If '1' is a legitimate name here, okay; but if not, if that is mistakenly the digit 1, it's a bug.

In the kwd database, I could easily show 1000s of correct usage examples (the total is well over 10,000), but I shouldn't need to.

Across all the games, there are just nine instances of a FlavorName being a number, four of them in AJE:

telemann:/home/berto/games/ageod/agelint # for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat FlavorName $g | egrep "=[[:space:]][[:space:]]*[[:digit:]]" | awk -F= '$NF>0'; echo; done
acw

aje
4 FlavorName = 1

ncp

pon

rop

rus
5 FlavorName = 1

wia


ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 2925: mistaken use of MaxOccur, should be MaxOccurs or CuOccurs

in event evt_nam_SLV_SpartacusCaptureCity_Rhegium:

2916 Apply
2917 CreateUnit
2918 SetType = $uni_SLV_Inf1
2919 SetName = Servii
2920 Apply
2921 CreateUnit
2922 SetType = $uni_SLV_Sup0
2923 SetName = Impedimenta
2924 Apply
2925> SetEvtOccurs = evt_nam_CMN_SicilyOpened;MaxOccur;1
2926
2927 EndEvent
2928
2929 SelectFaction = $CMN
2930 SelectRegion = $Locri
2931
2932 SelectFaction = $CMN
2933 SelectRegion = $Locri
2934 StartEvent = evt_nam_SLV_SpartacusCaptureCity_Locri|1|1|NULL|NULL|$Locri|NULL

At http://www.ageod.net/agewiki/SetEvtOccurs, it says:
SetEvtOccurs = EventName; OccParam; Value

...

Parameters

EventName

String; Name (alias) of the event

OccParam

String; [MaxOccurs, CuOccurs];

MaxOccurs - Changes the allowed amount of occurences.

MaxOccurs=0: Event never fires.

MaxOccurs=999: Event fires infinite times.

CuOccurs - Changes the counter for how often the event already has occured.
Value

Integer; [0, 999]
'MaxOccur' (singular) looks like a bug; it should be 'MaxOccurs' (plural), according to the AGEWiki docs.

But also according to actual usage. Across all the games, with

telemann:/home/berto/games/ageod/agelint # ./kwddat SetEvtOccurs | awk '{t+=$1}; END {print t}'
5226

5226 usages of SetEvtOccurs, just two have 'MaxOccur' instead of 'MaxOccurs':

telemann:/home/berto/games/ageod/agelint # for g in acw aje ncp pon rop rus wia; do echo $g; ./kwddat SetEvtOccurs $g | egrep "MaxOccur" | egrep -v "MaxOccurs"; echo; done
acw

aje
2 SetEvtOccurs = evt_nam_CMN_SicilyOpened;MaxOccur;1

ncp

pon

rop

rus

wia

Aside from the above, the one other misusage of 'MaxOccur' is:

ERROR: in Events/2b-Spartacus73.sct, at (or near) line 1005: mistaken use of MaxOccur, should be MaxOccurs or CuOccurs


ERROR: in Events/5-Severus193.sct, at (or near) line 938: line-specific or other contextual syntax error: #$# (0x24), #$Theater_Caucasus#

in event evt_nam_ROM_ArmeniaSupport195:

929 SelectFaction = $PES
930
931 EvalRgnOwned = $Colophon
932
933 EvalRgnOwned = $Byzantium
934
935 EvalRgnOwned = $Issus
936 Probability = 30
937 SelectRegion = $Roma
938> BlockState = $Theater_Caucasus;0
939 ChangeMoneyPool = 50
940 ChgFacEngagementPts = 1
941 SelectSubUnits = Area $Theater_Caucasus;FactionTags PES ROM ARM;OnlyNPermFixed
942 AlterCuSubUnit = ApplytoList;SetFixing 0
943
944 Actions
945
946 EndEvent
947 NULL = NULL

http://www.ageod.net/agewiki/BlockState

Syntax: BlockState = Value [;<AreaAlias>]

It should be '0;$Theater_Caucasus', with the parameters reversed (number leading).

The kwd database clearly confirms the AGEWiki documented usage:

telemann:/home/berto/games/ageod/agelint # ./kwddat BlockState aje
1 BlockState = $Theater_Caucasus;0
1 BlockState = $Theater_Mesopotamia;0
1 BlockState = $Theater_Persia;0
2 BlockState = 0;$ArmeniaAtWar_GMW75
678 BlockState=1
719 BlockState = 1
5571 BlockState=0
6531 BlockState = 0
10881 BlockState=2
13132 BlockState = 2

The other two instances of this bug (the second and third of the kwd usages shown above) are:

ERROR: in Events/5-Severus193.sct, at (or near) line 974: line-specific or other contextual syntax error: #$# (0x24), #$Theater_Mesopotamia#

ERROR: in Events/5-Severus193.sct, at (or near) line 976: line-specific or other contextual syntax error: #$# (0x24), #$Theater_Persia#


ERROR: in Events/OptionsDip_CaesarPompey50.sct, at (or near) line 719: line-specific or other contextual syntax error: #$# (0x24), #$Alexandria#

in event evt_nam_CAE_CaesarBesiegedInAlexandria:

710 FixType = 0
711 SetName = Caesar Legio
712 Apply
713 CreateUnit
714 SetType = $uni_ROM_HvyInf0_Exp
715 SetLevel = 5
716 SetName = Legio VI Ferrata
717 Apply
718 SelectSubUnits = Models $ldr_ROM_CaesarOldJ3
719> AlterCuSubUnit = ApplyToList;Move In $Alexandria
720
721 EndEvent
722
723 SelectFaction = $CAE
724 SelectRegion = $Alexandria
725 StartEvent = evt_nam_CAE_CaesarAvengesPompey|0|2|evt_txt_CAE_CaesarAvengesPompey|Event-Img_CivilWar01|$Alexandria|NULL
726
727 Conditions
728 MinDate = -048/02/01

'Move In $Alexandria' should, I believe, instead be 'Move In', or perhaps 'Move $Alexandria'.

At the AgeWiki page http://www.ageod.net/agewiki/AlterCuSubUnit, it shows
AlterCuSubUnit = <ApplyToList> <;Probability Value> <;Attempts Value> <;Convert NewUID/PrimUpg/SecUpg NewName>
<;ChgSeniority Value> <;ChgPtsHealth ValueInHits> <;ChgPtsCohesion ValueInPts>
<;ChgXPLevel Value> <;Kill> <;RerollActivation> <;SetFixing Value> <;SetParentGroupFixing Value>
<;SetHealthPerc Value> <;SetCohesionPerc Value> <;ChgHealthPerc Value> <;ChgCohesionPerc Value>
<;Move Out/In/RgnUID> <;LeaderActive> <;LeaderUnactive> <;SkipAttribs SkipProba Attrib1 Attrib2 ...>
<;SkipUnitAttribs SkipProba Attrib1 Attrib2 ...>
Note the '<;Move Out/In/RgnUID>', as in

[*]Move Out
[*]Move In
[*]Move <RgnUID> [for example: 'Move $Alexandria']

In the AJE kwd database, the documented usages overwhelmingly apply:

telemann:/home/berto/games/ageod/agelint # ./kwddat AlterCuSubUnit aje | egrep "Move"
1 AlterCuSubUnit = ApplyToList;Move $Artaxata
1 AlterCuSubUnit = ApplyToList;Move $Grumentum
1 AlterCuSubUnit = ApplyToList;Move $Issus
1 AlterCuSubUnit = ApplyToList;Move $Paestum
1 AlterCuSubUnit = ApplyToList;Move $Pelusium
1 AlterCuSubUnit = ApplyToList;Move $Sinope
1 AlterCuSubUnit = ApplyToList;Move In $Alexandria
1 AlterCuSubUnit = ApplytoList;Move $Batanea
1 AlterCuSubUnit = ApplytoList;Move $Byzantium
1 AlterCuSubUnit = ApplytoList;Move $Capua
1 AlterCuSubUnit = ApplytoList;Move $Chalcidis
1 AlterCuSubUnit = ApplytoList;Move $Colonia Agrippa
1 AlterCuSubUnit = ApplytoList;Move $Cyrene
1 AlterCuSubUnit = ApplytoList;Move $Danum
1 AlterCuSubUnit = ApplytoList;Move $Gades
1 AlterCuSubUnit = ApplytoList;Move $Gortyna
1 AlterCuSubUnit = ApplytoList;Move $Halicarnassum
1 AlterCuSubUnit = ApplytoList;Move $Icaunium
1 AlterCuSubUnit = ApplytoList;Move $Nicaea
1 AlterCuSubUnit = ApplytoList;Move $Pamphylia
1 AlterCuSubUnit = ApplytoList;Move $Phanagoria
1 AlterCuSubUnit = ApplytoList;Move $Phasis
1 AlterCuSubUnit = ApplytoList;Move $Rhegium
1 AlterCuSubUnit = ApplytoList;Move $Salamis
1 AlterCuSubUnit = ApplytoList;Move $Salduba
1 AlterCuSubUnit = ApplytoList;Move $Singara
1 AlterCuSubUnit = ApplytoList;Move $Thapsacus
1 AlterCuSubUnit = ApplytoList;Move $Tyrus
1 AlterCuSubUnit = ApplytoList;Move Out
1 AlterCuSubUnit = ApplytoList;Move in
2 AlterCuSubUnit = ApplyToList;Move $Ctesiphon
2 AlterCuSubUnit = ApplyToList;Move $Gades
2 AlterCuSubUnit = ApplytoList;Move $Carthago Nova
2 AlterCuSubUnit = ApplytoList;Move $Corsote
2 AlterCuSubUnit = ApplytoList;Move $Edessa
2 AlterCuSubUnit = ApplytoList;Move $Issus
2 AlterCuSubUnit = ApplytoList;Move $Nicomedia
2 AlterCuSubUnit = ApplytoList;Move $Phoceum
2 AlterCuSubUnit = ApplytoList;Move $Sena Gallica
3 AlterCuSubUnit = ApplyToList;Move $Alexandria
3 AlterCuSubUnit = ApplytoList;Move $Appolonia
3 AlterCuSubUnit = ApplytoList;Move $Coele Syria
3 AlterCuSubUnit = ApplytoList;Move $Lydia
4 AlterCuSubUnit = ApplytoList;Move $Colophon
4 AlterCuSubUnit = ApplytoList;Move $Utica
6 AlterCuSubUnit = ApplytoList;Move $Mazaca
12 AlterCuSubUnit = ApplytoList;Move $Sinope

Note just the 1 instance (cited above) of 'Move In $Alexandria' (i.e., 'Move In' with a RgnUID appended).

One other questionable AlterCuSubUnit:

ERROR: in Events/0-Tutorial.sct, at (or near) line 198: line-specific or other contextual syntax error: #C# (0x43), #ChgCohPerc#

in event evt_nam_TutorialTurn4_PompeiansMoved:

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
205
206 SelectFaction = $CAE
207 SelectRegion = $Ilerda

It should be 'ChgCohesionPerc', not 'ChgCohPerc'. Please see the AlterCuSubUnit syntax statement above.

Across all the games, ChgCohesionPerc clearly applies:

telemann:/home/berto/games/ageod/agelint # ./kwddat AlterCuSubUnit | egrep "ChgCoh.*Perc"
1 AlterCuSubUnit = ApplyToList;Attempts 15;ChgCohesionPerc -50
1 AlterCuSubUnit = ApplyToList;Attempts 30;SkipAttribs 50 #PoliticalUnit#;ChgCohesionPerc -20;ChgHealthPerc -20
1 AlterCuSubUnit = ApplyToList;ChgHealthPerc -25;ChgCohesionPerc -75
1 AlterCuSubUnit = ApplyToList;ChgHealthPerc 50;ChgCohesionPerc 50
1 AlterCuSubUnit = ApplytoList;ChgHealthPerc 50;ChgCohPerc 50;SetFixing 5
2 AlterCuSubUnit = ApplyToList;Attempts 20;ChgCohesionPerc -20;ChgHealthPerc -10
6 AlterCuSubUnit = ApplytoList;ChgCohesionPerc 100;SetFixing 1
7 AlterCuSubUnit = ApplytoList;ChgCohesionPerc 100
8 AlterCuSubUnit = ApplyToList;ChgCohesionPerc -5
18 AlterCuSubUnit = ApplyToList;ChgCohesionPerc -50

with just the one exception, in AJE:

telemann:/home/berto/games/ageod/agelint # ./kwddat AlterCuSubUnit aje | egrep "ChgCoh.*Perc" | egrep ChgCohPerc
1 AlterCuSubUnit = ApplytoList;ChgHealthPerc 50;ChgCohPerc 50;SetFixing 5


Hope this helps.

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.]

Flavorname fixed, this not a bug, more a typo. You have not or I do not find in your report, reported the 3 others locations for typo in Flavorname

MaxOccur Typo fixed.

Blockstate Syntax Fixed

Move In is a correct parameter for AlterCuSubUnit, you can use Move RgnUID, Move Out RgnUID or Move In RgnUID, so false positive.

ChgCohesionPerc Typo Fixed

Thank you for reporting

Regards


User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

1 instance each of SetCohesion, Kind, SubType, EvalUnqUnit, EvalMoney & ChangeActorPool


ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 5077: illegal value: 500

in event evt_nam_PMP_BassusRevoltinSyria46:

5068 Entranch = 8
5069 InCS = 1
5070 FixType = 999
5071 SetName = Emesus praesidium
5072 Apply
5073 CreateUnit
5074 SetType = $uni_PMP_UrbGar1
5075 SetName = Urb. Militiae
5076 Apply
5077> SetCohesion = 500
5078
5079 SelectFaction = $PMP
5080 SelectRegion = $Apamene
5081 CreateGroup
5082 Posture = $Defensive
5083 SetKind = $Land
5084 Entranch = 4
5085 InCS = 1
5086 FixType = 0

At http://www.ageod.net/agewiki/SetCohesion, it says
Parameters

Value

Integer; 0..100. Value can also be -1 (unknown what that means).
From the kwd database, across all games

telemann:/home/berto/games/ageod/agelint # ./kwddat SetCohesion
1 SetCohesion = 10
1 SetCohesion = 15
1 SetCohesion = 35
1 SetCohesion = 4
1 SetCohesion = 500
1 SetCohesion = 7
2 SetCohesion = 65
2 SetCohesion = 90
4 SetCohesion = 45
4 SetCohesion = 55
5 SetCohesion = 95
7 SetCohesion = 70
13 SetCohesion = 20
16 SetCohesion = -1
17 SetCohesion = 40
17 SetCohesion = 60
25 SetCohesion = 80
35 SetCohesion = 75
36 SetCohesion = 25
50 SetCohesion = 10
57 SetCohesion = 30
63 SetCohesion = 50
65 SetCohesion = 5
716 SetCohesion = 100

it's clear that the example cited above is the only instance violating the 100 max limit stated in the AGEWiki docs; and 500 is clearly an outlier.

But I wouldn't be surprised to learn that the engine still accepts this value (even if the AGEWiki docs are therefore in error).


ERROR: in GameData/Models/218ROMSiege Train (Mobile).mdl, at (or near) line 8: line-specific or other contextual syntax error: #T# (0x54), #Turris#

1 UID = 218
2 NationTag = ROM
3 Name = Siege Train (Mobile)
4 Alias = mdl_ROM_SieMob0
5 TemplateUID = $mdl_CMN_SieMob
6 ShortName = Siege Train
7 Text = $mdl_txt_ROM_SieMob
8> Kind = Turris: this siege engine is constructed by the troops under the command of some engineers even before besieging, and transported away after the siege is over for possible usage against another city.
9 SubType = Turris: this siege engine is constructed by the troops under the command of some engineers even before besieging, and transported away after the siege is over for possible usage against another city.
10 Color = $colROMMain
11 Cohesion = 60
12 SupMovePen = 20
13 SupCbtPen = 50

Syntax: Kind = Value [or: ; separated val list]

In the kwd database, for AJE

[root@berto agelint]# ./kwddat Kind aje
1 Kind = $abiPatriot
1 Kind = $stuDepot
1 Kind = $stuVarious
1 Kind = Turris: this siege engine is constructed by the troops under the command of some engineers even before besieging, and transported away after the siege is over for possible usage against another city.
2 Kind = $abiFOWAdjust
2 Kind = $abiSurprise
2 Kind = $abiTraining
2 Kind = $Nav
3 Kind = $stuCity
3 Kind = $stuHarbor
4 Kind = $stuProdSite
5 Kind = $abiRetreat
5 Kind = $abiTransport
6 Kind = $abiLoyAdjust
6 Kind = $abiSiege
7 Kind = $stuFort
8 Kind = $abiMultiNation
8 Kind = $abiSupplyMod
9 Kind = $abiHideAndSeek
10 Kind = $abiAreaBound
10 Kind = $abiMoveBonus
10 Kind = $WaterTerrain
12 Kind = $abiCohAdjust
20 Kind = $abiCmdAdjust
21 Kind = $abiUnitSpawning
26 Kind = $rgdSocial
28 Kind = $abiFlavor
31 Kind = $abiBattleBonus
32 Kind = $LandTerrain
48 Kind = $Naval
58 Kind = -1
65 Kind = $abiCollection
105 Kind = 1
166 Kind = $Land
3032 Kind = 0

all of the Kind values are either aliases, or integers. It almost appears like 'Kind = Turris...' has a localization as a value.

Note also the questionable use of SubType in the immediate next line.


ERROR: in Events/CaesarPompey50_CAE-AI.sct, at (or near) line 298: line-specific or other contextual syntax error: #$# (0x24), #$Alexandria#

in event evt_nam_CAE_CaesarInAlexandriaPrev48:

289
290 SelectFaction = $CAE
291 StartEvent = evt_nam_CAE_CaesarInAlexandriaPrev48|999|0|NULL|NULL|NULL|NULL
292
293 Conditions
294
295 CheckAILevel = 1
296 MinDate = -048/01/01
297 MaxDate = -046/01/01
298> EvalUnqUnit = Gaius Julius Caesar;$Alexandria
299
300 Actions
301 AI.SetTheaPrev = $Theater_Aegyptus;200
302 SetEvtOccurs = evt_nam_CAE_AsiaOriensTheaterPrev48;MaxOccurs;0
303
304 EndEvent
305 NULL = NULL
306
307 SelectFaction = $CAE

http://www.ageod.net/agewiki/EvalUnqUnit

Syntax: EvalUnqUnit = Name[;FixValue][;NOT]

Appending '$Alexandria' looks like an error.

Not only does it defy the stated AGEWiki syntax, across

telemann:/home/berto/games/ageod/agelint # ./kwddat EvalUnqUnit | awk '{t+=$1}; END {print t}'
935

935 usages of EvalUnqUnit across all the games, it is the only use of a RgnUID anywhere:

telemann:/home/berto/games/ageod/agelint # ./kwddat EvalUnqUnit | fgrep '$'
1 EvalUnqUnit = Gaius Julius Caesar;$Alexandria


ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 1385: line-specific or other contextual syntax error: #2# (0x32), #250#

in event evt_nam_PON_SertorianAlliance_Funds:

1376
1377 Conditions
1378 MinDate = -075/10/01
1379
1380 SelectFaction = $SER
1381 EvalEvent = evt_nam_SER_OfferFromMithridates;=;1
1382 Probability = 100
1383
1384 SelectFaction = $PON
1385> EvalMoney = >=250
1386
1387 Actions
1388 ChangeMoneyPool = -200
1389
1390 EndEvent
1391 NULL = NULL
1392
1393 SelectFaction = $CMN
1394 SelectRegion = $Sinope

http://www.ageod.net/agewiki/EvalMoney

Syntax: EvalMoney = Operator; Target

Missing ';' between '>=' and '250'.


ERROR: in Events/4-YearFourEmperors68.sct, at (or near) line 2247: line-specific or other contextual syntax error: #$# (0x24), #$gmaOptionDip#

in event evt_nam_ROM_ReleaseMoesiaSuperior_Automatic:

2238
2239 SelectFaction = $VSP
2240 SelectSubUnits = Area $Area_Moesia_Superior;FriendAndSelf;OnlyNPermFixed
2241 AlterCuSubUnit = ApplyToList;SetFixing 0
2242
2243 SelectFaction = $CMN
2244 GenTextMsg = opt_notify_CMN_ReleaseMoesiaSuperiorROM;1;NULL;NULL;NULL
2245
2246 SelectFaction = $VSP
2247> ChangeActorPool = $gmaOptionDip;MaxUse;0;ResetFreq;0;SubType;ROM_ReleaseMoesiaSuperior;SParam1;VSP$gmaOptionDip;MaxUse;0;ResetFreq;0;SubType;ROM_ReleaseMoesiaSuperior;SParam1;VSP
2248 SetEvtOccurs = evt_nam_ROM_ReleaseMoesiaSuperior_Rome;MaxOccurs;0
2249
2250 EndEvent
2251 NULL = NULL
2252
2253 SelectFaction = $VSP
2254 StartEvent = evt_nam_ROM_ReleaseMoesiaInferior_Automatic|1|0|NULL|NULL|NULL|NULL
2255
2256 Conditions

Missing ';' between 'VSP' and '$gmaOptionDip'.


Hope this helps.

Thus ends my report of discovered syntax/usage ERRORs in the latest AJE beta release.

Next up: WARNINGs, followed by miscellaneous bits and pieces.

[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.]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »

ORIGINAL: BohémondAJE

Flavorname fixed, this not a bug, more a typo. You have not or I do not find in your report, reported the 3 others locations for typo in Flavorname
Right you are. Sorry. Here are the four instances of 'FlavorName = 1':

ERROR: in Events/OptionsGov_GreatMithridaticWar75.sct, at (or near) line 1241: line-specific or other contextual syntax error: #1# (0x31), #1#

ERROR: in Events/OptionsGov_GreatMithridaticWar75.sct, at (or near) line 1247: line-specific or other contextual syntax error: #1# (0x31), #1#

ERROR: in Scripts/ScriptGMW75.ini, at (or near) line 522: line-specific or other contextual syntax error: #1# (0x31), #1#

ERROR: in Scripts/ScriptGMW75.ini, at (or near) line 577: line-specific or other contextual syntax error: #1# (0x31), #1#

And yes, in a sense, these are not bugs, rather typos. '1' also may serve as a legitimate text string, so will not really affect game play, other than possibly annoy.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
BohémondAJE
Posts: 66
Joined: Fri Sep 21, 2012 7:18 am

RE: AJE Game Data Bugs

Post by BohémondAJE »

ORIGINAL: berto


Version: Public Beta Patch 1.01 (released 20121025?)

Bug: Script command syntax/usage error.

1 instance each of SetCohesion, Kind, SubType, EvalUnqUnit, EvalMoney & ChangeActorPool


ERROR: in Events/3-CaesarPompey50.sct, at (or near) line 5077: illegal value: 500

in event evt_nam_PMP_BassusRevoltinSyria46:

5068 Entranch = 8
5069 InCS = 1
5070 FixType = 999
5071 SetName = Emesus praesidium
5072 Apply
5073 CreateUnit
5074 SetType = $uni_PMP_UrbGar1
5075 SetName = Urb. Militiae
5076 Apply
5077> SetCohesion = 500
5078
5079 SelectFaction = $PMP
5080 SelectRegion = $Apamene
5081 CreateGroup
5082 Posture = $Defensive
5083 SetKind = $Land
5084 Entranch = 4
5085 InCS = 1
5086 FixType = 0

At http://www.ageod.net/agewiki/SetCohesion, it says
Parameters

Value

Integer; 0..100. Value can also be -1 (unknown what that means).
From the kwd database, across all games

telemann:/home/berto/games/ageod/agelint # ./kwddat SetCohesion
1 SetCohesion = 10
1 SetCohesion = 15
1 SetCohesion = 35
1 SetCohesion = 4
1 SetCohesion = 500
1 SetCohesion = 7
2 SetCohesion = 65
2 SetCohesion = 90
4 SetCohesion = 45
4 SetCohesion = 55
5 SetCohesion = 95
7 SetCohesion = 70
13 SetCohesion = 20
16 SetCohesion = -1
17 SetCohesion = 40
17 SetCohesion = 60
25 SetCohesion = 80
35 SetCohesion = 75
36 SetCohesion = 25
50 SetCohesion = 10
57 SetCohesion = 30
63 SetCohesion = 50
65 SetCohesion = 5
716 SetCohesion = 100

it's clear that the example cited above is the only instance violating the 100 max limit stated in the AGEWiki docs; and 500 is clearly an outlier.

But I wouldn't be surprised to learn that the engine still accepts this value (even if the AGEWiki docs are therefore in error).


ERROR: in GameData/Models/218ROMSiege Train (Mobile).mdl, at (or near) line 8: line-specific or other contextual syntax error: #T# (0x54), #Turris#

1 UID = 218
2 NationTag = ROM
3 Name = Siege Train (Mobile)
4 Alias = mdl_ROM_SieMob0
5 TemplateUID = $mdl_CMN_SieMob
6 ShortName = Siege Train
7 Text = $mdl_txt_ROM_SieMob
8> Kind = Turris: this siege engine is constructed by the troops under the command of some engineers even before besieging, and transported away after the siege is over for possible usage against another city.
9 SubType = Turris: this siege engine is constructed by the troops under the command of some engineers even before besieging, and transported away after the siege is over for possible usage against another city.
10 Color = $colROMMain
11 Cohesion = 60
12 SupMovePen = 20
13 SupCbtPen = 50

Syntax: Kind = Value [or: ; separated val list]

In the kwd database, for AJE

[root@berto agelint]# ./kwddat Kind aje
1 Kind = $abiPatriot
1 Kind = $stuDepot
1 Kind = $stuVarious
1 Kind = Turris: this siege engine is constructed by the troops under the command of some engineers even before besieging, and transported away after the siege is over for possible usage against another city.
2 Kind = $abiFOWAdjust
2 Kind = $abiSurprise
2 Kind = $abiTraining
2 Kind = $Nav
3 Kind = $stuCity
3 Kind = $stuHarbor
4 Kind = $stuProdSite
5 Kind = $abiRetreat
5 Kind = $abiTransport
6 Kind = $abiLoyAdjust
6 Kind = $abiSiege
7 Kind = $stuFort
8 Kind = $abiMultiNation
8 Kind = $abiSupplyMod
9 Kind = $abiHideAndSeek
10 Kind = $abiAreaBound
10 Kind = $abiMoveBonus
10 Kind = $WaterTerrain
12 Kind = $abiCohAdjust
20 Kind = $abiCmdAdjust
21 Kind = $abiUnitSpawning
26 Kind = $rgdSocial
28 Kind = $abiFlavor
31 Kind = $abiBattleBonus
32 Kind = $LandTerrain
48 Kind = $Naval
58 Kind = -1
65 Kind = $abiCollection
105 Kind = 1
166 Kind = $Land
3032 Kind = 0

all of the Kind values are either aliases, or integers. It almost appears like 'Kind = Turris...' has a localization as a value.

Note also the questionable use of SubType in the immediate next line.


ERROR: in Events/CaesarPompey50_CAE-AI.sct, at (or near) line 298: line-specific or other contextual syntax error: #$# (0x24), #$Alexandria#

in event evt_nam_CAE_CaesarInAlexandriaPrev48:

289
290 SelectFaction = $CAE
291 StartEvent = evt_nam_CAE_CaesarInAlexandriaPrev48|999|0|NULL|NULL|NULL|NULL
292
293 Conditions
294
295 CheckAILevel = 1
296 MinDate = -048/01/01
297 MaxDate = -046/01/01
298> EvalUnqUnit = Gaius Julius Caesar;$Alexandria
299
300 Actions
301 AI.SetTheaPrev = $Theater_Aegyptus;200
302 SetEvtOccurs = evt_nam_CAE_AsiaOriensTheaterPrev48;MaxOccurs;0
303
304 EndEvent
305 NULL = NULL
306
307 SelectFaction = $CAE

http://www.ageod.net/agewiki/EvalUnqUnit

Syntax: EvalUnqUnit = Name[;FixValue][;NOT]

Appending '$Alexandria' looks like an error.

Not only does it defy the stated AGEWiki syntax, across

telemann:/home/berto/games/ageod/agelint # ./kwddat EvalUnqUnit | awk '{t+=$1}; END {print t}'
935

935 usages of EvalUnqUnit across all the games, it is the only use of a RgnUID anywhere:

telemann:/home/berto/games/ageod/agelint # ./kwddat EvalUnqUnit | fgrep '$'
1 EvalUnqUnit = Gaius Julius Caesar;$Alexandria


ERROR: in Events/2-GreatMithridaticWar75.sct, at (or near) line 1385: line-specific or other contextual syntax error: #2# (0x32), #250#

in event evt_nam_PON_SertorianAlliance_Funds:

1376
1377 Conditions
1378 MinDate = -075/10/01
1379
1380 SelectFaction = $SER
1381 EvalEvent = evt_nam_SER_OfferFromMithridates;=;1
1382 Probability = 100
1383
1384 SelectFaction = $PON
1385> EvalMoney = >=250
1386
1387 Actions
1388 ChangeMoneyPool = -200
1389
1390 EndEvent
1391 NULL = NULL
1392
1393 SelectFaction = $CMN
1394 SelectRegion = $Sinope

http://www.ageod.net/agewiki/EvalMoney

Syntax: EvalMoney = Operator; Target

Missing ';' between '>=' and '250'.


ERROR: in Events/4-YearFourEmperors68.sct, at (or near) line 2247: line-specific or other contextual syntax error: #$# (0x24), #$gmaOptionDip#

in event evt_nam_ROM_ReleaseMoesiaSuperior_Automatic:

2238
2239 SelectFaction = $VSP
2240 SelectSubUnits = Area $Area_Moesia_Superior;FriendAndSelf;OnlyNPermFixed
2241 AlterCuSubUnit = ApplyToList;SetFixing 0
2242
2243 SelectFaction = $CMN
2244 GenTextMsg = opt_notify_CMN_ReleaseMoesiaSuperiorROM;1;NULL;NULL;NULL
2245
2246 SelectFaction = $VSP
2247> ChangeActorPool = $gmaOptionDip;MaxUse;0;ResetFreq;0;SubType;ROM_ReleaseMoesiaSuperior;SParam1;VSP$gmaOptionDip;MaxUse;0;ResetFreq;0;SubType;ROM_ReleaseMoesiaSuperior;SParam1;VSP
2248 SetEvtOccurs = evt_nam_ROM_ReleaseMoesiaSuperior_Rome;MaxOccurs;0
2249
2250 EndEvent
2251 NULL = NULL
2252
2253 SelectFaction = $VSP
2254 StartEvent = evt_nam_ROM_ReleaseMoesiaInferior_Automatic|1|0|NULL|NULL|NULL|NULL
2255
2256 Conditions

Missing ';' between 'VSP' and '$gmaOptionDip'.


Hope this helps.

Thus ends my report of discovered syntax/usage ERRORs in the latest AJE beta release.

Next up: WARNINGs, followed by miscellaneous bits and pieces.

[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.]

Fixed in next version

Thank you for Reporting

Regards

User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AJE Game Data Bugs

Post by berto »


In order to speed things along, I am going to send all of the WARNING reports as a batch, in five separate posts in quick succession. Please be sure to look back and review all five.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
Post Reply

Return to “Tech Support”