summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/teleport.h
blob: c1e63c60141b37580826a9cd8a6ecbdfd197dd2a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef TELEPORT_H
#define TELEPORT_H

class actor;
class monster;

void blink_other_close(actor* victim, const coord_def& target);
bool blink_away(monster* mon, bool self_cast = false);
bool blink_away(monster* mon, actor* caster, bool from_seen = true, bool self_cast = false);
void blink_range(monster* mon);
void blink_close(monster* mon);
void mons_relocated(monster* mons);
bool monster_blink(monster* mons, bool quiet = false);
bool monster_space_valid(const monster* mons, coord_def target,
                         bool forbid_sanctuary);
void monster_teleport(monster* mons, bool instan, bool silent = false);

bool valid_blink_destination(const actor* moved, const coord_def& target,
                             bool forbid_sanctuary = false,
                             bool forbid_unhabitable = true);
bool random_near_space(const actor* victim,
                       const coord_def& origin, coord_def& target,
                       bool allow_adjacent = false,
                       bool forbid_sanctuary = false,
                       bool forbid_unhabitable = true);

#endif