diff options
Diffstat (limited to 'src/joke.cc')
-rw-r--r-- | src/joke.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/joke.cc b/src/joke.cc new file mode 100644 index 00000000..ed07dcd3 --- /dev/null +++ b/src/joke.cc @@ -0,0 +1,34 @@ +#include "angband.h" + +static void gen_joke_place_monster(int r_idx) +{ + int try_; + + for (try_ = 0; try_ < 1000; try_++) + { + int x = randint(cur_hgt - 4) + 2; + int y = randint(cur_wid - 4) + 2; + + if (place_monster_one(y, x, r_idx, 0, FALSE, MSTATUS_ENEMY)) + { + return; + } + } +} + +bool_ gen_joke_monsters(void *data, void *in, void *out) +{ + if (joke_monsters) + { + if ((dungeon_type == 20) && + (dun_level == 72)) + { + int r_idx = test_monster_name("Neil, the Sorceror"); + m_allow_special[r_idx + 1] = TRUE; + gen_joke_place_monster(r_idx); + m_allow_special[r_idx + 1] = FALSE; + } + } + + return FALSE; +} |