Mercurial > mm7
comparison Player.cpp @ 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 |
comparison
equal
deleted
inserted
replaced
1356:301e227439e7 | 1357:06926081358f |
---|---|
678 } | 678 } |
679 | 679 |
680 //----- (00492C4E) -------------------------------------------------------- | 680 //----- (00492C4E) -------------------------------------------------------- |
681 bool Player::CanEquip_RaceAndAlignmentCheck(unsigned int uItemID) | 681 bool Player::CanEquip_RaceAndAlignmentCheck(unsigned int uItemID) |
682 { | 682 { |
683 char v2; // zf@9 | 683 switch (uItemID) |
684 __int16 v4; // dx@13 | 684 { |
685 char v5; // zf@15 | 685 case 515: |
686 // if (uItemID == 530) // item093 Гибель Эльфа артефакт, гоблин | 686 case 517: |
687 if ( (signed int)uItemID > 532 ) // if (uItemID == 514 || // item233 Посох Этрика артефакт, зло | 687 case 525: return _449B57_test_bit(pParty->_quest_bits, 100); break; |
688 // uItemID == 516 || // item221 Старый Ник артефакт, зло | 688 case 521: |
689 // uItemID == 524) // item325 Сумрак реликвия, зло | 689 case 527: return _449B57_test_bit(pParty->_quest_bits, 99); break; |
690 { | 690 case 531: return IsRaceGoblin(); break; |
691 if ( uItemID == 533 ) // if (uItemID == 533) // item113 Кованые Латные Рукавицы артефакт, гном | 691 case 532: return IsRaceHuman(); break; |
692 { | 692 case 533: return IsRaceElf(); break; |
693 v2 = GetRace() == CHARACTER_RACE_ELF; | 693 case 534: return IsRaceDwarf(); break; |
694 } | 694 case 535: return IsMale(); break; |
695 else if ( uItemID == 534 ) // if (uItemID == 534) // item104 Пояс Героя артефакт, мужчина | 695 case 536: return IsFemale(); break; |
696 { | 696 case 604: return NothingOrJustBlastersEquipped(); break; |
697 v2 = GetRace() == CHARACTER_RACE_DWARF; | 697 default: return 1; break; |
698 } | |
699 else if ( uItemID == 535 ) // | |
700 { | |
701 if (this->GetSexByVoice() == SEX_MALE)// if (uItemID == 535) // item129 Эскорт Леди артефакт, женщина | |
702 { | |
703 return 1; | |
704 } | |
705 else | |
706 { | |
707 return 0; | |
708 } | |
709 } | |
710 else if ( uItemID == 536 ) | |
711 { | |
712 if (this->GetSexByVoice() == SEX_FEMALE) | |
713 { | |
714 return 1; | |
715 } | |
716 else | |
717 { | |
718 return 0; | |
719 } | |
720 } | |
721 else if ( uItemID == 604 ) | |
722 { | |
723 v5 = NothingOrJustBlastersEquipped() == 0; | |
724 if ( !v5 ) | |
725 return 1; | |
726 return 0; | |
727 } | |
728 else | |
729 return 1; | |
730 } | |
731 else | |
732 { | |
733 if ( uItemID == 532 ) // if (uItemID == 532) // item073 Эльфийская Кольчуга артефакт, эльф | |
734 { | |
735 v2 = GetRace() == CHARACTER_RACE_HUMAN; | |
736 } | |
737 else if ( uItemID == 515 || uItemID == 517 || uItemID == 525) // | |
738 { | |
739 v5 = (unsigned __int16)_449B57_test_bit(pParty->_quest_bits, 100) == 0; | |
740 if ( !v5 ) | |
741 return 1; | |
742 return 0; | |
743 } | |
744 else if ( uItemID == 521 || uItemID == 527) // if (uItemID == 521 || // item239 Шлем Таледона артефакт, добро | |
745 // uItemID == 526) // item230 Справедливость реликвия, добро | |
746 { | |
747 v5 = (unsigned __int16)_449B57_test_bit(pParty->_quest_bits, 99) == 0; | |
748 if ( !v5 ) | |
749 return 1; | |
750 return 0; | |
751 } | |
752 else if ( uItemID == 531 ) // if (uItemID == 531) // item093 Око Мысли артефакт, человек | |
753 { | |
754 v2 = GetRace() == CHARACTER_RACE_GOBLIN; | |
755 if ( v2 ) | |
756 return 1; | |
757 return 0; | |
758 } | |
759 else | |
760 { | |
761 return 1; | |
762 } | |
763 } | 698 } |
764 } | 699 } |
765 //----- (00492D65) -------------------------------------------------------- | 700 //----- (00492D65) -------------------------------------------------------- |
766 int Player::SetCondition(unsigned int uConditionIdx, int a3) | 701 int Player::SetCondition(unsigned int uConditionIdx, int a3) |
767 { | 702 { |