item script blockbomb { void run() { while(1) { for ( int q = Screen->NumEWeapons(); q > 0; --q ) { eweapon e = Screen->LoadEWeapon(q); if ( e->ID == EW_BOMBBLAST || e->ID == EW_SBOMBBLAST ) { switch(Link->Dir) { case DIR_UP: { if ( e->Y < Link->Y+8 ) e->HitYOffset = -32768; break; } case DIR_DOWN: { if ( e->Y > Link->Y+8 ) e->HitYOffset = -32768; break; } case DIR_LEFT: { if ( e->X < Link->X+8 ) e->HitYOffset = -32768; break; } case DIR_RIGHT: { if ( e->X > Link->X+8 ) e->HitYOffset = -32768; break; } } } } for ( int q = Screen->NumLWeapons(); q > 0; --q ) { lweapon e = Screen->LoadLWeapon(q); if ( e->ID == LW_BOMBBLAST || e->ID == LW_SBOMBBLAST ) { switch(Link->Dir) { case DIR_UP: { if ( e->Y < Link->Y+8 ) e->HitYOffset = -32768; break; } case DIR_DOWN: { if ( e->Y > Link->Y+8 ) e->HitYOffset = -32768; break; } case DIR_LEFT: { if ( e->X < Link->X+8 ) e->HitYOffset = -32768; break; } case DIR_RIGHT: { if ( e->X > Link->X+8 ) e->HitYOffset = -32768; break; } } } } } } }