Mercurial > mm7
diff mm7_2.cpp @ 698:b097497f07e2
monster table continue fixinf
author | Gloval |
---|---|
date | Sun, 17 Mar 2013 18:31:54 +0400 |
parents | 52329962fcdb |
children | 1d05543f522d |
line wrap: on
line diff
--- a/mm7_2.cpp Sun Mar 17 12:47:19 2013 +0400 +++ b/mm7_2.cpp Sun Mar 17 18:31:54 2013 +0400 @@ -7002,436 +7002,6 @@ } } -//----- (004548E2) -------------------------------------------------------- -unsigned int __fastcall ParseSpellType(FrameTableTxtLine *a1, int a2) -{ - int v2; // edi@1 - int v3; // esi@1 - unsigned int result; // eax@1 - std::string v5; // [sp-18h] [bp-28h]@75 - const char *v6; // [sp-8h] [bp-18h]@75 - signed int v7; // [sp-4h] [bp-14h]@3 - std::string *v8; // [sp+8h] [bp-8h]@75 - int a3; // [sp+Fh] [bp-1h]@75 - - v2 = (int)a1; - v3 = a2; - result = (int)a1->pProperties[0]; - if ( result ) - { - if ( !_strcmpi((const char *)result, "Dispel") ) - { - v7 = 80; -LABEL_71: - result = v7; -LABEL_76: - ++*(int *)v3; - return result; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Day") ) - { - if ( _strcmpi(*(const char **)(v2 + 4), "Hour") ) - { - if ( _strcmpi(*(const char **)(v2 + 4), "Shield") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Spirit") ) - { - v7 = 52; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Power") ) - { - v7 = 77; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Meteor") ) - { - v7 = 9; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Lightning") ) - { - v7 = 18; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Implosion") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Stone") ) - { - v7 = 38; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Haste") ) - { - if ( _strcmpi(*(const char **)(v2 + 4), "Heroism") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Pain") ) - { - v7 = 95; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Sparks") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Light") ) - { - v7 = 78; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Toxic") ) - { - v7 = 90; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "ShrapMetal") ) - { - if ( _strcmpi(*(const char **)(v2 + 4), "Paralyze") ) - { - if ( _strcmpi(*(const char **)(v2 + 4), "Fireball") ) - { - if ( _strcmpi(*(const char **)(v2 + 4), "Incinerate") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Fire") ) - { - v7 = 2; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Rock") ) - { - v7 = 41; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Mass") ) - { - v7 = 44; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Ice") ) - { - v7 = 26; - goto LABEL_71; - } - if ( !_strcmpi(*(const char **)(v2 + 4), "Acid") ) - { - v7 = 29; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Bless") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Dragon") ) - { - v7 = 97; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Reanimate") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Summon") ) - { - v7 = 82; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Fate") ) - { - if ( _strcmpi(*(const char **)(v2 + 4), "Harm") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Mind") ) - { - v7 = 57; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Blades") ) - { - if ( !_strcmpi(*(const char **)(v2 + 4), "Psychic") ) - { - v7 = 65; - goto LABEL_71; - } - if ( _strcmpi(*(const char **)(v2 + 4), "Hammerhands") ) - { - sprintf(pTmpBuf, "Unknown monster spell %s", *(int *)(v2 + 4)); - MessageBoxA(nullptr, pTmpBuf, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Itemdata.cpp:1562", 0); - result = 0; - goto LABEL_76; - } - v7 = 73; - } - else - { - v7 = 39; - } - } - else - { - v7 = 70; - } - } - else - { - v7 = 47; - } - } - else - { - v7 = 89; - } - } - else - { - v7 = 46; - } - } - else - { - v7 = 11; - } - } - else - { - v7 = 6; - } - } - else - { - v7 = 81; - } - } - else - { - v7 = 93; - } - } - else - { - v7 = 15; - } - } - else - { - v7 = 51; - } - } - else - { - v7 = 5; - } - } - else - { - v7 = 20; - } - } - else - { - v7 = 17; - } - return v7; - } - v7 = 86; - } - else - { - v7 = 85; - } - *(int *)v3 += 2; - result = v7; - } - return result; -} - -//----- (00454CB4) -------------------------------------------------------- -int __thiscall ParseAttackType(unsigned __int8 *a1) -{ - unsigned __int8 *v1; // esi@1 - int result; // eax@4 - int v3; // eax@15 - int v4; // eax@18 - - v1 = a1; - if ( !a1 ) - return 4; - if ( tolower(*a1) == 'f' ) - return 0; - if ( tolower(*v1) == 'a' ) - return 1; - if ( tolower(*v1) == 'w' ) - return 2; - if ( tolower(*v1) == 'e' ) - { - tolower(v1[1]); - return 3; - } - if ( tolower(*v1) == 's' ) - return 6; - if ( tolower(*v1) == 'm' ) - { - v3 = -(tolower(v1[1]) != 'i'); - LOBYTE(v3) = v3 & 0xFE; - result = v3 + 7; - } - else - { - if ( tolower(*v1) == 'l' ) - return 9; - v4 = -(tolower(*v1) != 'd'); - LOBYTE(v4) = v4 & 0xFA; - result = v4 + 10; - } - return result; -} - -//----- (00454D7D) -------------------------------------------------------- -char __fastcall ParseDamage(const char *Str, int a2, int a3, int a4) -{ - int v4; // esi@1 - const char *v5; // edi@1 - signed int v6; // ebx@1 - int *v7; // esi@2 - int v8; // eax@3 - size_t v10; // [sp+Ch] [bp-Ch]@1 - int v11; // [sp+10h] [bp-8h]@1 - signed int v12; // [sp+14h] [bp-4h]@1 - - v4 = a2; - v5 = Str; - *(char *)a2 = 0; - *(char *)a3 = 1; - v11 = a2; - *(char *)a4 = 0; - v6 = 0; - v10 = strlen(Str); - v12 = 0; - if ( (signed int)v10 <= 0 ) - { -LABEL_9: - LOBYTE(v8) = *v5; - if ( (unsigned __int8)*v5 >= 0x30u && (unsigned __int8)v8 <= 0x39u ) - { - *(char *)v4 = atoi(v5); - LOBYTE(v8) = a3; - *(char *)a3 = 1; - } - return v8; - } - do - { - v7 = (int *)&v5[v6]; - if ( tolower((unsigned __int8)v5[v6]) == 100 ) - { - *(char *)v7 = 0; - *(char *)v11 = atoi(v5); - LOBYTE(v8) = atoi(&v5[v6 + 1]); - v12 = 1; - *(char *)a3 = v8; - *(char *)v7 = 100; - } - else - { - v8 = tolower(*(char *)v7); - if ( v8 == 43 ) - { - LOBYTE(v8) = atoi(&v5[v6 + 1]); - *(char *)a4 = v8; - } - } - ++v6; - } - while ( v6 < (signed int)v10 ); - if ( !v12 ) - { - v4 = v11; - goto LABEL_9; - } - return v8; -} - -//----- (00454E3A) -------------------------------------------------------- -int __fastcall ParseMissleAttackType(const char *Str1) -{ - const char *v1; // esi@1 - int v2; // edi@1 - int v4; // [sp-4h] [bp-Ch]@4 - - v1 = Str1; - v2 = 0; - if ( _strcmpi(Str1, "ARROW") ) - { - if ( _strcmpi(v1, "ARROWF") ) - { - if ( _strcmpi(v1, "FIRE") ) - { - if ( _strcmpi(v1, "AIR") ) - { - if ( _strcmpi(v1, "WATER") ) - { - if ( _strcmpi(v1, "EARTH") ) - { - if ( _strcmpi(v1, "SPIRIT") ) - { - if ( _strcmpi(v1, "MIND") ) - { - if ( _strcmpi(v1, "BODY") ) - { - if ( _strcmpi(v1, "LIGHT") ) - { - if ( _strcmpi(v1, "DARK") ) - { - if ( _strcmpi(v1, "ENER") ) - return v2; - v4 = 13; - } - else - { - v4 = 11; - } - } - else - { - v4 = 10; - } - } - else - { - v4 = 9; - } - } - else - { - v4 = 8; - } - } - else - { - v4 = 7; - } - } - else - { - v4 = 6; - } - } - else - { - v4 = 5; - } - } - else - { - v4 = 4; - } - } - else - { - v4 = 3; - } - } - else - { - v4 = 2; - } - return v4; - } - return 1; -} -