comparison Player.cpp @ 289:92d443ed0cba

Слияние
author Ritor1
date Mon, 18 Feb 2013 19:16:38 +0600
parents 9a6052fecad4 0a37a56e9f02
children 4776715a964b
comparison
equal deleted inserted replaced
288:9a6052fecad4 289:92d443ed0cba
584 int v11; // esi@10 584 int v11; // esi@10
585 signed int v12; // eax@11 585 signed int v12; // eax@11
586 signed int v13; // esi@12 586 signed int v13; // esi@12
587 int v14; // eax@12 587 int v14; // eax@12
588 //int v15; // eax@17 588 //int v15; // eax@17
589 int pExpression; // ebx@17 589 CHARACTER_EXPRESSION_ID expression; // ebx@17
590 signed int v17; // ecx@19 590 signed int v17; // ecx@19
591 char *pSoundID; // edi@20 591 char *pSoundID; // edi@20
592 int v20[5]; // [sp+Ch] [bp-1Ch]@7 592 int v20[5]; // [sp+Ch] [bp-1Ch]@7
593 //Player *pPlayer2; // [sp+20h] [bp-8h]@1 593 //Player *pPlayer2; // [sp+20h] [bp-8h]@1
594 int pPlayerNum; // [sp+24h] [bp-4h]@1 594 int pPlayerNum; // [sp+24h] [bp-4h]@1
645 } 645 }
646 while ( -3 - (signed int)v6 + v14 < 5 ); 646 while ( -3 - (signed int)v6 + v14 < 5 );
647 if ( v13 ) 647 if ( v13 )
648 { 648 {
649 pPlayerNum = 0; 649 pPlayerNum = 0;
650 pExpression = v20[rand() % v13]; 650 expression = (CHARACTER_EXPRESSION_ID)v20[rand() % v13];
651 if ( pExpression == 21 && pSoundId ) 651 if (expression == CHARACTER_EXPRESSION_21 && pSoundId )
652 { 652 {
653 v17 = 0; 653 v17 = 0;
654 if ( (signed int)pSoundList->uNumSounds <= 0 ) 654 if ( (signed int)pSoundList->uNumSounds <= 0 )
655 { 655 {
656 LABEL_23: 656 LABEL_23:
668 } 668 }
669 } 669 }
670 if ( pSoundList->pSounds[v17].pSoundData[0] ) 670 if ( pSoundList->pSounds[v17].pSoundData[0] )
671 pPlayerNum = (sLastTrackLengthMS << 7) / 1000; 671 pPlayerNum = (sLastTrackLengthMS << 7) / 1000;
672 } 672 }
673 /*LOWORD(v14) = */PlayEmotion((CHARACTER_EXPRESSION_ID)pExpression, pPlayerNum); 673 /*LOWORD(v14) = */PlayEmotion(expression, pPlayerNum);
674 } 674 }
675 //return v14; 675 //return v14;
676 } 676 }
677 // 4948B1: using guessed type int var_1C[5]; 677 // 4948B1: using guessed type int var_1C[5];
678 678
5751 v2 += 3; 5751 v2 += 3;
5752 v5 = 55; 5752 v5 = 55;
5753 } 5753 }
5754 if ( CheckHiredNPCSpeciality(v5) ) 5754 if ( CheckHiredNPCSpeciality(v5) )
5755 v2 += 4; 5755 v2 += 4;
5756 if ( v9->classType == PLAYER_CLASS_31 && sub_476387() ) 5756 if ( v9->classType == PLAYER_CLASS_WARLOCK && PartyHasDragon() )
5757 v2 += 3; 5757 v2 += 3;
5758 LABEL_86: 5758 LABEL_86:
5759 if ( uSkillType <= PLAYER_SKILL_DARK ) 5759 if ( uSkillType <= PLAYER_SKILL_DARK )
5760 { 5760 {
5761 if ( uSkillType == PLAYER_SKILL_DARK ) 5761 if ( uSkillType == PLAYER_SKILL_DARK )
6970 int v75; // [sp+24h] [bp-8h]@73 6970 int v75; // [sp+24h] [bp-8h]@73
6971 Player *thisb; // [sp+28h] [bp-4h]@1 6971 Player *thisb; // [sp+28h] [bp-4h]@1
6972 unsigned int thisa; // [sp+28h] [bp-4h]@22 6972 unsigned int thisa; // [sp+28h] [bp-4h]@22
6973 6973
6974 thisb = this; 6974 thisb = this;
6975 v3 = &pParty->pPlayers[a2-1];//(Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552]; 6975 v3 = &pParty->pPlayers[a2-1];
6976 v73 = 1; 6976 v73 = 1;
6977 if ( pParty->bTurnBasedModeOn == 1 && (pTurnEngine->field_4 == 1 || pTurnEngine->field_4 == 3) ) 6977 if ( pParty->bTurnBasedModeOn == 1 && (pTurnEngine->field_4 == 1 || pTurnEngine->field_4 == 3) )
6978 return; 6978 return;
6979 v4 = 0; 6979 v4 = 0;
6980 if ( pItemsTable->pItems[pParty->pPickedItem.uItemID].uEquipType == 13 ) 6980 if ( pItemsTable->pItems[pParty->pPickedItem.uItemID].uEquipType == 13 )
6998 v58 = pGlobalTXT_LocalizationStrings[36]; 6998 v58 = pGlobalTXT_LocalizationStrings[36];
6999 goto LABEL_90; 6999 goto LABEL_90;
7000 } 7000 }
7001 v69 = 2; 7001 v69 = 2;
7002 LABEL_111: 7002 LABEL_111:
7003 pParty->pPlayers[a2-1].Heal(v69);//((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->Heal(v69); 7003 pParty->pPlayers[a2-1].Heal(v69);
7004 } 7004 }
7005 LABEL_112: 7005 LABEL_112:
7006 v3->PlaySound(SPEECH_36, 0); 7006 v3->PlaySound(SPEECH_36, 0);
7007 goto LABEL_173; 7007 goto LABEL_173;
7008 } 7008 }
7171 v31 = HIDWORD(v3->pConditions[14]); 7171 v31 = HIDWORD(v3->pConditions[14]);
7172 v32 = LODWORD(v3->pConditions[15]); 7172 v32 = LODWORD(v3->pConditions[15]);
7173 v33 = HIDWORD(v3->pConditions[15]); 7173 v33 = HIDWORD(v3->pConditions[15]);
7174 v34 = LODWORD(v3->pConditions[16]); 7174 v34 = LODWORD(v3->pConditions[16]);
7175 v35 = HIDWORD(v3->pConditions[16]); 7175 v35 = HIDWORD(v3->pConditions[16]);
7176 memset(&pParty->pPlayers[a2-1],0,0xA0u);//memset(&stru_AA1058[3].pSounds[6972 * a2 + 40552], 0, 0xA0u); 7176 memset(&pParty->pPlayers[a2-1],0,0xA0u);
7177 HIDWORD(v3->pConditions[14]) = v31; 7177 HIDWORD(v3->pConditions[14]) = v31;
7178 LODWORD(v3->pConditions[15]) = v32; 7178 LODWORD(v3->pConditions[15]) = v32;
7179 HIDWORD(v3->pConditions[15]) = v33; 7179 HIDWORD(v3->pConditions[15]) = v33;
7180 LODWORD(v3->pConditions[16]) = v34; 7180 LODWORD(v3->pConditions[16]) = v34;
7181 LODWORD(v3->pConditions[14]) = v30; 7181 LODWORD(v3->pConditions[14]) = v30;
7542 } 7542 }
7543 LABEL_187: 7543 LABEL_187:
7544 pMouse->RemoveHoldingItem(); 7544 pMouse->RemoveHoldingItem();
7545 return; 7545 return;
7546 } 7546 }
7547 if ( pParty->pPlayers[a2-1].CanAct() )//if ( ((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() ) 7547 if ( pParty->pPlayers[a2-1].CanAct() )
7548 { 7548 {
7549 sub_467F48(pParty->pPickedItem.uItemID); 7549 sub_467F48(pParty->pPickedItem.uItemID);
7550 v65 = 0; 7550 v65 = 0;
7551 v56 = SPEECH_37; 7551 v56 = SPEECH_37;
7552 LABEL_67: 7552 LABEL_67:
7586 v14 = pAudioPlayer; 7586 v14 = pAudioPlayer;
7587 LABEL_63: 7587 LABEL_63:
7588 pAudioPlayer->PlaySound(v37, v39, v41, v43, v45, v48, v52, v61); 7588 pAudioPlayer->PlaySound(v37, v39, v41, v43, v45, v48, v52, v61);
7589 return; 7589 return;
7590 } 7590 }
7591 if ( !pParty->pPlayers[a2-1].CanAct() )//if ( !((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() ) 7591 if ( !pParty->pPlayers[a2-1].CanAct() )
7592 { 7592 {
7593 v66 = aCharacterConditionNames[v3->GetMajorConditionIdx()]; 7593 v66 = aCharacterConditionNames[v3->GetMajorConditionIdx()];
7594 v57 = pGlobalTXT_LocalizationStrings[382]; 7594 v57 = pGlobalTXT_LocalizationStrings[382];
7595 goto LABEL_72; 7595 goto LABEL_72;
7596 } 7596 }
7698 v21 = v67; 7698 v21 = v67;
7699 goto LABEL_83; 7699 goto LABEL_83;
7700 } 7700 }
7701 if ( pCurrentScreen == SCREEN_CASTING ) 7701 if ( pCurrentScreen == SCREEN_CASTING )
7702 return; 7702 return;
7703 if ( !pParty->pPlayers[a2-1].CanAct() )//if ( !((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() ) 7703 if ( !pParty->pPlayers[a2-1].CanAct() )
7704 goto LABEL_89; 7704 goto LABEL_89;
7705 if ( bUnderwater == 1 ) 7705 if ( bUnderwater == 1 )
7706 { 7706 {
7707 v23 = pGlobalTXT_LocalizationStrings[652]; 7707 v23 = pGlobalTXT_LocalizationStrings[652];
7708 goto LABEL_91; 7708 goto LABEL_91;
7885 goto _return_false; 7885 goto _return_false;
7886 case VAR_HiredNPCHasSpeciality: 7886 case VAR_HiredNPCHasSpeciality:
7887 LOBYTE(v6) = CheckHiredNPCSpeciality(a1); 7887 LOBYTE(v6) = CheckHiredNPCSpeciality(a1);
7888 return v6; 7888 return v6;
7889 case VAR_NPCs2: 7889 case VAR_NPCs2:
7890 return pNPCStats->pNewNPCData[a1].uFlags & 0x80; 7890 return pNPCStats->pNewNPCData[a1].Hired();
7891 case VAR_MonthEquals|VAR_CurrentSP: 7891 case VAR_MonthEquals|VAR_CurrentSP:
7892 v13 = 0x80u >> ((signed __int16)a1 - 1) % 8; 7892 v13 = 0x80u >> ((signed __int16)a1 - 1) % 8;
7893 v14 = this->field_1A50[((signed __int16)a1 - 1) >> 3]; 7893 v14 = this->field_1A50[((signed __int16)a1 - 1) >> 3];
7894 goto LABEL_108; 7894 goto LABEL_108;
7895 case VAR_ItemEquipped: 7895 case VAR_ItemEquipped: