my contribution :
-----------------------
DELIMITER $$
DROP PROCEDURE IF EXISTS mysqlgame.scan_good_targets$$
CREATE PROCEDURE mysqlgame.scan_good_targets (rowidlow int, rowidhigh
int, myAM int, myrowid int)
BEGIN
select row_id 'id', money-(attackers*attack_multiplier/myAM +
defenders*defense_multiplier/myAM) * 20 'gain',
rows.name 'row',
players.name 'plyer', money, fuel,
attackers 'att', attack_multiplier 'AM', defenders 'def',
defense_multiplier 'DM',
fuel/(ABS(row_id - myrowid)*0.125)
'nb_att_free_launch',
(attackers*attack_multiplier/myAM +
defenders*defense_multiplier/myAM) 'destry_limit',
ABS(row_id - myrowid)*0.125 'fl_cost_per_att'
from rows
inner join players on rows.owner = players.player_id
where (defense_multiplier >= (myAM-3) or attack_multiplier >=
(myAM-3))
and money > (attackers*attack_multiplier/myAM +
defenders*defense_multiplier/myAM) * 20
and row_id between rowidlow and rowidhigh
ORDER BY 2 DESC;
END$$
DELIMITER ;