-
Notifications
You must be signed in to change notification settings - Fork 6
/
c_item.h
executable file
·83 lines (57 loc) · 1.38 KB
/
c_item.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#ifndef C_ITEM_H
#define C_ITEM_H
#include <cmath>
#include <QString>
#include <QObject>
#include "pq7_config.h"
#include <iostream>
#include <fstream>
#include "json/json.h"
class c_Item
{
public:
c_Item();
int Weight;
// accessors
QString Name();
void setName(QString itemName);
int Bonus();
void setBonus(int bonus);
int Appraisal();
void setPrice(int gold);
int Grade();
t_pq_equip Type();
void setType(t_pq_equip eqType);
void setASlot(int slot);
int getASlot();
// methods
void makeWeapon();
void addWeaponMod();
void addWeaponNegMod();
void makeSheild();
void makeArmor();
void addDefMod();
void addDefNegMod();
void makeBitem();
void makeSpecial();
void addOfMod();
void addAdjMod();
void makeClosestGrade(t_pq_equip iType, int grade);
void clear();
Json::Value save();
void load(Json::Value itemRoot);
private:
t_pq_equip itemType;
QString basename;
int basegrade;
QStringList modifiers;
QList<bool> modprefix;
QList<int> modgrades;
int itemBonus;
int price;
int armorSlot;
// save / load helpers
Json::Value modListToArray(QStringList &mList, QList<bool> &pList, QList<int> &gList);
void arrayToModList(Json::Value array, QStringList &mList, QList<bool> &pList, QList<int> &gList);
};
#endif // C_ITEM_H