| 15075 | } |
| 15076 | |
| 15077 | int16 cFodder::Sprite_Troop_Dies(sSprite* pSprite) { |
| 15078 | sMission_Troop* Troop = 0; |
| 15079 | |
| 15080 | // Is Player? |
| 15081 | if (pSprite->field_22 == eSprite_PersonType_Human) { |
| 15082 | //Yes, is player |
| 15083 | |
| 15084 | ++mGame_Data.mScore_Kills_Away; |
| 15085 | |
| 15086 | if (pSprite->field_46_mission_troop) { |
| 15087 | |
| 15088 | mGame_Data.Soldier_Died(pSprite->field_46_mission_troop); |
| 15089 | |
| 15090 | pSprite->field_46_mission_troop->mSprite = INVALID_SPRITE_PTR; |
| 15091 | pSprite->field_46_mission_troop->mRecruitID = -1; |
| 15092 | pSprite->field_46_mission_troop->mRank = 0; |
| 15093 | } |
| 15094 | |
| 15095 | if (mSquad_Selected < 0) { |
| 15096 | mGUI_Sidebar_Setup = 0; |
| 15097 | mSquad_Select_Timer = 0; |
| 15098 | } |
| 15099 | else { |
| 15100 | mGUI_Sidebar_Setup = 0; |
| 15101 | } |
| 15102 | |
| 15103 | //loc_1F03D |
| 15104 | return Sprite_Destroy_Wrapper(pSprite); |
| 15105 | } |
| 15106 | |
| 15107 | if (pSprite->field_18 == eSprite_Enemy_Rocket || pSprite->field_18 == eSprite_Enemy) { |
| 15108 | |
| 15109 | ++mGame_Data.mScore_Kills_Home; |
| 15110 | --mTroops_Enemy_Count; |
| 15111 | if (pSprite->field_5D) { |
| 15112 | pSprite->field_5D = 0; |
| 15113 | |
| 15114 | // Default to first human soldier |
| 15115 | Troop = mGame_Data.mSoldiers_Allocated; |
| 15116 | |
| 15117 | if (pSprite->field_5E_SoldierAllocated) { |
| 15118 | Troop = pSprite->field_5E_SoldierAllocated; |
| 15119 | goto loc_1F1E9; |
| 15120 | } |
| 15121 | } |
| 15122 | |
| 15123 | // Sprite didnt have a soldier who killed it attached |
| 15124 | if (mSquad_Selected != -1) { |
| 15125 | //loc_1F13E |
| 15126 | // use the first squad member |
| 15127 | if (mSquads[mSquad_Selected][0] != INVALID_SPRITE_PTR && mSquads[mSquad_Selected][0] != 0) |
| 15128 | Troop = mSquads[mSquad_Selected][0]->field_46_mission_troop; |
| 15129 | } |
| 15130 | loc_1F1E9:; |
| 15131 | |
| 15132 | if (Troop >= mGame_Data.mSoldiers_Allocated && Troop <= &mGame_Data.mSoldiers_Allocated[8]) { |
| 15133 | |
| 15134 | if (Troop->mNumberOfKills >= 999) |
nothing calls this directly
no test coverage detected