4 years agoDj: strongly nerf Invo aptitude (+1 -> -1).
Adam Borowski [Fri, 1 Nov 2013 10:51:22 +0000 (11:51 +0100)]
Dj: strongly nerf Invo aptitude (+1 -> -1).

Theme: even in the Koran they don't strike me as overly religious beings,
and the top bad guy, Iblis, happens to be a djinni.  In secular fiction,
they tend to be obsessed with magic instead.

Balance: healers are all about food, going wild with Makhleb is
food-intensiveas well.  It's a pity to hurt TSO and Lugonu, but they'll
manage.  Dj^Sif sucked even before this series of commits but that can
be quite easy to adjust.

4 years agoMake magical contamination grant -Wiz.
Adam Borowski [Fri, 1 Nov 2013 10:44:38 +0000 (11:44 +0100)]
Make magical contamination grant -Wiz.

For everyone, although only Dj are likely to knowingly go into yellow.

The formula is cubic, thus it has little effect for safe amounts of glow
but goes really harsh as you go into harmful regions.

Should we compensate somehow?

4 years agoDj: make the contam bar show finer details.
Adam Borowski [Fri, 1 Nov 2013 09:04:43 +0000 (10:04 +0100)]
Dj: make the contam bar show finer details.

After scaling the values down, interesting things tend to happen in
the darkgrey region.  Thus, split it into three parts: dark grey,
light grey and yellow (warning).  This makes the colours inconsistent
with the status light, though -- ideas welcome.

As going into actual harmful contamination still isn't as bad as for
other races, thus this commit has the gauge's limit calibrated at
8000 rather than 5000.  We could put it farther, but then, it would
end up as your typical car gauge where on some models if you get to
halfway of the scale, there's a police chase after you.

4 years agoDj: rescale glow to same levels as everyone else.
Adam Borowski [Fri, 1 Nov 2013 08:07:31 +0000 (09:07 +0100)]
Dj: rescale glow to same levels as everyone else.

Food glow remains at the same relative level, glow glow is tripled.

Sadly, this means we won't see such pretty glowsplosions.  And with
glowsplosions using a random beam types, cold ones could cull excess
Dj population.

4 years agoDj: forbid wielding antimagic weapons.
Adam Borowski [Fri, 1 Nov 2013 07:14:39 +0000 (08:14 +0100)]
Dj: forbid wielding antimagic weapons.

You see, an item that blocks magic, used by a being made of magic...
Also, it exposes weirdness in the max_ep formula: if we went the intuitive
way, max_ep would be cut to 1/3.  Which would make the item useless.

4 years agoDeduplicate.
Adam Borowski [Fri, 1 Nov 2013 07:09:42 +0000 (08:09 +0100)]

4 years agoDj: satisfy nitpickers wrt that message about blood.
Adam Borowski [Fri, 1 Nov 2013 07:04:10 +0000 (08:04 +0100)]
Dj: satisfy nitpickers wrt that message about blood.

4 years agoDj: disallow berserk.
Adam Borowski [Fri, 1 Nov 2013 07:00:54 +0000 (08:00 +0100)]
Dj: disallow berserk.

Angels and demons can't zerk, and here we got an excuse.  Balance reasons
for Trog are obvious (no hunger).

Perhaps Trog should be forbidden outright (made of magic)?

4 years agoUse frenzy rather than berserk on thrashing horrors, as the latter didn't work.
Adam Borowski [Fri, 1 Nov 2013 06:47:36 +0000 (07:47 +0100)]
Use frenzy rather than berserk on thrashing horrors, as the latter didn't work.

Only stuff of natural holiness can 'zerk.  It can be debatable whether that
restriction makes sense, but that's how current code works.

4 years agoAllow actions from item description even if there is no room (#7484)
Neil Moore [Fri, 1 Nov 2013 07:28:20 +0000 (03:28 -0400)]
Allow actions from item description even if there is no room (#7484)

This might not be quite right on Android; the menu is still displayed,
and will probably cover some of the real text.  I am unable to test
on Android, though.

4 years agoFix the Tome of Destruction being usable multiple times for free
Chris Campbell [Fri, 1 Nov 2013 06:52:41 +0000 (06:52 +0000)]
Fix the Tome of Destruction being usable multiple times for free

Reading it from its description screen now correctly redraws the screen
and exits the inventory when finished.

Possibly this can be fixed in a neater way since the Tome is now the only
book that can be (r)ead from the description menu, with manuals being used
automatically and spellbooks being identified on pickup?

4 years agoIncrease Borgnjor's Revivification to level 8
Chris Campbell [Fri, 1 Nov 2013 03:33:10 +0000 (03:33 +0000)]
Increase Borgnjor's Revivification to level 8

4 years agoSet summoner when copying monster objects (#7521, #7536)
Neil Moore [Fri, 1 Nov 2013 06:40:44 +0000 (02:40 -0400)]
Set summoner when copying monster objects (#7521, #7536)

Monsters lost track of their summoners when moving between different
monster lists.  This caused spectral weapons to flee to the northeast
(towards (0,0)), as handle_behaviour did not know to set their new
target to the player's position.  The lack of summoner also caused
battlespheres to dissipate on their next action after taking stairs.

4 years agoUse cell_is_solid where appropriate.
Neil Moore [Fri, 1 Nov 2013 03:53:20 +0000 (23:53 -0400)]
Use cell_is_solid where appropriate.

4 years agoPrevent a few more potential clouds in solid features.
Neil Moore [Fri, 1 Nov 2013 03:43:45 +0000 (23:43 -0400)]
Prevent a few more potential clouds in solid features.

Some wizmode-only until we get a wall-swimming form.

4 years agoFix a disc of storms rain-placement crash.
Neil Moore [Fri, 1 Nov 2013 03:31:40 +0000 (23:31 -0400)]
Fix a disc of storms rain-placement crash.

4 years agoRevert "Revert Abyss/Thrashing horror changes"
Brendan Hickey [Fri, 1 Nov 2013 02:35:47 +0000 (19:35 -0700)]
Revert "Revert Abyss/Thrashing horror changes"

This reverts commit 6485c99bb781b308f116e1a5ed974bd43843adc9
in part. Thrashing Horror bands are restored with berserk escape.

4 years agoAbyss monster set revisions
Jason Van [Fri, 1 Nov 2013 02:18:00 +0000 (22:18 -0400)]
Abyss monster set revisions

There’s sort of an idea that Abyss has too many redundant, boring monsters,
that the demons overlap heavily with other branches, that variety will help.
However, using randomized floors as bases for spawns rarely gets
the more interesting parts of a given floor, instead mingling in more fluff.

As an alternative path, this patch weighs on and off monsters across
the current set to insert thematic, interesting branch representatives,
reducing less interesting currently-in monsters and demonic presence,
without heavily changing the balance of threats.

 * Cut and effectively replace in weight: mummy, necrophage, ugly thing,
   naga warrior, spiny worm, plain deep dwarf, and fungus for shapeshifter,
   orb spider, water elemental, orc sorcerer, basilisk, and wandering mushroom

 * Redistribute weight from draconians, golems, brain worm, bone dragon,
   freezing wraith, and flaming corpse to insert into the set
   deep elf sorcerer/demonologist, ophan, blink frog, and revenant

 * Put back in 3s because they're solid threats for the branch...
   but to reflect reducing overly-common demons of the branch,
   reduce the arbitrarily-common orange demon and reduce annoyance from
   neqoxecs. Likewise, redistribute weight from rare 3s and weaker 2s for
   ghost moth, quicksilver dragon, pearl dragon, spriggan enchanter,
   and glowing shapeshifter.

 * Scaling up by depth, place more: spatial maelstrom, shadow demon,
   hellephant, tentacled monstrosity, giant eyeball,
   flayed ghost, profane servitor.

 * Scaling down by depth, place less: Wight, Fire bat, ice beast,
   sky beast, iron devil, blue devil

The abyss is probably excessively dangerous by the bottom, though, now,
and could probably reduce the extra spawning shown on deeper floors,
or cut off some extreme threats (hell sentinel, ancient lich) until
at abyss rune depth.

While this makes the rarer monsters much stronger in theme and unique
danger, I can still see arguments on common thematic monsters.
I strongly discourage trying to make those more common thematic monsters
try to replace the currently solid set of abyss-unique monsters,
or place dozens of first-tier orcs, or yaks, slugs, snails, naga, bats, etc
with the excuse that they were pulled in too.

4 years agoOrganize Abyss monster set list
Jason Van [Fri, 1 Nov 2013 02:17:00 +0000 (22:17 -0400)]
Organize Abyss monster set list

Organize Abyss's monster list
Seriously, the list has nothing resembling order or grouping.
This sorts monsters into groups of natives, demons, miscellanous undead,
"outsider" branch representatives, and further miscellanous,
which should make it easier to assess the set as a whole.

4 years agoJust check stone stairs/escape hatches on D:14
Chris Campbell [Thu, 31 Oct 2013 22:55:31 +0000 (22:55 +0000)]
Just check stone stairs/escape hatches on D:14

In case a branch entry or similar were to be added to D:14, for example.

4 years agoAllow entering portal vaults and being banished on D:14
Chris Campbell [Thu, 31 Oct 2013 22:41:10 +0000 (22:41 +0000)]
Allow entering portal vaults and being banished on D:14

4 years agoRemove runed doors from a vault
Chris Campbell [Thu, 31 Oct 2013 22:07:00 +0000 (22:07 +0000)]
Remove runed doors from a vault

There's only loot behind them...

4 years agoRevert "Purge '3' from the Abyss"
Chris Campbell [Thu, 31 Oct 2013 21:06:15 +0000 (21:06 +0000)]
Revert "Purge '3' from the Abyss"

There's no good reason to exclude just one tier of demons, especially with
Abyss spawns now being drawn from more varied places and diluting the number
of demons generally.

This reverts commit c2eccffead06be99803836d85a963bb6d21b47fd.

4 years agoHandle invalid abyssal levels on game load (Grunt)
Neil Moore [Thu, 31 Oct 2013 22:00:48 +0000 (18:00 -0400)]
Handle invalid abyssal levels on game load (Grunt)

4 years agoInclude abyssal level in assertion dumps.
Neil Moore [Thu, 31 Oct 2013 21:39:48 +0000 (17:39 -0400)]
Include abyssal level in assertion dumps.

4 years agoUse RUNE_LOCK_DEPTH instead of a magic number.
Raphael Langella [Thu, 31 Oct 2013 21:40:51 +0000 (22:40 +0100)]
Use RUNE_LOCK_DEPTH instead of a magic number.

4 years agoProvide more information in an assert.
Adam Borowski [Thu, 31 Oct 2013 20:58:38 +0000 (21:58 +0100)]
Provide more information in an assert.

4 years agoMove the br.mid milestone to D:15.
elliptic [Thu, 31 Oct 2013 16:56:00 +0000 (12:56 -0400)]
Move the br.mid milestone to D:15.

To match the rune lock depth.

4 years agoRune lock.
Raphael Langella [Thu, 31 Oct 2013 16:07:46 +0000 (17:07 +0100)]
Rune lock.

You need a rune to go to D:15. Downstairs of D:14 could be recoloured or
replaced by a portal (maybe more consistent with D:27 zot portal).

4 years agoFix a banished eldritch tentacle crash.
Adam Borowski [Thu, 31 Oct 2013 08:00:35 +0000 (09:00 +0100)]
Fix a banished eldritch tentacle crash.

4 years agoRewrite monster_iterator.
Adam Borowski [Thu, 31 Oct 2013 07:52:27 +0000 (08:52 +0100)]
Rewrite monster_iterator.

It degenerated to a simple loop over menv, hardly worth any syntactic sugar.
I kept it for now, though.

4 years agomonster_near_iterator
Adam Borowski [Thu, 31 Oct 2013 07:16:07 +0000 (08:16 +0100)]

Does the "in view" part of functionality of monster_iterator, is simpler,
allows using los models other than LOS_DEFAULT, and gets rid of a lot of
uses of get_los().

The code is nearly identical as actor_near_iterator, but the old delegation
used more code than either of those.  Still, perhaps templating could work?

This commit also fixes a buttload of ignoring invis / see invis / sense invis
(ie, visible_to()) and act-through-glass bugs.

4 years agoRare insects, polymoths, chaos butterflies and bumblebees, back together!
Adam Borowski [Thu, 31 Oct 2013 06:56:28 +0000 (07:56 +0100)]
Rare insects, polymoths, chaos butterflies and bumblebees, back together!

4 years agoDon't let Xom swap weapons with something in water/lava.
Adam Borowski [Thu, 31 Oct 2013 06:48:02 +0000 (07:48 +0100)]
Don't let Xom swap weapons with something in water/lava.

This often ends in the weapon destroyed unless you lure that merfolk onto
dry land, or without real recourse if that's a salamander.

4 years agoSimplify actor_iterator and some of its users, rename to actor_near_iterator.
Adam Borowski [Wed, 30 Oct 2013 08:03:59 +0000 (09:03 +0100)]
Simplify actor_iterator and some of its users, rename to actor_near_iterator.

4 years agoFix wind drake/Sojobo breath not working away from the player.
Adam Borowski [Thu, 31 Oct 2013 05:24:58 +0000 (06:24 +0100)]
Fix wind drake/Sojobo breath not working away from the player.

4 years agoEject some cases outside loops.
Adam Borowski [Tue, 29 Oct 2013 19:11:50 +0000 (20:11 +0100)]
Eject some cases outside loops.

They are:
for (actor_iterator ai ...)
    if (ai->is_player())

which can be written simpler as:
for (monster_iterator mi ...)

as actor_iterator does some quirky encapsulation of monster_iterator.

4 years agoDump an useless vector.
Adam Borowski [Mon, 28 Oct 2013 19:10:42 +0000 (20:10 +0100)]
Dump an useless vector.

Also, drop support for starcursed mass players joining a monster chorus.

4 years agoMake actor->get_los() const.
Adam Borowski [Mon, 28 Oct 2013 18:53:32 +0000 (19:53 +0100)]
Make actor->get_los() const.

Really, I'd like to make it nonexistant instead...

4 years agoGet rid of most types of actor_iterator.
Adam Borowski [Mon, 28 Oct 2013 18:23:55 +0000 (19:23 +0100)]
Get rid of most types of actor_iterator.

4 years agoSimplify.
Adam Borowski [Mon, 28 Oct 2013 18:13:53 +0000 (19:13 +0100)]

4 years agoFix a crash when a monster dies to own water-elec discharge.
Adam Borowski [Thu, 31 Oct 2013 15:55:26 +0000 (16:55 +0100)]
Fix a crash when a monster dies to own water-elec discharge.

4 years agoConsider Archmagi a non-strict valid brand for item types (ackack).
Steve Melenchuk [Thu, 31 Oct 2013 15:27:37 +0000 (09:27 -0600)]
Consider Archmagi a non-strict valid brand for item types (ackack).

This doesn't generate it on any more items than it currently does, but
it does prevent the hat of the High Council from being invalidated.

4 years agoDon't crash on "?/m spectral" in tiles.
Adam Borowski [Thu, 31 Oct 2013 15:24:12 +0000 (16:24 +0100)]
Don't crash on "?/m spectral" in tiles.

4 years agoDo try to pick Place:$ for abyss layout/spawn purposes.
Adam Borowski [Thu, 31 Oct 2013 15:12:27 +0000 (16:12 +0100)]
Do try to pick Place:$ for abyss layout/spawn purposes.

4 years agoDon't try to pick Place:0 for abyss layout/spawn purposes.
Steve Melenchuk [Thu, 31 Oct 2013 15:08:12 +0000 (09:08 -0600)]
Don't try to pick Place:0 for abyss layout/spawn purposes.

4 years agoDon't install transifex files.
Raphael Langella [Thu, 31 Oct 2013 14:32:04 +0000 (15:32 +0100)]
Don't install transifex files.

4 years agoAdd Ignis, a lantern monster
Brendan Hickey [Thu, 31 Oct 2013 06:29:11 +0000 (23:29 -0700)]
Add Ignis, a lantern monster

The Ignis will be a new abyss denizen.

It's slightly fast, maintains its distance and spams you with corona.
It requires some fiddling, requiring greater HD so everything doesn't
resist the attack, without being just a sack of experience.

ontoclasm and I also discussed making it noisy or mark you. Mark is
probably highly undesirable in the abyss.

4 years agoRandom level selection for out-of-Abyss spawns (bh).
Steve Melenchuk [Thu, 31 Oct 2013 04:33:40 +0000 (22:33 -0600)]
Random level selection for out-of-Abyss spawns (bh).

4 years agoHave the one-in-three out-of-Abyss mons chance always apply (bh).
Steve Melenchuk [Thu, 31 Oct 2013 04:17:22 +0000 (22:17 -0600)]
Have the one-in-three out-of-Abyss mons chance always apply (bh).

That is, there's a one in three chance that any given Abyss spawn is
from somewhere else in the dungeon - the rest of the implementation of
what ba20e99 was meant to do.

4 years agoDraw some abyssal spawns from outside the abyss.
Brendan Hickey [Thu, 31 Oct 2013 03:54:10 +0000 (20:54 -0700)]
Draw some abyssal spawns from outside the abyss.

4 years agoDon't have monsters consider blinking if Tornadoing.
Steve Melenchuk [Thu, 31 Oct 2013 03:36:24 +0000 (21:36 -0600)]
Don't have monsters consider blinking if Tornadoing.

Presumably they want to get the full effect of the spell (and the
translocation nerf doesn't apply to them yet).

This is more of a short-term solution while I figure out a reasonable
way to get the translocation nerf to apply.

4 years agoShut up a compiler warning.
Steve Melenchuk [Thu, 31 Oct 2013 03:14:50 +0000 (21:14 -0600)]
Shut up a compiler warning.

4 years agoTornado as a monster spell for the sole use of Lom Lobon.
Steve Melenchuk [Thu, 3 Oct 2013 20:44:05 +0000 (14:44 -0600)]
Tornado as a monster spell for the sole use of Lom Lobon.

This takes the place of one instance of Blink Range and instead of the
emergency Ice Storm.

Currently this isn't nerfed by monster translocations; I question if we
really want to have Blink Range on Lom anyway (it makes him extremely
easy to avoid).

If there's another scenario in which this is likely to work, well, it's
here now.

4 years agoHave the Orb not take up an inventory slot.
Steve Melenchuk [Fri, 24 May 2013 00:35:35 +0000 (18:35 -0600)]
Have the Orb not take up an inventory slot.

It still, however, costs 60 aum to carry, and has all of its other

4 years agoSimplify.
Neil Moore [Thu, 31 Oct 2013 03:30:28 +0000 (23:30 -0400)]

4 years agoSet Abyssal sub-branch when initializing.
Brendan Hickey [Thu, 31 Oct 2013 03:07:19 +0000 (20:07 -0700)]
Set Abyssal sub-branch when initializing.

4 years agoAdd a branch to the abyss.
Brendan Hickey [Tue, 29 Oct 2013 05:22:02 +0000 (22:22 -0700)]
Add a branch to the abyss.

This adds branches to the abyss. These will be used for monster generation.

4 years ago[Transifex] Sync.
Translators [Wed, 30 Oct 2013 22:11:05 +0000 (23:11 +0100)]
[Transifex] Sync.

Signed-off-by: Raphael Langella <>
4 years agoUse French spacing in jump attack descs.
Adam Borowski [Wed, 30 Oct 2013 19:56:15 +0000 (20:56 +0100)]
Use French spacing in jump attack descs.

We standardize on just a single space after full stop (yeah, I hate this
myself, but let's be consistent).

4 years agoRemove reference to increased jump-attack damage and indicate that it uses melee.
gammafunk [Wed, 30 Oct 2013 18:49:18 +0000 (13:49 -0500)]
Remove reference to increased jump-attack damage and indicate that it uses melee.

4 years agoDe-noise Elemental Staff.
Adam Borowski [Wed, 30 Oct 2013 19:38:38 +0000 (20:38 +0100)]
De-noise Elemental Staff.

4 years agoProperly enumerate High Council's player doll tile.
Steve Melenchuk [Wed, 30 Oct 2013 19:36:27 +0000 (13:36 -0600)]
Properly enumerate High Council's player doll tile.

4 years agoDon't space out on unrand inscriptions (#7685).
Steve Melenchuk [Wed, 30 Oct 2013 19:33:29 +0000 (13:33 -0600)]
Don't space out on unrand inscriptions (#7685).

This was being caused by INSCRIP being generated as "" instead of NULL
by default.

4 years agoDe-noise High Council.
Steve Melenchuk [Wed, 30 Oct 2013 19:03:45 +0000 (13:03 -0600)]
De-noise High Council.

This was mostly a relic of its original design.

If it ends up being too powerful after this, I may play with its
impact on spell success rates some more.

4 years agoElemental Staff rework, try 2.
Adam Borowski [Wed, 30 Oct 2013 19:04:45 +0000 (20:04 +0100)]
Elemental Staff rework, try 2.

It's a 100% staff now (per the name) rather than 25% as it was before.
In return, its special damage has been improved, and no longer depends
on the base hit.  The new formula has the same damage as the elec brand
(obeying one of random four resistances), with a chance of proccing
depending on the Evoc skill.

At 27 skill, it does ~2/3 damage of enhancer staves.  It lacks the
power boost (ie, the main reason to use such staves) but its awesome
resists make it a good fixedart.

4 years agoIncrease the size of the description box in species/job selection menu.
Raphael Langella [Wed, 30 Oct 2013 16:49:56 +0000 (17:49 +0100)]
Increase the size of the description box in species/job selection menu.

Most languages are not as concise as english, it's quite hard to fit
translations on 2 lines. Besides, there's plenty of room on the screen.

4 years agoDon't mandate uniqueness of custom inscriptions (pubby)
Neil Moore [Wed, 30 Oct 2013 10:43:41 +0000 (06:43 -0400)]
Don't mandate uniqueness of custom inscriptions (pubby)

4 years agoFix whitespace.
Neil Moore [Wed, 30 Oct 2013 10:32:55 +0000 (06:32 -0400)]
Fix whitespace.

4 years agoFix behaviour event and agentless crash in drain life.
Neil Moore [Wed, 30 Oct 2013 09:26:46 +0000 (05:26 -0400)]
Fix behaviour event and agentless crash in drain life.

Fire an ME_ANNOY rather than ME_WHACK event so that stupid monsters
can't tell where the draining came from; this reflects the change already
made to OTR and Refrigeration in 0.14-a0-299-g49704ef.

Also incorporate the same fix for a missing agent as was applied to
Refrigeration in 0.14-a0-462-g04546ee, as well as a few additional
related fixes.

4 years agoDon't crash on agentless refrigerate.
Neil Moore [Wed, 30 Oct 2013 09:21:27 +0000 (05:21 -0400)]
Don't crash on agentless refrigerate.

This could happen, for example, if an unknown scroll of brand weapon
bestows the freezing brand.  See for example:

4 years agoBrighten centaur tiles
ontoclasm [Wed, 30 Oct 2013 04:28:47 +0000 (23:28 -0500)]
Brighten centaur tiles

4 years agoUnrand: the +2 hat of the High Council {Archmagi, Wiz- Noisy Contam Stlth-}.
Steve Melenchuk [Tue, 29 Oct 2013 19:30:40 +0000 (13:30 -0600)]
Unrand: the +2 hat of the High Council {Archmagi, Wiz- Noisy Contam Stlth-}.

It has an anti-wizardry effect, e.g. it negatively impacts spell success
rates - on the whole, it's basically a hat of wild magic.

There's a minor adjustment here to item name code to get the noises to
display properly.

4 years agoAllow unrands to have a special string added to their inscription.
Steve Melenchuk [Tue, 29 Oct 2013 22:23:42 +0000 (16:23 -0600)]
Allow unrands to have a special string added to their inscription.

For example, Hellfire gains a fake "hellfire" brand inscription.

4 years agoUse dbname for mimic_name() instead of basename.
Steve Melenchuk [Tue, 29 Oct 2013 22:49:14 +0000 (16:49 -0600)]
Use dbname for mimic_name() instead of basename.

Previously, you'd get randart mimics such as "ravenous distressingly
furry chain mail mimic".

4 years agoMacabre finger tile (pubby, 7642)
ontoclasm [Tue, 29 Oct 2013 22:44:11 +0000 (17:44 -0500)]
Macabre finger tile (pubby, 7642)

4 years agoAdd big fat (but not fat or scary enough) warnings about save corruption.
Adam Borowski [Tue, 29 Oct 2013 21:51:26 +0000 (22:51 +0100)]
Add big fat (but not fat or scary enough) warnings about save corruption.

On a modern computer, crawl tends to process commands fast enough that
closing the game is likely to happen during some waiting for event loop,
and thus typically not cause not cause a lock-up or memory corruption
but "merely" allow cheating.  This is not acceptable, and once in a while
you get more classical results of doing naughty stuff from a signal

One way of fixing this would be setting a flag (seen_hups) and killing
any functions that wait for an event.  This can be tricky because:

* ncurses like to sabotage EINTR.  We need to abort it both on SIGHUP
  and on SIGWINCH, without race conditions.  The documentation says
  SIGWINCH is supposed to return a pseudo key code, KEY_RESIZE but
  this doesn't seem to be working.  Not sure how to abort it on HUP.

* win32's console functions don't have an equivalent to EINTR.  Perhaps
  injecting a fake key with WriteConsoleInput would work?

* same for tiles and Android.

* yesno() without a safeanswer will loop forever

4 years agoJoin Snakebite with Sniper, blowgun Assassin, Accuracy and LCS.
Adam Borowski [Tue, 29 Oct 2013 19:32:30 +0000 (20:32 +0100)]
Join Snakebite with Sniper, blowgun Assassin, Accuracy and LCS.

4 years agoCorrect a renamed spell in two Sprints (#7678).
Neil Moore [Tue, 29 Oct 2013 12:40:30 +0000 (08:40 -0400)]
Correct a renamed spell in two Sprints (#7678).

4 years agoUse a member, not a constructor parameter.
Neil Moore [Tue, 29 Oct 2013 12:34:04 +0000 (08:34 -0400)]
Use a member, not a constructor parameter.

4 years agoSuppress Elemental Staff brands.
Neil Moore [Tue, 29 Oct 2013 12:20:03 +0000 (08:20 -0400)]
Suppress Elemental Staff brands.

4 years agoSuppress monster weapon brands.
Neil Moore [Tue, 29 Oct 2013 12:18:59 +0000 (08:18 -0400)]
Suppress monster weapon brands.

4 years agoNerf quitrobin by removing starting gold.
Adam Borowski [Tue, 29 Oct 2013 11:50:57 +0000 (12:50 +0100)]
Nerf quitrobin by removing starting gold.

There are no shops on D:1-3, and with gold being included in score, if you
haven't done jack, you deserve 0 points.

4 years agoSpecify upgrade inhibition in art-data.txt
Adam Borowski [Tue, 29 Oct 2013 11:46:54 +0000 (12:46 +0100)]
Specify upgrade inhibition in art-data.txt

4 years agoUpdate unrands on game load.
Adam Borowski [Tue, 29 Oct 2013 11:34:18 +0000 (12:34 +0100)]
Update unrands on game load.

It's frustrating to recreate them over and over when you're messing with one.

4 years agoShorten the inscription on Elemental Staff a bit.
Adam Borowski [Tue, 29 Oct 2013 11:17:31 +0000 (12:17 +0100)]
Shorten the inscription on Elemental Staff a bit.

Using ARTP_AC instead of a brand saves 4 characters, having both pluses
equal another 3.

4 years agoRework the Elemental Staff.
Adam Borowski [Tue, 29 Oct 2013 10:48:39 +0000 (11:48 +0100)]
Rework the Elemental Staff.

Give it custom sounds and rElec, remove hunger, apply a random brand on hit.

Randart noises seem to not fit it at all.

High rC++, rF++ and rEarth (ie, AC) make the lack of rElec weird -- its
desc says outright "guild of four elements".

4 years agoMerge branch 'banish'
Brendan Hickey [Tue, 29 Oct 2013 04:18:09 +0000 (21:18 -0700)]
Merge branch 'banish'


4 years agoDon't wind blast monsters through walls (Naruni, #7434)
Neil Moore [Tue, 29 Oct 2013 02:00:06 +0000 (22:00 -0400)]
Don't wind blast monsters through walls (Naruni, #7434)

Consider the following situation, with a monster at m and
a wall at %.


The previous code, on seeing that % was blocked, would look for a new
spot adjacent to % and equidistant from @ (compared to %).  The spot
marked ! satisfies the constraints, despite being disconnected from m,
so the monster could be shoved to ! across a wall.

Now we look for spots adjacent to both m and % (and equidistant from @
compared to %).  That way the monster moves step-by-step without
skipping over any potential walls.  In this case, the spot marked ^
is a candidate.

This should also fix some cases of monsters "bouncing" off walls.  Now
if the blast is at a shallow angle (less than 45 degrees, as in the
example above), the monster will slide along the wall; if the angle
is deeeper, the monster will be stuck in place against the wall.

4 years agoA couple of Hell entry vaults.
Steve Melenchuk [Tue, 29 Oct 2013 01:54:38 +0000 (19:54 -0600)]
A couple of Hell entry vaults.

This is mainly to give the builder something smaller than the current
entry vaults to try to place reliably.

I may do up some more as ideas come to me.

4 years agoFallback functionality for chance_ tag groups.
Steve Melenchuk [Tue, 29 Oct 2013 01:14:58 +0000 (19:14 -0600)]
Fallback functionality for chance_ tag groups.

If the original vault picked to fulfill a chance_ tag fails to place, a
vault tagged fallback_ with the same root (so fallback_hell_entry for
chance_hell_entry) will be tried instead.

This is intended to guarantee that important vaults (hell/pan/abyss
portals) will get placed. Right now this isn't actually a guarantee per
se, but the chances that a 1x1 vault fails to place somewhere seem to be
negligible - if this needs to be expanded upon, perhaps we can add the
suggested "guarantee" tag.

4 years agoReplace a weird use of distance_iterator by adjacent_iterator.
Adam Borowski [Mon, 28 Oct 2013 16:47:35 +0000 (17:47 +0100)]
Replace a weird use of distance_iterator by adjacent_iterator.

Not any more efficient (radius_iterator is notoriously slow), but
easier to read.

4 years agoAllow viewing remembered info about out of LOS stuff.
Adam Borowski [Mon, 28 Oct 2013 15:35:56 +0000 (16:35 +0100)]
Allow viewing remembered info about out of LOS stuff.

4 years agoPoint out the location of monsters in wall if DEBUG_FATAL is set.
Adam Borowski [Mon, 28 Oct 2013 15:29:52 +0000 (16:29 +0100)]
Point out the location of monsters in wall if DEBUG_FATAL is set.

Although the "highlight" consisting of a mere '?' is hard to find.

4 years agoRevert "Veto on failure to place a 100% chance vault."
Neil Moore [Mon, 28 Oct 2013 14:27:30 +0000 (10:27 -0400)]
Revert "Veto on failure to place a 100% chance vault."

It caused problems on Forest:5, when uniq_enchantress is vetoed because
the Enchantress already existed.  Reverting for now because we have a
stuck game on the servers; possible fixes are a new "guarantee" tag,
or to distinguish somehow between self-vetoes and failure to place.

This reverts commit 9cddb8dbda336f4ed1ff9473e3800859b5960691.

4 years agoDon't use an obscure word in a comment.
Adam Borowski [Mon, 28 Oct 2013 12:14:47 +0000 (13:14 +0100)]
Don't use an obscure word in a comment.

"Everyone not a moron will know it" is true only in Poland, and contrary
to my unconscious assumption, imported words are not equally widespread
everywhere -- especially that Sienkiewicz got it totally wrong.  With his
novels being until recently mandatory reading he effectively created a
new word.

Thus: "kęsim" -- a writer's impression of Tatar word for "decapitation".
Isn't "learn a word a day" fun?

4 years agoDon't impose TSO penance for reflecting poison/draining (you still get xp).
Adam Borowski [Mon, 28 Oct 2013 12:01:03 +0000 (13:01 +0100)]
Don't impose TSO penance for reflecting poison/draining (you still get xp).

This introduces a new pseudo-agent, akin to ANON_FRIENDLY_MONSTER.

4 years agoMove some boring test settings aside.
Adam Borowski [Mon, 28 Oct 2013 09:15:59 +0000 (10:15 +0100)]
Move some boring test settings aside.

There's no reason to change them whatsoever; a particular test will set them
explicitely if it matters.

4 years agoDrop a token file into test/big/
Adam Borowski [Mon, 28 Oct 2013 08:25:03 +0000 (09:25 +0100)]
Drop a token file into test/big/

git would remove the directory otherwise.

4 years agoVastly shorten test/big/abyss_shift.lua, enable it by default.
Adam Borowski [Mon, 28 Oct 2013 08:22:47 +0000 (09:22 +0100)]
Vastly shorten test/big/abyss_shift.lua, enable it by default.

Although, it doesn't do anything stress tests wouldn't catch.