diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-10-28 19:53:22 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-10-28 19:53:22 +0300 |
commit | 6b2addaade053d347816d5d61dff53e38ff94e83 (patch) | |
tree | 5b71956d9dc2b5c39c2c9506eb88c8d02714d1fa | |
parent | 4e2c1f3c813bf76ce4d0902f80ec819277f928a6 (diff) | |
download | manaplus-6b2addaade053d347816d5d61dff53e38ff94e83.tar.gz manaplus-6b2addaade053d347816d5d61dff53e38ff94e83.tar.bz2 manaplus-6b2addaade053d347816d5d61dff53e38ff94e83.tar.xz manaplus-6b2addaade053d347816d5d61dff53e38ff94e83.zip |
Add skill attribute what show skill always.
It allow use always visible fake skills.
New skill attribute: alwaysVisible.
-rw-r--r-- | src/gui/widgets/skillinfo.cpp | 3 | ||||
-rw-r--r-- | src/gui/widgets/skillinfo.h | 1 | ||||
-rw-r--r-- | src/gui/windows/skilldialog.cpp | 8 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/gui/widgets/skillinfo.cpp b/src/gui/widgets/skillinfo.cpp index 36ae85de9..50725db29 100644 --- a/src/gui/widgets/skillinfo.cpp +++ b/src/gui/widgets/skillinfo.cpp @@ -57,7 +57,8 @@ SkillInfo::SkillInfo() : type(SkillType::Unknown), owner(SkillOwner::Player), modifiable(false), - visible(false) + visible(false), + alwaysVisible(false) { dataMap[0] = new SkillData(); data = dataMap[0]; diff --git a/src/gui/widgets/skillinfo.h b/src/gui/widgets/skillinfo.h index c67e055e0..45b0487c8 100644 --- a/src/gui/widgets/skillinfo.h +++ b/src/gui/widgets/skillinfo.h @@ -66,6 +66,7 @@ struct SkillInfo final SkillOwner::Type owner; bool modifiable; bool visible; + bool alwaysVisible; SkillInfo(); A_DELETE_COPY(SkillInfo) diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp index bceb8645c..481f8e3c2 100644 --- a/src/gui/windows/skilldialog.cpp +++ b/src/gui/windows/skilldialog.cpp @@ -243,7 +243,8 @@ void SkillDialog::hideSkills(const SkillOwner::Type owner) if (info && info->owner == owner) { PlayerInfo::setSkillLevel(info->id, 0); - info->visible = false; + if (!info->alwaysVisible) + info->visible = false; } } } @@ -316,7 +317,6 @@ void SkillDialog::loadXmlFile(const std::string &fileName) skill = new SkillInfo; skill->id = static_cast<unsigned int>(id); skill->modifiable = false; - skill->visible = false; skill->model = model; skill->update(); skill->useButton = XML::getProperty( @@ -325,6 +325,9 @@ void SkillDialog::loadXmlFile(const std::string &fileName) node, "owner", "player")); skill->errorText = XML::getProperty( node, "errorText", name); + skill->alwaysVisible = XML::getBoolProperty( + node, "alwaysVisible", false); + skill->visible = skill->alwaysVisible; model->addSkill(skill); mSkills[id] = skill; } @@ -442,6 +445,7 @@ void SkillDialog::addSkill(const SkillOwner::Type owner, data->shortName = toString(skill->id); skill->modifiable = modifiable; skill->visible = false; + skill->alwaysVisible = false; skill->model = mDefaultModel; skill->level = level; // TRANSLATORS: skills dialog. skill level |