Code:
struct ZONEMAINDATA { float mFirstCoord[3]; int mNextZoneNum; float mXYZ[100][3]; int mNextZone[100]; int unkB; float mStartCoord[100][3]; int unkD[100]; }; struct ZONEMAINDATA2 { float mFirstCoord[3]; int mTotalOutNum;//total num for teleport to zone (min-0 | max-100) float mOutCoord[100][3]; //[100] to xyz int mOutZoneNumber[100];//[100] zone number int mTotalInNum;//total num for teleport from zone (min-0 | max-100) float mInCoord[100][3]; //[100] to xyz int mInFrom[100];//[100] zone number }; ZONEMOVEINFO *__thiscall ZONEMOVEINFO::ZONEMOVEINFO(ZONEMOVEINFO *this) { return this; } BOOL __thiscall ZONEMOVEINFO::Init(void *this) { DWORD NumberOfBytesRead; // [esp+4h] [ebp-8h] BYREF HANDLE hFile; // [esp+8h] [ebp-4h] hFile = CreateFileA("G02_GINFO\\003.BIN", 2147483648, 1u, 0, 3u, 128u, 0); if ( hFile == -1 ) return 0; if ( ReadFile(hFile, this, 1127000u, &NumberOfBytesRead, 0) && NumberOfBytesRead == 1127000 ) return CloseHandle(hFile); CloseHandle(hFile); return 0; } void ZONEMOVEINFO::Free() { } void __cdecl ZONEMOVEINFO::SetFirstCoord(int tZoneNumner, float tCoord[3]) { ZONEMOVEINFO *v2; // ecx tCoord[0] = 0.0; tCoord[1] = 0.0; tCoord[2] = 0.0; if ( tZoneNumner >= 1 && tZoneNumner <= 350 ) { tCoord[0] = v2->mDATA[tZoneNumner - 1].mFirstCoord[0]; tCoord[1] = v2->mDATA[tZoneNumner - 1].mFirstCoord[1]; tCoord[2] = v2->mDATA[tZoneNumner - 1].mFirstCoord[2]; } } void __cdecl ZONEMOVEINFO::SetStartCoord(int tZoneNumber, int tPreZoneNumber, float tCoord[3]) { ZONEMOVEINFO *v3; // ecx int i; // [esp+4h] [ebp-4h] tCoord[0] = 0.0; tCoord[1] = 0.0; tCoord[2] = 0.0; if ( tZoneNumber >= 1 && tZoneNumber <= 350 ) { for ( i = 0; i < v3->mDATA[tZoneNumber - 1].unkB && v3->mDATA[tZoneNumber - 1].unkD[i] != tPreZoneNumber; ++i ) ; if ( i != v3->mDATA[tZoneNumber - 1].unkB ) { tCoord[0] = v3->mDATA[tZoneNumber - 1].mStartCoord[i][0]; tCoord[1] = v3->mDATA[tZoneNumber - 1].mStartCoord[i][1]; tCoord[2] = v3->mDATA[tZoneNumber - 1].mStartCoord[i][2]; } } } int __stdcall ZONEMOVEINFO::ReturnMoveZone(int tFrom, int tTo) { int result; // eax int v3; // esi int v4; // esi int v5; // esi int v6; // esi int v7; // esi int v8; // esi int v9; // esi int v10; // esi int v11; // esi int v12; // esi int v13; // esi int v14; // esi int v15; // esi int v16; // esi int v17; // esi int v18; // esi int v19; // esi int v20; // esi int v21; // esi int v22; // esi int v23; // esi int v24; // esi int v25; // esi int v26; // esi int v27; // esi int v28; // esi int v29; // esi int v30; // esi int v31; // esi int v32; // esi int v33; // esi int v34; // esi int v35; // esi int v36; // esi int v37; // esi int v38; // esi int v39; // esi int v40; // esi int v41; // esi int v42; // esi int v43; // esi int v44; // esi int v45; // esi int v46; // esi int v47; // esi int v48; // esi int v49; // esi int v50; // esi int v51; // esi int v52; // esi int v53; // esi int v54; // esi int v55; // esi int v56; // esi int v57; // esi int v58; // esi int v59; // esi int v60; // esi int v61; // esi int v62; // esi int v63; // esi int v64; // esi int v65; // esi int v66; // esi int v67; // esi int v68; // esi int v69; // esi int v70; // esi int v71; // esi int v72; // esi int v73; // esi int v74; // esi int v75; // esi int v76; // esi int v77; // esi int v78; // esi int v79; // esi int v80; // esi int v81; // esi int v82; // esi int v83; // esi int v84; // esi int v85; // esi int v86; // esi int v87; // esi int v88; // esi int v89; // esi int v90; // esi int v91; // esi int v92; // esi int v93; // esi int v94; // esi int v95; // esi int v96; // esi int v97; // esi int v98; // esi int v99; // esi int v100; // esi int v101; // esi int v102; // esi int v103; // esi int v104; // esi int v105; // esi int v106; // esi int v107; // esi int v108; // esi if ( tFrom < 1 || tFrom > 350 || tTo < 1 || tTo > 350 ) return 0; if ( tFrom == 1 && tTo == 2 || tFrom == 2 && tTo == 3 || tFrom == 3 && tTo == 4 || tFrom == 4 && tTo == 38 || tFrom == 40 && tTo == 43 || tFrom == 40 && tTo == 38 || tFrom == 43 && tTo == 56 || tFrom == 43 && tTo == 40 || tFrom == 46 && tTo == 2 || tFrom == 16 && tTo == 3 || tFrom == 17 && tTo == 4 || tFrom == 62 && tTo == 40 || tFrom == 64 && tTo == 43 || tFrom == 59 && tTo == 56 || tFrom == 17 && tTo == 18 || tFrom == 18 && tTo == 17 || tFrom == 62 && tTo == 63 || tFrom == 63 && tTo == 62 || tFrom == 40 && tTo == 62 || tFrom == 43 && tTo == 64 || tFrom == 56 && tTo == 59 || tFrom == 56 && tTo == 43 || tFrom == 6 && tTo == 7 || tFrom == 7 && tTo == 8 || tFrom == 8 && tTo == 9 || tFrom == 9 && tTo == 38 || tFrom == 41 && tTo == 44 || tFrom == 41 && tTo == 38 || tFrom == 44 && tTo == 57 || tFrom == 44 && tTo == 41 || tFrom == 47 && tTo == 7 || tFrom == 22 && tTo == 8 || tFrom == 23 && tTo == 9 || tFrom == 65 && tTo == 41 || tFrom == 67 && tTo == 44 || tFrom == 60 && tTo == 57 || tFrom == 23 && tTo == 24 || tFrom == 24 && tTo == 23 || tFrom == 65 && tTo == 66 || tFrom == 66 && tTo == 65 || tFrom == 41 && tTo == 65 || tFrom == 44 && tTo == 67 || tFrom == 57 && tTo == 60 || tFrom == 57 && tTo == 44 || tFrom == 11 && tTo == 12 || tFrom == 12 && tTo == 13 || tFrom == 13 && tTo == 14 || tFrom == 14 && tTo == 38 || tFrom == 42 && tTo == 45 || tFrom == 42 && tTo == 38 || tFrom == 45 && tTo == 58 || tFrom == 45 && tTo == 42 || tFrom == 48 && tTo == 12 || tFrom == 28 && tTo == 13 || tFrom == 29 && tTo == 14 || tFrom == 68 && tTo == 42 || tFrom == 70 && tTo == 45 || tFrom == 61 && tTo == 58 || tFrom == 29 && tTo == 30 || tFrom == 30 && tTo == 29 || tFrom == 68 && tTo == 69 || tFrom == 69 && tTo == 68 || tFrom == 42 && tTo == 68 || tFrom == 45 && tTo == 70 || tFrom == 58 && tTo == 61 || tFrom == 58 && tTo == 45 || tFrom == 39 && tTo == 38 || tFrom == 144 && tTo == 38 || tFrom == 145 && tTo == 38 || tFrom == 145 && tTo == 74 || tFrom == 74 && tTo == 145 || tFrom == 310 && tTo == 38 || tFrom == 101 && tTo == 1 || tFrom == 126 && tTo == 1 || tFrom == 127 && tTo == 1 || tFrom == 128 && tTo == 1 || tFrom == 129 && tTo == 1 || tFrom == 210 && tTo == 1 || tFrom == 211 && tTo == 1 || tFrom == 212 && tTo == 1 || tFrom == 126 && tTo == 235 || tFrom == 127 && tTo == 236 || tFrom == 128 && tTo == 237 || tFrom == 129 && tTo == 238 || tFrom == 235 && tTo == 126 || tFrom == 236 && tTo == 127 || tFrom == 237 && tTo == 128 || tFrom == 238 && tTo == 129 || tFrom == 222 && tTo == 210 || tFrom == 223 && tTo == 211 || tFrom == 224 && tTo == 212 || tFrom == 102 && tTo == 6 || tFrom == 130 && tTo == 6 || tFrom == 131 && tTo == 6 || tFrom == 132 && tTo == 6 || tFrom == 133 && tTo == 6 || tFrom == 213 && tTo == 6 || tFrom == 214 && tTo == 6 || tFrom == 215 && tTo == 6 || tFrom == 130 && tTo == 239 || tFrom == 131 && tTo == 240 || tFrom == 132 && tTo == 241 || tFrom == 133 && tTo == 242 || tFrom == 239 && tTo == 130 || tFrom == 240 && tTo == 131 || tFrom == 241 && tTo == 132 || tFrom == 242 && tTo == 133 || tFrom == 225 && tTo == 213 || tFrom == 226 && tTo == 214 || tFrom == 227 && tTo == 215 || tFrom == 103 && tTo == 11 || tFrom == 134 && tTo == 11 || tFrom == 135 && tTo == 11 || tFrom == 136 && tTo == 11 || tFrom == 137 && tTo == 11 || tFrom == 216 && tTo == 11 || tFrom == 217 && tTo == 11 || tFrom == 218 && tTo == 11 || tFrom == 134 && tTo == 243 || tFrom == 135 && tTo == 244 || tFrom == 136 && tTo == 245 || tFrom == 137 && tTo == 246 || tFrom == 243 && tTo == 134 || tFrom == 244 && tTo == 135 || tFrom == 245 && tTo == 136 || tFrom == 246 && tTo == 137 || tFrom == 228 && tTo == 216 || tFrom == 229 && tTo == 217 || tFrom == 230 && tTo == 218 || tFrom == 167 && tTo == 140 || tFrom == 171 && tTo == 140 || tFrom == 172 && tTo == 140 || tFrom == 173 && tTo == 140 || tFrom == 174 && tTo == 140 || tFrom == 219 && tTo == 140 || tFrom == 220 && tTo == 140 || tFrom == 221 && tTo == 140 || tFrom == 171 && tTo == 247 || tFrom == 172 && tTo == 248 || tFrom == 173 && tTo == 249 || tFrom == 174 && tTo == 250 || tFrom == 247 && tTo == 171 || tFrom == 248 && tTo == 172 || tFrom == 249 && tTo == 173 || tFrom == 250 && tTo == 174 || tFrom == 231 && tTo == 219 || tFrom == 232 && tTo == 220 || tFrom == 233 && tTo == 221 || tFrom == 71 && tTo == 1 || tFrom == 72 && tTo == 6 || tFrom == 73 && tTo == 11 || tFrom == 105 && tTo == 1 || tFrom == 104 && tTo == 1 || tFrom == 110 && tTo == 1 || tFrom == 111 && tTo == 1 || tFrom == 251 && tTo == 1 || tFrom == 252 && tTo == 1 || tFrom == 259 && tTo == 1 || tFrom == 260 && tTo == 1 || tFrom == 107 && tTo == 6 || tFrom == 106 && tTo == 6 || tFrom == 112 && tTo == 6 || tFrom == 113 && tTo == 6 || tFrom == 253 && tTo == 6 || tFrom == 254 && tTo == 6 || tFrom == 261 && tTo == 6 || tFrom == 262 && tTo == 6 || tFrom == 109 && tTo == 11 || tFrom == 108 && tTo == 11 || tFrom == 114 && tTo == 11 || tFrom == 115 && tTo == 11 || tFrom == 255 && tTo == 11 || tFrom == 256 && tTo == 11 || tFrom == 263 && tTo == 11 || tFrom == 264 && tTo == 11 || tFrom == 169 && tTo == 140 || tFrom == 168 && tTo == 140 || tFrom == 116 && tTo == 140 || tFrom == 117 && tTo == 140 || tFrom == 257 && tTo == 140 || tFrom == 258 && tTo == 140 || tFrom == 265 && tTo == 140 || tFrom == 266 && tTo == 140 || tFrom == 140 && tTo == 141 || tFrom == 141 && tTo == 142 || tFrom == 142 && tTo == 143 || tFrom == 143 && tTo == 38 || tFrom == 76 && tTo == 75 || tFrom == 77 && tTo == 75 || tFrom == 78 && tTo == 75 || tFrom == 79 && tTo == 75 || tFrom == 76 && tTo == 80 || tFrom == 77 && tTo == 81 || tFrom == 78 && tTo == 82 || tFrom == 79 && tTo == 83 || tFrom == 80 && tTo == 76 || tFrom == 81 && tTo == 77 || tFrom == 82 && tTo == 78 || tFrom == 83 && tTo == 79 || tFrom == 91 && tTo == 90 || tFrom == 92 && tTo == 90 || tFrom == 93 && tTo == 90 || tFrom == 94 && tTo == 90 || tFrom == 91 && tTo == 95 || tFrom == 92 && tTo == 96 || tFrom == 93 && tTo == 97 || tFrom == 94 && tTo == 98 || tFrom == 95 && tTo == 91 || tFrom == 96 && tTo == 92 || tFrom == 97 && tTo == 93 || tFrom == 98 && tTo == 94 || tFrom == 202 && tTo == 201 || tFrom == 203 && tTo == 201 || tFrom == 204 && tTo == 201 || tFrom == 205 && tTo == 201 || tFrom == 202 && tTo == 206 || tFrom == 203 && tTo == 207 || tFrom == 204 && tTo == 208 || tFrom == 205 && tTo == 209 || tFrom == 206 && tTo == 202 || tFrom == 207 && tTo == 203 || tFrom == 208 && tTo == 204 || tFrom == 209 && tTo == 205 || tFrom == 275 && tTo == 1 || tFrom == 279 && tTo == 1 || tFrom == 283 && tTo == 1 || tFrom == 287 && tTo == 1 || tFrom == 276 && tTo == 6 || tFrom == 280 && tTo == 6 || tFrom == 284 && tTo == 6 || tFrom == 288 && tTo == 6 || tFrom == 277 && tTo == 11 || tFrom == 281 && tTo == 11 || tFrom == 285 && tTo == 11 || tFrom == 289 && tTo == 11 || tFrom == 278 && tTo == 140 || tFrom == 282 && tTo == 140 || tFrom == 286 && tTo == 140 || tFrom == 290 && tTo == 140 ) { v3 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v3 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v4 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v4 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 119 && tTo == 1 || tFrom == 124 && tTo == 1 || tFrom == 55 && tTo == 1 || tFrom == 89 && tTo == 1 || tFrom == 125 && tTo == 1 || tFrom == 75 && tTo == 1 || tFrom == 90 && tTo == 1 || tFrom == 201 && tTo == 1 || tFrom == 234 && tTo == 1 ) { if ( mMYINFO[0].mUseAvatar.aTribe ) return 0; v5 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v5 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v6 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v6 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 119 && tTo == 6 || tFrom == 124 && tTo == 6 || tFrom == 55 && tTo == 6 || tFrom == 89 && tTo == 6 || tFrom == 125 && tTo == 6 || tFrom == 75 && tTo == 6 || tFrom == 90 && tTo == 6 || tFrom == 201 && tTo == 6 || tFrom == 234 && tTo == 6 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 1 ) return 0; v7 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v7 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v8 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v8 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 119 && tTo == 11 || tFrom == 124 && tTo == 11 || tFrom == 55 && tTo == 11 || tFrom == 89 && tTo == 11 || tFrom == 125 && tTo == 11 || tFrom == 75 && tTo == 11 || tFrom == 90 && tTo == 11 || tFrom == 201 && tTo == 11 || tFrom == 234 && tTo == 11 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 2 ) return 0; v9 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v9 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v10 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v10 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 119 && tTo == 140 || tFrom == 124 && tTo == 140 || tFrom == 55 && tTo == 140 || tFrom == 89 && tTo == 140 || tFrom == 125 && tTo == 140 || tFrom == 75 && tTo == 140 || tFrom == 90 && tTo == 140 || tFrom == 201 && tTo == 140 || tFrom == 234 && tTo == 140 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 3 ) return 0; v11 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v11 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v12 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v12 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 2 && tTo == 46 || tFrom == 3 && tTo == 16 || tFrom == 4 && tTo == 17 ) { if ( mMYINFO[0].mUseAvatar.aTribe && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(0) ) return 0; v13 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v13 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v14 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v14 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 7 && tTo == 47 || tFrom == 8 && tTo == 22 || tFrom == 9 && tTo == 23 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 1 && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(1) ) return 0; v15 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v15 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v16 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v16 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 12 && tTo == 48 || tFrom == 13 && tTo == 28 || tFrom == 14 && tTo == 29 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 2 && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(2) ) return 0; v17 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v17 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v18 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v18 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 38 && tTo == 40 || tFrom == 75 && tTo == 76 || tFrom == 90 && tTo == 91 || tFrom == 201 && tTo == 202 ) { if ( mMYINFO[0].mUseAvatar.aTribe && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(0) ) return 0; v19 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v19 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v20 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v20 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 38 && tTo == 4 ) { if ( mMYINFO[0].mUseAvatar.aTribe && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(0) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[0][0] ) { result = 2; } else { v23 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v23 >= ZONEMAININFO::ReturnMinZoneLevelInfo(4) && (v24 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v24 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(4)) ) result = 1; else result = 2; } } else { v21 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v21 >= ZONEMAININFO::ReturnMinZoneLevelInfo(4) && (v22 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v22 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(4)) ) result = 1; else result = 2; } return result; } if ( tFrom == 4 && tTo == 3 ) { if ( mMYINFO[0].mUseAvatar.aTribe && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(0) ) { if ( PLAY::ReturnTribePointWithAlliance(0) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v27 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v27 <= 2 * PLAY::ReturnTribePointWithAlliance(0)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[0][1] ) { result = 2; } else { v28 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v28 >= ZONEMAININFO::ReturnMinZoneLevelInfo(3) && (v29 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v29 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(3)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } } else { v25 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v25 >= ZONEMAININFO::ReturnMinZoneLevelInfo(3) && (v26 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v26 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(3)) ) result = 1; else result = 2; } return result; } if ( tFrom == 3 && tTo == 2 ) { if ( mMYINFO[0].mUseAvatar.aTribe && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(0) ) { if ( PLAY::ReturnTribePointWithAlliance(0) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v32 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v32 <= 2 * PLAY::ReturnTribePointWithAlliance(0)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[0][2] ) { result = 2; } else { v33 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v33 >= ZONEMAININFO::ReturnMinZoneLevelInfo(2) && (v34 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v34 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(2)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } } else { v30 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v30 >= ZONEMAININFO::ReturnMinZoneLevelInfo(2) && (v31 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v31 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(2)) ) result = 1; else result = 2; } return result; } if ( tFrom == 2 && tTo == 1 ) { if ( mMYINFO[0].mUseAvatar.aTribe && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(0) ) { if ( PLAY::ReturnTribePointWithAlliance(0) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v37 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v37 <= 2 * PLAY::ReturnTribePointWithAlliance(0)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[0][3] ) { result = 2; } else { v38 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v38 >= ZONEMAININFO::ReturnMinZoneLevelInfo(1) && (v39 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v39 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(1)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } } else { v35 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v35 >= ZONEMAININFO::ReturnMinZoneLevelInfo(1) && (v36 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v36 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(1)) ) result = 1; else result = 2; } return result; } if ( tFrom == 38 && tTo == 41 || tFrom == 75 && tTo == 77 || tFrom == 90 && tTo == 92 || tFrom == 201 && tTo == 203 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 1 && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(1) ) return 0; v40 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v40 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v41 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v41 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 38 && tTo == 9 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(1) ) { v42 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v42 >= ZONEMAININFO::ReturnMinZoneLevelInfo(9) && (v43 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v43 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(9)) ) result = 1; else result = 2; } else if ( mPLAY[0].mWorldInfo.mTribeGuardState[1][0] ) { result = 2; } else { v44 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v44 >= ZONEMAININFO::ReturnMinZoneLevelInfo(9) && (v45 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v45 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(9)) ) result = 1; else result = 2; } return result; } if ( tFrom == 9 && tTo == 8 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(1) ) { v46 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v46 >= ZONEMAININFO::ReturnMinZoneLevelInfo(8) && (v47 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v47 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(8)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(1) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v48 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v48 <= 2 * PLAY::ReturnTribePointWithAlliance(1)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[1][1] ) { result = 2; } else { v49 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v49 >= ZONEMAININFO::ReturnMinZoneLevelInfo(8) && (v50 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v50 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(8)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 8 && tTo == 7 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(1) ) { v51 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v51 >= ZONEMAININFO::ReturnMinZoneLevelInfo(7) && (v52 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v52 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(7)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(1) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v53 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v53 <= 2 * PLAY::ReturnTribePointWithAlliance(1)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[1][2] ) { result = 2; } else { v54 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v54 >= ZONEMAININFO::ReturnMinZoneLevelInfo(7) && (v55 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v55 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(7)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 7 && tTo == 6 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(1) ) { v56 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v56 >= ZONEMAININFO::ReturnMinZoneLevelInfo(6) && (v57 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v57 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(6)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(1) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v58 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v58 <= 2 * PLAY::ReturnTribePointWithAlliance(1)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[1][3] ) { result = 2; } else { v59 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v59 >= ZONEMAININFO::ReturnMinZoneLevelInfo(6) && (v60 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v60 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(6)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 38 && tTo == 42 || tFrom == 75 && tTo == 78 || tFrom == 90 && tTo == 93 || tFrom == 201 && tTo == 204 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 2 && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(2) ) return 0; v61 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v61 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v62 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v62 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 38 && tTo == 14 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(2) ) { v63 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v63 >= ZONEMAININFO::ReturnMinZoneLevelInfo(14) && (v64 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v64 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(14)) ) result = 1; else result = 2; } else if ( mPLAY[0].mWorldInfo.mTribeGuardState[2][0] ) { result = 2; } else { v65 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v65 >= ZONEMAININFO::ReturnMinZoneLevelInfo(14) && (v66 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v66 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(14)) ) result = 1; else result = 2; } return result; } if ( tFrom == 14 && tTo == 13 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(2) ) { v67 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v67 >= ZONEMAININFO::ReturnMinZoneLevelInfo(13) && (v68 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v68 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(13)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(2) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v69 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v69 <= 2 * PLAY::ReturnTribePointWithAlliance(2)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[2][1] ) { result = 2; } else { v70 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v70 >= ZONEMAININFO::ReturnMinZoneLevelInfo(13) && (v71 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v71 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(13)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 13 && tTo == 12 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(2) ) { v72 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v72 >= ZONEMAININFO::ReturnMinZoneLevelInfo(12) && (v73 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v73 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(12)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(2) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v74 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v74 <= 2 * PLAY::ReturnTribePointWithAlliance(2)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[2][2] ) { result = 2; } else { v75 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v75 >= ZONEMAININFO::ReturnMinZoneLevelInfo(12) && (v76 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v76 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(12)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 12 && tTo == 11 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(2) ) { v77 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v77 >= ZONEMAININFO::ReturnMinZoneLevelInfo(11) && (v78 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v78 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(11)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(2) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v79 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v79 <= 2 * PLAY::ReturnTribePointWithAlliance(2)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[2][3] ) { result = 2; } else { v80 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v80 >= ZONEMAININFO::ReturnMinZoneLevelInfo(11) && (v81 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v81 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(11)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 75 && tTo == 79 || tFrom == 90 && tTo == 94 || tFrom == 201 && tTo == 205 ) { if ( mMYINFO[0].mUseAvatar.aTribe != 3 && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(3) ) return 0; v82 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v82 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v83 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v83 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) ) result = 1; else result = 2; return result; } if ( tFrom == 38 && tTo == 143 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(3) ) { v84 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v84 >= ZONEMAININFO::ReturnMinZoneLevelInfo(143) && (v85 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v85 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(143)) ) result = 1; else result = 2; } else if ( mPLAY[0].mWorldInfo.mTribeGuardState[3][0] ) { result = 2; } else { v86 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v86 >= ZONEMAININFO::ReturnMinZoneLevelInfo(143) && (v87 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v87 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(143)) ) result = 1; else result = 2; } return result; } if ( tFrom == 143 && tTo == 142 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(3) ) { v88 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v88 >= ZONEMAININFO::ReturnMinZoneLevelInfo(142) && (v89 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v89 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(142)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(3) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v90 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v90 <= 2 * PLAY::ReturnTribePointWithAlliance(3)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[3][1] ) { result = 2; } else { v91 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v91 >= ZONEMAININFO::ReturnMinZoneLevelInfo(142) && (v92 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v92 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(142)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 142 && tTo == 141 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(3) ) { v93 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v93 >= ZONEMAININFO::ReturnMinZoneLevelInfo(141) && (v94 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v94 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(141)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(3) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v95 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v95 <= 2 * PLAY::ReturnTribePointWithAlliance(3)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[3][2] ) { result = 2; } else { v96 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v96 >= ZONEMAININFO::ReturnMinZoneLevelInfo(141) && (v97 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v97 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(141)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 141 && tTo == 140 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 || mMYINFO[0].mUseAvatar.aTribe == PLAY::ReturnAllianceTribe(3) ) { v98 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v98 >= ZONEMAININFO::ReturnMinZoneLevelInfo(140) && (v99 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v99 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(140)) ) result = 1; else result = 2; } else if ( PLAY::ReturnTribePointWithAlliance(3) >= 100 ) { if ( mPLAY[0].mWorldInfo.mTribeSymbolBattle || (v100 = PLAY::ReturnTribePointWithAlliance(mMYINFO[0].mUseAvatar.aTribe), v100 <= 2 * PLAY::ReturnTribePointWithAlliance(3)) ) { if ( mPLAY[0].mWorldInfo.mTribeGuardState[3][3] ) { result = 2; } else { v101 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v101 >= ZONEMAININFO::ReturnMinZoneLevelInfo(140) && (v102 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v102 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(140)) ) result = 1; else result = 2; } } else { result = 2; } } else { result = 2; } return result; } if ( tFrom == 38 && tTo == 39 || tFrom == 38 && tTo == 144 || tFrom == 38 && tTo == 145 || tFrom == 38 && tTo == 310 ) { if ( tTo == 310 ) { if ( mMYINFO[0].mUseAvatar.aZone038Ticket > 0 || mMYINFO[0].mUseAvatar.aTribe == mPLAY[0].mWorldInfo.mZone038WinTribe ) { v103 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; result = 0; if ( v103 >= ZONEMAININFO::ReturnMinZoneLevelInfo(310) ) { v104 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v104 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(310) ) result = 1; } return result; } return 2; } if ( mMYINFO[0].mUseAvatar.aTribe != mPLAY[0].mWorldInfo.mZone038WinTribe && mMYINFO[0].mUseAvatar.aTribe != PLAY::ReturnAllianceTribe(mPLAY[0].mWorldInfo.mZone038WinTribe) ) return 2; v105 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; result = 0; if ( v105 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) ) { v106 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v106 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo) ) result = 1; } } else if ( tFrom == 195 && tTo == 1 || tFrom == 196 && tTo == 1 || tFrom == 197 && tTo == 1 || tFrom == 198 && tTo == 1 || tFrom == 199 && tTo == 1 || tFrom == 85 && tTo == 1 || tFrom == 86 && tTo == 1 || tFrom == 87 && tTo == 1 || tFrom == 99 && tTo == 1 || tFrom == 100 && tTo == 1 || tFrom == 118 && tTo == 1 || tFrom == 302 && tTo == 1 || tFrom == 304 && tTo == 1 || tFrom == 340 && tTo == 1 || tFrom == 341 && tTo == 1 || tFrom == 345 && tTo == 1 ) { if ( mMYINFO[0].mUseAvatar.aTribe ) result = 2; else result = 1; } else if ( tFrom == 195 && tTo == 6 || tFrom == 196 && tTo == 6 || tFrom == 197 && tTo == 6 || tFrom == 198 && tTo == 6 || tFrom == 199 && tTo == 6 || tFrom == 85 && tTo == 6 || tFrom == 86 && tTo == 6 || tFrom == 87 && tTo == 6 || tFrom == 99 && tTo == 6 || tFrom == 100 && tTo == 6 || tFrom == 118 && tTo == 6 || tFrom == 302 && tTo == 6 || tFrom == 305 && tTo == 6 || tFrom == 340 && tTo == 6 || tFrom == 341 && tTo == 6 || tFrom == 345 && tTo == 6 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 ) result = 1; else result = 2; } else if ( tFrom == 195 && tTo == 11 || tFrom == 196 && tTo == 11 || tFrom == 197 && tTo == 11 || tFrom == 198 && tTo == 11 || tFrom == 199 && tTo == 11 || tFrom == 85 && tTo == 11 || tFrom == 86 && tTo == 11 || tFrom == 87 && tTo == 11 || tFrom == 99 && tTo == 11 || tFrom == 100 && tTo == 11 || tFrom == 118 && tTo == 11 || tFrom == 302 && tTo == 11 || tFrom == 306 && tTo == 11 || tFrom == 340 && tTo == 11 || tFrom == 341 && tTo == 11 || tFrom == 345 && tTo == 11 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 ) result = 1; else result = 2; } else if ( tFrom == 196 && tTo == 140 || tFrom == 197 && tTo == 140 || tFrom == 198 && tTo == 140 || tFrom == 199 && tTo == 140 || tFrom == 85 && tTo == 140 || tFrom == 86 && tTo == 140 || tFrom == 87 && tTo == 140 || tFrom == 99 && tTo == 140 || tFrom == 100 && tTo == 140 || tFrom == 118 && tTo == 140 || tFrom == 302 && tTo == 140 || tFrom == 307 && tTo == 140 || tFrom == 340 && tTo == 140 || tFrom == 341 && tTo == 140 || tFrom == 345 && tTo == 140 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 ) result = 1; else result = 2; } else if ( tFrom == 170 && tTo == 1 || tFrom == 50 && tTo == 1 || tFrom == 52 && tTo == 1 ) { if ( mMYINFO[0].mUseAvatar.aTribe ) result = 2; else result = 1; } else if ( tFrom == 170 && tTo == 6 || tFrom == 50 && tTo == 6 || tFrom == 52 && tTo == 6 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 ) result = 1; else result = 2; } else if ( tFrom == 170 && tTo == 11 || tFrom == 50 && tTo == 11 || tFrom == 52 && tTo == 11 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 ) result = 1; else result = 2; } else if ( tFrom == 170 && tTo == 140 || tFrom == 50 && tTo == 140 || tFrom == 52 && tTo == 140 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 ) result = 1; else result = 2; } else if ( tFrom == 210 && tTo == 222 || tFrom == 211 && tTo == 223 || tFrom == 212 && tTo == 224 ) { if ( mMYINFO[0].mUseAvatar.aTribe ) { result = 2; } else if ( mMYINFO[0].mLoginPremium == 2 || mMYINFO[0].mUseAvatar.aZone126Time > 0 || mMYINFO[0].mUseAvatar.aPremium > 0 || mMYINFO[0].mLoginPremium == 3 ) { result = 1; } else { result = 2; } } else if ( tFrom == 222 && tTo == 210 || tFrom == 223 && tTo == 211 || tFrom == 224 && tTo == 212 ) { if ( mMYINFO[0].mUseAvatar.aTribe ) result = 2; else result = 1; } else if ( tFrom == 213 && tTo == 225 || tFrom == 214 && tTo == 226 || tFrom == 215 && tTo == 227 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 ) { if ( mMYINFO[0].mLoginPremium == 2 || mMYINFO[0].mUseAvatar.aZone126Time > 0 || mMYINFO[0].mUseAvatar.aPremium > 0 || mMYINFO[0].mLoginPremium == 3 ) result = 1; else result = 2; } else { result = 2; } } else if ( tFrom == 225 && tTo == 213 || tFrom == 226 && tTo == 214 || tFrom == 227 && tTo == 215 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 1 ) result = 1; else result = 2; } else if ( tFrom == 216 && tTo == 228 || tFrom == 217 && tTo == 229 || tFrom == 218 && tTo == 230 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 ) { if ( mMYINFO[0].mLoginPremium == 2 || mMYINFO[0].mUseAvatar.aZone126Time > 0 || mMYINFO[0].mUseAvatar.aPremium > 0 || mMYINFO[0].mLoginPremium == 3 ) result = 1; else result = 2; } else { result = 2; } } else if ( tFrom == 228 && tTo == 216 || tFrom == 229 && tTo == 217 || tFrom == 230 && tTo == 218 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 2 ) result = 1; else result = 2; } else if ( tFrom == 219 && tTo == 231 || tFrom == 220 && tTo == 232 || tFrom == 221 && tTo == 233 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 ) { if ( mMYINFO[0].mLoginPremium == 2 || mMYINFO[0].mUseAvatar.aZone126Time > 0 || mMYINFO[0].mUseAvatar.aPremium > 0 || mMYINFO[0].mLoginPremium == 3 ) result = 1; else result = 2; } else { result = 2; } } else if ( tFrom == 231 && tTo == 219 || tFrom == 232 && tTo == 220 || tFrom == 233 && tTo == 221 ) { if ( mMYINFO[0].mUseAvatar.aTribe == 3 ) result = 1; else result = 2; } else if ( tFrom == 234 && tTo == 235 ) { if ( mMYINFO[0].mUseAvatar.aZone235Time >= 1 ) result = 1; else result = 2; } else if ( tFrom == 234 && tTo == 236 ) { if ( mMYINFO[0].mUseAvatar.aZone236Time >= 1 ) result = 1; else result = 2; } else if ( tFrom == 234 && tTo == 237 ) { if ( mMYINFO[0].mUseAvatar.aZone237Time >= 1 ) result = 1; else result = 2; } else if ( tFrom == 234 && tTo == 238 ) { if ( mMYINFO[0].mUseAvatar.aZone238Time >= 1 ) result = 1; else result = 2; } else if ( tFrom == 234 && tTo == 239 ) { if ( mMYINFO[0].mUseAvatar.aZone239Time >= 1 ) result = 1; else result = 2; } else if ( tFrom == 234 && tTo == 240 ) { if ( mMYINFO[0].mUseAvatar.aZone240Time >= 1 ) result = 1; else result = 2; } else if ( tFrom == 235 && tTo == 234 || tFrom == 236 && tTo == 234 || tFrom == 237 && tTo == 234 || tFrom == 238 && tTo == 234 || tFrom == 239 && tTo == 234 || tFrom == 240 && tTo == 234 ) { result = 1; } else if ( tFrom == 74 && tTo == 303 || tFrom == 303 && tTo == 74 ) { v107 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1; if ( v107 >= ZONEMAININFO::ReturnMinZoneLevelInfo(tTo) && (v108 = mMYINFO[0].mUseAvatar.aLevel2 + mMYINFO[0].mUseAvatar.aLevel1, v108 <= ZONEMAININFO::ReturnMaxZoneLevelInfo(tTo)) && mMYINFO[0].mUseAvatar.aRebirthNum == 12 && (mMYINFO[0].mUseAvatar.aTribe == mPLAY[0].mWorldInfo.mZone038WinTribe || PLAY::ReturnAllianceTribe(mMYINFO[0].mUseAvatar.aTribe) == mPLAY[0].mWorldInfo.mZone038WinTribe) ) result = 1; else result = 2; } else { result = 0; } return result; } int __stdcall ZONEMOVEINFO::ReturnNextZone(int tZoneNumber, float tCoord[3]) { ZONEMOVEINFO *v2; // ecx ZONEMOVEINFO *v4; // [esp+0h] [ebp-8h] int i; // [esp+4h] [ebp-4h] v4 = v2; if ( tZoneNumber < 1 || tZoneNumber > 350 ) return -1; for ( i = 0; i < v4->mDATA[tZoneNumber - 1].mNextZoneNum; ++i ) { if ( UTIL::ReturnLengthXYZ(v4->mDATA[tZoneNumber - 1].mXYZ[i], tCoord) < 30.0 && ZONEMOVEINFO::ReturnMoveZone(tZoneNumber, v4->mDATA[tZoneNumber - 1].mNextZone[i]) == 1 ) return v4->mDATA[tZoneNumber - 1].mNextZone[i]; } return -1; } int __stdcall ZONEMOVEINFO::ReturnNextZoneAfterDeath(int tTribe, int tZoneNumber) { int v2; // esi int result; // eax int v4; // [esp+4h] [ebp-18h] int v5; // [esp+8h] [ebp-14h] int v6; // [esp+Ch] [ebp-10h] int v7; // [esp+10h] [ebp-Ch] if ( ZONEMAININFO::ReturnZoneTribeInfo1(tZoneNumber) == -1 ) return tZoneNumber; if ( ZONEMAININFO::ReturnZoneTribeInfo1(tZoneNumber) == tTribe ) return tZoneNumber; v2 = ZONEMAININFO::ReturnZoneTribeInfo1(tZoneNumber); if ( v2 == PLAY::ReturnAllianceTribe(tTribe) ) return tZoneNumber; switch ( tTribe ) { case 0: v7 = ZONEMAININFO::ReturnZoneTribeInfo1(tZoneNumber); if ( v7 <= 0 || v7 > 3 ) result = 1; else result = 38; break; case 1: v6 = ZONEMAININFO::ReturnZoneTribeInfo1(tZoneNumber); if ( v6 && (v6 <= 1 || v6 > 3) ) result = 6; else result = 38; break; case 2: v5 = ZONEMAININFO::ReturnZoneTribeInfo1(tZoneNumber); if ( v5 >= 0 && (v5 <= 1 || v5 == 3) ) result = 38; else result = 11; break; case 3: v4 = ZONEMAININFO::ReturnZoneTribeInfo1(tZoneNumber); if ( v4 < 0 || v4 > 2 ) result = 140; else result = 38; break; default: result = 0; break; } return result; } void __stdcall ZONEMOVEINFO::DrawZonePortal(int tSort) { ZONEMOVEINFO *v1; // ecx ZONEMOVEINFO *v2; // [esp+18h] [ebp-30h] float pFrame; // [esp+1Ch] [ebp-2Ch] float tCoord[3]; // [esp+20h] [ebp-28h] BYREF float tAngle[3]; // [esp+2Ch] [ebp-1Ch] BYREF int v6; // [esp+38h] [ebp-10h] int i; // [esp+3Ch] [ebp-Ch] int v8; // [esp+40h] [ebp-8h] int v9; // [esp+44h] [ebp-4h] v2 = v1; for ( i = 0; i < v2->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mNextZoneNum; ++i ) { v9 = ZONEMOVEINFO::ReturnMoveZone(mMYINFO[0].mPresentZoneNumber, v2->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mNextZone[i]); if ( v9 ) { if ( v9 == 1 ) { if ( mMYINFO[0].mUseAvatar.aPreviousTribe ) { if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 1 ) { v6 = 123; } else if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 2 ) { v6 = 124; } } else { v6 = 122; } } else { v6 = 149; } v8 = GMOBJECT::GetTotalFrameNum(&mGDATA[0].mMOB_005[v6], 0); if ( v8 >= 1 ) { pFrame = ((mApp[0].hPresentElapsedSeconds * 30.0) % v8); tCoord[0] = v2->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][0]; tCoord[1] = v2->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][1]; tCoord[2] = v2->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][2]; memset(tAngle, 0, sizeof(tAngle)); GMOBJECT::DisplayMObject(&mGDATA[0].mMOB_005[v6], tSort, pFrame, tCoord, tAngle, 0); } } } } void __stdcall ZONEMOVEINFO::DrawZonePortalForMinimap(int a2) { ZONEMOVEINFO *v1; // ecx WORD v2; // ax WORD v3; // ax WORD v4; // ax WORD v5; // ax int v6; // [esp-4h] [ebp-74h] int v7; // [esp-4h] [ebp-74h] int v8; // [esp-4h] [ebp-74h] int v9; // [esp-4h] [ebp-74h] ZONEMOVEINFO *v10; // [esp+18h] [ebp-58h] int v11; // [esp+1Ch] [ebp-54h] signed int v12; // [esp+20h] [ebp-50h] signed int v13; // [esp+24h] [ebp-4Ch] int v14; // [esp+30h] [ebp-40h] int v15; // [esp+34h] [ebp-3Ch] float v16; // [esp+38h] [ebp-38h] float v17; // [esp+3Ch] [ebp-34h] float v18; // [esp+40h] [ebp-30h] float v19; // [esp+44h] [ebp-2Ch] int v20; // [esp+48h] [ebp-28h] int v21; // [esp+4Ch] [ebp-24h] int i; // [esp+50h] [ebp-20h] int v23; // [esp+54h] [ebp-1Ch] float v24; // [esp+5Ch] [ebp-14h] float v25; // [esp+5Ch] [ebp-14h] float v26; // [esp+5Ch] [ebp-14h] float v27; // [esp+5Ch] [ebp-14h] int v28; // [esp+60h] [ebp-10h] int v29; // [esp+64h] [ebp-Ch] int v30; // [esp+68h] [ebp-8h] int v31; // [esp+6Ch] [ebp-4h] v10 = v1; if ( a2 ) { if ( a2 == 1 ) { if ( mMYINFO[0].mUseAvatar.aPreviousTribe ) { if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 1 ) { v15 = 1939; } else if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 2 ) { v15 = 1942; } } else { v15 = 1936; } } else if ( a2 == 2 ) { if ( mMYINFO[0].mUseAvatar.aPreviousTribe ) { if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 1 ) { v15 = 1940; } else if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 2 ) { v15 = 1943; } } else { v15 = 1937; } } } else if ( mMYINFO[0].mUseAvatar.aPreviousTribe ) { if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 1 ) { v15 = 1938; } else if ( mMYINFO[0].mUseAvatar.aPreviousTribe == 2 ) { v15 = 1941; } } else { v15 = 1935; } v16 = mGDATA[0].mZONE.mWORLD.mQuadtree->mBoxMin[0]; v17 = mGDATA[0].mZONE.mWORLD.mQuadtree->mBoxMax[0]; v18 = -mGDATA[0].mZONE.mWORLD.mQuadtree->mBoxMax[2]; v19 = -mGDATA[0].mZONE.mWORLD.mQuadtree->mBoxMin[2]; v12 = mGDATA[0].mZONE.mMINIMAP[a2].mTextureInfo.Width; v13 = mGDATA[0].mZONE.mMINIMAP[a2].mTextureInfo.Height; v31 = mMYINFO[0].mScreenXSize - GIMAGE2D::GetXSize(&mGDATA[0].mUI_MAIN[241]); if ( a2 >= 0 ) { if ( a2 <= 1 ) { v24 = -mPLAY[0].mAVATAR_OBJECT[0].mDATA.aAction.aLocation[2]; v11 = (v13 * (v24 - v18) / (v19 - v18)); v21 = (v12 * (mPLAY[0].mAVATAR_OBJECT[0].mDATA.aAction.aLocation[0] - v16) / (v17 - v16)) - 72; if ( v21 >= 0 ) { if ( v21 > v12 - 145 ) v21 = v12 - 145; } else { v21 = 0; } v30 = v11 - 64; if ( v11 - 64 >= 0 ) { if ( v30 > v13 - 128 ) v30 = v13 - 128; } else { v30 = 0; } v23 = v21; v14 = v30; } else if ( a2 == 2 ) { v23 = 0; v14 = 0; } } for ( i = 0; i < v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mNextZoneNum; ++i ) { v28 = ZONEMOVEINFO::ReturnMoveZone(mMYINFO[0].mPresentZoneNumber, v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mNextZone[i]); if ( !v28 ) continue; if ( a2 ) { if ( a2 == 1 ) { v26 = -v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][2]; v20 = v31 + (v12 * (v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][0] - v16) / (v17 - v16)) + 4 - v23; v29 = (v13 * (v26 - v18) / (v19 - v18)) + 42 - v14; if ( v20 >= v31 + 4 && v20 <= v31 + 150 && v29 >= 42 && v29 <= 168 ) { if ( v28 != 1 ) { v7 = v29 - GIMAGE2D::GetYSize(&mGDATA[0].mUI_MAIN[2418]) / 2; v3 = GIMAGE2D::GetXSize(&mGDATA[0].mUI_MAIN[2418]); GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2418], v20 - v3 / 2, v7); continue; } goto LABEL_69; } } else if ( a2 == 2 ) { v27 = -v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][2]; v20 = v31 + (v12 * (v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][0] - v16) / (v17 - v16)) + 4 - v23; v29 = (v13 * (v27 - v18) / (v19 - v18)) + 42 - v14; if ( v20 >= v31 + 4 && v20 <= v31 + 150 && v29 >= 42 && v29 <= 168 ) { if ( v28 == 1 ) goto LABEL_69; v9 = v29 - GIMAGE2D::GetYSize(&mGDATA[0].mUI_MAIN[2419]) / 2; v5 = GIMAGE2D::GetXSize(&mGDATA[0].mUI_MAIN[2419]); GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2419], v20 - v5 / 2, v9); } } } else { v25 = -v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][2]; v20 = v31 + (v12 * (v10->mDATA[mMYINFO[0].mPresentZoneNumber - 1].mXYZ[i][0] - v16) / (v17 - v16)) + 4 - v23; v29 = (v13 * (v25 - v18) / (v19 - v18)) + 42 - v14; if ( v20 >= v31 + 4 && v20 <= v31 + 150 && v29 >= 42 && v29 <= 168 ) { if ( v28 != 1 ) { v6 = v29 - GIMAGE2D::GetYSize(&mGDATA[0].mUI_MAIN[2417]) / 2; v2 = GIMAGE2D::GetXSize(&mGDATA[0].mUI_MAIN[2417]); GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2417], v20 - v2 / 2, v6); continue; } LABEL_69: v8 = v29 - GIMAGE2D::GetYSize(&mGDATA[0].mUI_MAIN[v15]) / 2; v4 = GIMAGE2D::GetXSize(&mGDATA[0].mUI_MAIN[v15]); GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[v15], v20 - v4 / 2, v8); continue; } } } }