advil [Sun, 7 Feb 2021 03:18:20 +0000]
Use `catpath` instead of string + for some path combination
This should fix 12489, where the use of string concatenation was leading
to part of the path without an unterminated directory turning into part
of the filename.
(cherry picked from commit
dfb9265905083d519ffbaaf5fe2b346bfcb2721a)
advil [Sun, 7 Feb 2021 22:28:41 +0000]
Fix a bitwise operator used for fire order (12481)
This is supposed to keep classes from being added to the vector multiple
times, but with & it obviously wouldn't do this correctly, leading to
somewhat unpredictable results for custom fire orders. (This whole use
of bitmasks for the fire order is one of the last vestiges of oldquivers
and could use a complete refactor.)
(cherry picked from commit
37e0bc138e91fa1b77dd9274448fd547f0139580)
Edgar A. Bering IV [Wed, 3 Feb 2021 18:58:56 +0000]
Update the changelog for 0.26.1
Edgar A. Bering IV [Wed, 3 Feb 2021 19:14:15 +0000]
Defang bunyips (hatsuma)
Closes #1705; fixing history with binary files made git rebase angry.
(cherry picked from commit
c50aac273e734c876acf0fa01035fd175a94c35f)
advil [Wed, 3 Feb 2021 17:42:19 +0000]
Don't let tabbing throw nets with autofight_throw/nomove
I'm not sure it's the best path to go down to keep adding small
hard-coded exceptions like this, but this change brings nets in line
with other quiver actions affected by
006ef2cfcc4; they won't be
triggered by autofight commands that may fire the quiver. The biggest
case where this matters is on a Gl start with one of the relevant
options set. In a very small poll of players it seems like most people
have been using autoinscriptions for this and don't want these commands
to ever auto-shoot nets anyways. As with that previous commit,
CMD_AUTOFIRE itself will still work.
It's less clear what to do with other ammo starts where players may not
want to tab-fire, e.g. poison darts, dispersal boomerangs.
Autoinscribing `!Q` or `!f` is currently an option but that's very
fiddly and more for advanced rc file users.
(cherry picked from commit
0525f28e48ca99d96238553a1e10d9cd2799606b)
gammafunk [Wed, 3 Feb 2021 18:23:11 +0000]
Rework monster placement in a minivault
The vault called simply "pond" places over D:10- and all of Lair, but
has pretty unambitious monster placement. Except for the fact that its
insubstantial wisps got replaced with will-o-the-wisps! Aside from this
unfortunate wisp storm, the monster list didn't scale well with
placement. This commit reworks the placement, conditioning it on depth
and refining the two Lair and Swamp themes it has.
Lair and Swamp monster sets are used for D:10-12 and Lair, but only the
Swamp set is used for D:13-, since the amphibious Lair monsters aren't
an interesting enough set by that point. The Lair set starts from D:10
mostly easier Lair spawns, but ramps this up through Lair and throws
torpor snails into the mix by Lair:4. The Swamp set starts as just
vampire mosquitoes with light swamp drakeage on D:10, but as depth
increases adds swamp dragons, hydra, and eventually will-o-the-wisps.
(cherry picked from commit
b9655bc238defdc8b2f98aaa5af38a311fcb55cd)
advil [Wed, 3 Feb 2021 14:22:50 +0000]
Fix some locale issues with skill targets
This commit (i) lets players enter numbers using the locale decimal
separator in the skill menu (since atof needs this for parsing unless we
were to override the numeric locale), and (ii) uses this separator
instead of a hardcoded `.` in skill targets -- this is for consistency
with the rest of the menu, which already does this.
(cherry picked from commit
486a53e33331661535c28001dd06c11be61c948a)
advil [Wed, 3 Feb 2021 03:23:59 +0000]
Update lightning scale description for Pa (u/tom_yum_soup)
This is not a very flavorful description, but at least it's accurate.
(cherry picked from commit
74f53ef62982531f7f5e405075780b23da10070e)
Nicholas Feinberg [Wed, 3 Feb 2021 02:58:48 +0000]
No treeporting into summoned trees (vt)
This caused crashes, actually!
(cherry picked from commit
4e57ec5eb2ab2be5fe1b385687790a244697cba9)
Nicholas Feinberg [Wed, 3 Feb 2021 02:22:45 +0000]
Fix eleio tree-a-port (12478, gammafunk, Yermak)
Don't let them go through glass.
(cherry picked from commit
dc854216a721790535d6b8f6501e2097c8f77e33)
advil [Tue, 2 Feb 2021 20:27:42 +0000]
`channel` -> `*channel` on wucad mu
to indicate that it is a passive effect.
(cherry picked from commit
075faa55195e897331e784be8075f2bf6850dd1a)
advil [Tue, 2 Feb 2021 17:10:35 +0000]
Refactor targeting to minimize console redraws
38af612a8a cleaned up the direction chooser code-wise quite a bit, but
it had unintended side-effects for console. In particular, after this
commit, the entire window was fully cleared and redrawn on every
keypress. This isn't very noticeable on local builds, but it is
extremely heavy over ssh and can (especially with lower ping) cause bad
flicker when targeting while playing online. (It also is going to have a
non-trivial impact, in aggregate, on ttyrec size.) This commit refactors
the widget wrapping so that most of the time a full screen redraw is not
needed; only the parts of the view that need to be redrawn get redrawn,
the message window is only redrawn if there are messages, and the
sidebar is only redrawn when a full screen redraw is triggered (e.g.
initially, or by opening and closing the help window). This code may or
may not be a bit hacky relative to more normal Widget classes.
This should involve no change for local tiles. However, as far as I can
tell the new OverlayWidget class works fine in local tiles, if doing all
this redrawing were to be a problem there. Should also not impact
webtiles targeting.
(cherry picked from commit
0dd03a7ff89a8cfd5b48dfdc0a004616898175c7)
Nicholas Feinberg [Sun, 31 Jan 2021 16:53:13 +0000]
Fix attack flavour descriptions
Fix a compiler warning in util/monster and remove support for removed
flavours.
(cherry picked from commit
290af4607b226df4d9870a9f4b9e406d62ee10f4)
Josh Gelbard [Sun, 31 Jan 2021 04:19:48 +0000]
Don't try to spawn spiny frogs in arena sprint
(cherry picked from commit
cee7053d2bed74fa23f9e2733082f0ee18264bd1)
advil [Mon, 1 Feb 2021 18:46:11 +0000]
Restore 0.24 console map scrolling behavior
In
2fe5a39f5e4 code that was only used to initialize the map view, prior
to the commit, was converted to set the region and cursor position on
every render. The result was a change in behavior, where previously
scrolling only moved the viewport when it hit the edges of the map,
after this commit it effectively scrolled the viewpoint on any movement
on big enough maps, keeping the cursor in the center. It's possible this
was even intentional, not sure, because the new behavior resembled what
happens in local tiles and webtiles in the map view (this would at least
make it easy to miss relative to non-console map view). However, this
behavior is not a good fit for the console map view; The map changing on
any movement of the cursor is (IMO) much harder for the user to process
than just changing the cursor position, and the required full-screen
redraw every step is slower over ssh. (To be clear, I actually think
this first point applies to the other two UIs as well, but one step at a
time.)
This commit restores the 0.24 behavior with (what I think is) a small
improvement: scrolling within a few squares of the edge rather than at
the edge will trigger movement of the viewport on the map, always
keeping a 3 tile margin. (0.24 and earlier scrolled at the edge.)
(cherry picked from commit
9b2ddefb565037d10b5097f32efe8a489b6db6d8)
advil [Thu, 21 Jan 2021 16:20:03 +0000]
Remove item_info
This type was just a typedef to item_def. It was added in
8f49829c0752,
apparently with the idea that item_info would be used for item_defs that
represented id info, and item_def otherwise. However, this convention
wasn't even documented, let alone enforced by an actual type distinction
(and c++ never added a strict typedef), so it has undergone drift and
largely now exists to confuse people. I could imagine redoing this so
that the type checker will do something, but the id system is also much
less important now than it was at the time of the original commit, so it
seems cleaner just to simplify.
(cherry picked from commit
12357ec85acb6b7696f7ac9a8999d49c598b9a0d)
Edgar A. Bering IV [Mon, 1 Feb 2021 21:48:43 +0000]
Correctly describe stair behavior of durable summons
These have always been able to use stairs, but at some point describe.cc
lost the memo.
Closes #1618
(cherry picked from commit
52650a75300c345176b9c2e3c24595fff5409565)
Edgar A. Bering IV [Mon, 1 Feb 2021 21:18:08 +0000]
Mark monster equipment as "SEEN" after we id it
This affects note-taking only, as set_ident_flags doesn't care about
seen for item knwoledge. Closes #1580.
(cherry picked from commit
54cb51f37247eae6a6af72b2c9bf495c8da869b6)
Edgar A. Bering IV [Mon, 1 Feb 2021 17:24:19 +0000]
Defer a terrain check for rampage
Only check for passable terrain for cells that don't contain our rampage
target, so that monsters in impassible terrain can still be rampaged at
if they're adjacent to a safe square for the player.
Closes #1632
(cherry picked from commit
3ba7187429a5cc7760544410b359c8876a112dc8)
Edgar A. Bering IV [Mon, 1 Feb 2021 16:32:28 +0000]
Restore a bit of smarts to autoexplore (Aliscans)
Since possibly a long time (I didn't archaeology) autoexplore has had a
non-executing guard against moving adjacent to unknown territory when it
doesn't have to. This commit restores the check.
Closes #1595
(cherry picked from commit
56efc2da1ba8b841f0c2dd4fd85ce10d39e8924f)
Edgar A. Bering IV [Mon, 1 Feb 2021 16:11:01 +0000]
Properly initialize configurable dirs
Options.shared_dir is the storage location for a build-condfigured
SHARED_DIR_PATH option, and otherwise is a synonym for Options.save_dir
(which has sane defaults and is forced to the configured global default
in DGAMELAUNCH builds);
However, it only gets correctly set to Options.save_dir after the call
to Options.reset_options for the second load of the user's rc file after
game start. Consequently, the High Scores display doesn't respect
Options.save_dir, even though the main menu otherwise does.
This commit implements some custom handling for save_dir to behave
correctly on builds without customization.
Closes #1694
(cherry picked from commit
b03138de70942a676bdb94907144b441c2d66e07)
Edgar A. Bering IV [Mon, 1 Feb 2021 15:02:05 +0000]
Remove ball lightning from arena sprint
Closes #1713
(cherry picked from commit
923471202265045539fea93fb1743ad623bddbf0)
wheals [Sun, 31 Jan 2021 22:26:06 +0000]
Fix the prompts on the Q/Q* menus
(cherry picked from commit
3bf79179390c25951040291716e269ae3b0e2371)
wheals [Sun, 31 Jan 2021 22:22:29 +0000]
Don't print the menu prompt in the message port
This applies to all auto_list menus (i.e., all of them but the second
part of the adjust items prompt). This is more consistent with the q, r,
etc. menus which already didn't print a prompt outside the menu itself.
(cherry picked from commit
47d50fa972585cb213a4bc3b94b2dca7486c1eb3)
wheals [Sun, 31 Jan 2021 22:03:44 +0000]
Add a missing space
(cherry picked from commit
7d305d30b109651507865e4fd53fd7eef3b123c3)
wheals [Sun, 31 Jan 2021 18:43:34 +0000]
"throw a tremorstone" -> "release a tremorstone"
"Throw" seems like an odd term both flavor-wise and mechanically. It
made sense when the evokable was targeted, but now is inconsistent with
throwing any other item, which lets you target.
(cherry picked from commit
95f23adaf735cededeb4b8b6492f4030a7fa6578)
Edgar A. Bering IV [Sat, 30 Jan 2021 19:02:08 +0000]
Adjust a check for hazardous statuary
Closes #1670. The want_move parameter would treat statues as one tile
closer in i_feel_safe for travel purposes, even if there was a wall in
the way. This resulted in an edge-case where the player would feel
unsafe even though no hazard existed, see the related issue for an
example.
(cherry picked from commit
22a811f1fd8bfb6bc4e3c09468762f40aa0c13b1)
AdamPG [Thu, 28 Jan 2021 12:08:36 +0000]
Add prompts to various types of movement
This commit adds a prompt to several forms of movement that previously did not end Ozocubu's armour or frozen ramparts. This commit also adds barb damage and a prompt to several physically-flavoured forms of movement (such as barachian hop) that previously did not trigger barb damage, and removes braces that were made unnecessary by a previous commit.
(cherry picked from commit
1307ea1511c33914024d5c4512606aea6ee5e331)
AdamPG [Thu, 28 Jan 2021 02:01:00 +0000]
Change the colour of the message displayed when frozen ramparts ends
Currently, Ozocubu's armour uses the MSGCH_DURATION colour (blue) and frozen ramparts uses the default colour (white) upon ending. This commit makes these messages consistent.
(cherry picked from commit
88da7fdab61dd00ee7fb6c79d1ff2acf3bb1b70e)
AdamPG [Thu, 28 Jan 2021 01:54:38 +0000]
Make icy spells end whenever the player's position changes
Currently, many forms of movement (such as barachian's hop, Uskayaw's line pass and all forms of blinking) do not break frozen ramparts or Ozocubu's armour. Since the location of frozen ramparts is tied to the player's position at the time of casting, any change to the player's position should break the spell. Arguably Ozocubu's armour should break only for voluntary movement, as the effect is not tied to the player's initial position, but for consistency we make it break under the same conditions as frozen ramparts.
(cherry picked from commit
8403051451b3af3135498e920adb9af3ede58deb)
Kate [Sat, 23 Jan 2021 04:30:34 +0000]
Reword a Wyrmbane message
The joke on-equip message for draconians wasn't a very good one.
(cherry picked from commit
ac52ab2824cde490052cb4f6795311bba8ead61a)
Edgar A. Bering IV [Thu, 28 Jan 2021 19:23:15 +0000]
Downweight a Lugonu altar vault
This altar vault has a very large place range, and so was appearing
quite frequently (I didn't run mapstat, but it was in 1/3rd of my
tournament games!). Lower the weight so it doesn't get old.
(cherry picked from commit
cd1702ac4d57aa477367796c8a280c25c103a702)
Neil Moore [Thu, 28 Jan 2021 17:57:45 +0000]
Slightly improve a citation.
[skip ci]
(cherry picked from commit
de412597e9ac9b6f025ed68d0af5128f2a8c4147)
Edgar A. Bering IV [Thu, 28 Jan 2021 09:39:54 +0000]
Consistently indent quotes in quotes.txt
Closes #1700
(cherry picked from commit
d2cd6250dadfa4f6e60fd3d65a06fd0e45be6fed)
Edgar A. Bering IV [Thu, 28 Jan 2021 09:05:17 +0000]
Fix some KJV citations
(cherry picked from commit
5b54ba61a2cd0178f8fd816039f16c9e0d172bc6)
Nicholas Feinberg [Thu, 28 Jan 2021 02:57:18 +0000]
Mention diggability on xv (hellmonk)
(cherry picked from commit
607d9e9d8595f373743d3659b5337218c4d1fd81)
AdamPG [Wed, 27 Jan 2021 20:42:32 +0000]
Prevent Ozocubu's Armour from breaking when equipping heavier armour
(cherry picked from commit
d3d0dda1a4a3603eff78b9b3fd8de10c589b194b)
Edgar A. Bering IV [Wed, 27 Jan 2021 21:28:57 +0000]
Adjust a misleading description (12374)
(cherry picked from commit
36043c2b5fab12fea75559e8c82b5031252af1e5)
Edgar A. Bering IV [Wed, 27 Jan 2021 20:37:04 +0000]
Remove an unused parameter and simplify
(cherry picked from commit
1f8c70d38dcf045fd40771ad4ae8580379e0114e)
Edgar A. Bering IV [Wed, 27 Jan 2021 20:03:50 +0000]
Don't leak stash info with Gozag gold detection (12413)
This makes gold detection work more like item detection, in that the
detected gold does not appear in stash search as it did previously. This
is a bit unfortunate, but this is the lone edge-case remaining where a
stash pile is revealed partially. It shows that the detected thing is
gold versus an item for a gnoll on the map, which suffices.
(cherry picked from commit
f9d094ba9912b00531782455c027dcf27446a2e6)
Edgar A. Bering IV [Wed, 27 Jan 2021 19:21:54 +0000]
Don't hide Bows for one hand-paired ants
(cherry picked from commit
e9b1cf51b553d16a09382f598990d4783fdcd2b0)
Edgar A. Bering IV [Wed, 27 Jan 2021 18:59:54 +0000]
Hide Bows when a hand is sacrificed (12398)
(cherry picked from commit
78287705fb54fdabfd85b5129ed2304777f0cfc7)
Edgar A. Bering IV [Wed, 27 Jan 2021 18:03:31 +0000]
Remove an inappropriate sanctuary check
(cherry picked from commit
66c491863679d6a81e058da4d49d4b2ab959d0a4)
Edgar A. Bering IV [Wed, 27 Jan 2021 17:50:05 +0000]
Don't look for clouds in the wrong places (12459)
(cherry picked from commit
0faeb86a0160faaa369a1beb29dee409ffe43bc5)
Edgar A. Bering IV [Wed, 27 Jan 2021 07:41:36 +0000]
Make trove entries transparent
(cherry picked from commit
832131d6acf56c3a2f0cd76ea9f1077243337e88)
Nicholas Feinberg [Wed, 27 Jan 2021 06:02:54 +0000]
Remove banana bunyips (hatsuma)
The end of an era...
(cherry picked from commit
bcd94eb0113dff32c34b6843ef906f59d9793c03)
wheals [Thu, 14 Jan 2021 21:24:49 +0000]
Edgar A. Bering IV [Tue, 26 Jan 2021 20:25:08 +0000]
Don't print resist messages when casting Ozocubu's refridgeration
Closes #1693
(cherry picked from commit
4a2642d2bdb3ef15130582128f60ab41a3482040)
advil [Wed, 13 Jan 2021 19:10:38 +0000]
Suppress DGL clrscr escape code during targeting
On a USE_DGAMELAUNCH=yes build, clrscr calls send an escape code that is
interpreted by dgamelaunch as a clrscr command, and is also apparently
used to synchronize ttyrecs (??). This happens at the same time as
regular ncurses clrscr, but it seems that it is likely sent and
processed immediately, whereas clrscr has no effect until a refresh().
Since
38af612a8a6b923, while targeting, the entire console display is
fully cleared and redrawn on every key (via the call chain
UIDirectionChooserView::_render() -> redraw_screen -> draw_border ->
clrscr). I have not been able to fully understand either why this does
happen or why it needs to happen (the screen is actually cleared by a
call to ui.cc::clear_text_region that wipes out everything during the ui
render chain, making a full redraw necessary), but the net effect is
that this causes a lot of blinking when playing in console through
dgamelaunch, especially with a low ping.
As an interim solution, in this commit I've simply suppressed all dgl
clear codes during targeting. They happen often enough otherwise that
hopefully this wouldn't cause any synchronization problems, if anything
is even using these codes any more.
(cherry picked from commit
75406f0b48011c29bc2eba159a82f05db85e8e07)
advil [Sun, 31 Jan 2021 17:39:52 +0000]
Adjust some empty quiver cycle messaging
This gets rid of the vestiges of oldquiver error messages, and rewrites
things to use the newquiver code in a more straightforward way. This
removes some of the hints that the old errors gave about inscriptions
etc, but I think the simplification her targets everything that will be
likely to apply to newer players who need the hints in the first place.
(cherry picked from commit
e082b6e869bdc040c2f701e488adcffcf59e1c7c)
advil [Sun, 31 Jan 2021 14:58:48 +0000]
Fix =f,=F,!Q inscriptions
The behavior of =f/=F was unintentionally flipped, and also broken for
ammo items in another way I think. !Q hasn't been working for a while;
I think this was broken by moving quiver selection away from an
inventory menu. Here I have slightly changed the behavior, by making !Q
entail =f and =F, and therefore be a quick shortcut for "really don't
ever quiver this thing".
(cherry picked from commit
e4214ee8635b4d0b90edbd44d3a5c3bdd70dd6c2)
advil [Sun, 31 Jan 2021 14:35:56 +0000]
Don't use fire_order for Q menu inclusion
This affected only ammo, and was more confusing than helpful. A better
candidate for the menu itself (tbd) might be something more like the
spell library hide/show feature.
(cherry picked from commit
29c5ad5b46b261903533b6f55e3b0fa32b51e16a)
advil [Sun, 31 Jan 2021 03:05:13 +0000]
Improve some comments re ability ranges when quivered
(cherry picked from commit
1fbed8a51c0d6a0c01c5d67d72025178ce4644fd)
advil [Sat, 30 Jan 2021 21:04:00 +0000]
Add a better UI range check for minor destruction (12451)
Minor destruction did not have a range check except on activation,
leading to bad behavior with autofight_throw=true when quivered. This
commit follows the same strategy in
0579ed41f9 for rolling charge. The
background problem is that the ability API is still somewhat
impoverished, and we don't want to fully disable the ability with no
enemy in range (because there is no way to force-activate it equivalent
to casting `Z`). However, for quiver and autofight purposes the quivered
ability needs to be marked as disabled in this scenario. Eventually it
would be nice if spells and abilities had a more uniform interface for
these issues.
(cherry picked from commit
539a43b7bd55b04df16067de732d355adc36b12d)
advil [Fri, 29 Jan 2021 21:39:40 +0000]
Halve the impact of map scaling on glyph mode
Because the base value (e.g. the text size at 100) is so much smaller
than regular tiles, zooming out from 100 has an outsized impact. An
alternative to this commit would have been to change the default map
mode scale value to something less zoomed out, but doing things this way
also correctly handles the case where a glyph mode player is spectating
a tiles player at the regular zoom levels.
(cherry picked from commit
dcb3803577713d9b32586d8e92f3c351eacf684b)
advil [Thu, 28 Jan 2021 23:47:54 +0000]
Limit printable keycodes in webtiles to ASCII
This was (I think) impacting non-US keyboards, where keycodes
corresponding to invalid UTF-8 were causing the webserver to choke, and
the macro menu not to get forwarded to the client (keycode 169, which
*may* result from a closing paren on AZERTY, is one example). It
possibly also affects some unusual keys on certain keyboards. There must
be a more elegant solution but for now this will just show the keycode
directly in the macro menu. Better would be to somehow figure what keys
are involved, and print their names, but this seems a bit of a hopeless
task for webtiles.
It's possible that console needs a similar fix as well, but there (at
least in my testing) the result is not that the menu fails altogether --
though it's not very usable. But this would be better tested by someone
with a different locale / keyboard layout. SDL should be handled by SDL
code, so if it fails on this stuff, it's at least not a crawl bug.
(cherry picked from commit
8ba017916cb72e9aaca932eebd3702a75daeed3f)
advil [Thu, 28 Jan 2021 23:05:52 +0000]
Use a name for ' ' when a name is called for
This is a printable char, but isn't apparent in most circumstances when
it would be printed directly, so ' ' is not useful as the character
description. Therefore, use "Space". Impacts only menu hotkeys, and
probably only in the macro menu.
(cherry picked from commit
dd83002478a0ce41aafb116edbfb50769263d21c)
advil [Wed, 27 Jan 2021 01:06:47 +0000]
Don't do zone filling in the abyss
Unlike normal builder scenarios, connectivity checks are only rarely
triggered in the abyss, by the placement of a minivault it seems. (I'm
surprised they happen at all, and wonder what they accomplish.) In this
case, it seems wrong to do any fills, as the abyss is supposed to allow
temporarily disconnected zones.
In mantis 12442, 12416, as well as #1680, it was reported that this
scenario could lead to errors, because the fill code assumed that no
items had been placed yet. As far as I know this is mostly true, just
not for the abyss, which does most of its building before minivaults
have the chance to place. I've also added a guard against filling over
items, even though the main fix in this commit prevents the specific
case from coming up. Interfering items just get nuked, to prevent vetos.
Resolves #1680.
(cherry picked from commit
6fc33f2424d4d222e5b9c246de6e0eb260ef7ca8)
advil [Thu, 21 Jan 2021 17:41:38 +0000]
Fix some error handling for lobby save info
This info was collected asynchronously, but the code didn't do anything
to handle the case where the socket closed before the save info was
fully collected, leading to uncaught exceptions in the logs.
(cherry picked from commit
6cd7b45605abe9fcaa12244b57adb321707af240)
advil [Wed, 20 Jan 2021 20:26:35 +0000]
Clean up logging for full socket buffer
When holding down a key in webtiles for something that takes a long
enough time to outpace the key repeat (either because it is
cpu-intensive or just because it imposes a delay), the buffer used to
communicate with the crawl instance can fill up, which triggers an
exception (and drops the key). When this happens, it is quite spammy in
logs on live servers. Ideally this could be prevented from happening in
the first place (e.g. any time this can happen on autofight/autofire is
a case that should be better optimized), but it will inevitably happen
from time to time, and doesn't need to fill up the logs quite so much
when it does; the stack trace is not informative.
For future reference, the full stack trace for a single case of this
will look something like (with minor differences between OSs):
2021-01-20 14:05:25,059 WARN: #0 Error while handling JSON message (''{"msg":"key","keycode":9}'')!
Traceback (most recent call last):
File "/Users/advil/repos/crawl/crawl-ref/source/webserver/ws_handler.py", line 869, in on_message
self.process.handle_input(message)
File "/Users/advil/repos/crawl/crawl-ref/source/webserver/process_handler.py", line 897, in handle_input
self.conn.send_message(utf8(msg))
File "/Users/advil/repos/crawl/crawl-ref/source/webserver/connection.py", line 109, in send_message
self.socket.sendto(utf8(data), self.crawl_socketpath)
OSError: [Errno 55] No buffer space available
(cherry picked from commit
a89a45757602832c4d7cc2c0c75d91c5dbbb79d3)
Nicholas Feinberg [Tue, 26 Jan 2021 06:25:14 +0000]
Fix the build?
This code is extremely bad!
(cherry picked from commit
9515ab555c48c7948b83cd0c90aab9b48a623626)
Nicholas Feinberg [Mon, 25 Jan 2021 02:37:00 +0000]
Integrate palentonga sprites
And add new palentonga lichform and 8form sprites.
Cloaks look sort of awful here, but not sure what can be done!
(cherry picked from commit
d3d65450af1be519b13540c2be9d37250c5135b1)
Hatsuma [Thu, 14 Jan 2021 21:10:54 +0000]
donger sprites
(cherry picked from commit
2a9d61b3d9209352f81f66656e013089fb886315)
Edgar A. Bering IV [Thu, 14 Jan 2021 15:26:14 +0000]
Anger monsters who block player attacks
Consistent with dodged attacks that the monster is awake to notice.
Closes #1612
(cherry picked from commit
28f6fc2273667f8cfd248e6983378049009c1588)
Nicholas Feinberg [Sat, 23 Jan 2021 17:30:48 +0000]
Show cloud damage for player spells
This is experimental. It's weird in that it's sort of asymmetric with
the monster versions (e.g. fire crab's flaming cloud), since those
show the impact damage instead. Maybe it's helpful, though?
(cherry picked from commit
ee1497a6375b852b2ba279d7a8dc15cb336b3626)
Nicholas Feinberg [Sat, 16 Jan 2021 17:14:44 +0000]
Display accuracy on ranged targeters
This was an oversight. Oops!
(cherry picked from commit
3644e03777a4ae25da7387eea5323cff28c985ce)
Nicholas Feinberg [Sun, 17 Jan 2021 04:55:58 +0000]
Reduce net trap trigger chance
Since making net traps not run out of ammo, they've become more vicious
than was intended. To mitigate this, give them a 2/3 chance of *not*
triggering when a monster enters them.
It'd be interesting to make them require LoF to hit the player, but
that's an experiment for another day.
(cherry picked from commit
d412354acc90c94f97caa2b925f6806b5669a2d9)
Nicholas Feinberg [Sat, 23 Jan 2021 16:57:41 +0000]
Display Glaciate damage on xv
And remove support for player-cast Glaciate, since that's long-gone!
(cherry picked from commit
4d92ddfd83d592eea8e720b88f80c12e787ce985)
Nicholas Feinberg [Sat, 23 Jan 2021 16:11:47 +0000]
Make fenstriders evil (Snakku)
Oversight - I was used to this being auto-set from spells!
(cherry picked from commit
2451fdf569ce1c81badf580ee3f5a0ac1c378df5)
Nicholas Feinberg [Sat, 23 Jan 2021 16:10:36 +0000]
Add missing roll icon (hatsuma)
(cherry picked from commit
0bfbe0ea93c96d6b248771444e46f17384bc84fd)
gammafunk [Sat, 23 Jan 2021 13:43:00 +0000]
Fix the depth of a ghost vault (Mantis 12464)
In Dungeon it was only ever placing on D:8, instead of on its intended depth of D:8-D:$.
(cherry picked from commit
e71ae6e9b589659c955af9c76e56bcfba10d24d0)
Andrew O'Neill [Wed, 20 Jan 2021 22:36:47 +0000]
remove CMD_EAT from colemak
This is no longer needed since eating is out.
(cherry picked from commit
3cb999cee24d21027a90ee950438e07f0e8c40ea)
Nicholas Feinberg [Mon, 18 Jan 2021 17:35:29 +0000]
Don't auto-drop ?tele in Gauntlet (Yermak)
For purposes of auto-selecting items for drop with `d,`, ignore temp
conditions such as 'being in Gauntlet'. This should discourage accidents.
(cherry picked from commit
b51a1d6fd61b7e2405b67dc7532af6cfe0f5ea0c)
Kate [Sun, 17 Jan 2021 03:37:17 +0000]
Adjust timing for evoked unrand HP/MP costs
As with the Majin-Bo in 0fe236c, reduce HP and MP as a cost before activating
the ability, and refund it if the ability is aborted.
(cherry picked from commit
5a9077b8aed1eb6ea37e5b3bdbcfa24c5cd76e98)
Edgar A. Bering IV [Fri, 15 Jan 2021 15:44:29 +0000]
Add a missing of (Aliscans)
(cherry picked from commit
19769c27d73555abf9a189ccd13d859961be720a)
Edgar A. Bering IV [Thu, 14 Jan 2021 18:07:06 +0000]
Prevent trampling a constricted actor (12432)
The other option would be to have constriction broken on trampling.
However, I went with this resolution because either:
- the player is being trampled and constricted, don't make their life
easier
- or the player has allies and is trying to do both things to a target,
creating an ally-micromanagement encouraging edge case
(cherry picked from commit
33242fe616db5dce3af243c52cb968cd9a9297ad)
Edgar A. Bering IV [Thu, 14 Jan 2021 17:44:25 +0000]
Don't update constriction when testing door seals
The vault warden AI check to see if it should seal a door
was using move_to_pos to evaluate the tension of actor moves, but
move_to_pos handles updating constriction information of the
constrictor. The result was that if the check needed to test if pushing
something through a door in a way that would break constriction was a
good idea, the constriction would actually break, even if the monster
ultimately decided to not close the door!
Closes #1566
(cherry picked from commit
897d3da516b74d2ab7e49b61dc4f072745eeb5fa)
Edgar A. Bering IV [Thu, 14 Jan 2021 17:22:03 +0000]
Fix a tension check for runic seals (8085, 10542)
The previous tension check for closing doors had an incorrect
conditional, so that if tension were *increased* by the closure, the
warden would not decide to close the door! Additionally, this check
returned true in situations where the tension was 0 before and after the
closure. The result of the latter behavior was often locking the player
in with their allies away from the warden.
Closes #1534
(cherry picked from commit
ea5d59904d4e11208804ba4af322f681ade07abd)
Edgar A. Bering IV [Thu, 14 Jan 2021 16:10:54 +0000]
Adjust the charging of Majin-Bo's hp cost
Don't send it through ouch, it should be treated like an ability hp
cost, not damage (so no harm scaling!). Also, dec the hp at the same
place as the mp cost of the spell, for appropriate sequencing of the
effect and to give the player a preview of the cost while targeting.
Closes #1578
(cherry picked from commit
0fe236cf81fa067bbd5ccc5c028db979305c62a7)
Edgar A. Bering IV [Thu, 14 Jan 2021 14:10:03 +0000]
Simplify Tornado interactions with distance movement
Prior to this commit, if the player moved by translocating (or Ba hop)
multiple tiles while under the effects of tornado, the tornado was
cancelled, without requiring cooldown, UNLESS the translocation landed
the player in a tornado cloud, in which case the tornado duration was
decremented by a translocational penalty.
No change to duration was incurred on taking a passage of golubria or
transporter.
On taking stairs the tornado was cancelled with no cooldown.
This commit changes the behavior to: blinknado is ok, but all other long
distance changes end tornado and give the cooldown.
Closes #1611
(cherry picked from commit
b0dbf93ca22535ea573f56bb86bf499fe25a1824)
Edgar A. Bering IV [Thu, 14 Jan 2021 12:40:54 +0000]
Don't offer conjured things god blessings
Closes #1648
(cherry picked from commit
80642e47ccf2c3d62833bf6f8a3d424a3965dcd3)
wheals [Thu, 14 Jan 2021 08:22:07 +0000]
Quiet down Irradiate (#12446)
I'm guessing, based on loudness being set to 0, that it was never
expected to have the explosion noise. However, explode() reset the
loudness anyway, so setting it manually had no effect.
(cherry picked from commit
58ad9d9fa3b3adf3be215d9f702ce3ab16133a8c)
Edgar A. Bering IV [Sun, 10 Jan 2021 22:00:49 +0000]
Fix monster tracers for Call Down Damnation
The tracer behavior was inadvertently changed in
2f2a4d8ed992e13 which
refactored CALL_DOWN_DAMNATION into a zap. In doing so no longer failed
to set the explosion size for the tracer.
Closes #1678
(cherry picked from commit
ebd156f8b49aa1620a09c39c4717c6e5c7f25ae4)
Kate [Sat, 9 Jan 2021 20:20:20 +0000]
Update monster disintegrate description
(cherry picked from commit
58928b186a48547f987ad6c2b43634eec52728d3)
Kate [Sat, 9 Jan 2021 20:08:48 +0000]
Fix grammar in miscast descriptions
(cherry picked from commit
f4412e357a7b02412424c229a90adb8d2039e423)
Nicholas Feinberg [Sat, 23 Jan 2021 19:51:41 +0000]
No Marshlight out-of-sight messages (Yermak)
Nicholas Feinberg [Sat, 23 Jan 2021 16:04:37 +0000]
Fix death explosion messages
Broken by
3dd439832fe0f5fe295caad1a2fe3e479a757cda - we'd claim that
players were 'hit from afar by a bloated husk' instead of 'killed by
an exploding bloated husk'. Oops!
From that commit's final line:
> Overall, this code is very bad and probably buggy. I'm sorry.
advil [Wed, 20 Jan 2021 20:40:21 +0000]
A bit of
288a49279187 that got lost in editing
oops
(cherry picked from commit
f312352147c677e3f2b416cf721061daf51a8349)
advil [Wed, 20 Jan 2021 17:38:37 +0000]
Reduce webtiles redraws per key input by 2
The previous behavior stems for a fairly old (
729eb1357d24d1d5) decision
to send a redraw on each input mode change. Since every keypress swaps
between MOUSE_MODE_NORMAL and MOUSE_MODE_COMMAND, holding down a key
could trigger a lot of unnecessary redraws, and for example with no ammo
could max out the process's cpu usage (at least on a `make profile`
build). I'm not actually sure why a webtiles redraw (which mainly send
the map and the player) is needed on any case of changing input mode,
but for now I'll be conservative -- and this is the case that shows up
in profiling.
As it happens, there's still at least one webtiles redraw per key input,
in getch_ck. But, the profiling with just this one doesn't seem like a
problem by itself. It's possible that redraw() itself has some issues
that could be addressed -- sending both the player and the map equally
eat up a lot of cpu with repeated calls.
(cherry picked from commit
288a49279187591ca2b1c6c12e22d05b34561cea)
Nicholas Feinberg [Sun, 17 Jan 2021 00:08:25 +0000]
Don't show Fridge accuracy (lici)
Since it always hits!
Edgar A. Bering IV [Fri, 15 Jan 2021 05:43:18 +0000]
Don't remain curled while delayed (12443)
(cherry picked from commit
39ad13b14638f858b332731bf719232de05893ba)
Edgar A. Bering IV [Thu, 14 Jan 2021 12:17:14 +0000]
Restore Zyme sickness
Incorrectly changed an undead state check when rot changes were made
in
4cbea82fa3. US_ALIVE is tragically false.
Closes #1677
(cherry picked from commit
0c344bb9d350318e1eebc68921712c47a6d6a558)
Edgar A. Bering IV [Thu, 14 Jan 2021 18:37:32 +0000]
Fix a teleport closet (MakMorn)
(cherry picked from commit
4f573a835dfffb551c01fce58e49720c0562efcc)
Edgar A. Bering IV [Thu, 14 Jan 2021 11:57:41 +0000]
Fix a teleport closet
Closes #1681
(cherry picked from commit
768c70b9d499928eb4870c3c3605e05885254854)
advil [Thu, 14 Jan 2021 01:36:46 +0000]
Fix webtiles rendering of ctrl keys
I honestly have no idea how these were displaying in console, but they
were, so I assumed they would work in webtiles as well. But something
low-level that I haven't found must have been doing the actual rendering
in a way that didn't convert them to readable strings in webtiles. This
is a quick patch to render them correctly in the macro menus.
(cherry picked from commit
caaa221d37ee91821376a998913a661f23fcf15a)
advil [Wed, 13 Jan 2021 01:01:11 +0000]
Remove some console blinkiness in map view
As far as I can tell, this update_screen call is guaranteed to force an
update on a blank screen, and since it is triggered on every refresh in
map view, it is making map view extra blinky (especially over ssh). I
can't find any negative consequences of just removing it.
(cherry picked from commit
d04b7445b5ccb98312695ad1f807f9a1b0c4e95f)
Nicholas Feinberg [Tue, 12 Jan 2021 16:23:43 +0000]
Fix more net trap bugs
Don't allow players to collect infinite nets by either (a) being in
dragon/tree form or (b) just being already in a net when another net
drops.
advil [Mon, 11 Jan 2021 22:21:47 +0000]
Fix a console hud issue at high turncounts (gressup)
This code used a constant number of spaces to clear the rest of the
turncount line, but didn't factor in the fact that cprintf wraps; at
high turncounts (6+ digits) on long autoexplore/autotravel spans (>10.0
auts) it could therefore overwrite 1-2 letters of the weapon display.
Recent changes reduce how often the weapon redraws, so this has probably
become more visible lately. Despite that, this is a vintage bug,
originating from
ce229f1793ccd.
(cherry picked from commit
9f9dfd16e91301c19d33987c1538bf72f1828fe1)
gammafunk [Sun, 10 Jan 2021 16:01:37 +0000]
More insubstantial wisp removal
Remove descriptions and quotes in various languages.
(cherry picked from commit
da163c7f711705022e4436c983c59d6535945aac)
advil [Sun, 10 Jan 2021 03:39:14 +0000]
Update keybind.txt for 0.26 changes
...missed this.
(cherry picked from commit
3544c24705775b8190a3f4ba4b5238f708a63bea)