1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
|
fail:
if(hit&0x1000) goto success;
if(hit&0x10000000) {
v=send_message(obj,objW,MSG_NEXTWARP,NVALUE(dir),NVALUE(0),NVALUE(hit));
if(v.t || v.u) goto warp;
}
o->inertia=0; return 0;
success: if(!(hit&0x4000)) o->oflags|=OF_MOVED; if(hit&0x10000000) o->dir=dir; return 1;
}
static int jump_to(Uint32 from,Uint32 n,Uint32 x,Uint32 y) {
int xx,yy;
if(n==VOIDLINK) return 0;
xx=objects[n]->x;
yy=objects[n]->y;
|
>
|
>
>
>
>
>
>
|
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
|
fail:
if(hit&0x1000) goto success;
if(hit&0x10000000) {
v=send_message(obj,objW,MSG_NEXTWARP,NVALUE(dir),NVALUE(0),NVALUE(hit));
if(v.t || v.u) goto warp;
}
o->inertia=0; return 0;
success:
if(!(hit&0x4000)) o->oflags|=OF_MOVED;
if(hit&0x10000000) {
o->dir=dir;
v=send_message(objW,obj,MSG_WARPED,NVALUE(0),NVALUE(0),NVALUE(hit));
if(v_bool(v)) return 0;
}
return 1;
}
static int jump_to(Uint32 from,Uint32 n,Uint32 x,Uint32 y) {
int xx,yy;
if(n==VOIDLINK) return 0;
xx=objects[n]->x;
yy=objects[n]->y;
|