I've been looking into the AI logic regarding capitulation when losing a war. The main issue is that the winning side of a war seem all to willing to accept capitulation, the AI never seems to press for complete destruction. Here's what I've found: CvPlayerAI::AI_doPeace has two sections, a long one dealing with making peace in war and a short one handling capitulation. For capitulation, there are a couple of checks about whether the war has been going on long enough and teams have the right techs, but the actual AI logic is in CvTeamAI::AI_surrenderTrade. This function determines whether a team is losing badly enough and willing to surrender. There, however, seems to be no AI code at all for whether a player should want to accept a vassal. For the peace process there are clearly checks for whether the deal makes sense for both sides, but for capitulation there is just one call to CvPlayer::canTradeItem ... once the losing side is willing to surrender, capitulation happens immediately. The fact that there's no check for whether the winning side wants the vassal is pretty surprising to me. So the question then becomes under what circumstances should the AI go one way or the other? What are the factors that should be taken into account?