@ls612, Are you interested in doing this?:
Player suggestion that I agree with: there should not be a warmonger penalty for DoW on (or taking cities from) a civ that is destroying the world. A similar situation comes up with Heldeofol. No one should mind you capturing/razing Heldeofol cities.
I have not looked at dll code for this yet, so I don't know best approach. But what comes to mind are two CallAccumulator GameEvents:
Code:
GameEvents.PlayerWarmongerForDOW(iOffensePlayer, iDefensePlayer, iDLLWarmonger)
GameEvents.PlayerWarmongerForCity(iOffensePlayer, iDefensePlayer, iDLLWarmonger, iCity [, numCitiesRemaining??])
On the Lua side we can either pass back the iDLLWarmonger or modify it or set it to 0.
I think that base only gives warmonger penalty for those two things. DOW is relatively minor but capturing a city is very severe, especially taking last city of a player (which is why conquering a CS is very bad).
The other thing that bothers me about base is that there is no penalty for razing cities. In my mind, this should be worse than conquering a city. There should be a penalty for each turn a population point is razed. Then we could modify that with a 3rd GameEvents similar to the above.
This way I can check for Fallen status or racial effects.
I think that there is only one "Warmonger value" for each player. So unfortunately we can't differentiate a case where Race A thinks player x is warmonger (because player x keeps attacking Race A) but Race B doesn't see player x as warmonger. That would be nice but I'm not sure it is needed. My idea now is that there will be no penalty for attacking Heldeofol. But Heldeofol will have total tolerance for warmongers, so it doesn't matter who you attack in their eyes (they hate you anyway from base race effect). But a Sidhe or Man civilization may become concerned if you are attacking either Sidhe or Man.
Edit: I suggested this in initial post as a sort of "patch" for warmonger not differentiating races. But I like this idea now as a mechanic separate from warmonger. The mod already has a Racial Dislike diplo effect: "We don't like your kind". But my idea now is that this value can raise over the course of a game. It raises based on any civ's (of Race A) actions against any other civ (of Race B). So all players will naturally have a growing animosity for other races, although it depends on a game's particular history. But dislike of Heldeofol will grow naturally depending on how many H civs and how successful they are in their conquests.