summaryrefslogtreecommitdiff
path: root/src/resources/db
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources/db')
-rw-r--r--src/resources/db/chardb.cpp18
-rw-r--r--src/resources/db/chardb.h4
2 files changed, 18 insertions, 4 deletions
diff --git a/src/resources/db/chardb.cpp b/src/resources/db/chardb.cpp
index d085f690c..55c97a63f 100644
--- a/src/resources/db/chardb.cpp
+++ b/src/resources/db/chardb.cpp
@@ -22,6 +22,7 @@
#include "resources/db/chardb.h"
#include "configuration.h"
+#include "itemcolormanager.h"
#include "logger.h"
#include "debug.h"
@@ -40,7 +41,7 @@ namespace
unsigned mMaxLook = 0;
unsigned mMinRace = 0;
unsigned mMaxRace = 30;
- std::vector<int> mDefaultItems;
+ std::vector<BeingSlot> mDefaultItems;
} // namespace
void CharDB::load()
@@ -85,7 +86,18 @@ void CharDB::load()
{
const int id = XML::getProperty(node, "id", 0);
if (id > 0)
- mDefaultItems.push_back(id);
+ {
+ BeingSlot slot;
+ slot.spriteId = id;
+ for (int f = 0; f < maxCards; f ++)
+ {
+ const std::string cardName = strprintf("card%d", f + 1);
+ slot.cardsId.cards[f] = XML::getProperty(node,
+ cardName.c_str(),
+ 0);
+ }
+ mDefaultItems.push_back(slot);
+ }
}
else if (xmlNameEqual(node, "race"))
{
@@ -170,7 +182,7 @@ unsigned CharDB::getMaxRace()
return mMaxRace;
}
-const std::vector<int> &CharDB::getDefaultItems()
+const std::vector<BeingSlot> &CharDB::getDefaultItems()
{
return mDefaultItems;
}
diff --git a/src/resources/db/chardb.h b/src/resources/db/chardb.h
index d6653547c..6eb1688e2 100644
--- a/src/resources/db/chardb.h
+++ b/src/resources/db/chardb.h
@@ -24,6 +24,8 @@
#include "utils/xml.h"
+#include "resources/beingslot.h"
+
#include <vector>
/**
@@ -67,7 +69,7 @@ namespace CharDB
unsigned getMaxRace() A_WARN_UNUSED;
- const std::vector<int> &getDefaultItems() A_WARN_UNUSED;
+ const std::vector<BeingSlot> &getDefaultItems() A_WARN_UNUSED;
} // namespace CharDB
#endif // RESOURCES_DB_CHARDB_H