diff options
Diffstat (limited to 'src/gui/windows/charcreatedialog.cpp')
-rw-r--r-- | src/gui/windows/charcreatedialog.cpp | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/src/gui/windows/charcreatedialog.cpp b/src/gui/windows/charcreatedialog.cpp index 58363cb76..c8ad72597 100644 --- a/src/gui/windows/charcreatedialog.cpp +++ b/src/gui/windows/charcreatedialog.cpp @@ -227,13 +227,35 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *const parent, mGenderStrip->setActionEventId("gender_"); // TRANSLATORS: one char size female character gender mGenderStrip->addButton(_("F"), "f", false); - // TRANSLATORS: one char size male character gender - mGenderStrip->addButton(_("M"), "m", false); if (features.getIntValue("forceAccountGender") == -1) { - // TRANSLATORS: one char size unknown character gender - mGenderStrip->addButton(_("U"), "u", true); + if (serverFeatures->haveCharOtherGender()) + { + // TRANSLATORS: one char size male character gender + mGenderStrip->addButton(_("M"), "m", true); + // TRANSLATORS: one char size other character gender + mGenderStrip->addButton(_("O"), "o", false); + } + else + { + // TRANSLATORS: one char size male character gender + mGenderStrip->addButton(_("M"), "m", false); + // TRANSLATORS: one char size unknown character gender + mGenderStrip->addButton(_("U"), "u", true); + } } + else + { + // TRANSLATORS: one char size male character gender + mGenderStrip->addButton(_("M"), "m", true); + if (serverFeatures->haveCharOtherGender()) + { + // TRANSLATORS: one char size other character gender + mGenderStrip->addButton(_("O"), "o", false); + } + } + + mGenderStrip->setVisible(Visible_true); add(mGenderStrip); @@ -488,6 +510,11 @@ void CharCreateDialog::action(const ActionEvent &event) mGender = Gender::UNSPECIFIED; mPlayer->setGender(mDefaultGender); } + else if (id == "gender_o") + { + mGender = Gender::OTHER; + mPlayer->setGender(Gender::OTHER); + } } std::string CharCreateDialog::getName() const |