- [NEW][FIX] Ja funcionen correctament tant les eixides per dalt com per baix
This commit is contained in:
@@ -7,6 +7,7 @@ wall-texture: 0
|
||||
door-texture: 0
|
||||
under-door-texture: 0
|
||||
exit-xn: 5
|
||||
exit-zp: 7
|
||||
|
||||
actor{
|
||||
name: YONKI
|
||||
@@ -53,3 +54,15 @@ actor{
|
||||
size: 8 8 8
|
||||
movement: CW
|
||||
}
|
||||
|
||||
actor{
|
||||
name: LIFT
|
||||
bmp: caixes.gif
|
||||
bmp-rect: 32 32 32 24
|
||||
bmp-offset: 0 24
|
||||
pos: 56 0 0
|
||||
size: 8 8 4
|
||||
orient: ZP
|
||||
flags: MOVING
|
||||
movement: Z
|
||||
}
|
||||
|
||||
20
data/rooms/07.txt
Normal file
20
data/rooms/07.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
width: 3
|
||||
height: 3
|
||||
color: CYAN
|
||||
floor-texture: 0
|
||||
wall-texture: 0
|
||||
door-texture: 0
|
||||
under-door-texture: 0
|
||||
exit-zn: 6
|
||||
|
||||
actor{
|
||||
name: LIFT
|
||||
bmp: caixes.gif
|
||||
bmp-rect: 32 32 32 24
|
||||
bmp-offset: 0 24
|
||||
pos: 56 0 0
|
||||
size: 8 8 4
|
||||
orient: ZP
|
||||
flags: MOVING
|
||||
movement: Z
|
||||
}
|
||||
@@ -41,3 +41,15 @@ actor{
|
||||
size: 8 8 8
|
||||
movement: CW
|
||||
}
|
||||
|
||||
actor{
|
||||
name: LIFT
|
||||
bmp: caixes.gif
|
||||
bmp-rect: 32 32 32 24
|
||||
bmp-offset: 0 24
|
||||
pos: 56 0 0
|
||||
size: 8 8 4
|
||||
orient: ZP
|
||||
flags: MOVING
|
||||
movement: Z
|
||||
}
|
||||
|
||||
@@ -647,6 +647,15 @@ namespace actor
|
||||
if (act->pos.z>=max.z)
|
||||
{
|
||||
if (act->flags & FLAG_MOVING) changeMoving(act);
|
||||
|
||||
if ( ((act->flags&FLAG_HERO)!=0) && (room::getExit(ZP)!=-1) )
|
||||
{
|
||||
room::load(room::getExit(ZP));
|
||||
act->pos.z = 4;
|
||||
actor::setDirty(act);
|
||||
room_changed = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -659,6 +668,14 @@ namespace actor
|
||||
do {
|
||||
actor::actor_t *other = actor::any_above_me(now);
|
||||
if (!other || (other->flags & FLAG_PUSHABLE)) now->pos.z++;
|
||||
if ( (now->pos.z>=max.z) && (now->flags&FLAG_HERO)!=0 && (room::getExit(ZP)!=-1) )
|
||||
{
|
||||
room::load(room::getExit(ZP));
|
||||
now->pos.z = 4;
|
||||
actor::setDirty(now);
|
||||
room_changed = true;
|
||||
return;
|
||||
}
|
||||
now = other;
|
||||
if (now && !(now->flags & FLAG_PUSHABLE)) {
|
||||
if (act->flags & FLAG_MOVING) changeMoving(act);
|
||||
@@ -782,9 +799,11 @@ namespace actor
|
||||
}
|
||||
|
||||
if (act->push & PUSH_ZN) {
|
||||
// Si estic sobre el piso, no faig res [TODO]: Si no hi ha piso ha de caure
|
||||
// Si estic sobre el piso, no faig res
|
||||
if (act->pos.z == 0)
|
||||
{
|
||||
if ( (act->flags & FLAG_MOVING) && (act->movement==MOV_Z) ) changeMoving(act);
|
||||
act->push &= ~PUSH_ZN;
|
||||
if ( ((act->flags&FLAG_HERO)==0) || (room::getExit(ZN)==-1) ) return;
|
||||
|
||||
room::load(room::getExit(ZN));
|
||||
|
||||
Reference in New Issue
Block a user