Проверено на 0.9.1 2. Чит денежный. Запускается fheroes2 с опцие -c (включить чит, она сообщит об этом в консоль).
Когда нужно - заглядываем в колодец и находим там 9000 рублей.
fheroes2-0.9.1-well-cheat.patch
diff -Nuar fheroes2-0.9.1.orig/src/fheroes2/castle/castle_well.cpp fheroes2-0.9.1/src/fheroes2/castle/castle_well.cpp
--- fheroes2-0.9.1.orig/src/fheroes2/castle/castle_well.cpp 2021-03-04 15:44:34.000000000 +0200
+++ fheroes2-0.9.1/src/fheroes2/castle/castle_well.cpp 2021-03-15 21:20:06.559979082 +0200
@@ -21,6 +21,7 @@
***************************************************************************/
#include <string>
+#include <iostream>
#include "agg.h"
#include "battle_cell.h"
@@ -84,6 +85,17 @@
const Point cur_pt( restorer.x(), restorer.y() );
fheroes2::Point dst_pt( cur_pt.x, cur_pt.y );
+ Settings & conf = Settings::Get();
+
+ if (conf.isCheatEnabled()) {
+ Kingdom & myKingdom = world.GetKingdom( Settings::Get().CurrentColor() );
+
+ std::cout << "Current Gold:" << myKingdom.GetFunds().Get( Resource::GOLD) << std::endl;
+ myKingdom.AddFundsResource(Funds(Resource::GOLD, 9000));
+
+ std::cout << "Current Gold:" << myKingdom.GetFunds().Get( Resource::GOLD) << std::endl;
+ }
+
// button exit
dst_pt.x = cur_pt.x + 578;
dst_pt.y = cur_pt.y + 461;
diff -Nuar fheroes2-0.9.1.orig/src/fheroes2/game/fheroes2.cpp fheroes2-0.9.1/src/fheroes2/game/fheroes2.cpp
--- fheroes2-0.9.1.orig/src/fheroes2/game/fheroes2.cpp 2021-03-04 15:44:34.000000000 +0200
+++ fheroes2-0.9.1/src/fheroes2/game/fheroes2.cpp 2021-03-15 21:19:51.609979091 +0200
@@ -85,13 +85,17 @@
// getopt
{
int opt;
- while ( ( opt = System::GetCommandOptions( argc, argv, "hd:" ) ) != -1 )
+ while ( ( opt = System::GetCommandOptions( argc, argv, "chd:" ) ) != -1 )
switch ( opt ) {
#ifndef BUILD_RELEASE
case 'd':
conf.SetDebug( System::GetOptionsArgument() ? GetInt( System::GetOptionsArgument() ) : 0 );
break;
#endif
+ case 'c':
+ conf.setCheatEnabled(true);
+ std::cout << "Enable cheats" << std::endl;
+ break;
case '?':
case 'h':
return PrintHelp( argv[0] );
diff -Nuar fheroes2-0.9.1.orig/src/fheroes2/system/settings.h fheroes2-0.9.1/src/fheroes2/system/settings.h
--- fheroes2-0.9.1.orig/src/fheroes2/system/settings.h 2021-03-04 15:44:34.000000000 +0200
+++ fheroes2-0.9.1/src/fheroes2/system/settings.h 2021-03-15 21:20:13.669979078 +0200
@@ -306,6 +306,13 @@
u32 LossCountDays( void ) const;
int controllerPointerSpeed() const;
+ void setCheatEnabled( bool enabled = false) {
+ cheatEnabled = enabled;
+ }
+ bool isCheatEnabled( void ) {
+ return cheatEnabled;
+ }
+
std::string GetProgramPath( void ) const
{
return path_program;
@@ -346,6 +353,7 @@
BitModes opt_world;
BitModes opt_addons;
+ bool cheatEnabled;
int debug;
fheroes2::Size video_mode;
int game_difficulty;