Showdown Bandit

Showdown Bandit

49 ratings
Bandit Deadeye Achievement - Fix
By jcfarsight
This guide describes how to achieve the 'Bandit Deadeye' achievement since it has been broken.
2
   
Award
Favorite
Favorited
Unfavorite
Background
Since Showdown Bandit has been abandoned by the developers, there appears to be no way to achieve the 'Bandit Deadeye' achievement anymore. When reaching the success criteria you will be met with a black screen and the game will need to be force closed.
The Fix
I've decompiled the code and discovered the cause of the problem. I've 'fixed' the problem and have recompiled it as a patch.

To install:
1) Download the patch from /https://mega.nz/file/cxwhyCZK#qrXACc4odWIxFQXU08JCaV-ITthxJ1kW36XJlJpLHzI (you'll need to remove the first slash before the https, I had to add this to stop the link being removed)
2) Extract the zip file
3) Backup C:\Program Files (x86)\Steam\steamapps\common\Showdown Bandit\Showdown Bandit_Data\Managed\Assembly-CSharp.dll (or whatever your game install path is) somewhere safe.
4) Replace that file with the patch from the zip file
5) Play through Mine Madness and get at least the last 10 targets in the final room where you are chased by the big baby (don't get the first room invisible target though, that is still bugged)
6) The achievement/outfit will unlock and a black screen will no longer be encountered
Technical Details (for those that care)
In the code there is an event handler for whenever a target is hit, in each of the Mine Madness rooms. Each room is supposed to be linked back to the previous room with each one having a 'number of targets' and a 'number of targets hit'.

For whatever reason the code has become broken such that each room is unable to reference the previous room and check whether all targets in that room were hit.

When it reaches the end of the final stage if you have hit all targets then a NullReferenceException (PreviousRoom is null) will occur and the game will essentially crash.

All I've done is remove the PreviousRoom check on that final stage so that so long as you get all 10 targets in the final room, you'll get the achievement.

BEFORE:
private void HandleTargetOnHit(object sender, EventArgs e)
{
(sender as Target_Projectile).TargetOnHit -= this.HandleTargetOnHit;
this.m_TargetsHit++;
if (this.m_TargetsHit >= this.m_TargetCount && KSingletonMonoBehaviour<GameManager>.Instance.RoomManager.PreviousRoom.Data.IsComplete)
{
KSingletonMonoBehaviour<GameManager>.Instance.AchievementManager.SetAchievement(AchievementName.BANDIT_DEADEYE);
base.CompleteRoom();
}
}

AFTER:
private void HandleTargetOnHit(object sender, EventArgs e)
{
(sender as Target_Projectile).TargetOnHit -= this.HandleTargetOnHit;
this.m_TargetsHit++;
if (this.m_TargetsHit >= this.m_TargetCount)
{
KSingletonMonoBehaviour<GameManager>.Instance.AchievementManager.SetAchievement(AchievementName.BANDIT_DEADEYE);
base.CompleteRoom();
}
}
22 Comments
DOGMA 11 Jul, 2024 @ 9:37am 
Mito! :steamhappy:
Scrollzy 18 Mar, 2024 @ 7:22pm 
Thank you :praisesun:
postmortem 28 Feb, 2023 @ 7:34pm 
god :DukeCash:
Reineven 30 Nov, 2022 @ 9:30am 
Thank you so much. You're just a Croissant.
RyGuy LV 1 Mar, 2022 @ 12:22pm 
As an achievement hunter, it bothered me that I couldn't 100% the game... until now. Thank you so much, man!
gus 27 Feb, 2022 @ 12:04pm 
you're a GOD! these lazy devs should learn a lot from you, thank you very much :D
jcfarsight  [author] 25 Jan, 2022 @ 1:03pm 
Yes I seem to recall that the achievements sometimes only unlock when the game starts.
Shugar Shack#savetf2 25 Jan, 2022 @ 9:01am 
No wait! i did get it but after i close the game?
Shugar Shack#savetf2 25 Jan, 2022 @ 8:41am 
i got the outfit but i didnt get the achievement for it! Hjelp
Shugar Shack#savetf2 11 Dec, 2021 @ 11:03am 
Ah i see i was trying in chrome but it works in Microsoft Edge! Thank you!