summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r--crawl-ref/source/mon-util.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index ba81b53e8a..e063531424 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -78,9 +78,7 @@ FixedVector < unsigned short, 1000 > mcolour;
static bool initialized_randmons = false;
static std::vector<monster_type> monsters_by_habitat[NUM_HABITATS];
-static monsterentry mondata[] = {
#include "mon-data.h"
-};
#define MONDATASIZE ARRAYSZ(mondata)
@@ -6344,7 +6342,17 @@ int monsters::action_energy(energy_use_type et) const
switch (et)
{
case EUT_MOVE: return mu.move;
- case EUT_SWIM: return mu.swim;
+ case EUT_SWIM:
+ // [ds] Amphibious monsters get a significant speed boost
+ // when swimming, as discussed with dpeg. We do not
+ // distinguish between amphibians that favour land
+ // (HT_LAND, such as hydras) and those that favour water
+ // (HT_WATER, such as merfolk), but that's something we
+ // can think about.
+ if (mons_class_flag(type, M_AMPHIBIOUS))
+ return div_rand_round(mu.swim * 7, 10);
+ else
+ return mu.swim;
case EUT_MISSILE: return mu.missile;
case EUT_ITEM: return mu.item;
case EUT_SPECIAL: return mu.special;