Mercurial > mm7
comparison UI/UICharacter.cpp @ 2184:e0863f5beee0
SPELL_WATER_RECHARGE_ITEM
author | Ritor1 |
---|---|
date | Fri, 24 Jan 2014 18:01:51 +0600 |
parents | c6d8253d4cbc |
children | 42c8807225a2 |
comparison
equal
deleted
inserted
replaced
2183:172cfb4ee150 | 2184:e0863f5beee0 |
---|---|
2540 return; | 2540 return; |
2541 v50 = _this.uItemID; | 2541 v50 = _this.uItemID; |
2542 if ( _this.uItemID ) | 2542 if ( _this.uItemID ) |
2543 { | 2543 { |
2544 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 | 2544 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 |
2545 stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); | 2545 stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[pPlayers[uActiveCharacter]->pInventoryItemList[v50].uItemID - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9); |
2546 } | 2546 } |
2547 break; | 2547 break; |
2548 } | 2548 } |
2549 v23 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); | 2549 v23 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); |
2550 if ( v23 < 0 ) | 2550 if ( v23 < 0 ) |
2551 return; | 2551 return; |
2552 pParty->pPickedItem.uBodyAnchor = 1; | 2552 pParty->pPickedItem.uBodyAnchor = 1; |
2553 v50 = (unsigned int)&pPlayers[uActiveCharacter]->pInventoryItemList[v23]; | |
2554 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v23], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v23])); | 2553 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v23], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v23])); |
2555 pPlayers[uActiveCharacter]->pEquipment.uShield = v23 + 1; | 2554 pPlayers[uActiveCharacter]->pEquipment.uShield = v23 + 1; |
2556 pMouse->RemoveHoldingItem(); | 2555 pMouse->RemoveHoldingItem(); |
2557 if ( pEquipType != EQUIP_WAND ) | 2556 if ( pEquipType != EQUIP_WAND ) |
2558 return; | 2557 return; |
2559 v22 = *(int *)v50; | 2558 v50 = pPlayers[uActiveCharacter]->pInventoryItemList[v23].uItemID; |
2560 v50 = v22; | |
2561 if ( v50 ) | 2559 if ( v50 ) |
2562 { | 2560 { |
2563 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 | 2561 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 |
2564 stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); | 2562 stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[pPlayers[uActiveCharacter]->pInventoryItemList[v50].uItemID - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9); |
2565 } | 2563 } |
2566 break; | 2564 break; |
2567 } | 2565 } |
2568 } | 2566 } |
2569 } | 2567 } |
2571 { | 2569 { |
2572 v26 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); | 2570 v26 = pPlayers[uActiveCharacter]->FindFreeInventoryListSlot(); |
2573 if ( v26 < 0 ) | 2571 if ( v26 < 0 ) |
2574 return; | 2572 return; |
2575 pParty->pPickedItem.uBodyAnchor = 2; | 2573 pParty->pPickedItem.uBodyAnchor = 2; |
2576 v50 = (unsigned int)&pPlayers[uActiveCharacter]->pInventoryItemList[v26]; | |
2577 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v26], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v26])); | 2574 memcpy(&pPlayers[uActiveCharacter]->pInventoryItemList[v26], &pParty->pPickedItem, sizeof(pPlayers[uActiveCharacter]->pInventoryItemList[v26])); |
2578 pPlayers[uActiveCharacter]->pEquipment.uMainHand = v26 + 1; | 2575 pPlayers[uActiveCharacter]->pEquipment.uMainHand = v26 + 1; |
2579 pMouse->RemoveHoldingItem(); | 2576 pMouse->RemoveHoldingItem(); |
2580 if ( pEquipType != EQUIP_WAND ) | 2577 if ( pEquipType != EQUIP_WAND ) |
2581 return; | 2578 return; |
2582 v22 = *(int *)v50; | 2579 if ( pPlayers[uActiveCharacter]->pInventoryItemList[v26].uItemID ) |
2583 v50 = v22; | 2580 stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[pPlayers[uActiveCharacter]->pInventoryItemList[v26].uItemID - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9); |
2584 if ( v50 ) | |
2585 { | |
2586 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 | |
2587 stru_A750F8[uActiveCharacter - 1]._494836(*((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); | |
2588 } | |
2589 break; | 2581 break; |
2590 } | 2582 } |
2591 --v1; | 2583 --v1; |
2592 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); | 2584 memcpy(&_this, &pParty->pPickedItem, sizeof(_this)); |
2593 pPlayers[uActiveCharacter]->pInventoryItemList[v1].uBodyAnchor = 0; | 2585 pPlayers[uActiveCharacter]->pInventoryItemList[v1].uBodyAnchor = 0; |
2601 if ( v51 ) | 2593 if ( v51 ) |
2602 pPlayers[uActiveCharacter]->pEquipment.uShield = 0; | 2594 pPlayers[uActiveCharacter]->pEquipment.uShield = 0; |
2603 if ( v50 )//взять жезл | 2595 if ( v50 )//взять жезл |
2604 { | 2596 { |
2605 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 | 2597 __debugbreak(); // looks like offset in player's inventory and wand_lut much like case in 0042ECB5 |
2606 stru_A750F8[uActiveCharacter - 1]._494836( *((int *)&pSpellDatas[66].uNormalLevelRecovery + v50), uActiveCharacter - 1 + 9); | 2598 stru_A750F8[uActiveCharacter - 1].AddPartySpellSound(wand_spell_ids[v50 - ITEM_WAND_FIRE], uActiveCharacter - 1 + 9); |
2607 } | 2599 } |
2608 break; | 2600 break; |
2609 //---------------------------take two hands(взять двумя руками)--------------------------------- | 2601 //---------------------------take two hands(взять двумя руками)--------------------------------- |
2610 case EQUIP_TWO_HANDED: | 2602 case EQUIP_TWO_HANDED: |
2611 if ( pPlayers[uActiveCharacter]->HasUnderwaterSuitEquipped() ) | 2603 if ( pPlayers[uActiveCharacter]->HasUnderwaterSuitEquipped() ) |