Add-on validation status responses can now be translated by the client.
Fixed an issue where incremental downloads would always transmit a delta for updating from the very earliest available version of an add-on to the very latest, instead of using the current and target versions specified by the client.
Incremental downloads are no longer allowed to cheat the download counts.
Add-ons client
It is now possible to install previous versions of an add-on if present and not expired on the server.
Campaigns
A Tale of Two Brothers:
S02: Changed the antagonists' motive and dialogue to sound more believable
Secrets of the Ancients:
Revisions to Bone Captain
Scenario 2 uses new Iron Fence terrain, in preparation for potential map revisions.
While the two leaders are separated, only the currently active one learns new zombie types.
Sceptre of Fire:
Scenario 2p5: increased the turn limit by 1 and enhanced victory filter conditions
Scenario 4: fixed a bug that prevented resources from spawning and added some small flavor adjustments
Some revisions/bugfixes to Scenario 9 "Caverns of Flame"
Multiplayer
During allies' turns, use orb colors to show which ones can still move (issue #1424). Also enabled for allied AI sides in singleplayer.
Terrain
New barrier terrain: Iron Fence (`^Eqf`) - similar layout to the existing wooden fence
Translations
Updated translations: British English, Catalan, Polish, Portuguese (Brazil)
Units
Decreased Icemonax's advancement XP requirement from 26 to 25 to match other dead-end L0 units.
Portrait and animation graphics for some of the new Wesnoth Fauna
Balancing:
Dune Rider xp changed from 42 to 47.
Sunderer line defense on hills changed from 60% to 50%.
Scorcher gold cost changed from 23 to 25.
Dragoon gold cost changed from 27 to 28.
Elvish Rider gold cost changed from 32 to 28.
User interface
Added the installable/upgradable version selection to the add-ons manager via a dropdown list
Fixed formatting of hyperlinks when the same URL appears more than once in a block of text
Miscellaneous and Bug Fixes
Fixed a rare issue on Windows that could result in wesnoth.exe sticking around waiting for console input after encountering an error despite not being launched with the `--wconsole` option.
Fixed a potential crash when drawing many images on the story screens.
Fixed the schema's list of attributes supported by IntroWML.
Fixed and renamed IntroWML's `[image]resize_with_background=yes` to keep images proportional to the background.
Fixed precise log timestamps missing a space between the timestamp and the log severity label.
Improve the in-game help's topic about orbs, add crowns and ellipses.
Removed documentation for network proxy-related command line options previously removed in version 1.13.1 along with libana.
Note this patch is only available to beta channel players.
Add-ons client
Implemented support for incremental add-on downloads and uploads (issue #5046, PR #5038).
Add-ons server
The server configuration no longer contains the add-ons list/metadata (PR #5038):
Metadata is now stored in individual `data/<addon_name>/addon.cfg` files (PR #5038).
Full add-on packs are now stored as `data/<addon_name>/full_pack_<version_md5>.gz` files instead of `data/<addon_name>`.
Hash indexes of full add-on packs are stored as `data/<addon_name>/full_pack_<version_md5>.hash.gz`.
Implemented support for incremental add-on downloads and uploads (issue #5046, PR #5038):
Incremental update packs are stored as `data/<addon_name>/<version_from_to_md5>.gz`files.
Incremental update packs are allowed to be sent by clients in `[upload]` and may be asked from the server in `[request_campaign]`.
The server can generate an incremental update pack while servicing `[upload]` if the client doesn't send one (e.g. old clients).
Previous versions of add-ons are stored on the server for a limited amount of time alongside update packs for older versions (30 days by default) (PR #5038).
Language and i18n
Updated translations: British English, Czech, French, Japanese, Polish, Portuguese (Brazil)
The font-handling now checks which glyphs are in each font, instead of using a list hardcoded in WML.
A bug in the removed code treated the first font containing U+4E00 as having the whole CJK Unified Ideographs block.
Fixes a bug where many Chinese characters were invisible if DroidSansJapanese was loaded before DroidSansFallbackFull (issue #5194).
Changing the language immediately updates the order of the fonts, instead of waiting for the next restart (issue #5194).
Lua API
Implement new GUI2 widget userdata for working with custom dialogs.
Renamed wesnoth.show_dialog to gui.show_dialog. The preshow and postshow now take a single parameter - a widget userdata.
All other dialog functions (such as wesnoth.get_dialog_value and wesnoth.set_dialog_value) are now deprecated.
Multiplayer
Delay Advancements modification:
The Delay Advancements modification allows changing how advancements are handled. With this enabled, units that previously would have advanced on another player's turn will instead not advance until it is again their side's turn. The benefit of this is that units will also not pick an advancement at random if they have multiple.
Packaging
When building wesnothd with database support enabled, Boost 1.66 is now the minimum required version.
Terrain
New wall variation: Overgrown stone walls ('Xof')
Units
Added Tusker line - Gorer and Tusklet (by TSI 2009)
Revised Falcon and Elder Falcon sprites
New units:
Swamp Lizard (crocodile)
Cave Bear
Icemonax
Giant Stoat
Fire Ant
Balancing:
Cost of Giant Rat changed from 6 to 5.
Cost of Giant Scorpling changed from 13 to 12.
Cost of Fire Guardian changed from 19 to 11.
Cost of Giant Mudcrawler changed from 16 to 11.
Cost of Giant Scorpion changed from 22 to 16.
Cost of Wolf changed from 17 to 15.
Cost of Chocobone changed from 38 to 28.
Cost of Cuttle Fish changed from 40 to 36.
Cost of Great Wolf changed from 30 to 21.
Cost of Gryphon changed from 40 to 29.
Cost of Water Serpent changed from 26 to 23.
Cost of Direwolf changed from 36 to 33.
Cost of Sea Serpent changed from 40 to 55.
Cost of Wild Wyvern changed from 54 to 75.
Cost of Wyvern Rider changed from 80 to 102.
WML Engine
Fix a bug with [set_variables][join] failing on boolean (yes/no) values
Add-on titles and descriptions translated to the current language are used when available. The original English title is displayed in the UI and considered for search purposes in addition to translations.
Add-ons server
Made it possible to provide translations for add-on titles and descriptions at upload time in the .pbl (PR #4993). Only clients running 1.14.14/1.15.4 or later can read the translated values.
Language and i18n
Updated translations: British English, Catalan, Chinese (Simplified), Chinese (Traditional), Czech, Esperanto, French, Hungarian, Italian, Polish, Portuguese (Brazil), Russian, Spanish, Turkish
Multiplayer
5p - The Wilderlands:
Player 5’s units are sorted when cycling through them with the »n« key.
Map tweaks (changes to some castles & villages, the northern river and embellishments)
User interface
Do not list nameless abilities in the Abilities and Ability Upgrades lists in unit descriptions in Help (issue #3060).
Fixed disabled buttons using the pressed highlight color.
Miscellaneous and bug fixes
Made wmllint recognize [remove_time_area] in order to avoid spurious warnings about unit ids.
Files created by the scenario editor include a boilerplate warning about hand-editing them.
Ensure the client doesn't re-download dependencies that have just been updated during an Update All run by re-reading add-on versions after each update batch (issue #3273).
Add-ons server
Don't send restricted attributes at all, rather than sending them as an empty string (issue #4800).
Campaigns
General:
Fixed instances of multiple [avoid] tags being used (PR#4776).
Used more appropriate castle/encampment terrains.
Descent into Darkness:
S7: Correctly call Taylor a general.
S9: Spelling fix.
S11: Reduced boss difficulty and fixed ghost units not being correctly recalled.
Heir to the Throne:
S23: Clarify Bayar's dialogue.
Northern Rebirth:
Fixed enemy naga's triggering an event they shouldn't be triggering (issue #4853).
Son of the Black Eye:
S15: Fix the scenario not ending despite objectives being met in some circumstances (issue #4841).
Under the Burning Suns:
Fixed Sun Shydes dehydrating themselves at night.
Dehydration only affects the player's side.
Language and i18n
Updated translations: British English, Czech, Chinese (Traditional), Dutch, Esperanto, Finnish, French, Hungarian, Italian, Japanese, Polish, Portuguese, Portuguese (Brazil), Spanish, Swedish.
Use <game dir>/translations instead of <process working dir>/translations to find core translation catalogues on Windows.
Packaging
Fixed an issue when building using scons and --config=force.
Fixed creating the lockfile in scons when using python 3.
Significantly improved the macOS packaging instructions (PR#4781).
Units
Fixed the team color of the berserker idle animation.
Fixed typo in Troll race description.
Fixed the Red Mage using the Mage's idle animation.
User interface
Fixed a crash on certain screen resolutions due to UI element padding not being able to fit.
Fixed a crash when trying to preview an unplayable map (PR#4810; issues #3149, #4395, #4545).
Miscellaneous and bug fixes
Fixed building with the 64-bit Visual Studio projectfiles.
Added missing side controllers to two Micro AI scenarios (fixes #4890)
Experimental AI retreat CA: bug fix for cure-only abilities
Forest Animals Micro AI: excluded rabbit holes on map border
Spread poison: bug fix for units ignoring [avoid] tag
Castle switch: bug fix for units-on-keep check
Remove village hunt CA
Add ids for candidate actions
Fix bug crashing some AIs when units with chance-to-hit specials without id are on map
Fast Micro AI: fix re-adding default CAs when deleting the MAI
Bottleneck Defense Micro AI: fix bug of units not participating if too far in front of the bottleneck
Lua AIs: several other minor behind-the-scenes bug fixes
Campaigns
Descent into Darkness:
S1: reduced difficulty
Heir to the Throne:
Modify campaign starting date
Legend of Wesmere:
Fix various date inconsistencies in historical references
Sceptre of Fire:
S1: Fix reference to LoW events
The South Guard:
Change Halidel to be Deoran's great-grandfather
S7b/S8b: reduce enemy gold values and modify dialogue upon allied unit death
Tutorial:
S2: Make the first grunt cross the bridge, otherwise the scenario is too hard
Under the Burning Suns:
Sun Singer and Sun Sylph: modify faerie fire colors
Language and i18n
Updated translations: British English, Chinese (Simplified), Chinese (Traditional), Czech, Dutch, Esperanto, French, German, Italian, Korean, Portuguese (Brazil), Russian, Spanish, Turkish
Fix Rename Unit dialog having untranslated text (issue #4569).
Lua API
wesnoth.deprecate_api was fixed to correctly wrap tables with metatables (issue #4079).
Music and sound effects
Removed accidental silence of two seconds after the first track of each scenario (issue #4459).
Units
Add various new death, standing, and idle animations
User interface
Fixed some severe game rendering issues with SDL 2.0.10 (issue #4237, issue #4245, issue #4510).
Draw ellipses during draw/sheath animations (issue #1527).
In the combat dialog and elsewhere, clicking the "Profile" button opens the help on the correct unit variation (e.g., Walking Corpse (Swimmer)) (issue #4142).
Ensure enough space to display turn numbers in the hundreds.
The search box in the Campaigns menu now takes campaign abbreviations and descriptions into account.
Added the Private Replay checkbox to the Multiplayer Create Game screen. This separates whether observers are allowed from whether the replay will be publicly available.
In the recruit dialog and recall dialog, units that are too expensive to recruit/recall are grayed out (PR #4362, PR #4444, part of issue #1282).
Reworked styling of progress bars and the network transfer progress dialog.
Removed "Classic" in-game theme.
Textboxes now have a hover effect as well as an I-beam cursor.
Packaging
The Wesnoth client now looks for the data/dist file when logging into the multiplayer server. This file should contain one of the following values based on what distribution channel the package is for: Default, Steam, SourceForge, Flatpak, macOS App Store, Linux repository, iOS, Android, BSD repository
Miscellaneous and bug fixes
New build-dependency: Python3 is required to run the WML unit tests (on non-Windows)
80% of WML unit tests now run in a batch using a single instance of Wesnoth (non-Windows only)
New help topic outlining common (and less common) reasons for losing a scenario (PR #4217).
Add help text for some debug commands (part of issue #2500).
Make wmllint recognize `[load_resource]` (issue #4538).
Make wesnoth_addon_manager not generate packet.dump files any more (issue #4651)
S3: Changed castle to permanent chaotic ToD and rebalanced scenario accordingly
S4: Added dialogue between Baran and Tairach when they engage in combat
Dead Water:
S3: Added event to make Storm Trident more obvious
Descent into Darkness:
Complete revision of all dialogue and story text
Revised and rebalanced gameplay in all scenarios
S3 and S11: New scenarios completely rewritten from scratch
Eastern Invasion:
S1: Removed early finish bonus for fleeing
S2: Modified Dacyn's dialogue upon undead arrival
S7a: Require Dacyn to cross the river
S9: add snow to map
S10: show objectives after defeating enemy leaders
S11: show objectives after finding gold and releasing prisoners
Legend of Wesmere:
Disabled side shuffling in MP (checking the box does nothing)
Fixed missing persistent data at the end of chapter 3
Rebalanced gold values in all scenarios
S3: remove shroud from enemy sides upon Kalenz's arrival
S4: (MP only) free Cleodil at scenario start
Northern Rebirth:
Eryssa now must survive if she joins the player
Father Morvin and Sister Thera will now respawn at Tallin's location if they die to prevent illogical gameplay
Gold in S10-13 is adjusted if Krash is dead
S1: Spawn 2 Troll Whelps instead of 4 and a normal Troll
S4: Have Hamel describe Ghouls if Camerin is dead
S5: Add gates to map instead of images and overlays
S8: add text and updated objectives when rescuing Eryssa
S12a: Update objectives to make it clear that gold is not received if Sisal dies
The Rise of Wesnoth:
Fixed various typos
S17c: Modified Burin's description of trolls
The South Guard:
Fixed various typos
Tutorial:
Remove swamp from map for part 2
Warn player about water when stepping on any shallow water hex
Change quintain to level 0
Allow Konrad and Li'sar to level up and add corresponding dialogue for part 2
Under the Burning Suns:
Added embellishments to various maps
Language and i18n
Updated translations: British English, Chinese (Traditional), Dutch, French, Italian, Japanese, Lithuanian, Spanish.
Multiplayer
Dark Forecast: AI units are "discovered" (added to the help if not already known)
Dark Forecast: fixed bug where additional boss spawns would not occur after the initial wave
Multiplayer server
Forum user handler ban durations are now reported back to banned players.
Units
Updated descriptions for Goblin Knight and Wolf Rider
Add new descriptions for Quenoth faction
User interface
Add jamming to the vision tooltip in the sidebar. (PR #3327)
Fix undoing a recall not un-drawing parts of the sprite that go beyond the unit's hex (issue #3325)
Fix crash when the recruit filter matched nothing. (PR #3969)
"Show Enemy Moves" now highlights enemy units that can reach the highlighted hex. (PR #3961)
The time of day graphics for midday and midnight have been updated to match the rest of the summer/winter time of day schedules. (issue #2677)
Miscellaneous and bug fixes
Fix auxiliary attack end event handlers defined by FORCE_CHANCE_TO_HIT breaking if one or more of the affected units are removed by another attack end event handler (issue #3982).
The statistics dialog no longer forgets to reset stats when using "Reset Replay" ("Stop") in replay mode or "Back to turn" in networked MP games (issue #2852).
Fixed crash when the AI simulates a fight between two units which can slow but aren't yet slowed, then simulates another fight for one of them in Monte Carlo mode (issue #3650).
Experimental AI recruiting: fixed AI crash for unit type with unknown race
Support for modifying the available AIs using cores:
New parameter default_ai_algorithm for setting the default AI
New parameter mp_rank for setting the order in which AIs appear in the MP computer player selection menu
New option "Keep saved AI" when reloading games from the MP Create Game screen. Choosing this option prevents overwriting of the saved AI by the default AI. (issue #3791)
Forest Animals Micro AI: fix AI crash when using custom rabbit hole image
Fix Lua AIs using the ai.stopunit_*() functions potentially creating infinite candidate action loops
Campaigns
Dead Water:
S12: Slightly rebalanced enemy reinforcements and ai gold
Descent Into Darkness:
Allow converting L3 necromancers to liches from S12 onwards (issue #3165).
Added an alternative method of completing the campaign (issue #3167).
S8, S9 (A Small Favor II & III): Clarify objectives. (PR #3711)
S8 (A Small Favor II): Fixed units created via the plague ability not available in S9. (PR #3711)
Sceptre of Fire:
S1&2: increased difficulty
S6: additional guards for the elves
Secrets of the Ancients:
S01 Slipping Away: It is now obvious that the wild animals cannot cross the fences.
S02 Dark Business: Simplify scenario by removing the temporary invisible starting keep.
S05 Blackwater: Additional dialog from Ardonna at the start.
S11 Battleground: Ghosts are now able to be recruited after the scenario is complete.
S15 Mountain Pass: Bird bones moves so bird is easier to keep alive when discovered.
S21 Against the World: Leader of the elves is now same elf from S12.
S21 Against the World: Adjustment so player doesn't have to chase down some leaders at the end.
Proper animation for finding the bird bones.
Newly made liches will now receive a move point upon transformation if they weren't recalled. this turn and haven't moved yet.
The Hammer of Thursagan
S12 'The Underlevels': redesigned with completely new map and scenario
Northern Rebirth:
Fix loyal units obtained in S7 costing upkeep (introduced in 1.14.5)
S13: Improvement to the AIs
The Rise of Wesnoth:
S15: victory text is not used upon hero death
S17d: enemy units are killed upon victory except for bats
S22: cuttlefish now have the loyal icon
The South Guard:
Revised scenario and story dialogue.
Reworked and rebalanced all scenario and map designs.
Removed S6a 'Tidings Good and Ill'.
Tutorial:
S2: Wolf riders are not initially recruited, to not hinder the player from reaching the island in time
Language and i18n
Updated translations: British English, Chinese (Simplified), Chinese (Traditional), Czech, French, German, Italian, Japanese, Lithuanian, Russian, Scottish Gaelic, Slovak, Spanish, Ukrainian.
Lua API
Fix wesnoth.set_dialog_callback calling the function immediately when used in the previous callback. (issue #3794)
Fix wesnoth.set_dialog_value not triggering re-layout. (issue #3572)
wml.tostring() now outputs a string that can be parsed back to WML without loss of data.
Miscellaneous and bug fixes
Fix crash with custom themes on desktop PCs. (issue #3599)
Add --campaign-skip-story command line switch for skipping directly to turn 1. (issue #3472)
Remove --data option, --data-path has the same functionality.
Fix documentation of --render-image command line switch. (issue #3568)
Update manpage with options previously only documented by wesnoth --help.
Fix wrong ordering for BW / BF years, for example in Play a Campaign when sorted by date. (issue #3187)
GUI.pyw can now terminate a running maintenance script
Fix SDL_DestroyRenderer assertion failure under XMonad. (part of issue #3716)
Fix map item names not being translated in the scenario editor.
Usernames specified in the MP UI and command line are now stripped of leading and trailing whitespace, including newlines.
Show ability of a selected unit as active/inactive with respect to mouseover hex. (issue #3912)
macOS: Wesnoth now uses the app sandboxing feature, which means there is a new location for saves. All saves will be migrated during first launch automatically. For info about backwards compatibility see: https://gist.github.com/hrubymar10/eb5afd896f933a46fac344ced940e020
Many units lacking animations now have at least a defense animations
Multiplayer server
Fix stale temporary bans continuing to have an effect on players until cleared by phpBB on the next ban/unban operation.
Packaging
new scons option, intended to be used when building releases inside a git repo: autorevision=False
Fix build with Boost 1.69. (issue #3646)
Fix build with Pango 1.43. (issue #3840)
User interface
Fix regression: Game Load screen would not select 1.12 savegames. (issue #3561)
Fix regression: the in-game "Observers" icon (an eye) was covered by the minimap. (issue #3543)
Increase step size when clicking sliders in the MP Create Game dialog. (issue #3552)
Fix overlapping top bar elements with small screen resolutions. (issue #3714)
Don't scroll to an invisible unit that recruits another invisible unit. (issue #3559)
When a recruited unit is fogged, scroll to the recruiting unit and play recruit animation. (issue #3577)
Fix line breaks in first statistics line in unit type pages in the help. (issue #3256)
Don't scroll to an enemy unit that teleports to or from an invisible hex. (PR #3578)
Don't show in the sidebar the time of day schedule of a shrouded hex. (PR #3638)
Game Load screen gracefully handles savefiles that can't be parsed. (issue #3652)
The sidebar now shows alignment and damages as they would be on the hex under the mouse, rather than at the unit's current location. (PR #3642)
When a unit has multiple statuses (slowed/poisoned/invisible/etc), the sidebar shows all of them, not just the first. (issue #3197)
Fixed being able to dismiss a game lobby by pressing Esc.
Fixed multiple severe issues in the classic theme.
The "Attack Enemy" dialog now shows inactive weapon specials in gray. (PR #3686)
Taking screenshots in title screen is possible again (issue #3235)
The "Recruit Unit" dialog is searchable by unit type name. (PR #3787)
Add text filter to hotkeys preferences. (PR #3759)
Hide leader in status table if it's unfogged but invisible. (PR #3854)
macOS: Dark GUI on macOS Mojave and later when dark appearance is enabled.
Fixed crash in AI code when a side has multiple leaders.
Fix AI ignoring teleport locations when moving leader to leader goals.
Fast Micro AI: Fix bug crashing the AI when units with chance-to-hit specials without id are on map.
Campaigns
Heir to the Throne:
S6: Allow canceling an attack when a move+attack spawns enemy units (issue #3459).
S6: Change the trigger for spawning undead reinforcements (issue #3459).
S17: Add dialog explaining the lava game mechanic and an easter egg (issue #3473).
Liberty:
S3: Add story and war drums music.
Northern Rebirth:
S12: empty sides are hidden.
S13: allied leaders whose death causes defeat won't leave their keep and the lich brothers and Krash got more gold.
Sceptre of Fire:
S4: a cave entrance has been added.
S5: Gryphon Riders are now available starting form S5 (formerly S3).
S7: it's now impossible to kill all pursuers.
Secrets of the Ancients:
Fix dialog said by wrong unit & revert previous fix (issue #3294).
The Hammer of Thursagan:
S10: Fix objectives requiring too much of the player.
The South Guard:
S2: the case where Deoran is not sent to the Citadel is handled better.
S2: enemy units will no longer neutralize villages instead of capturing or burning them. This also means certain units will no longer be hidden in the Game Stats list.
S4: bodyguards are never spawned next to other units, and always in forest.
S5: zombies have now one castle with two leaders.
S6a: mermen leave after this scenario and will no longer be available.
S7a & S8a: a certain hero may now die.
Tutorial:
Show an undo reminder if one is out of moves, but can't end the turn yet.
Added more information to the Status Table prompt about how to access it (issue #2883).
Under the Burning Suns:
New graphics for Eloh.
Multiplayer
A New Land: Fixed village gold being 1 instead of 2.
Fixed Random Start Time not working (issue #3515).
Fixed a possible crash when leaving a game as an observer (issue #3017).
Fixed Start Game locked when other players abort the faction/leader selection dialog (issue #3452).
Fixed Skip Replay when joining MP campaigns.
Fixed OOS errors when undoing after ally chat.
Fixed game freezing upon droiding with Delayed Shroud Updates (issue #3453).
Fixed require_scenario and require_era attributes.
Language and i18n
Updated translations: British English, Chinese (Traditional), Czech, French, German, Hungarian, Italian, Japanese, Scottish Gaelic, Ukrainian.
User Interface
On laptop computers we now show how much battery you have left.
MacOS: Fixed moving the mouse with a touchpad also scrolling GUI dialogs.
MacOS: Add build number to OS version report.
Fix layout of Preferences window with some localizations (such as Czech).
Load Game now shows the chosen difficulty with the same name that you originally selected.
Load Game now shows the modifications enabled in the selected savegame (issue #3495).
Force leader sprites larger than 72x72 to be downscaled in Load Game (issue #3474).
Add left padding to dialog messages shown with a portrait on the right (issue #1938).
Addon Manager uses clearer terms for sort order.
Fix reversed sort order by unit level in Unit List and Recall Unit.
Fixed crash in Recall Unit when no units match the filter (issue #3475).
WML engine
Fixed [animate_unit] and [heal_unit] preventing unit halo from disappearing if the unit dies later (issue #3509).
Miscellaneous and bug fixes
Fix some minor problems with the macOS package.
Fixed crash when trying to attack with a unit without usable weapons (issue #3424).
Fixed the debug mode Create Unit dialog crashing when changing the gender of the previous selection after causing the list to come up empty using the filter box.
Allow searching by race and internal unit type id with the Create Unit filter box as well.
wmlxgettext is now included in release packages, so a separate download is no longer required to use it with GUI.pyw.
Fixed crash when pressing Reset replay (issue #3439).
Fixed editor cannot add starting location for > 9 players.
Fixed crash in Lua tstring comparision (issue #3541).
Fixed objectives at scenario start using old/cached values of conditions/variables (issue #3544).
Show an error message when trying to open the Lua console while not in debug mode.
On enemy side's turn, don't scroll to that side's leader if it's invisible.