summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-09-25 00:46:44 +0000
committerennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-09-25 00:46:44 +0000
commitec10a140445d6736900358f65d9a47e881d5f4d8 (patch)
tree3f0827a404337e20e2f4fadb7a0f65a2812295fc
parent937e2dced0087e7a0faf29b984a741e2b469aa06 (diff)
downloadcrawl-ref-ec10a140445d6736900358f65d9a47e881d5f4d8.tar.gz
crawl-ref-ec10a140445d6736900358f65d9a47e881d5f4d8.zip
Added new monster draconian tiles. Improved ring and amulet graphics. Fixed issue where the deep elf blademaster did not appear with weapons. (These graphics are all from Mitsuhiro Itakura.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6974 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/rltiles/dc-item.txt5
-rw-r--r--crawl-ref/source/rltiles/dc-mon.txt18
-rw-r--r--crawl-ref/source/rltiles/dc-mon/deep_elf_blademaster.pngbin647 -> 684 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/deep_elf_high_priest.pngbin736 -> 845 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/deep_elf_sorcerer.pngbin685 -> 845 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-black.pngbin0 -> 920 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-brown.pngbin0 -> 1018 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-green.pngbin0 -> 918 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-mottle.pngbin0 -> 1061 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-pale.pngbin0 -> 1207 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-purple.pngbin0 -> 1016 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-red.pngbin0 -> 851 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-white.pngbin0 -> 972 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-base-yellow.pngbin0 -> 969 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-job-ann.pngbin0 -> 868 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-job-call.pngbin0 -> 595 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-job-kn.pngbin0 -> 686 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-job-monk.pngbin0 -> 507 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-job-scor.pngbin0 -> 561 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-job-shif.pngbin0 -> 695 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/draco/draco-job-zea.pngbin0 -> 759 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/tiamat.pngbin1144 -> 1161 bytes
-rw-r--r--crawl-ref/source/rltiles/item/amulet/i-conservation.pngbin272 -> 281 bytes
-rw-r--r--crawl-ref/source/rltiles/item/amulet/i-r-mutation.pngbin298 -> 414 bytes
-rw-r--r--crawl-ref/source/rltiles/item/armor/buckler.png (renamed from crawl-ref/source/rltiles/item/armor/small_shield.png)bin511 -> 511 bytes
-rw-r--r--crawl-ref/source/rltiles/item/armor/buckler2.png (renamed from crawl-ref/source/rltiles/item/armor/small_shield2.png)bin524 -> 524 bytes
-rw-r--r--crawl-ref/source/rltiles/item/armor/buckler3.pngbin0 -> 581 bytes
-rw-r--r--crawl-ref/source/rltiles/item/ring/i-dex.pngbin311 -> 357 bytes
-rw-r--r--crawl-ref/source/rltiles/item/ring/i-evasion.pngbin347 -> 264 bytes
-rw-r--r--crawl-ref/source/rltiles/item/ring/i-int.pngbin291 -> 307 bytes
-rw-r--r--crawl-ref/source/rltiles/item/ring/i-regeneration.pngbin287 -> 225 bytes
-rw-r--r--crawl-ref/source/rltiles/item/ring/i-s-abil.pngbin298 -> 352 bytes
-rw-r--r--crawl-ref/source/rltiles/item/ring/i-str.pngbin308 -> 318 bytes
-rw-r--r--crawl-ref/source/rltiles/item/ring/i-teleport.pngbin308 -> 186 bytes
-rw-r--r--crawl-ref/source/rltiles/item/scroll/i-holy_word.pngbin220 -> 240 bytes
-rw-r--r--crawl-ref/source/rltiles/item/staff/i-staff_conjuration.pngbin240 -> 205 bytes
-rw-r--r--crawl-ref/source/rltiles/item/staff/i-staff_enchantment.pngbin289 -> 172 bytes
-rw-r--r--crawl-ref/source/tilemcache.cc101
38 files changed, 68 insertions, 56 deletions
diff --git a/crawl-ref/source/rltiles/dc-item.txt b/crawl-ref/source/rltiles/dc-item.txt
index 04880b802c..4721c8c0b3 100644
--- a/crawl-ref/source/rltiles/dc-item.txt
+++ b/crawl-ref/source/rltiles/dc-item.txt
@@ -295,8 +295,9 @@ shield_round2
#dwarvish_roundshield ARM_BUCKLER
%rim 0
-small_shield ARM_BUCKLER /* A small shield.
-small_shield2
+buckler ARM_BUCKLER /* A small shield.
+buckler2
+buckler3
%rim 1
large_shield ARM_LARGE_SHIELD /* Like a normal shield, only larger. It is very cumbersome to wear, and slows the rate at which you may attack.
diff --git a/crawl-ref/source/rltiles/dc-mon.txt b/crawl-ref/source/rltiles/dc-mon.txt
index 9ae29aa02a..9e9d014805 100644
--- a/crawl-ref/source/rltiles/dc-mon.txt
+++ b/crawl-ref/source/rltiles/dc-mon.txt
@@ -462,6 +462,24 @@ dngn_ice_statue ICE_STATUE
dngn_silver_statue SILVER_STATUE
%sdir dc-mon
+%sdir dc-mon/draco
+draco-base-brown DRACO_BASE
+draco-base-black
+draco-base-yellow
+draco-base-green
+draco-base-mottle
+draco-base-pale
+draco-base-purple
+draco-base-red
+draco-base-white
+draco-job-ann DRACO_ANNIHILATOR
+draco-job-call DRACO_CALLER
+draco-job-kn DRACO_KNIGHT
+draco-job-monk DRACO_MONK
+draco-job-scor DRACO_SCORCHER
+draco-job-shif DRACO_SHIFTER
+draco-job-zea DRACO_ZEALOT
+
dc-misc/unseen PLAYER
dc-misc/unseen_monster MONS_UNKNOWN
dc-misc/unseen_monster MCACHE_START
diff --git a/crawl-ref/source/rltiles/dc-mon/deep_elf_blademaster.png b/crawl-ref/source/rltiles/dc-mon/deep_elf_blademaster.png
index f9018b3100..52b68af0af 100644
--- a/crawl-ref/source/rltiles/dc-mon/deep_elf_blademaster.png
+++ b/crawl-ref/source/rltiles/dc-mon/deep_elf_blademaster.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/deep_elf_high_priest.png b/crawl-ref/source/rltiles/dc-mon/deep_elf_high_priest.png
index 0a3d0447f1..dc022476d7 100644
--- a/crawl-ref/source/rltiles/dc-mon/deep_elf_high_priest.png
+++ b/crawl-ref/source/rltiles/dc-mon/deep_elf_high_priest.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/deep_elf_sorcerer.png b/crawl-ref/source/rltiles/dc-mon/deep_elf_sorcerer.png
index 25c5524f5e..0394d49b80 100644
--- a/crawl-ref/source/rltiles/dc-mon/deep_elf_sorcerer.png
+++ b/crawl-ref/source/rltiles/dc-mon/deep_elf_sorcerer.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-black.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-black.png
new file mode 100644
index 0000000000..202bfa6bf6
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-black.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-brown.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-brown.png
new file mode 100644
index 0000000000..5fd555a7c7
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-brown.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-green.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-green.png
new file mode 100644
index 0000000000..6c13af89d5
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-green.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-mottle.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-mottle.png
new file mode 100644
index 0000000000..3659630dd6
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-mottle.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-pale.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-pale.png
new file mode 100644
index 0000000000..ff8996ae19
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-pale.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-purple.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-purple.png
new file mode 100644
index 0000000000..530e8d278c
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-purple.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-red.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-red.png
new file mode 100644
index 0000000000..5f39eba2a5
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-red.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-white.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-white.png
new file mode 100644
index 0000000000..cdbd5e30d5
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-white.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-base-yellow.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-yellow.png
new file mode 100644
index 0000000000..8b19507a6e
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-base-yellow.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-job-ann.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-ann.png
new file mode 100644
index 0000000000..c17d2cdde2
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-ann.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-job-call.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-call.png
new file mode 100644
index 0000000000..4650cdd930
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-call.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-job-kn.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-kn.png
new file mode 100644
index 0000000000..8ddde9975a
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-kn.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-job-monk.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-monk.png
new file mode 100644
index 0000000000..7d203386d5
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-monk.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-job-scor.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-scor.png
new file mode 100644
index 0000000000..ab42421950
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-scor.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-job-shif.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-shif.png
new file mode 100644
index 0000000000..261b0fd32a
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-shif.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/draco/draco-job-zea.png b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-zea.png
new file mode 100644
index 0000000000..62a6be8bb1
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/draco/draco-job-zea.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/tiamat.png b/crawl-ref/source/rltiles/dc-mon/tiamat.png
index 5c98706367..2080018bc4 100644
--- a/crawl-ref/source/rltiles/dc-mon/tiamat.png
+++ b/crawl-ref/source/rltiles/dc-mon/tiamat.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/amulet/i-conservation.png b/crawl-ref/source/rltiles/item/amulet/i-conservation.png
index 21fa8b2ffd..bf50b6740e 100644
--- a/crawl-ref/source/rltiles/item/amulet/i-conservation.png
+++ b/crawl-ref/source/rltiles/item/amulet/i-conservation.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/amulet/i-r-mutation.png b/crawl-ref/source/rltiles/item/amulet/i-r-mutation.png
index d496a84aea..eb0e7121f7 100644
--- a/crawl-ref/source/rltiles/item/amulet/i-r-mutation.png
+++ b/crawl-ref/source/rltiles/item/amulet/i-r-mutation.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/armor/small_shield.png b/crawl-ref/source/rltiles/item/armor/buckler.png
index b66db87c8e..b66db87c8e 100644
--- a/crawl-ref/source/rltiles/item/armor/small_shield.png
+++ b/crawl-ref/source/rltiles/item/armor/buckler.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/armor/small_shield2.png b/crawl-ref/source/rltiles/item/armor/buckler2.png
index 4dccc433ed..4dccc433ed 100644
--- a/crawl-ref/source/rltiles/item/armor/small_shield2.png
+++ b/crawl-ref/source/rltiles/item/armor/buckler2.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/armor/buckler3.png b/crawl-ref/source/rltiles/item/armor/buckler3.png
new file mode 100644
index 0000000000..79a2eec666
--- /dev/null
+++ b/crawl-ref/source/rltiles/item/armor/buckler3.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/ring/i-dex.png b/crawl-ref/source/rltiles/item/ring/i-dex.png
index e419eba2bb..dcf9a64bf4 100644
--- a/crawl-ref/source/rltiles/item/ring/i-dex.png
+++ b/crawl-ref/source/rltiles/item/ring/i-dex.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/ring/i-evasion.png b/crawl-ref/source/rltiles/item/ring/i-evasion.png
index 7bdf64f95f..ff94cff364 100644
--- a/crawl-ref/source/rltiles/item/ring/i-evasion.png
+++ b/crawl-ref/source/rltiles/item/ring/i-evasion.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/ring/i-int.png b/crawl-ref/source/rltiles/item/ring/i-int.png
index 24c5c88a0f..0f248ec2e5 100644
--- a/crawl-ref/source/rltiles/item/ring/i-int.png
+++ b/crawl-ref/source/rltiles/item/ring/i-int.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/ring/i-regeneration.png b/crawl-ref/source/rltiles/item/ring/i-regeneration.png
index cd24c4cfb1..a8f45a8cdf 100644
--- a/crawl-ref/source/rltiles/item/ring/i-regeneration.png
+++ b/crawl-ref/source/rltiles/item/ring/i-regeneration.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/ring/i-s-abil.png b/crawl-ref/source/rltiles/item/ring/i-s-abil.png
index bb9ff7bb2e..ff205e6e4a 100644
--- a/crawl-ref/source/rltiles/item/ring/i-s-abil.png
+++ b/crawl-ref/source/rltiles/item/ring/i-s-abil.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/ring/i-str.png b/crawl-ref/source/rltiles/item/ring/i-str.png
index ac2ab65e8f..912a11ee6c 100644
--- a/crawl-ref/source/rltiles/item/ring/i-str.png
+++ b/crawl-ref/source/rltiles/item/ring/i-str.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/ring/i-teleport.png b/crawl-ref/source/rltiles/item/ring/i-teleport.png
index 3ece64b9e3..a93a9741a2 100644
--- a/crawl-ref/source/rltiles/item/ring/i-teleport.png
+++ b/crawl-ref/source/rltiles/item/ring/i-teleport.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/scroll/i-holy_word.png b/crawl-ref/source/rltiles/item/scroll/i-holy_word.png
index df76ff7722..e02cc2604e 100644
--- a/crawl-ref/source/rltiles/item/scroll/i-holy_word.png
+++ b/crawl-ref/source/rltiles/item/scroll/i-holy_word.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/staff/i-staff_conjuration.png b/crawl-ref/source/rltiles/item/staff/i-staff_conjuration.png
index 9026ff9382..07fe8dd05e 100644
--- a/crawl-ref/source/rltiles/item/staff/i-staff_conjuration.png
+++ b/crawl-ref/source/rltiles/item/staff/i-staff_conjuration.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/staff/i-staff_enchantment.png b/crawl-ref/source/rltiles/item/staff/i-staff_enchantment.png
index 18d6f60c90..4a94e18a81 100644
--- a/crawl-ref/source/rltiles/item/staff/i-staff_enchantment.png
+++ b/crawl-ref/source/rltiles/item/staff/i-staff_enchantment.png
Binary files differ
diff --git a/crawl-ref/source/tilemcache.cc b/crawl-ref/source/tilemcache.cc
index 6002254d16..9d3397bb96 100644
--- a/crawl-ref/source/tilemcache.cc
+++ b/crawl-ref/source/tilemcache.cc
@@ -77,14 +77,16 @@ public:
mcache_draco(const monsters *mon);
mcache_draco(reader &th);
- virtual const dolls_data *doll() const;
+ virtual unsigned int info(tile_draw_info *dinfo) const;
static bool valid(const monsters *mon);
virtual void construct(writer &th);
protected:
- dolls_data m_doll;
+ int m_mon_tile;
+ int m_job_tile;
+ int m_equ_tile;
};
class mcache_ghost : public mcache_entry
@@ -338,6 +340,7 @@ bool mcache_monster::get_weapon_offset(int mon_tile, int &ofs_x, int &ofs_y)
case TILEP_MONS_VAULT_GUARD:
case TILEP_MONS_HOBGOBLIN:
case TILEP_MONS_DEEP_ELF_MASTER_ARCHER:
+ case TILEP_MONS_DEEP_ELF_BLADEMASTER:
case TILEP_MONS_IMP:
case TILEP_MONS_ANGEL:
case TILEP_MONS_NORRIS:
@@ -459,10 +462,8 @@ bool mcache_monster::get_weapon_offset(int mon_tile, int &ofs_x, int &ofs_y)
case TILEP_MONS_DEEP_ELF_SUMMONER:
case TILEP_MONS_DEEP_ELF_CONJURER:
case TILEP_MONS_DEEP_ELF_PRIEST:
- case TILEP_MONS_DEEP_ELF_HIGH_PRIEST:
case TILEP_MONS_DEEP_ELF_DEMONOLOGIST:
case TILEP_MONS_DEEP_ELF_ANNIHILATOR:
- case TILEP_MONS_DEEP_ELF_SORCERER:
ofs_x = -1;
ofs_y = -2;
break;
@@ -470,6 +471,15 @@ bool mcache_monster::get_weapon_offset(int mon_tile, int &ofs_x, int &ofs_y)
ofs_x = -1;
ofs_y = 0;
break;
+ case TILEP_MONS_DEEP_ELF_SORCERER:
+ case TILEP_MONS_DEEP_ELF_HIGH_PRIEST:
+ ofs_x = 0;
+ ofs_y = -1;
+ break;
+ case TILEP_MONS_TIAMAT:
+ ofs_x = -2;
+ ofs_y = 0;
+ break;
default:
// This monster cannot be displayed with a weapon.
return false;
@@ -557,79 +567,58 @@ mcache_draco::mcache_draco(const monsters *mon)
case MONS_DRACONIAN: colour = 0; break;
case MONS_BLACK_DRACONIAN: colour = 1; break;
case MONS_YELLOW_DRACONIAN: colour = 2; break;
- case MONS_GREEN_DRACONIAN: colour = 4; break;
- case MONS_MOTTLED_DRACONIAN:colour = 5; break;
- case MONS_PALE_DRACONIAN: colour = 6; break;
- case MONS_PURPLE_DRACONIAN: colour = 7; break;
- case MONS_RED_DRACONIAN: colour = 8; break;
- case MONS_WHITE_DRACONIAN: colour = 9; break;
+ case MONS_GREEN_DRACONIAN: colour = 3; break;
+ case MONS_MOTTLED_DRACONIAN:colour = 4; break;
+ case MONS_PALE_DRACONIAN: colour = 5; break;
+ case MONS_PURPLE_DRACONIAN: colour = 6; break;
+ case MONS_RED_DRACONIAN: colour = 7; break;
+ case MONS_WHITE_DRACONIAN: colour = 8; break;
}
- m_doll.parts[TILEP_PART_SHADOW] = TILEP_SHADOW_SHADOW;
- m_doll.parts[TILEP_PART_BASE] = TILEP_BASE_DRACONIAN + colour * 2;
- m_doll.parts[TILEP_PART_DRCWING] =
- tile_player_part_start[TILEP_PART_DRCWING] + colour;
- m_doll.parts[TILEP_PART_DRCHEAD] =
- tile_player_part_start[TILEP_PART_DRCHEAD] + colour;
-
+ m_mon_tile = TILEP_DRACO_BASE + colour;
int mon_wep = mon->inv[MSLOT_WEAPON];
- int equ_tile = (mon_wep != NON_ITEM) ? tilep_equ_weapon(mitm[mon_wep]) : 0;
+ m_equ_tile = (mon_wep != NON_ITEM) ? tilep_equ_weapon(mitm[mon_wep]) : 0;
switch (mon->type)
{
case MONS_DRACONIAN_CALLER:
- m_doll.parts[TILEP_PART_HAND1] = TILEP_HAND1_STAFF_EVIL;
- m_doll.parts[TILEP_PART_HAND2] = TILEP_HAND2_BOOK_YELLOW;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_ROBE_BROWN;
+ m_job_tile = TILEP_DRACO_CALLER;
break;
-
case MONS_DRACONIAN_MONK:
- m_doll.parts[TILEP_PART_ARM] = TILEP_ARM_GLOVE_SHORT_BLUE;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_KARATE2;
+ m_job_tile = TILEP_DRACO_MONK;
break;
-
case MONS_DRACONIAN_ZEALOT:
- m_doll.parts[TILEP_PART_HAND1] = TILEP_HAND1_MACE;
- m_doll.parts[TILEP_PART_HAND2] = TILEP_HAND2_BOOK_CYAN;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_MONK_BLUE;
+ m_job_tile = TILEP_DRACO_ZEALOT;
break;
-
case MONS_DRACONIAN_SHIFTER:
- m_doll.parts[TILEP_PART_HAND1] = TILEP_HAND1_STAFF_LARGE;
- m_doll.parts[TILEP_PART_HAND2] = TILEP_HAND2_BOOK_GREEN;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_ROBE_CYAN;
+ m_job_tile = TILEP_DRACO_SHIFTER;
break;
-
case MONS_DRACONIAN_ANNIHILATOR:
- m_doll.parts[TILEP_PART_HAND1] = TILEP_HAND1_STAFF_RUBY;
- m_doll.parts[TILEP_PART_HAND2] = TILEP_HAND2_FIRE_CYAN;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_ROBE_GREEN_GOLD;
+ m_job_tile = TILEP_DRACO_ANNIHILATOR;
break;
-
case MONS_DRACONIAN_KNIGHT:
- m_doll.parts[TILEP_PART_HAND1] = equ_tile;
- m_doll.parts[TILEP_PART_HAND2] = TILEP_HAND2_SHIELD_KNIGHT_GRAY;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_BPLATE_METAL1;
- m_doll.parts[TILEP_PART_LEG] = TILEP_LEG_BELT_GRAY;
+ m_job_tile = TILEP_DRACO_KNIGHT;
break;
-
case MONS_DRACONIAN_SCORCHER:
- m_doll.parts[TILEP_PART_HAND1] = TILEP_HAND1_FIRE_RED;
- m_doll.parts[TILEP_PART_HAND2] = TILEP_HAND2_BOOK_RED;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_ROBE_RED;
+ m_job_tile = TILEP_DRACO_SCORCHER;
break;
-
default:
- m_doll.parts[TILEP_PART_HAND1] = equ_tile;
- m_doll.parts[TILEP_PART_BODY] = TILEP_BODY_BELT2;
- m_doll.parts[TILEP_PART_LEG] = TILEP_LEG_LOINCLOTH_RED;
+ m_job_tile = 0;
break;
}
}
-const dolls_data *mcache_draco::doll() const
+unsigned int mcache_draco::info(tile_draw_info *dinfo) const
{
- return &m_doll;
+ unsigned int i = 0;
+
+ dinfo[i++].set(m_mon_tile);
+ if (m_job_tile)
+ dinfo[i++].set(m_job_tile);
+ if (m_equ_tile)
+ dinfo[i++].set(m_equ_tile, -2, 0);
+
+ return i;
}
bool mcache_draco::valid(const monsters *mon)
@@ -640,14 +629,18 @@ bool mcache_draco::valid(const monsters *mon)
mcache_draco::mcache_draco(reader &th) : mcache_entry(th)
{
- unmarshallDoll(th, m_doll);
+ m_mon_tile = unmarshallLong(th);
+ m_job_tile = unmarshallLong(th);
+ m_equ_tile = unmarshallLong(th);
}
void mcache_draco::construct(writer &th)
{
mcache_entry::construct(th);
-
- marshallDoll(th, m_doll);
+
+ marshallLong(th, m_mon_tile);
+ marshallLong(th, m_job_tile);
+ marshallLong(th, m_equ_tile);
}
/////////////////////////////////////////////////////////////////////////////