-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpkm_obj.h
More file actions
117 lines (97 loc) · 2.71 KB
/
pkm_obj.h
File metadata and controls
117 lines (97 loc) · 2.71 KB
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include "pkm_spec.h"
class Pokemon : public Species
{
private:
std::string Nickname;
Move current_moves[4];
int stats[6];
int battle_stats[8];
int level;
int happiness;
//int IV[6];
//int EV[6];
public:
Pokemon() {
Species();
Nickname = get_name();
stats[HP] = get_stat(HP);
stats[ATTACK] = get_stat(ATTACK);
stats[DEFENSE] = get_stat(DEFENSE);
stats[SP_ATTACK] = get_stat(SP_ATTACK);
stats[SP_DEFENSE] = get_stat(SP_DEFENSE);
stats[SPEED] = get_stat(SPEED);
battle_stats[HP] = stats[HP];
battle_stats[ATTACK] = stats[ATTACK];
battle_stats[DEFENSE] = stats[DEFENSE];
battle_stats[SP_ATTACK] = stats[SP_ATTACK];
battle_stats[SP_DEFENSE] = stats[SP_DEFENSE];
battle_stats[SPEED] = stats[SPEED];
battle_stats[ACCURACY] = 100;
battle_stats[EVADE] = 100;
level = 1;
happiness = 70;
//int IV[6];
//int EV[6];
}
Pokemon(std::string nick, int level_in) {
Species();
Nickname = nick;
stats[HP] = get_stat(HP);
stats[ATTACK] = get_stat(ATTACK);
stats[DEFENSE] = get_stat(DEFENSE);
stats[SP_ATTACK] = get_stat(SP_ATTACK);
stats[SP_DEFENSE] = get_stat(SP_DEFENSE);
stats[SPEED] = get_stat(SPEED);
battle_stats[HP] = stats[HP];
battle_stats[ATTACK] = stats[ATTACK];
battle_stats[DEFENSE] = stats[DEFENSE];
battle_stats[SP_ATTACK] = stats[SP_ATTACK];
battle_stats[SP_DEFENSE] = stats[SP_DEFENSE];
battle_stats[SPEED] = stats[SPEED];
battle_stats[ACCURACY] = 100;
battle_stats[EVADE] = 100;
level = level_in;
happiness = 70;
//int IV[6];
//int EV[6];
}
//set move
void set_current_move(int move_num, Move move_val) {
if (move_num < 4) {
current_moves[move_num] = move_val;
}
else {
std::cout << "Warning! Out of Range!" << std::endl;
}
}
Move get_current_move(int move_slot) {
move_slot = move_slot % 4;
return current_moves[move_slot];
}
std::string get_nick() {
return Nickname;
}
void battle() {
battle_stats[0] = stats[0] + level;
battle_stats[1] = stats[1] + level;
battle_stats[2] = stats[2] + level;
battle_stats[3] = stats[3] + level;
battle_stats[4] = stats[4] + level;
battle_stats[5] = stats[5] + level;
}
int get_current_stat(int stat_num) {
return stats[stat_num];
}
int get_battle_stat(int stat_num) {
return battle_stats[stat_num];
}
int use_move(int choice) {
std::cout << "Battle Stat: " << get_battle_stat(1) << std::endl;
std::cout << "Poke's Stat: " << get_current_stat(1) << std::endl;
return current_moves[choice].get_bp() + get_battle_stat(1) - get_current_stat(1);
}
void get_hit(int damage) {
std::cout << "Damage " << damage << std::endl;
battle_stats[0] = battle_stats[0] - damage;
}
};