aboutsummaryrefslogtreecommitdiffstats
path: root/src/entity.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/entity.c')
-rw-r--r--src/entity.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/entity.c b/src/entity.c
index f6d51bf..fa3a414 100644
--- a/src/entity.c
+++ b/src/entity.c
@@ -228,10 +228,23 @@ void setEntityPosition(Entity* entity, Vector3 position)
void placeEntityOnGround(Entity* entity, const World* world)
{
Vector3 position = entity->position;
+
+ if (entity->id == ENTITY_NONE)
+ {
+ return;
+ }
position.y = getWorldHeightAtLocation(
world, entity->position.x, entity->position.z);
- position.y += (entity->box.max.y - entity->box.min.y) / 2.0;
+
+ if (entityIsBuilding(entity->id))
+ {
+ position.y += ENTITY_BUILDING_GROUND_OFFSET;
+ }
+ else
+ {
+ position.y += (entity->box.max.y - entity->box.min.y) / 2.0;
+ }
setEntityPosition(entity, position);
}