summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Kozlov <zaba@thorium.homeunix.org>2009-11-07 12:33:40 +0300
committerJude Brown <bookofjude@users.sourceforge.net>2009-11-07 19:52:53 +1000
commit3232b4719ebfaccae12c628b01c6ca37ad38254e (patch)
treee95548b672dddc54a27c8fe3124809a82ef0b914
parent19c21942c0fd98b8034920f9bebd96bc8a8a5261 (diff)
downloadcrawl-ref-3232b4719ebfaccae12c628b01c6ca37ad38254e.tar.gz
crawl-ref-3232b4719ebfaccae12c628b01c6ca37ad38254e.zip
Replace mons_neutral with monsters::neutral.
Signed-off-by: Jude Brown <bookofjude@users.sourceforge.net>
-rw-r--r--crawl-ref/source/attitude-change.cc2
-rw-r--r--crawl-ref/source/delay.cc2
-rw-r--r--crawl-ref/source/directn.cc6
-rw-r--r--crawl-ref/source/menu.cc2
-rw-r--r--crawl-ref/source/misc.cc2
-rw-r--r--crawl-ref/source/mon-act.cc2
-rw-r--r--crawl-ref/source/mon-behv.cc8
-rw-r--r--crawl-ref/source/mon-info.cc2
-rw-r--r--crawl-ref/source/mon-util.cc9
-rw-r--r--crawl-ref/source/mon-util.h1
-rw-r--r--crawl-ref/source/monspeak.cc2
-rw-r--r--crawl-ref/source/monster.cc9
-rw-r--r--crawl-ref/source/monster.h1
-rw-r--r--crawl-ref/source/monstuff.h2
-rw-r--r--crawl-ref/source/output.cc6
-rw-r--r--crawl-ref/source/player.cc2
-rw-r--r--crawl-ref/source/religion.cc2
-rw-r--r--crawl-ref/source/showsymb.cc2
-rw-r--r--crawl-ref/source/spells1.cc2
-rw-r--r--crawl-ref/source/tilepick.cc2
-rw-r--r--crawl-ref/source/tilesdl.cc2
-rw-r--r--crawl-ref/source/view.cc2
22 files changed, 35 insertions, 35 deletions
diff --git a/crawl-ref/source/attitude-change.cc b/crawl-ref/source/attitude-change.cc
index 953bd164bb..5af5a8e753 100644
--- a/crawl-ref/source/attitude-change.cc
+++ b/crawl-ref/source/attitude-change.cc
@@ -110,7 +110,7 @@ void slime_convert(monsters* monster)
if (you.religion == GOD_JIYVA && mons_is_slime(monster)
&& !mons_is_summoned(monster)
&& !mons_is_shapeshifter(monster)
- && !mons_neutral(monster)
+ && !monster->neutral()
&& !monster->friendly()
&& !testbits(monster->flags, MF_ATT_CHANGE_ATTEMPT)
&& you.visible_to(monster) && !monster->asleep()
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index b7b47f195a..09b88514fc 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -78,7 +78,7 @@ static bool _recite_mons_useless(const monsters *mon)
|| mons_is_fleeing(mon)
|| mon->asleep()
|| mons_wont_attack(mon)
- || mons_neutral(mon)
+ || mon->neutral()
|| mons_is_confused(mon)
|| mon->paralysed()
|| mon->has_ench(ENCH_BATTLE_FRENZY)
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index 87cda945c4..1152999ce0 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -3123,7 +3123,7 @@ static std::string _get_monster_desc(const monsters *mon)
else if (mons_is_fleeing(mon))
text += pronoun + " is retreating.\n";
// hostile with target != you
- else if (!mon->friendly() && !mons_neutral(mon)
+ else if (!mon->friendly() && !mon->neutral()
&& mon->foe != MHITYOU && !crawl_state.arena_suspended)
{
// Special case: batty monsters get set to BEH_WANDER as
@@ -3135,7 +3135,7 @@ static std::string _get_monster_desc(const monsters *mon)
if (mon->attitude == ATT_FRIENDLY)
text += pronoun + " is friendly.\n";
- else if (mons_neutral(mon)) // don't differentiate between permanent or not
+ else if (mon->neutral()) // don't differentiate between permanent or not
text += pronoun + " is indifferent to you.\n";
if (mons_is_summoned(mon) && mon->type != MONS_RAKSHASA_FAKE)
@@ -3233,7 +3233,7 @@ std::string get_monster_equipment_desc(const monsters *mon, bool full_desc,
std::string str = "";
if (mon->friendly())
str = "friendly";
- else if (mons_neutral(mon))
+ else if (mon->neutral())
str = "neutral";
if (mons_is_summoned(mon))
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc
index df4e586665..690b8cdcb5 100644
--- a/crawl-ref/source/menu.cc
+++ b/crawl-ref/source/menu.cc
@@ -813,7 +813,7 @@ bool MonsterMenuEntry::get_tiles(std::vector<tile_def>& tileset) const
if (m->friendly())
tileset.push_back(tile_def(TILE_HEART, TEX_DEFAULT));
- else if (mons_neutral(m))
+ else if (m->neutral())
tileset.push_back(tile_def(TILE_NEUTRAL, TEX_DEFAULT));
else if (mons_looks_stabbable(m))
tileset.push_back(tile_def(TILE_STAB_BRAND, TEX_DEFAULT));
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index 208b3d9916..c4d3d9a591 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -3162,7 +3162,7 @@ bool stop_attack_prompt(const monsters *mon, bool beam_attack,
|| is_sanctuary(mon->pos()));
const bool wontAttack = mons_wont_attack(mon);
const bool isFriendly = mon->friendly();
- const bool isNeutral = mons_neutral(mon);
+ const bool isNeutral = mon->neutral();
const bool isUnchivalric = is_unchivalric_attack(&you, mon);
const bool isHoly = mons_is_holy(mon)
&& (mon->attitude != ATT_HOSTILE
diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc
index 32b2b734b5..d83783f537 100644
--- a/crawl-ref/source/mon-act.cc
+++ b/crawl-ref/source/mon-act.cc
@@ -1799,7 +1799,7 @@ static void _handle_monster_move(monsters *monster)
{
// Keep neutral and charmed monsters from picking up stuff.
// Same for friendlies if friendly_pickup is set to "none".
- if (!mons_neutral(monster) && !monster->has_ench(ENCH_CHARM)
+ if (!monster->neutral() && !monster->has_ench(ENCH_CHARM)
|| (you.religion == GOD_JIYVA && mons_is_slime(monster))
&& (!monster->friendly()
|| you.friendly_pickup != FRIENDLY_PICKUP_NONE))
diff --git a/crawl-ref/source/mon-behv.cc b/crawl-ref/source/mon-behv.cc
index cf65f76b01..a5822cc401 100644
--- a/crawl-ref/source/mon-behv.cc
+++ b/crawl-ref/source/mon-behv.cc
@@ -1085,7 +1085,7 @@ void handle_behaviour(monsters *mon)
{
bool changed = true;
bool isFriendly = mon->friendly();
- bool isNeutral = mons_neutral(mon);
+ bool isNeutral = mon->neutral();
bool wontAttack = mons_wont_attack(mon);
// Whether the player is in LOS of the monster and can see
@@ -1229,7 +1229,7 @@ void handle_behaviour(monsters *mon)
// Neutral monsters prefer not to attack players, or other neutrals.
if (isNeutral && mon->foe != MHITNOT
- && (mon->foe == MHITYOU || mons_neutral(&menv[mon->foe])))
+ && (mon->foe == MHITYOU || menv[mon->foe].neutral()))
{
mon->foe = MHITNOT;
}
@@ -1606,7 +1606,7 @@ static bool _mons_check_foe(monsters *mon, const coord_def& p,
&& mon->can_see(foe)
&& (friendly || !is_sanctuary(p))
&& (foe->friendly() != friendly
- || (neutral && !mons_neutral(foe))))
+ || (neutral && !foe->neutral())))
{
return (true);
}
@@ -1618,7 +1618,7 @@ static bool _mons_check_foe(monsters *mon, const coord_def& p,
void _set_nearest_monster_foe(monsters *mon)
{
const bool friendly = mon->friendly();
- const bool neutral = mons_neutral(mon);
+ const bool neutral = mon->neutral();
for (int k = 1; k <= LOS_RADIUS; ++k)
{
diff --git a/crawl-ref/source/mon-info.cc b/crawl-ref/source/mon-info.cc
index db0a44240c..24bfd8c7e9 100644
--- a/crawl-ref/source/mon-info.cc
+++ b/crawl-ref/source/mon-info.cc
@@ -177,7 +177,7 @@ static std::string _verbose_info(const monsters* m)
// Labeling strictly neutral monsters as fellow slimes is more important.
return (" (wandering)");
}
- if (m->foe == MHITNOT && !mons_is_batty(m) && !mons_neutral(m)
+ if (m->foe == MHITNOT && !mons_is_batty(m) && !m->neutral()
&& !m->friendly())
{
return (" (unaware)");
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 6383fef27c..c3647ef44d 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -1974,13 +1974,6 @@ int mons_base_damage_brand(const monsters *m)
return (SPWPN_NORMAL);
}
-bool mons_neutral(const monsters *m)
-{
- return (m->attitude == ATT_NEUTRAL || m->has_ench(ENCH_NEUTRAL)
- || m->attitude == ATT_GOOD_NEUTRAL
- || m->attitude == ATT_STRICT_NEUTRAL);
-}
-
bool mons_good_neutral(const monsters *m)
{
return (m->attitude == ATT_GOOD_NEUTRAL);
@@ -2014,7 +2007,7 @@ mon_attitude_type mons_attitude(const monsters *m)
return ATT_GOOD_NEUTRAL;
else if (mons_strict_neutral(m))
return ATT_STRICT_NEUTRAL;
- else if (mons_neutral(m))
+ else if (m->neutral())
return ATT_NEUTRAL;
else
return ATT_HOSTILE;
diff --git a/crawl-ref/source/mon-util.h b/crawl-ref/source/mon-util.h
index 7c2f8dff69..94d1290130 100644
--- a/crawl-ref/source/mon-util.h
+++ b/crawl-ref/source/mon-util.h
@@ -608,7 +608,6 @@ const char *mons_pronoun(monster_type mon_type, pronoun_type variant,
bool mons_aligned(int m1, int m2);
bool mons_atts_aligned(mon_attitude_type fr1, mon_attitude_type fr2);
-bool mons_neutral(const monsters *m);
bool mons_good_neutral(const monsters *m);
bool mons_strict_neutral(const monsters *m);
bool mons_is_pacified(const monsters *m);
diff --git a/crawl-ref/source/monspeak.cc b/crawl-ref/source/monspeak.cc
index 393440f36c..ef0547010a 100644
--- a/crawl-ref/source/monspeak.cc
+++ b/crawl-ref/source/monspeak.cc
@@ -405,7 +405,7 @@ bool mons_speaks(monsters *monster)
}
std::vector<std::string> prefixes;
- if (mons_neutral(monster))
+ if (monster->neutral())
{
if (!force_speak && coinflip()) // Neutrals speak half as often.
return (false);
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index 27c7180a4d..37a75de41a 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -2832,6 +2832,13 @@ bool monsters::friendly() const
return (attitude == ATT_FRIENDLY || has_ench(ENCH_CHARM));
}
+bool monsters::neutral() const
+{
+ return (attitude == ATT_NEUTRAL || has_ench(ENCH_NEUTRAL)
+ || attitude == ATT_GOOD_NEUTRAL
+ || attitude == ATT_STRICT_NEUTRAL);
+}
+
int monsters::shield_bonus() const
{
const item_def *shld = const_cast<monsters*>(this)->shield();
@@ -3168,7 +3175,7 @@ int monsters::res_holy_energy(const actor *attacker) const
if (is_good_god(god)
|| mons_is_holy(this)
- || mons_neutral(this)
+ || neutral()
|| is_unchivalric_attack(attacker, this)
|| is_good_god(you.religion) && is_follower(this))
{
diff --git a/crawl-ref/source/monster.h b/crawl-ref/source/monster.h
index f9ffee5adb..2121d0bfa8 100644
--- a/crawl-ref/source/monster.h
+++ b/crawl-ref/source/monster.h
@@ -334,6 +334,7 @@ public:
bool petrified() const;
bool friendly() const;
+ bool neutral() const;
bool has_spells() const;
bool has_spell(spell_type spell) const;
diff --git a/crawl-ref/source/monstuff.h b/crawl-ref/source/monstuff.h
index 9a81bbf280..b0b5b24ef6 100644
--- a/crawl-ref/source/monstuff.h
+++ b/crawl-ref/source/monstuff.h
@@ -51,7 +51,7 @@ public:
#define SAME_ATTITUDE(x) (x->friendly() ? BEH_FRIENDLY : \
mons_good_neutral(x) ? BEH_GOOD_NEUTRAL : \
mons_strict_neutral(x) ? BEH_STRICT_NEUTRAL : \
- mons_neutral(x) ? BEH_NEUTRAL \
+ x->neutral() ? BEH_NEUTRAL \
: BEH_HOSTILE)
#define MONST_INTERESTING(x) (x->flags & MF_INTERESTING)
diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc
index c1c22bc802..605a20edfd 100644
--- a/crawl-ref/source/output.cc
+++ b/crawl-ref/source/output.cc
@@ -1086,7 +1086,7 @@ void draw_border(void)
static bool _mons_hostile(const monsters *mon)
{
- return (!mon->friendly() && !mons_neutral(mon));
+ return (!mon->friendly() && !mon->neutral());
}
static std::string _get_monster_name(const monster_info& m,
@@ -1101,7 +1101,7 @@ static std::string _get_monster_name(const monster_info& m,
desc += "friendly ";
adj = true;
}
- else if (mons_neutral(mon))
+ else if (mon->neutral())
{
desc += "neutral ";
adj = true;
@@ -1136,7 +1136,7 @@ bool compare_monsters_attitude( const monsters *m1, const monsters *m2 )
if (_mons_hostile(m1) && !_mons_hostile(m2))
return (true);
- if (mons_neutral(m1))
+ if (m1->neutral())
{
if (m2->friendly())
return (true);
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 53fb6991db..9cf2e879fa 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -6147,7 +6147,7 @@ void player::attacking(actor *other)
if (other && other->atype() == ACT_MONSTER)
{
const monsters *mon = dynamic_cast<monsters*>(other);
- if (!mon->friendly() && !mons_neutral(mon))
+ if (!mon->friendly() && !mon->neutral())
pet_target = mon->mindex();
}
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 81929195db..879120caa3 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -3534,7 +3534,7 @@ void set_attack_conducts(god_conduct_trigger conduct[3], const monsters *mon,
_first_attack_was_friendly[midx] = true;
}
}
- else if (mons_neutral(mon))
+ else if (mon->neutral())
conduct[0].set(DID_ATTACK_NEUTRAL, 5, known, mon);
if (is_unchivalric_attack(&you, mon)
diff --git a/crawl-ref/source/showsymb.cc b/crawl-ref/source/showsymb.cc
index f39a589dce..faa95207ea 100644
--- a/crawl-ref/source/showsymb.cc
+++ b/crawl-ref/source/showsymb.cc
@@ -204,7 +204,7 @@ int get_mons_colour(const monsters *mons)
{
col |= COLFLAG_FRIENDLY_MONSTER;
}
- else if (mons_neutral(mons))
+ else if (mons->neutral())
{
col |= COLFLAG_NEUTRAL_MONSTER;
}
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc
index 4abc752eb7..1b067f505c 100644
--- a/crawl-ref/source/spells1.cc
+++ b/crawl-ref/source/spells1.cc
@@ -687,7 +687,7 @@ void big_cloud(cloud_type cl_type, kill_category whose, killer_type killer,
static bool _mons_hostile(const monsters *mon)
{
// Needs to be done this way because of friendly/neutral enchantments.
- return (!mons_wont_attack(mon) && !mons_neutral(mon));
+ return (!mons_wont_attack(mon) && !mon->neutral());
}
static bool _can_pacify_monster(const monsters *mon, const int healed)
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index 75606c854b..e2da8c8343 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -1058,7 +1058,7 @@ int tileidx_monster(const monsters *mons, bool detected)
if (mons->friendly())
ch |= TILE_FLAG_PET;
- else if (mons_neutral(mons))
+ else if (mons->neutral())
ch |= TILE_FLAG_NEUTRAL;
else if (mons_looks_stabbable(mons))
ch |= TILE_FLAG_STAB;
diff --git a/crawl-ref/source/tilesdl.cc b/crawl-ref/source/tilesdl.cc
index bde6eb679c..f9b903114b 100644
--- a/crawl-ref/source/tilesdl.cc
+++ b/crawl-ref/source/tilesdl.cc
@@ -1337,7 +1337,7 @@ void TilesFramework::update_minimap(int gx, int gy, map_feature f)
const monsters *mon = monster_at(gc);
if (mon->friendly())
f = MF_MONS_FRIENDLY;
- else if (mons_neutral(mon))
+ else if (mon->neutral())
f = MF_MONS_NEUTRAL;
else if (mons_class_flag(mon->type, M_NO_EXP_GAIN))
f = MF_MONS_NO_EXP;
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 3ab8041efa..bf861ab8cd 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -147,7 +147,7 @@ void handle_monster_shouts(monsters* monster, bool force)
return;
// Friendly or neutral monsters don't shout.
- if (!force && (monster->friendly() || mons_neutral(monster)))
+ if (!force && (monster->friendly() || monster->neutral()))
return;
// Get it once, since monster might be S_RANDOM, in which case