summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-27 08:18:41 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-27 08:18:41 +0000
commite5b0adc995eba28cdaa448e345e0e58d4a8c61a8 (patch)
tree99e6fd94c3e1a9d312ff242b8f69bef01156a23e
parent32ee07c57a39f77aede3c432ea6292e20be6df65 (diff)
downloadcrawl-ref-e5b0adc995eba28cdaa448e345e0e58d4a8c61a8.tar.gz
crawl-ref-e5b0adc995eba28cdaa448e345e0e58d4a8c61a8.zip
Trunk->0.3 merge (2607-2609, 2611): Monster xp tweaks, net branding fix, hobgoblin maxhp drop, toxic radiance fix for submerged monsters.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.3@2614 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/acr.cc4
-rw-r--r--crawl-ref/source/makeitem.cc7
-rw-r--r--crawl-ref/source/mgrow.cc18
-rw-r--r--crawl-ref/source/mon-data.h4
-rw-r--r--crawl-ref/source/spells2.cc3
-rw-r--r--crawl-ref/source/view.cc2
6 files changed, 21 insertions, 17 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index 83dfcf9d6f..c44123436b 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -2505,8 +2505,6 @@ static void show_message_line(std::string line)
mpr(line.c_str());
else
{
- take_note(Note( NOTE_MESSAGE, MSGCH_PLAIN, 0, line.c_str() ));
-
std::string sender = line.substr(0, sender_pos);
line = line.substr(sender_pos + 1);
trim_string(line);
@@ -2518,6 +2516,8 @@ static void show_message_line(std::string line)
fs.textcolor(LIGHTGREY);
fs.cprintf("%s", line.c_str());
formatted_mpr(fs, MSGCH_PLAIN, 0);
+ take_note(Note( NOTE_MESSAGE, MSGCH_PLAIN, 0,
+ (sender + ": " + line).c_str() ));
}
}
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc
index 5bed8798aa..32a54b21d2 100644
--- a/crawl-ref/source/makeitem.cc
+++ b/crawl-ref/source/makeitem.cc
@@ -1815,9 +1815,10 @@ int items( int allow_uniques, // not just true-false,
if (get_equip_race(mitm[p]) == ISFLAG_ORCISH && one_chance_in(3))
set_item_ego_type( mitm[p], OBJ_MISSILES, SPMSL_POISONED );
- // Un-poison sling bullets.
- if (mitm[p].sub_type == MI_SLING_BULLET
- && get_ammo_brand( mitm[p] ) == SPMSL_POISONED)
+ // Un-poison sling bullets, unbrand nets.
+ if ((mitm[p].sub_type == MI_SLING_BULLET
+ && get_ammo_brand( mitm[p] ) == SPMSL_POISONED)
+ || mitm[p].sub_type == MI_THROWING_NET)
{
set_item_ego_type( mitm[p], OBJ_MISSILES, SPMSL_NORMAL );
}
diff --git a/crawl-ref/source/mgrow.cc b/crawl-ref/source/mgrow.cc
index ea08169523..e6d0b80b90 100644
--- a/crawl-ref/source/mgrow.cc
+++ b/crawl-ref/source/mgrow.cc
@@ -13,9 +13,9 @@
#include "stuff.h"
// Base experience required by a monster to reach HD 1.
-const int monster_xp_base = 10;
+const int monster_xp_base = 15;
// Experience multiplier to determine the experience needed to gain levels.
-const int monster_xp_multiplier = 130;
+const int monster_xp_multiplier = 150;
const mons_experience_levels mexplevs;
// Monster growing-up sequences. You can specify a chance to indicate that
@@ -70,7 +70,7 @@ mons_experience_levels::mons_experience_levels()
delta =
std::min(
std::max(delta, monster_xp_base * monster_xp_multiplier / 100),
- 2500);
+ 2000);
experience += delta;
}
}
@@ -142,15 +142,17 @@ bool monsters::level_up()
// A little maxhp boost.
if (max_hit_points < 1000)
{
- int hpboost = hit_dice > 3? max_hit_points / 8 : max_hit_points / 4;
+ int hpboost =
+ (hit_dice > 3? max_hit_points / 8 : max_hit_points / 4)
+ + random2(5);
+
+ // Not less than 3 hp, not more than 25.
+ hpboost = std::min(std::max(hpboost, 3), 25);
+
#ifdef DEBUG_DIAGNOSTICS
mprf(MSGCH_DIAGNOSTICS, "%s: HD: %d, maxhp: %d, boost: %d",
name(DESC_PLAIN).c_str(), hit_dice, max_hit_points, hpboost);
#endif
- if (hpboost < 2)
- hpboost = 2;
- if (hpboost > 20)
- hpboost = 20;
max_hit_points += hpboost;
hit_points += hpboost;
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index 1f92f36078..809971278a 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -524,7 +524,7 @@
MR_NO_FLAGS,
500, 10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, -1,
{ {AT_HIT, AF_PLAIN, 5}, {AT_NONE, AF_PLAIN, 0}, {AT_NONE, AF_PLAIN, 0}, {AT_NONE, AF_PLAIN, 0} },
- { 1, 4, 5, 0 },
+ { 1, 4, 3, 0 },
2, 10, 10, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT, I_NORMAL,
MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM
}
@@ -1276,7 +1276,7 @@
MR_RES_FIRE,
600, 12, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 7}, {AT_NONE, AF_PLAIN, 0}, {AT_NONE, AF_PLAIN, 0}, {AT_NONE, AF_PLAIN, 0} },
- { 8, 2, 3, 0 },
+ { 9, 2, 3, 0 },
5, 12, 10, 7, MST_ORC_SORCERER, CE_CONTAMINATED, Z_SMALL, S_SHOUT, I_HIGH,
MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM
}
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc
index 64c48926eb..d9cd928d61 100644
--- a/crawl-ref/source/spells2.cc
+++ b/crawl-ref/source/spells2.cc
@@ -828,7 +828,8 @@ void cast_toxic_radiance(void)
{
monster = &menv[toxy];
- if (monster->type != -1 && mons_near(monster))
+ if (monster->type != -1 && mons_near(monster)
+ && !monster->submerged())
{
// Monsters affected by corona are still invisible in that
// radiation passes through them without affecting them. Therefore,
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index fe0fbdc64a..9c51826ca3 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -668,7 +668,7 @@ inline static void beogh_follower_convert(monsters *monster)
const int hd = monster->hit_dice;
if (you.piety >= 75 && !you.penance[GOD_BEOGH] &&
- random2(you.piety / 15) + random2(12)
+ random2(you.piety / 15) + random2(4 + you.experience_level / 3)
> random2(hd) + hd + random2(5))
{
int wpn = you.equip[EQ_WEAPON];