-
Notifications
You must be signed in to change notification settings - Fork 1
/
itemType.h
106 lines (88 loc) · 2.47 KB
/
itemType.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#ifndef __SPRITE_H__
#define __SPRITE_H__
#include <fstream>
#include <vector>
#include "enums.h"
class ItemType
{
public:
friend class BaseItems;
ItemType();
~ItemType(){}
//uint16_t miniMapColor;
//uint8_t height;
//uint8_t animcount;
//uint8_t numsprites;
uint16_t id;
ItemGroup group;
std::string name;
std::string pluralName;
std::string description;
uint16_t maxItems;
uint16_t weight;
bool showCount;
WeaponType weaponType;
AmmoType ammoType;
ShootType shootType;
MagicEffectClasses magicEffect;
uint16_t attack;
uint16_t defence;
uint16_t armor;
uint16_t slotPosition;
bool isVertical;
bool isHorizontal;
bool allowDistRead;
bool clientCharges;
uint16_t speed;
int32_t decayTo;
uint32_t decayTime;
bool stopTime;
bool canReadText;
bool canWriteText;
uint16_t maxTextLen;
bool stackable;
bool useable;
bool moveable;
bool alwaysOnTop;
int8_t alwaysOnTopOrder;
bool pickupable;
bool hasHeight;
bool rotable;
int32_t rotateTo;
int32_t runeIntelligence;
uint32_t wieldInfo;
Vocation vocation;
uint16_t minReqDex;
uint16_t minReqStr;
uint16_t minReqInt;
uint16_t minReqMPW;
int32_t lightLevel;
int32_t lightColor;
bool floorChangeDown;
bool floorChangeNorth;
bool floorChangeSouth;
bool floorChangeEast;
bool floorChangeWest;
bool blockSolid;
bool blockProjectile;
bool blockPathFind;
uint32_t transformEquipTo;
uint32_t transformDeEquipTo;
bool showCharges;
uint32_t charges;
uint16_t shootRange;
AmmoAction ammoAction;
CombatType combatType;
bool isAlwaysOnTop() const {return alwaysOnTop;}
bool isGroundTile() const {return (group == ITEM_GROUP_GROUND);}
bool isContainer() const {return (group == ITEM_GROUP_CONTAINER);}
bool isSplash() const {return (group == ITEM_GROUP_SPLASH);}
bool isFluidContainer() const {return (group == ITEM_GROUP_FLUID);}
bool isDoor() const {return( group == ITEM_GROUP_DOOR);}
bool isMagicField() const {return ( group == ITEM_GROUP_MAGICFIELD);}
bool isTeleport() const {return ( group == ITEM_GROUP_TELEPORT);}
bool isKey() const {return ( group == ITEM_GROUP_KEY);}
bool hasSubType() const {return ( stackable || charges != 0);}
bool isRune() const {return (group == ITEM_GROUP_RUNE);}
};
#endif