я вообще думал, что выстрел будет делаться так 
gun.fire();