1 /*
2  *  The ManaPlus Client
3  *  Copyright (C) 2004-2009  The Mana World Development Team
4  *  Copyright (C) 2009-2010  The Mana Developers
5  *  Copyright (C) 2011-2019  The ManaPlus Developers
6  *  Copyright (C) 2019-2021  Andrei Karas
7  *
8  *  This file is part of The ManaPlus Client.
9  *
10  *  This program is free software; you can redistribute it and/or modify
11  *  it under the terms of the GNU General Public License as published by
12  *  the Free Software Foundation; either version 2 of the License, or
13  *  any later version.
14  *
15  *  This program is distributed in the hope that it will be useful,
16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  *  GNU General Public License for more details.
19  *
20  *  You should have received a copy of the GNU General Public License
21  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef GUI_WIDGETS_SKILLDATA_H
25 #define GUI_WIDGETS_SKILLDATA_H
26 
27 #include "resources/missileinfo.h"
28 #include "resources/soundinfo.h"
29 
30 class Image;
31 
32 struct SkillData final
33 {
34     std::string name;
35     std::string shortName;
36     std::string dispName;
37     std::string description;
38 
39     MissileInfo missile;
40     MissileInfo castingMissile;
41     std::string invokeCmd;
42     std::string castingAnimation;
43 
44     SoundInfo soundHit;
45     SoundInfo soundMiss;
46 
47     Image *icon;
48 
49     int updateEffectId;
50     int removeEffectId;
51     int hitEffectId;
52     int missEffectId;
53     int castingSrcEffectId;
54     int castingDstEffectId;
55     int castingGroundEffectId;
56     int srcEffectId;
57     int dstEffectId;
58     bool haveIcon;
59     bool autoTab;
60 
61     SkillData();
62     A_DELETE_COPY(SkillData)
63     ~SkillData();
64 
65     void setIcon(const std::string &iconPath);
66 };
67 
68 #endif  // GUI_WIDGETS_SKILLDATA_H
69