If we have an arithmetic comparison, the two sides of the comparison must be members of ordered sets. According to gregab25's interpretation of the game files, in "SettlementBuildingFinished >= farms", "SettlementBuildingFinished" and "farms" are both variables that the game sets as numbers depending on the situation. "SettlementBuildingFinished" would become the number equal to the level of the structure built in the trigger condition, while "farms" would become the number equal to the level of the farms in the settlement.
But Sinner raises an objection. "Farms" is already used by the game as a building name. That is, the first level of the hinterland_farm tree is known as "farms". Building names are evidently valid arguments in export_descr_character_traits.txt, as evidenced by all sorts of triggers. gregab25's interpretation would require that "farms" be used in EDCT.txt as an entirely separate variable—but how would you check anything relating to the structure "farms" if the game reserves that word for a special purpose?
The answer to this is that even if "farms" is reserved for special use, the SettlementBuildingFinished condition under gregab25's interpretation wouldn't accept a building name as an argument. Therefore, the game would know not to parse the term as a building name, but rather as a special reserved term. In this, it would be distinct from SettlementBuildingExists.
So what's Sinner's approach? Seemingly, the same one I stated before: that the variable SettlementBuildingFinished returns the building name, not the level number, and ">= farms" means what you'd think it means, that the previous argument is checked as to whether it's at or beyond the level "farms" in the ordered set of hinterland_farms. Thus, the trigger would work if and only if the building built was a farm of some description.
It should be very easy to test this. First of all, set the threshold of Grower to 1. According to gregab25's approach, building any nonfarm building equal to or greater than the farm level would cause the governor to gain a level of GoodFarmer; according to Sinner's, it wouldn't. I'll run the test in a minute. I'm betting that Sinner's right, but we'll see.
-Simetrical
Bookmarks