From 87da8db7d1e1a45d9aadaf6b4bc6f07ae5c822e0 Mon Sep 17 00:00:00 2001 From: Johanna Ploog Date: Mon, 7 Dec 2009 18:09:28 +0100 Subject: Add purge's tile for berserk monsters. Very neat, thanks! --- crawl-ref/source/rltiles/dc-misc.txt | 1 + crawl-ref/source/rltiles/dc-misc/berserk.png | Bin 0 -> 3153 bytes crawl-ref/source/tilepick.cc | 4 +++- crawl-ref/source/tilereg.cc | 8 +++++++- crawl-ref/source/tiles.h | 1 + 5 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 crawl-ref/source/rltiles/dc-misc/berserk.png diff --git a/crawl-ref/source/rltiles/dc-misc.txt b/crawl-ref/source/rltiles/dc-misc.txt index bca4a92897..082d35c8a0 100644 --- a/crawl-ref/source/rltiles/dc-misc.txt +++ b/crawl-ref/source/rltiles/dc-misc.txt @@ -56,6 +56,7 @@ neutral NEUTRAL animated_weapon ANIMATED_WEAPON poison POISON flame FLAME +berserk BERSERK %rim 0 may_stab_brand MAY_STAB_BRAND stab_brand STAB_BRAND diff --git a/crawl-ref/source/rltiles/dc-misc/berserk.png b/crawl-ref/source/rltiles/dc-misc/berserk.png new file mode 100644 index 0000000000..75719701e6 Binary files /dev/null and b/crawl-ref/source/rltiles/dc-misc/berserk.png differ diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index 1997072b81..5645237bde 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -1058,6 +1058,8 @@ int tileidx_monster(const monsters *mons, bool detected) ch |= TILE_FLAG_POISON; if (mons->has_ench(ENCH_STICKY_FLAME)) ch |= TILE_FLAG_FLAME; + if (mons->berserk()) + ch |= TILE_FLAG_BERSERK; if (mons->friendly()) ch |= TILE_FLAG_PET; @@ -2914,7 +2916,7 @@ int tileidx_spell(spell_type spell) case SPELL_DEATHS_DOOR: return TILEG_DEATHS_DOOR; case SPELL_DEATH_CHANNEL: return TILEG_DEATH_CHANNEL; case SPELL_REAPING_AMMUNITION: return TILEG_TODO; - + // Transmutation case SPELL_STICKS_TO_SNAKES: return TILEG_STICKS_TO_SNAKES; case SPELL_SPIDER_FORM: return TILEG_SPIDER_FORM; diff --git a/crawl-ref/source/tilereg.cc b/crawl-ref/source/tilereg.cc index a24675c708..c908bc2d06 100644 --- a/crawl-ref/source/tilereg.cc +++ b/crawl-ref/source/tilereg.cc @@ -832,8 +832,14 @@ void DungeonRegion::pack_foreground(unsigned int bg, unsigned int fg, int x, int if (fg & TILE_FLAG_S_UNDER) m_buf_main.add(TILE_SOMETHING_UNDER, x, y); - // Pet mark int status_shift = 0; + if (fg & TILE_FLAG_BERSERK) + { + m_buf_main.add(TILE_BERSERK, x, y); + status_shift += 10; + } + + // Pet mark if (fg & TILE_FLAG_PET) { m_buf_main.add(TILE_HEART, x, y); diff --git a/crawl-ref/source/tiles.h b/crawl-ref/source/tiles.h index b378e54184..20f5a5f8a3 100644 --- a/crawl-ref/source/tiles.h +++ b/crawl-ref/source/tiles.h @@ -142,6 +142,7 @@ enum tile_flags TILE_FLAG_POISON = 0x00020000, TILE_FLAG_FLAME = 0x00040000, TILE_FLAG_ANIM_WEP = 0x00080000, + TILE_FLAG_BERSERK = 0x00100000, // MDAM has 5 possibilities, so uses 3 bits. TILE_FLAG_MDAM_MASK = 0x03800000, -- cgit v1.2.3-54-g00ecf