diff --git a/data/rooms/02.txt b/data/rooms/02.txt index 6e1c6f7..d430dc7 100644 --- a/data/rooms/02.txt +++ b/data/rooms/02.txt @@ -20,36 +20,6 @@ actor{ movement: CW } -actor{ - name: BOX02 - bmp: caixes.gif - bmp-rect: 96 32 24 32 - bmp-offset: -8 36 - pos: 4 8 8 - size: 8 4 8 - movement: CW -} - -actor{ - name: BOX - bmp: caixes.gif - bmp-rect: 64 32 24 32 - bmp-offset: -8 36 - pos: 16 8 0 - size: 8 4 8 - movement: CW -} - -actor{ - name: BOX01 - bmp: caixes.gif - bmp-rect: 96 32 24 32 - bmp-offset: -8 36 - pos: 16 8 8 - size: 8 4 8 - movement: CW -} - actor{ name: KALLAX-A bmp: altres.gif @@ -68,7 +38,48 @@ actor{ pos: 8 24 0 size: 8 8 2 orient: YP - flags: MOVING + flags: REACTIVE MOVING DEADLY + react-mask: XP XN YP YN ZP ZN + movement: CW +} + +actor{ + name: BOX + bmp: caixes.gif + bmp-rect: 64 32 24 32 + bmp-offset: -8 36 + pos: 16 8 0 + size: 8 4 8 + movement: CW +} + +actor{ + name: BOX02 + bmp: caixes.gif + bmp-rect: 96 32 24 32 + bmp-offset: -8 36 + pos: 4 8 8 + size: 8 4 8 + movement: CW +} + +actor{ + name: BOX01 + bmp: caixes.gif + bmp-rect: 96 32 24 32 + bmp-offset: -8 36 + pos: 16 8 8 + size: 8 4 8 + movement: CW +} + +actor{ + name: KALLAX-A01 + bmp: altres.gif + bmp-rect: 0 48 24 27 + bmp-offset: 0 31 + pos: 0 12 8 + size: 4 12 8 movement: CW } @@ -117,16 +128,6 @@ actor{ movement: CW } -actor{ - name: KALLAX-A01 - bmp: altres.gif - bmp-rect: 0 48 24 27 - bmp-offset: 0 31 - pos: 0 12 8 - size: 4 12 8 - movement: CW -} - actor{ name: ROOMBA bmp: caixes.gif diff --git a/source/actor.cpp b/source/actor.cpp index 232b71d..9246aa4 100644 --- a/source/actor.cpp +++ b/source/actor.cpp @@ -459,7 +459,13 @@ namespace actor { uint8_t result = 0; if ( (act->flags & FLAG_PUSHABLE) && ( !(source->flags&FLAG_HERO) || (hero::getSkills()&SKILL_GLOVES) ) ) act->push |= push; - if ( (act->flags & FLAG_REACTIVE) && (act->react_mask & push) ) result = act->react_push; + if ( (act->flags & FLAG_REACTIVE) && (act->react_mask & push) ) + { + if (act->flags & FLAG_DEADLY) + source->push |= PUSH_KILL; + else + result = act->react_push; + } if (source->flags & FLAG_DEADLY) { result |= PUSH_KILL; }