summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-09-19 15:08:37 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-09-19 15:08:37 +0000
commit8b5ae1fa034a8ca37d40721737215a9012294a8d (patch)
treedc6143917b88d886647ee365652acf658bd9a2ec /crawl-ref
parentc14bc1d072070568f40f6f4003f37c8a1480ea10 (diff)
downloadcrawl-ref-8b5ae1fa034a8ca37d40721737215a9012294a8d.tar.gz
crawl-ref-8b5ae1fa034a8ca37d40721737215a9012294a8d.zip
Add Mitsuhiro's new kraken tiles, slightly modified to make them work
with the water overlays. Experimentally disallow krakens (heads) to be placed in or move into shallow water. If the player wants to get rid of the source of all those tentacles he'll have to use ranged combat/spells or face the disadvantage of standing inside shallow water. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10731 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/mon-data.h2
-rw-r--r--crawl-ref/source/monplace.cc4
-rw-r--r--crawl-ref/source/monstuff.cc5
-rw-r--r--crawl-ref/source/rltiles/dc-misc/mask_deep_water_shoals.pngbin688 -> 685 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon.txt10
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/kraken_head.pngbin0 -> 1064 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle1.pngbin0 -> 552 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle2.pngbin0 -> 706 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle3.pngbin0 -> 613 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle4.pngbin0 -> 595 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle5.pngbin0 -> 712 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle6.pngbin0 -> 655 bytes
-rw-r--r--crawl-ref/source/tilepick.cc5
13 files changed, 25 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index 77934544da..b79d170552 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -3013,7 +3013,7 @@ static monsterentry mondata[] = {
1500, 20, MONS_KRAKEN, MONS_KRAKEN, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 10, 10, 0 },
- 20, 0, MST_KRAKEN, CE_CLEAN, Z_NOZOMBIE, S_SILENT, I_ANIMAL,
+ 20, 0, MST_KRAKEN, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT, I_ANIMAL,
HT_WATER, 10, DEFAULT_ENERGY, MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc
index a3d1c326af..a3f4fdb4ff 100644
--- a/crawl-ref/source/monplace.cc
+++ b/crawl-ref/source/monplace.cc
@@ -154,6 +154,10 @@ bool monster_habitable_grid(int monster_class,
if (monster_class == MONS_FIRE_ELEMENTAL && grid_is_watery(actual_grid))
return (false);
+ // Krakens are too large for shallow water.
+ if (monster_class == MONS_KRAKEN && actual_grid == DNGN_SHALLOW_WATER)
+ return (false);
+
if (grid_compatible(grid_preferred, actual_grid)
|| (grid_nonpreferred != grid_preferred
&& grid_compatible(grid_nonpreferred, actual_grid)))
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 1d9cd61e90..314782f8cc 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -8680,6 +8680,11 @@ static bool _mon_can_move_to_pos(const monsters *monster,
const dungeon_feature_type target_grid = grd(targ);
const habitat_type habitat = mons_primary_habitat(monster);
+ // The kraken is so large it cannot enter shallow water.
+ // Its tentacles can, and will, though.
+ if (monster->type == MONS_KRAKEN && target_grid == DNGN_SHALLOW_WATER)
+ return (false);
+
// Effectively slows down monster movement across water.
// Fire elementals can't cross at all.
bool no_water = false;
diff --git a/crawl-ref/source/rltiles/dc-misc/mask_deep_water_shoals.png b/crawl-ref/source/rltiles/dc-misc/mask_deep_water_shoals.png
index 69e35f5e79..a331042c2a 100644
--- a/crawl-ref/source/rltiles/dc-misc/mask_deep_water_shoals.png
+++ b/crawl-ref/source/rltiles/dc-misc/mask_deep_water_shoals.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon.txt b/crawl-ref/source/rltiles/dc-mon.txt
index 1c61f6de85..4bf32dc47a 100644
--- a/crawl-ref/source/rltiles/dc-mon.txt
+++ b/crawl-ref/source/rltiles/dc-mon.txt
@@ -81,12 +81,22 @@ red_wasp MONS_RED_WASP
moth_of_wrath MONS_MOTH_OF_WRATH
## Aquatics (';')
+%rim 0
big_fish MONS_BIG_FISH
giant_goldfish MONS_GIANT_GOLDFISH
electric_eel MONS_ELECTRIC_EEL
lava_fish MONS_LAVA_FISH
shark MONS_SHARK
jellyfish MONS_JELLYFISH /*'J'*/
+## Kraken head ('X') and tentacles ('w')
+kraken_head MONS_KRAKEN_HEAD
+kraken_tentacle1 MONS_KRAKEN_TENTACLE
+kraken_tentacle2
+kraken_tentacle3
+kraken_tentacle4
+kraken_tentacle5
+kraken_tentacle6
+%rim 1
## Beetles ('B')
giant_beetle MONS_GIANT_BEETLE
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/kraken_head.png b/crawl-ref/source/rltiles/dc-mon/animals/kraken_head.png
new file mode 100644
index 0000000000..cbc5a18fcf
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/animals/kraken_head.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle1.png b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle1.png
new file mode 100644
index 0000000000..ab578536d9
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle1.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle2.png b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle2.png
new file mode 100644
index 0000000000..d4168c2c0d
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle2.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle3.png b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle3.png
new file mode 100644
index 0000000000..43e44dc278
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle3.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle4.png b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle4.png
new file mode 100644
index 0000000000..452018ac74
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle4.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle5.png b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle5.png
new file mode 100644
index 0000000000..e38a918cd1
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle5.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle6.png b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle6.png
new file mode 100644
index 0000000000..b582feb1b8
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/animals/kraken_tentacle6.png
Binary files differ
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index 377f63997a..ac1f1d7239 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -708,6 +708,11 @@ int tileidx_monster_base(const monsters *mon, bool detected)
return TILEP_MONS_SHARK;
case MONS_JELLYFISH:
return TILEP_MONS_JELLYFISH;
+ case MONS_KRAKEN:
+ return TILEP_MONS_KRAKEN_HEAD;
+ case MONS_KRAKEN_TENTACLE:
+ return TILEP_MONS_KRAKEN_TENTACLE
+ + random2(tile_player_count(TILEP_MONS_KRAKEN_TENTACLE));
// lava monsters
case MONS_LAVA_WORM: