| 8299 | } |
| 8300 | |
| 8301 | int16 cFodder::Squad_Member_Sprite_Hit_In_Region(sSprite* pSprite, int16 pData8, int16 pDataC, int16 pData10, int16 pData14) { |
| 8302 | int16 Data4; |
| 8303 | |
| 8304 | if (mPhase_Finished) { |
| 8305 | word_3AA45 = 0; |
| 8306 | return 0; |
| 8307 | } |
| 8308 | |
| 8309 | mSprites_Found_Count = 0; |
| 8310 | |
| 8311 | int16 Data0; |
| 8312 | |
| 8313 | for( auto& Troop : mGame_Data.mSoldiers_Allocated ) { |
| 8314 | |
| 8315 | if (Troop.mSprite == INVALID_SPRITE_PTR || Troop.mSprite == 0) |
| 8316 | continue; |
| 8317 | |
| 8318 | if (pData8 > (Troop.mSprite->field_0 + 9)) |
| 8319 | continue; |
| 8320 | |
| 8321 | if (pDataC < Troop.mSprite->field_0) |
| 8322 | continue; |
| 8323 | |
| 8324 | if (pData10 > (Troop.mSprite->field_4 - 6)) |
| 8325 | continue; |
| 8326 | |
| 8327 | if (pData14 < (Troop.mSprite->field_4 - 13)) |
| 8328 | continue; |
| 8329 | |
| 8330 | if (Troop.mSprite->field_20 >= 0x0B) |
| 8331 | continue; |
| 8332 | |
| 8333 | if (!word_3AA45) |
| 8334 | goto loc_2AD3D; |
| 8335 | |
| 8336 | if (Troop.mSprite->field_6E) |
| 8337 | continue; |
| 8338 | |
| 8339 | if (pSprite->field_3A <= 4) |
| 8340 | goto loc_2AD25; |
| 8341 | |
| 8342 | if (Troop.mSprite->field_52 >= 5) |
| 8343 | goto loc_2AD2D; |
| 8344 | |
| 8345 | if (Troop.mSprite->field_4F) |
| 8346 | goto loc_2AD2D; |
| 8347 | |
| 8348 | |
| 8349 | Data0 = Troop.mSprite->field_32; |
| 8350 | if (word_3BED5[Data0]) { |
| 8351 | loc_2AD25:; |
| 8352 | Data0 = 0; |
| 8353 | goto loc_2AD36; |
| 8354 | } |
| 8355 | |
| 8356 | loc_2AD2D:; |
| 8357 | Data0 = tool_RandomGet() & 7; |
| 8358 |
nothing calls this directly
no outgoing calls
no test coverage detected