summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/enum.h2
-rw-r--r--crawl-ref/source/fight.cc11
-rw-r--r--crawl-ref/source/mon-data.h6
-rw-r--r--crawl-ref/source/mon-pick.cc4
-rw-r--r--crawl-ref/source/mon-util.h4
-rw-r--r--crawl-ref/source/rltiles/dc-corpse.txt2
-rw-r--r--crawl-ref/source/rltiles/dc-mon.txt2
-rw-r--r--crawl-ref/source/rltiles/dc-mon/animals/anaconda.png (renamed from crawl-ref/source/rltiles/dc-mon/animals/grey_snake.png)bin747 -> 747 bytes
-rw-r--r--crawl-ref/source/spells2.cc2
-rw-r--r--crawl-ref/source/tilepick.cc8
10 files changed, 26 insertions, 15 deletions
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index cec66b0228..7938b7fa1d 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -1781,7 +1781,7 @@ enum monster_type // (int) menv[].type
MONS_FIRE_DRAKE,
MONS_SHADOW_DRAGON, // 165
MONS_VIPER,
- MONS_GREY_SNAKE,
+ MONS_ANACONDA,
MONS_DEEP_TROLL,
MONS_GIANT_BLOWFLY,
MONS_RED_WASP, // 170
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 52568110c1..91397a6fe9 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -4530,7 +4530,8 @@ std::string melee_attack::mons_attack_verb(const mon_attack_def &attk)
"kick",
"tentacle-slap",
"tail-slap",
- "gore"
+ "gore",
+ "constrict"
};
return (attack_types[attk.type]);
@@ -5186,6 +5187,13 @@ void melee_attack::mons_apply_attack_flavour(const mon_attack_def &attk)
atk_name(DESC_CAP_THE).c_str());
}
break;
+
+ case AF_CRUSH:
+ mprf("%s %s being crushed%s",
+ def_name(DESC_CAP_THE).c_str(),
+ defender->conj_verb("are").c_str(),
+ special_attack_punctuation().c_str());
+ break;
}
}
@@ -5299,6 +5307,7 @@ void melee_attack::mons_perform_attack_rounds()
case AT_BITE:
case AT_PECK:
+ case AT_CONSTRICT:
noise_factor = 100;
break;
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index 965ef2314a..e9094329bd 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -2890,11 +2890,11 @@ static monsterentry mondata[] = {
},
{
- MONS_GREY_SNAKE, 'S', LIGHTGREY, "grey snake",
+ MONS_ANACONDA, 'S', LIGHTGREY, "anaconda",
M_COLD_BLOOD,
MR_NO_FLAGS,
- 600, 10, MONS_SNAKE, MONS_GREY_SNAKE, MH_NATURAL, -3,
- { {AT_BITE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
+ 600, 10, MONS_SNAKE, MONS_ANACONDA, MH_NATURAL, -3,
+ { {AT_CONSTRICT, AF_CRUSH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
4, 16, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 18, DEFAULT_ENERGY,
diff --git a/crawl-ref/source/mon-pick.cc b/crawl-ref/source/mon-pick.cc
index 30ca498b07..84d540d8c8 100644
--- a/crawl-ref/source/mon-pick.cc
+++ b/crawl-ref/source/mon-pick.cc
@@ -1800,7 +1800,7 @@ int mons_pitsnake_level(int mcls)
case MONS_WATER_MOCCASIN:
case MONS_BLACK_MAMBA:
case MONS_VIPER:
- case MONS_GREY_SNAKE:
+ case MONS_ANACONDA:
case MONS_NAGA:
mlev += 2;
break;
@@ -1844,7 +1844,7 @@ int mons_pitsnake_rare(int mcls)
return 34;
case MONS_VIPER:
- case MONS_GREY_SNAKE:
+ case MONS_ANACONDA:
return 32;
case MONS_GREATER_NAGA:
diff --git a/crawl-ref/source/mon-util.h b/crawl-ref/source/mon-util.h
index 7858c51167..b9c5424aee 100644
--- a/crawl-ref/source/mon-util.h
+++ b/crawl-ref/source/mon-util.h
@@ -51,6 +51,7 @@ enum mon_attack_type
AT_TENTACLE_SLAP,
AT_TAIL_SLAP,
AT_GORE,
+ AT_CONSTRICT,
AT_SHOOT, // Attack representing missile damage for M_ARCHER.
AT_WEAP_ONLY, // Ranged weap: shoot point-blank like AT_SHOOT, melee weap:
@@ -87,7 +88,8 @@ enum mon_attack_flavour
AF_NAPALM,
AF_CHAOS,
AF_STEAL,
- AF_STEAL_FOOD
+ AF_STEAL_FOOD,
+ AF_CRUSH
};
// Non-spell "summoning" types to give to monsters::mark_summoned(), or
diff --git a/crawl-ref/source/rltiles/dc-corpse.txt b/crawl-ref/source/rltiles/dc-corpse.txt
index 5607d22cf7..f947bf65b0 100644
--- a/crawl-ref/source/rltiles/dc-corpse.txt
+++ b/crawl-ref/source/rltiles/dc-corpse.txt
@@ -107,7 +107,7 @@ small_snake CORPSE_SMALL_SNAKE
snake CORPSE_SNAKE
black_mamba CORPSE_BLACK_MAMBA
water_moccasin CORPSE_WATER_MOCCASIN
-grey_snake CORPSE_GREY_SNAKE
+anaconda CORPSE_ANACONDA
viper CORPSE_VIPER
## Bears ('U')
diff --git a/crawl-ref/source/rltiles/dc-mon.txt b/crawl-ref/source/rltiles/dc-mon.txt
index f629e1d0e0..4afbdba3c8 100644
--- a/crawl-ref/source/rltiles/dc-mon.txt
+++ b/crawl-ref/source/rltiles/dc-mon.txt
@@ -129,7 +129,7 @@ small_snake MONS_SMALL_SNAKE
snake MONS_SNAKE
black_mamba MONS_BLACK_MAMBA
water_moccasin MONS_WATER_MOCCASIN
-grey_snake MONS_GREY_SNAKE
+anaconda MONS_ANACONDA
lava_snake MONS_LAVA_SNAKE
viper MONS_VIPER
salamander MONS_SALAMANDER
diff --git a/crawl-ref/source/rltiles/dc-mon/animals/grey_snake.png b/crawl-ref/source/rltiles/dc-mon/animals/anaconda.png
index 2da9df3b93..2da9df3b93 100644
--- a/crawl-ref/source/rltiles/dc-mon/animals/grey_snake.png
+++ b/crawl-ref/source/rltiles/dc-mon/animals/anaconda.png
Binary files differ
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc
index 66d30c6629..0e3dcb1aea 100644
--- a/crawl-ref/source/spells2.cc
+++ b/crawl-ref/source/spells2.cc
@@ -1154,7 +1154,7 @@ bool cast_sticks_to_snakes(int pow, god_type god)
mon = MONS_BLACK_MAMBA;
if (pow > 90 && one_chance_in(3))
- mon = MONS_GREY_SNAKE;
+ mon = MONS_ANACONDA;
if (create_monster(
mgen_data(mon, beha, &you,
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index 3d2794ecd8..af9293e656 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -642,8 +642,8 @@ int tileidx_monster_base(const monsters *mon, bool detected)
return TILEP_MONS_BLACK_MAMBA;
case MONS_VIPER:
return TILEP_MONS_VIPER;
- case MONS_GREY_SNAKE:
- return TILEP_MONS_GREY_SNAKE;
+ case MONS_ANACONDA:
+ return TILEP_MONS_ANACONDA;
// trolls ('T')
case MONS_TROLL:
@@ -1958,8 +1958,8 @@ static int _tileidx_corpse(const item_def &item)
return TILE_CORPSE_SMALL_SNAKE;
case MONS_SNAKE:
return TILE_CORPSE_SNAKE;
- case MONS_GREY_SNAKE:
- return TILE_CORPSE_GREY_SNAKE;
+ case MONS_ANACONDA:
+ return TILE_CORPSE_ANACONDA;
case MONS_WATER_MOCCASIN:
return TILE_CORPSE_WATER_MOCCASIN;
case MONS_BLACK_MAMBA: