[SUPPORT] Advanced Turn Based Tile Toolkit

Hmm, I’m not able to replicate the issue you are having. Perhaps you are spawning the unit from an actor owned by the client and not the server? Not sure. Are you able to get the same error if you spawn the units from any of the default ATBTT actors? If so could you give me the exact steps of what you are doing so I can figure out what might be going wrong here?

There are several ways to go about remembering what units kill what units. What exactly do you need this for so I can narrow it down? In any case you’ll probably want unique unit IDs. Then you can have a new TMap in the game state and have the keys be the IDs of the killers and the values be the IDs of the unit killed by that unit? One possibility at least. Depends on what you’re after.

Great if you do that. I did some testing and found a pretty serious issue with multi-level grids that might be causing this. It is easily fixed and was an oversight that is causing this in the newest version only (I think).

The multilevel heightmap generation has an issue where if it finds a new potential location, but that location does not have enough clearing above it to actually add a location it will stop and not continue searching for new potential levels below it. To fix this you must do the following:

Go to the CreateLocationsAndHeightmap function in BP_GridManager. In the second to last branch in the function (the one after the second line trace) the true output (signaling that the line trace checking for clearance above hits the roof) stops the execution of the function. Connect the True execute pin to the next branch in the function (second to last node). Do this change and see if it fixes your problem. I will add this change in my next hotfix.

I checked out the ladder actor and confirmed that rotating the ladder does not work correctly. When tracing from the top location of the ladder I am only adjusting for the location of the ladder and not its rotation or scale, causing issues. Go to the construction script of BP_GA_Ladder and make the following change:


as for the display of the spline that is determined by the ability you are using for movement. In the experimental map the unit is using the BP_Ability_Move_Ex ability which has some custom functionality attached to its hover functionality that lets splines be displayed differently for ladders.

Yeah, unfortunately the toolkit might be teaching some bad coding habits in this regard. You generally want to keep your inheritance hierarchy as shallow as possible. However for my example map I need to make changes that do not alter the basic blueprints (which I want to keep as basic as possible). For people making their own game with ATBTT I always recommend making a duplicate (not child) of BP_Unit_Anim and use this as the base of their own units. If all units in your game use any advanced components add them directly to this new blueprint.

Do the change I recommended above and see if this fixes any of your issues.

Something like this used to be the case, though the opposite. In earlier versions I added levels according to whatever the traces hit. So if one tile on the ground had a bridge high above it and another ground tile had a tunnel below it, both the tile at the top of the bridge and the tile at ground level above the tunnel would be at level 2 while the tiles below then were at level 1. The traces discovered the tiles in the opposite direction of this, but I just changed how it was saved to keep it more intuitive. The way this was done was mostly a necessary hack to minimize the size of the arrays used for storing tile locations. Before I used arrays instead of TMaps and with arrays if you have an array with indexes 1, 2 and 3 and want to add index 1000 you have to add every index in between. With TMaps you just add the keys you need. When switching to this I no longer needed to consider this when assigning the levels of tiles and so I changed to a system in which the level of a tile is entirely determined by its distance from the origin of the grid manager, in much the same way as the X and Y indexes of tiles are determined. SO if your height between tiles is 200 then any tile with a Z location between 0 and 200 will have a height index of 0, between 200 and 300 an index of 1 etc.

Check if this is fixed by the suggestion above.

Hmm, that is some strange bahavior. This might indeed be caused by issues with the hover events in BP_Ability_Base. I added a fix to a very similar issue in the last hotfix, but this might indicate that I did not eradicate the problem entirely. I’m not able to replicate the issue you’re having, though. After adding my fix if the problem persists can you try to give me the repro steps?

Heh, you’re really throwing every feature of the toolkit into a single project, aren’t you :wink: Well it is a good stress test to see if everything works together. I have actually not tested touch controls with multi-level grids yet and the ability system interface was not designed with touch in mind. As mentioned time is very short these days so I might not be able to do serious touch control testing until after I’ve handed in my PhD. If you do not find a fix I hope you’re okay with developing for PC for a couple more weeks until I get some free time again.