diff options
Diffstat (limited to 'src/levels/level5.c')
-rw-r--r-- | src/levels/level5.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/levels/level5.c b/src/levels/level5.c index d08cec6..bc29b29 100644 --- a/src/levels/level5.c +++ b/src/levels/level5.c @@ -35,7 +35,8 @@ void closelevel5(Levels * levels) { bool updateLevel5(Game * game, Levels * levels) { Level5 * data = (Level5*)levels->data; bool levelDone = false; - Vector3 playerPosition = getEntityFromWorld(game->world, 0)->position; + Entity * player = getEntityFromWorld(game->world, 0); + Vector3 playerPosition = player->position; switch (data->stage) { case 0: @@ -60,11 +61,16 @@ bool updateLevel5(Game * game, Levels * levels) { break; case 1: if (game->world.entitiesCount == 1) { + float distanceFromPlayer = 1500.0; + addEntityGroupToWorld( game, ENTITY_SOLDATO, 10, - Vector3Add((Vector3){1000.0, 0.0, 1000.0}, playerPosition), + Vector3Add( + Vector3Scale(Vector3RotateByQuaternion((Vector3){0.5, 0.0, 1.0}, player->rotation), distanceFromPlayer), + playerPosition + ), (Vector3){0.0, 10.0, 10.0} ); |