diff options
| m--------- | external/RodeoKit | 0 | ||||
| -rw-r--r-- | src/enemies.c | 7 |
2 files changed, 6 insertions, 1 deletions
diff --git a/external/RodeoKit b/external/RodeoKit -Subproject 79cd0ac07a93fefbf59218ee77d44ea2501dfdd +Subproject d0763049dce1a32d9b85d39b77b090873337b7a diff --git a/src/enemies.c b/src/enemies.c index ad09e68..2640aae 100644 --- a/src/enemies.c +++ b/src/enemies.c @@ -262,10 +262,15 @@ random_enemy_create( ) { float spawn_coords[2]; + cvec_collision_2d_world_item_value* p = get_player_position(); + float player_coords[2] = {p->x, p->y}; + float player_radius = p->height * 2 + 100; for (int i = 0; i < 100; ++i) { spawn_coords[0] = (float)rodeo_random_double_get() * bounds.width + bounds.x; spawn_coords[1] = (float)rodeo_random_double_get() * bounds.height + bounds.y; - if (!coords_inside_wall(spawn_coords[0], spawn_coords[1])) { + float dist = glm_vec2_distance(spawn_coords, player_coords); + if (!coords_inside_wall(spawn_coords[0], spawn_coords[1]) && + dist > player_radius) { return spawn_enemy(spawn_coords[0], spawn_coords[1]); } } |
