|
Post by zaimoni on Oct 1, 2017 19:52:04 GMT
A Federal Trade Commission enforcement action has removed these from the markets in Rogue Survivor Revived. Technically, the problem is that the OdorScent Strength value is clamped, so that negative strength value becomes zero. RS Alpha 9 is affected, so other forks inherited this as well.
|
|
MP
Member
Posts: 150
|
Post by MP on Oct 2, 2017 0:08:49 GMT
I'm at work so I can't check the code, but is it possible that it's meant to be nullifying the scent, rather than reducing it? And 0 avoids an out of range problem?
I assumed multiple sprays were meant to extend the duration of the masking. I think what led me to that conclusion was that the more you spray a spot the deeper purple it becomes. That could just be a coincidence of overlapping sprays though of course.
|
|
|
Post by zaimoni on Oct 2, 2017 4:30:24 GMT
Yes, it's meant to be nullifying living scents. If the negative value were surviving, it would do so very effectively -- because it would do a full nullification every turn. Stock game is rated for 3 hours, so it starts at 90 (maximum theoretical strength 270), and decays at 1 per turn -- but it tries to erase its own strength value in living scent every turn. (There's no item using the living scent *generator* odor, but I see uses for that as well.)
So with a single spray what it's supposed to be doing is: -89, -88, .... 4 turns to erase your scent initially, and anyone that steps through it later also gets erased in a few turns. Each additional spray adds 3 hours (up to 9 hours maximum), so 3 sprays is the most that can be used efficiently at once; that gets you to -266, -265, -264, ....
But because of the range clamp to 0..270 it's actually doing 0, 0, 0, .... I'm not sure what the safest fix is here (I was doing a savefile restructuring to reduce garbage collector thrashing, and this code had to be migrated to the Map class because I wiped out what the RogueGame class was iterating over.) If you adjust the scent decay loop to test against 0 >= strength rather than 0 == strength, then the lower-range clamp in OdorScent can go and that also fixes this.
I knew the spray didn't really work from playing z, but I wasn't expecting this to be why.
|
|
MP
Member
Posts: 150
|
Post by MP on Oct 2, 2017 9:11:42 GMT
That's a shame. I never bother with scent spray, as I prefer to use the inventory slot for other things, so I'd never noticed. Nice catch.
Thanks for sharing your findings. I was hoping to avoid touching the heavier stuff like AI, pathfinding, scents, and district generation, but like cops trading away their guns, this one can't be ignored forever. Another one for the to-do list.
|
|