Warning: this topic has not been posted in for at least 120 days.
I have been away for longer than that!
I have made a PR to the OXC master branch with fixes to the longstanding killCriteria bug. This caused commendations like "Taking Names" to be awarded if a player killed a rank Terrorist alien, rather than having killed 1 alien of
every rank. The PR outlines a bit what the issue was; quite simple really: maps don't work like I thought they did.
This fix changes the syntax of commendations that (attempted to) use the killCriteria criteria. Previously, the commendation would have looked like :
- type: STR_MEDAL_BOLTS_CROSS_NAME
description: STR_MEDAL_BOLTS_CROSS_DESCRIPTION
sprite: 13
criteria:
killsWithCriteriaCareer: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
killCriteria:
-
1: ["STR_LIVE_COMMANDER", "FACTION_HOSTILE", "STATUS_UNCONSCIOUS"]
-
1: ["STR_LIVE_LEADER", "FACTION_HOSTILE", "STATUS_UNCONSCIOUS"]
but now it would look like
- type: STR_MEDAL_BOLTS_CROSS_NAME
description: STR_MEDAL_BOLTS_CROSS_DESCRIPTION
sprite: 13
criteria:
killsWithCriteriaCareer: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
killCriteria:
-
- [1, ["STR_LIVE_COMMANDER", "FACTION_HOSTILE", "STATUS_UNCONSCIOUS"]]
-
- [1, ["STR_LIVE_LEADER", "FACTION_HOSTILE", "STATUS_UNCONSCIOUS"]]
Here's another example:
- type: STR_MEDAL_ALLRANKS_NAME
description: STR_MEDAL_ALLRANKS_DESCRIPTION
sprite: 42
criteria:
killsWithCriteriaCareer: [1, 2, 3, 3, 3, 3, 4, 4, 4, 4]
killCriteria:
-
- [1, ["STR_LIVE_SOLDIER", "FACTION_HOSTILE", "STATUS_DEAD"]]
- [1, ["STR_LIVE_ENGINEER", "FACTION_HOSTILE", "STATUS_DEAD"]]
- [1, ["STR_LIVE_MEDIC", "FACTION_HOSTILE", "STATUS_DEAD"]]
- [1, ["STR_LIVE_NAVIGATOR", "FACTION_HOSTILE", "STATUS_DEAD"]]
- [1, ["STR_LIVE_LEADER", "FACTION_HOSTILE", "STATUS_DEAD"]]
- [1, ["STR_LIVE_COMMANDER", "FACTION_HOSTILE", "STATUS_DEAD"]]
- [1, ["STR_LIVE_TERRORIST", "FACTION_HOSTILE", "STATUS_DEAD"]]
Here is the PR in question:
https://github.com/SupSuper/OpenXcom/pull/1136I am very happy to have squashed this bug, as it was holding back the most versatile kind of commendation.
I continue to keep track of ongoing issues (here:
https://gist.github.com/Shoes01/3af40f402d287ae9c229), and I hope to ride this wave of success and knock out a few more issues!
edit: Here is an updated ruleset that I found somewhere; I honestly forget how I used to distribute this ;p
https://pastebin.com/thCz8GW6