diff options
author | Pete Hurst <pete@streamuniverse.tv> | 2013-06-23 02:41:07 +0100 |
---|---|---|
committer | Pete Hurst <pete@streamuniverse.tv> | 2013-06-23 02:43:30 +0100 |
commit | 799380530f2bc5cf3a036422bf7727e1fd9d7d29 (patch) | |
tree | f9a937eb7fb0697c3d9b1689fec912e2c418a6e6 /crawl-ref/source/mon-chimera.h | |
parent | 151d926e33d1d003cfc23956df55f5a7dcf60976 (diff) | |
download | crawl-ref-799380530f2bc5cf3a036422bf7727e1fd9d7d29.tar.gz crawl-ref-799380530f2bc5cf3a036422bf7727e1fd9d7d29.zip |
Allow random chimera to be created with MONS syntax
This enables a MONS spec to just be "chimera" and three depth-
appropriate monsters will be used. This can produce bizarre
results but might be useful. It should also allows things
like "place:Zot:5 chimera vs place:Pan chimera" in Arena.
The filters could be refined further to allow random chimera
to not be completely ridiculous.
Diffstat (limited to 'crawl-ref/source/mon-chimera.h')
-rw-r--r-- | crawl-ref/source/mon-chimera.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-chimera.h b/crawl-ref/source/mon-chimera.h index b46f75fb93..45cd93daab 100644 --- a/crawl-ref/source/mon-chimera.h +++ b/crawl-ref/source/mon-chimera.h @@ -6,7 +6,16 @@ #ifndef MONCHIMERA_H #define MONCHIMERA_H -void make_chimera(monster* mon, monster_type part1, monster_type part2, monster_type part3); +#include "debug.h" + +#define ASSERTPART(partnum) \ + ASSERTM(is_valid_chimera_part(parts[partnum]), \ + "Invalid chimera part %d: %s", \ + partnum, mons_class_name(parts[partnum])) + +void define_chimera(monster* mon, monster_type parts[]); +bool define_chimera_for_place(monster *mon, level_id place, monster_type chimera_type, coord_def pos); + monster_type get_chimera_part(const monster* mon, int partnum); monster_type get_chimera_part(const monster_info* mi, int partnum); monster_type random_chimera_part(const monster* mon); |