2 months agoadd overview map describe pull/1668 1668/head
krator44 [Sat, 2 Jan 2021 19:39:08 +0000]
add overview map describe

2 months agoadd random name generator
krator44 [Sat, 2 Jan 2021 18:50:40 +0000]
add random name generator

2 months agofix bug when overview gets confused by staircase mimics
krator44 [Thu, 31 Dec 2020 13:56:58 +0000]
fix bug when overview gets confused by staircase mimics

2 months agofix rare crash bug when a confused monster aims
krator44 [Thu, 31 Dec 2020 12:47:15 +0000]
fix rare crash bug when a confused monster aims
an iron rod at a square that it cannot see

2 months agofix c++ string conversion
krator44 [Wed, 30 Dec 2020 17:13:51 +0000]
fix c++ string conversion

2 months agoimprove compatibility with lua5.2
krator44 [Wed, 30 Dec 2020 16:23:34 +0000]
improve compatibility with lua5.2

2 months agoupdate util/gen-mi-enum for perl5
krator44 [Wed, 30 Dec 2020 16:03:49 +0000]
update util/gen-mi-enum for perl5

2 months agofix gcc7 throw warnings
krator44 [Wed, 30 Dec 2020 16:02:07 +0000]
fix gcc7 throw warnings

2 months agofix include functional
krator44 [Wed, 30 Dec 2020 16:00:51 +0000]
fix include functional

2 months agouse pkgconfig for linking to ncurses
krator44 [Wed, 30 Dec 2020 15:51:26 +0000]
use pkgconfig for linking to ncurses

2 months agorespect flags and compiler
krator44 [Wed, 30 Dec 2020 15:50:24 +0000]
respect flags and compiler

10 months agoResolve an incomplete merge... stone_soup-0.16
advil [Sun, 26 Apr 2020 21:37:18 +0000]
Resolve an incomplete merge...

10 months agoPointer checks for lua userdata objects
advil [Sun, 26 Apr 2020 13:49:53 +0000]
Pointer checks for lua userdata objects

This systematically adds checks to ensure that when userdata wraps a c++
object in some way via pointer, the pointer is not nullptr. On the dlua
side I'm just doing this for the sake of consistency and good practice,
but on the clua side this aims to prevent an attacker from using calls
to the `__gc` metamethod to get crashes on demand.

I kind of hate all these macros, it could probably use a refactoring to
make it less brittle.

(cherry picked from commit f695395b5c0b22851d2a2b49dd5d2cc503f1f709)
(cherry picked from commit 218456f21eeee3bba2c1fd1284ddce0d29ee14af)
(cherry picked from commit b604f171e5c8901602b31e47b4e85b9c05c4924a)

10 months agoHandle another potential multiple delete case
advil [Sun, 26 Apr 2020 13:04:57 +0000]
Handle another potential multiple delete case

The setup is slightly different but the basic problem is the same: the
function `_delete_wrapped_item` is bound to the metamethod __gc on
wrapped items that are available in clua, and __gc can be freely called
from lua-land.

(cherry picked from commit 39757dd64f1eb0a99e4388d0395bbcd01051255f)

10 months agoGuard against repeated calls to lua_object_gc (ruderubik)
advil [Sun, 26 Apr 2020 02:53:21 +0000]
Guard against repeated calls to lua_object_gc (ruderubik)

This call is bound to the metamethod __gc, which can be called
arbitrarily from lua code (though it is always automatically called as a
finalizer before lua collects the memory allocated by lua_newuserdata).
This is a minimal change so that `delete` can't be called multiple times
on the same pointer. (All of this code is a bit of a mess.)

(cherry picked from commit 7f8d8a8652f7b62a65e1f4ebf3f194a4ccd17dac)

11 months agoUpdate changelog 0.16.3
Aidan Holm [Sun, 22 Mar 2020 04:18:13 +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)

5 years agoAnother minor formatting fix.
Neil Moore [Tue, 8 Sep 2015 12:50:40 +0000]
Another minor formatting fix.

[skip ci]

(cherry picked from commit a43012d66b70658bdd42e83e93de5ae870b7b992)

5 years agoMinor formatting fixes.
Shmuale Mark [Tue, 8 Sep 2015 12:10:12 +0000]
Minor formatting fixes.

(cherry picked from commit 2b30068023d01b8a1ff094034e97de19086c5e9e)

5 years agoModified the do_cast method to check that the targetted monster for freeze/vampiric...
miek [Mon, 7 Sep 2015 22:58:24 +0000]
Modified the do_cast method to check that the targetted monster for freeze/vampiric draining is adjacent to the character.

Note that this still has the bug that the targetted monster is the one at the targetter, not the first along the line of the ray-path.

(cherry picked from commit 579a2d04262474904e68187c880b5ab863ee55f1)

5 years agoFix Deep Dwarf exploit using Flayed Ghosts
smitnich [Tue, 8 Sep 2015 03:58:34 +0000]
Fix Deep Dwarf exploit using Flayed Ghosts

Due to damage shaving, the amount of damage taken via flaying
is less than the amount stored as "flay_damage"; this leads
to the player being healed beyond their original HP when the
effect wears off.

Resolve this by checking the HP before and after the player is
hurt and storing this value for the amount of HP to be healed.

(cherry picked from commit d912b4619774cfd6dbd50d8c9489465ab0371005)

5 years agoClean up WebTiles message code and document
gammafunk [Wed, 9 Sep 2015 23:39:34 +0000]
Clean up WebTiles message code and document

Don't attempt message removal if not necessary, and since this was a
major and longstanding performance issue, document the message removal

(cherry picked from commit 879a7aa1774a392a73c2937f6869b6ef43f13361)

5 years agoRemoved unused code for designating old player messages in WebTiles
gammafunk [Wed, 9 Sep 2015 23:20:15 +0000]
Removed unused code for designating old player messages in WebTiles

That was apparently intended to indicate to the client that a certain
number of messages were no longer needed and hence their html elements
could be reclaimed. This information was never actually sent by the
crawl binary, however, and the client handles removing old message
elements itself already.

(cherry picked from commit 4297a6b4eec1a8bdcc7b942afff1ceb537af0e37)

5 years agoFix player message scrolling in WebTiles
gammafunk [Wed, 9 Sep 2015 22:47:50 +0000]
Fix player message scrolling in WebTiles

This was broken in fa90d0a6.

(cherry picked from commit 4667fa3cf4095914ab3e64f21b3f1c4af48a8c71)

5 years agoLeave at least 15 visible messages when removing old ones in WebTiles
gammafunk [Wed, 9 Sep 2015 22:47:23 +0000]
Leave at least 15 visible messages when removing old ones in WebTiles

The fix in fa90d0a6 for WebTiles lag removed all but 10 player message
old div tags, but more than 10 might be displayable in the message pane,
depending on browser settings.

(cherry picked from commit 3b1d94b46a545aa4d3be8ed8c75f2429107d9762)

5 years agoRemove old messages in WebTiles
Kevin Donnelly [Mon, 7 Sep 2015 21:12:17 +0000]
Remove old messages in WebTiles

I've noticed that when playing on webtiles the game is very responsive
at the start but then gets slower and slower the longer it goes on. It
also snaps back to being responsive by just reloading the page. Using
Chrome's javascript profiler I was able to track the primary cause down
to the way messages are added to the page.

Basically every message just added a new div to the page after all the
previous ones. After playing for a while there can be thousands of divs
on the page which bogs down the performance.

This commit removes old messages that cannot be seen by the player every
time a new message is added. It also removes an unnecessary jQuery
scroll command and an unused messages array.

Commiter's Note: This closes #108

(cherry picked from commit 8c7c337052e4039521758f08d5033b85b61eb946)

5 years agoDon't always store boolean variables in c_persist as true
gammafunk [Sat, 5 Sep 2015 17:38:57 +0000]
Don't always store boolean variables in c_persist as true

The persistant lua table variable stringification code was always
stringifying booleans as "true".

(cherry picked from commit ccbed74ba74bf6296dea721405c990cd637f30c6)

5 years agoFix existing saves with XL > maxXL (#9895)
Neil Moore [Fri, 14 Aug 2015 22:30:17 +0000]
Fix existing saves with XL > maxXL (#9895)

(cherry picked from commit cd515fc615c0e72501da570019c71e88b46ef8d2)


5 years agoLet Sacrifice Experience drop the player below XL 27 (#9895)
Neil Moore [Fri, 14 Aug 2015 22:21:36 +0000]
Let Sacrifice Experience drop the player below XL 27 (#9895)

It kept the player at level 27 if they were already there, but did
reduce the player's max XL, leading to a crash later when the player
gained enough XP for "level 28".

(cherry picked from commit 781fe902fd6c1c0c276bf6423bd5d7a1ad6faa80)

5 years agoUpdate the changelog for the 0.16.2 bugfix release 0.16.2
gammafunk [Tue, 11 Aug 2015 05:37:25 +0000]
Update the changelog for the 0.16.2 bugfix release

5 years agoFix Singularity not breaking sanctuary (#9805)
Chris Campbell [Tue, 23 Jun 2015 10:15:57 +0000]
Fix Singularity not breaking sanctuary (#9805)

(cherry picked from commit 9d4ed2e186308188b2014f456acdcc859911f926)

5 years agoDon't say that flying things 'stumble backwards'
Alan Malloy [Thu, 16 Jul 2015 19:48:08 +0000]
Don't say that flying things 'stumble backwards'

(cherry picked from commit ceb39bc4eeba2bef07d3543549d3b4ebb88ddb3e)

5 years agoRemove an unused lua function argument
gammafunk [Sat, 8 Aug 2015 06:01:16 +0000]
Remove an unused lua function argument

(cherry picked from commit 9c114d1da7b8a5bc60cdef9da029faaa0048f7d4)


5 years agoRemove the obsolete WizLab planning section
gammafunk [Fri, 12 Jun 2015 10:39:45 +0000]
Remove the obsolete WizLab planning section

This was a list of incomplete ideas used while the portal was
developed. I'd thought about moving it to the dev wiki, but none of the
ideas here are very detailed, and some refer to spells or items that
have been removed.

[skip ci]

(cherry picked from commit 092858d3ad986602ce60a04a438dfbc31e5eb559)


5 years agoUse 'into' instead of 'in to'
Alan Malloy [Thu, 6 Aug 2015 18:50:28 +0000]
Use 'into' instead of 'in to'

(cherry picked from commit 192330b659ea2d92287462f3722850710a6793fc)

5 years agoTiles: Hells upstairs don't get the "unexplored" asterisk (Arrhythmia).
Shmuale Mark [Sun, 2 Aug 2015 20:35:18 +0000]
Tiles: Hells upstairs don't get the "unexplored" asterisk (Arrhythmia).

(cherry picked from commit 0af21bdc1d2ec31205d4922f0bc739538c8387a3)

5 years agoLocal tiles: Fix a missing item name (#9773).
Shmuale Mark [Sun, 2 Aug 2015 20:29:32 +0000]
Local tiles: Fix a missing item name (#9773).

(cherry picked from commit 77655e490fdb14c3d0f8ab870e31c98ccf7df562)

5 years agoDon't ghostify wellsprings from late June 2013.
Neil Moore [Sat, 1 Aug 2015 18:10:13 +0000]
Don't ghostify wellsprings from late June 2013.

Elemental wellsprings from the minor tag that required this particular
fixup (for an accidental enum reordering) would be restored as ghosts;
but those from older or newer saves would work fine.  The fixup code had
been updated when wellsprings were subsequently removed, but not when
they were then unremoved.

(cherry picked from commit 9e10c74c31f5f954e8f66c8022d9c48d601220c3)

5 years agoErr conservatively when rounding hex %success (#9877)
Neil Moore [Tue, 28 Jul 2015 00:49:48 +0000]
Err conservatively when rounding hex %success (#9877)

Round monster success rates up, not down, so that a spell that shows 0%
success is definitely unable to affect you.  Continue to round down
player success rates, so that a player spell that shows 100% success
will definitely affect the monster.

(cherry picked from commit 2df49ec7c981f8c6fe1dca80fddce5d8ae22ce69)

5 years agoFix R-Click not exiting certain menus
Kurt Kartaltepe [Sun, 19 Jul 2015 00:39:55 +0000]
Fix R-Click not exiting certain menus

Committer's Note: closes #90

(cherry picked from commit 4c16989a0f49e1a4daa4a53cf2cb0c4b5478c9e4)

5 years agoFix profane servitors not actually worshipping Yred (|amethyst)
Chris Campbell [Wed, 15 Jul 2015 22:51:14 +0000]
Fix profane servitors not actually worshipping Yred (|amethyst)

Since they're not priests, they weren't being given their god correctly.
(cherry picked from commit 2f57bce580b4ea139c0c07a6daeef72f6a96d418)


5 years agoDon't print a duplicate message when adjusting the same slot (#9814)
Chris Campbell [Wed, 15 Jul 2015 16:25:52 +0000]
Don't print a duplicate message when adjusting the same slot (#9814)

(cherry picked from commit baed2d379c93e3982b5f4d2206cc22dd62319ba9)

5 years agoDisplay base attributes on @ (tasonir)
Chris Campbell [Thu, 9 Jul 2015 13:43:48 +0000]
Display base attributes on @ (tasonir)

(cherry picked from commit 19c3781a7d243f72b76de331a731fe811dccd0c4)

5 years agoRedraw stats when abandoning Chei
Chris Campbell [Sun, 5 Jul 2015 13:58:07 +0000]
Redraw stats when abandoning Chei

(cherry picked from commit d7daefbd125ffad4091c26387c872bc0e554235d)


5 years agoMention Chei stat boosts on the religion screen (#9842)
Chris Campbell [Sun, 5 Jul 2015 13:57:45 +0000]
Mention Chei stat boosts on the religion screen (#9842)

(cherry picked from commit ec55f938b1606e934bf3c36bc4081f2e442b5c20)

5 years agoDon't crash on remembered thrown weapon choice (#9591)
Neil Moore [Wed, 1 Jul 2015 16:14:16 +0000]
Don't crash on remembered thrown weapon choice (#9591)

To reproduce, start a throwing hunter, quit the game, then start another
hunter.  The weapon choice menu would crash trying to get the base name

(cherry picked from commit fb315ab9eb3369783ff133e151d120062bce4543)


5 years agoSet keyboard modifiers correctly for the mouse in Tiles (|amethyst)
gammafunk [Wed, 1 Jul 2015 01:29:23 +0000]
Set keyboard modifiers correctly for the mouse in Tiles (|amethyst)

This bug was causing the mouse to see Ctrl and Alt keyboard modifiers
when it shouldn't, since SDL_Keymod enum values were being copied as if
they were our internal key_mod values in certain conditions.

(cherry picked from commit dada0b057ad1b0922db2fcbe192a169ac2d77757)

5 years agoDon't restart sprint games with restart_after_saves.
Neil Moore [Tue, 30 Jun 2015 18:48:57 +0000]
Don't restart sprint games with restart_after_saves.

If the last game was Sprint, restart_after_game would keep the previous
player name, etc., and try to re-enter the Sprint menu immediately.
However, if a save for that name already exists, as it would with
restart_after_game, startup_step skips that menu entirely and loads the
saved game immediately.

This meant that you couldn't get out of the game without either
quitting, or using the Lua console to set restart_after_game to false.
Even worse, the same applied to tutorial.

Now forget the remembered game type when the game was saved rather than
ended, so we don't immediately try to re-enter the sprint/tut menu.

(cherry picked from commit 59a308b59cefdde1d8c312f36d4c8c8a9415721c)

5 years agoAllow monsters to cut firewood in more situations (#9826)
Neil Moore [Tue, 30 Jun 2015 14:55:05 +0000]
Allow monsters to cut firewood in more situations (#9826)

When the firewood is not on the straight-line path to the target:

The scorpion, if targetting the player, previously was not willing to
attack the plant, because the straight-line move to the player was
calculated to be northeast, and the fallback was not even considering
the blocked path north.

(cherry picked from commit 78138a92cd450144a2e524bb92bebe547200b818)


5 years agoFix FeEE not getting stones (#9792)
Chris Campbell [Mon, 29 Jun 2015 16:54:16 +0000]
Fix FeEE not getting stones (#9792)

(cherry picked from commit 7e755d17defddfc4c5d06d57057a8d702d3aa420)


5 years agoStop flying on losing big wings (#9721)
Neil Moore [Sun, 28 Jun 2015 17:00:58 +0000]
Stop flying on losing big wings (#9721)

If the player had no other source of flight, the same as losing boots of
flying (including an emergency evoke if wearing a ring of flight).

(cherry picked from commit 3d113ad40d6eba6bf5ffadd13efae735f055c4fc)

5 years agoImprove monster speech, remove fake spells
Chris Campbell [Sat, 27 Jun 2015 12:14:55 +0000]
Improve monster speech, remove fake spells

Remove some particularly misleading lines, don't use the actual spellcasting or
enchantment speech channels for regular monster speech in general, and assorted
other speech tweaks/removals.

(cherry picked from commit d8e60f6d89799444fcc782e1308c012d157e25a0)

5 years agoAlso mention curse removal for ?oEW (MarvinPA).
Shmuale Mark [Wed, 24 Jun 2015 15:59:23 +0000]
Also mention curse removal for ?oEW (MarvinPA).

(cherry picked from commit f3e7a1dc2a4c4ebd8a4020abb85f7b11b34dd8e8)

5 years agoMention the remove curse effect of ?oEA (RoGGa).
Shmuale Mark [Wed, 24 Jun 2015 15:02:36 +0000]
Mention the remove curse effect of ?oEA (RoGGa).

(cherry picked from commit 0f6c2aec27dab41dfbe1b463d04ce8664226b468)

5 years agoCapitalise the Abyss
Chris Campbell [Tue, 23 Jun 2015 20:42:30 +0000]
Capitalise the Abyss

(cherry picked from commit eb41febcab8a843719e7282bb1b9a0975f4b04b8)

5 years agoDon't revoke sanctuary when a confused ally attacks you
Chris Campbell [Tue, 23 Jun 2015 11:01:46 +0000]
Don't revoke sanctuary when a confused ally attacks you

Also lets confused allies get away with attacking hostiles, which is probably
fine I guess. They're too dumb to be held responsible like the player is, or

The player just swaps places with allies in sanctuary instead of attacking
them, even while confused - maybe a better fix is just to cancel attacks from
confused allies in sanctuary?

(cherry picked from commit df36facd8c4e83fc851d77382977888633bba2c6)

5 years agoFix ranged combat not breaking sanctuary
Chris Campbell [Tue, 23 Jun 2015 10:40:06 +0000]
Fix ranged combat not breaking sanctuary

(cherry picked from commit f72cd6dec2f0f06125a707813e84b7418125cc4d)

5 years agoFix confused attacks not revoking sanctuary
Chris Campbell [Tue, 23 Jun 2015 10:39:30 +0000]
Fix confused attacks not revoking sanctuary

There's already a prompt warning that it will do so.

(cherry picked from commit 33f878227546cbef46c0f6a5c2be32e890ab4389)

5 years agoFix Tornado and Static Discharge not breaking sanctuary
Chris Campbell [Tue, 23 Jun 2015 09:49:12 +0000]
Fix Tornado and Static Discharge not breaking sanctuary

(cherry picked from commit cf6271e32e22190160ec6ef534e49850943d19c7)

5 years agoHighlight headings of Ash skill boost description (amalloy)
Chris Campbell [Mon, 15 Jun 2015 22:17:00 +0000]
Highlight headings of Ash skill boost description (amalloy)

Made it white instead of the red of the pull request, since that looked sort
of ugly and white still stands out but is more subtle.

(cherry picked from commit 177e3b54f91ab17d188c09d0575525996b27f367)

5 years agoGive a little hint when wearing flight ego (#9762)
Neil Moore [Wed, 10 Jun 2015 12:58:17 +0000]
Give a little hint when wearing flight ego (#9762)

Since the boots usually turn on automatically, it's not clear that they
do in fact grant an evocable ability.  Then if you are grounded by
Roots, even taking off and re-wearing the boots doesn't make you fly
again, so they appear not to work.

Perhaps we should use a new message channel to make it easier to filter
out UI hints like this one and the Beogh " convert" message.

(cherry picked from commit bd9db62c8d30e528c6a5eac667cae2a507683d9c)

5 years agoFix description of MR--- mutation
Alan Malloy [Mon, 8 Jun 2015 21:11:31 +0000]
Fix description of MR--- mutation

[committer's note: closes #58 pull request. -nfm]

[skip ci]

(cherry picked from commit 2a080e749a4f6ae09888bfe8e6e48e8fc6a1ce26)

5 years agoWebtiles: Update Tornado version requirements (Chance672)
Neil Moore [Mon, 8 Jun 2015 16:28:47 +0000]
Webtiles: Update Tornado version requirements (Chance672)

Version 2.0 doesn't work, nor does 4.  There is a branch tornado4
that fixes Tornado 4, but it breaks versions earlier than 3.1 at the

[skip ci]

(cherry picked from commit fdc105914f4485de4b1d2ba5848eab1adc63bc6c)

5 years agoUpdate kobold description (9757)
Nicholas Feinberg [Sun, 7 Jun 2015 01:30:28 +0000]
Update kobold description (9757)

Remove a reference to saprovorousness; obsolete as of 17fcb76da48,
over a year ago.

(cherry picked from commit f4034ed0bf8cd58cb4e0b1cce43897cfd3f3f551)

5 years agoDon't recolour monsters in LOS with always_show_exclusions (minmay)
Chris Campbell [Sat, 6 Jun 2015 18:00:48 +0000]
Don't recolour monsters in LOS with always_show_exclusions (minmay)

(cherry picked from commit b6b9ca93541e4a456b77173a6bb628ba5201c3d1)

5 years agoDon't push a freed string in Lua item.sub_type()
Neil Moore [Fri, 5 Jun 2015 07:59:37 +0000]
Don't push a freed string in Lua item.sub_type()

(cherry picked from commit 0cd2dfe203b67dd3c912b4daddfe398968dccd48)

5 years agoDon't shaft into teleport closets.
Neil Moore [Fri, 5 Jun 2015 05:41:02 +0000]
Don't shaft into teleport closets.

There was code to prevent that just as with hatches, but it doesn't
appear to have worked since 0.10.

(cherry picked from commit 3a74afbabf3f5b49def6d1ab44710810902b83d2)

5 years agoAvoid losing monster item drops under Ashenzari (#8430)
Neil Moore [Fri, 5 Jun 2015 23:48:00 +0000]
Avoid losing monster item drops under Ashenzari (#8430)

We might taking a level excursion as a side effect of dropping the item
(god_id_item() -> ... -> ShoppingList::item_type_identified).  But that
lost the still-being-processed dead monster, since dead monsters are
only marshalled as a placeholder.  Keep the monster alive until we
are finished dropping its inventory.

There are probably other places where an excursion can happen while a
monster is in the middle of dying, resulting in similar bugs.  In
particular, #7983 is a similar report, but with Nemelex, not Ashenzari;
and #8187 with Beogh.

(cherry picked from commit d996e2d27e9492215b3114711ffa84e80b6434e4)

5 years agoTweak the shield offset of the orc warlord tile
gammafunk [Fri, 22 May 2015 02:16:01 +0000]
Tweak the shield offset of the orc warlord tile

It was too far to the right, causing visual artifcacts in WebTiles when
warlords with large shields moved around.

(cherry picked from commit 0372368345f64182c7269bdec3145a690572dace)

5 years agoConstify
gammafunk [Fri, 22 May 2015 00:51:41 +0000]

It makes PleasingFungus happy

(cherry picked from commit ae93c2e9ef1b335ed658f686e997f84521f81796)

5 years agoProperly count items in shops for Objstat
gammafunk [Fri, 22 May 2015 00:28:06 +0000]
Properly count items in shops for Objstat

A change in 1e85cf02 made unpurchased shop items have a 0 quantity in
mitm, with the original item stored in shop_struct.stock. This wasn't
accounted for in objstat's code, so it ommitted shop items in 0.16 and
0.17. We now look explicitely for valid shops and count the valid items
in stock.

(cherry picked from commit 1dfc19394fa535fbbc959ba6c379323aad2ff8f7)

5 years agoFix up Objstat header in the first output column
gammafunk [Tue, 5 May 2015 00:45:47 +0000]
Fix up Objstat header in the first output column

to include "Item" or "Monster" as appropriate.

(cherry picked from commit 11a89955dd0f068f9556ef40cc02a55129120a18)

5 years agoTweak the level names printed in Objstat
gammafunk [Mon, 27 Apr 2015 04:51:22 +0000]
Tweak the level names printed in Objstat

Don't print the depth for branches with one level, and only use
0-padding to two digits if there are at least 10 levels (currently only

(cherry picked from commit 0c87caa43bbc62e2f0e96f28c3626ee0954cddd7)

5 years agoRemove specialized food handling for Objstat
gammafunk [Fri, 24 Apr 2015 21:40:05 +0000]
Remove specialized food handling for Objstat

We no longer need to filter out unused food types, since these don't
place and objects that don't place won't have entries now.

(cherry picked from commit 1f09329218c023ba33f0d899023e3d54e3d2ffaf)

5 years agoRework Objstat output to make one file per table
gammafunk [Tue, 21 Apr 2015 04:36:00 +0000]
Rework Objstat output to make one file per table

Previously output was one file per branch, with all object tables in the
same file. Now there is one file per table, with a separate file
containing job details. For item stats, each item type has it's own
table file, and there's one table for monster stats. Each table contains
the data for all levels, with a new row for entries from each level
instead of having them in the same row, and a column to indicate the
level. The level column has a format of "Branch:Depth", where depth is
always two digits for sorting purposes, the branch summary entries have
"Branch" only, and the all level summary uses "AllLevels".

Additionally objects that don't exist for a given level do not get
entries in the output table for that level, drastically reducing the
size of the monster table and some item tables for many
branches. Previously we printed rows all objects even if they never

These changes will make the data work a lot better in spreadsheets in
terms of table headers and will allow the data to be more easily
imported into e.g. Google Sheets. A workbook made from all data can have
one sheet per table instead of one sheet per branch.

(cherry picked from commit 129652e0cd6e00207ea23b8c21b7a9163ffede25)

5 years agoMove Objstat equipment brand data into seperate vectors
gammafunk [Tue, 21 Apr 2015 04:35:13 +0000]
Move Objstat equipment brand data into seperate vectors

Weapons and armour have their own vectors, to avoid further indexing
hell. Refactor so that this doesn't create significant code duplication.

(cherry picked from commit 9d13880ffd8874e8d7fc417add1583b97c6159cf)

5 years agoAdd the define DEBUG_STATISTICS to build mapstat and objstat
gammafunk [Sat, 18 Apr 2015 23:16:05 +0000]
Add the define DEBUG_STATISTICS to build mapstat and objstat

Setting DEBUG_STATISTICS will now cause mapstat and objstat code to
build, so a full debug build is no longer required for these
features. You can add EXTERNAL_FLAGS_L=-DDEBUG_STATISTICS to your make
command to set the define. The DEBUG_DIAGNOSTIC define used by full
debug builds sets DEBUG_STATISTICS, so both features are still available
for these builds as well.

(cherry picked from commit fd4638e238ecd82e999318e39c6ce71990253729)

5 years agoMove objstat code to its own source file
gammafunk [Sat, 18 Apr 2015 20:27:38 +0000]
Move objstat code to its own source file

Adds and moves code to there from, with the
appropriate header changes.

(cherry picked from commit 32da3eeb750f4a3478997e11e6c1c26477272945)


5 years agoFix two missing parens (#9675)
Neil Moore [Thu, 23 Apr 2015 22:41:02 +0000]
Fix two missing parens (#9675)

5 years agoFix a rare shop crash (#9608).
Shmuale Mark [Thu, 16 Apr 2015 20:44:24 +0000]
Fix a rare shop crash (#9608).

Not bothering to add a special message or anything since it's such a rare

(cherry picked from commit 00468da8c81818f1a8a62e9b85e07fc70620711f)

5 years agoFix an error on unsigned char systems (#9630, wheals)
Neil Moore [Tue, 14 Apr 2015 21:04:04 +0000]
Fix an error on unsigned char systems (#9630, wheals)

We were using a char to represent an inventory slot, with -1
meaning no slot; but on a system with unsigned chars, this fails:

   char slot = -1;
   if (slot == -1) // false, 255 != -1

Just use an int instead---it's probably faster anyway.

(cherry picked from commit 22c127ab5981fafde8c587314199e231e75744bd)

5 years agoDon't crash on berserk/no-artifice melded evoke.
Neil Moore [Tue, 14 Apr 2015 05:55:12 +0000]
Don't crash on berserk/no-artifice melded evoke.

That is, pressing v while your weapon is melded and either you are
berserk, or you have the no-artifice mutation.

(cherry picked from commit aff3b41a6dc8674ff5a029e926db93b3fb67e35c)

5 years agoupdate submodule locations
Jesse Luehrs [Wed, 1 Apr 2015 06:49:44 +0000]
update submodule locations

(cherry picked from commit 4a3927484bf546abfb0a5d6f78d2b4d8150ede54)
(cherry picked from commit 671d411ba2455973edb418e39d77e152a098b6a8)

5 years agoMark poison perma-useless even for the temporarily rP (#9626)
Neil Moore [Fri, 10 Apr 2015 20:27:50 +0000]
Mark poison perma-useless even for the temporarily rP (#9626)

Rather than trying to specify the conditions where poison is not
a bad item, just call is_bad_item.

(cherry picked from commit c97a6c537493239d5163b56c8e86d3dcda0da4b1)

5 years agoFix targeting of Dithmenos spell-shadowing (#9614)
Alan Malloy [Mon, 6 Apr 2015 22:27:54 +0000]
Fix targeting of Dithmenos spell-shadowing (#9614)

If you target a floor tile with za., your shadow shouldn't use zaf
targeting, which might, eg, hit an allied monster behind the tile
you targeted.

[Committer's node: would be nice to do this for shadow throw, too,
 but that's a little more complicated. -nfm]

(cherry picked from commit 6233edf2a1a5d1921c88d418c5815618bd2fa902)

5 years agoRestore high-damage attack verbs (G-Flex)
Neil Moore [Sun, 29 Mar 2015 15:26:57 +0000]
Restore high-damage attack verbs (G-Flex)

They were being set from calc_damage, but depended on damage_done
already being set.

(cherry picked from commit 2e14b11de559fef34e02b69406269b9657ec7965)

5 years agoSatisfy typographical pedants (wheals)
Neil Moore [Fri, 27 Mar 2015 13:45:02 +0000]
Satisfy typographical pedants (wheals)

Not going so far as to use the Unicode name "HYPHEN-MINUS".

[skip ci]

(cherry picked from commit 69308219b0e3cf131f85935369b9afd5bc35630e)

5 years agoFix compiler warnings with freetype 2.5.4+
Neil Moore [Thu, 26 Mar 2015 23:08:40 +0000]
Fix compiler warnings with freetype 2.5.4+

They changed some fields from int to unsigned, causing sign warnings.

(cherry picked from commit ea9da19ca6cfa58e68f34572514cbeb147cd3b73)

5 years agoDon't crash when calling clua it.slot for an object on the floor.
elliptic [Sun, 29 Mar 2015 14:28:34 +0000]
Don't crash when calling clua it.slot for an object on the floor.

There's no need to try to give the last slot occupied in inventory by a
dropped object, which is what the old code was doing (and crashing when the
object had never been in inventory)... arguably that was an info leak even.

(cherry picked from commit d7335f2ebbda1f458fea96956a8b9f349e4379ed)

5 years agoUpdate Qazlal's wrath description
Chris Campbell [Sun, 29 Mar 2015 00:57:05 +0000]
Update Qazlal's wrath description

(cherry picked from commit 5ae695d1732ea1417f3a26d1f4f6d5564092f6c9)

5 years agoStop lying to poor innocent bots and tell them that starcursed masses have a ranged...
elliptic [Sat, 28 Mar 2015 20:15:11 +0000]
Stop lying to poor innocent bots and tell them that starcursed masses have a ranged attack (qw).

(cherry picked from commit f5308cc3048444f774fbec5b3e7919413f09d1d9)

5 years agoFix monsters with phase shift having 8 more EV than intended.
elliptic [Fri, 27 Mar 2015 18:05:13 +0000]
Fix monsters with phase shift having 8 more EV than intended.

Caused by 18cf4eb.

(cherry picked from commit 1c381060c4b2393caf95c0811e08b882465aa1b2)

5 years agoDon't crash on PgUp in an empty formatted_scroller (gw)
Neil Moore [Thu, 26 Mar 2015 05:02:27 +0000]
Don't crash on PgUp in an empty formatted_scroller (gw)

(cherry picked from commit e4a03fd018e04070f49fe555b9729d3aac119bcb)

5 years agoDon't allow cancelling accidental attacks (SevenDeadlySins)
Nicholas Feinberg [Thu, 26 Mar 2015 05:04:21 +0000]
Don't allow cancelling accidental attacks (SevenDeadlySins)

Specifically, when stumbling around confused with a !a weapon or
similar, you could repeatedly order a move command & cancel when
you actually "hit" something, for free.

5 years agoFix the Tiles application failing to run on OS X (geekosaur)
gammafunk [Tue, 24 Mar 2015 02:28:58 +0000]
Fix the Tiles application failing to run on OS X (geekosaur)

Previously the Tiles app dies on application launch (Finder or open -a)
because session id passed via an argument which the executable didn't
recognize. This change causes the argument to be ignored.

(cherry picked from commit a9cda9c08afa3914eab7a4dd03762913f8a0d329)

5 years agoFix Ash hand curse description (hy-on-github)
Nicholas Feinberg [Mon, 23 Mar 2015 15:38:00 +0000]
Fix Ash hand curse description (hy-on-github)

Would claim that your hands were bound if neither of them were.

Was broken by fec06700d15, last year.

5 years agoUpdate the debian directory 0.16.1
gammafunk [Mon, 23 Mar 2015 03:11:58 +0000]
Update the debian directory

Disable LTO for now, so we can build against ubuntu trusty and support a
wider range of systems, and enable PCRE. Update the changelog for 0.16.1

5 years agoUpdate the changelog for the 0.16.1 release
gammafunk [Mon, 23 Mar 2015 02:51:30 +0000]
Update the changelog for the 0.16.1 release

0.16.0 users are strongly encouraged to upgrade to 0.16.1, as noted in
the changelog.

5 years agoReapply a fix for a crash with cleaving + infusion vs spectral weapons
gammafunk [Mon, 23 Mar 2015 00:00:59 +0000]
Reapply a fix for a crash with cleaving + infusion vs spectral weapons

This correctly applies the fix in e0bdd66d8 by using a local variable
instead of the damage_done attribute of the attack class. This reverts
commit c3c9679.

(cherry picked from commit 90bd1c500bff56e71350d45dbea52bac3bedbd97)