| 11869 | } |
| 11870 | |
| 11871 | void cFodder::Sprite_Handle_GroundHole(sSprite* pSprite) { |
| 11872 | if (!mEnemy_BuildingCount) |
| 11873 | return; |
| 11874 | |
| 11875 | if (pSprite->field_2A) { |
| 11876 | //loc_1B194 |
| 11877 | sSprite* Data2C = 0; |
| 11878 | |
| 11879 | if (!Sprite_Create_Enemy(pSprite, Data2C)) { |
| 11880 | Data2C->field_0 += 6; |
| 11881 | Data2C->field_4 -= 5; |
| 11882 | Data2C->field_52 = 0x0C; |
| 11883 | } |
| 11884 | |
| 11885 | pSprite->field_2A = 0; |
| 11886 | return; |
| 11887 | } |
| 11888 | |
| 11889 | pSprite->field_2C = eSprite_Draw_First; |
| 11890 | if (pSprite->field_43 < 0) { |
| 11891 | //loc_1B161 |
| 11892 | pSprite->field_12 -= 1; |
| 11893 | if (pSprite->field_12 >= 0) |
| 11894 | return; |
| 11895 | |
| 11896 | int16 Data0 = tool_RandomGet() & 0x0F; |
| 11897 | Data0 += 6; |
| 11898 | pSprite->field_43 = static_cast<int8>(Data0); |
| 11899 | pSprite->field_2A = 0; |
| 11900 | return; |
| 11901 | } |
| 11902 | |
| 11903 | pSprite->field_43 -= 1; |
| 11904 | if (pSprite->field_43 != 0x14 && pSprite->field_43 != 0x0A) { |
| 11905 | |
| 11906 | if (pSprite->field_43 >= 0) |
| 11907 | return; |
| 11908 | } |
| 11909 | |
| 11910 | //loc_1B11A |
| 11911 | pSprite->field_2A = -1; |
| 11912 | pSprite->field_A = 0; |
| 11913 | |
| 11914 | int16 Data0 = tool_RandomGet() & 0xFF; |
| 11915 | int16 Data4 = 0x64; |
| 11916 | Data4 -= mGame_Data.mGamePhase_Data.mSprite_Enemy_AggressionAverage; |
| 11917 | Data0 += 0x0A; |
| 11918 | Data4 += mGame_Data.mGamePhase_Data.mSprite_Enemy_AggressionAverage; |
| 11919 | |
| 11920 | pSprite->field_12 = Data0; |
| 11921 | return; |
| 11922 | } |
| 11923 | |
| 11924 | void cFodder::Sprite_Handle_BuildingDoor2(sSprite* pSprite) { |
| 11925 | int16 Data0, Data4; |
nothing calls this directly
no outgoing calls
no test coverage detected