Showdown Bandit

Showdown Bandit

50 个评价
Bandit Deadeye Achievement - Fix
由 jcfarsight 制作
This guide describes how to achieve the 'Bandit Deadeye' achievement since it has been broken.
2
   
奖励
收藏
已收藏
取消收藏
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 条留言
DOGMA 2024 年 7 月 11 日 上午 9:37 
Mito! :steamhappy:
Scrollzy 2024 年 3 月 18 日 下午 7:22 
Thank you :praisesun:
postmortem 2023 年 2 月 28 日 下午 7:34 
god :DukeCash:
Reineven 2022 年 11 月 30 日 上午 9:30 
Thank you so much. You're just a Croissant.
RyGuy LV 2022 年 3 月 1 日 下午 12:22 
As an achievement hunter, it bothered me that I couldn't 100% the game... until now. Thank you so much, man!
gus 2022 年 2 月 27 日 下午 12:04 
you're a GOD! these lazy devs should learn a lot from you, thank you very much :D
jcfarsight  [作者] 2022 年 1 月 25 日 下午 1:03 
Yes I seem to recall that the achievements sometimes only unlock when the game starts.
Shugar Shack#savetf2 2022 年 1 月 25 日 上午 9:01 
No wait! i did get it but after i close the game?
Shugar Shack#savetf2 2022 年 1 月 25 日 上午 8:41 
i got the outfit but i didnt get the achievement for it! Hjelp
Shugar Shack#savetf2 2021 年 12 月 11 日 上午 11:03 
Ah i see i was trying in chrome but it works in Microsoft Edge! Thank you!