Mercurial > mm7
changeset 1357:06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
author | Grumpy7 |
---|---|
date | Sat, 13 Jul 2013 16:15:35 +0200 |
parents | 301e227439e7 |
children | 61010a655c94 |
files | Player.cpp Player.h |
diffstat | 2 files changed, 24 insertions(+), 80 deletions(-) [+] |
line wrap: on
line diff
--- a/Player.cpp Sat Jul 13 16:05:24 2013 +0200 +++ b/Player.cpp Sat Jul 13 16:15:35 2013 +0200 @@ -680,86 +680,21 @@ //----- (00492C4E) -------------------------------------------------------- bool Player::CanEquip_RaceAndAlignmentCheck(unsigned int uItemID) { - char v2; // zf@9 - __int16 v4; // dx@13 - char v5; // zf@15 - // if (uItemID == 530) // item093 Гибель Эльфа артефакт, гоблин - if ( (signed int)uItemID > 532 ) // if (uItemID == 514 || // item233 Посох Этрика артефакт, зло - // uItemID == 516 || // item221 Старый Ник артефакт, зло - // uItemID == 524) // item325 Сумрак реликвия, зло - { - if ( uItemID == 533 ) // if (uItemID == 533) // item113 Кованые Латные Рукавицы артефакт, гном - { - v2 = GetRace() == CHARACTER_RACE_ELF; - } - else if ( uItemID == 534 ) // if (uItemID == 534) // item104 Пояс Героя артефакт, мужчина - { - v2 = GetRace() == CHARACTER_RACE_DWARF; - } - else if ( uItemID == 535 ) // - { - if (this->GetSexByVoice() == SEX_MALE)// if (uItemID == 535) // item129 Эскорт Леди артефакт, женщина - { - return 1; - } - else - { - return 0; - } - } - else if ( uItemID == 536 ) - { - if (this->GetSexByVoice() == SEX_FEMALE) - { - return 1; - } - else - { - return 0; - } - } - else if ( uItemID == 604 ) - { - v5 = NothingOrJustBlastersEquipped() == 0; - if ( !v5 ) - return 1; - return 0; - } - else - return 1; - } - else - { - if ( uItemID == 532 ) // if (uItemID == 532) // item073 Эльфийская Кольчуга артефакт, эльф - { - v2 = GetRace() == CHARACTER_RACE_HUMAN; - } - else if ( uItemID == 515 || uItemID == 517 || uItemID == 525) // - { - v5 = (unsigned __int16)_449B57_test_bit(pParty->_quest_bits, 100) == 0; - if ( !v5 ) - return 1; - return 0; - } - else if ( uItemID == 521 || uItemID == 527) // if (uItemID == 521 || // item239 Шлем Таледона артефакт, добро - // uItemID == 526) // item230 Справедливость реликвия, добро - { - v5 = (unsigned __int16)_449B57_test_bit(pParty->_quest_bits, 99) == 0; - if ( !v5 ) - return 1; - return 0; - } - else if ( uItemID == 531 ) // if (uItemID == 531) // item093 Око Мысли артефакт, человек - { - v2 = GetRace() == CHARACTER_RACE_GOBLIN; - if ( v2 ) - return 1; - return 0; - } - else - { - return 1; - } + switch (uItemID) + { + case 515: + case 517: + case 525: return _449B57_test_bit(pParty->_quest_bits, 100); break; + case 521: + case 527: return _449B57_test_bit(pParty->_quest_bits, 99); break; + case 531: return IsRaceGoblin(); break; + case 532: return IsRaceHuman(); break; + case 533: return IsRaceElf(); break; + case 534: return IsRaceDwarf(); break; + case 535: return IsMale(); break; + case 536: return IsFemale(); break; + case 604: return NothingOrJustBlastersEquipped(); break; + default: return 1; break; } } //----- (00492D65) --------------------------------------------------------
--- a/Player.h Sat Jul 13 16:05:24 2013 +0200 +++ b/Player.h Sat Jul 13 16:15:35 2013 +0200 @@ -620,6 +620,15 @@ inline void SetPertified(bool state) {pConditions[Condition_Pertified] = state;} inline void SetEradicated(bool state) {pConditions[Condition_Eradicated] = state;} inline void SetZombie(bool state) {pConditions[Condition_Zombie] = state;} + + inline bool IsRaceHuman() {return GetRace() == CHARACTER_RACE_HUMAN;} + inline bool IsRaceDwarf() {return GetRace() == CHARACTER_RACE_DWARF;} + inline bool IsRaceElf() {return GetRace() == CHARACTER_RACE_ELF;} + inline bool IsRaceGoblin() {return GetRace() == CHARACTER_RACE_GOBLIN;} + + inline bool IsMale() { return GetSexByVoice() == SEX_MALE;} + inline bool IsFemale() { return !IsMale();} + __int64 pConditions[20]; unsigned __int64 uExperience; char pName[16];