summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-18 18:58:52 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-18 18:58:52 +0000
commit6d7627cb65e54dae22237da82ea076bf17b1f9b7 (patch)
tree43eda0c3c953b041e1419650cc78a6ae9c381374 /crawl-ref/source/view.cc
parent66c0054398335a6929dd22d3690775027b9906b6 (diff)
downloadcrawl-ref-6d7627cb65e54dae22237da82ea076bf17b1f9b7.tar.gz
crawl-ref-6d7627cb65e54dae22237da82ea076bf17b1f9b7.zip
Add the Slime god as per n78291's (Shayne?) patch. Thanks! :D
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10271 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r--crawl-ref/source/view.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 6deca847e6..433c882c66 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -965,6 +965,27 @@ void beogh_follower_convert(monsters *monster, bool orc_hit)
}
}
+void slime_conversion(monsters* monster)
+{
+ if (you.religion == GOD_JIYVA && mons_is_slime(monster)
+ && !mons_is_summoned(monster)
+ && !mons_is_shapeshifter(monster)
+ && !mons_neutral(monster)
+ && !mons_friendly(monster)
+ && !testbits(monster->flags, MF_ATT_CHANGE_ATTEMPT)
+ && mons_player_visible(monster) && !mons_is_sleeping(monster)
+ && !mons_is_confused(monster) && !mons_is_paralysed(monster))
+
+ {
+ monster->flags |= MF_ATT_CHANGE_ATTEMPT;
+ if (!player_under_penance())
+ {
+ jiyva_convert_slime(monster);
+ stop_running();
+ }
+ }
+}
+
void handle_seen_interrupt(monsters* monster)
{
if (mons_is_unknown_mimic(monster))
@@ -1312,6 +1333,7 @@ void monster_grid(bool do_updates)
_good_god_follower_attitude_change(monster);
beogh_follower_convert(monster);
+ slime_conversion(monster);
}
}
}
@@ -2997,6 +3019,7 @@ bool is_feature(int feature, const coord_def& where)
case DNGN_ALTAR_ELYVILON:
case DNGN_ALTAR_LUGONU:
case DNGN_ALTAR_BEOGH:
+ case DNGN_ALTAR_JIYVA:
return (true);
default:
return (false);
@@ -4705,6 +4728,15 @@ void init_feature_table( void )
Feature[i].minimap = MF_FEATURE;
break;
+ case DNGN_ALTAR_JIYVA:
+ Feature[i].colour = ETC_SLIME;
+ Feature[i].dchar = DCHAR_ALTAR;
+ Feature[i].flags |= FFT_NOTABLE;
+ Feature[i].map_colour = DARKGREY;
+ Feature[i].seen_colour = ETC_SLIME;
+ Feature[i].minimap = MF_FEATURE;
+ break;
+
case DNGN_FOUNTAIN_BLUE:
Feature[i].colour = BLUE;
Feature[i].dchar = DCHAR_FOUNTAIN;