summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells2.h
blob: c1b1ff2c9fdd2e58b43d828f52596a187bfbe18b (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
/*
 *  File:       spells2.h
 *  Summary:    Implementations of some additional spells.
 *  Written by: Linley Henzell
 */

#ifndef SPELLS2_H
#define SPELLS2_H

#include "enum.h"
#include "itemprop.h"  // from brand_type()

struct dist;

bool brand_weapon(brand_type which_brand, int power);
bool burn_freeze(int pow, beam_type flavour, monsters *monster);

void corpse_rot();


struct dist;
bool vampiric_drain(int pow, const dist &vmove);
int detect_creatures(int pow, bool telepathic = false);
int detect_items(int pow);
int detect_traps(int pow);
void cast_refrigeration(int pow);
void cast_toxic_radiance(void);
void drain_life(int pow);

int fungal_bloom();
int create_plant(coord_def & target);
//bool plant_from_fruit();
bool sunlight();

bool prioritise_adjacent(coord_def & target, std::vector<coord_def> & candidates);
bool plant_ring_from_fruit();

int rain(coord_def & target);
int corpse_spores(beh_type behavior = BEH_FRIENDLY);
bool evolve_flora();

bool restore_stat(unsigned char which_stat, unsigned char stat_gain,
                  bool suppress_msg, bool recovery = false);

bool summon_animals(int pow);
bool cast_summon_butterflies(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_small_mammals(int pow, god_type god = GOD_NO_GOD);
bool cast_sticks_to_snakes(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_scorpions(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_swarm(int pow, god_type god = GOD_NO_GOD,
                       bool force_hostile = false,
                       bool permanent = false);
bool cast_call_canine_familiar(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_elemental(int pow, god_type god = GOD_NO_GOD,
                           monster_type restricted_type = MONS_PROGRAM_BUG,
                           int unfriendly = 2);
bool cast_summon_ice_beast(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_ugly_thing(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_dragon(int pow, god_type god = GOD_NO_GOD);
bool summon_berserker(int pow, god_type god = GOD_NO_GOD, int spell = 0,
                      bool force_hostile = false);
bool summon_holy_warrior(int pow, god_type god = GOD_NO_GOD, int spell = 0,
                         bool force_hostile = false, bool permanent = false,
                         bool quiet = false);
bool cast_tukimas_dance(int pow, god_type god = GOD_NO_GOD,
                        bool force_hostile = false);
bool cast_conjure_ball_lightning(int pow, god_type god = GOD_NO_GOD);

#endif