From 6e6f28dd8e564070c3fa451044a71b42eed9255d Mon Sep 17 00:00:00 2001 From: Linus Probert Date: Mon, 15 Oct 2018 13:26:17 +0200 Subject: [PATCH] Prevent tiles with chests from falling. --- src/monster.c | 2 +- src/player.c | 3 ++- src/sprite.c | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/monster.c b/src/monster.c index 0138330..fb26ca0 100644 --- a/src/monster.c +++ b/src/monster.c @@ -586,7 +586,7 @@ monster_update(Monster *m, UpdateData *data) sprite_update(m->sprite, data); - if (m->sprite->state == SPRITE_STATE_FALLING && m->sprite->dim.width < 4) { + if (m->sprite->hidden == SPRITE_STATE_FALLING && m->sprite->hidden) { m->stats.hp = 0; player_monster_kill_check(data->player, m); return; diff --git a/src/player.c b/src/player.c index 3cfc016..0ea31cb 100644 --- a/src/player.c +++ b/src/player.c @@ -300,7 +300,8 @@ move(Player *player, RoomMatrix *matrix, Vector2d direction) lastPos.y < 10 && lastSpace->decoration == NULL && lastSpace->trap == NULL && - lastSpace->objects == NULL + lastSpace->objects == NULL && + lastSpace->items == NULL ) map_trigger_tile_fall(lastSpace->tile); } diff --git a/src/sprite.c b/src/sprite.c index a78cb0c..5f581d6 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -136,8 +136,10 @@ sprite_update(Sprite *s, UpdateData *data) s->dim.height /2 }; } - if (s->dim.width < 4) + if (s->dim.width < 4) { s->hidden = true; + s->state = SPRITE_STATE_DEFAULT; + } } }