diff -Nru crawl-0.19.0/debian/changelog crawl-0.19.1/debian/changelog --- crawl-0.19.0/debian/changelog 2016-11-07 06:16:54.000000000 +0000 +++ crawl-0.19.1/debian/changelog 2016-11-26 10:27:19.000000000 +0000 @@ -1,9 +1,15 @@ -crawl (2:0.19.0-1~ppa1~xenial1) xenial; urgency=medium +crawl (2:0.19.1-1~ppa1~xenial1) xenial; urgency=medium * Backport from Debian sid. - * Revert to debhelper 9. + * Revert to debhelper 9. - -- Vincent Cheng Sun, 06 Nov 2016 22:16:54 -0800 + -- Vincent Cheng Sat, 26 Nov 2016 02:27:19 -0800 + +crawl (2:0.19.1-1) unstable; urgency=medium + + * New upstream release + + -- Adam Borowski Fri, 25 Nov 2016 02:03:54 +0100 crawl (2:0.19.0-1) unstable; urgency=medium diff -Nru crawl-0.19.0/docs/changelog.txt crawl-0.19.1/docs/changelog.txt --- crawl-0.19.0/docs/changelog.txt 2016-10-31 23:38:16.000000000 +0000 +++ crawl-0.19.1/docs/changelog.txt 2016-11-24 01:42:12.000000000 +0000 @@ -1,3 +1,14 @@ +Stone Soup 0.19.1 (20161123) +-------------------------------------------- + +Bugfix Release +-------------- + +* Demon tridents are two-handed for small races, as intended. +* Allow Dith shadow to attack diagonally and to reach. +* Many other bug-fixes and cleanups. + + Stone Soup 0.19 (20161031) -------------------------------------------- @@ -20,7 +31,6 @@ * The Slime treasure vault's walls disappear entirely on their master's death. * Webs are no longer destroyed after creatures escape from them. * Beogh will no longer smite creatures that destroy orcish idols. -* Ambient noise is more significant in Shoals, the Desolation, Crypt, and Tomb. Lair and Orc no longer have ambient noise. * Storm cloud damage is more common and much less severe. * Non-opaque clouds created by the player vanish instantly when out of LOS. diff -Nru crawl-0.19.0/INSTALL.txt crawl-0.19.1/INSTALL.txt --- crawl-0.19.0/INSTALL.txt 2016-09-14 20:42:23.000000000 +0000 +++ crawl-0.19.1/INSTALL.txt 2016-11-23 10:16:48.000000000 +0000 @@ -227,64 +227,28 @@ https://msys2.github.io/ -Follow all of the steps you see on that page to install MSYS2, but please read -the additional notes below. The note for after Step 6 is particularly important -to be able to start the MSYS2 shell. - -* Download and run the MSYS2 installer exe at the top that is appropriate for - your processor, either the 32-bit or 64-bit. The 32-bit installer file has - the prefix 'msys2-i686', and the 64-bit version has the prefix - 'msys2-x86_64'. Most modern systems have 64-bit processors, but you can check - your system under Start->About this Computer or (e.g. Windows 10) - Start->Settings->About. +You generally want to install the 64-bit version of MSYS2 unless you have a +specific reason to build a 32-bit version of crawl. Follow all of the steps you +see on that page to install MSYS2, but please read the additional notes below. +In particular, when starting the MSYS2 Shell, be sure to run the 64-bit MinGW +version of MSYS2 and *not* the version labeled 'MSYS2 MSYS'. * The installer will put all MSYS2/MinGW files into a folder of your choice, - which defaults to 'C:\msys64'. You should not reuse any previous folder made - with previous installs of MSYS (from msysgit and/or win-builds.org) or MSYS2 - (from Git for Windows SDK). However if you have crawl-related work files from - such directories that you'd like to carry over, you can copy them to - e.g. 'C:\msys64\home\', where is your Windows - username. This is the path to your home directory in this new MSYS2 - installation. - -* After Step 6, where you update the installed packages, you'll see an update - message telling you to close the MSYS2 terminal and to update the Windows - shortcuts used to start MSYS2. The shortcut you'll use to start MSYS2 will be - either 'MinGW-w64 Win64 Shell' (64-bit systems) or 'MinGW-w64 Win32 Shell' - (32-bit systems), both of which you can find under the MSYS2 group in your - Start menu Applications list. - - You need to change the Target of this shortcut. On some systems you can - Right-click the shortcut and choosing Properties, and on later systems - (e.g. Windows 10), you Right-click, choose More->Open File Location, - right-click the file in the File manager window that appears, and then choose - Properties. From the Properties dialog, update the Target field according to - the message you saw in Step 6. For 64-bit systems, the necessary Target - should look like: - - C:\msys64\msys2_shell.cmd -mingw64 - - For 32-bit systems: - - C:\msys64\msys2_shell.cmd -mingw32 - - NOTE: The update message refers to a Target of 'MSYS2_ROOT\msys2_shell.cmd', - but the 'MSYS2_ROOT' in this path should be replaced with the directory where - you installed MSYS2, which by default is 'C:\msys64'. - -* After updating the shortcut above, you must close the MSYS2 shell and restart - it from the shortcut you've updated. Run the final update in Step 7 before - proceeding to the steps below. You can start the MSYS2 shell at any time - using the updated shortcut. - - NOTE: You generally don't want to use the shortcut called 'MSYS2 Shell', as - this starts a shell for working with Cygwin-based MSYS2 components. Building - Crawl in this environment is currently not supported. + which defaults to 'C:\msys64'. If you have crawl-related work files from + other directories that you'd like to carry over, you can copy them into + 'C:\msys64\home\', where is your Windows username. This + is the path to your home directory in this new MSYS2 installation. + +* After the installer finishes, you'll want to start the MSYS2 Shell to follow + steps 5-7 in order to update your installation. Be sure to use the menu entry + that's labeled MSYS2 MinGW 64-bit and *not* the one labeled 'MSYS2 MSYS'. + After each update step, restart the MSYS2 shell before the next step. + +After MSYS2 is fully installed and updated, follow steps below to install +development packages and compile Crawl. The commands shown below should be run +from within the MSYS2 Shell. -Install Git and the development packages, and compile crawl: - -* To install git and the base development packages, run the following command - from the MSYS2 shell: +* To install git and the base development packages, run: pacman -S base-devel git @@ -292,25 +256,26 @@ to any questions about installing packages or removing packages due to conflicts. -* Install the mingw-w64 gcc toolchain for your system. For a 64-bit system, - run: +* To install the mingw-w64 GCC toolchain for your system, run: pacman -S mingw-w64-x86_64-toolchain - For a 32-bit system, run: - - pacman -S mingw-w64-i686-toolchain - After the packages install, you're ready to build crawl! * To get the Crawl source, you can follow the steps in the Source Code Checkout section above to clone Crawl into your MSYS2 home directory. If you've - downloaded the source elsewhere, cd to that Crawl source directory. For - instance, if you have the Crawl sources in c:\crawl\source, you would type - 'cd /c/crawl/source'. + downloaded the source elsewhere, first 'cd' to that Crawl source directory. + For example, if you have the Crawl sources in c:\crawl\source, you would run: + + cd /c/crawl/source + +* Build the console version of Crawl by simply running: -* Build Crawl by running 'make'. If you want a graphical build, you will need - to add ' TILES=y' on the 'make' command line. + make + + If you want a graphical build, you will need to run add 'TILES=y': + + make TILES=y * When the build process finishes, you can run crawl.exe directly from the source directory in the MSYS2 shell. For Tiles, type './crawl', and for @@ -318,23 +283,6 @@ (necessary for it to run properly). Both versions can also be started by double-clicking crawl.exe using the graphical file explorer. -* For you stubborn types who insist on using separate MSYS and git installs, - make sure git.exe is in your PATH when trying to build from git! Otherwise, - util/gen_ver.pl will most likely fail to generate build.h. - -NOTE: If you have the older compilation environment of msysgit with Win-Builds -gcc or a separate install of MSYS2 that otherwise differs from the steps above, -you may need to add a 'NO_PKGCONFIG=y' argument when building Crawl. This makes -the build use the contribs included in the Crawl distribution instead of those -installed in your MSYS environment. If you do want to use these outside -libraries, omit 'NO_PKGCONFIG=y', but you will likely need to use some of the -Crawl contribs. You can make the build use a specific Crawl contrib library -over ones installed in your MSYS by adding any of the following make arguments, -which can be used in any combination: - - BUILD_LUA=y BUILD_ZLIB=y BUILD_SQLITE=y BUILD_SDL2=y BUILD_SDL2IMAGE=y - - Building on Windows (Cygwin) ---------------------------- diff -Nru crawl-0.19.0/source/ability.cc crawl-0.19.1/source/ability.cc --- crawl-0.19.0/source/ability.cc 2016-10-31 23:38:16.000000000 +0000 +++ crawl-0.19.1/source/ability.cc 2016-11-12 12:16:10.000000000 +0000 @@ -331,7 +331,7 @@ 1, 0, 0, 0, {FAIL_XL, 45, 2}, abflag::PERMANENT_MP }, { ABIL_EVOKE_BERSERK, "Evoke Berserk Rage", - 0, 0, 600, 0, {FAIL_EVO, 50, 2}, abflag::NONE }, + 0, 0, 600, 0, {FAIL_EVO, 50, 2}, abflag::EXHAUSTION }, { ABIL_EVOKE_TURN_INVISIBLE, "Evoke Invisibility", 2, 0, 250, 0, {FAIL_EVO, 60, 2}, abflag::NONE }, @@ -424,7 +424,8 @@ // Trog { ABIL_TROG_BURN_SPELLBOOKS, "Burn Spellbooks", 0, 0, 0, 0, {FAIL_INVO}, abflag::NONE }, - { ABIL_TROG_BERSERK, "Berserk", 0, 0, 600, 0, {FAIL_INVO}, abflag::NONE }, + { ABIL_TROG_BERSERK, "Berserk", + 0, 0, 600, 0, {FAIL_INVO}, abflag::EXHAUSTION }, { ABIL_TROG_REGEN_MR, "Trog's Hand", 0, 0, 200, 2, {FAIL_INVO, piety_breakpoint(2), 0, 1}, abflag::NONE }, { ABIL_TROG_BROTHERS_IN_ARMS, "Brothers in Arms", @@ -895,7 +896,7 @@ ret << "\nUsing this ability will hurt you."; if (abil.flags & abflag::EXHAUSTION) - ret << "\nIt cannot be used when exhausted."; + ret << "\nIt causes exhaustion, and cannot be used when exhausted."; if (abil.flags & abflag::INSTANT) ret << "\nIt is instantaneous."; diff -Nru crawl-0.19.0/source/dat/des/builder/alphashops.des crawl-0.19.1/source/dat/des/builder/alphashops.des --- crawl-0.19.0/source/dat/des/builder/alphashops.des 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/dat/des/builder/alphashops.des 2016-11-12 12:16:10.000000000 +0000 @@ -74,7 +74,7 @@ "book of changes", "book of conjurations", "potion of cure mutation", "centaur barding", "chain mail", "crystal ball of energy", "cloak", "crystal plate armour", "potion of cancellation", "rod of clouds", - "book of clouds", "staff of cold", "wand of confusion", "cutlass", + "book of clouds", "staff of cold", "wand of confusion", "staff of conjuration", "manual of crossbows", "manual of conjurations", "manual of charms", "potion of curing" } diff -Nru crawl-0.19.0/source/dat/des/portals/sewer.des crawl-0.19.1/source/dat/des/portals/sewer.des --- crawl-0.19.0/source/dat/des/portals/sewer.des 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/dat/des/portals/sewer.des 2016-11-12 12:16:10.000000000 +0000 @@ -575,7 +575,7 @@ c.. Wed, 23 Nov 2016 04:04:25 -0600 + +crawl (2:0.19.0-1) UNRELEASED; urgency=low + + * New upstream release. + + -- gammafunk Tue, 01 Nov 2016 04:41:12 +0000 + crawl (2:0.18.1-1) UNRELEASED; urgency=low * New upstream release. diff -Nru crawl-0.19.0/source/decks.cc crawl-0.19.1/source/decks.cc --- crawl-0.19.0/source/decks.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/decks.cc 2016-11-23 10:16:48.000000000 +0000 @@ -2069,26 +2069,27 @@ if (!apply_visible_monsters([power_level](monster& mons) { if (mons.wont_attack() || !mons_is_threatening(mons)) - return false;; + return false; - if (x_chance_in_y((power_level + 1) * 5 + random2(5), - mons.get_hit_dice())) + if (!x_chance_in_y((power_level + 1) * 5 + random2(5), + mons.get_hit_dice())) { - if (mons.can_polymorph()) - { - monster_polymorph(&mons, RANDOM_MONSTER, PPT_LESS); - mons.malmutate(""); - } - else - { - const int daze_time = (5 + 5 * power_level) * BASELINE_DELAY; - mons.add_ench(mon_enchant(ENCH_DAZED, 0, &you, daze_time)); - simple_monster_message(mons, - " is dazed by the mutagenic energy."); - return true; - } + return false; } - return false; + + if (mons.can_polymorph()) + { + monster_polymorph(&mons, RANDOM_MONSTER, PPT_LESS); + mons.malmutate(""); + } + else + { + const int daze_time = (5 + 5 * power_level) * BASELINE_DELAY; + mons.add_ench(mon_enchant(ENCH_DAZED, 0, &you, daze_time)); + simple_monster_message(mons, + " is dazed by the mutagenic energy."); + } + return true; })) { canned_msg(MSG_NOTHING_HAPPENS); diff -Nru crawl-0.19.0/source/delay.cc crawl-0.19.1/source/delay.cc --- crawl-0.19.0/source/delay.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/delay.cc 2016-11-12 12:16:10.000000000 +0000 @@ -644,8 +644,7 @@ { // Stop eating if something happens (chunk rots, you get teleported, // you get polymorphed into a lich, etc.) - if (food.base_type != OBJ_FOOD - || !can_eat(food, true) + if (!can_eat(food, true) || !in_inventory(food) && food.pos != you.pos()) { mpr("You stop eating."); diff -Nru crawl-0.19.0/source/food.cc crawl-0.19.1/source/food.cc --- crawl-0.19.0/source/food.cc 2016-10-31 23:38:16.000000000 +0000 +++ crawl-0.19.1/source/food.cc 2016-11-12 12:16:10.000000000 +0000 @@ -914,7 +914,7 @@ if (you_foodless(true)) return true; - if (item.base_type == OBJ_FOOD + if (item.base_type == OBJ_FOOD // XXX: removeme? && !can_eat(item, true, false)) { return true; @@ -1017,7 +1017,10 @@ bool can_eat(const item_def &food, bool suppress_msg, bool check_hunger) { #define FAIL(msg) { if (!suppress_msg) mpr(msg); return false; } - ASSERT(food.base_type == OBJ_FOOD || food.base_type == OBJ_CORPSES); + if (food.base_type != OBJ_FOOD && food.base_type != OBJ_CORPSES) + { + FAIL("That's not food!"); + } // special case mutagenic chunks to skip hunger checks, as they don't give // nutrition and player can get hungry by using spells etc. anyway @@ -1205,13 +1208,10 @@ auto it = min_element(begin(you.inv), end(you.inv), [](const item_def& a, const item_def& b) -> bool { - return (a.base_type == OBJ_FOOD && can_eat(a, true) - ? food_turns(a) : INT_MAX) - < (b.base_type == OBJ_FOOD && can_eat(b, true) - ? food_turns(b) : INT_MAX); + return (can_eat(a, true) ? food_turns(a) : INT_MAX) + < (can_eat(b, true) ? food_turns(b) : INT_MAX); }); - if (it != end(you.inv) - && it->base_type == OBJ_FOOD && can_eat(*it, true)) + if (it != end(you.inv) && can_eat(*it, true)) { mpr("As you are about to starve, you manage to eat something."); eat_item(*it); diff -Nru crawl-0.19.0/source/godconduct.cc crawl-0.19.1/source/godconduct.cc --- crawl-0.19.0/source/godconduct.cc 2016-10-31 23:38:16.000000000 +0000 +++ crawl-0.19.1/source/godconduct.cc 2016-11-12 12:16:10.000000000 +0000 @@ -1128,10 +1128,6 @@ // Unique/unusual piety gain methods first. switch (which_god) { - case GOD_FEDHAS: - likes.emplace_back("you promote the decay of nearby corpses by " - "praying"); - break; case GOD_TROG: likes.emplace_back("you destroy spellbooks via the a command"); break; diff -Nru crawl-0.19.0/source/godpassive.cc crawl-0.19.1/source/godpassive.cc --- crawl-0.19.0/source/godpassive.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/godpassive.cc 2016-11-23 10:16:48.000000000 +0000 @@ -1268,8 +1268,8 @@ */ static bool _in_melee_range(actor* target) { - const int dist = (you.pos() - target->pos()).abs(); - return dist < 2 || (dist <= 2 && you.reach_range() != REACH_NONE); + const int dist = (you.pos() - target->pos()).rdist(); + return dist <= you.reach_range(); } void dithmenos_shadow_melee(actor* target) diff -Nru crawl-0.19.0/source/godprayer.cc crawl-0.19.1/source/godprayer.cc --- crawl-0.19.0/source/godprayer.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/godprayer.cc 2016-11-23 10:16:48.000000000 +0000 @@ -88,6 +88,7 @@ god_type altar_god = _altar_identify_ecumenical_altar(); mprf(MSGCH_GOD, "%s accepts your prayer!", god_name(altar_god).c_str()); + you.turn_is_over = true; if (!you_worship(altar_god)) join_religion(altar_god); else diff -Nru crawl-0.19.0/source/itemprop.cc crawl-0.19.1/source/itemprop.cc --- crawl-0.19.0/source/itemprop.cc 2016-10-31 23:38:16.000000000 +0000 +++ crawl-0.19.1/source/itemprop.cc 2016-11-12 12:16:10.000000000 +0000 @@ -554,10 +554,10 @@ SK_POLEARMS, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE, DAMV_SLICING, 2, 0, 30, POLEARM_BRANDS }, { WPN_DEMON_TRIDENT, "demon trident", 12, 1, 13, - SK_POLEARMS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE, + SK_POLEARMS, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE, DAMV_PIERCING, 0, 2, 150, DEMON_BRANDS }, { WPN_TRISHULA, "trishula", 13, 0, 13, - SK_POLEARMS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE, + SK_POLEARMS, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE, DAMV_PIERCING, 0, 0, 200, HOLY_BRANDS }, { WPN_GLAIVE, "glaive", 15, -3, 17, SK_POLEARMS, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE, diff -Nru crawl-0.19.0/source/item_use.cc crawl-0.19.1/source/item_use.cc --- crawl-0.19.0/source/item_use.cc 2016-10-31 23:38:16.000000000 +0000 +++ crawl-0.19.1/source/item_use.cc 2016-11-12 12:16:10.000000000 +0000 @@ -3048,15 +3048,8 @@ void tile_item_eat_floor(int idx) { - // XXX: refactor this - if (mitm[idx].base_type == OBJ_CORPSES - && you.species == SP_VAMPIRE - || mitm[idx].base_type == OBJ_FOOD - && you.undead_state() != US_UNDEAD && you.species != SP_VAMPIRE) - { - if (can_eat(mitm[idx], false)) - eat_item(mitm[idx]); - } + if (can_eat(mitm[idx], false)) + eat_item(mitm[idx]); } void tile_item_use_secondary(int idx) diff -Nru crawl-0.19.0/source/l_food.cc crawl-0.19.1/source/l_food.cc --- crawl-0.19.0/source/l_food.cc 2016-09-14 20:42:23.000000000 +0000 +++ crawl-0.19.1/source/l_food.cc 2016-11-12 12:16:10.000000000 +0000 @@ -47,9 +47,7 @@ if (lua_isboolean(ls, 2)) hungercheck = lua_toboolean(ls, 2); - const bool edible = item && (item->base_type == OBJ_FOOD - || item->base_type == OBJ_CORPSES) - && can_eat(*item, true, hungercheck); + const bool edible = item && can_eat(*item, true, hungercheck); lua_pushboolean(ls, edible); return 1; } diff -Nru crawl-0.19.0/source/mon-ench.cc crawl-0.19.1/source/mon-ench.cc --- crawl-0.19.0/source/mon-ench.cc 2016-09-20 06:30:20.000000000 +0000 +++ crawl-0.19.1/source/mon-ench.cc 2016-11-23 10:16:48.000000000 +0000 @@ -243,7 +243,7 @@ if (type == MONS_FLAYED_GHOST) { // temporarly change our attitude back (XXX: scary code...) - unwind_var enchants(enchantments, {}); + unwind_var enchants(enchantments, mon_enchant_list{}); unwind_var> ecache(ench_cache, {}); end_flayed_effect(this); } diff -Nru crawl-0.19.0/source/ng-input.cc crawl-0.19.1/source/ng-input.cc --- crawl-0.19.0/source/ng-input.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/ng-input.cc 2016-11-24 01:42:12.000000000 +0000 @@ -54,6 +54,7 @@ } msg += "\n"; + msg += "Take part in the player survey at http://crawl.develz.org\n"; formatted_string::parse_string(msg).display(); textcolour(LIGHTGREY); diff -Nru crawl-0.19.0/source/rltiles/dc-invocations.txt crawl-0.19.1/source/rltiles/dc-invocations.txt --- crawl-0.19.0/source/rltiles/dc-invocations.txt 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/rltiles/dc-invocations.txt 2016-11-12 12:16:10.000000000 +0000 @@ -20,6 +20,7 @@ elyvilon_lesser_healing ABILITY_ELYVILON_LESSER_HEALING elyvilon_purification ABILITY_ELYVILON_PURIFICATION elyvilon_heal_other ABILITY_ELYVILON_HEAL_OTHER +fedhas_fungal_bloom ABILITY_FEDHAS_FUNGAL_BLOOM fedhas_evolution ABILITY_FEDHAS_EVOLUTION fedhas_plant_ring ABILITY_FEDHAS_PLANT_RING fedhas_rain ABILITY_FEDHAS_RAIN Binary files /tmp/tmpebvXBm/EwTqX3tYro/crawl-0.19.0/source/rltiles/gui/invocations/fedhas_fungal_bloom.png and /tmp/tmpebvXBm/hZ504IdGal/crawl-0.19.1/source/rltiles/gui/invocations/fedhas_fungal_bloom.png differ diff -Nru crawl-0.19.0/source/spl-cast.cc crawl-0.19.1/source/spl-cast.cc --- crawl-0.19.0/source/spl-cast.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/spl-cast.cc 2016-11-12 12:16:10.000000000 +0000 @@ -1138,8 +1138,8 @@ return make_unique(&you, range, ZAP_DAMNATION, pow, 1, 1); case SPELL_MEPHITIC_CLOUD: - return make_unique(&you, range, ZAP_BREATHE_MEPHITIC, - pow, pow >= 100 ? 1 : 0, 1); + return make_unique(&you, range, ZAP_MEPHITIC, pow, + pow >= 100 ? 1 : 0, 1); case SPELL_ISKENDERUNS_MYSTIC_BLAST: return make_unique(&you, pow, range); case SPELL_FIRE_STORM: diff -Nru crawl-0.19.0/source/startup.cc crawl-0.19.1/source/startup.cc --- crawl-0.19.0/source/startup.cc 2016-09-14 20:42:23.000000000 +0000 +++ crawl-0.19.1/source/startup.cc 2016-11-24 01:42:12.000000000 +0000 @@ -571,8 +571,8 @@ } static const int SCROLLER_MARGIN_X = 18; -static const int NAME_START_Y = 5; -static const int GAME_MODES_START_Y = 7; +static const int NAME_START_Y = 6; +static const int GAME_MODES_START_Y = 8; static const int GAME_MODES_WIDTH = 60; static const int NUM_HELP_LINES = 3; static const int NUM_MISC_LINES = 5; diff -Nru crawl-0.19.0/source/status.cc crawl-0.19.1/source/status.cc --- crawl-0.19.0/source/status.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/status.cc 2016-11-12 12:16:10.000000000 +0000 @@ -749,7 +749,7 @@ { "", "very slightly ", - "slightly", + "slightly ", "", "heavily ", "very heavily ", diff -Nru crawl-0.19.0/source/tilepick.cc crawl-0.19.1/source/tilepick.cc --- crawl-0.19.0/source/tilepick.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/tilepick.cc 2016-11-12 12:16:10.000000000 +0000 @@ -3374,6 +3374,8 @@ case ABIL_JIYVA_CURE_BAD_MUTATION: return TILEG_ABILITY_JIYVA_CURE_BAD_MUTATIONS; // Fedhas + case ABIL_FEDHAS_FUNGAL_BLOOM: + return TILEG_ABILITY_FEDHAS_FUNGAL_BLOOM; case ABIL_FEDHAS_SUNLIGHT: return TILEG_ABILITY_FEDHAS_SUNLIGHT; case ABIL_FEDHAS_RAIN: diff -Nru crawl-0.19.0/source/util/release_ver crawl-0.19.1/source/util/release_ver --- crawl-0.19.0/source/util/release_ver 2016-10-31 23:38:49.000000000 +0000 +++ crawl-0.19.1/source/util/release_ver 2016-11-24 06:46:28.000000000 +0000 @@ -1 +1 @@ -0.19.0 +0.19.1 diff -Nru crawl-0.19.0/source/view.cc crawl-0.19.1/source/view.cc --- crawl-0.19.0/source/view.cc 2016-09-20 06:30:20.000000000 +0000 +++ crawl-0.19.1/source/view.cc 2016-11-12 12:16:10.000000000 +0000 @@ -404,7 +404,9 @@ for (const monster* mon : monsters) { - if (x_chance_in_y(3 + player_mutation_level(MUT_SCREAM) * 3, 100)) + if (!mons_is_tentacle_or_tentacle_segment(mon->type) + && !mons_is_conjured(mon->type) + && x_chance_in_y(3 + player_mutation_level(MUT_SCREAM) * 3, 100)) { yell(mon); return; diff -Nru crawl-0.19.0/source/webserver/game_data/static/dungeon_renderer.js crawl-0.19.1/source/webserver/game_data/static/dungeon_renderer.js --- crawl-0.19.0/source/webserver/game_data/static/dungeon_renderer.js 2016-10-31 23:38:16.000000000 +0000 +++ crawl-0.19.1/source/webserver/game_data/static/dungeon_renderer.js 2016-11-12 12:16:10.000000000 +0000 @@ -14,7 +14,7 @@ { if (cell == null || cell.bg == null) return false; var base_bg = dngn.basetile(cell.bg.value); - if (base_bg >= dngn.DNGN_LAVA && base_bg < dngn.DNGN_ENTER_ZOT_CLOSED) + if (base_bg >= dngn.DNGN_LAVA && base_bg < dngn.FLOOR_MAX) return options.get("tile_water_anim"); else if (base_bg >= dngn.DNGN_ENTER_ZOT_CLOSED && base_bg < dngn.BLOOD || is_torch(base_bg)) diff -Nru crawl-0.19.0/source/xom.cc crawl-0.19.1/source/xom.cc --- crawl-0.19.0/source/xom.cc 2016-10-18 07:35:36.000000000 +0000 +++ crawl-0.19.1/source/xom.cc 2016-11-23 10:16:48.000000000 +0000 @@ -2846,7 +2846,7 @@ { god_speaks(GOD_XOM, _get_xom_speech("cleaving").c_str()); - you.increase_duration(DUR_CLEAVE, 10 + random2(sever) * 10); + you.increase_duration(DUR_CLEAVE, 10 + random2(sever)); if (const item_def* const weapon = you.weapon()) {