Yeah, I like the damage component, and Archer and siege weapons do extra damage if they are garrisoned in the Fort... I am not sure how easy it would be to add the Typed damage component based on unit type in the garrison... I would think one would have to build a rather large if:else block to the code to deal with each damage type eventuality, the cpu time to check this might not be worth it... but maybe. I guess I look at it like, (to follow Magisters example) if an Angel is passing a fortified emplacement, since he is embodied in this world in some way.. a stray arrow or chunk of rock can still injure him... and the fort code includes a check so it can't do max damage. Maybe I should look to add a check so it can't kill a unit no matter what.
The slow is in the latest patch.Sadly, the pathing thing is an AI heavy function, and I am just not to where I want to mess with that sort of thing. Frankly, what I love about the current implementation is that.. what attacking force(with the exception of a fast moving hit-and-run group) would just go around a garrisoned fort, and leave them at their backs... I would think even trained barbarian forces( Orc Axemen for example) wouldn't be that insane... and yet, they do it all the time(in vanilla FfH).
That said, I checked, and for some reason, The code that Mania had to check for the Invisibility promotion wasn't working they way it was intended... for a variety of reasons. I just rewrote that code, and it seems to be working correctly now(the only downfall, is it is located in the onUnitMove function, so it requires a unit to move into a City or Fort, or Tower! fo it to make this check. I am not sure if there is a better fucntion to embed this in without it eating a lot of CPU cycles, but I'll hunt around and see).
Also just added Towers(since they are my Fort "upgrades") to the Fort code and Invisibility fix. And added Cities with Walls! If your city is defended by a wall, it will behave like a fort regarding Damage and Slowed movement... it just seemed to make sense to add it. I considered using this function only if Castles were built, but thought a good Wall would be just as useful to city defenders for a function like this.
going to run a couple more bug test runs before releasing it.. so you might want to hold off on that download a bit CV
Cheers!