SEGS  0.6.1-develop [39915b3b]
Super Entity Game Server
npc_definitions.h
Go to the documentation of this file.
1 /*
2  * SEGS - Super Entity Game Server
3  * http://www.segs.io/
4  * Copyright (c) 2006 - 2019 SEGS Team (see AUTHORS.md)
5  * This software is licensed under the terms of the 3-clause BSD License. See LICENSE.md for details.
6  */
7 
8 #pragma once
9 
10 #include "Colors.h"
11 
12 #include <QString>
13 #include <vector>
14 
16 {
17  QByteArray m_Name;
20  QByteArray m_Texture1;
21  QByteArray m_Texture2;
22  QByteArray m_CP_Geometry;
23 };
24 
25 enum class BodyType : int
26 {
27  Male = 0,
28  Female = 1,
29  BasicMale = 2,
30  BasicFemale = 3,
31  Huge = 4,
32  Enemy = 5,
33  Villain = 6,
34 };
35 
37 {
38  QByteArray m_EntTypeFile;
39  QByteArray m_CostumeFilePrefix;
40  BodyType m_BodyType = BodyType::Male;
41  float m_Scale = 0;
42  float m_BoneScale = 0;
44  uint32_t m_NumParts = 0;
45  std::vector<Parse_CostumePart> m_CostumeParts;
46 };
47 
49 {
50  QByteArray PowerCategory;
51  QByteArray PowerSet;
52  QByteArray Power;
53  int Level;
54  int Remove;
55 };
56 
57 struct Parse_NPC
58 {
59  QByteArray m_Name;
60  QByteArray m_DisplayName;
61  int m_Rank;
62  QByteArray m_Class;
63  int m_Level;
64  int m_XP;
65  std::vector<NPCPower_Desc> m_Powers;
66  std::vector<Parse_Costume> m_Costumes;
67  bool has_variant(uint32_t idx) const { return idx<m_Costumes.size(); }
68 };
69 using AllNpcs_Data = std::vector<Parse_NPC>;
Definition: Colors.h:62
QByteArray m_DisplayName
Definition: npc_definitions.h:60
QByteArray PowerSet
Definition: npc_definitions.h:51
std::vector< NPCPower_Desc > m_Powers
Definition: npc_definitions.h:65
int m_Level
Definition: npc_definitions.h:63
QByteArray m_Name
Definition: npc_definitions.h:59
QByteArray Power
Definition: npc_definitions.h:52
bool has_variant(uint32_t idx) const
Definition: npc_definitions.h:67
RGBA m_Color1
Definition: npc_definitions.h:18
int Level
Definition: npc_definitions.h:53
int Remove
Definition: npc_definitions.h:54
QByteArray m_CP_Geometry
Definition: npc_definitions.h:22
std::vector< Parse_Costume > m_Costumes
Definition: npc_definitions.h:66
QByteArray m_EntTypeFile
Definition: npc_definitions.h:38
QByteArray m_CostumeFilePrefix
Definition: npc_definitions.h:39
int m_XP
Definition: npc_definitions.h:64
QByteArray m_Texture1
Definition: npc_definitions.h:20
int m_Rank
Definition: npc_definitions.h:61
std::vector< Parse_CostumePart > m_CostumeParts
Definition: npc_definitions.h:45
RGBA m_Color2
Definition: npc_definitions.h:19
QByteArray m_Class
Definition: npc_definitions.h:62
std::vector< Parse_NPC > AllNpcs_Data
Definition: npc_definitions.h:69
Definition: npc_definitions.h:57
QByteArray m_Name
Definition: npc_definitions.h:17
QByteArray PowerCategory
Definition: npc_definitions.h:50
Definition: npc_definitions.h:15
Definition: npc_definitions.h:36
QByteArray m_Texture2
Definition: npc_definitions.h:21
RGBA m_SkinColor
Definition: npc_definitions.h:43
Definition: npc_definitions.h:48
BodyType
Definition: npc_definitions.h:25