Hey Derek!
On this note (the quest thing), I have a suggestion.
One of the issues with quests is that they can skew game balance a bit, even the vanilla ones. A good example of this would be snagging the Panca Archers and Brothers Sparus early in the game, which gives you two extra units. If the AI doesn't see similar rewards, well that puts them behind the curve, so to speak.
Also, from what I've read in my quick forum search, unless this was finally fixed for LH, the AI doesn't see the turn triggers for random events. If a Player triggered random event affects everyone equally, this isn't so much of an issue. But if this is a player specific quest (say, one of the number of Mimbly quests), well the AI may not see any reward from those.
SOOOO, may I suggest a new mechanic, assuming we get another go around with this, in the quest code. AI success tags...
Essentially, something like this, assuming the <AICanGoOnQuest> tag is active:
<AIQuestParameters>
<AIQuestFrequency>25%</AIQuestFrequency> This would be used to set how often the AI will see this quest (for turn based quests, assuming the AI still tries to clear goodie huts manually), and is akin to the spawn rating.
<AIChanceOfSuccess>50%</AIChanceOfSuccess> This is a flat percentage that the AI rolls when the quest is triggered for them that determines success, unless a battle is involved.
<AIBattleChance>75%</AIBattleChance> The percentage chance that the AI will be battling in this quest, assuming the Chance of Success otherwise shows success. This might mean a chance of success roll, followed by a battle chance roll. 0% means no battle, obviously.
<QuestBattleRating>250</QuestBattleRating>. This is a number that the AI uses, and compares to it's own power rating, to determine the chance of winning the battle. This might also tie into battle/unit losses.
<AITurnsToComplete>1</AITurnsToComplete>. This determines how long the AI must wait for any rewards, should it succeed in completing the quest.
<AIReward>
<game modifiers here>
This is what the AI player receives if it succeeds in completing the quest. To make things interesting, some 'Randomizer' tag could be added (similar to the Chaos spell), which picks one of the reward options randomly, to reflect different quest options being picked.
</AIReward>
<AIFailure>
<game modifiers here>This calls out any penalties an AI player might have if it fails the quest.
</AIFailure>
</AIQuestParameters>
This would allow quest designers to set some simple parameters for the AI to follow r.e. quests, rather than having to parse out the dialogue options in some fashion, or just having some blind success percentage working in the background which may not be related to the actual quest, other than looking at the threat rating perhaps. That way, if a quest designer figures the AI should get the reward for the quest say 100% of the time, he/she can spell that out in the quest code.
My thoughts anyways!