Mercurial > mm7
comparison mm7_5.cpp @ 141:cca78efb377e
Constants -> enums
author | Nomad |
---|---|
date | Tue, 12 Feb 2013 03:02:13 +0200 |
parents | 9b0d651821f1 |
children | d92c78ab54fe |
comparison
equal
deleted
inserted
replaced
140:f4d7a9a8c363 | 141:cca78efb377e |
---|---|
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; |
6291 uActorIDa = uActorID; | 6291 uActorIDa = uActorID; |
6292 pActor = &pActors[uActorID]; | 6292 pActor = &pActors[uActorID]; |
6293 a2 = uObjID; | 6293 a2 = uObjID; |
6294 if ( !pActors[uActorID].IsAlive() ) | 6294 if ( !pActors[uActorID].IsAlive() ) |
6295 { | 6295 { |
6296 if ( (a2 & 7) == 2 ) | 6296 if ( (a2 & 7) == OBJECT_Item) |
6297 { | 6297 { |
6298 v4 = &pLayingItems[(signed int)a2 >> 3]; | 6298 v4 = &pLayingItems[(signed int)a2 >> 3]; |
6299 v5 = v4->field_48; | 6299 v5 = v4->field_48; |
6300 if ( v5 ) | 6300 if ( v5 ) |
6301 { | 6301 { |
6350 int v18; // [sp+20h] [bp+Ch]@34 | 6350 int v18; // [sp+20h] [bp+Ch]@34 |
6351 | 6351 |
6352 v4 = 0; | 6352 v4 = 0; |
6353 uActorID = a2; | 6353 uActorID = a2; |
6354 v17 = a1; | 6354 v17 = a1; |
6355 if ( (a1 & 7) == 2 ) | 6355 if ( (a1 & 7) == OBJECT_Item) |
6356 { | 6356 { |
6357 v5 = &pLayingItems[a1 >> 3]; | 6357 v5 = &pLayingItems[a1 >> 3]; |
6358 v4 = v5->field_60_distance_related_prolly_lod; | 6358 v4 = v5->field_60_distance_related_prolly_lod; |
6359 v17 = v5->field_58; | 6359 v17 = v5->field_58; |
6360 } | 6360 } |
9435 goto LABEL_11; | 9435 goto LABEL_11; |
9436 v16 = v1->pQueue; | 9436 v16 = v1->pQueue; |
9437 while ( 1 ) | 9437 while ( 1 ) |
9438 { | 9438 { |
9439 v5 = v16->uPackedID; | 9439 v5 = v16->uPackedID; |
9440 if ( (v16->uPackedID & 7) == 4 ) | 9440 if ( (v16->uPackedID & 7) == OBJECT_Player) |
9441 break; | 9441 break; |
9442 LABEL_8: | 9442 LABEL_8: |
9443 ++v17; | 9443 ++v17; |
9444 ++v16; | 9444 ++v16; |
9445 if ( v17 >= v1->uActorQueueSize ) | 9445 if ( v17 >= v1->uActorQueueSize ) |
9478 if ( v1->uActorQueueSize > v2 ) | 9478 if ( v1->uActorQueueSize > v2 ) |
9479 { | 9479 { |
9480 v8 = v1->pQueue; | 9480 v8 = v1->pQueue; |
9481 do | 9481 do |
9482 { | 9482 { |
9483 if ( (v8->uPackedID & 7) == 3 && ai_array_4F7DB0_actor_ids[v20] == v8->uPackedID >> 3 ) | 9483 if ( (v8->uPackedID & 7) == OBJECT_Actor && ai_array_4F7DB0_actor_ids[v20] == v8->uPackedID >> 3 ) |
9484 break; | 9484 break; |
9485 ++v18; | 9485 ++v18; |
9486 ++v8; | 9486 ++v8; |
9487 } | 9487 } |
9488 while ( v18 < v1->uActorQueueSize ); | 9488 while ( v18 < v1->uActorQueueSize ); |
9557 | 9557 |
9558 v1 = this; | 9558 v1 = this; |
9559 _404544(); | 9559 _404544(); |
9560 v2 = v1->pQueue; | 9560 v2 = v1->pQueue; |
9561 v3 = 0; | 9561 v3 = 0; |
9562 if ( (v1->pQueue[0].uPackedID & 7) == 4 ) | 9562 if ( (v1->pQueue[0].uPackedID & 7) == OBJECT_Player) |
9563 uActiveCharacter = (v1->pQueue[0].uPackedID >> 3) + 1; | 9563 uActiveCharacter = (v1->pQueue[0].uPackedID >> 3) + 1; |
9564 else | 9564 else |
9565 uActiveCharacter = 0; | 9565 uActiveCharacter = 0; |
9566 viewparams->bRedrawGameUI = 1; | 9566 viewparams->bRedrawGameUI = 1; |
9567 if ( v1->field_1C ) | 9567 if ( v1->field_1C ) |
9576 v13 = 0; | 9576 v13 = 0; |
9577 if ( v1->uActorQueueSize <= 0 ) | 9577 if ( v1->uActorQueueSize <= 0 ) |
9578 goto LABEL_27; | 9578 goto LABEL_27; |
9579 do | 9579 do |
9580 { | 9580 { |
9581 if ( (v2->uPackedID & 7) != 4 ) | 9581 if ( (v2->uPackedID & 7) != OBJECT_Player) |
9582 { | 9582 { |
9583 v5 = &pActors[v2->uPackedID >> 3]; | 9583 v5 = &pActors[v2->uPackedID >> 3]; |
9584 LOWORD(v6) = v5->uAIState; | 9584 LOWORD(v6) = v5->uAIState; |
9585 if ( (short)v6 == 4 | 9585 if ( (short)v6 == 4 |
9586 || (short)v6 == 8 | 9586 || (short)v6 == 8 |
9634 if ( v1->uActorQueueSize > v3 ) | 9634 if ( v1->uActorQueueSize > v3 ) |
9635 { | 9635 { |
9636 v9 = v1->pQueue; | 9636 v9 = v1->pQueue; |
9637 do | 9637 do |
9638 { | 9638 { |
9639 if ( (v9->uPackedID & 7) != 4 ) | 9639 if ( (v9->uPackedID & 7) != OBJECT_Player) |
9640 { | 9640 { |
9641 v10 = v9->uPackedID >> 3; | 9641 v10 = v9->uPackedID >> 3; |
9642 v11 = pActors[v10].uAIState; | 9642 v11 = pActors[v10].uAIState; |
9643 if ( v11 != 5 ) | 9643 if ( v11 != 5 ) |
9644 { | 9644 { |
9686 result = 1; | 9686 result = 1; |
9687 viewparams->bRedrawGameUI = 1; | 9687 viewparams->bRedrawGameUI = 1; |
9688 v4 = v1->pQueue[0].field_4; | 9688 v4 = v1->pQueue[0].field_4; |
9689 if ( v4 ) | 9689 if ( v4 ) |
9690 { | 9690 { |
9691 if ( (v1->pQueue[0].uPackedID & 7) == 4 ) | 9691 if ( (v1->pQueue[0].uPackedID & 7) == OBJECT_Player) |
9692 { | 9692 { |
9693 v5 = v1->uActorQueueSize; | 9693 v5 = v1->uActorQueueSize; |
9694 while ( 1 ) | 9694 while ( 1 ) |
9695 { | 9695 { |
9696 v6 = 0; | 9696 v6 = 0; |
9767 int v9; // ecx@14 | 9767 int v9; // ecx@14 |
9768 char v10; // zf@15 | 9768 char v10; // zf@15 |
9769 | 9769 |
9770 v2 = this; | 9770 v2 = this; |
9771 v3 = *(&this->field_0 + 4 * (a2 + 2)); | 9771 v3 = *(&this->field_0 + 4 * (a2 + 2)); |
9772 if ( (*((char *)&this->field_0 + 16 * (a2 + 2)) & 7) == 4 ) | 9772 if ( (*((char *)&this->field_0 + 16 * (a2 + 2)) & 7) == OBJECT_Player) |
9773 { | 9773 { |
9774 v4 = v3 >> 3; | 9774 v4 = v3 >> 3; |
9775 v5 = (char *)&pParty->pTurnBasedPlayerRecoveryTimes[v3 >> 3]; | 9775 v5 = (char *)&pParty->pTurnBasedPlayerRecoveryTimes[v3 >> 3]; |
9776 v6 = *(int *)v5; | 9776 v6 = *(int *)v5; |
9777 if ( *(int *)v5 ) | 9777 if ( *(int *)v5 ) |
9785 { | 9785 { |
9786 v6 = pMonsterStats->pInfos[pActors[v3 >> 3].pMonsterInfo.uID].uRecoveryTime; | 9786 v6 = pMonsterStats->pInfos[pActors[v3 >> 3].pMonsterInfo.uID].uRecoveryTime; |
9787 } | 9787 } |
9788 v2->pQueue[a2].field_4 = v6; | 9788 v2->pQueue[a2].field_4 = v6; |
9789 v2->_404544(); | 9789 v2->_404544(); |
9790 if ( (v2->pQueue[0].uPackedID & 7) == 4 ) | 9790 if ( (v2->pQueue[0].uPackedID & 7) == OBJECT_Player) |
9791 uActiveCharacter = (v2->pQueue[0].uPackedID >> 3) + 1; | 9791 uActiveCharacter = (v2->pQueue[0].uPackedID >> 3) + 1; |
9792 else | 9792 else |
9793 uActiveCharacter = 0; | 9793 uActiveCharacter = 0; |
9794 result = (int)&v2->pQueue[0].field_4; | 9794 result = (int)&v2->pQueue[0].field_4; |
9795 viewparams->bRedrawGameUI = 1; | 9795 viewparams->bRedrawGameUI = 1; |
9833 v1 = (char *)&this->pQueue[0].field_4; | 9833 v1 = (char *)&this->pQueue[0].field_4; |
9834 do | 9834 do |
9835 { | 9835 { |
9836 if ( !*(int *)v1 ) | 9836 if ( !*(int *)v1 ) |
9837 { | 9837 { |
9838 if ( (*(v1 - 4) & 7) == 4 ) | 9838 if ( (*(v1 - 4) & 7) == OBJECT_Player) |
9839 return; | 9839 return; |
9840 v2 = &pActors[*((int *)v1 - 1) >> 3]; | 9840 v2 = &pActors[*((int *)v1 - 1) >> 3]; |
9841 v3 = v2->uAIState; | 9841 v3 = v2->uAIState; |
9842 if ( !v3 || v3 == 9 || v3 == 7 ) | 9842 if (v3 == Standing || v3 == Fleeing || v3 == Fidgeting) |
9843 { | 9843 { |
9844 v4 = pMonsterStats->pInfos[v2->pMonsterInfo.uID].uRecoveryTime; | 9844 v4 = pMonsterStats->pInfos[v2->pMonsterInfo.uID].uRecoveryTime; |
9845 *(int *)v1 = v4; | 9845 *(int *)v1 = v4; |
9846 if ( (signed __int64)v2->pActorBuffs[7].uExpireTime > 0 ) | 9846 if ( (signed __int64)v2->pActorBuffs[7].uExpireTime > 0 ) |
9847 *(int *)v1 = 2 * v4; | 9847 *(int *)v1 = 2 * v4; |
9864 unsigned int v5; // edi@14 | 9864 unsigned int v5; // edi@14 |
9865 | 9865 |
9866 v1 = this; | 9866 v1 = this; |
9867 LOWORD(v2) = _404544(); | 9867 LOWORD(v2) = _404544(); |
9868 if ( v1->pQueue[0].field_4 <= 0 | 9868 if ( v1->pQueue[0].field_4 <= 0 |
9869 || ((_4063A1(), v2 = v1->pQueue[0].uPackedID, (v1->pQueue[0].uPackedID & 7) != 4) ? (uActiveCharacter = 0) : (v2 = (v2 >> 3) + 1, uActiveCharacter = v2), | 9869 || ((_4063A1(), v2 = v1->pQueue[0].uPackedID, (v1->pQueue[0].uPackedID & 7) != OBJECT_Player) ? (uActiveCharacter = 0) : (v2 = (v2 >> 3) + 1, uActiveCharacter = v2), |
9870 viewparams->bRedrawGameUI = 1, | 9870 viewparams->bRedrawGameUI = 1, |
9871 v1->pQueue[0].field_4 <= 0) ) | 9871 v1->pQueue[0].field_4 <= 0) ) |
9872 { | 9872 { |
9873 v3 = 0; | 9873 v3 = 0; |
9874 if ( v1->uActorQueueSize > 0 ) | 9874 if ( v1->uActorQueueSize > 0 ) |
9875 { | 9875 { |
9876 v4 = (int)v1->pQueue; | 9876 v4 = (int)v1->pQueue; |
9877 do | 9877 do |
9878 { | 9878 { |
9879 v2 = *(int *)v4; | 9879 v2 = *(int *)v4; |
9880 if ( (*(char *)v4 & 7) == 4 || *(int *)(v4 + 4) > 0 ) | 9880 if ( (*(char *)v4 & 7) == OBJECT_Player || *(int *)(v4 + 4) > 0 ) |
9881 break; | 9881 break; |
9882 if ( *(int *)(v4 + 8) <= 0 ) | 9882 if ( *(int *)(v4 + 8) <= 0 ) |
9883 { | 9883 { |
9884 LOWORD(v2) = v2 & 3; | 9884 LOWORD(v2) = v2 & 3; |
9885 if ( (char)v2 == 3 ) | 9885 if ( (char)v2 == 3 ) |
9933 unsigned int a2a; // [sp+50h] [bp+8h]@2 | 9933 unsigned int a2a; // [sp+50h] [bp+8h]@2 |
9934 | 9934 |
9935 v1 = (TurnBased_QueueElem *)((char *)this + 16 * (a2 + 2)); | 9935 v1 = (TurnBased_QueueElem *)((char *)this + 16 * (a2 + 2)); |
9936 v28 = v1; | 9936 v28 = v1; |
9937 v3 = v1->uPackedID; | 9937 v3 = v1->uPackedID; |
9938 if ( (v1->uPackedID & 7) != 4 ) | 9938 if ( (v1->uPackedID & 7) != OBJECT_Player) |
9939 { | 9939 { |
9940 v4 = v3 >> 3; // turn based only stuff | 9940 v4 = v3 >> 3; // turn based only stuff |
9941 a2a = dword_4F6E08[v3 >> 3]; | 9941 a2a = dword_4F6E08[v3 >> 3]; |
9942 memcpy(&a3, Actor::GetDirectionInfo(v1->uPackedID, dword_4F6E08[v3 >> 3], &a3, 0), sizeof(a3)); | 9942 memcpy(&a3, Actor::GetDirectionInfo(v1->uPackedID, dword_4F6E08[v3 >> 3], &a3, 0), sizeof(a3)); |
9943 memcpy(&a4, &a3, sizeof(a4)); | 9943 memcpy(&a4, &a3, sizeof(a4)); |
10097 if ( ((a3.uDistance - v8) & 0x80000000u) != 0 ) | 10097 if ( ((a3.uDistance - v8) & 0x80000000u) != 0 ) |
10098 { | 10098 { |
10099 v9 = 0; | 10099 v9 = 0; |
10100 v20 = 0; | 10100 v20 = 0; |
10101 } | 10101 } |
10102 if ( (v22 & 7) == 3 ) | 10102 if ( (v22 & 7) == OBJECT_Actor) |
10103 v10 = (unsigned __int8)*(&byte_5C8D1A[89 | 10103 v10 = (unsigned __int8)*(&byte_5C8D1A[89 |
10104 * (pMonsterStats->pInfos[pActors[v22 >> 3].pMonsterInfo.uID].uID - 1) | 10104 * (pMonsterStats->pInfos[pActors[v22 >> 3].pMonsterInfo.uID].uID - 1) |
10105 / 3] | 10105 / 3] |
10106 + (v5->pMonsterInfo.uID - 1) / 3); | 10106 + (v5->pMonsterInfo.uID - 1) / 3); |
10107 else | 10107 else |
10230 { | 10230 { |
10231 v10 = this->pQueue; | 10231 v10 = this->pQueue; |
10232 while ( 1 ) | 10232 while ( 1 ) |
10233 { | 10233 { |
10234 v5 = v10->uPackedID; | 10234 v5 = v10->uPackedID; |
10235 if ( (v10->uPackedID & 7) == 3 ) | 10235 if ( (v10->uPackedID & 7) == OBJECT_Actor) |
10236 { | 10236 { |
10237 v8 = dword_4F6E08[v5 >> 3]; | 10237 v8 = dword_4F6E08[v5 >> 3]; |
10238 memcpy(&v7, Actor::GetDirectionInfo(v5, v8, &a3, v2), sizeof(v7)); | 10238 memcpy(&v7, Actor::GetDirectionInfo(v5, v8, &a3, v2), sizeof(v7)); |
10239 if ( !v1->_406D10(a2) ) | 10239 if ( !v1->_406D10(a2) ) |
10240 Actor::_403EB6(v10->uPackedID >> 3, v8, 0x20u, &v7); | 10240 Actor::_403EB6(v10->uPackedID >> 3, v8, 0x20u, &v7); |
10269 if ( this->uActorQueueSize > 0 ) | 10269 if ( this->uActorQueueSize > 0 ) |
10270 { | 10270 { |
10271 v2 = this->pQueue; | 10271 v2 = this->pQueue; |
10272 do | 10272 do |
10273 { | 10273 { |
10274 if ( (v2->uPackedID & 7) == 3 ) | 10274 if ( (v2->uPackedID & 7) == OBJECT_Actor) |
10275 { | 10275 { |
10276 v3 = v2->uPackedID >> 3; | 10276 v3 = v2->uPackedID >> 3; |
10277 v8 = v3; | 10277 v8 = v3; |
10278 if ( pActors[v3].CanAct() ) | 10278 if ( pActors[v3].CanAct() ) |
10279 { | 10279 { |
10324 v14 = this->pQueue; | 10324 v14 = this->pQueue; |
10325 while ( 1 ) | 10325 while ( 1 ) |
10326 { | 10326 { |
10327 v4 = v14->uPackedID; | 10327 v4 = v14->uPackedID; |
10328 a1 = v14->uPackedID; | 10328 a1 = v14->uPackedID; |
10329 if ( (a1 & 7) != 4 ) | 10329 if ( (a1 & 7) != OBJECT_Player) |
10330 { | 10330 { |
10331 v5 = v4 >> 3; | 10331 v5 = v4 >> 3; |
10332 v12 = v5; | 10332 v12 = v5; |
10333 v6 = &pActors[v5]; | 10333 v6 = &pActors[v5]; |
10334 if ( SHIDWORD(v6->pActorBuffs[5].uExpireTime) < result | 10334 if ( SHIDWORD(v6->pActorBuffs[5].uExpireTime) < result |
10408 TurnBased_QueueElem *v29; // [sp+4Ch] [bp-8h]@7 | 10408 TurnBased_QueueElem *v29; // [sp+4Ch] [bp-8h]@7 |
10409 unsigned int uActorID; // [sp+50h] [bp-4h]@2 | 10409 unsigned int uActorID; // [sp+50h] [bp-4h]@2 |
10410 unsigned int a2a; // [sp+5Ch] [bp+8h]@7 | 10410 unsigned int a2a; // [sp+5Ch] [bp+8h]@7 |
10411 | 10411 |
10412 v2 = *(&this->field_0 + 4 * (a2 + 2)); | 10412 v2 = *(&this->field_0 + 4 * (a2 + 2)); |
10413 if ( (v2 & 7) == 4 ) | 10413 if ( (v2 & 7) == OBJECT_Player) |
10414 return 0; | 10414 return 0; |
10415 v3 = v2 >> 3; | 10415 v3 = v2 >> 3; |
10416 uActorID = v3; | 10416 uActorID = v3; |
10417 v4 = &pActors[v3]; | 10417 v4 = &pActors[v3]; |
10418 v5 = v4->uAIState; | 10418 v5 = v4->uAIState; |
10602 v3 = this->pQueue; | 10602 v3 = this->pQueue; |
10603 v18 = (char *)&pTurnEngine - (char *)this; | 10603 v18 = (char *)&pTurnEngine - (char *)this; |
10604 v14 = this->pQueue; | 10604 v14 = this->pQueue; |
10605 do | 10605 do |
10606 { | 10606 { |
10607 if ( (v3->uPackedID & 7) != 4 ) | 10607 if ( (v3->uPackedID & 7) != OBJECT_Player) |
10608 { | 10608 { |
10609 v4 = v3->uPackedID >> 3; | 10609 v4 = v3->uPackedID >> 3; |
10610 uActorID = v4; | 10610 uActorID = v4; |
10611 v5 = &pActors[v4]; | 10611 v5 = &pActors[v4]; |
10612 v6 = v5->uAIState; | 10612 v6 = v5->uAIState; |
16350 if ( pRenderer->pRenderD3D ) | 16350 if ( pRenderer->pRenderD3D ) |
16351 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val(); | 16351 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val(); |
16352 else | 16352 else |
16353 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; | 16353 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; |
16354 v6 = (unsigned __int16)v5; | 16354 v6 = (unsigned __int16)v5; |
16355 if ( (v6 & 7) != 2 ) | 16355 if ( (v6 & 7) != OBJECT_Item) |
16356 { | 16356 { |
16357 if ( (v6 & 7) == 3 ) | 16357 if ( (v6 & 7) == OBJECT_Actor) |
16358 { | 16358 { |
16359 if ( pRenderer->uNumSceneBegins ) | 16359 if ( pRenderer->uNumSceneBegins ) |
16360 { | 16360 { |
16361 pWindow.DrawMessageBox(1); | 16361 pWindow.DrawMessageBox(1); |
16362 MonsterPopup_Draw(v6 >> 3, &pWindow); | 16362 MonsterPopup_Draw(v6 >> 3, &pWindow); |
16482 dword_507BF0_is_there_popup_onscreen = 1; | 16482 dword_507BF0_is_there_popup_onscreen = 1; |
16483 viewparams->bRedrawGameUI = 1; | 16483 viewparams->bRedrawGameUI = 1; |
16484 } | 16484 } |
16485 | 16485 |
16486 //----- (004175C0) -------------------------------------------------------- | 16486 //----- (004175C0) -------------------------------------------------------- |
16487 void __thiscall UI_OnMouseLeftClick(int *pXY) | 16487 void UI_OnMouseLeftClick(int *pXY) |
16488 { | 16488 { |
16489 int *pXY_; // esi@1 | 16489 int *pXY_; // esi@1 |
16490 signed int y; // eax@7 | 16490 signed int y; // eax@7 |
16491 signed int x; // ecx@7 | 16491 signed int x; // ecx@7 |
16492 unsigned int v4; // eax@11 | 16492 unsigned int v4; // eax@11 |
16589 if ( pRenderer->pRenderD3D ) | 16589 if ( pRenderer->pRenderD3D ) |
16590 v5 = pGame->pVisInstance->get_picked_object_zbuf_val(); | 16590 v5 = pGame->pVisInstance->get_picked_object_zbuf_val(); |
16591 else | 16591 else |
16592 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; | 16592 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; |
16593 v6 = (unsigned __int16)v5; | 16593 v6 = (unsigned __int16)v5; |
16594 if ( (v5 & 7) == 3 | 16594 if ( (v5 & 7) == OBJECT_Actor |
16595 && uActiveCharacter | 16595 && uActiveCharacter |
16596 && v5 < 33554432 | 16596 && v5 < 33554432 |
16597 && pPlayers[uActiveCharacter]->CanAct() | 16597 && pPlayers[uActiveCharacter]->CanAct() |
16598 && pPlayers[uActiveCharacter]->CanSteal() ) | 16598 && pPlayers[uActiveCharacter]->CanSteal() ) |
16599 { | 16599 { |