diff UI/UICharacter.cpp @ 2184:e0863f5beee0

SPELL_WATER_RECHARGE_ITEM
author Ritor1
date Fri, 24 Jan 2014 18:01:51 +0600
parents c6d8253d4cbc
children 42c8807225a2
line wrap: on
line diff
--- a/UI/UICharacter.cpp	Thu Jan 23 23:35:10 2014 +0600
+++ b/UI/UICharacter.cpp	Fri Jan 24 18:01:51 2014 +0600
@@ -2542,7 +2542,7 @@
                 if ( _this.uItemID )
                 {
                 __debugbreak();  // looks like offset in player's inventory and wand_lut much like case in 0042ECB5
-                stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9);
+                stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[pPlayers[uActiveCharacter]->pInventoryItemList[v50].uItemID - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9);
                 }
                 break;
               }
@@ -2550,18 +2550,16 @@
               if ( v23 < 0 )
                 return;
               pParty->pPickedItem.uBodyAnchor = 1;
-              v50 = (unsigned int)&pPlayers[uActiveCharacter]->pInventoryItemList[v23];
               memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v23], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v23]));
               pPlayers[uActiveCharacter]->pEquipment.uShield = v23 + 1;
               pMouse->RemoveHoldingItem();
               if ( pEquipType != EQUIP_WAND )
                 return;
-              v22 = *(int *)v50;
-              v50 = v22;
+              v50 = pPlayers[uActiveCharacter]->pInventoryItemList[v23].uItemID;
               if ( v50 )
               {
                 __debugbreak();  // looks like offset in player's inventory and wand_lut much like case in 0042ECB5
-                stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9);
+                stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[pPlayers[uActiveCharacter]->pInventoryItemList[v50].uItemID - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9);
               }
               break;
             }
@@ -2573,19 +2571,13 @@
           if ( v26 < 0 )
             return;
           pParty->pPickedItem.uBodyAnchor = 2;
-          v50 = (unsigned int)&pPlayers[uActiveCharacter]->pInventoryItemList[v26];
           memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v26], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v26]));
           pPlayers[uActiveCharacter]->pEquipment.uMainHand = v26 + 1;
           pMouse->RemoveHoldingItem();
           if ( pEquipType != EQUIP_WAND )
             return;
-          v22 = *(int *)v50;
-          v50 = v22;
-          if ( v50 )
-          {
-            __debugbreak();  // looks like offset in player's inventory and wand_lut much like case in 0042ECB5
-            stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9);
-          }
+          if ( pPlayers[uActiveCharacter]->pInventoryItemList[v26].uItemID )
+            stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[pPlayers[uActiveCharacter]->pInventoryItemList[v26].uItemID - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9);
           break;
         }
         --v1;
@@ -2603,7 +2595,7 @@
         if ( v50 )//взять жезл
         {
                 __debugbreak();  // looks like offset in player's inventory and wand_lut much like case in 0042ECB5
-          stru_A750F8[uActiveCharacter - 1]._494836( *((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9);
+          stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[v50 - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9);
         }
         break;
 //---------------------------take two hands(взять двумя руками)---------------------------------