mon-abil.cc File Reference

#include "AppHdr.h"
#include "mon-abil.h"
#include "externs.h"
#include "arena.h"
#include "beam.h"
#include "colour.h"
#include "coordit.h"
#include "directn.h"
#include "fprop.h"
#include "ghost.h"
#include "libutil.h"
#include "misc.h"
#include "mon-act.h"
#include "mon-behv.h"
#include "mon-cast.h"
#include "mon-iter.h"
#include "mon-place.h"
#include "terrain.h"
#include "mgen_data.h"
#include "coord.h"
#include "cloud.h"
#include "mon-speak.h"
#include "mon-stuff.h"
#include "mon-util.h"
#include "options.h"
#include "random.h"
#include "religion.h"
#include "spl-miscast.h"
#include "spl-util.h"
#include "state.h"
#include "stuff.h"
#include "env.h"
#include "areas.h"
#include "view.h"
#include "shout.h"
#include "viewchar.h"
#include <algorithm>
#include <queue>
#include <map>
#include <set>

Include dependency graph for mon-abil.cc:


Classes

struct  position_node
struct  path_less
struct  simple_connect< cost_T, est_T >
struct  coord_wrapper
struct  tentacle_attack_constraints
struct  tentacle_connect_constraints
struct  target_position
struct  target_monster
struct  multi_target
struct  complicated_sight_check

Defines

#define DISCONNECT_DIST   (INT_MAX - 1000)

Functions

template<typename valid_T, typename expand_T>
void search_astar (position_node &start, valid_T &valid_target, expand_T &expand_node, std::set< position_node > &visited, std::vector< std::set< position_node >::iterator > &candidates)
template<typename valid_T, typename expand_T>
void search_astar (const coord_def &start, valid_T &valid_target, expand_T &expand_node, std::set< position_node > &visited, std::vector< std::set< position_node >::iterator > &candidates)
template<typename valid_T, typename cost_T, typename est_T>
void search_astar (const coord_def &start, valid_T &valid_target, cost_T &connection_cost, est_T &cost_estimate, std::set< position_node > &visited, std::vector< std::set< position_node >::iterator > &candidates, int connect_mode=8)
template<typename valid_T, typename connect_T>
void search_dungeon (const coord_def &start, valid_T &valid_target, connect_T &connecting_square, std::set< position_node > &visited, std::vector< std::set< position_node >::iterator > &candidates, bool exhaustive=true, int connect_mode=8)
void draconian_change_colour (monster *drac)
bool ugly_thing_mutate (monster *ugly, bool proximity)
bool slime_creature_mutate (monster *slime)
bool tentacle_pathfind (monster *tentacle, tentacle_attack_constraints &attack_constraints, coord_def &new_position, std::vector< coord_def > &target_positions, int total_length)
bool try_tentacle_connect (const coord_def &new_pos, const coord_def &base_position, int tentacle_idx, int base_idx, tentacle_connect_constraints &connect_costs, monster_type connect_type)
void collect_tentacles (int headnum, std::vector< monster_iterator > &tentacles)
void purge_connectors (int tentacle_idx, bool(*valid_mons)(monster *))
template<typename T>
void collect_foe_positions (monster *mons, std::vector< coord_def > &foe_positions, T &sight_check)
bool valid_kraken_connection (monster *mons)
bool valid_kraken_segment (monster *mons)
bool valid_demonic_connection (monster *mons)
int collect_connection_data (monster *start_monster, bool(*valid_segment_type)(monster *), std::map< coord_def, std::set< int > > &connection_data, coord_def &retract_pos)
void move_demon_tentacle (monster *tentacle)
void move_kraken_tentacles (monster *kraken)
bool mon_special_ability (monster *mons, bolt &beem)
void mon_nearby_ability (monster *mons)
void ballisto_on_move (monster *mons, const coord_def &position)
void activate_ballistomycetes (monster *mons, const coord_def &origin, bool player_kill)

Variables

const int MAX_KRAKEN_TENTACLE_DIST = 12

Define Documentation

#define DISCONNECT_DIST   (INT_MAX - 1000)


Function Documentation

void activate_ballistomycetes ( monster mons,
const coord_def origin,
bool  player_kill 
)

Here is the call graph for this function:

void ballisto_on_move ( monster mons,
const coord_def position 
)

Here is the call graph for this function:

int collect_connection_data ( monster start_monster,
bool(*)(monster *)  valid_segment_type,
std::map< coord_def, std::set< int > > &  connection_data,
coord_def retract_pos 
)

Here is the call graph for this function:

template<typename T>
void collect_foe_positions ( monster mons,
std::vector< coord_def > &  foe_positions,
T &  sight_check 
) [inline]

Here is the call graph for this function:

void collect_tentacles ( int  headnum,
std::vector< monster_iterator > &  tentacles 
)

void draconian_change_colour ( monster drac  ) 

Here is the call graph for this function:

void mon_nearby_ability ( monster mons  ) 

Here is the call graph for this function:

bool mon_special_ability ( monster mons,
bolt beem 
)

void move_demon_tentacle ( monster tentacle  ) 

Here is the call graph for this function:

void move_kraken_tentacles ( monster kraken  ) 

Here is the call graph for this function:

void purge_connectors ( int  tentacle_idx,
bool(*)(monster *)  valid_mons 
)

Here is the call graph for this function:

template<typename valid_T, typename cost_T, typename est_T>
void search_astar ( const coord_def start,
valid_T &  valid_target,
cost_T &  connection_cost,
est_T &  cost_estimate,
std::set< position_node > &  visited,
std::vector< std::set< position_node >::iterator > &  candidates,
int  connect_mode = 8 
) [inline]

Here is the call graph for this function:

template<typename valid_T, typename expand_T>
void search_astar ( const coord_def start,
valid_T &  valid_target,
expand_T &  expand_node,
std::set< position_node > &  visited,
std::vector< std::set< position_node >::iterator > &  candidates 
) [inline]

Here is the call graph for this function:

template<typename valid_T, typename expand_T>
void search_astar ( position_node start,
valid_T &  valid_target,
expand_T &  expand_node,
std::set< position_node > &  visited,
std::vector< std::set< position_node >::iterator > &  candidates 
) [inline]

template<typename valid_T, typename connect_T>
void search_dungeon ( const coord_def start,
valid_T &  valid_target,
connect_T &  connecting_square,
std::set< position_node > &  visited,
std::vector< std::set< position_node >::iterator > &  candidates,
bool  exhaustive = true,
int  connect_mode = 8 
) [inline]

Here is the call graph for this function:

bool slime_creature_mutate ( monster slime  ) 

Here is the call graph for this function:

bool tentacle_pathfind ( monster tentacle,
tentacle_attack_constraints attack_constraints,
coord_def new_position,
std::vector< coord_def > &  target_positions,
int  total_length 
)

Here is the call graph for this function:

bool try_tentacle_connect ( const coord_def new_pos,
const coord_def base_position,
int  tentacle_idx,
int  base_idx,
tentacle_connect_constraints connect_costs,
monster_type  connect_type 
)

Here is the call graph for this function:

bool ugly_thing_mutate ( monster ugly,
bool  proximity 
)

Here is the call graph for this function:

bool valid_demonic_connection ( monster mons  ) 

Here is the call graph for this function:

bool valid_kraken_connection ( monster mons  ) 

Here is the call graph for this function:

bool valid_kraken_segment ( monster mons  ) 


Variable Documentation

const int MAX_KRAKEN_TENTACLE_DIST = 12


Generated on Thu Jan 13 13:11:34 2011 by  doxygen 1.5.6