Page 1 of 1

For Lurch and anyone else interested

PostPosted: Sat Oct 17, 2009 11:38 pm
by shaggai
Well, first I need to know exactly what you want to do with the files. Do you want to change a value, change an option or how something is calculated, change how a unit works, or the big one, add a new race or modify one to work differently than it currently does?

NOTE: The comments listed below are in no means a substitute for reading the documentation or learning on how AB Creator actually works by experimentation. Also note that anything which follows is biased towards how the 40K files are built and designed - many of the other files for other game systems may have come up with their own mechanics to do what they need to do and just because something works in the case of the the 40K files does not mean that it is the only way, easy way, or even correct way to do something.

i wanna know...

PostPosted: Mon Oct 19, 2009 4:26 am
by lurch
I wanna know, how to edit files for new lists. I wanna know the basic "in's and out's" of how the editor works. I know it's alot to explain, but I am able to understand some of it. It's the odd prefix codes on the differnt units that im trying to translate. I guess trial and error, is the best way maybe.

PostPosted: Mon Oct 19, 2009 5:13 am
by shaggai
Well, the prefixes on the units are really only there to identify where the unit comes from or what list it belongs to - so Imperial Guard units will nominally have ig as the first two letters, anything after that is dependent on the maintainer. For the most part the SM and IG have 5E, then have some sort of identification code to denote the actual unit (which can be an individual, squad, vehcile, etc). Note that the DH or WH are denoted by om and oh respectively (for Ordo Malleus and Ordo Hereticus). The Inqusition files (im) were designed as a list where the "common" elements between the DH and WH are stored. Note that the program does have the ability to use wildcards so if you wanted to do something with all imperial guard units you would use ig?, but not many files do anything like this in this respect.

Some of the other stranger prefixes are gn* which means that it belongs to the generic or general stuff file. This is for anything which can be used in or modifies several files. For example, nearly every weapon used by the imperium is in the generalstuff file. This was to cut down on the duplication (otherwise the IG, DH, WH, SM (each chapter) and Chaos would all have bolter with the same exact stats). Also the general file has what I call the "wrapper" - that is, it does calulations which determine weapons that can modifiy strength, attacks, and applies it automatically without each indiviual file having to have its own calulation routine.

AP stands for apocalypse and IA is for Imperial Armour units. Note that it may not be as standard, but anything which is speciically for apocalypse formations will be defined as apF* with another set of identifiers to again, denote who that formation belongs to such as "sm" for space marines. Anything left over is usually an abreviation of the formation name such as apFsmAS - should be the Armoured Spearhead formation for the space marines and note that the BA version would actually be apFbaAS, dark angels would be apFdaAS, etc. the Chaos verison should be apFchAAS (as chaos' race abbreviation is chA).

Note that the separation of the 40K files are completely done for the ability for several people to indiviual files and do so completely without the fear of one person changing something that someone else is working on. The files could literally be only two or so single files - a data file with all the units options, and rules and an augmentation file which holds all of the tags and specifics that the data file uses.

That's all for tonight's lesson - thre wrapup, the prefixes are essentially arbitrary although they do define what data file said option, unit, rule belongs to.

PostPosted: Wed Oct 21, 2009 3:02 am
by lurch
nice ... i will dive in and see if i drown

PostPosted: Wed Oct 21, 2009 3:54 am
by shaggai
Tags and rulesets - one of the items that the tutorial/documentation focuses on it the importance of tags. Without covering alot of what that article does (or to actually think that I am an expert on it), one aspect of tags is determining what goes where. That is, you will notice that many of the units have a race tag. This tag will often be "Race.abbreviation" so this is where the prefixes actually have a real use. So Imperial guard would be race.ig, Black Templars are "race.smChBlkTmp", etc.

How this ties in is that many of the rosters that you can choose, use a ruleset. This ruleset is used to "gather up" anything which meets it's crertia. So when you select a ruleset, such as eldar, the roster looks for all units whihc have "race.el" and use only those when showing you what units are available. Anything which does not meets this will not be visible and therefore not selectable.

You will also note that there are certain units which do belong to a roster, but do not have a race tag. what this means is that these units are on purpose "invisible" to selection. Things that would fall in this caterogy are things like the SM sergeants, or things like dedicated transports. They are not selectable on their own, but other units use Options to select these units. These normally non-selectable units often have to qualify themselves in another way - there is a button in the unit (or item, or option) screen in creator noted as Member. To be selectable in a roster, these "invisible" units still have to qualify to be in a roster or they will come up as red as an illegal selection. To qualify these units would have ruleset.sm5E, or ruleset.el - which means that while they cannot be seen by not having a race tag, they are legal choices in a roster because the membership allows them to be there. It should also be noted that many uits with a race tag do have their membership to the roster as well - just an idea of what tags do.

Another thing which tags do is determining where a unit goes in a roster, such as Group.HQ or Group.Elite. Units which do not have this defined will (thanks to 3.2) only be visible in the All Units Tab on the roster screen of the AB program. Note that while the Group is often specifically defined, many options can modify this. An example would be a SM Dreadnought when a Techmarine is present. How do it do this? It is looking for the Techmarine tag in the roster. If there is one, then the dreadnought has a special option which will unlock the Roster Change. If the roster change is selected, then the Group Tag it originally had will be deleted and a new Group tag is put in it's place. To see this you need to look at the SM dreadnought and look into the Pre and postlink section. There should be a brief comment on the sections of script which are doing what. Also note that it is the Dreadnought which is looking for the Techmarine Tag - the Techmarine itself is doing nothing apart from adding the tag to the roster.

Defining tags is done in the Augmentation file. You will notice if you look in there a section which notes Tags. They can have several different purposes and can be specific. Some can be just informational, others can be accrued, meaning that their presence is actually noted and can be added. Others are global which means that if the unit with the Global tag is selected, other units can look to see if the global tag is selected and perform modifications to the roster based on that.

That's this night's lesson, but it is very important - tags are the key to the files. They define what is what, and can be used to determine units which are in a roster, can be changed by options or by the presence of other tags. Options can modify tags, add tags, or delete tags and the rulesets (such as the special scenario rules, or even Imperial Armour) look to tags to find out what is legal to go where.

PostPosted: Sat Nov 21, 2009 12:21 am
by Golf33
Great tutorial Shaggai!

Can you explain what the ruleset.ro_bFormat tag is used for? I notice a bunch of the heading options now use this in their Live expressions?

PostPosted: Sat Nov 21, 2009 1:55 am
by shaggai
Golf33 wrote:Great tutorial Shaggai!

Can you explain what the ruleset.ro_bFormat tag is used for? I notice a bunch of the heading options now use this in their Live expressions?


This was made up by Homer_S in reponse to the first looks at 3.2 when it was in beta form. Since 3.1 and earlier use the tabs, the files were designed with that in mind and often had headers assigned as an additional information, things such as the yellow colored "Wargear" Weapons" Add Unit".

AB3.2 now has given use the "treeview" where there are no more tabs. That being the case, the treeview already has headers and having our own special headers seemed very odd. However rather than just discard them entirely (as there would probably still be people using 3.1), the choice was to make a ruleset, and the roster option is "Formatting - for 3.2".

If the ruleset is selected by checking this, anything which has the live or member of "!ruleset.ro_bFormat" will NOT be seen. If users are using 3.1, they should keep this unchecked so that the headers show up.

And that's all that one ruleset does...

This thread will get continued further, just have had my hands full with the space wolves...

Re: For Lurch and anyone else interested

PostPosted: Tue Aug 23, 2016 3:52 am
by Aranon
Thanks for the in-depth comments, Shaggai! I've been tinkering with the ab40k files a bit and have learned a lot from just experimenting with different tags, etc.

Would you care to comment on what the following file is:

da7f_BDC_N

it is used in the Lion's Blade Strike Force to allow for the selection of a Battle Demi Company. How is this file different than the da7f_BDC unit Id?

Thanks for your help!

Re: For Lurch and anyone else interested

PostPosted: Fri Aug 26, 2016 5:20 pm
by Aranon
I finally thought to open the data files in a text editor so i was able to made the eqivalent option id for a BC and now i am able to include them in a LBSF from its own menu.

Thanks for approving the post! Id still love to hear any additional comments though!