A guide on how to unlock the “Barkeep” achievement
Intro
I’ll start by saying – the barkeep achievement is unobtainable. There is no call to the function that checks the achievement. The achievement itself is is just to have more than 10 hired heroes throughout your playthroughs. How do we unlock it then? we will have to decompile the game code and change it.
Downloading dnSpy
In order to decompile and change the code, you will have to download an assembly editor for .net. I personally used dnSpy[dnspy.net] but there are alternatives like ILSpy.
Decompiling
Open up dnSpy and open the Assembly-CSharp.dll in steamapps\common\Idle Civilization\IdleCivilization_Data\Managed in the editor.
Next, hit Ctrl+Shift+K to search for “DeclareCrusade” and click on the result, right click on the DeclareCrusade() function, and click “Edit Method”.
At the end of the code, add the following line:
“this._gc.CheckHeroAchievements();” . Compile the code, and save and exit dnSpy.
Next, hit Ctrl+Shift+K to search for “DeclareCrusade” and click on the result, right click on the DeclareCrusade() function, and click “Edit Method”.
At the end of the code, add the following line:
“this._gc.CheckHeroAchievements();” . Compile the code, and save and exit dnSpy.
Now, boot up the game and declare crusade on any town in the map, if you have the requirements for the achievement, it should pop up.
There is no reason why i chose declare crusade, you can choose any event in the game.