MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Sprite_Handle_Bonus_RankHomingInvin_Squad

Method Sprite_Handle_Bonus_RankHomingInvin_Squad

Source/Fodder.cpp:14103–14133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14101}
14102
14103void cFodder::Sprite_Handle_Bonus_RankHomingInvin_Squad(sSprite* pSprite) {
14104
14105 if (pSprite->field_38) {
14106 pSprite->field_18 = eSprite_Explosion;
14107 return;
14108 }
14109
14110 int16 Data0 = 0;
14111 pSprite->field_8 = 0xE6;
14112 pSprite->field_A = 0;
14113 if (Map_Get_Distance_Between_Sprite_And_Squadleader(pSprite, Data0))
14114 return;
14115
14116 if (mSquad_Selected < 0)
14117 return;
14118
14119 sSprite** Data28 = mSquads[mSquad_Selected];
14120 for (; *Data28 != INVALID_SPRITE_PTR;) {
14121
14122 sSprite* Data2C = *Data28++;
14123 Data2C->field_75 |= (eSprite_Flag_HomingMissiles | eSprite_Flag_Invincibility);
14124
14125 Data2C->field_46_mission_troop->mRank = 0x0F;
14126 }
14127
14128 mGUI_Sidebar_Setup = 0;
14129 mGUI_RefreshSquadRockets[mSquad_Selected] = -1;
14130 mSquad_Rockets[mSquad_Selected] = 0x32;
14131
14132 Sprite_Destroy_Wrapper(pSprite);
14133}
14134
14135void cFodder::Sprite_Handle_Helicopter_CallPad(sSprite* pSprite) {
14136 sSprite* Data2C = 0;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected