Hmm eigentlich sollte das direkt in der Farbe auftauchen. Die Geschwindigkei bestimmst du in der Zeile
Code:
$game_troop.screen.start_tone_change(Tone.new(r,g,b),0)
Die letzte Zahl bestimmt, wie viele Frames die Anwendung vom Ausgangsfarbton zum neuen Farbton braucht. Bei 0 wird es somit direkt geändert.

Könnte dir sonst nur noch anbieten, selber mal ins Projekt zu schauen, ob ich den Fehler finde.