Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 1
- signed int __userpurge AI_EvalHarass@<eax>(int x1@<ecx>, int y1@<eax>, int playerID)
- {
- WORD v3; // ax
- WORD *v4; // ecx
- unsigned int totGrndStrength; // edi
- unsigned int totAirStrength; // esi
- int v7; // ebx
- int v8; // edi
- CUNIT *v9; // esi
- int v10; // ecx
- CSPRITE *v11; // ecx
- BYTE v12; // al
- signed int result; // eax
- unsigned int ai_grndStr; // [esp+4h] [ebp-10h]
- unsigned int ai_airStr; // [esp+8h] [ebp-Ch]
- unsigned int enemy_grndStr; // [esp+Ch] [ebp-8h]
- unsigned int enemy_airStr; // [esp+10h] [ebp-4h]
- if ( AI_AttackManager(playerID, x1, y1, 0, 0) )
- goto Return_0;
- v3 = AIScript_Controller[playerID].AI_AttackGroups[0];
- v4 = AIScript_Controller[playerID].AI_AttackGroups;
- totAirStrength = 0;
- totGrndStrength = 0;
- ai_airStr = 0;
- ai_grndStr = 0;
- if ( v3 )
- {
- do
- {
- totAirStrength += dword_6BB20C[v3];
- totGrndStrength += airStrengthSomething[v3 + 227];
- ++v4;
- v3 = *v4;
- }
- while ( *v4 );
- ai_grndStr = totGrndStrength;
- ai_airStr = totAirStrength;
- }
- v9 = FirstUnitPointer;
- v10 = *((unsigned __int16 *)&AI_RegionCaptains[playerID][(unsigned __int16)AIScript_Controller[playerID].AI_AttackGroup]
- - 25) << 6;
- v8 = *(int *)((char *)&SAI_Paths->regions[0].rgnCenterX + v10) >> 8;
- v7 = *(int *)((char *)&SAI_Paths->regions[0].rgnCenterY + v10) >> 8;
- enemy_grndStr = 0;
- for ( enemy_airStr = 0; v9; v9 = v9->next )
- {
- v11 = v9->sprite;
- if ( v11 )
- {
- if ( v9->mainOrderType )
- {
- v12 = v9->owner;
- if ( v12 == 11 )
- v12 = v11->owner;
- if ( !playerAlliance[playerID][v12]
- && (signed int)getDistanceFast(v9->sprite->position.x, v8, v9->sprite->position.y, v7) < 1024 )
- {
- enemy_airStr += (unsigned __int16)v9->airStrength;
- enemy_grndStr += (unsigned __int16)v9->groundStrength;
- }
- }
- }
- }
- if ( ai_airStr <= enemy_airStr && ai_grndStr <= enemy_grndStr )
- Return_0:
- result = 0;
- else
- result = 1;
- return result;
- }
Add Comment
Please, Sign In to add comment