Mercurial > mm7
diff Player.cpp @ 1356:301e227439e7
Player::CanEquip_RaceAndAlignmentCheck condition reorganizing, label removal, using GetSexByVoice()
author | Grumpy7 |
---|---|
date | Sat, 13 Jul 2013 16:05:24 +0200 |
parents | af2fc30d765f |
children | 06926081358f |
line wrap: on
line diff
--- a/Player.cpp Sat Jul 13 13:14:05 2013 +0200 +++ b/Player.cpp Sat Jul 13 16:05:24 2013 +0200 @@ -683,118 +683,85 @@ 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 ) - { - v2 = GetRace() == 1; + // 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 { - if ( uItemID != 534 ) - { - if ( uItemID == 535 ) // - // if (uItemID == 530) // item093 Гибель Эльфа артефакт, гоблин - { - switch ( this->uVoiceID ) - { - default: - return 1; - case 4u: - case 5u: - case 6u: - case 7u: - case 0xAu: - case 0xBu: - case 0xEu: // - // if (uItemID == 535) // item129 Эскорт Леди артефакт, женщина - case 0xFu: - case 0x12u: - case 0x13u: - case 0x15u: - case 0x18u: - return 0; - } - return 0; - } - if ( uItemID == 536 ) // - // if (uItemID == 531) // item093 Око Мысли артефакт, человек - { - switch ( this->uVoiceID ) - { - case 4u: - case 5u: - case 6u: - case 7u: - case 0xAu: - case 0xBu: - case 0xEu: - case 0xFu: - case 0x12u: - case 0x13u: - case 0x15u: - case 0x18u: - return 1; - default: - return 0; - } - return 0; - } - if ( uItemID != 604 ) // - // if (uItemID == 532) // item073 Эльфийская Кольчуга артефакт, эльф - return 1; - v5 = NothingOrJustBlastersEquipped() == 0; - goto LABEL_23; - } - v2 = GetRace() == 3; // - // if (uItemID == 533) // item113 Кованые Латные Рукавицы артефакт, гном - } - } - else - { - if ( uItemID != 532 ) - { - if ( uItemID != 515 && uItemID != 517 ) // - // if (uItemID == 534) // item104 Пояс Героя артефакт, мужчина - { - if ( uItemID == 521 ) // if (uItemID == 521 || // item239 Шлем Таледона артефакт, добро - // uItemID == 526) // item230 Справедливость реликвия, добро - { -LABEL_13: - v4 = 99; -LABEL_15: - v5 = (unsigned __int16)_449B57_test_bit(pParty->_quest_bits, v4) == 0; -LABEL_23: - if ( !v5 ) - return 1; - return 0; - } - if ( uItemID != 525 ) - { - if ( uItemID != 527 ) - { - if ( uItemID != 531 ) - return 1; - v2 = GetRace() == 2; - goto LABEL_10; - } - goto LABEL_13; - } - } - v4 = 100; - goto LABEL_15; - } - v2 = GetRace() == 0; - } -LABEL_10: - if ( v2 ) - return 1; - return 0; -} - + return 1; + } + } +} //----- (00492D65) -------------------------------------------------------- int Player::SetCondition(unsigned int uConditionIdx, int a3) {