GML
kat_rozrzutu = 30; // 60 stopni 30 po jednej i 30 po drugiej stronie
// 6 - 8 pociskow
ilosc_pociskow_min = 6;
ilosc_pociskow_dodatkowych = 2;
_len = -30 //odległosć w której zostanie stworzony pocisk
_x = lengthdir_x( _len , direction )
_y = lengthdir_y( _len , direction )
if ( global.ammo_wmagazynku[ bron ] > 0 and can and laduj )
{
repeat( ilosc_pociskow_min + irandom( ilosc_pociskow_dodatkowych ) )
{
i = instance_create( x + _x , y + _y , typ_pocisk[ bron ] ) //tworzymy pocisk
i. direction = random_range( direction - kat_rozrzutu, direction + kat_rozrzutu ) // rozrzut
i. image_angle = direction
i. sprite_index = bullet_sprite[ bron ]
i. speed = bullet_speed[ bron ]
i. damage = weapon_damage[ bron ]
global.ammo_wmagazynku[ bron ] -= 1 // odejmujemy od stanu amunicja aktywnej broni 1
}
can = false
alarm[ 0 ] = weapon_time[ bron ]
if ( global.ammo_wmagazynku[ bron ] > 0){
instance_create( x + _x , y + _y , obj_luska[ bron ] )
if ( global.ammo_wmagazynku[ bron ] = 0){
instance_create( x + _x , y + _y , obj_lastluska[ bron ] )
}
sound_play ( weapon_sound[ bron ] )
}
if ( global.ammo_wmagazynku[ bron ] = 0)
{
sound_play( sound_last[ bron ] )
}
shoot = true
alarm[ 2 ] = sprite_get_number( sprite_strzal[ bron ]) *3
image_index = 0
}