FriendsOfGalaxy / galaxy-integration-steam

Integration with Steam for Galaxy
374 stars 76 forks source link

Current achievement unlock state not correctly displayed #35

Open ghost opened 4 years ago

ghost commented 4 years ago

Describe the bug The current state of an achievement is not correctly reflected in the client. If an achievement has ever been unlocked, it will show as such in the client. However, if the achievement was re-locked (either by the game or the user via a 3rd party tool) it will correctly show as not having been unlocked in Steam, but will remain unlocked in Galaxy. If the achievement is unlocked again by the user, the old unlock date will be shown regardless of the new date shown in Steam.

Previous versions of the plugin correctly handled this behavior, showing the current state and correct date if unlocked, ignoring historical values.

To Reproduce

  1. Unlock an an achievement in Steam.
  2. Sync plugin in Galaxy.
  3. Observe that achievement shows as unlocked in Galaxy, and record date of shown.
  4. Revoke the achievement using a 3rd party tool.
  5. Observe that Steam now correctly shows the achievement as locked.
  6. Sync plugin in Galaxy.
  7. Observe that achievement incorrectly shows as unlocked.
  8. Unlock the achievement again.
  9. Observe that Steam shows the achievement as unlocked with the correct date.
  10. Sync plugin in Galaxy.
  11. Observe that Galaxy retains the old unlock date.

Expected behavior The current state of an achievement is the only state shown in the client, regardless of historical unlock state.

FriendsOfGalaxy commented 4 years ago

Hi, thanks for report. Previously we have parsed achievements from steamcommunity webpage. Currently we got direct info from Steam protocols about achievement - unlock time pairs. So we need probably one more information about the current state.

I'll add this to our backlog as a thing to do, but priority is not very high though.

(either by the game or the user via a 3rd party tool)

Do you know any game that allows for this?

ghost commented 4 years ago

I'm not aware of any games off the top of my head, but the functionality exists in the API suggesting it's possible.

I appreciate this isn't a pressing issue.

EustaceCS commented 4 years ago

@FriendsOfGalaxy , not entirely sure if there would be any games which may allow doing so, ever. My previous employee did considered rolling back achievements for outrageous cheaters though. On the other hand, there was one quite old game - Super Monday Night Combat - which used weirdest achievement implementation ever which:

  1. Disallowed unlocking them through Steam Achievements Manager
  2. Possibly (!) allowed de-unlocking them Unfortunately the game died before I could confirm the latter. Can't check if there are other games of this kind without carpet-bombing my whole games library - I uncovered mentioned game's whim by accident.
ghost commented 4 years ago

There is a mod for Payday 2 which extends the game's normal clear progress functionality to include achievements and other collected statistics.

EustaceCS commented 4 years ago

Found the game which DO utilize Steam account achievement reset as a part of its normal gameplay (i. e. without third-party tools). https://store.steampowered.com/app/494320/Wizrogue__Labyrinth_of_Wizardry/ Out of curiosity, I did hit 'Clear Progress' in-game button - and it wiped this game's achievements from my profile too.

FriendsOfGalaxy commented 4 years ago

@EustaceCS thanks! will be useful for debugging

Luckz commented 4 years ago

The Stanley Parable demo has an achievement that it later takes away. https://store.steampowered.com/app/221910/The_Stanley_Parable/ => steam://install/247750

lionnesquaer commented 4 years ago

@FriendsOfGalaxy Any updates for this issue?