Page 1 of 1

Knightly Order "Recieve Armor" exploit

Posted: Thu Nov 12, 2020 7:23 am
by Ralzar
Not sure if this is just copied from vanilla behaviour?


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.

Re: Knightly Order "Recieve Armor" exploit

Posted: Fri Nov 20, 2020 2:38 pm
by Hazelnut
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? :lol:

Guess I should take a look at fixing this...

Re: Knightly Order "Recieve Armor" exploit

Posted: Fri Nov 20, 2020 6:29 pm
by pango
By hovering around 89~90 you should be able to get free houses :D
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()...

Re: Knightly Order "Recieve Armor" exploit

Posted: Sat Nov 21, 2020 7:17 pm
by Hazelnut
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.

Re: Knightly Order "Recieve Armor" exploit

Posted: Sat Nov 21, 2020 9:25 pm
by Ralzar
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.

Re: Knightly Order "Recieve Armor" exploit

Posted: Sun Nov 22, 2020 1:24 pm
by Hazelnut
Thanks for the suggestion, but it already does that. The issue is the same thing happens when you rank down too. :D

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.