comparison mm7_6.cpp @ 112:909822c91d47

pointer fixes
author zipi
date Sat, 09 Feb 2013 18:46:06 +0000
parents d61f6bc04bf2
children 9b0d651821f1
comparison
equal deleted inserted replaced
111:bf7ea4c330b3 112:909822c91d47
2900 __int16 v352; // ST18_2@685 2900 __int16 v352; // ST18_2@685
2901 stru6 *v353; // eax@685 2901 stru6 *v353; // eax@685
2902 int v354; // ecx@686 2902 int v354; // ecx@686
2903 int v355; // ecx@687 2903 int v355; // ecx@687
2904 int v356; // eax@689 2904 int v356; // eax@689
2905 SpellBuff *v357; // edi@694 2905 Player *v357; // edi@694
2906 unsigned __int16 v358; // ST1C_2@695 2906 unsigned __int16 v358; // ST1C_2@695
2907 __int16 v359; // ST18_2@695 2907 __int16 v359; // ST18_2@695
2908 stru6 *v360; // eax@695 2908 stru6 *v360; // eax@695
2909 __int16 v361; // ST1C_2@697 2909 __int16 v361; // ST1C_2@697
2910 __int16 v362; // ST18_2@697 2910 __int16 v362; // ST18_2@697
2918 int v370; // eax@706 2918 int v370; // eax@706
2919 int v371; // ecx@709 2919 int v371; // ecx@709
2920 int v372; // ecx@710 2920 int v372; // ecx@710
2921 int v373; // eax@715 2921 int v373; // eax@715
2922 int v374; // eax@717 2922 int v374; // eax@717
2923 char *v375; // edi@717 2923 Player *v375; // edi@717
2924 int v376; // eax@717 2924 int v376; // eax@717
2925 Player *v377; // ecx@719 2925 Player *v377; // ecx@719
2926 int v378; // ecx@721 2926 int v378; // ecx@721
2927 int v379; // ecx@722 2927 int v379; // ecx@722
2928 int v380; // eax@724 2928 int v380; // eax@724
3162 int v614; // eax@1116 3162 int v614; // eax@1116
3163 int v615; // edi@1119 3163 int v615; // edi@1119
3164 __int16 v616; // ST1C_2@1122 3164 __int16 v616; // ST1C_2@1122
3165 __int16 v617; // ST18_2@1122 3165 __int16 v617; // ST18_2@1122
3166 stru6 *v618; // eax@1122 3166 stru6 *v618; // eax@1122
3167 SpellBuff *v619; // edi@1123 3167 Player *v619; // edi@1123
3168 unsigned __int16 v620; // ST1C_2@1124 3168 unsigned __int16 v620; // ST1C_2@1124
3169 __int16 v621; // ST18_2@1124 3169 __int16 v621; // ST18_2@1124
3170 stru6 *v622; // eax@1124 3170 stru6 *v622; // eax@1124
3171 signed __int64 v623; // qax@1127 3171 signed __int64 v623; // qax@1127
3172 int v624; // eax@1127 3172 int v624; // eax@1127
3903 !stru_50C198.GetMagicalResistance(&pActors[a2 >> 3], 3u)) ) 3903 !stru_50C198.GetMagicalResistance(&pActors[a2 >> 3], 3u)) )
3904 goto LABEL_1056; 3904 goto LABEL_1056;
3905 v726 = (Player *)(23040 * v2); 3905 v726 = (Player *)(23040 * v2);
3906 v58 = (signed __int64)((double)(23040 * v2) * 0.033333335); 3906 v58 = (signed __int64)((double)(23040 * v2) * 0.033333335);
3907 v59 = v721; 3907 v59 = v721;
3908 ((SpellBuff *)((char *)&pActors[0].pActorBuffs[7] + v721))->Apply( 3908 //((SpellBuff *)((char *)&pActors[0].pActorBuffs[7] + v721))->Apply(
3909 pParty->uTimePlayed + (signed int)v58, 3909 pActors[a2 >> 3].pActorBuffs[7].Apply(
3910 pParty->uTimePlayed + (signed int)v58,
3910 v731, 3911 v731,
3911 amount, 3912 amount,
3912 v1, 3913 v1,
3913 v1); 3914 v1);
3914 *((char *)&pActors[0].uAttributes + v59 + 2) |= 8u; 3915 *((char *)&pActors[0].uAttributes + v59 + 2) |= 8u;
3929 else 3930 else
3930 { 3931 {
3931 if ( v731 == 3 ) 3932 if ( v731 == 3 )
3932 LODWORD(v733) = 29030400; 3933 LODWORD(v733) = 29030400;
3933 } 3934 }
3934 ((SpellBuff *)((char *)&pActors[0].pActorBuffs[9] + v730))->Reset(); 3935 //((SpellBuff *)((char *)&pActors[0].pActorBuffs[9] + v730))->Reset();
3935 ((SpellBuff *)((char *)&pActors[0].pActorBuffs[12] + v730))->Reset(); 3936 pActors[a2 >> 3].pActorBuffs[9].Reset();
3936 v726 = (Player *)((int)v733 << 7); 3937 //((SpellBuff *)((char *)&pActors[0].pActorBuffs[12] + v730))->Reset();
3937 ((SpellBuff *)((char *)&pActors[0].pActorBuffs[1] + v730))->Apply( 3938 pActors[a2 >> 3].pActorBuffs[12].Reset();
3939 v726 = (Player *)((int)v733 << 7);
3940 //((SpellBuff *)((char *)&pActors[0].pActorBuffs[1] + v730))->Apply(
3941 pActors[a2 >> 3].pActorBuffs[1].Apply(
3938 pParty->uTimePlayed + (signed int)(signed __int64)((double)(signed int)((int)v733 << 7) * 0.033333335), 3942 pParty->uTimePlayed + (signed int)(signed __int64)((double)(signed int)((int)v733 << 7) * 0.033333335),
3939 v731, 3943 v731,
3940 v1, 3944 v1,
3941 v1, 3945 v1,
3942 v1); 3946 v1);
5895 goto LABEL_103; 5899 goto LABEL_103;
5896 } 5900 }
5897 a2 = v1; 5901 a2 = v1;
5898 v732 = (int)v733 << 7; 5902 v732 = (int)v733 << 7;
5899 v717 = (signed int)(signed __int64)((double)(signed int)((int)v733 << 7) * 0.033333335); 5903 v717 = (signed int)(signed __int64)((double)(signed int)((int)v733 << 7) * 0.033333335);
5900 v357 = &pParty->pPlayers[0].pPlayerBuffs[11]; 5904 v357 = pParty->pPlayers;//[0].pPlayerBuffs[11];
5901 do 5905 do
5902 { 5906 {
5903 v358 = a2; 5907 v358 = a2;
5904 v359 = v3->spellnum; 5908 v359 = v3->spellnum;
5905 v360 = pGame->GetStru6(); 5909 v360 = pGame->GetStru6();
5906 pGame->GetStru6()->SetPlayerBuffAnim(v359, v358); 5910 pGame->GetStru6()->SetPlayerBuffAnim(v359, v358);
5907 v357->Apply(pParty->uTimePlayed + v717, v731, v1, v1, v1); 5911 v357->pPlayerBuffs[11].Apply(pParty->uTimePlayed + v717, v731, v1, v1, v1);
5908 ++a2; 5912 ++a2;
5909 v357 = (SpellBuff *)((char *)v357 + 6972); 5913 ++v357;// = (SpellBuff *)((char *)v357 + 6972);
5910 } 5914 }
5911 while ( (signed int)v357 < (signed int)&pParty->field_871C[508] ); 5915 while ( v357 <= &pParty->pPlayers[3] );
5912 goto LABEL_1056; 5916 goto LABEL_1056;
5913 case 48: 5917 case 48:
5914 v364 = v12 - 2; 5918 v364 = v12 - 2;
5915 if ( !v364 || (v365 = v364 - 1) != 0 && v365 != 1 ) 5919 if ( !v364 || (v365 = v364 - 1) != 0 && v365 != 1 )
5916 v366 = 60 * (v2 + 3); 5920 v366 = 60 * (v2 + 3);
5976 v14 = v731 == 4; 5980 v14 = v731 == 4;
5977 pParty->pPlayers[v373].sHealth = 1; 5981 pParty->pPlayers[v373].sHealth = 1;
5978 if ( v14 ) 5982 if ( v14 )
5979 { 5983 {
5980 v374 = v3->uPlayerID_2; 5984 v374 = v3->uPlayerID_2;
5981 v375 = (char *)pParty->pPlayers;
5982 LODWORD(pParty->pPlayers[v374].pConditions[14]) = v1; 5985 LODWORD(pParty->pPlayers[v374].pConditions[14]) = v1;
5983 HIDWORD(pParty->pPlayers[v374].pConditions[14]) = v1; 5986 HIDWORD(pParty->pPlayers[v374].pConditions[14]) = v1;
5984 v376 = v3->uPlayerID_2; 5987 v376 = v3->uPlayerID_2;
5985 LODWORD(pParty->pPlayers[v376].pConditions[13]) = v1; 5988 LODWORD(pParty->pPlayers[v376].pConditions[13]) = v1;
5986 HIDWORD(pParty->pPlayers[v376].pConditions[13]) = v1; 5989 HIDWORD(pParty->pPlayers[v376].pConditions[13]) = v1;
5987 } 5990 }
5988 else 5991 else
5989 { 5992 {
5990 v732 = amount << 7; 5993 v732 = amount << 7;
5991 *(float *)&a2 = (double)(amount << 7) * 0.033333335; 5994 *(float *)&a2 = (double)(amount << 7) * 0.033333335;
5992 v375 = (char *)pParty->pPlayers;
5993 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan( 5995 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan(
5994 0xEu, 5996 0xEu,
5995 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 5997 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
5996 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan( 5998 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan(
5997 0xDu, 5999 0xDu,
5998 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 6000 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
5999 } 6001 }
6000 v377 = (Player *)&v375[6972 * v3->uPlayerID_2]; 6002 v377 = &pParty->pPlayers[v3->uPlayerID_2];
6001 goto LABEL_720; 6003 goto LABEL_720;
6002 case 54: 6004 case 54:
6003 v378 = v12 - 2; 6005 v378 = v12 - 2;
6004 if ( v378 && (v379 = v378 - 1) != 0 && v379 == 1 ) 6006 if ( v378 && (v379 = v378 - 1) != 0 && v379 == 1 )
6005 v380 = 4 * v2; 6007 v380 = 4 * v2;
6097 LODWORD(pParty->pPlayers[v398].pConditions[14]) = v1; 6099 LODWORD(pParty->pPlayers[v398].pConditions[14]) = v1;
6098 HIDWORD(pParty->pPlayers[v398].pConditions[14]) = v1; 6100 HIDWORD(pParty->pPlayers[v398].pConditions[14]) = v1;
6099 v399 = v3->uPlayerID_2; 6101 v399 = v3->uPlayerID_2;
6100 LODWORD(pParty->pPlayers[v399].pConditions[13]) = v1; 6102 LODWORD(pParty->pPlayers[v399].pConditions[13]) = v1;
6101 HIDWORD(pParty->pPlayers[v399].pConditions[13]) = v1; 6103 HIDWORD(pParty->pPlayers[v399].pConditions[13]) = v1;
6102 v400 = (char *)pParty->pPlayers;
6103 } 6104 }
6104 else 6105 else
6105 { 6106 {
6106 v732 = amount << 7; 6107 v732 = amount << 7;
6107 *(float *)&a2 = (double)(amount << 7) * 0.033333335; 6108 *(float *)&a2 = (double)(amount << 7) * 0.033333335;
6108 v400 = (char *)pParty->pPlayers;
6109 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan( 6109 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan(
6110 0x10u, 6110 0x10u,
6111 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 6111 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
6112 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan( 6112 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan(
6113 0xEu, 6113 0xEu,
6115 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan( 6115 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan(
6116 0xDu, 6116 0xDu,
6117 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 6117 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
6118 } 6118 }
6119 v83 = 1; 6119 v83 = 1;
6120 ((Player *)&v400[6972 * v3->uPlayerID_2])->SetCondition(1u, 1); 6120 pParty->pPlayers[v3->uPlayerID_2].SetCondition(1u, 1);
6121 v401 = pGame; 6121 v401 = pGame;
6122 pParty->pPlayers[v3->uPlayerID_2].sHealth = 1; 6122 pParty->pPlayers[v3->uPlayerID_2].sHealth = 1;
6123 v402 = v3->uPlayerID_2; 6123 v402 = v3->uPlayerID_2;
6124 v403 = v3->spellnum; 6124 v403 = v3->spellnum;
6125 v404 = pGame->GetStru6(); 6125 v404 = pGame->GetStru6();
6677 v732 = amount << 7; 6677 v732 = amount << 7;
6678 *(float *)&a2 = (double)(amount << 7) * 0.033333335; 6678 *(float *)&a2 = (double)(amount << 7) * 0.033333335;
6679 pParty->pPlayers[v470].DiscardConditionIfLastsLongerThan( 6679 pParty->pPlayers[v470].DiscardConditionIfLastsLongerThan(
6680 6u, 6680 6u,
6681 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 6681 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
6682 v473 = (char *)pParty->pPlayers;
6683 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan( 6682 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan(
6684 8u, 6683 8u,
6685 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 6684 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
6686 v663 = (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2); 6685 v663 = (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2);
6687 v656 = 10; 6686 v656 = 10;
6789 v732 = amount << 7; 6788 v732 = amount << 7;
6790 *(float *)&a2 = (double)(amount << 7) * 0.033333335; 6789 *(float *)&a2 = (double)(amount << 7) * 0.033333335;
6791 pParty->pPlayers[v498].DiscardConditionIfLastsLongerThan( 6790 pParty->pPlayers[v498].DiscardConditionIfLastsLongerThan(
6792 7u, 6791 7u,
6793 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 6792 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
6794 v473 = (char *)pParty->pPlayers;
6795 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan( 6793 pParty->pPlayers[v3->uPlayerID_2].DiscardConditionIfLastsLongerThan(
6796 9u, 6794 9u,
6797 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2)); 6795 (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2));
6798 v663 = (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2); 6796 v663 = (signed __int64)((double)(signed __int64)pParty->uTimePlayed - *(float *)&a2);
6799 v656 = 11; 6797 v656 = 11;
6800 LABEL_937: 6798 LABEL_937:
6801 v325 = (Player *)&v473[6972 * v3->uPlayerID_2]; 6799 v325 = &pParty->pPlayers[v3->uPlayerID_2];
6802 LABEL_641: 6800 LABEL_641:
6803 v325->DiscardConditionIfLastsLongerThan(v656, v663); 6801 v325->DiscardConditionIfLastsLongerThan(v656, v663);
6804 } 6802 }
6805 goto LABEL_1056; 6803 goto LABEL_1056;
6806 case 77: 6804 case 77:
7583 goto LABEL_103; 7581 goto LABEL_103;
7584 } 7582 }
7585 a2 = v1; 7583 a2 = v1;
7586 v732 = (int)v733 << 7; 7584 v732 = (int)v733 << 7;
7587 v717 = (signed int)(signed __int64)((double)(signed int)((int)v733 << 7) * 0.033333335); 7585 v717 = (signed int)(signed __int64)((double)(signed int)((int)v733 << 7) * 0.033333335);
7588 v619 = &pParty->pPlayers[0].pPlayerBuffs[10]; 7586 v619 = pParty->pPlayers;//[0].pPlayerBuffs[10];
7589 do 7587 do
7590 { 7588 {
7591 v620 = a2; 7589 v620 = a2;
7592 v621 = v3->spellnum; 7590 v621 = v3->spellnum;
7593 v622 = pGame->GetStru6(); 7591 v622 = pGame->GetStru6();
7594 pGame->GetStru6()->SetPlayerBuffAnim(v621, v620); 7592 pGame->GetStru6()->SetPlayerBuffAnim(v621, v620);
7595 v619->Apply(pParty->uTimePlayed + v717, v731, amount, v716, v1); 7593 v619->pPlayerBuffs[10].Apply(pParty->uTimePlayed + v717, v731, amount, v716, v1);
7596 ++a2; 7594 ++a2;
7597 v619 = (SpellBuff *)((char *)v619 + 6972); 7595 ++v619;
7598 } 7596 }
7599 while ( (signed int)v619 < (signed int)&pParty->field_871C[504] ); 7597 while ( v619 <= &pParty->pPlayers[3] );
7600 goto LABEL_1056; 7598 goto LABEL_1056;
7601 case 99: 7599 case 99:
7602 if ( !pPlayer->CanCastSpell(uRequiredMana) ) 7600 if ( !pPlayer->CanCastSpell(uRequiredMana) )
7603 goto LABEL_83; 7601 goto LABEL_83;
7604 v726 = (Player *)v1; 7602 v726 = (Player *)v1;
7861 int v23; // [sp-4h] [bp-40h]@44 7859 int v23; // [sp-4h] [bp-40h]@44
7862 SoundID v24; // [sp-4h] [bp-40h]@58 7860 SoundID v24; // [sp-4h] [bp-40h]@58
7863 Vec3_int_ a3; // [sp+Ch] [bp-30h]@19 7861 Vec3_int_ a3; // [sp+Ch] [bp-30h]@19
7864 unsigned int a2; // [sp+18h] [bp-24h]@20 7862 unsigned int a2; // [sp+18h] [bp-24h]@20
7865 unsigned int v27; // [sp+1Ch] [bp-20h]@1 7863 unsigned int v27; // [sp+1Ch] [bp-20h]@1
7866 char *v28; // [sp+20h] [bp-1Ch]@9 7864 int v28; // [sp+20h] [bp-1Ch]@9
7865 unsigned int *v28b;
7867 int v29; // [sp+24h] [bp-18h]@16 7866 int v29; // [sp+24h] [bp-18h]@16
7868 int v30; // [sp+28h] [bp-14h]@16 7867 int v30; // [sp+28h] [bp-14h]@16
7869 int v31; // [sp+2Ch] [bp-10h]@4 7868 int v31; // [sp+2Ch] [bp-10h]@4
7870 int v32; // [sp+30h] [bp-Ch]@7 7869 int v32; // [sp+30h] [bp-Ch]@7
7871 int v33; // [sp+34h] [bp-8h]@7 7870 int v33; // [sp+34h] [bp-8h]@7
7887 v4 = v1->pEquipment.uMainHand; 7886 v4 = v1->pEquipment.uMainHand;
7888 v32 = 0; 7887 v32 = 0;
7889 v33 = 0; 7888 v33 = 0;
7890 if ( v4 ) 7889 if ( v4 )
7891 { 7890 {
7892 v5 = (char *)v1 + 36 * v4; 7891 //v5 = (char *)v1 + 36 * v4;
7893 if ( !(v5[516] & 2) ) 7892 if ( !(v1->pInventoryItems[v4].field_1A & 2) )//v5[516] & 2) )
7894 { 7893 {
7895 v28 = v5 + 496; 7894 v28b = &v1->pInventoryItems[v4].uItemID;
7896 v6 = *((int *)v5 + 124); 7895 v6 = v1->pInventoryItems[v4].uItemID;//*((int *)v5 + 124);
7897 if ( pItemsTable->pItems[v6].uEquipType == 12 ) 7896 if ( pItemsTable->pItems[v6].uEquipType == 12 )
7898 { 7897 {
7899 if ( *((int *)v5 + 128) <= 0 ) 7898 if ( v1->pInventoryItems[v4]._bonus_type <= 0 )
7900 { 7899 {
7901 *(int *)v28 = 0; 7900 *v28b = 0;
7902 v1->pEquipment.uMainHand = 0; 7901 v1->pEquipment.uMainHand = 0;
7903 } 7902 }
7904 else 7903 else
7905 { 7904 {
7906 v32 = *((int *)v5 + 124); 7905 v32 = v1->pInventoryItems[v4].uItemID;//*((int *)v5 + 124);
7907 } 7906 }
7908 } 7907 }
7909 else 7908 else
7910 { 7909 {
7911 if ( v6 == 64 || v6 == 65 ) 7910 if ( v6 == 64 || v6 == 65 )
7912 v33 = *((int *)v5 + 124); 7911 v33 = v1->pInventoryItems[v4].uItemID;//*((int *)v5 + 124);
7913 } 7912 }
7914 } 7913 }
7915 } 7914 }
7916 v30 = 0; 7915 v30 = 0;
7917 v29 = 0; 7916 v29 = 0;
7937 v9 = 0; 7936 v9 = 0;
7938 v34 = 0; 7937 v34 = 0;
7939 } 7938 }
7940 if ( v33 != v9 ) 7939 if ( v33 != v9 )
7941 { 7940 {
7942 v28 = (char *)1; 7941 v28 = 1;
7943 v22 = v0 + 8; 7942 v22 = v0 + 8;
7944 v20 = v9; 7943 v20 = v9;
7945 v18 = v9; 7944 v18 = v9;
7946 v16 = 102; 7945 v16 = 102;
7947 LABEL_34: 7946 LABEL_34:
8001 v3 = 0; 8000 v3 = 0;
8002 goto LABEL_39; 8001 goto LABEL_39;
8003 } 8002 }
8004 if ( v33 ) 8003 if ( v33 )
8005 { 8004 {
8006 v28 = (char *)1; 8005 v28 = 1;
8007 v23 = v0 + 8; 8006 v23 = v0 + 8;
8008 v21 = 0; 8007 v21 = 0;
8009 v19 = 0; 8008 v19 = 0;
8010 v17 = 102; 8009 v17 = 102;
8011 } 8010 }
8033 v34 = v3; 8032 v34 = v3;
8034 if ( v30 == v3 ) 8033 if ( v30 == v3 )
8035 { 8034 {
8036 if ( v29 != v3 ) 8035 if ( v29 != v3 )
8037 return 1; 8036 return 1;
8038 if ( v28 == (char *)v3 ) 8037 if ( v28 == v3 )
8039 { 8038 {
8040 v15 = v1->pEquipment.uMainHand; 8039 v15 = v1->pEquipment.uMainHand;
8041 if ( v1->HasItemEquipped(EQUIP_TWO_HANDED) ) 8040 if ( v1->HasItemEquipped(EQUIP_TWO_HANDED) )
8042 v34 = pItemsTable->pItems[*(int *)&v1->spellbook.pDarkSpellbook.bIsSpellAvailable[36 * v15 + 5]].uSkillType; 8041 v34 = pItemsTable->pItems[*(int *)&v1->spellbook.pDarkSpellbook.bIsSpellAvailable[36 * v15 + 5]].uSkillType;
8043 pTurnEngine->_40471C(); 8042 pTurnEngine->_40471C();