I've just discovered that the PartyTroopUpgradeModel exists and am extremely pleased with this, it's exactly the kind of thing I need for my mod. However, it only seems to be partially used in the party screen for determining number of upgrades available. In PartyCharacterVM.InitializeUpgrades, the DoesPartyHaveRequiredPerksForUpgrade method is used for checking perks, but required items are checked manually rather than using the DoesPartyHaveRequiredItemsForUpgrade method (which I actually do want to override). And of course if somebody overrides the CanPartyUpgradeTroopToTarget method entirely it doesn't come into play unless the troop is of a bandit culture for some reason. Ultimately it would probably make the most sense to just use CanPartyUpgradeTroopToTarget. Better yet, a new method in the model like NumTroopsThatCanUpgradeFromTroopToTarget would be perfect.
Edit: I just realised that the DoesPartyHaveRequiredItemsForUpgrade doesn't get used because it's only good for checking if the party has enough to upgrade one troop, not to see how many could upgrade based on the number of items. Once again, I think a method in the PartyTroopUpgradeModel to determine how many troops can upgrade to a target would be perfect and as part of this there could also be a method that checks how many sets of required items are available. Being able to put my own custom logic into these methods would be a true godsend.
Edit: I just realised that the DoesPartyHaveRequiredItemsForUpgrade doesn't get used because it's only good for checking if the party has enough to upgrade one troop, not to see how many could upgrade based on the number of items. Once again, I think a method in the PartyTroopUpgradeModel to determine how many troops can upgrade to a target would be perfect and as part of this there could also be a method that checks how many sets of required items are available. Being able to put my own custom logic into these methods would be a true godsend.
Last edited: