1 /*
2  *  File:       beam.cc
3  *  Summary:    Functions related to ranged attacks.
4  *  Written by: Linley Henzell
5  *
6  *  Change History (most recent first):
7  *
8  *               <1>     -/--/--        LRH             Created
9  */
10 
11 
12 #ifndef BEAM_H
13 #define BEAM_H
14 
15 
16 #include "externs.h"
17 
18 dice_def calc_dice( int num_dice, int max_damage );
19 
20 
21 /* ***********************************************************************
22  * called from: bang - it_use2 - monstuff - mstuff2
23  * *********************************************************************** */
24 void fire_beam( struct bolt &pbolt, item_def *item = NULL );
25 
26 // last updated 19apr2001 {gdl}
27 /* ***********************************************************************
28  * called from: beam
29  * *********************************************************************** */
30 bool nasty_beam( struct monsters *mon, struct bolt &beam );
31 
32 
33 // last updated 12may2000 {dlb}
34 /* ***********************************************************************
35  * called from: ability - it_use3 - item_use - mstuff2 - religion -
36  *              spells - spells4
37  * *********************************************************************** */
38 void explosion( struct bolt &pbolt, bool hole_in_the_middle = false );
39 
40 
41 // last updated 22jan2001 {gdl}
42 /* ***********************************************************************
43  * called from: effects - spells2 - spells4
44  * *********************************************************************** */
45 int mons_adjust_flavoured( struct monsters *monster, struct bolt &pbolt,
46                            int hurted, bool doFlavouredEffects = true );
47 
48 
49 /* ***********************************************************************
50  * called from: ability - item_use - spell
51  * returns true if messages were generated during the enchantment
52  * *********************************************************************** */
53 bool mass_enchantment( int wh_enchant, int pow, int who );
54 
55 
56 /* ***********************************************************************
57  * called from: fight - monstuff - mstuff2
58  * *********************************************************************** */
59 int mons_ench_f2( struct monsters *monster, struct bolt &pbolt );
60 
61 
62 /* ***********************************************************************
63  * called from: fight - monstuff - spells2
64  * *********************************************************************** */
65 void poison_monster( struct monsters *monster, bool fromPlayer, int levels = 1,
66                      bool force = false );
67 
68 
69 /* ***********************************************************************
70  * called from: fight - monstuff - spells - spells1 - spells2
71  * *********************************************************************** */
72 #if 0
73 void delete_cloud( int cloud );
74 void new_cloud( int cloud, int type, int x, int y, int decay );
75 
76 void place_cloud(unsigned char cl_type, unsigned char ctarget_x, unsigned char ctarget_y, unsigned char cl_range);
77 #endif
78 
79 
80 /* ***********************************************************************
81  * called from: monstuff
82  * *********************************************************************** */
83 void fire_tracer( struct monsters *monster, struct bolt &pbolt );
84 
85 
86 /* ***********************************************************************
87  * called from: monstuff
88  * *********************************************************************** */
89 void mimic_alert( struct monsters *mimic );
90 
91 
92 void zapping( char ztype, int power, struct bolt &pbolt );
93 
94 #endif
95