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 {