11 months agoUpdate changelog 0.19.6
Aidan Holm [Sun, 22 Mar 2020 04:16:28 +0000]
Update changelog

12 months agoDisable lua load(), loadstring() bytcode loading
Aidan Holm [Sun, 16 Feb 2020 05:34:42 +0000]
Disable lua load(), loadstring() bytcode loading

(cherry picked from commit fc522ff6eb1bbb85e3de60c60a45762571e48c28)

12 months agoDisable lua bytecode loading
Aidan Holm [Thu, 13 Feb 2020 13:31:55 +0000]
Disable lua bytecode loading

(cherry picked from commit 768f60da87a3fa0b5561da5ade9309577c176d04)
(cherry picked from commit 2791043dd8ecdf641e8b1b542d00dea30014df52)

23 months agoDon't crash when there are game types from the future
advil [Wed, 6 Mar 2019 05:07:39 +0000]
Don't crash when there are game types from the future

The save browser was crashing immediately on starting up in this case,
which is triggered by the presence of seeded games from 0.23. This
future-proofs a bunch of calls used by the save browser so that these
games behave just like any other incompatible future-versioned save game
in the main menu.

(cherry picked from commit b7382820b7259ae5d2ffec6fa48112b66c2509ab)

4 years agoUpdate the changelogs for 0.19.5 0.19.5
gammafunk [Tue, 28 Feb 2017 23:27:50 +0000]
Update the changelogs for 0.19.5

4 years agoDon't allow time step to have a 0 turn duration
Chris Campbell [Sat, 18 Feb 2017 15:58:25 +0000]
Don't allow time step to have a 0 turn duration

If for some reason you use it with no invocations skill. Also refactor slightly.

(cherry picked from commit d0eeda60688436d236bfa0882d4f7e8bbd0eb3a7)

4 years agoEnsure viewwindow is called in the input loop for instantaneous actions (PR #448)
Kyle Rawlins [Fri, 17 Feb 2017 00:37:39 +0000]
Ensure viewwindow is called in the input loop for instantaneous actions (PR #448)

Ensure viewwindow is called in the input loop for instantaneous actions

This specifically addresses 10314, where shoals wave/beach tiles weren't being
updated after temporal distortion.  Temporal distortion results in
`you.turn_is_over` being false at this point in the loop, but apparently
`viewwindow` needs to be called at this specific time to get the waves right.
For non-instantaneous actions, `viewwindow` is called as part of
(cherry picked from commit 4639c04e6c95b04206f09a7fd11d708114020ec1)

4 years agoDon't crash when xv-ing polymorphed multi-book casters.
Neil Moore [Sun, 12 Feb 2017 18:08:14 +0000]
Don't crash when xv-ing polymorphed multi-book casters.

If a monster had multiple possible spellbooks and we tracked its seen
spells, and that monster is then polymorphed into a spell-less monster,
xv on the polymorphed monster would cause a crash.  See for example:

Avoid this by (1) clearing the seen spells on polymorph; and, to handle
monsters that had already been polymorphed before this fix, (2) clearing
the seen spells pop on load of a monster with no spells.

(cherry picked from commit 673355af13fb8b2113f97e3ed1644ea2cfad480c)

4 years agois_useless_item: check racial_permanent_flight too
Glenn Matthews [Wed, 8 Feb 2017 20:58:30 +0000]
is_useless_item: check racial_permanent_flight too

Temporary flight items (potion, ring) are useless if you have the ability
to permanently fly as a racial ability, whether or not flight is active
at this very moment. Previously, these items would toggle uselessness
depending on whether you are currently flying.

(cherry picked from commit 2e58d04515a7d5bc4f7d978ccf590a86ff076f8e)

4 years agoFix dream sheep messaging out-of-LOS (CanOfWorms)
Isaac Sloat [Tue, 7 Feb 2017 21:39:02 +0000]
Fix dream sheep messaging out-of-LOS (CanOfWorms)

(cherry picked from commit 3869b3f86974164a5b1b33dd9031cc3d62cb86e2)

4 years agoAllow macros to work in tiles map mode (suppilulemur, #10917)
Neil Moore [Sun, 5 Feb 2017 20:12:51 +0000]
Allow macros to work in tiles map mode (suppilulemur, #10917)

They worked in console.

(cherry picked from commit 222018589ca8fa13bf0ddab673e14d9e21dd90c7)

4 years agoDon't let brains gaze (#10916)
Neil Moore [Sun, 5 Feb 2017 20:07:52 +0000]
Don't let brains gaze (#10916)

Also remove the special shout for the extinct 'B' glyph.

(cherry picked from commit b2da203cca34d6927f6fadc8c0d09c07c80da83e)

4 years agoFix fsim defense mode with passive damage (advil, #10914)
Neil Moore [Sun, 5 Feb 2017 20:17:23 +0000]
Fix fsim defense mode with passive damage (advil, #10914)

The passive damage could reduce the monster to zero damage, leading to
messages about DEAD_MONSTER.

(cherry picked from commit 60d86990370f76951c10ae81e1d10cd5e06f35ff)

4 years agoImprove death messages from invisible paralysers
Nicholas Feinberg [Sun, 5 Feb 2017 02:23:10 +0000]
Improve death messages from invisible paralysers

Vampire knights being one obvious, common offender.

(cherry picked from commit ab3eba18e9f684b20e3b6d4ed0b925847949eba4)

4 years agoDon't trap the player in lemuel_flame_loot_2.
Neil Moore [Mon, 27 Feb 2017 02:33:17 +0000]
Don't trap the player in lemuel_flame_loot_2.

(cherry picked from commit d0efa662383971e981fb52f84055cffa5108b718)

4 years agoFix a few typos in docs and source
Vitaly [Sun, 19 Feb 2017 07:08:42 +0000]
Fix a few typos in docs and source

Duplicated "to", for example:
"Select a spell to read its description or *to to* memorise it"

(cherry picked from commit 944838a37f0d60160828dbb1de8dd104070f3bb3)

4 years agoIgnore adjacent enemies for Beckoning (Yermak)
Nicholas Feinberg [Fri, 17 Feb 2017 04:42:48 +0000]
Ignore adjacent enemies for Beckoning (Yermak)

It's not very useful to beckon adjacent enemies, so make the
targeter ignore them.

(cherry picked from commit d9671f9d82d68eb2c5aff4e245bbe14aa75bdc58)

4 years agoFix a swiftness message
Chris Campbell [Fri, 10 Feb 2017 19:33:08 +0000]
Fix a swiftness message

(cherry picked from commit 6870b8305ec8a5cc9d83aca107272d98a912e3c5)

4 years agoBackport fix for loading saves with corrupted branch_info (#477)
Kyle Rawlins [Sat, 25 Feb 2017 18:21:32 +0000]
Backport fix for loading saves with corrupted branch_info (#477)

(ab781cdc92f8 and 4c9d53b3c18c7e)

This commit repairs saves where the desolation branch's place info had
been spuriously set to global after _reset_game.  These changes couldn't
be cherrypicked because they use a minor version increment to time-limit
the check in trunk.  This commit also rolls in some smaller changes to
the same code region from ab50500f2268832.

4 years agoCorrectly clear place info on game reset
advil [Sat, 25 Feb 2017 02:33:17 +0000]
Correctly clear place info on game reset

This fixes a bug that was leading to save corruption in importing to
0.19 and later (10696, 10788).  What was happening was this:

1. _reset_game calls player(), which initializes the branch numbers
(without actually clearing place info)
2. Then it was calling clear_place_info() which clears all the place
info (without initializing the branch numbers).  Post 0.19, this leads
to branch numbers being set to 127.
3. A save from 0.18 would load, but fill one less place info slot than
needed, because desolation didn't exist.  This last slot wasn't touched
on unmarshalling at all, so was left with its branch number set to 127.
This is the global place info slot.
4. This was saved.
5. On load, the spurious 127 branch hit an assert.

Because this only happened on _reset_game, to trigger the corruption,
you need to exit to the main menu.  Importing a game on an initial
load is fine.

This fix moves all place info initialization to clear_place_info, and
calls it from the constructor.

(cherry picked from commit 480796749b9868009da8050bf61395be0c819ae2)

4 years agoLevel up from the last !exp in a floor stack (advil, #10904)
Neil Moore [Wed, 22 Feb 2017 05:31:36 +0000]
Level up from the last !exp in a floor stack (advil, #10904)

Background: To avoid an exploit where killing the game in the middle of
levelling up from potion of experience gave you both the level and the
potion, we deferred the call to level_change() until the very end of
drink(), after using up the potion (decrementing its quantity).

If the potion was the last one its the stack, that meant that we were
checking the sub_type of a destroyed item (to see whether it was
POT_EXPERIENCE).  Fortunately, destroying an inventory item stack (with
dec_inv_item_quantity) does not actually clear the sub_type.  So as long
as we didn't do anything between those two steps, things were fine, if
somewhat fragile.

Then someone went and added the ability to drink potions off the floor.
Unfortunately, unlike its inventory cousin, dec_mitm_item_quantity
*does* clear the sub_type (and everything else) of a destroyed stack...
meaning we forgot that the potion was !exp and therefore never ended up
calling level_change().

Fix this, and make the inventory case less fragile, by testing whether
the potion was !exp before decrementing its quantity.  The actual call
to level_change() still comes afterwards.

(cherry picked from commit f92fd718fd6a6be5289af6c8c93c6dac6382e385)

4 years agoFix Android cprintf security bug (#10941).
Neil Moore [Tue, 14 Feb 2017 15:19:54 +0000]
Fix Android cprintf security bug (#10941).

If the player's weapon or quiver inscription contains a percent sign,
bad things could happen.

(cherry picked from commit dc5f8301c1a5c8272942f1b390b340e6426e2649)

4 years agoFix the way the mac console app calls 'open'
Alan Malloy [Mon, 30 Jan 2017 15:52:47 +0000]
Fix the way the mac console app calls 'open'

(cherry picked from commit a051ee5c924f247d54ebbb964fbbc3e2fb5bd437)

4 years agoChange Mac OS X build arguments
Aaron Golden [Fri, 18 Nov 2016 06:48:28 +0000]
Change Mac OS X build arguments

There is no reason to specify the SDK root because we can always
build with the latest available Mac OS X SDK.  The minimum version
of Mac OS X that the binary supports can be less than the SDK with
which the binary was built.

We can set the deployment target all the way back to 10.7 as long
as we also build using clang's libc++ instead of gcc's libstdc++.
Strangely, if you try to set the deployment target less than 10.9
and use libstdc++, some necesary headers (e.g. cinttypes) are not
found in the standard places.  But this is not a problem if we
build using clang's libc++.

(cherry picked from commit aebe03603bdc0f21a5c9be7f111b3ec895b5fc45)

4 years agoRemove logic related to trying to find oldest available Mac OS X SDK
Aaron Golden [Fri, 18 Nov 2016 07:15:40 +0000]
Remove logic related to trying to find oldest available Mac OS X SDK

We don't need to try to find the oldest available Mac OS X SDK.
It's perfectly fine to build against the latest available SDK
(which is the default behavior if we specify no SDK root) and
to target a hard coded earlier Mac OS X version.

(cherry picked from commit 78c68709658e5ffe653833d91d2ce8ce0e058ac7)

4 years agoSimplify Mac OS X build instructions in INSTALL.txt
Aaron Golden [Fri, 18 Nov 2016 07:47:17 +0000]
Simplify Mac OS X build instructions in INSTALL.txt

APPLE_GCC and NO_PKGCONFIG are both set automatically when the
Makefile detects uname -s == Darwin, and CONTRIB_SDL is not
used anywhere in the Makefile and has no effect.  On Mac OS X
you can build console with just "make" and tiles with
"make TILES=y"

(cherry picked from commit 5d318e29fcefa85f123bbbdd08a5446727bea5f6)

4 years agoAdd a symlink to init.txt for Mac OS X users
Aaron Golden [Wed, 19 Oct 2016 06:04:11 +0000]
Add a symlink to init.txt for Mac OS X users

Mac OS X users will never expect to find init.txt inside the .app
bundle.  The standard place for such files on Mac OS X is in
~/Library/Application Support/<app name>, so on startup we should
put a symbolic link to whatever init.txt file we're going to use
in ~/Library/Application Support/Dungeon Crawl Stone Soup (or
wherever we're putting morgue and saves anyway).

Note that symlink will not overwrite an existing file.

Closes #385.

(cherry picked from commit 409887acc9b95c9d2837bb37faa6b2fc35b642a8)

4 years agoFix a compiler warning.
Neil Moore [Tue, 1 Nov 2016 18:58:19 +0000]
Fix a compiler warning.

"spell_hd" shadows a member function of monster_info.

(cherry picked from commit 6776aff0efb99252cb00f7cbe231811dc5611535)

4 years agoFix for pain bond and aux attacks (10472)
advil [Wed, 25 Jan 2017 21:42:15 +0000]
Fix for pain bond and aux attacks (10472)

The basic problem was that radiate_pain_bond was called recursively from
monster::hurt (which radiate_pain_bond calls), and could loop.  When the
loop reached the original target, if the embedded call to hurt killed
the monster, it was guaranteed to clean up at that point, ignoring the
`clean` argument to the original call.  In a number of cases that relied
on a <1hp monster not being cleaned up, this led to odd messages or

This commit fixes the problem by refactoring the recursion into a single
function (radiate_pain_bond) that tracks the original target.  It defers
cleanup for that target to the outer call of monster::hurt, and so will
respect the cleanup_dead argument for that function.  As a side effect,
pain bond damage is calculated slightly more correctly for passive
damage effects.  I've tested this as carefully as I can and am fairly
confident that it prevents the DEAD_MONSTER messages as well as the
crash from constriction, but there were a lot of hard-to-replicate
special cases that I haven't tested directly.

(cherry picked from commit f70bbbcf307fc583d5194bdf2c106e342bb257ec)

4 years agoInclude <functional> where needed (#10926)
Neil Moore [Sun, 5 Feb 2017 18:32:38 +0000]
Include <functional> where needed (#10926)

Several files used function<> without explicitly pulling in <functional>.
This worked in older version of g++, because other headers did pull it in,
but it no longer works in g++ 7.0.1.

(cherry picked from commit 5e19f30c998b7066edc6c7e0037d5f9f703ec6f5)

4 years agoDeclare a function as static 0.19.4
gammafunk [Mon, 30 Jan 2017 10:50:06 +0000]
Declare a function as static

4 years agoUpdate the changelogs for 0.19.4
gammafunk [Mon, 30 Jan 2017 10:25:01 +0000]
Update the changelogs for 0.19.4

4 years agoUpdate an options_guide entry
Chris Campbell [Sat, 28 Jan 2017 19:05:06 +0000]
Update an options_guide entry

(cherry picked from commit bfac325e8289ac1c3fcea562c16188a62227cca3)

4 years agocolemak keyboard binding fixed
Gordon Quad [Wed, 25 Jan 2017 10:45:59 +0000]
colemak keyboard binding fixed

(cherry picked from commit 3802a7501212deb36374e35b4fbd32894de5f763)

4 years agoUpdate the description of the staff of summoning
nlavsky [Thu, 26 Jan 2017 18:02:51 +0000]
Update the description of the staff of summoning

Warding was removed in 0.18, but the description of the staff of summoning still mentions the "{Ward}" stash search prefix.
(cherry picked from commit af1d6b47ce500e7c67ac4dfedc5c76fc264d897c)

4 years agoFix descriptions of some unrands
Chris Campbell [Thu, 26 Jan 2017 02:05:08 +0000]
Fix descriptions of some unrands

(cherry picked from commit b68a50dccd512319f9b7a9f59a42d64c2baebfa9)

4 years agoGive vampire mages ghost hands
Nicholas Feinberg [Thu, 26 Jan 2017 05:23:25 +0000]
Give vampire mages ghost hands

So that their tiles can display weapons.

(cherry picked from commit 24831b1acf6da02171193a8fce36ecf05c69be16)

4 years agoFix mouse handling for trackpads on OS X (Wizard_Lore)
gammafunk [Tue, 24 Jan 2017 22:28:28 +0000]
Fix mouse handling for trackpads on OS X (Wizard_Lore)

This restores some of the mouse position update for skipped events that
was removed in 555d78b but still correctly tracks the last mouse
location for redraw purposes. This seems to fix the lag seen for OS X
trackpad users.

(cherry picked from commit 8cfaa977981c9bce3bacbe7ab65b487afae35fe3)

4 years agoFix temple entrances vault placement (Spectrina, PleasingFungus)
gammafunk [Mon, 23 Jan 2017 07:22:02 +0000]
Fix temple entrances vault placement (Spectrina, PleasingFungus)

Broken in cc390b8, temple entrance vaults had the wrong tag, and weren't
seen as viable temple entry vaults. This resulted in all temple
entrances not having any vault, simply a staircase.

(cherry picked from commit 839ffe0a93fe60854a52cc3997af245423610337)

4 years agoUpdate changelogs for the 0.19.3 bugfix release 0.19.3
gammafunk [Sat, 21 Jan 2017 22:20:57 +0000]
Update changelogs for the 0.19.3 bugfix release

4 years agoWork around an AMD driver crash on the title screen (Fixer, #10909)
Neil Moore [Sat, 21 Jan 2017 21:55:15 +0000]
Work around an AMD driver crash on the title screen (Fixer, #10909)

Apparently textures of exactly 512x512 cause errors with some versions of
the Radeon drivers.  Work around that by cropping our single 512x512
loading screen down to 511x511.

This might also fix #10290 and friends but that needs tested.

(cherry picked from commit a2a529b6adb888cdfacb7c892a096e0541297d4a)

4 years agoUpdate changelogs for the 0.19.2 bugfix release 0.19.2
gammafunk [Sat, 21 Jan 2017 04:47:45 +0000]
Update changelogs for the 0.19.2 bugfix release

4 years agoFix a longstanding Tiles mouse cursor lag bug (#10278)
gammafunk [Thu, 19 Jan 2017 06:33:33 +0000]
Fix a longstanding Tiles mouse cursor lag bug (#10278)

With the refactoring done in 9e6f58dc to fix window sizing in SDL2, a
bug was created where occasionally the mouse would lag in updating the
screen when the cursor had moved to a new tile.

The mouse event loop doesn't redraw if rapid mouse movement occurs and
multiple movement events are in the event queue. Redraws due to mouse
movement are supposed to occur due when the mouse moves to a new new
tile, but not a new position in the same tile. However when the event
loop was restructured in the aforementioned commit, the event was only
ignored after first processing mouse position, and the last known mouse
position was always updated on the next tick using this new position.
So movement events to a new tile followed quickly by other movement
events were updating the last known mouse position and then being
skipped. By the time the last movement event queue was reached and
actually processed fully, the last known mouse position would already be
at the new tile location, so it would appear to the event loop that no
redraw was needed. The actual redraw would only take place when the
mouse moved again (either within tile and after a redraw timeout or to a
new tile).

This commit fixed the problem by processing the mouse location,
including the last known mouse location, only for movement events that
aren't skipped, allowing the redraw to always happen when the mouse
moves to its destination tile.

(cherry picked from commit 555d78b692f7ac73a025799d36027e24cbc42821)

4 years agoAdjust Searing Ray's prompt
Chris Campbell [Sat, 14 Jan 2017 20:32:09 +0000]
Adjust Searing Ray's prompt

(cherry picked from commit 45aadb5abb7f278a31ac8af80ad7bf87422c2626)

4 years agoImprove Ray status line (dpeg)
Nicholas Feinberg [Sat, 14 Jan 2017 18:05:26 +0000]
Improve Ray status line (dpeg)

And describe it in ?/T.

(cherry picked from commit 3c572303ee4433398097ea457abfca11601e82cf)


4 years agoAdd a Searing Ray reminder message (dpeg)
Nicholas Feinberg [Sat, 14 Jan 2017 17:54:00 +0000]
Add a Searing Ray reminder message (dpeg)

(cherry picked from commit c945ec94ee85d88b9b37554d9596f3951ce2df0f)

4 years agoFix incorrect messages on branch transition
Colin Morris [Fri, 6 Jan 2017 21:35:28 +0000]
Fix incorrect messages on branch transition

Sometimes the game would say "Welcome back to x!" even though it was
your first time in x. e.g.
This fixes that, and simplifies some of the level transition logic.

Closes #427.

(cherry picked from commit 9217641b3915ec3d8ecd175b290c3765b6db9b66)

4 years agoFix monster self-haste AI
Nicholas Feinberg [Wed, 11 Jan 2017 04:37:22 +0000]
Fix monster self-haste AI

Good ol' copy, and her friend, paste.

(cherry picked from commit 526fb3cc497b5940e29a15b2426aec5f9548489e)

4 years agoFix special-case brand appearances (10878)
Nicholas Feinberg [Thu, 5 Jan 2017 20:42:51 +0000]
Fix special-case brand appearances (10878)

Antimagic-branded trog gifts would have no visible appearance
(glow, etc) if they generated with a near-zero enchantment - quite

(cherry picked from commit 81164aed5701c11e27d6598df75a5f0be1387fad)

4 years agoFix monsters casting pain at immune targets (#10875)
Chris Campbell [Thu, 5 Jan 2017 17:53:59 +0000]
Fix monsters casting pain at immune targets (#10875)

(cherry picked from commit 3bc703b0ec7a86d39f90466aca0a65af06e9bfb1)

4 years agoInvalidate agrid after silence ends (10636)
Nicholas Feinberg [Wed, 28 Dec 2016 18:11:38 +0000]
Invalidate agrid after silence ends (10636)

The invalidate_agrid() in would *usually* handle
this, but if anything checked the agrid between that invalidation
and the actual decrementing of the DUR_SILENCE to 0 (that is,
between lines 600 and 859), the agrid would still see DUR_SILENCE
as being in effect at your current position, and wouldn't update
until something else invalidated the agrid (e.g. another cast of

To replicate before this commit, have Darkness active along with
Silence; will trigger the bug.

(cherry picked from commits 68c82e3cd3fb88c5d72c1c972f3ab9bc16c912e8
 and 72753d0ed838ec59ffc3a5cf590fced33cd8fa20)

4 years agoDon't drain intelligence when Xom casts SHT
Chris Campbell [Mon, 26 Dec 2016 17:51:19 +0000]
Don't drain intelligence when Xom casts SHT

(cherry picked from commit 3c00ad325564585a7196389640e7a9b37b58548f)

4 years agoAllow helmet acquirement
Isaac Sloat [Wed, 21 Dec 2016 23:29:02 +0000]
Allow helmet acquirement

Fixes a 21-month-old (0376bd90\ f) bug where even if you could equip
helmets you would only ever get hats from acquirement. MB_MAYBE means
the player can only equip certain items for that slot, used here to mean
mean "If the player can't wear helmets, give them either a helmet or a
hat.". This went unnoticed because acquirement vetoes useless items, so
Minotaurs et al never received helmets matching expected behavior.

(cherry picked from commit e549106f61bad6706b647ad72aebfd2106d68a90)


4 years agoFix a connectivity problem with the_grid
CanOfWorms [Wed, 21 Dec 2016 04:23:25 +0000]
Fix a connectivity problem with the_grid
(cherry picked from commit 149db0740e833b87951d6ebcc1fc378501d8c030)

4 years agoMake infestation scarab-creation into a fineff (#10848)
Chris Campbell [Sat, 17 Dec 2016 15:03:33 +0000]
Make infestation scarab-creation into a fineff (#10848)

To fix newly-created scarabs being turned hostile when killing their host in
an explosion.

(cherry picked from commit ed96f7e5ae99f3d03d9907bc74fddc54d8e86c9a)

4 years agoClarify a misleading penance message (|amethyst)
Nicholas Feinberg [Thu, 15 Dec 2016 22:15:51 +0000]
Clarify a misleading penance message (|amethyst)

(cherry picked from commit 264e157b161f150e3ce2af7b20d90e3f0eb2d0fb)

4 years agoDon't allow resting while on fire (UsaSatsui)
Nicholas Feinberg [Thu, 15 Dec 2016 22:13:06 +0000]
Don't allow resting while on fire (UsaSatsui)

As with dangerous clouds.

It'd only rest for one turn, but that's a bit too long...

(cherry picked from commit cb9538ead8018072a28e90ee5aad4077543429d8)

4 years agoRemove Nemelex evocations reference (10847)
Isaac Sloat [Wed, 14 Dec 2016 21:49:50 +0000]
Remove Nemelex evocations reference (10847)

[skip ci]

(cherry picked from commit ec7c366be5b35eccc1ea00bcbb1e2ae0bee8a360)

4 years agoDon't give an MP regen bonus before amulet of MPRegen is attuned (alexjurkiewicz)
Corin Buchanan-Howland [Fri, 9 Dec 2016 02:47:49 +0000]
Don't give an MP regen bonus before amulet of MPRegen is attuned (alexjurkiewicz)

(cherry picked from commit 8e735b615154bb9a86849ceaa2a7266c8d88669e)

4 years agoDon't allow cancelling movement for free when confused and barbed (#10838)
Chris Campbell [Sat, 3 Dec 2016 20:23:51 +0000]
Don't allow cancelling movement for free when confused and barbed (#10838)

Make the prompt display before redirecting movement when confused, so that it
still displays regardless of whether the movement ends up being redirected into
an attack or not.

(cherry picked from commit 81abdfb03946dd7e2fad0a1da5ab44c065b9ec12)

4 years agoMake Zin penance end sanctuary
Chris Campbell [Fri, 2 Dec 2016 14:16:04 +0000]
Make Zin penance end sanctuary

Breaking sanctuary by attacking caused penance, but the reverse wasn't true
when (for example) gaining penance by casting necromancy spells while under

(cherry picked from commit cb1eca7a03e28160e5cd3cea013a6f66cee9cae4)

4 years agoFix webtiles Divine Shield highlight (johnny0)
Nicholas Feinberg [Fri, 2 Dec 2016 01:01:07 +0000]
Fix webtiles Divine Shield highlight (johnny0)

Broken by 8ce114c4a87b.

(cherry picked from commit c929cd22f6b10ba1e28dbd9916bff3e3eaa60b45)

4 years agoAshenzari messages? In my Zin verses? (damerell)
Alan Malloy [Tue, 29 Nov 2016 01:47:11 +0000]
Ashenzari messages? In my Zin verses? (damerell)

Fix #10832, introduced in cc38ccbfa

(cherry picked from commit 94812387fbc70509fa2392066f8a3af9195eacee)

4 years agoFix messaging for enchanting scales (#10827)
Chris Campbell [Sat, 26 Nov 2016 01:07:22 +0000]
Fix messaging for enchanting scales (#10827)

(cherry picked from commit d6c29ebcfac6b1206614902b109c7026c6dbd74a)

4 years agoDon't count Abyss gold for Gozag's service fee
Alex Jurkiewicz [Wed, 23 Nov 2016 05:43:28 +0000]
Don't count Abyss gold for Gozag's service fee

Currently, wandering through the Abyss (say AK starts) can inflate the
service fee beyond what the player has actually accessible to them.

Closes #409.

(cherry picked from commit e9bc5e30befe5233df014af8c1b0942a32ca8e0b)

4 years agoImprove grand finale's fail check
Nicholas Feinberg [Fri, 18 Nov 2016 23:17:54 +0000]
Improve grand finale's fail check

Check *after* targeting!

(cherry picked from commits 14a9077f4140856d39c602c7ecc0f7fc9f735c48
 and ea02cb55aef038ac0b806952fdc86220b57f27f7)

4 years agoDon't allow power leap to jump in place
Nicholas Feinberg [Fri, 18 Nov 2016 23:01:39 +0000]
Don't allow power leap to jump in place

When constricted & failing to escape, or when trying to jump onto
an invisible target. That could in principle anger allies without
a prompt in a very unexpected way, which seems quite unfair to the

This unfortunately applies exhaust in those cases, which I'd rather
not, but it's sort of tricky to avoid while still taking up a turn.

(cherry picked from commit 476458cb30392d3f290fc113644528156b3d0a17)


4 years agoImprove fire vortex description
Nicholas Feinberg [Thu, 17 Nov 2016 19:34:52 +0000]
Improve fire vortex description

(cherry picked from commit 13908c14bf2767431b9f9a17232ee323fc1a515b)

4 years agoRemove Cure Poison from some vault-defined books (#10842)
Chris Campbell [Sat, 10 Dec 2016 17:55:40 +0000]
Remove Cure Poison from some vault-defined books (#10842)

And give the books normal weights instead of mysteriously large ones.

4 years agoUpdate the debian changelog for 0.19.0 and 0.19.1 0.19.1
gammafunk [Wed, 23 Nov 2016 10:14:25 +0000]
Update the debian changelog for 0.19.0 and 0.19.1

4 years agoColorize the entire survey message
gammafunk [Wed, 23 Nov 2016 10:06:26 +0000]
Colorize the entire survey message

4 years agoLet people know about the survey
Nicholas Feinberg [Sun, 30 Oct 2016 01:22:58 +0000]
Let people know about the survey

Not pushing this until we actually have a survey link up on the

4 years agoUpdate the changelog for the 0.19.1 bugfix release
gammafunk [Wed, 23 Nov 2016 08:15:34 +0000]
Update the changelog for the 0.19.1 bugfix release

4 years agoAllow Dith shadow to attack diagonally and to reach.
Neil Moore [Mon, 14 Nov 2016 23:18:50 +0000]
Allow Dith shadow to attack diagonally and to reach.

It only copied orthogonal attacks, unless you had reaching, in which case
it copied diagonal attacks too, but not reaching attacks.

(cherry picked from commit b1283780dc5489b2a63fb4a269f83dc0fe852db0)

4 years agoUpdate and simplify Windows MSYS2 instructions
gammafunk [Tue, 22 Nov 2016 12:08:38 +0000]
Update and simplify Windows MSYS2 instructions

Recent versions of MSYS2 no longer require fixes to the shortcuts. Also
clarify that users generally want the 64-bit version and better indicate
which MSYS2 shell they should choose. Remove a lot of extra wording and
some ancient instructions for the old msysgit setup.

4 years agoFix OS X 10.8 compilation (10791)
Nicholas Feinberg [Sun, 20 Nov 2016 00:38:33 +0000]
Fix OS X 10.8 compilation (10791)

4 years agoMake converting at a faded altar take a turn (qw).
elliptic [Sat, 19 Nov 2016 05:06:52 +0000]
Make converting at a faded altar take a turn (qw).

(cherry picked from commit e18884774fcba07cb7c0f1f517af7a2ab1626994)

4 years agoReduce Xom cleave duration 10x
Nicholas Feinberg [Fri, 18 Nov 2016 02:11:11 +0000]
Reduce Xom cleave duration 10x

Severity goes up to 200, and we probably don't want cleaving to
last over 2000 turns...

4 years agoFix Degeneration card messages
Nicholas Feinberg [Fri, 18 Nov 2016 02:52:28 +0000]
Fix Degeneration card messages

It'd print "nothing happened" every time the card triggered,
unless any *non-polymorphable* enemies were affected.

Introduced in 582fb7041.

4 years agoFix messaging for dragon scale troves (#10783)
Chris Campbell [Tue, 15 Nov 2016 16:51:50 +0000]
Fix messaging for dragon scale troves (#10783)

(cherry picked from commit 36bfb7687bc45c1496dc9d00a586b428048ce30b)

4 years agoFix an @e1 crash (Murtidash, |amethyst)
Nicholas Feinberg [Sat, 12 Nov 2016 04:53:58 +0000]
Fix an @e1 crash (Murtidash, |amethyst)

can_eat() asserted that the object it was given was at least
vaguely edible (food or, for vampires, a corpse), but some of its
callers didn't actually check for that.

Simplified, per |amethyst's suggestions.

4 years agoFedhas Fungal Bloom ability tile
Nicholas Feinberg [Fri, 11 Nov 2016 04:54:04 +0000]
Fedhas Fungal Bloom ability tile

4 years agoRevert tentacle threat changes
Nicholas Feinberg [Thu, 10 Nov 2016 19:10:08 +0000]
Revert tentacle threat changes

Way too much of a mess to have in the 'stable' version.

This reverts commit 73b5abfc04a80bab7a3fc463863f11f1b0f953e9.
This reverts commit 3ed95c94b49e9a581a0b6d89ec129a36dc3e25e9.
This reverts commit 20a5e113a090f67d8917d018e2cbc3c682a46f36.
This reverts commit 53b990978f72e0fb582adbd2a1fa6a7248d15392.

4 years agoFix compilation
Chris Campbell [Wed, 9 Nov 2016 23:32:05 +0000]
Fix compilation

Testing things before committing is a good idea.

4 years agoFix inverted logic
Chris Campbell [Wed, 9 Nov 2016 23:22:31 +0000]
Fix inverted logic

4 years agoDon't count tentacles towards horror levels
Chris Campbell [Wed, 9 Nov 2016 23:19:22 +0000]
Don't count tentacles towards horror levels

Now that they're not always displayed as harmless.

4 years agoDisplay tentacles with the same threat level as their parents (#10747)
Chris Campbell [Wed, 9 Nov 2016 22:04:38 +0000]
Display tentacles with the same threat level as their parents (#10747)

(cherry picked from commit a906eb66dd417a22ec9ead46d457db8d0ad8ebf9)

4 years agoDon't mention prayer in Fedhas conduct description (#10773)
Chris Campbell [Wed, 9 Nov 2016 21:39:54 +0000]
Don't mention prayer in Fedhas conduct description (#10773)

Just leave the line that "Fedhas likes when corpses rot away" (whether
naturally or via the ability).

(cherry picked from commit 82dbd4dc168f66726874de4381e619fad0111f68)

4 years agoDon't make demon tridents one-handed for small races (WalkerBoh)
Chris Campbell [Tue, 8 Nov 2016 00:17:31 +0000]
Don't make demon tridents one-handed for small races (WalkerBoh)

Accidentally changed in e972ad551e97 - the intention had been to leave them
as-is for Halflings/Kobolds and just change Spriggan handednesses.

(cherry picked from commit f4154e2798dd386c6accaa04a5000e38a26f51e3)

4 years agoFix minmay_sewer_w.
David Ploog [Mon, 7 Nov 2016 01:44:22 +0000]
Fix minmay_sewer_w.

There was a small chance to have no floor/shallow water path to the
final area. I want my scroll of blinking back!

(cherry picked from commit 03dcb65de53feab208aff1a040a5bf83043a7cd7)

4 years agoAdjust some ability descriptions
Chris Campbell [Sun, 6 Nov 2016 19:56:06 +0000]
Adjust some ability descriptions

(cherry picked from commit e6c2eab8a3f5a56f5f13149864b3aeae296d2d2c)

4 years agoDon't scream at non-monsters (minmay)
Nicholas Feinberg [Sun, 6 Nov 2016 19:20:55 +0000]
Don't scream at non-monsters (minmay)

IOODs etc & tentacles.

4 years agoFix volcano_lake
Nicholas Feinberg [Sun, 6 Nov 2016 16:55:28 +0000]
Fix volcano_lake

Broken in 25837f4635819232bf978c05a3311698d1a99773. (Gained a 1/6
chance to generate no path to the center.)

4 years agoRemove an incorrect changelog entry
Nicholas Feinberg [Wed, 2 Nov 2016 15:31:08 +0000]
Remove an incorrect changelog entry

Tomb's ambient noise was made *less* significant, not more; the
Desolation's ambient noise didn't exist before, and the other two
had relatively minor tweaks to ambient noise. (Slime was also
tweaked!) Simplest to remove it from the changelog entirely.

4 years agoCut lass.
Neil Moore [Sun, 6 Nov 2016 14:28:12 +0000]
Cut lass.

Added in 0.19-a0-129-g2caaceb, maybe as a merge error.  Without a tile or
a reasonable price, it probably shouldn't exist.

(cherry picked from commit 9fff63e36bb70bd501d1c35fe426ff1546fd043e)

4 years agoSince Nemelex has become the only source of cards, adjust the god's powers descriptio...
Eino Keskitalo [Sun, 6 Nov 2016 13:40:49 +0000]
Since Nemelex has become the only source of cards, adjust the god's powers description accordingly.

(cherry picked from commit 7876e6c996a93f24930da78d137c8254f4b69b4f)

4 years agoFix 'slightlycontaminated'
Eino Keskitalo [Sun, 6 Nov 2016 13:17:52 +0000]
Fix 'slightlycontaminated'

(cherry picked from commit c069335b0ecdfc28bdfa9af460b105ab16a424e7)

4 years agoDon't animate walls in webtiles as though they were water (#8740)
Neil Moore [Wed, 2 Nov 2016 06:13:39 +0000]
Don't animate walls in webtiles as though they were water (#8740)

This was fixed a couple of years ago (0.15-a0-1730-g078e12a) for local
tiles, but the bug also affected webtiles.  It wasn't noticed because
water animations are off by default there.

(cherry picked from commit 90c15da75b02895b84a7890423dcd5e1706e7f10)

4 years agoUse correct zap info for meph targetter (10754).
Neil Moore [Tue, 1 Nov 2016 18:54:14 +0000]
Use correct zap info for meph targetter (10754).

We were targetting with ZAP_BREATHE_MEPHITIC, which passes through targets,
unlike the spell.

(cherry picked from commit a97c7b5d5d7972a4a6f9ee180f44a042bbc45f0d)

4 years agoRestrict blessings to currently-friendly followers 0.19.0
Nicholas Feinberg [Mon, 31 Oct 2016 22:43:56 +0000]
Restrict blessings to currently-friendly followers

Weird to heal an ally that's currenlty hostile, edge case though
that is.