summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/INSTALL.txt (renamed from crawl-ref/INSTALL)0
-rw-r--r--crawl-ref/docs/changes.stone_soup29
-rw-r--r--crawl-ref/docs/options_guide.txt74
-rw-r--r--crawl-ref/settings/tiles_options.txt27
-rw-r--r--crawl-ref/source/debug.cc12
-rw-r--r--crawl-ref/source/externs.h2
-rw-r--r--crawl-ref/source/initfile.cc43
-rw-r--r--crawl-ref/source/invent.cc2
-rw-r--r--crawl-ref/source/monstuff.cc5
-rw-r--r--crawl-ref/source/player.cc6
-rw-r--r--crawl-ref/source/tilepick.cc2
-rw-r--r--crawl-ref/source/tilereg.cc3
-rw-r--r--crawl-ref/source/tilesdl.cc43
-rw-r--r--crawl-ref/source/tutorial.cc31
14 files changed, 171 insertions, 108 deletions
diff --git a/crawl-ref/INSTALL b/crawl-ref/INSTALL.txt
index a3838a1983..a3838a1983 100644
--- a/crawl-ref/INSTALL
+++ b/crawl-ref/INSTALL.txt
diff --git a/crawl-ref/docs/changes.stone_soup b/crawl-ref/docs/changes.stone_soup
index bff4661fe9..42efa6900d 100644
--- a/crawl-ref/docs/changes.stone_soup
+++ b/crawl-ref/docs/changes.stone_soup
@@ -1,4 +1,4 @@
-Stone Soup 0.5.0 (200906??)
+Stone Soup 0.5.0 (20090612)
---------------------------
Disclaimer: These are merely the highlights, not an exhaustive list of changes.
@@ -23,11 +23,11 @@ Levels
* New portal vaults (Sewer, Ice Cave, Minitomb, Ziggurat), and many new vaults.
* Self-changing labyrinths (mappable but subject to map rot).
* Teleporting within a labyrinth always sends you away from the exit.
-* The Orcish Mines are now completely interconnected via the branch bottom.
+* The Orcish Mines are completely interconnected via the branch bottom.
* Shortened Hive to two levels.
* Ghosts may no longer appear in the Ecumenical Temple.
-* Traps now remember how much ammunition they have.
-* Branch descriptions now mention depth and whether they contain a rune.
+* Traps remember how much ammunition they have.
+* Branch descriptions mention depth and whether they contain a rune.
* Fixed KMONS not accepting comma-separated list of alternative monsters.
* Tweaked most of the oklob vaults to make them less dangerous.
* Allow bazaars outside of the main dungeon.
@@ -44,10 +44,10 @@ Characters
* Overhaul nutrition values and duration for Vampires feeding on corpses.
* Vampires can no longer heal via potions of blood or non-fresh corpses.
* Vampires recover lost stats depending on blood level.
-* Draining of the experience pool is now reduced by life protection.
+* Draining of the experience pool is reduced by life protection.
* Merfolk can swim in heavy armour, albeit with doubled armour penalty.
* Player and monster nagas no longer flounder or lose stealth in shallow water.
-* Secondary unarmed attacks now wake sleeping monsters.
+* Secondary unarmed attacks wake sleeping monsters.
* Pure spellcasters don't start with a weapon anymore.
* Tweak starting choice restrictions.
* Going into berserk rage doubles Health, ending it halves Health.
@@ -98,7 +98,7 @@ Interface
* New option: Automatically set travel exclusions for statues and oklob plants.
* Switch off autopickup and autoswap if you see a monster turn invisible.
* Killing an invisible monster reactivates autopickup.
-* Added ally pickup mode for items dropped by player and allies.
+* Added ally pickup mode for items dropped by either player or allies.
* Shops use shopping cart behaviour.
* Wizard commands can be used from the wizard help screen.
* Allow quivering/firing of wielded missiles and wielded weapons of returning.
@@ -107,14 +107,14 @@ Interface
* Added an option to make menu colours apply to shops.
* Use menu colours for announcements of items found while travelling.
* Pressing Esc at -More- automatically clears all queued -More- prompts.
-* Add FAQ to help screen ('?Q').
+* Added FAQ to help screen ('?Q').
* Purchases and donations are noted.
* The database search also prints armour base AC/EV and weapon plusses.
* Add spells and books to book/spell descriptions when searching the database.
* Ability and card descriptions are searchable in the database ('?/').
* Allow wishing for specific fixed and randarts in wizard mode ('o' command).
* Add food item based hunger descriptions to spells.
-* "Glow" status now appears as soon as contamination effects become possible.
+* "Glow" status is grey for harmless contamination, yellow for dangerous levels.
Items
-----
@@ -125,7 +125,7 @@ Items
* Missile enchantment decreases chance of destruction on impact.
* Freezing weapons can slow cold-blooded monsters.
* The staff of channeling trains Evocations.
-* Potions of magic no longer increase maximal magic points and are less rare.
+* Potions of magic no longer increase maximal magic points and are more common.
* Item descriptions mention enchantment/charging limits.
* Randarts get their known properties autoinscribed.
* Randarts are noted as identified even if the plusses are still unknown.
@@ -148,13 +148,13 @@ Gods
* Xom is more active and more useful in combat.
* Cleansing Flame centers on the player and deals less damage.
* Killing a holy being is sometimes avenged by TSO.
-* Split Elyvilon's healing powers in "heal self" and "heal other" versions.
-* Evyvilon's Lesser Healing Other does not cost piety anymore.
+* Split Elyvilon's healing powers into "heal self" and "heal other" versions.
+* Evyvilon's Lesser Healing (for pacification) does not cost piety anymore.
* Move Divine Robustness from Zin to Elyvilon, replacing Incredible Healing.
* Make Zin's retribution-summoned plagues permanent.
* Sif Muna no longer gifts Kiku/Vehumet specific books, spells still possible.
* Trog accepts kills of demons.
-* Trog's Hand now provides magic resistance as well as regeneration.
+* Trog's Hand provides magic resistance as well as regeneration.
* Vehumet accepts undead killing for you.
* Beogh no longer accepts butchery but likes prayer over orcish remains.
* Beogh accepts more kinds of kills.
@@ -189,9 +189,10 @@ Miscellaneous
* Flying can be cancelled.
* Petrify is an Enchantment/Earth spell.
* Lee's Rapid Deconstruction deals great damage to petrified monsters.
+* Removed stash_tracking option, always track all stashes.
* Rewrite and clean up of (among others) beam, trap, and mutations code.
* Store code revision in save files for easier bug tracking.
-* Many useful new wizard commands.
+* Many useful new wizard mode commands.
Stone Soup 0.4.5 (20090114)
diff --git a/crawl-ref/docs/options_guide.txt b/crawl-ref/docs/options_guide.txt
index 09e91f7f99..d263188a88 100644
--- a/crawl-ref/docs/options_guide.txt
+++ b/crawl-ref/docs/options_guide.txt
@@ -92,9 +92,12 @@ The contents of this text are:
tile_mapped_wall_col, tile_door_col, tile_downstairs_col,
tile_upstairs_col, tile_feature_col, tile_trap_col,
tile_water_col, tile_lava_col, tile_excluded_col,
- tile_excl_centre_col, tile_key_repeat, tile_tooltip_ms,
- tile_window_width, tile_window_height, tile_map_pixels,
- tile_full_screen, tile_tag_pref
+ tile_excl_centre_col, tile_key_repeat_delay, tile_tooltip_ms,
+ tile_tag_pref, tile_window_width, tile_window_height,
+ tile_map_pixels, tile_full_screen, tile_font_crt_file,
+ tile_font_stat_file, tile_font_msg_file, tile_font_tip_file,
+ tile_font_lbl_file, tile_font_crt_size, tile_font_stat_size,
+ tile_font_msg_size, tile_font_tip_size, tile_font_lbl_size
5- Character Dump.
5-a Items and Kills.
kill_map, dump_kill_places, dump_item_origins,
@@ -1232,6 +1235,8 @@ delay_message_clear = false
show_inventory_weights = false
When this is set to true, inventory listings will mention the
weight of each item.
+ Note: This option doesn't currently work for Tiles unless you use
+ tile_menu_icons = false.
show_gold_turns = false
If set to true, this option adds an extra line to the stat area
@@ -1277,6 +1282,7 @@ mlist_allow_alternate_layout = false
Display the monster list wherever Crawl may find space on
your console display, usually to the left of the map, rather
than using the fixed position below the stat area.
+ This option is not supported in the tiles build.
mlist_targetting = false
Using the monster list you can directly target monsters in
@@ -1631,34 +1637,58 @@ the dungeon level.
tile_floor_col and tile_item_col, only)
tile_window_col - colour of the rectangular view window
-tile_key_repeat = true
- Whether or not to repeat key presses when they are held down.
- By default, keys will repeat.
+tile_key_repeat_delay = 200
+ If you hold down a key, there's a delay until the pressed key will
+ take action. This option controls this delay, in milliseconds. If it
+ is set to 0 key presses will never repeat.
tile_tooltip_ms = 500
- The number of milliseconds before a tooltip appears when hovering the
- mouse over part of the screen.
+ The number of milliseconds before a tooltip appears when hovering the
+ mouse over part of the screen. Setting this option to 0 will
+ deactivate the tooltips entirely.
+
+tile_tag_pref = (none| named | enemy | tutorial )
+ This option defaults to "enemy" normally and "tutorial" in tutorial
+ modes. This setting determines which monsters receive text tag
+ none - turns off all tags.
+ named - shows names of all named monsters, ally or enemy
+ enemy - shows names of named enemy monsters
+ tutorial - shows names of all monsters not yet killed this game
+ and of named enemy monsters
+ Examples for named monsters are uniques and ghosts.
tile_window_width = 0
tile_window_height = 0
- The width and height of the window, in pixels. If set to zero, it
- will auto-size the window.
+ The width and height of the window, in pixels. If set to zero, it
+ will auto-size the window.
tile_map_pixels = 4
- The number of pixels each minimap square should take up.
+ The number of pixels each minimap square should take up.
tile_full_screen = false
- Setting this option to true will start Crawl in full screen mode.
-
-tile_tag_pref = (none | tutorial | named | enemy)
- This option defaults to "enemy" normally and "tutorial" in tutorial
- modes. This settings determines which monsters receive text tag
- labels above them, describing what kind of monster they are.
- The "none" option turns off all tags. The "tutorial" option
- shows the name of all monsters that the player has only killed
- a few times. The "named" options shows the names for all monsters
- with names, friendly and enemy. The "enemy" option only shows the
- name of enemy monsters with names (such as uniques and ghosts.)
+ Setting this option to true will start Crawl in full screen mode.
+
+tile_font_crt_file = VeraMono.ttf
+tile_font_stat_file = VeraMono.ttf
+tile_font_msg_file = VeraMono.ttf
+tile_font_tip_file = VeraMono.ttf
+tile_font_lbl_file = Vera.ttf
+ Fonts used in various sections of the screen. If you want to use
+ another font, you'll have to place the corresponding *.ttf file into
+ the dat/tiles/ folder.
+ Screen regions are as follows:
+ crt - non-map screens (menus, message history, etc.)
+ stat - stat area (hit points, AC, etc.)
+ msg - message area
+ tip - tooltips (mouseover information)
+ lbl - item/monster names in inventory/main map
+
+tile_font_crt_size = 15
+tile_font_stat_size = 16
+tile_font_msg_size = 14
+tile_font_tip_size = 15
+tile_font_lbl_size = 14
+ Font size for the screen regions listed above.
5- Character Dump.
===================
diff --git a/crawl-ref/settings/tiles_options.txt b/crawl-ref/settings/tiles_options.txt
index 8f195c088c..65d58fdbe3 100644
--- a/crawl-ref/settings/tiles_options.txt
+++ b/crawl-ref/settings/tiles_options.txt
@@ -30,26 +30,25 @@
# tile_excl_centre = darkblue
# tile_window_col = yellow
-# tile_key_repeat = false
-
-# tile_tooltip_ms = 500
+# tile_key_repeat_delay = 200
+# tile_tooltip_ms = 500
# tile_tag_pref = enemy
### Note: setting window, map, or font sizes to '0' implies auto-sizing.
-# tile_window_width = 1024
+# tile_window_width = 1024
# tile_window_height = 768
-# tile_map_pixels = 4
-# tile_full_screen = true
+# tile_map_pixels = 4
+# tile_full_screen = true
-# tile_font_crt_file = VeraMono.ttf
-# tile_font_crt_size = 15
+# tile_font_crt_file = VeraMono.ttf
+# tile_font_crt_size = 15
# tile_font_stat_file = VeraMono.ttf
# tile_font_stat_size = 16
-# tile_font_msg_file = VeraMono.ttf
-# tile_font_msg_size = 14
-# tile_font_tip_file = VeraMono.ttf
-# tile_font_tip_size = 15
-# tile_font_lbl_file = Vera.ttf
-# tile_font_lbl_size = 14
+# tile_font_msg_file = VeraMono.ttf
+# tile_font_msg_size = 14
+# tile_font_tip_file = VeraMono.ttf
+# tile_font_tip_size = 15
+# tile_font_lbl_file = Vera.ttf
+# tile_font_lbl_size = 14
diff --git a/crawl-ref/source/debug.cc b/crawl-ref/source/debug.cc
index 0712d901eb..8bf156786f 100644
--- a/crawl-ref/source/debug.cc
+++ b/crawl-ref/source/debug.cc
@@ -2359,6 +2359,12 @@ void wizard_create_feature_number()
&& (feat_num = atoi(specs)))
{
dungeon_feature_type feat = static_cast<dungeon_feature_type>(feat_num);
+ if (feat == DNGN_ENTER_SHOP)
+ {
+ debug_make_shop();
+ return;
+ }
+
dungeon_terrain_changed(you.pos(), feat, false);
#ifdef USE_TILE
env.tile_flv(you.pos()).special = 0;
@@ -2410,6 +2416,12 @@ void wizard_create_feature_name()
}
}
+ if (feat == DNGN_ENTER_SHOP)
+ {
+ debug_make_shop();
+ return;
+ }
+
mprf(MSGCH_DIAGNOSTICS, "Setting (%d,%d) to %s (%d)",
you.pos().x, you.pos().y, name.c_str(), feat);
dungeon_terrain_changed(you.pos(), feat, false);
diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h
index b71a7ba3c2..3f8f1516d3 100644
--- a/crawl-ref/source/externs.h
+++ b/crawl-ref/source/externs.h
@@ -2225,7 +2225,7 @@ public:
int tile_font_lbl_size;
std::string tile_font_tip_file;
int tile_font_tip_size;
- bool tile_key_repeat;
+ int tile_key_repeat_delay;
screen_mode tile_full_screen;
int tile_window_width;
int tile_window_height;
diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc
index 792e6034ca..6b47f77579 100644
--- a/crawl-ref/source/initfile.cc
+++ b/crawl-ref/source/initfile.cc
@@ -895,6 +895,7 @@ void game_options::reset_options()
strcpy(tile_show_items, "!?/%=([)x}+\\_.");
tile_title_screen = true;
tile_menu_icons = true;
+
// minimap colours
tile_player_col = MAP_WHITE;
tile_monster_col = MAP_RED;
@@ -930,13 +931,15 @@ void game_options::reset_options()
tile_font_lbl_size = 0;
// window layout
- tile_key_repeat = true;
- tile_full_screen = SCREENMODE_AUTO;
- tile_window_width = 0;
- tile_window_height = 0;
- tile_map_pixels = 0;
- tile_tooltip_ms = 500;
- tile_tag_pref = crawl_state.arena ? TAGPREF_NAMED : TAGPREF_ENEMY;
+ tile_full_screen = SCREENMODE_AUTO;
+ tile_window_width = 0;
+ tile_window_height = 0;
+ tile_map_pixels = 0;
+ tile_tag_pref = crawl_state.arena ? TAGPREF_NAMED : TAGPREF_ENEMY;
+
+ // delays
+ tile_key_repeat_delay = 200;
+ tile_tooltip_ms = 500;
#endif
// map each colour to itself as default
@@ -1590,18 +1593,17 @@ void game_options::fixup_options()
static int _str_to_killcategory(const std::string &s)
{
- static const char *kc[] = {
- "you",
- "friend",
- "other",
- };
+ static const char *kc[] = {
+ "you",
+ "friend",
+ "other",
+ };
+
+ for (unsigned i = 0; i < sizeof(kc) / sizeof(*kc); ++i)
+ if (s == kc[i])
+ return i;
- for (unsigned i = 0; i < sizeof(kc) / sizeof(*kc); ++i)
- {
- if (s == kc[i])
- return i;
- }
- return -1;
+ return -1;
}
void game_options::do_kill_map(const std::string &from, const std::string &to)
@@ -2009,7 +2011,8 @@ void game_options::read_option_line(const std::string &str, bool runscript)
&& key != "menu_colour" && key != "menu_color"
&& key != "message_colour" && key != "message_color"
&& key != "levels" && key != "level" && key != "entries"
- && key != "include" && key != "bindkey")
+ && key != "include" && key != "bindkey"
+ && key.find("font") == std::string::npos)
{
lowercase( field );
}
@@ -3151,7 +3154,7 @@ void game_options::read_option_line(const std::string &str, bool runscript)
tile_font_lbl_file = field;
}
else INT_OPTION(tile_font_lbl_size, 1, INT_MAX);
- else BOOL_OPTION(tile_key_repeat);
+ else INT_OPTION(tile_key_repeat_delay, 0, INT_MAX);
else if (key == "tile_full_screen")
tile_full_screen = (screen_mode)_read_bool(field, tile_full_screen);
else INT_OPTION(tile_window_width, 1, INT_MAX);
diff --git a/crawl-ref/source/invent.cc b/crawl-ref/source/invent.cc
index 46b137879c..091322ac5f 100644
--- a/crawl-ref/source/invent.cc
+++ b/crawl-ref/source/invent.cc
@@ -218,7 +218,7 @@ std::string InvEntry::get_text() const
if (Options.show_inventory_weights)
{
const int mass = item_mass(*item) * item->quantity;
- tstr << std::setw(get_number_of_cols() - tstr.str().length() - 1)
+ tstr << std::setw(get_number_of_cols() - tstr.str().length() - 2)
<< std::right
<< make_stringf("(%.1f aum)", BURDEN_TO_AUM * mass);
}
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index c49d39b800..1106bbf47b 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -2085,6 +2085,7 @@ bool monster_polymorph(monsters *monster, monster_type targetc,
ENCH_SHAPESHIFTER);
mon_enchant summon = monster->get_ench(ENCH_SUMMON);
mon_enchant tp = monster->get_ench(ENCH_TP);
+ monster_spells spl = monster->spells;
// deal with mons_sec
monster->type = targetc;
@@ -2098,6 +2099,10 @@ bool monster_polymorph(monsters *monster, monster_type targetc,
monster->flags = flags;
monster->god = god;
+ // Keep spells for named monsters.
+ if (!name.empty())
+ monster->spells = spl;
+
monster->add_ench(abj);
monster->add_ench(charm);
monster->add_ench(neutral);
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 29e7e62ba3..c1f4e21a71 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -5185,12 +5185,12 @@ void contaminate_player(int change, bool controlled, bool status_only)
xom_is_stimulated(new_level * 32);
}
- if (new_level >= 1)
- learned_something_new(TUT_GLOWING);
-
if (status_only)
return;
+ if (you.magic_contamination > 0)
+ learned_something_new(TUT_GLOWING);
+
// Zin doesn't like mutations or mutagenic radiation.
if (you.religion == GOD_ZIN)
{
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index b222351f2a..1a79526ac8 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -4419,7 +4419,7 @@ void tile_place_monster(int gx, int gy, int idx, bool foreground, bool detected)
else if (pref == TAGPREF_TUTORIAL)
{
const long kills = you.kills->num_kills(mon);
- const int limit = 0;
+ const int limit = 0;
if (!mon->is_named() && kills > limit)
return;
diff --git a/crawl-ref/source/tilereg.cc b/crawl-ref/source/tilereg.cc
index 0188f20de0..a3879ab2a1 100644
--- a/crawl-ref/source/tilereg.cc
+++ b/crawl-ref/source/tilereg.cc
@@ -1230,7 +1230,8 @@ bool InventoryTile::empty() const
return (idx == -1);
}
-InventoryRegion::InventoryRegion(ImageManager* im, FTFont *tag_font, int tile_x, int tile_y) :
+InventoryRegion::InventoryRegion(ImageManager* im, FTFont *tag_font,
+ int tile_x, int tile_y) :
TileRegion(im, tag_font, tile_x, tile_y),
m_flavour(NULL),
m_buf_dngn(&im->m_textures[TEX_DUNGEON]),
diff --git a/crawl-ref/source/tilesdl.cc b/crawl-ref/source/tilesdl.cc
index 25240361e9..e112c7cc34 100644
--- a/crawl-ref/source/tilesdl.cc
+++ b/crawl-ref/source/tilesdl.cc
@@ -150,13 +150,13 @@ void TilesFramework::shutdown()
delete m_region_menu;
delete m_region_title;
- m_region_tile = NULL;
- m_region_stat = NULL;
- m_region_msg = NULL;
- m_region_map = NULL;
- m_region_inv = NULL;
- m_region_crt = NULL;
- m_region_menu = NULL;
+ m_region_tile = NULL;
+ m_region_stat = NULL;
+ m_region_msg = NULL;
+ m_region_map = NULL;
+ m_region_inv = NULL;
+ m_region_crt = NULL;
+ m_region_menu = NULL;
m_region_title = NULL;
for (unsigned int i = 0; i < LAYER_MAX; i++)
@@ -178,6 +178,7 @@ void TilesFramework::draw_title()
m_active_layer = LAYER_TITLE;
set_need_redraw();
+ mouse_control mc(MOUSE_MODE_MORE);
getch();
}
@@ -251,9 +252,9 @@ bool TilesFramework::initialise()
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
- if (Options.tile_key_repeat)
+ if (Options.tile_key_repeat_delay > 0)
{
- int delay = SDL_DEFAULT_REPEAT_DELAY;
+ int delay = Options.tile_key_repeat_delay;
int interval = SDL_DEFAULT_REPEAT_INTERVAL;
if (SDL_EnableKeyRepeat(delay, interval) != 0)
printf("Failed to set key repeat mode: %s\n", SDL_GetError());
@@ -281,7 +282,7 @@ bool TilesFramework::initialise()
}
else
{
- m_windowsz.x = std::max(800, m_screen_width - 100);
+ m_windowsz.x = std::max(800, m_screen_width - 100);
m_windowsz.y = std::max(480, m_screen_height - 100);
}
@@ -707,7 +708,7 @@ static unsigned int _timer_callback(unsigned int ticks)
event.type = SDL_USEREVENT;
SDL_PushEvent(&event);
- unsigned int res = std::max(30, Options.tile_tooltip_ms);
+ unsigned int res = Options.tile_tooltip_ms;
return res;
}
@@ -746,7 +747,7 @@ int TilesFramework::getch_ck()
const unsigned int ticks_per_redraw = 50;
unsigned int last_redraw_tick = 0;
- unsigned int res = std::max(30, Options.tile_tooltip_ms);
+ unsigned int res = Options.tile_tooltip_ms;
SDL_SetTimer(res, &_timer_callback);
if (m_need_redraw)
@@ -791,7 +792,7 @@ int TilesFramework::getch_ck()
{
case SDL_KEYDOWN:
m_key_mod |= _get_modifiers(event.key.keysym);
- key = _translate_keysym(event.key.keysym);
+ key = _translate_keysym(event.key.keysym);
m_region_tile->place_cursor(CURSOR_MOUSE, Region::NO_CURSOR);
// If you hit a key, disable tooltips until the mouse
@@ -840,9 +841,9 @@ int TilesFramework::getch_ck()
{
MouseEvent mouse_event;
_translate_event(event.button, mouse_event);
- m_buttons_held &= ~(mouse_event.button);
+ m_buttons_held &= ~(mouse_event.button);
mouse_event.held = m_buttons_held;
- mouse_event.mod = m_key_mod;
+ mouse_event.mod = m_key_mod;
key = handle_mouse(mouse_event);
m_last_tick_moved = ticks;
}
@@ -852,9 +853,9 @@ int TilesFramework::getch_ck()
{
MouseEvent mouse_event;
_translate_event(event.button, mouse_event);
- m_buttons_held |= mouse_event.button;
+ m_buttons_held |= mouse_event.button;
mouse_event.held = m_buttons_held;
- mouse_event.mod = m_key_mod;
+ mouse_event.mod = m_key_mod;
key = handle_mouse(mouse_event);
m_last_tick_moved = ticks;
}
@@ -1097,12 +1098,10 @@ bool TilesFramework::layout_statcol(bool message_overlay, bool show_gold_turns)
inv_col = m_region_stat->sx;
m_region_inv->place(inv_col, m_region_map->ey, 0);
- m_region_inv->resize_to_fit(m_windowsz.x -
- m_region_inv->sx,
- m_windowsz.y -
- m_region_inv->sy);
+ m_region_inv->resize_to_fit(m_windowsz.x - m_region_inv->sx,
+ m_windowsz.y - m_region_inv->sy);
m_region_inv->resize(std::min(13, (int)m_region_inv->mx),
- std::min(6, (int)m_region_inv->my));
+ std::min( 6, (int)m_region_inv->my));
int self_inv_y = m_windowsz.y - m_region_inv->wy - margin;
m_region_inv->place(inv_col, self_inv_y, 0);
diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc
index 52c1d427b6..e85ce7355d 100644
--- a/crawl-ref/source/tutorial.cc
+++ b/crawl-ref/source/tutorial.cc
@@ -3252,15 +3252,28 @@ void learned_something_new(tutorial_event_type seen_what, coord_def gc)
case TUT_GLOWING:
viewwindow(true, false);
- text << "Uh-oh, you've accumulated so much magical contamination that "
- "you're glowing! You usually acquire magical contamination "
- "from using some powerful magics, like invisibility, haste "
- "or potions of resistance. This normally isn't a problem as "
- "contamination slowly bleeds off on its own, but it seems that "
- "you've accumulated so much contamination over a short amount "
- "of time that it can have nasty effects, such as mutate you "
- "or deal direct damage. In addition, glowing is going to make "
- "you much more noticeable.";
+ text << "You've accumulated so much magical contamination that you're "
+ "glowing! You usually acquire magical contamination from using "
+ "some powerful magics, like invisibility, haste or potions of "
+ "resistance. ";
+
+ if (you.magic_contamination < 5)
+ {
+ text << "As long as the status only shows in grey nothing will "
+ "actually happen as a result of it, but as you continue "
+ "suffusing yourself with magical contamination you'll "
+ "eventually start glowing for real, which ";
+ }
+ else
+ {
+ text << "This normally isn't a problem as contamination slowly "
+ "bleeds off on its own, but it seems that you've "
+ "accumulated so much contamination over a short amount of "
+ "time that it ";
+ }
+ text << "can have nasty effects, such as mutate you or deal direct "
+ "damage. In addition, glowing is going to make you much more "
+ "noticeable.";
break;
case TUT_YOU_RESIST: