-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathcombat_modes.h
63 lines (55 loc) · 2.02 KB
/
combat_modes.h
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
/* *************************************************************************
* File: combat_modes.h Part of LuminariMUD *
* Usage: Header file for combat modes. *
* Author: Ornir *
***************************************************************************
* In Luminari, certain feats and classes allow the use of 'combat modes', *
* a mode where the char gains certain bonuses and have certain penalties. *
* A good example of this is power attack - Gain a bonus in damage by *
* taking a penalty to you attacks. These modes can be changed during *
* combat, increasing the versatility of the fighter classes and providing *
* additional options for the fighting man. *
* *
***************************************************************************/
#ifndef _COMBAT_MODES_H_
#define _COMBAT_MODES_H_
/* our cap for combat modes */
#define MODE_CAP 5
#define MODE_NONE 0
#define MODE_POWER_ATTACK 1
#define MODE_COMBAT_EXPERTISE 2
#define MODE_SPELLBATTLE 3
#define MODE_TOTAL_DEFENSE 4
#define MODE_DUAL_WIELD 5
#define MODE_FLURRY_OF_BLOWS 6
#define MODE_RAPID_SHOT 7
#define MODE_COUNTERSPELL 8
#define MODE_DEFENSIVE_CASTING 9
#define MODE_WHIRLWIND_ATTACK 10
#define MODE_DEADLY_AIM 11
#define MAX_MODES 12
#define MODE_GROUP_NONE 0
#define MODE_GROUP_1 1
#define MODE_GROUP_2 2
#define MODE_GROUP_3 3
#define MAX_MODE_GROUPS 4
struct combat_mode_data
{
const char *name;
int affect_flag;
int required_feat;
bool has_value;
int group;
};
extern struct combat_mode_data combat_mode_info[MAX_MODES];
void disable_combat_mode(struct char_data *ch, int mode);
ACMD_DECL(do_mode);
ACMD_DECL(do_powerattack);
ACMD_DECL(do_flurryofblows);
ACMD_DECL(do_expertise);
ACMD_DECL(do_rapidshot);
ACMD_DECL(do_totaldefense);
ACMD_DECL(do_spellbattle);
ACMD_DECL(do_flurry);
ACMD_DECL(do_whirlwind);
#endif