Skip to content

Commit

Permalink
Add a hint about not save-loading, and link to it from the "Back to .…
Browse files Browse the repository at this point in the history
….." menu
  • Loading branch information
stevecotton committed Aug 3, 2019
1 parent 6e7eebf commit 862e482
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 2 deletions.
19 changes: 18 additions & 1 deletion data/core/help.cfg
Expand Up @@ -25,7 +25,7 @@
[section]
id=gameplay
title= _ "Gameplay"
topics=..gameplay,victory_and_defeat,recruit_and_recall,income_and_upkeep,hitpoints,advancement,movement,shroud_and_fog,combat,damage_types_and_resistance,orbs,time_of_day,healing,wrap_up
topics=..gameplay,victory_and_defeat,recruit_and_recall,income_and_upkeep,hitpoints,advancement,movement,shroud_and_fog,combat,damage_types_and_resistance,orbs,time_of_day,healing,saveload,wrap_up
[/section]

[section]
Expand Down Expand Up @@ -279,6 +279,23 @@ Normally you can undo a unit’s movement, as long as an event with a randomized
[/topic]
# wmllint: markcheck on
[topic]
id=saveload
title= _ "Save-loading"
text= _ "Random numbers are part of Wesnoth, attacks can fail and units can die due to bad luck. This is an expected part of the game, and one of the aims of the game is that a sufficiently skilled player should be able to complete all of the mainline campaigns, on hard, without needing to save-load. Going back to a previous turn to try a different strategy is a part of learning the game, but we recommend against reloading merely to try the same strategy again while hoping for better luck.

One of the challenges of the game is to work out how to protect your heroes. Small risks quickly build up — if you have five important units, and they each have just a 1% chance of death each turn, you can <italic>text='expect'</italic> one of them to die about every 20 turns. So, you’ll rarely make it through a scenario without having it happen.

The following points are under discussion on the forums. At least for the 1.15.x series before 1.16.0 please assume that the forum threads are more authoritative than the text on this page.

In the mainline campaigns, on hard:
• A sufficiently skilled player will have a good chance to win each scenario on the first time that they see that scenario, without foreknowledge of what will happen.
• This assumes that the player picks up all of the clues given in the dialogue.
• There are more experience points available than on easy, and the player will be able to train enough troops to cope with losing some L2 or L3 units.

That said, it’s a game; the best way to play it is whichever way gives you the most enjoyment."
[/topic]

# wmllint: markcheck off
[topic]
id=combat
Expand Down
2 changes: 1 addition & 1 deletion data/themes/default.cfg
Expand Up @@ -90,7 +90,7 @@
title= _ "Back to..."
id=menu-autosaves
button=false
items=AUTOSAVES
items=AUTOSAVES,help-about-saveload
[/menu]

[menu]
Expand Down
4 changes: 4 additions & 0 deletions src/hotkey/command_executor.cpp
Expand Up @@ -247,6 +247,10 @@ bool command_executor::do_execute_command(const hotkey_command& cmd, int /*inde
case HOTKEY_HELP:
show_help();
break;
case HOTKEY_HELP_ABOUT_SAVELOAD:
// although HOTKEY_HELP uses a virtual call to allow context-specific help, this one is already a specific topic
help::show_help("saveload");
break;
case HOTKEY_CHAT_LOG:
show_chat_log();
break;
Expand Down
1 change: 1 addition & 0 deletions src/hotkey/hotkey_command.cpp
Expand Up @@ -275,6 +275,7 @@ std::array<hotkey_command_temp, HOTKEY_NULL - 1> master_hotkey_list {{
{ HOTKEY_SPEAK_ALLY, "speaktoally", N_("Speak to Ally"), false, scope_game, HKCAT_CHAT, "" },
{ HOTKEY_SPEAK_ALL, "speaktoall", N_("Speak to All"), false, scope_game, HKCAT_CHAT, "" },
{ HOTKEY_HELP, "help", N_("Help"), false, scope_game | scope_editor | scope_main, HKCAT_GENERAL, "" },
{ HOTKEY_HELP_ABOUT_SAVELOAD, "help-about-saveload", N_("Help about save-loading"), false, scope_game, HKCAT_GENERAL, N_("Hint: save-loading is unnecessary")},
{ HOTKEY_CHAT_LOG, "chatlog", N_("View Chat Log"), false, scope_game, HKCAT_CHAT, "" },
{ HOTKEY_USER_CMD, "command", N_("Enter User Command"), false, scope_game, HKCAT_CHAT, "" },
{ HOTKEY_CUSTOM_CMD, "customcommand", N_("Custom Command"), false, scope_game, HKCAT_CHAT, "" },
Expand Down
1 change: 1 addition & 0 deletions src/hotkey/hotkey_command.hpp
Expand Up @@ -54,6 +54,7 @@ enum HOTKEY_COMMAND {
HOTKEY_LABEL_TEAM_TERRAIN, HOTKEY_LABEL_TERRAIN, HOTKEY_CLEAR_LABELS,HOTKEY_SHOW_ENEMY_MOVES, HOTKEY_BEST_ENEMY_MOVES,
HOTKEY_DELAY_SHROUD, HOTKEY_UPDATE_SHROUD, HOTKEY_CONTINUE_MOVE,
HOTKEY_SEARCH, HOTKEY_SPEAK_ALLY, HOTKEY_SPEAK_ALL, HOTKEY_HELP,
HOTKEY_HELP_ABOUT_SAVELOAD,
HOTKEY_CHAT_LOG, HOTKEY_LANGUAGE, HOTKEY_ANIMATE_MAP,

// Replay
Expand Down
1 change: 1 addition & 0 deletions src/hotkey/hotkey_handler.cpp
Expand Up @@ -304,6 +304,7 @@ bool play_controller::hotkey_handler::can_execute_command(const hotkey::hotkey_c
case hotkey::HOTKEY_QUIT_TO_DESKTOP:
case hotkey::HOTKEY_SEARCH:
case hotkey::HOTKEY_HELP:
case hotkey::HOTKEY_HELP_ABOUT_SAVELOAD:
case hotkey::HOTKEY_USER_CMD:
case hotkey::HOTKEY_CUSTOM_CMD:
case hotkey::HOTKEY_AI_FORMULA:
Expand Down

0 comments on commit 862e482

Please sign in to comment.