Mercurial > mm7
comparison mm7_5.cpp @ 150:d92c78ab54fe
Слияние
author | Ritor1 |
---|---|
date | Tue, 12 Feb 2013 10:17:35 +0600 |
parents | 77ad59c17864 cca78efb377e |
children | 9abdd40a107b |
comparison
equal
deleted
inserted
replaced
149:2b0c652cc165 | 150:d92c78ab54fe |
---|---|
5219 uDamageAmount = 0; | 5219 uDamageAmount = 0; |
5220 a4 = 0; | 5220 a4 = 0; |
5221 v61 = 0; | 5221 v61 = 0; |
5222 v59 = 0; | 5222 v59 = 0; |
5223 v62 = 0; | 5223 v62 = 0; |
5224 if ( (a1 & 7) == 2 ) | 5224 if ( (a1 & 7) == OBJECT_Item) |
5225 { | 5225 { |
5226 v4 = &pLayingItems[a1 >> 3]; | 5226 v4 = &pLayingItems[a1 >> 3]; |
5227 uDamageAmount = (int)v4; | 5227 uDamageAmount = (int)v4; |
5228 v61 = v4->field_60_distance_related_prolly_lod; | 5228 v61 = v4->field_60_distance_related_prolly_lod; |
5229 v3 = v4->field_58; | 5229 v3 = v4->field_58; |
6300 uActorIDa = uActorID; | 6300 uActorIDa = uActorID; |
6301 pActor = &pActors[uActorID]; | 6301 pActor = &pActors[uActorID]; |
6302 a2 = uObjID; | 6302 a2 = uObjID; |
6303 if ( !pActors[uActorID].IsAlive() ) | 6303 if ( !pActors[uActorID].IsAlive() ) |
6304 { | 6304 { |
6305 if ( (a2 & 7) == 2 ) | 6305 if ( (a2 & 7) == OBJECT_Item) |
6306 { | 6306 { |
6307 v4 = &pLayingItems[(signed int)a2 >> 3]; | 6307 v4 = &pLayingItems[(signed int)a2 >> 3]; |
6308 v5 = v4->field_48; | 6308 v5 = v4->field_48; |
6309 if ( v5 ) | 6309 if ( v5 ) |
6310 { | 6310 { |
6359 int v18; // [sp+20h] [bp+Ch]@34 | 6359 int v18; // [sp+20h] [bp+Ch]@34 |
6360 | 6360 |
6361 v4 = 0; | 6361 v4 = 0; |
6362 uActorID = a2; | 6362 uActorID = a2; |
6363 v17 = a1; | 6363 v17 = a1; |
6364 if ( (a1 & 7) == 2 ) | 6364 if ( (a1 & 7) == OBJECT_Item) |
6365 { | 6365 { |
6366 v5 = &pLayingItems[a1 >> 3]; | 6366 v5 = &pLayingItems[a1 >> 3]; |
6367 v4 = v5->field_60_distance_related_prolly_lod; | 6367 v4 = v5->field_60_distance_related_prolly_lod; |
6368 v17 = v5->field_58; | 6368 v17 = v5->field_58; |
6369 } | 6369 } |
9444 goto LABEL_11; | 9444 goto LABEL_11; |
9445 v16 = v1->pQueue; | 9445 v16 = v1->pQueue; |
9446 while ( 1 ) | 9446 while ( 1 ) |
9447 { | 9447 { |
9448 v5 = v16->uPackedID; | 9448 v5 = v16->uPackedID; |
9449 if ( (v16->uPackedID & 7) == 4 ) | 9449 if ( (v16->uPackedID & 7) == OBJECT_Player) |
9450 break; | 9450 break; |
9451 LABEL_8: | 9451 LABEL_8: |
9452 ++v17; | 9452 ++v17; |
9453 ++v16; | 9453 ++v16; |
9454 if ( v17 >= v1->uActorQueueSize ) | 9454 if ( v17 >= v1->uActorQueueSize ) |
9487 if ( v1->uActorQueueSize > v2 ) | 9487 if ( v1->uActorQueueSize > v2 ) |
9488 { | 9488 { |
9489 v8 = v1->pQueue; | 9489 v8 = v1->pQueue; |
9490 do | 9490 do |
9491 { | 9491 { |
9492 if ( (v8->uPackedID & 7) == 3 && ai_array_4F7DB0_actor_ids[v20] == v8->uPackedID >> 3 ) | 9492 if ( (v8->uPackedID & 7) == OBJECT_Actor && ai_array_4F7DB0_actor_ids[v20] == v8->uPackedID >> 3 ) |
9493 break; | 9493 break; |
9494 ++v18; | 9494 ++v18; |
9495 ++v8; | 9495 ++v8; |
9496 } | 9496 } |
9497 while ( v18 < v1->uActorQueueSize ); | 9497 while ( v18 < v1->uActorQueueSize ); |
9566 | 9566 |
9567 v1 = this; | 9567 v1 = this; |
9568 _404544(); | 9568 _404544(); |
9569 v2 = v1->pQueue; | 9569 v2 = v1->pQueue; |
9570 v3 = 0; | 9570 v3 = 0; |
9571 if ( (v1->pQueue[0].uPackedID & 7) == 4 ) | 9571 if ( (v1->pQueue[0].uPackedID & 7) == OBJECT_Player) |
9572 uActiveCharacter = (v1->pQueue[0].uPackedID >> 3) + 1; | 9572 uActiveCharacter = (v1->pQueue[0].uPackedID >> 3) + 1; |
9573 else | 9573 else |
9574 uActiveCharacter = 0; | 9574 uActiveCharacter = 0; |
9575 viewparams->bRedrawGameUI = 1; | 9575 viewparams->bRedrawGameUI = 1; |
9576 if ( v1->field_1C ) | 9576 if ( v1->field_1C ) |
9585 v13 = 0; | 9585 v13 = 0; |
9586 if ( v1->uActorQueueSize <= 0 ) | 9586 if ( v1->uActorQueueSize <= 0 ) |
9587 goto LABEL_27; | 9587 goto LABEL_27; |
9588 do | 9588 do |
9589 { | 9589 { |
9590 if ( (v2->uPackedID & 7) != 4 ) | 9590 if ( (v2->uPackedID & 7) != OBJECT_Player) |
9591 { | 9591 { |
9592 v5 = &pActors[v2->uPackedID >> 3]; | 9592 v5 = &pActors[v2->uPackedID >> 3]; |
9593 LOWORD(v6) = v5->uAIState; | 9593 LOWORD(v6) = v5->uAIState; |
9594 if ( (short)v6 == 4 | 9594 if ( (short)v6 == 4 |
9595 || (short)v6 == 8 | 9595 || (short)v6 == 8 |
9643 if ( v1->uActorQueueSize > v3 ) | 9643 if ( v1->uActorQueueSize > v3 ) |
9644 { | 9644 { |
9645 v9 = v1->pQueue; | 9645 v9 = v1->pQueue; |
9646 do | 9646 do |
9647 { | 9647 { |
9648 if ( (v9->uPackedID & 7) != 4 ) | 9648 if ( (v9->uPackedID & 7) != OBJECT_Player) |
9649 { | 9649 { |
9650 v10 = v9->uPackedID >> 3; | 9650 v10 = v9->uPackedID >> 3; |
9651 v11 = pActors[v10].uAIState; | 9651 v11 = pActors[v10].uAIState; |
9652 if ( v11 != 5 ) | 9652 if ( v11 != 5 ) |
9653 { | 9653 { |
9695 result = 1; | 9695 result = 1; |
9696 viewparams->bRedrawGameUI = 1; | 9696 viewparams->bRedrawGameUI = 1; |
9697 v4 = v1->pQueue[0].field_4; | 9697 v4 = v1->pQueue[0].field_4; |
9698 if ( v4 ) | 9698 if ( v4 ) |
9699 { | 9699 { |
9700 if ( (v1->pQueue[0].uPackedID & 7) == 4 ) | 9700 if ( (v1->pQueue[0].uPackedID & 7) == OBJECT_Player) |
9701 { | 9701 { |
9702 v5 = v1->uActorQueueSize; | 9702 v5 = v1->uActorQueueSize; |
9703 while ( 1 ) | 9703 while ( 1 ) |
9704 { | 9704 { |
9705 v6 = 0; | 9705 v6 = 0; |
9776 int v9; // ecx@14 | 9776 int v9; // ecx@14 |
9777 char v10; // zf@15 | 9777 char v10; // zf@15 |
9778 | 9778 |
9779 v2 = this; | 9779 v2 = this; |
9780 v3 = *(&this->field_0 + 4 * (a2 + 2)); | 9780 v3 = *(&this->field_0 + 4 * (a2 + 2)); |
9781 if ( (*((char *)&this->field_0 + 16 * (a2 + 2)) & 7) == 4 ) | 9781 if ( (*((char *)&this->field_0 + 16 * (a2 + 2)) & 7) == OBJECT_Player) |
9782 { | 9782 { |
9783 v4 = v3 >> 3; | 9783 v4 = v3 >> 3; |
9784 v5 = (char *)&pParty->pTurnBasedPlayerRecoveryTimes[v3 >> 3]; | 9784 v5 = (char *)&pParty->pTurnBasedPlayerRecoveryTimes[v3 >> 3]; |
9785 v6 = *(int *)v5; | 9785 v6 = *(int *)v5; |
9786 if ( *(int *)v5 ) | 9786 if ( *(int *)v5 ) |
9794 { | 9794 { |
9795 v6 = pMonsterStats->pInfos[pActors[v3 >> 3].pMonsterInfo.uID].uRecoveryTime; | 9795 v6 = pMonsterStats->pInfos[pActors[v3 >> 3].pMonsterInfo.uID].uRecoveryTime; |
9796 } | 9796 } |
9797 v2->pQueue[a2].field_4 = v6; | 9797 v2->pQueue[a2].field_4 = v6; |
9798 v2->_404544(); | 9798 v2->_404544(); |
9799 if ( (v2->pQueue[0].uPackedID & 7) == 4 ) | 9799 if ( (v2->pQueue[0].uPackedID & 7) == OBJECT_Player) |
9800 uActiveCharacter = (v2->pQueue[0].uPackedID >> 3) + 1; | 9800 uActiveCharacter = (v2->pQueue[0].uPackedID >> 3) + 1; |
9801 else | 9801 else |
9802 uActiveCharacter = 0; | 9802 uActiveCharacter = 0; |
9803 result = (int)&v2->pQueue[0].field_4; | 9803 result = (int)&v2->pQueue[0].field_4; |
9804 viewparams->bRedrawGameUI = 1; | 9804 viewparams->bRedrawGameUI = 1; |
9842 v1 = (char *)&this->pQueue[0].field_4; | 9842 v1 = (char *)&this->pQueue[0].field_4; |
9843 do | 9843 do |
9844 { | 9844 { |
9845 if ( !*(int *)v1 ) | 9845 if ( !*(int *)v1 ) |
9846 { | 9846 { |
9847 if ( (*(v1 - 4) & 7) == 4 ) | 9847 if ( (*(v1 - 4) & 7) == OBJECT_Player) |
9848 return; | 9848 return; |
9849 v2 = &pActors[*((int *)v1 - 1) >> 3]; | 9849 v2 = &pActors[*((int *)v1 - 1) >> 3]; |
9850 v3 = v2->uAIState; | 9850 v3 = v2->uAIState; |
9851 if ( !v3 || v3 == 9 || v3 == 7 ) | 9851 if (v3 == Standing || v3 == Fleeing || v3 == Fidgeting) |
9852 { | 9852 { |
9853 v4 = pMonsterStats->pInfos[v2->pMonsterInfo.uID].uRecoveryTime; | 9853 v4 = pMonsterStats->pInfos[v2->pMonsterInfo.uID].uRecoveryTime; |
9854 *(int *)v1 = v4; | 9854 *(int *)v1 = v4; |
9855 if ( (signed __int64)v2->pActorBuffs[7].uExpireTime > 0 ) | 9855 if ( (signed __int64)v2->pActorBuffs[7].uExpireTime > 0 ) |
9856 *(int *)v1 = 2 * v4; | 9856 *(int *)v1 = 2 * v4; |
9873 unsigned int v5; // edi@14 | 9873 unsigned int v5; // edi@14 |
9874 | 9874 |
9875 v1 = this; | 9875 v1 = this; |
9876 LOWORD(v2) = _404544(); | 9876 LOWORD(v2) = _404544(); |
9877 if ( v1->pQueue[0].field_4 <= 0 | 9877 if ( v1->pQueue[0].field_4 <= 0 |
9878 || ((_4063A1(), v2 = v1->pQueue[0].uPackedID, (v1->pQueue[0].uPackedID & 7) != 4) ? (uActiveCharacter = 0) : (v2 = (v2 >> 3) + 1, uActiveCharacter = v2), | 9878 || ((_4063A1(), v2 = v1->pQueue[0].uPackedID, (v1->pQueue[0].uPackedID & 7) != OBJECT_Player) ? (uActiveCharacter = 0) : (v2 = (v2 >> 3) + 1, uActiveCharacter = v2), |
9879 viewparams->bRedrawGameUI = 1, | 9879 viewparams->bRedrawGameUI = 1, |
9880 v1->pQueue[0].field_4 <= 0) ) | 9880 v1->pQueue[0].field_4 <= 0) ) |
9881 { | 9881 { |
9882 v3 = 0; | 9882 v3 = 0; |
9883 if ( v1->uActorQueueSize > 0 ) | 9883 if ( v1->uActorQueueSize > 0 ) |
9884 { | 9884 { |
9885 v4 = (int)v1->pQueue; | 9885 v4 = (int)v1->pQueue; |
9886 do | 9886 do |
9887 { | 9887 { |
9888 v2 = *(int *)v4; | 9888 v2 = *(int *)v4; |
9889 if ( (*(char *)v4 & 7) == 4 || *(int *)(v4 + 4) > 0 ) | 9889 if ( (*(char *)v4 & 7) == OBJECT_Player || *(int *)(v4 + 4) > 0 ) |
9890 break; | 9890 break; |
9891 if ( *(int *)(v4 + 8) <= 0 ) | 9891 if ( *(int *)(v4 + 8) <= 0 ) |
9892 { | 9892 { |
9893 LOWORD(v2) = v2 & 3; | 9893 LOWORD(v2) = v2 & 3; |
9894 if ( (char)v2 == 3 ) | 9894 if ( (char)v2 == 3 ) |
9942 unsigned int a2a; // [sp+50h] [bp+8h]@2 | 9942 unsigned int a2a; // [sp+50h] [bp+8h]@2 |
9943 | 9943 |
9944 v1 = (TurnBased_QueueElem *)((char *)this + 16 * (a2 + 2)); | 9944 v1 = (TurnBased_QueueElem *)((char *)this + 16 * (a2 + 2)); |
9945 v28 = v1; | 9945 v28 = v1; |
9946 v3 = v1->uPackedID; | 9946 v3 = v1->uPackedID; |
9947 if ( (v1->uPackedID & 7) != 4 ) | 9947 if ( (v1->uPackedID & 7) != OBJECT_Player) |
9948 { | 9948 { |
9949 v4 = v3 >> 3; // turn based only stuff | 9949 v4 = v3 >> 3; // turn based only stuff |
9950 a2a = dword_4F6E08[v3 >> 3]; | 9950 a2a = dword_4F6E08[v3 >> 3]; |
9951 memcpy(&a3, Actor::GetDirectionInfo(v1->uPackedID, dword_4F6E08[v3 >> 3], &a3, 0), sizeof(a3)); | 9951 memcpy(&a3, Actor::GetDirectionInfo(v1->uPackedID, dword_4F6E08[v3 >> 3], &a3, 0), sizeof(a3)); |
9952 memcpy(&a4, &a3, sizeof(a4)); | 9952 memcpy(&a4, &a3, sizeof(a4)); |
10106 if ( ((a3.uDistance - v8) & 0x80000000u) != 0 ) | 10106 if ( ((a3.uDistance - v8) & 0x80000000u) != 0 ) |
10107 { | 10107 { |
10108 v9 = 0; | 10108 v9 = 0; |
10109 v20 = 0; | 10109 v20 = 0; |
10110 } | 10110 } |
10111 if ( (v22 & 7) == 3 ) | 10111 if ( (v22 & 7) == OBJECT_Actor) |
10112 v10 = (unsigned __int8)*(&byte_5C8D1A[89 | 10112 v10 = (unsigned __int8)*(&byte_5C8D1A[89 |
10113 * (pMonsterStats->pInfos[pActors[v22 >> 3].pMonsterInfo.uID].uID - 1) | 10113 * (pMonsterStats->pInfos[pActors[v22 >> 3].pMonsterInfo.uID].uID - 1) |
10114 / 3] | 10114 / 3] |
10115 + (v5->pMonsterInfo.uID - 1) / 3); | 10115 + (v5->pMonsterInfo.uID - 1) / 3); |
10116 else | 10116 else |
10239 { | 10239 { |
10240 v10 = this->pQueue; | 10240 v10 = this->pQueue; |
10241 while ( 1 ) | 10241 while ( 1 ) |
10242 { | 10242 { |
10243 v5 = v10->uPackedID; | 10243 v5 = v10->uPackedID; |
10244 if ( (v10->uPackedID & 7) == 3 ) | 10244 if ( (v10->uPackedID & 7) == OBJECT_Actor) |
10245 { | 10245 { |
10246 v8 = dword_4F6E08[v5 >> 3]; | 10246 v8 = dword_4F6E08[v5 >> 3]; |
10247 memcpy(&v7, Actor::GetDirectionInfo(v5, v8, &a3, v2), sizeof(v7)); | 10247 memcpy(&v7, Actor::GetDirectionInfo(v5, v8, &a3, v2), sizeof(v7)); |
10248 if ( !v1->_406D10(a2) ) | 10248 if ( !v1->_406D10(a2) ) |
10249 Actor::_403EB6(v10->uPackedID >> 3, v8, 0x20u, &v7); | 10249 Actor::_403EB6(v10->uPackedID >> 3, v8, 0x20u, &v7); |
10278 if ( this->uActorQueueSize > 0 ) | 10278 if ( this->uActorQueueSize > 0 ) |
10279 { | 10279 { |
10280 v2 = this->pQueue; | 10280 v2 = this->pQueue; |
10281 do | 10281 do |
10282 { | 10282 { |
10283 if ( (v2->uPackedID & 7) == 3 ) | 10283 if ( (v2->uPackedID & 7) == OBJECT_Actor) |
10284 { | 10284 { |
10285 v3 = v2->uPackedID >> 3; | 10285 v3 = v2->uPackedID >> 3; |
10286 v8 = v3; | 10286 v8 = v3; |
10287 if ( pActors[v3].CanAct() ) | 10287 if ( pActors[v3].CanAct() ) |
10288 { | 10288 { |
10333 v14 = this->pQueue; | 10333 v14 = this->pQueue; |
10334 while ( 1 ) | 10334 while ( 1 ) |
10335 { | 10335 { |
10336 v4 = v14->uPackedID; | 10336 v4 = v14->uPackedID; |
10337 a1 = v14->uPackedID; | 10337 a1 = v14->uPackedID; |
10338 if ( (a1 & 7) != 4 ) | 10338 if ( (a1 & 7) != OBJECT_Player) |
10339 { | 10339 { |
10340 v5 = v4 >> 3; | 10340 v5 = v4 >> 3; |
10341 v12 = v5; | 10341 v12 = v5; |
10342 v6 = &pActors[v5]; | 10342 v6 = &pActors[v5]; |
10343 if ( SHIDWORD(v6->pActorBuffs[5].uExpireTime) < result | 10343 if ( SHIDWORD(v6->pActorBuffs[5].uExpireTime) < result |
10417 TurnBased_QueueElem *v29; // [sp+4Ch] [bp-8h]@7 | 10417 TurnBased_QueueElem *v29; // [sp+4Ch] [bp-8h]@7 |
10418 unsigned int uActorID; // [sp+50h] [bp-4h]@2 | 10418 unsigned int uActorID; // [sp+50h] [bp-4h]@2 |
10419 unsigned int a2a; // [sp+5Ch] [bp+8h]@7 | 10419 unsigned int a2a; // [sp+5Ch] [bp+8h]@7 |
10420 | 10420 |
10421 v2 = *(&this->field_0 + 4 * (a2 + 2)); | 10421 v2 = *(&this->field_0 + 4 * (a2 + 2)); |
10422 if ( (v2 & 7) == 4 ) | 10422 if ( (v2 & 7) == OBJECT_Player) |
10423 return 0; | 10423 return 0; |
10424 v3 = v2 >> 3; | 10424 v3 = v2 >> 3; |
10425 uActorID = v3; | 10425 uActorID = v3; |
10426 v4 = &pActors[v3]; | 10426 v4 = &pActors[v3]; |
10427 v5 = v4->uAIState; | 10427 v5 = v4->uAIState; |
10611 v3 = this->pQueue; | 10611 v3 = this->pQueue; |
10612 v18 = (char *)&pTurnEngine - (char *)this; | 10612 v18 = (char *)&pTurnEngine - (char *)this; |
10613 v14 = this->pQueue; | 10613 v14 = this->pQueue; |
10614 do | 10614 do |
10615 { | 10615 { |
10616 if ( (v3->uPackedID & 7) != 4 ) | 10616 if ( (v3->uPackedID & 7) != OBJECT_Player) |
10617 { | 10617 { |
10618 v4 = v3->uPackedID >> 3; | 10618 v4 = v3->uPackedID >> 3; |
10619 uActorID = v4; | 10619 uActorID = v4; |
10620 v5 = &pActors[v4]; | 10620 v5 = &pActors[v4]; |
10621 v6 = v5->uAIState; | 10621 v6 = v5->uAIState; |
16359 if ( pRenderer->pRenderD3D ) | 16359 if ( pRenderer->pRenderD3D ) |
16360 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val(); | 16360 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val(); |
16361 else | 16361 else |
16362 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; | 16362 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; |
16363 v6 = (unsigned __int16)v5; | 16363 v6 = (unsigned __int16)v5; |
16364 if ( (v6 & 7) != 2 ) | 16364 if ( (v6 & 7) != OBJECT_Item) |
16365 { | 16365 { |
16366 if ( (v6 & 7) == 3 ) | 16366 if ( (v6 & 7) == OBJECT_Actor) |
16367 { | 16367 { |
16368 if ( pRenderer->uNumSceneBegins ) | 16368 if ( pRenderer->uNumSceneBegins ) |
16369 { | 16369 { |
16370 pWindow.DrawMessageBox(1); | 16370 pWindow.DrawMessageBox(1); |
16371 MonsterPopup_Draw(v6 >> 3, &pWindow); | 16371 MonsterPopup_Draw(v6 >> 3, &pWindow); |
16491 dword_507BF0_is_there_popup_onscreen = 1; | 16491 dword_507BF0_is_there_popup_onscreen = 1; |
16492 viewparams->bRedrawGameUI = 1; | 16492 viewparams->bRedrawGameUI = 1; |
16493 } | 16493 } |
16494 | 16494 |
16495 //----- (004175C0) -------------------------------------------------------- | 16495 //----- (004175C0) -------------------------------------------------------- |
16496 void __thiscall UI_OnMouseLeftClick(int *pXY) | 16496 void UI_OnMouseLeftClick(int *pXY) |
16497 { | 16497 { |
16498 int *pXY_; // esi@1 | 16498 int *pXY_; // esi@1 |
16499 signed int y; // eax@7 | 16499 signed int y; // eax@7 |
16500 signed int x; // ecx@7 | 16500 signed int x; // ecx@7 |
16501 unsigned int v4; // eax@11 | 16501 unsigned int v4; // eax@11 |
16598 if ( pRenderer->pRenderD3D ) | 16598 if ( pRenderer->pRenderD3D ) |
16599 v5 = pGame->pVisInstance->get_picked_object_zbuf_val(); | 16599 v5 = pGame->pVisInstance->get_picked_object_zbuf_val(); |
16600 else | 16600 else |
16601 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; | 16601 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; |
16602 v6 = (unsigned __int16)v5; | 16602 v6 = (unsigned __int16)v5; |
16603 if ( (v5 & 7) == 3 | 16603 if ( (v5 & 7) == OBJECT_Actor |
16604 && uActiveCharacter | 16604 && uActiveCharacter |
16605 && v5 < 33554432 | 16605 && v5 < 33554432 |
16606 && pPlayers[uActiveCharacter]->CanAct() | 16606 && pPlayers[uActiveCharacter]->CanAct() |
16607 && pPlayers[uActiveCharacter]->CanSteal() ) | 16607 && pPlayers[uActiveCharacter]->CanSteal() ) |
16608 { | 16608 { |