summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-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);
}
/////////////////////////////////////////////////////////////////////////////