diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-18 18:58:52 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-18 18:58:52 +0000 |
commit | 6d7627cb65e54dae22237da82ea076bf17b1f9b7 (patch) | |
tree | 43eda0c3c953b041e1419650cc78a6ae9c381374 /crawl-ref/source/view.cc | |
parent | 66c0054398335a6929dd22d3690775027b9906b6 (diff) | |
download | crawl-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.cc | 32 |
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; |