29
29
#include "gui/windows/charcreatedialog.h"
30
30
#include "gui/windows/okdialog.h"
32
#include "net/ea/loginhandler.h"
33
32
#include "net/ea/eaprotocol.h"
35
34
#include "net/character.h"
36
35
#include "net/messagein.h"
39
37
#include "utils/dtor.h"
40
38
#include "utils/gettext.h"
42
#include "resources/db/chardb.h"
46
42
extern Net::CharServerHandler *charServerHandler;
61
57
updateCharSelectDialog();
64
void CharServerHandler::setCharCreateDialog(CharCreateDialog *const window)
66
mCharCreateDialog = window;
68
if (!mCharCreateDialog)
71
StringVect attributes;
72
// TRANSLATORS: playe stat
73
attributes.push_back(_("Strength:"));
74
// TRANSLATORS: playe stat
75
attributes.push_back(_("Agility:"));
76
// TRANSLATORS: playe stat
77
attributes.push_back(_("Vitality:"));
78
// TRANSLATORS: playe stat
79
attributes.push_back(_("Intelligence:"));
80
// TRANSLATORS: playe stat
81
attributes.push_back(_("Dexterity:"));
82
// TRANSLATORS: playe stat
83
attributes.push_back(_("Luck:"));
86
static_cast<LoginHandler*>(Net::getLoginHandler())->getToken();
88
int minStat = CharDB::getMinStat();
91
int maxStat = CharDB::getMaxStat();
94
int sumStat = CharDB::getSumStat();
98
mCharCreateDialog->setAttributes(attributes, sumStat, minStat, maxStat);
99
mCharCreateDialog->setFixedGender(true, token.sex);
102
60
void CharServerHandler::requestCharacters()
142
100
BLOCK_END("CharServerHandler::processCharLoginError")
145
void CharServerHandler::processCharCreate(Net::MessageIn &msg)
147
BLOCK_START("CharServerHandler::processCharCreate")
148
Net::Character *const character = new Net::Character;
149
readPlayerData(msg, character, msg.getId() == SMSG_CHAR_CREATE_SUCCEEDED2);
150
mCharacters.push_back(character);
152
updateCharSelectDialog();
154
// Close the character create dialog
155
if (mCharCreateDialog)
157
mCharCreateDialog->scheduleDelete();
158
mCharCreateDialog = nullptr;
160
BLOCK_END("CharServerHandler::processCharCreate")
163
103
void CharServerHandler::processCharCreateFailed(Net::MessageIn &msg)
165
105
BLOCK_START("CharServerHandler::processCharCreateFailed")