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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
/*
* File: monstuff.cc
* Summary: Misc monster related functions.
* Written by: Linley Henzell
*
* Change History (most recent first):
*
* <1> -/--/-- LRH Created
*/
#ifndef MONSTUFF_H
#define MONSTUFF_H
// useful macro
#define SAME_ATTITUDE(x) (mons_friendly(x)?BEH_FRIENDLY:BEH_HOSTILE)
// for definition of type monsters {dlb}
#include "externs.h"
// for definition of type monsters {dlb}
void get_mimic_item( const struct monsters *mimic, item_def & item );
int get_mimic_colour( struct monsters *mimic );
// last updated: 08jun2000 {dlb}
/* ***********************************************************************
* called from: fight - item_use - items - spell
* *********************************************************************** */
void alert_nearby_monsters(void);
// last updated: 08jun2000 {dlb}
/* ***********************************************************************
* called from: beam - effects - monstuff
* *********************************************************************** */
bool monster_polymorph(struct monsters *monster, int targetc, int power);
// last updated: 08jun2000 {dlb}
/* ***********************************************************************
* called from: bang - beam - effects - fight - misc - monstuff - mstuff2 -
* spells1 - spells2 - spells3 - spells4
* *********************************************************************** */
void monster_die(struct monsters *monster, char killer, int i);
// last updated: 17dec2000 {gdl}
/* ***********************************************************************
* called from: monstuff - fight
* *********************************************************************** */
void monster_cleanup(struct monsters *monster);
/* ***********************************************************************
* called from: monstuff beam effects fight view
* *********************************************************************** */
void behaviour_event( struct monsters *mon, int event_type,
int src = MHITNOT, int src_x = 0, int src_y = 0 );
/* ***********************************************************************
* called from: fight - it_use3 - spells
* *********************************************************************** */
bool curse_an_item(char which, char power);
/* ***********************************************************************
* called from: fight
* *********************************************************************** */
void monster_blink(struct monsters *monster);
/* ***********************************************************************
* called from: spells1 spells4 monstuff
* defaults are set up for player blink; monster blink should call with
* false, false
* *********************************************************************** */
bool random_near_space( int ox, int oy, int &tx, int &ty,
bool allow_adjacent = false, bool restrict_LOS = true);
/* ***********************************************************************
* called from: beam - effects - fight - monstuff - mstuff2 - spells1 -
* spells2 - spells4
* *********************************************************************** */
bool simple_monster_message(struct monsters *monster, const char *event,
int channel = MSGCH_PLAIN, int param = 0);
/* ***********************************************************************
* called from: acr
* *********************************************************************** */
bool swap_places(struct monsters *monster);
/* ***********************************************************************
* called from: bang - beam - direct - fight - spells1 - spells2 - spells3
* *********************************************************************** */
void print_wounds(struct monsters *monster);
/* ***********************************************************************
* called from: fight
* *********************************************************************** */
bool wounded_damaged(int wound_class);
/* ***********************************************************************
* called from: acr
* *********************************************************************** */
void handle_monsters(void);
/* ***********************************************************************
* called from: acr - bang - beam - direct - dungeon - fight - files -
* monplace - mstuff2 - spells3 - view
* *********************************************************************** */
unsigned char monster_habitat(int which_class);
/* ***********************************************************************
* called from: misc
* *********************************************************************** */
bool monster_descriptor(int which_class, unsigned char which_descriptor);
/* ***********************************************************************
* called from: direct - item_use - spells1
* *********************************************************************** */
bool message_current_target(void);
/* ***********************************************************************
* called from: xxx
* *********************************************************************** */
unsigned int monster_index(struct monsters *monster);
// last updated 08jun2000 {dlb}
/* ***********************************************************************
* called from: bang - beam - effects - fight - monstuff - mstuff2 -
* spells2 - spells3 - spells4
* *********************************************************************** */
bool hurt_monster(struct monsters *victim, int damage_dealt);
/* ***********************************************************************
* called from: beam - fight - files - monstuff - spells1
* *********************************************************************** */
bool heal_monster(struct monsters *patient, int health_boost, bool permit_growth);
#endif
|