+ /* Update game model and view.
+ *
+ * As a special case, the "cheater" (sending out negative
+ * stones) handling is deferred here because we need to update
+ * its view for it to be funny. In the end, they're still
+ * disqualified.
+ *
+ * Gather other game end scenarios (actual victory or stone
+ * exhaustion).
+ */
+ int delta = 0;
+ boolean victory = false;
+ boolean exhausted = false;
+ if (! disqual) {
+ for (Player player : gameManager.getActivePlayers()) {
+ gameManager.addToGameSummary(String.format("%s throws %d stone%s at the troll.", player.getNicknameToken(), player.stoneThrow, player.stoneThrow == 1 ? "" : "s"));
+ delta += player.model.getMultiplier() * player.stoneThrow;
+
+ if (player.stoneThrow < 0) {