I understand what you mean.
I am not very familiar with civ2/CTP event capabilities. I am investigating it.
Perhaps the triggers are easy, I would like extensive creation possibilities, besides CreateUnit:
CreateCiv( location, other arguments.. )
CreateTile( location.. attributes )
CreateCity( owner... pop, etc )
CreateAdvisor( "AIfile.txt", or behaviour params )
maybe like this to allow extensability:
@start paramlist
@end paramslist
create( gameobject, paramlist )
where there would be a txt file gameobj.txt
with a name of the object and a list of variables that can be altered (and most should be):
gameobj.txt
; note! caps are a must-obey!
@start City
owner_civ
location
population
improvement
citygold
@end City
@start Civ
gold
tech_accumulated
name
mindset ; human or AI
@end Civ
end of gameobj.txt
so for example in scenario file to create rome:
@start paramlist
owner_civ=Romans
name=Rome
location=70,50
pop=10000
improvement=none
@end paramlist
create( City, paramlist )
This is a model that would allow a parser to create game objects that are defined in gameobj.txt (which is a simplified .h file, with only those things allowed to modify)
A developer should update that file whenever he adds an game object (component) to the game engine.
For triggers, I think they can be mostly divided to Build and Action triggers.
Build can maybe also be made independent of current game state (I mean amount of things implemented):
@paramlist
owner_civ=Germans
@end paramlist
if built( Unit, paramlist )
if built( City, ...
( similar with destroyed )
As for actions, there can be many, and if anyone can make a big list of them I would like it if he would post it
UnitMove, UnitAttack, TechDiscovered
Probably best to write down all civ2, ctp, smac triggers and to see if there is something to add.
As I said, I just started to learn the civ2/Civ2ToT macro language, so I am not sure what do they already have.
There is a plan to make a macro language in openciv3, so I am brainstorming here...