summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mstuff2.h
blob: a8802454365b523968fdde542e421c7a872de612 (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
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
/*
 *  File:       mstuff2.h
 *  Summary:    Misc monster related functions.
 *  Written by: Linley Henzell
 *
 *  Modified for Crawl Reference by $Author$ on $Date$
 *
 *  Change History (most recent first):
 *
 *               <1>     4/24/99        JDJ             mons_spells returns an
 *                                                      SBeam instead of using
 *                                                      func_pass.
 */


#ifndef MSTUFF2_H
#define MSTUFF2_H


#include <string>
#include "externs.h"

struct bolt;

/*
   beam_colour = _pass[0];
   beam_range = _pass[1];
   beam_damage = _pass[2];
   beam_hit = _pass[3];
   beam_type = _pass[4];
   beam_flavour = _pass[5];
   thing_thrown = _pass[6];
 */


// last updated 12may2000 {dlb}
/* ***********************************************************************
 * called from: monstuff - mstuff2
 * *********************************************************************** */
bolt mons_spells(int spell_cast, int power);


// last updated 12may2000 {dlb}
/* ***********************************************************************
 * called from: monstuff
 * *********************************************************************** */
void setup_dragon(monsters *monster, struct bolt &pbolt);


// last updated 13feb2001 {gdl}
/* ***********************************************************************
 * called from: monstuff
 * *********************************************************************** */
void mons_cast(monsters *monster, bolt &pbolt, spell_type spell_cast);

// last updated 7jan2001 {gdl}
/* ***********************************************************************
 * called from: monstuff
 * *********************************************************************** */
void setup_mons_cast(const monsters *monster, bolt &pbolt, int spell_cast);

// last updated 28july2000 (gdl)
/* ***********************************************************************
 * called from: monstuff
 * *********************************************************************** */
bool mons_throw(monsters *monster, struct bolt &pbolt, int hand_used);

bool mons_thrown_object_destroyed( item_def *item, int x, int y,
                                   bool returning, int midx );

// last updated 07jan2001 (gdl)
/* ***********************************************************************
 * called from: monstuff
 * *********************************************************************** */
void setup_generic_throw(monsters *monster, struct bolt &pbolt);

// last updated 12may2000 {dlb}
/* ***********************************************************************
 * called from: monstuff
 * *********************************************************************** */
void mons_trap(monsters *monster);


// last updated 12may2000 {dlb}
/* ***********************************************************************
 * called from: beam - fight - files - monstuff - mstuff2 - spells4
 * *********************************************************************** */
void monster_teleport(monsters *monster, bool instan, bool silent = false);


// last updated Dec17,2000 -- gdl
/* ***********************************************************************
 * called from: monstuff
 * *********************************************************************** */
void spore_goes_pop(monsters *monster);

bool orc_battle_cry(monsters *chief);
bool orange_statue_effects(monsters *mons);
bool silver_statue_effects(monsters *mons);
bool moth_incite_monsters(const monsters *mon);
void mons_clear_trapping_net(monsters *mon);

#endif