Thanks for this! Was working on it myself, you beat me to it. Well done! ^^
One small comment though: should not the logic in the CanSell() method be reversed? Given:
- CanSell() returns true when the item will be SOLD.
- Given that we want to KEEP the (configured set of) +5 profession mods, it should return false for those cases.
- Currently it returns the value of the helper methods KeepXWeapons(), which by its name and logic returns the opposite: the keep bool flag, not the sell bool flag.
Alt. fix: simply rename the KeepXWeapons to SellXWeapons and adjust your wanted config accordingly.
Personally I like the current func names and would adjust the logic in the CanSell() func.
Just my 2 cents.
Should I be missing some detail, pls enlighten me. ^^
Cheers!