Mercurial > mm7
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(); |