Ich würde nicht ent_next und c_scan in Kombination verwenden, das verkompliziert die Sache unnötig.

Ich bin mir nicht ganz sicher, ob ich Dich richtig verstanden habe, aber damit der naheste Gegner neu gewählt wird, weil z.B. mittlerweile ein anderer Gegner viel näher gekommen ist als der andere musst Du nur nochmal den Scan ausführen, damit der nunmehr naheste Gegner ausgewählt wird.