^ One problem solved and game is running as normal ... until yet another edit to organize units and came a crashing problem
https://drive.google.com/file/d/1_TqBi4KhhRpSI4VCQCg570VilKt0jjNf/view?usp=sharing
So an exact error spots in each respective mod files please.
@Lonecat Nekophrodite - the following error:
Code:
[2659267.294] [Gameplay] ERROR: UNIQUE constraint failed: RequirementSetRequirements.RequirementSetId, RequirementSetRequirements.RequirementId
...is highlighting to you the fact that within your ZaabSpicey_UnitPromotions.xml, lines 333 and lines 335 describe a duplicated addition. Both of these lines are instructing the following to be inserted:
Code:
<Row> <RequirementSetId>PDW_VS_MELEE_AND_ANTICAVALRY_REQUIREMENTS</RequirementSetId> <RequirementId>PLAYER_IS_DEFENDER_REQUIREMENTS</RequirementId> </Row>
If you remove the contents of either line 333 or line 335, this should resolve. For info, the 'ERROR: UNIQUE constraint failed' almost always signals duplication of some kind that is not allowed.
--
For the following group of three errors:
Code:
[2659270.746] [Gameplay] ERROR: Invalid Reference on ModifierArguments.ModifierId - "ABILITY_ANTITANK" does not exist in Modifiers
[2659270.746] [Gameplay] ERROR: Invalid Reference on ModifierArguments.ModifierId - "ABILITY_AT_KILLER" does not exist in Modifiers
[2659270.746] [Gameplay] ERROR: Invalid Reference on ModifierArguments.ModifierId - "ABILITY_LIGHT_ANTITANK" does not exist in Modifiers
...these are referring to your entries within ZaapSpicey_UnitClass.xml, specifically between lines 120-122, where you reference these three entities as Modifiers (ModifierId) within the ModifierArguments code.
If you look directly above this in the same file, you have the following section of code:
Code:
<UnitAbilityModifiers>
<Row> <UnitAbilityType>ABILITY_ANTITANK</UnitAbilityType> <ModifierId>ANTITANK_COMBAT_BONUS</ModifierId> </Row>
<Row> <UnitAbilityType>ABILITY_LIGHT_ANTITANK</UnitAbilityType> <ModifierId>LIGHT_AT_COMBAT_BONUS</ModifierId> </Row>
<Row> <UnitAbilityType>ABILITY_AT_KILLER</UnitAbilityType> <ModifierId>ANTITANK_KILLING_COMBAT_BONUS</ModifierId> </Row>
</UnitAbilityModifiers>
<Modifiers>
<Row> <ModifierId>ANTITANK_COMBAT_BONUS</ModifierId> <ModifierType>MODIFIER_UNIT_ADJUST_COMBAT_STRENGTH</ModifierType> <SubjectRequirementSetId>ANTITANK_OPPONENT_REQUIREMENTS</SubjectRequirementSetId> </Row>
<Row> <ModifierId>LIGHT_AT_COMBAT_BONUS</ModifierId> <ModifierType>MODIFIER_UNIT_ADJUST_COMBAT_STRENGTH</ModifierType> <SubjectRequirementSetId>ANTITANK_OPPONENT_REQUIREMENTS</SubjectRequirementSetId> </Row>
<Row> <ModifierId>ANTITANK_KILLING_COMBAT_BONUS</ModifierId> <ModifierType>MODIFIER_UNIT_ADJUST_COMBAT_STRENGTH</ModifierType> <SubjectRequirementSetId>ANTITANK_KILLER_OPPONENT_REQUIREMENTS</SubjectRequirementSetId> </Row>
</Modifiers>
If you note, in the UnitAbilityModifiers table, you are inserting UnitAbilityType x3 with those same labels. But the ModifierId that each of these is linked to are:
ANTITANK_COMBAT_BONUS
LIGHT_AT_COMBAT_BONUS
ANTITANK_KILLING_COMBAT_BONUS
These are the three ModifierId values that you should be using in lines 120-122, rather than the UnitAbilityType values that you have referenced. Your original code, lines 119-124:
Code:
<ModifierArguments>
<Row> <ModifierId>ABILITY_ANTITANK</ModifierId> <Name>Amount</Name> <Value>10</Value> </Row>
<Row> <ModifierId>ABILITY_LIGHT_ANTITANK</ModifierId> <Name>Amount</Name> <Value>5</Value> </Row>
<Row> <ModifierId>ABILITY_AT_KILLER</ModifierId> <Name>Amount</Name> <Value>10</Value> </Row>
</ModifierArguments>
This should be:
Code:
<ModifierArguments>
<Row> <ModifierId>ANTITANK_COMBAT_BONUS</ModifierId> <Name>Amount</Name> <Value>10</Value> </Row>
<Row> <ModifierId>LIGHT_AT_COMBAT_BONUS</ModifierId> <Name>Amount</Name> <Value>5</Value> </Row>
<Row> <ModifierId>ANTITANK_KILLING_COMBAT_BONUS</ModifierId> <Name>Amount</Name> <Value>10</Value> </Row>
</ModifierArguments>
--
Lastly, you have the following series of errors appearing:
Code:
[2659270.751] [Gameplay] ERROR: Invalid Reference on RequirementSetRequirements.RequirementId - "OPPONENT_IS_TANK_REQUIREMENT" does not exist in Requirements
[2659270.751] [Gameplay] ERROR: Invalid Reference on RequirementSetRequirements.RequirementId - "OPPONENT_IS_TANK_REQUIREMENT" does not exist in Requirements
[2659270.751] [Gameplay] ERROR: Invalid Reference on RequirementSetRequirements.RequirementId - "FIRE_AND_ADVANCE_VS_OPPONENT_INFANTRY_REQUIREMENTS_MET" does not exist in Requirements
[2659270.751] [Gameplay] ERROR: Invalid Reference on RequirementSetRequirements.RequirementId - "OPPONENT_IS_INFANTRY_CLASS" does not exist in Requirements
[2659270.751] [Gameplay] ERROR: Invalid Reference on RequirementSetRequirements.RequirementId - "OPPONENT_HAS_LIGHT_AT" does not exist in Requirements
At a glance, these errors - I suspect - are derived from the issues completely reading the ZaabSpicey_UnitPromotions.xml, as it is within this file that you define these Requirements. I don't think any additional 'fix' is needed, aside from what I described earlier. If you fix the first and second code sections I cited, this should fall away.
Hopefully this will assist. I haven't actually made the amendments and tried to run them at my end - but I am fairly certain these corrections are accurate, based on troubleshooting against the errors you supplied in Database.log.