diff options
author | peterb12 <peterb12@c06c8d41-db1a-0410-9941-cceddc491573> | 2005-07-21 02:34:44 +0000 |
---|---|---|
committer | peterb12 <peterb12@c06c8d41-db1a-0410-9941-cceddc491573> | 2005-07-21 02:34:44 +0000 |
commit | 673bdae75485d14f759af597c3c62b99601f9a43 (patch) | |
tree | 368103f29fe0ce5dcf98060d9b5faa04590085fb /trunk/source/monplace.h | |
parent | 7e900be770db24b0405fd2162491c405a425873e (diff) | |
download | crawl-ref-673bdae75485d14f759af597c3c62b99601f9a43.tar.gz crawl-ref-673bdae75485d14f759af597c3c62b99601f9a43.zip |
Initial revision
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'trunk/source/monplace.h')
-rw-r--r-- | trunk/source/monplace.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/trunk/source/monplace.h b/trunk/source/monplace.h new file mode 100644 index 0000000000..fc1595ee1e --- /dev/null +++ b/trunk/source/monplace.h @@ -0,0 +1,79 @@ +/* + * File: monsplace.cc + * Summary: Functions used when placing monsters in the dungeon. + * Written by: Linley Henzell + * + * Change History (most recent first): + * + * <1> -/--/-- LRH Created + */ + + +#ifndef MONPLACE_H +#define MONPLACE_H + +#include "enum.h" +#include "FixVec.h" + +// last updated 13mar2001 {gdl} +/* *********************************************************************** + * called from: acr - lev-pand - monplace - dungeon + * + * Usage: + * mon_type WANDERING_MONSTER, RANDOM_MONSTER, or monster type + * behaviour standard behaviours (BEH_ENSLAVED, etc) + * target MHITYOU, MHITNOT, or monster id + * extra various things like skeleton/zombie types, colours, etc + * summoned monster is summoned? + * px placement x + * py placement y + * level_type LEVEL_DUNGEON, LEVEL_ABYSS, LEVEL_PANDEMONIUM. + * LEVEL_DUNGEON will generate appropriate power monsters + * proximity 0 = no extra restrictions on monster placement + * 1 = try to place the monster near the player + * 2 = don't place the monster near the player + * 3 = place the monster near stairs (regardless of player pos) + * *********************************************************************** */ +int mons_place( int mon_type, char behaviour, int target, bool summoned, + int px, int py, int level_type = LEVEL_DUNGEON, + int proximity = PROX_ANYWHERE, int extra = 250 ); + +// last updated 12may2000 {dlb} +/* *********************************************************************** + * called from: acr - debug - decks - effects - fight - it_use3 - item_use - + * items - monstuff - mstuff2 - religion - spell - spells - + * spells2 - spells3 - spells4 + * *********************************************************************** */ +int create_monster( int cls, int dur, int beha, int cr_x, int cr_y, + int hitting, int zsec ); + + +// last updated 12may2000 {dlb} +/* *********************************************************************** + * called from: misc - monplace - spells3 + * *********************************************************************** */ +bool empty_surrounds( int emx, int emy, unsigned char spc_wanted, + bool allow_centre, FixedVector<char, 2>& empty ); + + +// last updated 12may2000 {dlb} +/* *********************************************************************** + * called from: ability - acr - items - maps - mstuff2 - spell - spells + * *********************************************************************** */ +int summon_any_demon( char demon_class ); + + +// last update 13mar2001 {gdl} +/* *********************************************************************** + * called from: dungeon monplace + * + * This isn't really meant to be a public function. It is a low level + * monster placement function used by dungeon building routines and + * mons_place(). If you need to put a monster somewhere, use mons_place(). + * Summoned creatures can be created with create_monster(). + * *********************************************************************** */ +bool place_monster( int &id, int mon_type, int power, char behaviour, + int target, bool summoned, int px, int py, bool allow_bands, + int proximity = PROX_ANYWHERE, int extra = 250 ); + +#endif // MONPLACE_H |