fp: Add monkeys and carrying to portal
This commit is contained in:
@@ -754,6 +754,31 @@ FP_GameFindClosestEntityResult FP_Game_FindClosestEntityWithType(FP_Game *game,
|
||||
return result;
|
||||
}
|
||||
|
||||
static FP_GameFindClosestEntityResult FP_Game_FindClosestEntityWithType(FP_Game *game, FP_GameEntityHandle src, FP_GameEntityHandle *entities, Dqn_usize size)
|
||||
{
|
||||
FP_GameFindClosestEntityResult result = {};
|
||||
result.dist_squared = DQN_F32_MAX;
|
||||
result.pos = Dqn_V2_InitNx1(DQN_F32_MAX);
|
||||
|
||||
Dqn_V2 src_pos = FP_Game_CalcEntityWorldPos(game, src);
|
||||
DQN_FOR_UINDEX (index, size) {
|
||||
FP_GameEntityHandle entity_handle = entities[index];
|
||||
FP_GameEntity *entity = FP_Game_GetEntity(game, entity_handle);
|
||||
if (FP_Game_IsNilEntity(entity))
|
||||
continue;
|
||||
|
||||
Dqn_V2 pos = FP_Game_CalcEntityWorldPos(game, entity->handle);
|
||||
Dqn_f32 dist = Dqn_V2_LengthSq_V2x2(pos, src_pos);
|
||||
if (dist < result.dist_squared) {
|
||||
result.pos = pos;
|
||||
result.dist_squared = dist;
|
||||
result.entity = entity->handle;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static bool FP_Game_CanEntityAttack(FP_GameEntity *entity, uint64_t current_time_ms)
|
||||
{
|
||||
bool result = (current_time_ms - entity->last_attack_timestamp) >= entity->attack_cooldown_ms;
|
||||
|
||||
Reference in New Issue
Block a user