-
Notifications
You must be signed in to change notification settings - Fork 2
/
Creature_Attack.hpp
59 lines (42 loc) 路 1.64 KB
/
Creature_Attack.hpp
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
#pragma once
#ifndef WORLDSIM_CREATURE_ATTACK_HPP
#define WORLDSIM_CREATURE_ATTACK_HPP
/* WorldSim: Creature_Attack
#include "Creature_Attack.hpp"
Some creatures can choose from multiple attacks. Attacks can do different types of damage and status effects.
*/
// Creatures get a choice of attacks to make, kinda like Pokemon or RPG battles.
// This should add some strategy and flavour to combat and makes it less of a grind.
// Wrestling and takedowns could also be options in some cases.
class Creature_Attack
{
public:
std::string baseName; /* Action: <X> */
std::string actionName; /* The creature <X> you. */
std::string pastTenseName; /* That creature just <X> me. */
short int reach; /* How far the attack can reach */
// Area effect
// Status effect
short int baseSlash; /* Balance of damage and bleed */
short int baseStab; /* Extra bleed and critical chance */
short int baseBlunt; /* High armour bypass, no bleed */
void generate( std::string _baseName, std::string _actionName, std::string _pastTenseName, short int _reach,
short int _baseSlash, short int _baseStab, short int _baseBlunt )
{
baseName = _baseName;
actionName = _actionName;
pastTenseName = _pastTenseName;
reach = _reach;
baseSlash = _baseSlash;
baseStab = _baseStab;
baseBlunt = _baseBlunt;
}
};
Creature_Attack atkBatClaw; /* Bat attacks with claws. */
Creature_Attack atkScreech; /* Bat screeches to disorient enemy */
void initCreatureAttacks()
{
atkBatClaw.generate("Claw", "claws", "clawed", 1, 1,0,0);
atkScreech.generate("Screech", "screeches at", "screeched at", 5, 0,0,0);
}
#endif