diff Player.cpp @ 289:92d443ed0cba

Слияние
author Ritor1
date Mon, 18 Feb 2013 19:16:38 +0600
parents 9a6052fecad4 0a37a56e9f02
children 4776715a964b
line wrap: on
line diff
--- a/Player.cpp	Mon Feb 18 19:16:15 2013 +0600
+++ b/Player.cpp	Mon Feb 18 19:16:38 2013 +0600
@@ -586,7 +586,7 @@
   signed int v13; // esi@12
   int v14; // eax@12
   //int v15; // eax@17
-  int pExpression; // ebx@17
+  CHARACTER_EXPRESSION_ID expression; // ebx@17
   signed int v17; // ecx@19
   char *pSoundID; // edi@20
   int v20[5]; // [sp+Ch] [bp-1Ch]@7
@@ -647,8 +647,8 @@
   if ( v13 )
   {
     pPlayerNum = 0;
-    pExpression = v20[rand() % v13];
-    if ( pExpression == 21 && pSoundId )
+    expression = (CHARACTER_EXPRESSION_ID)v20[rand() % v13];
+    if (expression == CHARACTER_EXPRESSION_21 && pSoundId )
     {
       v17 = 0;
       if ( (signed int)pSoundList->uNumSounds <= 0 )
@@ -670,7 +670,7 @@
       if ( pSoundList->pSounds[v17].pSoundData[0] )
         pPlayerNum = (sLastTrackLengthMS << 7) / 1000;
     }
-    /*LOWORD(v14) = */PlayEmotion((CHARACTER_EXPRESSION_ID)pExpression, pPlayerNum);
+    /*LOWORD(v14) = */PlayEmotion(expression, pPlayerNum);
   }
   //return v14;
 }
@@ -5753,7 +5753,7 @@
         }
         if ( CheckHiredNPCSpeciality(v5) )
           v2 += 4;
-        if ( v9->classType == PLAYER_CLASS_31 && sub_476387() )
+        if ( v9->classType == PLAYER_CLASS_WARLOCK && PartyHasDragon() )
           v2 += 3;
 LABEL_86:
         if ( uSkillType <= PLAYER_SKILL_DARK )
@@ -6972,7 +6972,7 @@
   unsigned int thisa; // [sp+28h] [bp-4h]@22
 
   thisb = this;
-  v3 = &pParty->pPlayers[a2-1];//(Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552];
+  v3 = &pParty->pPlayers[a2-1];
   v73 = 1;
   if ( pParty->bTurnBasedModeOn == 1 && (pTurnEngine->field_4 == 1 || pTurnEngine->field_4 == 3) )
     return;
@@ -7000,7 +7000,7 @@
         }
         v69 = 2;
 LABEL_111:
-        pParty->pPlayers[a2-1].Heal(v69);//((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->Heal(v69);
+        pParty->pPlayers[a2-1].Heal(v69);
       }
 LABEL_112:
       v3->PlaySound(SPEECH_36, 0);
@@ -7173,7 +7173,7 @@
         v33 = HIDWORD(v3->pConditions[15]);
         v34 = LODWORD(v3->pConditions[16]);
         v35 = HIDWORD(v3->pConditions[16]);
-        memset(&pParty->pPlayers[a2-1],0,0xA0u);//memset(&stru_AA1058[3].pSounds[6972 * a2 + 40552], 0, 0xA0u);
+        memset(&pParty->pPlayers[a2-1],0,0xA0u);
         HIDWORD(v3->pConditions[14]) = v31;
         LODWORD(v3->pConditions[15]) = v32;
         HIDWORD(v3->pConditions[15]) = v33;
@@ -7544,7 +7544,7 @@
         pMouse->RemoveHoldingItem();
         return;
       }
-      if ( pParty->pPlayers[a2-1].CanAct() )//if ( ((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() )
+      if ( pParty->pPlayers[a2-1].CanAct() )
       {
         sub_467F48(pParty->pPickedItem.uItemID);
         v65 = 0;
@@ -7588,7 +7588,7 @@
       pAudioPlayer->PlaySound(v37, v39, v41, v43, v45, v48, v52, v61);
       return;
     }
-    if ( !pParty->pPlayers[a2-1].CanAct() )//if ( !((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() )
+    if ( !pParty->pPlayers[a2-1].CanAct() )
     {
       v66 = aCharacterConditionNames[v3->GetMajorConditionIdx()];
       v57 = pGlobalTXT_LocalizationStrings[382];
@@ -7700,7 +7700,7 @@
   }
   if ( pCurrentScreen == SCREEN_CASTING )
     return;
-  if ( !pParty->pPlayers[a2-1].CanAct() )//if ( !((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() )
+  if ( !pParty->pPlayers[a2-1].CanAct() )
     goto LABEL_89;
   if ( bUnderwater == 1 )
   {
@@ -7887,7 +7887,7 @@
         LOBYTE(v6) = CheckHiredNPCSpeciality(a1);
         return v6;
       case VAR_NPCs2:
-        return pNPCStats->pNewNPCData[a1].uFlags & 0x80;
+        return pNPCStats->pNewNPCData[a1].Hired();
       case VAR_MonthEquals|VAR_CurrentSP:
         v13 = 0x80u >> ((signed __int16)a1 - 1) % 8;
         v14 = this->field_1A50[((signed __int16)a1 - 1) >> 3];