MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / CanTargetPlayer

Function CanTargetPlayer

TombEngine/Objects/TR1/Entity/WingedMutant.cpp:157–176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

155 }
156
157 static WingedMutantProjectileType CanTargetPlayer(ItemInfo& item, AI_INFO& ai)
158 {
159 if (Targetable(&item, &ai) &&
160 (ai.zoneNumber != ai.enemyZone || ai.distance > WINGED_MUTANT_PROJECTILE_ATTACK_RANGE))
161 {
162 if ((ai.angle > 0 && ai.angle < ANGLE(45.0f)) &&
163 item.TestFlagField(WMUTANT_CONF_DISABLE_DART_WEAPON, false) && Objects[GAME_OBJECT_ID::ID_PROJ_SHARD].loaded)
164 {
165 return WMUTANT_PROJ_SHARD;
166 }
167 else if ((ai.angle < 0 && ai.angle > ANGLE(-45.0f)) &&
168 item.TestFlagField(WMUTANT_CONF_DISABLE_BOMB_WEAPON, false) && Objects[GAME_OBJECT_ID::ID_PROJ_BOMB].loaded)
169 {
170 return WMUTANT_PROJ_BOMB;
171 }
172 }
173
174 // Cannot be targeted.
175 return WMUTANT_PROJ_NONE;
176 }
177
178 static void InitializeWingedMutantOCB(ItemInfo& item)
179 {

Callers 1

ControlWingedMutantFunction · 0.85

Calls 3

TargetableFunction · 0.85
ANGLEFunction · 0.85
TestFlagFieldMethod · 0.80

Tested by

no test coverage detected