@Winston - Here's the fixed version. I found what you mean and fixed all the integers. To be honest I was scratching my head wondering why on earth all those triggers had that 'pointless' loop in it. lol now I know
Also I made another trigger - Query Units Take Pop. What this does is checks how much population a unit type takes. For example, you could see if the unit type AbstractVillager takes over 20 pop (which might be useful, considering atlantean villagers take more pop then the other civs). Basically it's a way of deciding how much pop one specific unit class takes up.
<Condition name="Query Compare Units">
<Param name="PlayerID1" dispName="Player1" VarType="float">1</Param>
<Param name="unitType1" dispName="Unit Type1" VarType="long">847</Param>
<Param name="unitState1" dispName="Unit State1" VarType="long">2</Param>
<Param name="Op" dispName="$$22297$$Operator" VarType="operator">==</Param>
<Param name="PlayerID2" dispName="Player2" VarType="float">2</Param>
<Param name="unitType2" dispName="Unit Type2" VarType="long">847</Param>
<Param name="unitState2" dispName="Unit State2" VarType="long">2</Param>
<Command>for(unitTypeID=0;>1) {}</Command>
<Command>unitTypeID = %unitType1%;</Command>
<Command>for(unitStateID=0;>1) {}</Command>
<Command>unitStateID = %unitState1%;</Command>
<Command>xsSetContextPlayer(%PlayerID1%);</Command>
<Command>for(basicUnitQuery1=0;>1) {}</Command>
<Command>basicUnitQuery1=kbUnitQueryCreate("Check This Thing1");</Command>
<Command>kbUnitQuerySetPlayerID(basicUnitQuery1, %PlayerID1%);</Command>
<Command>kbUnitQuerySetUnitType(basicUnitQuery1, unitTypeID);</Command>
<Command>kbUnitQuerySetState(basicUnitQuery1, unitStateID);</Command>
<Command>kbUnitQueryResetResults(basicUnitQuery1);</Command>
<Command>for(numberLivingUnits1=0;>1) {}</Command>
<Command>numberLivingUnits1=kbUnitQueryExecute(basicUnitQuery1);</Command>
<Command>for(chekprogger1=0;>1) {}</Command>
<Command>chekprogger1=kbUnitQueryGetResult(basicUnitQuery1, 0);</Command>
<Command>for(unitTypeID2=0;>1) {}</Command>
<Command>unitTypeID2 = %unitType2%;</Command><Command>for(unitStateID2=0;>1) {}</Command>
<Command>for(unitStateID2=0;>1) {}</Command>
<Command>unitStateID2 = %unitState2%;</Command>
<Command>xsSetContextPlayer(%PlayerID2%);</Command>
<Command>for(basicUnitQuery2=0;>1) {}</Command>
<Command>basicUnitQuery2=kbUnitQueryCreate("Check This Thing2");</Command>
<Command>kbUnitQuerySetPlayerID(basicUnitQuery2, %PlayerID2%);</Command>
<Command>kbUnitQuerySetUnitType(basicUnitQuery2, unitTypeID2);</Command>
<Command>kbUnitQuerySetState(basicUnitQuery2, unitStateID2);</Command>
<Command>kbUnitQueryResetResults(basicUnitQuery2);</Command>
<Command>for(numberLivingUnits2=0;>1) {}</Command>
<Command>numberLivingUnits2=kbUnitQueryExecute(basicUnitQuery2);</Command>
<Command>for(chekprogger2=0;>1) {}</Command>
<Command>chekprogger2=kbUnitQueryGetResult(basicUnitQuery2, 0);</Command>
<Expression>numberLivingUnits1 %Op% numberLivingUnits2</Expression>
</Condition>
<Condition name="Query Units Take Pop">
<Param name="PlayerID1" dispName="Player" VarType="float">1</Param>
<Param name="unitType1" dispName="Unit Type" VarType="long">847</Param>
<Param name="unitState1" dispName="Unit State" VarType="long">2</Param>
<Param name="Op" dispName="$$22297$$Operator" VarType="operator">==</Param>
<Param name="Count" dispName="$$22321$$Number" VarType="long">1</Param>
<Param name="a" dispName="NOTE" varType="string">Common unit types - Inf:820/Cav:821/Arch:822/Vil:823/Fly:833/Myth:844</Param>
<Param name="b" dispName="NOTE" varType="string">States - None:0/Building:1/Alive:2/AlvOrBldng:3/Dead:4/Any:255</Param>
<Command>for(unitTypeID=0;>1) {}</Command>
<Command>unitTypeID = %unitType1%;</Command>
<Command>for(unitTypeID=0;>1) {}</Command>
<Command>unitStateID = %unitState1%;</Command>
<Command>xsSetContextPlayer(%PlayerID1%);</Command>
<Command>for(basicUnitQuery1=0;>1) {}</Command>
<Command>basicUnitQuery1=kbUnitQueryCreate("Check This Thing1");</Command>
<Command>kbUnitQuerySetPlayerID(basicUnitQuery1, %PlayerID1%);</Command>
<Command>kbUnitQuerySetUnitType(basicUnitQuery1, unitTypeID);</Command>
<Command>kbUnitQuerySetState(basicUnitQuery1, unitStateID);</Command>
<Command>kbUnitQueryResetResults(basicUnitQuery1);</Command>