Wesnoth 1.15.3

Get help with compiling or installing the game, and discuss announcements of new official releases.

Moderator: Forum Moderators

User avatar
Site Administrator
Posts: 6728
Joined: November 14th, 2006, 5:54 pm
Location: Chile

Wesnoth 1.15.3

Post by Iris »

Wesnoth 1.15.3 is out!

This new release in the 1.15.x development series sees various changes and improvements in various areas.

Among the highlights for this particular release are major changes to level 2+ unit balancing, Era of Heroes and the AI engine; major revisions to the Sceptre of Fire, Liberty and Descent into Darkness campaigns, new terrains for map creators to use, and many useful additions for WML/Lua coders. It also incorporates UI improvements from the latest stable releases, as well as a few of its own.

As this is a development version, we would like to remind everyone how the testing and feedback process works for these:
  • If you download Wesnoth stand-alone, make sure to keep the latest stable release around in case the game breaks and you find yourself unable to get your daily fix of Wesnoth.
  • Playtest the game, and make sure to report any bugs you find! Even obvious bugs can be left unfixed if everyone assumes someone else has already reported it.
  • For any bugs found, or to request new features to be added, check out bug tracker here. First though, please read our instructions for reporting bugs on the wiki, which will give your bug report or feature request the best chance of being addressed.
  • Near the end of the release notes below you will find a list of the most important bugs known at the time of the release. Some items are due to be fixed in future releases of the 1.15.x series, but for others we depend on contributed patches from volunteer coders like you!

Source code (455.1 MB)
SHA256 sum: e034de4d0f98c1e99027d270b0e92e2234e3b691c99e25104c5862d005b463bd
Windows installer (64-bit) (423.6 MB)
SHA256 sum: ebf97b5296a62019bc9a5c571e92572c0ac593f314363e1d044e68756ca55ce7
macOS package (444.3 MB)
SHA256 sum: cc20b350b6f91db207a6a1f2be16e4574f81eb8fc597111dd1470acfdf79e77f
Development versions of Wesnoth are available on Steam through our beta channel.
In your Steam library: right-click on Battle for Wesnoth, select Properties, go to the Betas tab, and select the 1.15.x option from the drop down.
All known Linux packagers have been contacted, and binaries for your distribution may have already been created. Information about where to get the respective binaries and how to install them, including via Flatpak, can be found on the Linux binaries page in the wiki.

Changes in this release

Read on for more details about the most notable fixes and additions since the previous development release. A full list of changes may be found in our changelog.
An Orcish Incursion
  • Moved to the add-ons server
Descent into Darkness
  • Add new portrait for Dela Keshar.
  • Remove dark adepts from recruit list.
  • Add special units and AMLA paths.
  • Revised dialogue.
  • Increased map interactability.
  • S3: Reworked scenario.
  • S5: Adjusted enemy recruits and gold.
Legend of Wesmere
  • S3: fix scenario-breaking bug introduced in 1.15.2.
  • Revise gameplay in all scenarios and redraw all maps.
  • Merge S6 and S7 into a new scenario.
Sceptre of Fire
  • General prose/dialogue revision.
  • New scenario (now the third).
  • Various map and scenario updates.
  • Make use of rails terrain.
  • Dwarves can purchase runes (temporary status boosts).
Secrets of the Ancients
  • Prevent hero death from triggering new corpse recruitable dialog (issue #4503).
  • Fix last breath dialog for bats firing multiple times in the campaign.
  • Fix bug of regular WC appearing in recruit list in S05 Blackwater.
  • Fix special plague attack making rats when spiders are called for.
  • Fix missing portraits for Shynal.
  • Redrawn second scenario and reduced difficulty.
  • Added Stone Walls variation Catacombs (Xot) including some overlays.
  • New dwarf castle variations: Non-cave (Cf), ruined (Cfr) and snow (Cfa).
  • New elf castle variation: snow (Cva).
  • Fixes and touchups to mushroom terrains Tb and Tf.
  • Dunefolk: some graphics additions and updates.
This version includes many changes to unit stats across the board, most of them revolving around higher level units used in Era of Heroes.
  • Add a ranged attack and the cures ability to Elvish Lady.
  • Add mushroom defense cap to mounted and some flying units.
  • Decreased hitpoints of Dwarvish Lord from 79 to 74.
  • Decreased hitpoints of Dwarvish Steelclad from 59 to 55.
  • Increased hitpoints of Dwarvish Thunderguard from 44 to 47.
  • Increased hitpoints of Dwarvish Pathfinder from 42 to 45.
  • Increased melee damage of Dwarvish Stalwart from 7-3 to 8-3.
  • Increased melee damage of Dwarvish Sentinel from 9-3 to 10-3.
  • Dunefolk: rebalancing and renaming of various units.
  • Orcs: revise some unit descriptions.
  • Elves: revise all unit descriptions.
  • Cost of Drake Warrior changed from 30 to 32.
  • Cost of Drake Arbiter changed from 31 to 32.
  • Cost of Drake Trasher changed from 31 to 32.
  • Cost of Drake Flare changed from 35 to 33.
  • Cost of Sky Drake changed from 30 to 28.
  • Cost of Saurian Ambusher changed from 30 to 24.
  • Cost of Saurian Oracle changed from 27 to 28.
  • Cost of Saurian Soothsayer changed from 27 to 25.
  • Cost of Dwarvish Steelclad changed from 32 to 36.
  • Cost of Dwarvish Thunderguard changed from 30 to 27.
  • Cost of Dwarvish Stalwart changed from 32 to 30.
  • Cost of Dwarvish Berserker changed from 33 to 30.
  • Cost of Outlaw changed from 28 to 26.
  • Cost of Trapper changed from 27 to 21.
  • Cost of Gryphon Master changed from 37 to 38.
  • Cost of Swordsman changed from 25 to 29.
  • Cost of Knight changed from 40 to 38.
  • Cost of Lancer changed from 40 to 44.
  • Cost of Dragoon changed from 34 to 27.
  • Cost of Duelist changed from 32 to 29.
  • Cost of Lieutenant changed from 35 to 34.
  • Cost of Merman Warrior changed from 28 to 26.
  • Cost of Ogre changed from 33 to 30.
  • Cost of Goblin Knight changed from 32 to 28.
  • Cost of Goblin Pillager changed from 32 to 28.
  • Cost of Troll changed from 29 to 27.
  • Cost of Troll Rocklobber changed from 29 to 25.
  • Cost of Naga Warrior changed from 27 to 24.
  • Cost of Orcish Crossbowman changed from 26 to 21.
  • Cost of Orcish Slayer changed from 33 to 26.
  • Cost of Elvish Hero changed from 30 to 26.
  • Cost of Elvish Captain changed from 32 to 28.
  • Cost of Elvish Marksman changed from 37 to 31.
  • Cost of Elvish Ranger changed from 38 to 31.
  • Cost of Elvish Rider changed from 31 to 32.
  • Cost of Elvish Druid changed from 34 to 27.
  • Cost of Elvish Sorceress changed from 34 to 32.
  • Cost of Elder Wose changed from 31 to 27.
  • Cost of Revenant changed from 28 to 31.
  • Cost of Deathblade changed from 28 to 34.
  • Cost of Dark Sorcerer changed from 32 to 33.
  • Cost of Blood Bat changed from 21 to 22.
  • Cost of Red Mage changed from 40 to 38.
  • Cost of White Mage changed from 40 to 38.
  • MP of Merman Spearman changed from 6 to 7.
  • HP of Merman Spearman changed from 40 to 43.
  • MP of Merman Javelineer increased from 6 to 7.
  • HP of Merman Javelineer changed from 55 to 58.
  • 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.
  • Moved the MP server list from a separate dialog to the Connect to Server dialog proper and added functionality for managing player-defined servers (issue #4564).
  • The load-game dialog can now see the directories used by Wesnoth 1.14, 1.12, etc.
  • The recruit and recall dialogs have a tooltip over the level number to show what the unit can advance to (issue #4135).
  • Moved the game tutorial to the Campaigns menu.
  • Replaced the Language menu button with a main menu icon.
  • "Core" type add-ons are now only accessible via hotkey.
  • Merged several experimental AI candidate actions (CAs) into the default AI: retreat injured, spread poison, place healers, move to any enemy. Not merged: grab villages, village hunt, castle switch, recruit rushers.
  • Previous default AI CA removed: retreat phase.
  • Previous default AI CAs remain available by using [ai]ai_algorithm=ai_default_rca_1_14 or by selecting 1.14 Default AI in the MP computer player selection menu. The experimental AI is now only available in debug mode (in MP) as it is mostly identical to the new default AI.
  • Made various improvements to the new default CAs to make them work correctly and consistently in general settings, such as taking AI aspects (aggression, attacks, [avoid], caution, ...) and unit guardian status into account, improved attack ratings and multi-leader functionality, and bug fixes.
  • Bottleneck Defense Micro AI: new optional parameter [filter], fixed bug with units not participating if too far in front of the bottleneck.
  • Healer Support Micro AI: take unit guardian status and passive_leader aspect into account.
  • Forest Animals Micro AI: rabbit holes on the map border are now automatically excluded.
  • New ai_helper functionality: path finding, next_hop and get_attackable_enemies taking avoid into account; next_hop with pre-calculated path and fanning out; new options to get_cheapest_recruit_cost.
  • Add [filter_own] optional tag to all default and Experimental AI CAs.
  • Allow comma-separated list of ids in addition to yes/no for AI aspects leader_ignores_keep, passive_leader and passive_leader_shares_keep.
  • Fix [leader_goal] for sides with multiple leaders.
  • Change E_NOT_REACHED_DESTINATION from error to warning.
  • Support upkeep in StandardUnitFilter.
  • [effect]apply_to=variation now supports heal_full.
  • Support [set/clear_variable] inside [modify_unit/side].
  • Support [variables] in [modify_side], as in [modify_unit].
  • [filter_weapon] implemented in abilities used as weapons specials to be the same as true weapons specials (implement filter_weapon in [filter_student] instead of [filter_self]).
  • All special weapons can be used in [abilities] now (this was not the case yet for [heal_on_hit], [plague] and [swarm]).
  • Made map_file=Example.map support looking in the [binary_path] maps/ directory (issue #4633).
Lua API only
  • unit:transform() now takes an optional variation parameter.
  • Support side.variables for access to side variables, similar to unit.variables.
  • New read-write keys in unit userdata: ellipse, halo, description, renamable.
  • New functions for working with WML: wml.merge, wml.diff, wml.patch, wml.find_child, wml.attribute_count, wml.equal, wml.valid, wml.interpolate.
  • wesnoth.wml_matches_filter renamed to wml.matches_filter (the old name still works).
  • Moved to units module: wesnoth.create_unit, wesnoth.get_unit, wesnoth.get_units, wesnoth.get_recall_units.
  • The wesnoth.units module now acts like a metatable for unit userdata.
  • New wesnoth.units.find gets units on either the map or any side's recall list.
  • Moved to interface module: wesnoth.scroll, wesnoth.zoom, wesnoth.get_mouseover_tile.
  • wesnoth.interface.get_displayed_unit aliased to wesnoth.unit.get_hovered.
  • Unit portrait and recall_filter are now writable.
  • Moved to new sides module: wesnoth.get_sides, wesnoth.is_enemy, wesnoth.match_side, wesnoth.get_starting_location, wesnoth.set_side_id, all AI-related functions.
  • Functions that previously only took a side index as the first parameter now also accept the side proxy userdata.
  • The wesnoth.sides module acts like a metatable for the side userdata.
  • Added __tostring functions to a number of Wesnoth userdata types.
  • Unit movetype functions renamed (defense_on, movement_on, vision_on, jamming_on, resistance_against). The defense_on and resistance_against functions return the actual values, rather than the raw WML values.
  • New function wesnoth.units.chance_to_be_hit is equivalent to deprecated wesonth.units.defense but conveys the meaning better.
  • Unit movetype functions (excluding resistance) can take a location instead of a terrain code, for convenience.
  • Side proxy now has starting_location member.
  • Fix ai.aspects.grouping not returning the aspect's value.
  • New stringx module exposes various split/join functions used by the engine, as well as trim.
  • Wesnoth's format functions moved to stringx (format_conjunct_list, format_disjunct_list, vformat).
  • location_set module extended to support set operators (& | ~ -) as well as a few additional functions.
Wesnoth Formula Language
  • New functions resistance_on(), vision_cost(), jamming_cost() that work in gameplay contexts (e.g. filters)
  • Unit object now has resistance, defense, movement_cost, vision_cost, jamming_cost, flying.
  • For FormulaAI, the game map object has an alternate access mode - map.gamemap[loc(x,y)].
  • The <game dir>/translations instead of <process working dir>/translations is now used to find core translation catalogues on Windows.
  • Removed map scaling algorithm customization. Nearest-neighbor scaling will now always be used.
  • Removed the Python 2 trackplacer tool (issue #4365).
  • Made wmlscope recognize and analyze optional macro arguments
  • wmllint now recognizes [load_resource] (issue #4538).
  • Made wmllint ignore race= keys if they are part of filters inside [unit_type] (issue #4105).
  • Removed a few asserts from wmllint and postponed a few unit sanity checks to the closing of a [unit_type] tag (issue #4102).
  • Added tool tmx_trackplacer, a file converter for editing map tracks with Tiled (PR #4464)
  • Added tool trackviewer, which has the animation-preview functions of trackplacer (PR #4574)
Important changes since 1.14.x
This information applies to all 1.15.x development releases.

  • Windows 7 is now the minimum supported version.
  • Official builds on SourceForge.net and Steam will only support 64-bit Windows going forward for this development series and future stable series (1.16 and later).
  • 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 here.
Known Issues
General issues:
  • OneDrive can interfere with Wesnoth’s user config/data directory set-up, leading to all kinds of different manifestations of the issue. There’s no fix available yet. The recommendation for the time being is to avoid syncing the Wesnoth user directory with OneDrive.
  • Preprocessor errors corrupt cache (issue #1924). If this happens you have to wipe your cache. That can be done in Preferences → Cache.

New Contributors and Developers

Do you want to help shape the future of Wesnoth? You are always free to join us in the #development Discord channel or #wesnoth-dev IRC channel on irc.freenode.net to ask for help with getting started!

The multiplayer and add-ons servers for this development series are up and running. Because development versions are a moving target, the development multiplayer server only accepts the latest version in the series. Add-ons may break due to changes to the WML and Lua APIs throughout development series — any problems involving them should be reported to the respective add-on maintainers.

If you find any bugs, do not hesitate to report them, but please read the instructions on how to report bugs first! As bug reports in the forums tend to be forgotten, you will get better results using our bug tracker. We require your help for finding and fixing issues, no matter how obvious, trivial, or complicated they seem!

Have fun!
Author of the unofficial UtBS sequels Invasion from the Unknown and After the Storm (now available for Wesnoth 1.14.x and 1.15.4+).
User avatar
Posts: 105
Joined: October 25th, 2009, 4:55 am

Re: Wesnoth 1.15.3

Post by Kymille »

So the Steelclad was made weaker and its cost increased dramatically, while almost everything else went down? I agree it was a good bargain before but this is a little ridiculous. It has no ranged attack, no special abilities, and awful defense on most terrain.
User avatar
Posts: 173
Joined: May 29th, 2012, 5:45 pm

Re: Wesnoth 1.15.3

Post by revolting_peasant »

Why was "An Orcish Incursion" moved to the add-ons server?

Also, can someone outline the logic for the rebalancing, or link to some description of what's it about? It's difficult to make sense of these dozens of changes.
User avatar
Project Manager
Posts: 4574
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 1.15.3

Post by Pentarctagon »

For AOI, there's this thread which has the reasoning behind it, but the short version is that AOI is generally considered to be a generic, uninteresting campaign.

For balancing, there's this thread, though a lot of discussion also occurred on Discord. The short version though is that it's meant to make the Age of Heroes era more balanced.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
Posts: 18
Joined: February 19th, 2020, 8:20 pm

Re: Wesnoth 1.15.3

Post by Bardagh »

Whenabouts do you expect 1.15.x to be marked stable/finished?
General Code Maintainer
Posts: 1344
Joined: February 10th, 2013, 2:25 pm

Re: Wesnoth 1.15.3

Post by gfgtdf »

Bardagh wrote: April 3rd, 2020, 10:55 pm Whenabouts do you expect 1.15.x to be marked stable/finished?
basicially when we have enough changes to make with worth it, Making a new release often comes with disadvantages for example users have to reinstall all addons, people might loose savefiles, umc authors have to check that their code still runs on the new wesnoth version etc. So we will make a new release if we feel the new features outwights the disadvantages.

Currently there is not much activity so noone can tell.
Scenario with Robots SP scenario (1.11/1.12), allows you to build your units with components, PYR No preperation turn 1.12 mp-mod that allows you to select your units immideately after the game begins.
User avatar
Posts: 9
Joined: March 15th, 2020, 10:23 am

Re: Wesnoth 1.15.3

Post by GrandMarshalEmil »

Kymille wrote: March 19th, 2020, 1:58 am So the Steelclad was made weaker and its cost increased dramatically, while almost everything else went down? I agree it was a good bargain before but this is a little ridiculous. It has no ranged attack, no special abilities, and awful defense on most terrain.
This. Couldn't have said it better myself. Will the Runesmith finally be added to the Fighter line, then?
Posts: 37
Joined: June 14th, 2012, 4:19 am
Location: Roommate with a dragon in Heart Moutains

Re: Wesnoth 1.15.3

Post by ItsDaKoolaidDude »

No more Dark Adepts in Descent? booooo :(
You spent the entire game, going in circles! It's like the equivalent of Homer Simpson doing cartwheels on the kitchen floor, and you still won?! -Johnny (BSC)
User avatar
Posts: 40
Joined: June 25th, 2020, 3:23 pm

Re: Wesnoth 1.15.3

Post by thvk »

Is there a binary for the raspberry pi too?
User avatar
Project Manager
Posts: 4574
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 1.15.3

Post by Pentarctagon »

I think there's a Raspbian package available, otherwise probably not.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code