15 months agoUpdate changelog 0.20.2
Aidan Holm [Sun, 22 Mar 2020 04:16:10 +0000]
Update changelog

16 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)

16 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)

2 years 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)

3 years agoFix some typos in the changelog
gammafunk [Sun, 2 Jul 2017 06:32:24 +0000]
Fix some typos in the changelog

3 years agoUpdate changelogs for 0.20.1 0.20.1
gammafunk [Sat, 1 Jul 2017 23:28:55 +0000]
Update changelogs for 0.20.1

3 years agoConvert a segfault into an ASSERT failure
advil [Fri, 30 Jun 2017 15:44:37 +0000]
Convert a segfault into an ASSERT failure

This is targeting a crash that can happen if a monster-thrown
penetration missile causes the attacker to die (e.g. via inner flame)
before other monsters are hit.  The bug is hard to fix (would need to
save the attacker, or rewrite penetration) but this change is easy

See e.g.

(cherry picked from commit 7bf63f6c59ec0b09b03f62e0b917198a2f13f101)

3 years agoFix ORIENT and DEPTH tags on some float vaults
gammafunk [Tue, 27 Jun 2017 07:00:57 +0000]
Fix ORIENT and DEPTH tags on some float vaults

A few transporter vaults in float.des were missing their float orient,
hence were placing as minivaults. Fix this, and and for these and a
couple other vaults, put the ORIENT line after the DEPTH line to style

For gammafunk_sealed_arena, don't try to place this vault in the Vaults
branch.  Float vaults don't work in this branch due to how the layout
works. This vault would place successfully using `P' in wizard mode when
the vault was (accidentally) a minivault, but minivaults are never
actually placed in this branch. It may be adaptable to a room vault, but
that would require making a separate vault altogether.

(cherry picked from commit 54e4307ab322efb863b1ab53b8f30be45d38d8a1)


3 years agoFix alignment of Items table in crawl_manual.rst
Nikhil Addleman [Fri, 23 Jun 2017 20:52:21 +0000]
Fix alignment of Items table in crawl_manual.rst
(cherry picked from commit 13b96418aaa066493c804fb6c499c16c990394bf)

3 years agoFix behavior of tile_full_screen with some associated refactoring
advil [Sun, 25 Jun 2017 17:08:56 +0000]
Fix behavior of tile_full_screen with some associated refactoring

This value defaulted to something it couldn't be set to in the rc file,
and the behavior on reading this field was also weird (including a
somewhat iffy cast from screen_mode to bool and back that breaks the
default setting on an bad value).  This lets it be explicitly set to a
third value and fixes the documentation.

(cherry picked from commit 268a196dd2b011645c53579cfe60336e34e78215)

3 years agoIgnore negative (relative) window sizes in fullscreen mode
advil [Sun, 25 Jun 2017 09:03:20 +0000]
Ignore negative (relative) window sizes in fullscreen mode

This change still lets you set the resolution exactly, but the default
of -90,-90 (which is really for windowed mode, I believe) was causing
weird behavior.  It also isn't clear when you'd want to set the screen
resolution in this way, since it is hard to get a good value (some, but
apparently not all platforms will just ignore non-standard resolutions

(cherry picked from commit b3e98cc5569973af76d871fdfdbd6a2b93bd11c3)

3 years agoPrint a better message when an attempted blink is not possible
kenranunderscore [Thu, 22 Jun 2017 00:47:15 +0000]
Print a better message when an attempted blink is not possible

(cherry picked from commit 85d6d27d4c04dd879824d0057879b32aae023901)

3 years agoTree form now fully suppresses the blink and teleportitis mutations
kenranunderscore [Thu, 22 Jun 2017 00:32:51 +0000]
Tree form now fully suppresses the blink and teleportitis mutations

(cherry picked from commit 1e75fd560e9dc0fdbbcd2582cdd81ae3ed69bdc2)

3 years agoRemove Mottled Draconians from table of aptitudes (#558)
cut1less [Fri, 23 Jun 2017 21:51:15 +0000]
Remove Mottled Draconians from table of aptitudes (#558)

(cherry picked from commit db847824025579f73089239663d45ccdfaf5a913)

3 years agoRemove manual's reference to Ogres' especially good maces aptitude
Umer Shaikh [Fri, 23 Jun 2017 18:09:59 +0000]
Remove manual's reference to Ogres' especially good maces aptitude

Ogres no longer have a particularly good aptitude with maces and
flails, as mentioned in the manual. This commit replaces that line
with a more up-to-date take on what melee options they find natural.

(cherry picked from commit 0a4ebe0c6d0ac86a69aa7e3b3f03e8da620fd453)

3 years agoRestore base value of 5 max kick damage (minmay)
advil [Thu, 22 Jun 2017 12:46:58 +0000]
Restore base value of 5 max kick damage (minmay)

Accidentally(?) removed in 6d440e639429.

(cherry picked from commit 1f6c8c026d155503b190d6dc2fff847ecccf4836)

3 years agoMake a transporter vault transparent and adjust
gammafunk [Mon, 19 Jun 2017 10:32:45 +0000]
Make a transporter vault transparent and adjust

The vault gammafunk_wand_slinger places a fairly specific types and
numbers of monsters, especially early on. This commit makes it
transparent to reduce spoilers and adjusts the threat to be a little
more forbidable and the reward a little better.

Slightly increase the either monster count or difficulty at some depths,
making early placements have at least one orc priest, and restrict its
max depth to D:13. For non-wand loot we add two gold piles, and add up
to two items as the depth increases, but still only giving a single
star_item in earlier levels, since at that time a wand is more powerful.

(cherry picked from commit 82a99e05bea1874fc1d0b095402e063f1e2daae6)

3 years agoFix up a transporter vault and move it deeper in the dungeon
gammafunk [Sun, 18 Jun 2017 12:46:32 +0000]
Fix up a transporter vault and move it deeper in the dungeon

This vault gammafunk_sealed_library places more monsters on-average
compared to the other transporter vaults, nearly all of which have nasty
spells. Move it to place on D:12- for Dungeon placements. Fix some
errors in the monster definitions and rework the monster loot placement
to better balance the types of monsters.

Also give the vault extra walling to help keep the library quiet, making
it less likely for all monsters to wake up. Finally, replace item
defined by a list of magical equipement with a simple jewellery
good_item, since that will better appeal to players that don't use
spells, and add a couple missing aux armour in the armour item

(cherry picked from commit 5014f931b3c8c65173143d085515c3365315c9ca)

3 years agoRemove a runed door from a vault
gammafunk [Sun, 18 Jun 2017 06:21:40 +0000]
Remove a runed door from a vault

Tentacled monstrosities are normal level spawns, and this vault is not
overly dangerous, since the monstrosity is reavealed before the player
can reach it. Also renaming the vault to not indicate that the monster
is behind a runed door.

(cherry picked from commit 0c55a54dd446a0031c66e1e1395f520af5b29e80)

3 years agoSome tweaks to a transporter vault.
gammafunk [Sat, 17 Jun 2017 05:49:00 +0000]
Some tweaks to a transporter vault.

In the gammafunk_sealed_arena vault, 8 and 9 roll nothing fairly often
in Dungeon , resulting in a lot of missing enemies in that branch, so
add two more 9s. Only thin out the 9s in earlier Dungeon, since this
vault is not especially dangerous later on and doesn't have a high
monster count.  Also replace one gold pile with a good_item jewellery
and replace another with good_item aux armour in later depths/branches,
since the average result of two star_item + 3 superb_item can be quite
bad motivation. This rolls mundane jewellery/equip pretty frequently and
based on player identification knowledge, so early on it will often be
just a jewellery drop, and later on it will have a decent chance of
making artefact jewellery.

(cherry picked from commit 2fc178d24cd5239bc749c5bd683bee4b33251590)

3 years agoTweak wall borders in some transporter vaults
gammafunk [Sat, 17 Jun 2017 03:53:30 +0000]
Tweak wall borders in some transporter vaults

The vaults changed in this commit prefer to have the monsters inside not
wake until they come into view of the player from inside the vault, but
had only single tile walls previously, so monsters frequently would wake
before the player entered. The vault gammafunk_its_a_trap in particular
works best when monsters don't wake, but some very loud things like
alarm traps have woken monsters up in this vault. These vaults also all
are fully surrounded by floor perimeter that isn't necessary except
before any transparent stone, where something is intentionally exposed
to the player outside the vault.

This commit replaces the floor perimeter with another layer of stone,
helping to further insulate the monsters from noise. This also will tend
to explose less of the vault to noise, since the vault can now place
adjacent to any rock on the level. Industrious players can still make
enough noise to wake the monsters in most of these vaults if they wish
to (e.g.  scrolls of noise and some of the loudest spells).

(cherry picked from commit 62f518fac0c0f4482ca85357202bdf90d0e278b4)

3 years agoWarn on placing encompass vaults in the wrong place with &P (kenran)
advil [Mon, 19 Jun 2017 14:38:58 +0000]
Warn on placing encompass vaults in the wrong place with &P (kenran)

This usually fails / crashes if the vault isn't designed for the place.
Then since `wizard_recreate_level` saves (several times!) during its
process, this typically leads to a corrupted save.  For example, placing
a bazaar or other portal vault in the dungeon, and in some cases mixing
portal vault types. Even placing depths encompass vaults in D isn't safe
in general in my testing.  &L is generally ok, because it has far fewer

In a few cases this warning is a little over-enthusiastic, e.g. it warns
on placing lemuel_river_lethe on depths 1 even though that is
technically ok. But anyone using wizmode should be able to handle that.

(cherry picked from commit bbb65ab2d72387d470c1269714bdc354b078a32c)

3 years agoPrevent crashes when a spiny monster kills itself under Usk pain bond
advil [Sun, 18 Jun 2017 15:36:22 +0000]
Prevent crashes when a spiny monster kills itself under Usk pain bond

Fix suggested by |amethyst.

(cherry picked from commit 5e5ddd215409b666ceeb85d032d494f2932a6049)

3 years agoAdd a bounds check
advil [Sat, 17 Jun 2017 18:24:01 +0000]
Add a bounds check


(cherry picked from commit 32e1473728e8ef2d9a8c58ed1af75db6c77d5577)

3 years agoFix behavior of translevel autotravel when called on walls (10802)
Kyle Rawlins [Sat, 17 Jun 2017 17:01:42 +0000]
Fix behavior of translevel autotravel when called on walls (10802)

Previously this would do really weird things when called on walls or
other non-traversable positions, depending on various factors like
whether you were standing on stairs; typically it would try to send you
off-level (see Yermak's bug report for the exact conditions).  This is
triggered when traveling from the `X` display, which always calls
translevel travel (even if you're looking at the curent level).  The
problem was that some of the translevel pathfinding code doesn't
differentiate between inaccessible without translevel travel vs plain
inaccessible.  I left this code as is & added a note about this
assumption, and added a check earlier, so X. into a non-traversable
feature on the current level fails immediately.

If you try to autotravel to a solid (or non-traversable) feature on a
different level, this will still send you to that level, but stop when
you get there.  I'm not sure if this is the ideal behavior.

(cherry picked from commit 37f92568e5f95bbe160e2f6110db568a0a6ad41b)

3 years agoAdd missing branches to Vim DES syntax file and clean up formatting
gammafunk [Fri, 16 Jun 2017 10:37:29 +0000]
Add missing branches to Vim DES syntax file and clean up formatting

Mostly try to wrap lists of keywords at the 80 line length.

(cherry picked from commit 1c0f2e30f7b523059e52ab499f04359bacddfbcd)

3 years agoSupport lua markers in the DES Vim syntax file
gammafunk [Fri, 16 Jun 2017 08:58:57 +0000]
Support lua markers in the DES Vim syntax file

Parse the lua after the marker definition as lua, allowing multiple
lines using backslashes at the end of line.

(cherry picked from commit e63d07cab723d99ca36f3602abb3964258963902)

3 years agoDo not hard-code colors in levdes.vim.
EMTedronai [Sat, 27 May 2017 19:17:24 +0000]
Do not hard-code colors in levdes.vim.

The hard-coded color definitions in the .des syntax file did not play well
together with a lot of vim colorschemes. This commit removes the
hard-coded colors and links instead to predefined syntax elements which
should be recognized by every Vim colorscheme.

Of course this means that it is no longer guaranteed that water is
displayed in a blueish color in every colorscheme. But I think being
readable in every colorscheme is much more important. If someone is not
happy with how the map is displayed in their favorite colorscheme, they
still can use an autocmd to change the colorscheme just for the des

The only thing I am not completely happy with is stone (c) and metal (v)
walls using the same color definitions. I would link metal walls to
something else, but if you use Vim in 8 color mode the fallbacks will
usually result in 'v' having either the same color as 'w' or 'W'. And I
definitely want to avoid that since it can get quite hard to distinguish
in that case. I think 'c' and 'v' are distinct enough to share the same
color (and usually they are not used right next to each other).

This commit should also resolve the issue of the syntax coloring breaking
when changing the colorscheme with an open des file. The issue here was
that vim syntax files are not reevaluated when changing colorschemes. This
resulted in the hard-coded definitions of the syntax file being overridden
by the colorscheme change and not being reapplied afterwards.

Committer's Note: Closes #543.

(cherry picked from commit 11b22976119003edd11af945d6f642946e1d9835)

3 years agoUngroup same-name mons in webtiles list (11110)
Nicholas Feinberg [Thu, 15 Jun 2017 23:21:33 +0000]
Ungroup same-name mons in webtiles list (11110)

Probably two orcs named 'Boldo' should get separate entries.

Note that mon-info::less_than will also have to change if we want
the same behavior for the local tiles monster list, but I'm not
sure if it's actually a problem there?

(cherry picked from commit 7b0e1919fa8630ebc5b5cb4c71ead75fafbc5805)

3 years agoFix viable species/background option
cut1less [Sat, 10 Jun 2017 00:31:22 +0000]
Fix viable species/background option
(cherry picked from commit 625dad4402b27f34ba25d6c9ce785eba803060cb)

3 years agoPrevent random xom crashes on felid revival
Kyle Rawlins [Thu, 15 Jun 2017 17:14:40 +0000]
Prevent random xom crashes on felid revival

If xom_tick got to the point of calling `xom_choose_action`, this would
crash on an old assert. This commit lets xom act immediately after
revival, which may or may not be desirable (before it was impossible,
because the game would crash instead).

I've also prevented xom from taking credit for a felid revival (I'm not
sure when this triggered before, but it would always trigger in the case
that previously crashed. This change is just cosmetic.

(cherry picked from commit dbfcba73ebbeb46c4d2e77d26494032e2e15a8d7)

3 years agoFix a teleport closet in dpeg_arrival_solitude (Slave-to-Armok)
Alan Malloy [Thu, 15 Jun 2017 06:10:59 +0000]
Fix a teleport closet in dpeg_arrival_solitude (Slave-to-Armok)

(cherry picked from commit 828620c7301e1e00c041161cb3d8c6db8e95b6fc)

3 years agoMake Hep mutation wording more Hep-specific
advil [Wed, 14 Jun 2017 02:49:46 +0000]
Make Hep mutation wording more Hep-specific

Based on the second report I've seen about someone new to Hep being
confused about this vs regular frail. (The first was me, I even tried to
cure it a few times before realizing.)

(cherry picked from commit b612c2353f111f7051ca8fb2838a46160e13e034)

3 years agoMake Fedhas Sunlight targeter accurate
Corin Buchanan-Howland [Tue, 13 Jun 2017 01:15:17 +0000]
Make Fedhas Sunlight targeter accurate

Now it shows the radius correctly.

(cherry picked from commit bf4951533123dc54c6348ff2bf3c9dfbcfc56d33)

3 years agoAdd a `-` to the new cooldown status lights
advil [Sat, 10 Jun 2017 17:09:43 +0000]
Add a `-` to the new cooldown status lights

Though the wording in % is clear, the "you can't do this" nature of
these status displays was only indicated by color (yellow), which was
somewhat confusing (e.g. yellow "Recite" = can't recite white "Recite" =
reciting) and also not very accessible.  This now displays yellow
"-Recite", "-Tornado", etc., which might have other misconstruals but I
think are overall clearer.

(cherry picked from commit 941c86297e927dc306f88c32a78238cc41bc46cd)

3 years agoConvert launch_retval to an enum class
Alan Malloy [Fri, 9 Jun 2017 00:53:02 +0000]
Convert launch_retval to an enum class

This way we can't accidentally coerce it to a bool.

Since we *were* coercing it to a bool in several places, I also fixed the
compile errors at those locations. Only one looked like a definite bug
(hints-mode prompts about how to use ammo); someone should also look at
_mons_has_usable_ranged_weapon, which treated throwable missiles as
ranged weapons: it wasn't clear whether that's intended or not, so I left
it alone (saying yes, they should count as ranged weapons).

This commit was inspired by 2d4c0a5, which did indeed have a bug of
exactly this sort.

(cherry picked from commit 7bf2ba42c2f58a6f696049a9de6de22564c0c34d)

4 years agoDon't let equipped-weapon accuracy affect throwing accuracy (minmay)
Alan Malloy [Fri, 9 Jun 2017 00:15:59 +0000]
Don't let equipped-weapon accuracy affect throwing accuracy (minmay)

4 years agoExtremely basic lua bindings for fsim
advil [Tue, 6 Jun 2017 17:28:39 +0000]
Extremely basic lua bindings for fsim

This also adds a proof-of-concept test that calls fsim 10 times with a
lot of iterations and prints the AvEffDam.

(cherry picked from commit df2c16248b20957035de38a9ec08445b11a940cc)

4 years agoFix NOWIZARD builds
advil [Tue, 6 Jun 2017 17:26:47 +0000]
Fix NOWIZARD builds

It seems that this isn't widely used.

(cherry picked from commit c929894b0a488efbb8862f0a94158a60b682c3da)

4 years agoFix up restoration/sustab innate muts on load
advil [Tue, 6 Jun 2017 16:11:53 +0000]
Fix up restoration/sustab innate muts on load

The removal of these mutations didn't zero out their innate mutation
levels properly, and so saves that underwent the previous upgrade could
crash on a mutation validation assert.

(cherry picked from commit b82119a2b70b62f1dec5b356b1a63f1a4c051470)

4 years agoFix the Android build
gammafunk [Wed, 7 Jun 2017 11:19:02 +0000]
Fix the Android build

by adding to the build file.

(cherry picked from commit 7c8f5373d83dbaaaaf1d4c892f8beaf05771251e)

4 years agoRemove an entry vault that can get a player stuck behind grates
gammafunk [Sat, 3 Jun 2017 02:33:02 +0000]
Remove an entry vault that can get a player stuck behind grates

Random blink or Hop can land a player behind the grates. Using
transparent rock would fix this, but I've spoken with Doesnt, who
prefers removing the vault over making the vault's low security prison
theme worse.

(cherry picked from commit 5e91feffef409a2bdb70d9c0a285f2c43771230c)

4 years agoRemove the 0.19 survey message
gammafunk [Fri, 2 Jun 2017 08:34:39 +0000]
Remove the 0.19 survey message

The survey is now closed and 0.20 has been released.

This reverts commit 99dbe1240bc0091a40e4a3c9e011386fb95b6b0c.

(cherry picked from commit e4214e12554a29d09db62f9ba47ceffa8638cf3c)

4 years agoUpdate options doc to reflect default change in tile_web_mouse_control
advil [Mon, 29 May 2017 18:12:12 +0000]
Update options doc to reflect default change in tile_web_mouse_control

[skip ci]

4 years agoDown-weight two transporter overflow vaults
gammafunk [Sun, 28 May 2017 04:34:36 +0000]
Down-weight two transporter overflow vaults

Make gammafunk_overflow_arena weight 1 and reduce the number of altars
it can place to 3. It was still a common vault even with weight 5, more
so for higher numbers of altars which have fewer vaults. This is a
challenging overflow vault that I'd like to be relatively rare. Future
fixes to mapstat might let me get a better idea of just how common it
and other overflows are, but until then err on the side of caution.
Also fix some glyph issues with this vault and down-weight
gammafunk_temple_of_torment for the same reason as for overflow_arena.

(cherry picked from commit 95c5c02e20325262202d8c7243e31b6e06b365f6)

4 years agoAllow transpoters to show up stash searches (qw)
gammafunk [Sun, 28 May 2017 03:40:40 +0000]
Allow transpoters to show up stash searches (qw)

This allows another easy way for the player to travel to transporters in
addition to `X >'. It might be ideal to have autoexplore move the player
next to this location as is done for runed doors, but that's a more
complicated change that can be done later.

(cherry picked from commit 7dc85f4a8c49e1cf05db2381b7f8c1ad7abafd42)

4 years agoHandle mutation names with uppercase properly (elliptic)
advil [Sun, 28 May 2017 01:18:02 +0000]
Handle mutation names with uppercase properly (elliptic)

Makes mutation_from_name fully case-insensitive.

(cherry picked from commit b2ef3f03bf125d64450ebee2c980bb3a977fc9d8)

4 years agoDon't display local tiles tooltip on out of view cell
Kyle Rawlins [Fri, 26 May 2017 19:45:02 +0000]
Don't display local tiles tooltip on out of view cell

This was causing random-seeming crashes on resize (and switching between
fullscreen and windowed). In principle this probably means that
something is weird about the mouse position vs the grid at the point of
this call, but I couldn't figure that out.

(cherry picked from commit a058ae749a5284471e7911be9b99eafb9b5a80ec)

4 years agoProperly reset m_overlay on resize (LHJW)
Kyle Rawlins [Fri, 26 May 2017 14:16:42 +0000]
Properly reset m_overlay on resize (LHJW)

This was only getting set when the window got too small, never reset
when it increased in size, so the overlay color / opacity were
permanent for the session (position isn't contingent on this value).

(cherry picked from commit ddac83bfc5185de77f4df173d23e5032eda8841b)

4 years agoDon't choose non-starting species in random species selection (#11076)
gammafunk [Fri, 26 May 2017 11:28:43 +0000]
Don't choose non-starting species in random species selection (#11076)

Before this commmit, the '*' key to choose a random species could choose
e.g. Gnolls in stable. It wouldn't allow actually starting a game with
that species, but it shouldn't be selecting non-starting species in the
first place.

(cherry picked from commit 494ec52ba23054a423c3c7f7a07518552f4a9207)

4 years agoFix and balance a float vault
gammafunk [Fri, 26 May 2017 00:03:02 +0000]
Fix and balance a float vault

There were some errors in gammafunk_corrupted_shrine including using
SUBST instead of NSUBST and undefined monster lists. Fix these, and also
adjust the vault to not place monsters so close to the center, so that
the player can have more freedom of movement, and adjust monster
generation levels based on the new lists and to not place so many unseen
horrors in Dungeon.

(cherry picked from commit 43b307424c37ae30c5a6e33a462a2ed573f8839e)

4 years agoUpdate the Debian changelog for 0.20 0.20.0
gammafunk [Thu, 25 May 2017 06:30:26 +0000]
Update the Debian changelog for 0.20

4 years agoFinal 0.20 changelog
gammafunk [Thu, 25 May 2017 06:27:36 +0000]
Final 0.20 changelog

4 years agoAdd a changelog entry for best_effort_brighten_foreground
Kyle Rawlins [Thu, 25 May 2017 02:28:05 +0000]
Add a changelog entry for best_effort_brighten_foreground

With pointers to what options to change.

(cherry picked from commit 7b23a2ff032c7d1dec4d968f650962005cb2f1ab)

4 years agoTweak the changelog description of Ignition
gammafunk [Thu, 25 May 2017 01:55:06 +0000]
Tweak the changelog description of Ignition

(cherry picked from commit 8cdcbb248a512809b3632449e24bd35b10694f29)

4 years agoChange default terminal settings for mac build
Kyle Rawlins [Wed, 24 May 2017 15:10:00 +0000]
Change default terminal settings for mac build

This should use dark gray properly for mac builds by default in my
testing.  Doesn't address online console players but hopefully works for
the release. (Using the new profile will improve the
colors, but still work with this default.)

(cherry picked from commit a372141e0a3f164219b80e760e60163a487c77c5)

4 years agoRegenerate build.h when git version changes.
Pekka Lampila [Wed, 24 May 2017 13:48:20 +0000]
Regenerate build.h when git version changes.

Fixes an issue with version info not being updated when switching
between different branches where the only differences are tags and
non-code changes.
(cherry picked from commit aa92ef90e34e9fa6593edf419339002024f71ddd)

4 years agoFix make install (heftig)
gammafunk [Wed, 24 May 2017 10:49:38 +0000]
Fix make install (heftig)

Adding settings/mac directory caused the non-recursive copy of settings
to fail during the install target, so make this a recursive copy.

(cherry picked from commit ab6d75698d7700d67ce9fd0b3fea93fcbaec5acc)

4 years agoA Zot trap themed transporter vault
gammafunk [Wed, 24 May 2017 10:22:42 +0000]
A Zot trap themed transporter vault

Shows the player loot and that they'll have to deal with Zot traps if
they want to transport in and get it. A line of monsters will move
toward the player once far enough in, and these will reach a guantlet of
Zot traps very quickly, but there are relatively safe los-blocking
corridors for the player nearby. Even inside the corridors, the player
has to take care to not let monsters step on an adjacent trap.

All traps are pre-identified and there are always walking paths through
the vault that won't trigger a single trap.  Only places on levels that
might normally generate Zot traps.

(cherry picked from commit a0515975dc3ade5124e283de0509b2c5c11e1b6d)

4 years agoFix a vault typo
Chris Campbell [Wed, 24 May 2017 10:03:30 +0000]
Fix a vault typo

(cherry picked from commit d15e932a636db9ffe8e7bd57b13ab695e1346ec9)

4 years agoAdd an official OS X terminal profile for dcss
Kyle Rawlins [Tue, 23 May 2017 17:19:52 +0000]
Add an official OS X terminal profile for dcss

This profile adjusts the colors to be more usable (brighter blue, etc),
and the app settings so that things will look ok (no blue map symbols)
with either bold_brightens_foreground, allow_extended_colours, or both
set to true.  If best_effort_brighten_foreground is set, this still gets
odd looking blue for dark grey.

I'm not quite sure if there's a good way to install this profile
automatically, but this commit at least gives us something we can point
console players to.

4 years agoDon't let Kiku wrath inflict infinite miscasts (#533)
Doesnty [Tue, 23 May 2017 16:21:45 +0000]
Don't let Kiku wrath inflict infinite miscasts (#533)

Allows either 1 or 2 miscasts, with the average number the same as before.
(cherry picked from commit 5d43826d7f506404c33d6196668b4a8d1f3a10b4)

4 years agoFix "Wear which item" typo
hawthornbunny [Thu, 18 May 2017 20:08:01 +0000]
Fix "Wear which item" typo

(cherry picked from commit 82ea730c97edf3bc37c6917bb5c302cddf2ca279)

4 years agoMake cooldowns for DDoor and Berserk accessible through status()
Furbeh [Sun, 14 May 2017 23:46:05 +0000]
Make cooldowns for DDoor and Berserk accessible through status()
(cherry picked from commit 539691771175043f1d08edcb19796003eaf9506e)

4 years agoBalance and overflow altar vault
gammafunk [Tue, 23 May 2017 10:28:04 +0000]
Balance and overflow altar vault

The vault gammafunk_overflow_arena is a vault rewarding high quality
loot and can appear quite frequently since it supports between one and
five altars. Half its weight and lessen the loot quality somewhat.

(cherry picked from commit 606531cec949316b49a3f161cc9390a23bde93a3)

4 years agoFix an overflow vault crash (Sage1234)
gammafunk [Tue, 23 May 2017 09:54:01 +0000]
Fix an overflow vault crash (Sage1234)

The vault gammafunk_temple_of_torment tried to veto when placed in
certain depths if Menkaure had already generated, but overflow altar
vault placement code can't deal with vetos and the level generation will
crash when this veto occurs.

This commit makes suitable monster replacements for Menkaure in the
vault when he's already generated and removes the veto.

(cherry picked from commit cd0b4565c008f409dc9aa998847e5f6dab11ef8d)

4 years agoTweak advpng compression levels in a png compression script
gammafunk [Tue, 23 May 2017 03:05:31 +0000]
Tweak advpng compression levels in a png compression script

to be consistent with our Makefile, which was changed in 8e3c6a0.

(cherry picked from commit 3fd62ac8a2729ca35b28b4ec17798d6fdd16fd76)

4 years agoReduce advpng compression webtiles sprite sheets
Alex Jurkiewicz [Fri, 19 May 2017 01:11:24 +0000]
Reduce advpng compression webtiles sprite sheets

Here's a quick chart of compression level vs size vs time, using
player.png webtiles sprite sheet (three runs per compression level,
picking the best run for time):

Compression Level   Size (kb)   Time (s)
                1         966        1.7
                2         893        3
                3         890       21.7
                4         885       61

While there's an argument to be made we should use the best possible
compression level since all players benefit, going from level 2 to 4
results in 20x slower compression for 1% smaller file, which seems
particularly not worth it.

(cherry picked from commit 8e3c6a038288447d0c95250a41ef441cb51f3890)

4 years agoSome tweaks to Cocytus end vaults
gammafunk [Mon, 22 May 2017 22:58:58 +0000]
Some tweaks to Cocytus end vaults

In coc_mu, the rock border seemed to function as a way to allow
characters with dig access to the rest of the level and to the rune
itself. With the recent changes to not require flight in these Cocytus
end vaults, the border is no longer necessary, so replace it with stone.

In coc_old, rework the shallow water path to be at the back of the
vault, forcing non-flight users to walk further around, and replace dry
land before the doors with shallow water.

In coc_dpeg, make there be two shallow water paths to small connecting
islands on either side of the starting area, each leading to one pair of
islands. Remove the shallow water connections between main islands not
in the same pair, so that a player without flight will have to choose a
pair to explore, backtracking through the starting vault if they want to
visit the other pair (either because they didn't find the rune or
because they want the loot).

(cherry picked from commit b8b669ed627ed6ddcb9faf55d6a5490508bd91d8)

4 years agoRemove flight requirements from Hell rune floors
Floodkiller [Sun, 14 May 2017 02:22:58 +0000]
Remove flight requirements from Hell rune floors

Adds solid ground/shallow water pathways in Hell rune floors (mainly
Cocytus) in order to avoid requiring the player to obtain a source of
flight/translocations to access the rune. Only rune access is kept in
mind; the level may be much longer to travel through without flight, and
non-rune items may still remain out of reach.

Specific breakdown of changed vaults:

coc_dpeg- Added a shallow water pathway from the middle to the closest
outside island, and added a circular shallow water pathway linking all the
outside islands.

coc_old- Added a short shallow water pathway across the moat to each
entrance to the middle.

coc_mu- Created a shallow water path that takes the player to all
landmasses on the longer route (flight still required for shorter route).
Added a curved shallow water path at the end to Antaeus's island.

coc_grunt- Added short shallow water paths in between each island, sink
the islands to create more shallow water, shorten the lower wall
dividers on each side

coc_grunt_cove- Added short shallow water paths connecting the outside
islands, with the last island on each side connecting to the center land

geh_mu- Added a solid land bridge to access the fortress, and replaced the
lava tile in front of the rune with a door.

(cherry picked from commit d008f6786510ed9f38a6442cfb08706b3299e185)

4 years agoComment fix.
Andrew Minton [Sat, 20 May 2017 00:09:16 +0000]
Comment fix.

(cherry picked from commit cf94df67d8e3b78d22952461350cdc23a8321ab6)

4 years agoRemove translucent transformations from the_grid_setup
Andrew Minton [Sat, 20 May 2017 00:06:18 +0000]
Remove translucent transformations from the_grid_setup

Making large vaults out of translucent materials doesn't produce good gameplay,
especially with how monster pathfinding works.

(cherry picked from commit ee15c392cb12560cb31d8e89123859e2fbf7923c)

4 years agoAnother major the_grid revision
Andrew Minton [Fri, 19 May 2017 23:53:45 +0000]
Another major the_grid revision

Consensus was that the vaults placed too many monsters and too many OOD
monsters. So the number of monsters has decreased, most 8s have been replaced
with 9s, and most 9s have been replaced with 0s. There are still a few 8s, but
they are very rare now.
Items in the non-prize subvaults have been reduced as well, so the vaults give
much less reward (both experience and items).
Also add the float tag to all but the smallest main vaults, to reduce the number
of vetos, and fix missing subvaults in the recursive triangle main vaults.

(cherry picked from commit 3c61f937d49f03476f15e7f98857ed185be9611d)

4 years agoAdd no_monster_gen to minmay_the_grid_ultimate
Andrew Minton [Fri, 19 May 2017 22:41:38 +0000]
Add no_monster_gen to minmay_the_grid_ultimate

(cherry picked from commit 9b971b6ef20ca3dd7c9cac88bab5e1afdf24490b)

4 years agoRemove minmay_the_grid_triangle_9x9_line_8
Andrew Minton [Fri, 19 May 2017 22:36:34 +0000]
Remove minmay_the_grid_triangle_9x9_line_8

The vault's size and shape is too awkward to place without vetoing most of the

(cherry picked from commit 305a42f3007e561b4f1910a2e9b888df11191751)

4 years agoFix translucent stone and green crystal in minmay_the_grid_9x9_recursive_3.
Andrew Minton [Fri, 19 May 2017 22:36:08 +0000]
Fix translucent stone and green crystal in minmay_the_grid_9x9_recursive_3.

(cherry picked from commit 279f716fa23df40aa6f874ad9b0dd573823469de)

4 years agoFix a typo in an equip message (koboldina)
gammafunk [Sat, 20 May 2017 05:05:18 +0000]
Fix a typo in an equip message (koboldina)

(cherry picked from commit e494091ab23eec1933fe91626e4d1bca20cd998e)

4 years agoMove a float vault to its own DES file (Shimatora)
gammafunk [Fri, 19 May 2017 22:42:48 +0000]
Move a float vault to its own DES file (Shimatora)

The vault gammafunk_the_bubble was failing to place since its subvaults
don't have DEPTH tag and were inheriting the default-depth from

Rather than duplicate the parent vault's DEPTH tag in each subvault,
move the vault to the_bubble.des. This will allow easier expansion of
the vault in the future, as well.

(cherry picked from commit af3b9a5c4d0654fbd089024a7a8e1f3ba5893450)

4 years agoTwo wand-themed transporter vaults 0.20-b1
gammafunk [Wed, 17 May 2017 10:01:29 +0000]
Two wand-themed transporter vaults

A vault with a type-identified wand of flame that asks the player to
prepare steamed eel, and a more general wand vault that has the player
duel with some baddies that have ranged magic of their own.

4 years agoTwo overflow transporter vaults
gammafunk [Wed, 17 May 2017 09:58:27 +0000]
Two overflow transporter vaults

A generic overflow for 1-5 altars with an arena-style fight and some
loot, as well as an overflow for Kiku+Yred featuring some friends
invited over for torment.

4 years agoSome transporter altar vaults for non-temple gods
gammafunk [Wed, 17 May 2017 10:05:46 +0000]
Some transporter altar vaults for non-temple gods

Loot/ambush type vaults for Jiyva, Lucy, and Beogh.

4 years agoTwo transporter float vaults
gammafunk [Wed, 10 May 2017 04:38:18 +0000]
Two transporter float vaults

A sealed library with book and magic-themed loot and a whole classroom
of magic users who don't like you interrupting their studies. Also a
transparent arena where you have to decide whether you can duke it out
with the potential statue + out-of-depth spawns.

4 years agoMake a minivault a float vault instead
gammafunk [Fri, 12 May 2017 08:25:49 +0000]
Make a minivault a float vault instead

This is a fairly substantial vault that doesn't fit the usual minivault
profile, so it's better placed as a primary vault. Don't try to place
this vault in Vaults, since Vaults layout can't handle it.

Also replace one of the superb items with an artifact jewellery, to
always make at least one of the generated items universally tempting.

4 years agoRemove whitespace from a vault
gammafunk [Sun, 7 May 2017 09:32:58 +0000]
Remove whitespace from a vault

4 years agoFix Makhleb's major destruction (11063)
Kyle Rawlins [Wed, 17 May 2017 14:50:21 +0000]
Fix Makhleb's major destruction (11063)

Broken in 4a616ed; I just copied the fix from 00179d9f2c0d into the
right place for Makhleb. (Also changed minor destruction just in case
it ever becomes relevant.)

4 years agoDon't let apocalypse crab breath attacks ignore player clarity
Doesnt [Tue, 16 May 2017 17:42:35 +0000]
Don't let apocalypse crab breath attacks ignore player clarity

4 years agoChangelog through 0.20-a0-1124-g2e29d97
gammafunk [Tue, 16 May 2017 10:50:03 +0000]
Changelog through 0.20-a0-1124-g2e29d97

Also a first pass at 0.20 release highlights.

4 years agoImprove abyss_greek_temple wrt WJC.
Neil Moore [Sat, 13 May 2017 12:30:09 +0000]
Improve abyss_greek_temple wrt WJC.

When WJC is not present, disable their altar; when they are, randomize
it along with the other altars rather than always placing it in the
middle.  Also, give the altar the correct floor tile.

4 years agoAdd a max for pain bond damage calculation
advil [Sun, 14 May 2017 23:45:02 +0000]
Add a max for pain bond damage calculation

Pain bond damage on the original target is calculated after the
recursive call based on hp difference, but in obscure conditions the
original target can actually be healed (if a druid dies in the
recursion).  Don't allow negative damage in the hurt calculations.

4 years agoDisable gnolls in the stable release
gammafunk [Wed, 10 May 2017 02:13:55 +0000]
Disable gnolls in the stable release

After some discussion it was felt that there needs to be more work on
this species, specifically the way it tries to achieve its aim of
pushing the player to learn many skills. Several crawl skills yield high
reward for low XP investment, which is a general problem with crawl's
skill system, but the Gnoll aptitude system especially pushes the player
toward these skills. Crawl already does push players to train a variety
of of the most impactful skills, so if Gnolls are to be the species that
pushes players to hybridize in a meaningfully different way, it would be
better if it didn't try to prevent specialization using aptitude
decreases or skill level cutoffs. A secondary problem is that gnolls
require more careful checking of skill levels since each skill aptitude
independently changes based on the skill's training.

One alternative being considered is to lock Gnolls into very low stat
levels, but to still give them high aptitudes.  This or any other rework
will likely not be ready in time for play-testing before feature freeze,
so this commit disables Gnolls in stable. When re-enabling Gnolls for
stable, simply revert this commit.

4 years agoDisable Wu Jian in stable
gammafunk [Tue, 9 May 2017 23:09:23 +0000]
Disable Wu Jian in stable

Making this god trunk-only for the upcoming 0.20 release. There's a
general consensus that the god needs more work, and the major idea being
explored (merging some powers into Uskayaw) will not be ready in time
for the feature freeze. It's also possible that the god will remain as a
separate god but with substantial changes to god powers. Trunk players
can still play-test Wu Jian, but altars to the god will be unavailable
in stable.

If re-enabling Wu in stable, simply revert this commit. Note that the
two commits preceeding this (d9b63d7e and e512d5f5) should not be
reverted as they make actions like this easier in the future.

4 years agoRefactor a disabled god check function
gammafunk [Tue, 9 May 2017 23:01:48 +0000]
Refactor a disabled god check function

This is relevant for disabling Wu Jian in stable, but putting this in a
seperate commit so it doesn't get reverted if we re-enable that god in
stable when it's finished.

Make this a switch to allow easier editing/expansion of this function in
the future, and use this function for the is_unavailable_god() function.

4 years agoMake more room in an abyss altar vault
gammafunk [Tue, 9 May 2017 23:00:39 +0000]
Make more room in an abyss altar vault

We keep adding new gods! Expand it and add Wu Jian.

4 years agoDon't let shock serpent self-retaliate when confused (nikheizen)
advil [Tue, 9 May 2017 13:29:50 +0000]
Don't let shock serpent self-retaliate when confused (nikheizen)

This was recursing from the retaliation, and consequently a shock
serpent that bit itself would usually kill itself in a single bite, or
come close.

4 years agoMiscellaneous mon-pick improvements.
Neil Moore [Mon, 8 May 2017 21:40:27 +0000]
Miscellaneous mon-pick improvements.

Relocate some compile-time asserts next to the arrays they concern;
name a repeated anonymous type; make a run-time assert into an
ASSERT_RANGE; clarify a boolean return value; and replace an if-else
with a conditional.

4 years agoAdd a comment documenting an assert
advil [Sat, 6 May 2017 14:31:34 +0000]
Add a comment documenting an assert

4 years agoRevert "Revert "Remove a vile lie about Whirlwind slowing.""
Chris Campbell [Sat, 6 May 2017 11:23:59 +0000]
Revert "Revert "Remove a vile lie about Whirlwind slowing.""

It really was removed (in e3bac265ad), and hasn't been added back.

This reverts commit 33edf325c0d3db5f1b393bbeebe862a5f7e52d05.

4 years agoRevert "Remove a vile lie about Whirlwind slowing."
Corin Buchanan-Howland [Sat, 6 May 2017 01:05:16 +0000]
Revert "Remove a vile lie about Whirlwind slowing."

This reverts commit 4e342e6793a809d37be09a5ab871e7988260ae23.

Man, I'm on a roll here.

4 years agoRevert "Make altars cycle colors instead of randomly shifting (minmay)"
Corin Buchanan-Howland [Fri, 5 May 2017 22:11:39 +0000]
Revert "Make altars cycle colors instead of randomly shifting (minmay)"

This reverts commit 3634aa33d67a8a98d8faa93d6abfbcb00296fb24.

Gonna reconsider this a bit.

4 years agoMake altars cycle colors instead of randomly shifting (minmay)
Corin Buchanan-Howland [Fri, 5 May 2017 22:01:14 +0000]
Make altars cycle colors instead of randomly shifting (minmay)

This hopefully lays groundwork for better differentiation of altar colors
in console. It also coincidentally stops altar colors from shifting on non-
turn-taking screen redraws.

Thanks to |amethyst for the template assistance.