Alright, I've finally gotten through all of the scripts, functions, and systems. Scripts have been tested and are working, functions are 75% tested and working, and the systems will be tested this weekend. Assuming all goes to plan (which it never does, but hey, you've gotta start somewhere) everything should be up and running by next week. I've also included much more thorough help documentation for everything, as well as information about the systems (not currently on git, will push with the final tests). I will also need to stress test the systems, currently information is only read from persistent tables when it is needed, but in a big fort even that might be too often and have a negative impact on fps. If that's the case I will switch to using global non-persistent tables that are loaded from persistent tables at the start and are pushed back when saving.
As a reminder, I've changed the Enhanced and Civilization systems to read directly from the raws so there is no more need for multiple files and trying to link things. I've included an example for a building and an item. I didn't include an entity or creature example because those raws are big, but it works the same. Anything in the {} is read by the systems. For now any ON_ATTACK in an item will be applied to every attack from the item, in the future it will just be applied to the attack it is under.
[BUILDING_WORKSHOP:TEST_BUILDING_1]
[NAME:Test Building 1]
{DESCRIPTION:Testing various Enhanced Building triggers}
[NAME_COLOR:7:0:1]
[DIM:1:1]
[WORK_LOCATION:1:1]
[BUILD_LABOR:MECHANIC]
[BLOCK:1:0]
[TILE:0:1:207]
[COLOR:0:1:0:7:0]
[TILE:1:1:207]
[COLOR:0:1:0:7:0]
[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT]
{OUTSIDE_ONLY}
{SCRIPT:devel/print-args [ BUILDING_ID BUILDING_TOKEN BUILDING_LOCATION ]:500}
[ITEM_WEAPON:ITEM_WEAPON_PICK]
[NAME:Enhanced Pick]
{DESCRIPTION:This is a test enhanced pick}
[SIZE:500]
[SKILL:MINING]
[TWO_HANDED:47500]
[MINIMUM_SIZE:42500]
[MATERIAL_SIZE:4]
[ATTACK:EDGE:100:4000:strike:strikes:NO_SUB:2000]
[ATTACK_PREPARE_AND_RECOVER:3:3]
{ON_EQUIP}
{SKILL_CHANGE:MINING:15}
{ON_ATTACK:25}
{SCRIPT:devel/print-args [ SOURCE_ID TARGET_ID ITEM_ID ITEM_TOKEN ]:50}
Looking forward I would like to revisit the gui's I had been working on, specifically the
detailed unit viewer and the
journal. I never really finished these even though I put a bunch of work into figuring out custom view screens and how to get the information into them. There have also been several nice custom screens from other modders that I have seen on the forums lately and I think it would be cool to make it easy to tie various custom view screens together.