Many apologies for performing this necromancy, but this thread is begging for resurrection.
Assuming you still need the answer of course....
It actually works on the province attributes line and I use the feature a lot in my Ancient mods (eg special maps for Carthage and Syracuse in the Punic Wars scenario), and here's an example from my latest:
The secret lies in the naming of your maps in the first place. Make your special castle map, name it for the appropriate terrain (so here it was 'castlehilly') and give it a NON-SEQUENTIAL number - this is the bit that makes it work properly!SetAttributes:: ID_LANDREG_02 "Illyria" 1 PAGAN_CULTURE TEMPERATE AT_DARK_AGE_EUROPEAN 11 392 "Illyria Castle_xzy" INLAND HILLY NO_RIVER TRUE
I actually have three 'specials' in my 'castlehilly' class as well as seven 'standard' maps. The maps are numbered castlehilly01-07, 09, 11, and 13. Numbers 1-7 get called for random provinces, but 9, 11 and 13 only get called for the provinces that ask for them in the set-attributes. It seems breaking the chain of sequential numbers stops the engine looking any further down the list for 'random' maps, whilst allowing the special calls to work.
For added colour, I also made all my Carthage map levels the same - just made copies of the same castle and named it for each level. The result is in battle you always get the same map regardless of how well built up it is on the strat map. The only difference in battle is that the higher castle levels can have a larger garrison to fight when you assault it.
Bookmarks