Not sure if this is just copied from vanilla behaviour?
Case:
I reach Rep 80 in my Knightly Order and get a new rank.
I use the "Recieve Armor" service to get an Ebony armor piece.
I spend some time doing other stuff. Rep drops to 79.
I talk to Order, get demoted. Take Quest.
I complete quest and rep goes over 80 again. But I do not get ranked up, because a month has not passed.
I use the "Recieve Armor" service and get offered another piece of Ebony armor.
So I can basically just hang around rep 80 and farm armor? The really noticable thing is that that I did not need to actualy rank up. If that had been the case I could only have done it once a month which would have been fine really.
Knightly Order "Recieve Armor" exploit
- Ralzar
- Posts: 2211
- Joined: Mon Oct 07, 2019 4:11 pm
- Location: Norway
- Hazelnut
- Posts: 3015
- Joined: Sat Aug 26, 2017 2:46 pm
- Contact:
Re: Knightly Order "Recieve Armor" exploit
Ha, that's cos the flag is cleared for demotion as well as promotion. Bet you could get multiple houses that way as well.
But Knights are honest sorts right, so is not an issue?
Guess I should take a look at fixing this...
But Knights are honest sorts right, so is not an issue?
Guess I should take a look at fixing this...
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods
- pango
- Posts: 3347
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Knightly Order "Recieve Armor" exploit
By hovering around 89~90 you should be able to get free houses
You will have to sell them though, you only get a free house if you don't have some home already.
I'm not sure what's the easiest fix, add some "max armor rank" and only provide armor when it's updated, or have Amor0FlagMask .. Armor9FlagMask values instead of ArmorFlagMask, to remember what armor qualities have already been provided; In the latter case you fix both issues by never clearing flags in UpdateRank()...
You will have to sell them though, you only get a free house if you don't have some home already.
I'm not sure what's the easiest fix, add some "max armor rank" and only provide armor when it's updated, or have Amor0FlagMask .. Armor9FlagMask values instead of ArmorFlagMask, to remember what armor qualities have already been provided; In the latter case you fix both issues by never clearing flags in UpdateRank()...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Hazelnut
- Posts: 3015
- Joined: Sat Aug 26, 2017 2:46 pm
- Contact:
Re: Knightly Order "Recieve Armor" exploit
I was thinking of changing from flags to a max rank once you received armour, but I like the flag per rank idea too so I may do that when I finally sit down to fix this. Thanks.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods
- Ralzar
- Posts: 2211
- Joined: Mon Oct 07, 2019 4:11 pm
- Location: Norway
Re: Knightly Order "Recieve Armor" exploit
Seeing as knightly orders have litterally no services to gain/lose access to, I feel the best solution would really be for rank up to trigger armor.
But it’s a pretty small thing really. Actually losing high ranks and working to rank back up is pretty rare.
But it’s a pretty small thing really. Actually losing high ranks and working to rank back up is pretty rare.
- Hazelnut
- Posts: 3015
- Joined: Sat Aug 26, 2017 2:46 pm
- Contact:
Re: Knightly Order "Recieve Armor" exploit
Thanks for the suggestion, but it already does that. The issue is the same thing happens when you rank down too.
Anyway, submitted PR#1967 with a fix using a flag per rank like Pango suggested. Works really nicely, and means if you forget to get armor at a rank before promotion, if you're demoted then you can get your armor - but only if you didn't already get it for that rank of course.
Please feel free to give it some testing before next release. Seemed to work fine to me, but I may have missed something.
Anyway, submitted PR#1967 with a fix using a flag per rank like Pango suggested. Works really nicely, and means if you forget to get armor at a rank before promotion, if you're demoted then you can get your armor - but only if you didn't already get it for that rank of course.
Please feel free to give it some testing before next release. Seemed to work fine to me, but I may have missed something.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods