From 11c154f5dfd5b827c1e6b9b5ca1aa52caf2b5eeb Mon Sep 17 00:00:00 2001 From: Oskar Wiksten Date: Sat, 13 Jul 2013 11:35:03 +0200 Subject: [PATCH] Only reset timers for rounds after combat ends, and not when changing maps. * Previously, if you started conversation, entered some other activity or dialog, the round timers were reset each time, making the rounds less likely to happen. --- .../src/com/gpl/rpg/AndorsTrail/Dialogs.java | 7 ------- .../AndorsTrail/controller/CombatController.java | 1 + .../AndorsTrail/controller/GameRoundController.java | 13 ++++++++----- .../rpg/AndorsTrail/controller/MapController.java | 1 + .../gpl/rpg/AndorsTrail/savegames/Savegames.java | 1 + 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java index 603da3d2b..f23fb9cae 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java @@ -45,16 +45,9 @@ public final class Dialogs { context.gameRoundController.resume(); } }); - //setBlurrywindow(d); d.show(); } - /* - private static void setBlurrywindow(Dialog d) { - d.getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND); - } - */ - public static void showKeyArea(final MainActivity currentActivity, final ControllerContext context, String phraseID) { showConversation(currentActivity, context, phraseID, null); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java index 9ac084201..b67f2797f 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java @@ -59,6 +59,7 @@ public final class CombatController implements VisualEffectCompletedCallback { currentActiveMonster = null; world.model.uiSelections.selectedPosition = null; world.model.uiSelections.selectedMonster = null; + controllers.gameRoundController.resetRoundTimers(); if (pickupLootBags && totalExpThisFight > 0) { controllers.itemController.lootMonsterBags(killedMonsterBags, totalExpThisFight); } else { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java index c47b9b029..08e3fbb63 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java @@ -27,7 +27,7 @@ public final class GameRoundController implements TimedMessageTask.Callback { if (world.model.uiSelections.isInCombat) return false; onNewTick(); - + --ticksUntilNextRound; if (ticksUntilNextRound <= 0) { onNewRound(); @@ -42,13 +42,16 @@ public final class GameRoundController implements TimedMessageTask.Callback { return true; } - - public void resume() { - world.model.uiSelections.isMainActivityVisible = true; + + public void resetRoundTimers() { restartWaitForNextRound(); restartWaitForNextFullRound(); + } + + public void resume() { + world.model.uiSelections.isMainActivityVisible = true; roundTimer.start(); - } + } private void restartWaitForNextFullRound() { ticksUntilNextFullRound = Constants.TICKS_PER_FULLROUND; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MapController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MapController.java index c2aa9e4ba..5d12aed51 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MapController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MapController.java @@ -89,6 +89,7 @@ public final class MapController { m.resetTemporaryData(); } controllers.monsterSpawnController.spawnAll(world.model.currentMap, world.model.currentTileMap); + controllers.gameRoundController.resetRoundTimers(); } public void rest(MapObject area) { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java index 7d4df6c8f..53de14ff2 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java @@ -129,6 +129,7 @@ public final class Savegames { controllers.actorStatsController.recalculatePlayerStats(world.model.player); controllers.mapController.resetMapsNotRecentlyVisited(); controllers.movementController.prepareMapAsCurrentMap(world.model.currentMap, res, false); + controllers.gameRoundController.resetRoundTimers(); } public static FileHeader quickload(Context androidContext, int slot) {