From: oskar.wiksten Date: Wed, 16 May 2012 15:02:17 +0000 (+0000) Subject: Updated version number to v0.6.11a1. X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b184b3404b901743780a86ada0dfdc720c7046a5;p=users%2Fmchehab%2Fandors-trail.git Updated version number to v0.6.11a1. Enabled all resources for v0.6.11. Fixed issue with splatter effects not being redrawn properly when using "optimized drawing". Fixed issue with HP bar not being updated by the regeneration skill on maps without monsters. git-svn-id: https://andors-trail.googlecode.com/svn/trunk@248 08aca716-68be-ccc6-4d58-36f5abd142ac --- diff --git a/AndorsTrail/AndroidManifest.xml b/AndorsTrail/AndroidManifest.xml index 304f386..375ac96 100644 --- a/AndorsTrail/AndroidManifest.xml +++ b/AndorsTrail/AndroidManifest.xml @@ -3,8 +3,8 @@ @string/actorconditions_v069_bwm @string/actorconditions_v0610 @string/actorconditions_v0611 + @string/actorconditions_v0611_2 @@ -25,6 +26,8 @@ @string/itemlist_v0610_1 @string/itemlist_v0610_2 @string/itemlist_v0611_1 + @string/itemlist_v0611_2 + @string/itemlist_v0611_3 @@ -38,6 +41,9 @@ @string/droplists_v0610_shops @string/droplists_v0610_npcs @string/droplists_v0610_monsters + @string/droplists_v0611_monsters + @string/droplists_v0611_npcs + @string/droplists_v0611_shops @@ -46,6 +52,9 @@ @string/questlist_v068 @string/questlist_v069 @string/questlist_v0610 + @string/questlist_v0611 + @string/questlist_v0611_2 + @string/questlist_v0611_3 @@ -139,6 +148,37 @@ @string/conversationlist_loneford_3 @string/conversationlist_loneford_4 @string/conversationlist_pwcave + @string/conversationlist_thorin + @string/conversationlist_thorinbone + @string/conversationlist_algangror + @string/conversationlist_remgard_bridgeguard + @string/conversationlist_ulirfendor + @string/conversationlist_toszylae_guard + @string/conversationlist_toszylae + @string/conversationlist_sign_ulirfendor + @string/conversationlist_talion_2 + @string/conversationlist_gylew + @string/conversationlist_ingus + @string/conversationlist_elwyl + @string/conversationlist_hjaldar + @string/conversationlist_mazeg + @string/conversationlist_sign_waterwaycave + @string/conversationlist_jhaeld + @string/conversationlist_norath + @string/conversationlist_elythom_1 + @string/conversationlist_duaina + @string/conversationlist_rothses + @string/conversationlist_remgard_villagers1 + @string/conversationlist_kendelow + @string/conversationlist_arghes + @string/conversationlist_remgard_villagers2 + @string/conversationlist_ervelyn + @string/conversationlist_reinkarr + @string/conversationlist_remgard_idolsigns + @string/conversationlist_signs_v0611 + @string/conversationlist_kaverin + @string/conversationlist_vacor2 + @string/conversationlist_unzel2 @@ -154,210 +194,296 @@ @string/monsterlist_v0610_npcs1 @string/monsterlist_v0610_monsters2 @string/monsterlist_v0611_monsters1 + @string/monsterlist_v0611_npcs1 + @string/monsterlist_v0611_npcs2 - @xml/home - @xml/crossglen - @xml/crossglen_farmhouse - @xml/crossglen_farmhouse_basement - @xml/crossglen_hall - @xml/crossglen_smith - @xml/crossglen_cave - @xml/wild1 - @xml/wild2 - @xml/wild3 - @xml/jan_pitcave1 - @xml/jan_pitcave2 - @xml/jan_pitcave3 - @xml/fallhaven_nw - @xml/snakecave1 - @xml/snakecave2 - @xml/snakecave3 - @xml/wild4 - @xml/hauntedhouse1 - @xml/hauntedhouse2 - @xml/fallhaven_ne - @xml/fallhaven_church - @xml/fallhaven_barn - @xml/fallhaven_potions - @xml/fallhaven_gravedigger - @xml/fallhaven_clothes - @xml/fallhaven_arcir - @xml/fallhaven_arcir_basement - @xml/fallhaven_athamyr - @xml/fallhaven_rigmor - @xml/fallhaven_tavern - @xml/fallhaven_prison - @xml/fallhaven_derelict - @xml/fallhaven_nocmar - @xml/catacombs1 - @xml/catacombs2 - @xml/catacombs3 - @xml/catacombs4 - @xml/hauntedhouse3 - @xml/hauntedhouse4 - @xml/fallhaven_sw - @xml/wild5 - @xml/wild6 - @xml/wild6_house - @xml/wild7 - @xml/wild8 - @xml/wild9 - @xml/wild10 - @xml/flagstone0 - @xml/flagstone_inner - @xml/flagstone_upper - @xml/flagstone1 - @xml/flagstone2 - @xml/flagstone3 - @xml/flagstone4 - @xml/wild11 - @xml/wild12 - @xml/wild11_clearing - @xml/clearing_level1 - @xml/clearing_level2 - @xml/fallhaven_se - @xml/fallhaven_lumberjack - @xml/fallhaven_alaun - @xml/fallhaven_storage - @xml/fallhaven_farmer - @xml/wild13 - @xml/wild14 - @xml/wild14_cave - @xml/wild14_clearing - @xml/wild15 - @xml/wild15_house - @xml/road1 - @xml/foaming_flask - @xml/fallhaven_derelict2 - @xml/vilegard_n - @xml/vilegard_s - @xml/vilegard_sw - @xml/vilegard_ogam - @xml/vilegard_chapel - @xml/vilegard_tavern - @xml/vilegard_armorer - @xml/vilegard_smith - @xml/vilegard_wrye - @xml/vilegard_kaori - @xml/vilegard_erttu - @xml/road2 - @xml/road3 - @xml/road4 - @xml/road4_gargoylecave - @xml/road5 - @xml/road5_house - @xml/gargoylecave1 - @xml/gargoylecave2 - @xml/gargoylecave3 - @xml/gargoylecave4 - @xml/blackwater_mountain0 - @xml/blackwater_mountain1 - @xml/blackwater_mountain2 - @xml/blackwater_mountain3 - @xml/blackwater_mountain4 - @xml/blackwater_mountain5 - @xml/blackwater_mountain6 - @xml/blackwater_mountain7 - @xml/blackwater_mountain8 - @xml/blackwater_mountain9 - @xml/blackwater_mountain10 - @xml/blackwater_mountain11 - @xml/blackwater_mountain12 - @xml/blackwater_mountain13 - @xml/blackwater_mountain14 - @xml/blackwater_mountain15 - @xml/blackwater_mountain16 - @xml/blackwater_mountain17 - @xml/blackwater_mountain18 - @xml/blackwater_mountain19 - @xml/blackwater_mountain20 - @xml/blackwater_mountain21 - @xml/blackwater_mountain22 - @xml/blackwater_mountain23 - @xml/blackwater_mountain24 - @xml/blackwater_mountain25 - @xml/blackwater_mountain26 - @xml/blackwater_mountain27 - @xml/blackwater_mountain28 - @xml/blackwater_mountain29 - @xml/blackwater_mountain30 - @xml/blackwater_mountain31 - @xml/blackwater_mountain32 - @xml/blackwater_mountain33 - @xml/blackwater_mountain34 - @xml/blackwater_mountain35 - @xml/blackwater_mountain36 - @xml/blackwater_mountain37 - @xml/blackwater_mountain38 - @xml/blackwater_mountain39 - @xml/blackwater_mountain40 - @xml/blackwater_mountain41 - @xml/blackwater_mountain42 - @xml/blackwater_mountain43 - @xml/blackwater_mountain44 - @xml/blackwater_mountain45 - @xml/blackwater_mountain46 - @xml/blackwater_mountain47 - @xml/blackwater_mountain48 - @xml/blackwater_mountain49 - @xml/blackwater_mountain50 - @xml/blackwater_mountain51 - @xml/blackwater_mountain52 - @xml/wild0 - @xml/crossroads - @xml/fields0 - @xml/fields1 - @xml/fields2 - @xml/fields3 - @xml/fields4 - @xml/fields5 - @xml/fields6 - @xml/fields7 - @xml/fields8 - @xml/fields9 - @xml/fields10 - @xml/fields11 - @xml/fields12 - @xml/houseatcrossroads0 - @xml/houseatcrossroads1 - @xml/houseatcrossroads2 - @xml/houseatcrossroads3 - @xml/houseatcrossroads4 - @xml/houseatcrossroads5 - @xml/loneford1 - @xml/loneford2 - @xml/loneford3 - @xml/loneford4 - @xml/loneford5 - @xml/loneford6 - @xml/loneford7 - @xml/loneford8 - @xml/loneford9 - @xml/loneford10 - @xml/roadbeforecrossroads - @xml/roadtocarntower0 - @xml/roadtocarntower1 - @xml/roadtocarntower2 - @xml/woodcave0 - @xml/woodcave1 - @xml/wild16 - @xml/wild17 - @xml/gapfiller1 - @xml/gapfiller3 - @xml/gapfiller4 - @xml/waterway0 - @xml/waterway1 - @xml/waterway2 - @xml/waterway3 - @xml/waterwayhouse - @xml/waterwayextention - @xml/pwcave0 - @xml/pwcave1 - @xml/pwcave2 - @xml/pwcave2a - @xml/pwcave3 - @xml/pwcave4 + @xml/home + @xml/crossglen + @xml/crossglen_farmhouse + @xml/crossglen_farmhouse_basement + @xml/crossglen_hall + @xml/crossglen_smith + @xml/crossglen_cave + @xml/wild1 + @xml/wild2 + @xml/wild3 + @xml/jan_pitcave1 + @xml/jan_pitcave2 + @xml/jan_pitcave3 + @xml/fallhaven_nw + @xml/snakecave1 + @xml/snakecave2 + @xml/snakecave3 + @xml/wild4 + @xml/hauntedhouse1 + @xml/hauntedhouse2 + @xml/fallhaven_ne + @xml/fallhaven_church + @xml/fallhaven_barn + @xml/fallhaven_potions + @xml/fallhaven_gravedigger + @xml/fallhaven_clothes + @xml/fallhaven_arcir + @xml/fallhaven_arcir_basement + @xml/fallhaven_athamyr + @xml/fallhaven_rigmor + @xml/fallhaven_tavern + @xml/fallhaven_prison + @xml/fallhaven_derelict + @xml/fallhaven_nocmar + @xml/catacombs1 + @xml/catacombs2 + @xml/catacombs3 + @xml/catacombs4 + @xml/hauntedhouse3 + @xml/hauntedhouse4 + @xml/fallhaven_sw + @xml/wild5 + @xml/wild6 + @xml/wild6_house + @xml/wild7 + @xml/wild8 + @xml/wild9 + @xml/wild10 + @xml/flagstone0 + @xml/flagstone_inner + @xml/flagstone_upper + @xml/flagstone1 + @xml/flagstone2 + @xml/flagstone3 + @xml/flagstone4 + @xml/wild11 + @xml/wild12 + @xml/wild11_clearing + @xml/clearing_level1 + @xml/clearing_level2 + @xml/fallhaven_se + @xml/fallhaven_lumberjack + @xml/fallhaven_alaun + @xml/fallhaven_storage + @xml/fallhaven_farmer + @xml/wild13 + @xml/wild14 + @xml/wild14_cave + @xml/wild14_clearing + @xml/wild15 + @xml/wild15_house + @xml/road1 + @xml/foaming_flask + @xml/fallhaven_derelict2 + @xml/vilegard_n + @xml/vilegard_s + @xml/vilegard_sw + @xml/vilegard_ogam + @xml/vilegard_chapel + @xml/vilegard_tavern + @xml/vilegard_armorer + @xml/vilegard_smith + @xml/vilegard_wrye + @xml/vilegard_kaori + @xml/vilegard_erttu + @xml/road2 + @xml/road3 + @xml/road4 + @xml/road4_gargoylecave + @xml/road5 + @xml/road5_house + @xml/gargoylecave1 + @xml/gargoylecave2 + @xml/gargoylecave3 + @xml/gargoylecave4 + @xml/blackwater_mountain0 + @xml/blackwater_mountain1 + @xml/blackwater_mountain2 + @xml/blackwater_mountain3 + @xml/blackwater_mountain4 + @xml/blackwater_mountain5 + @xml/blackwater_mountain6 + @xml/blackwater_mountain7 + @xml/blackwater_mountain8 + @xml/blackwater_mountain9 + @xml/blackwater_mountain10 + @xml/blackwater_mountain11 + @xml/blackwater_mountain12 + @xml/blackwater_mountain13 + @xml/blackwater_mountain14 + @xml/blackwater_mountain15 + @xml/blackwater_mountain16 + @xml/blackwater_mountain17 + @xml/blackwater_mountain18 + @xml/blackwater_mountain19 + @xml/blackwater_mountain20 + @xml/blackwater_mountain21 + @xml/blackwater_mountain22 + @xml/blackwater_mountain23 + @xml/blackwater_mountain24 + @xml/blackwater_mountain25 + @xml/blackwater_mountain26 + @xml/blackwater_mountain27 + @xml/blackwater_mountain28 + @xml/blackwater_mountain29 + @xml/blackwater_mountain30 + @xml/blackwater_mountain31 + @xml/blackwater_mountain32 + @xml/blackwater_mountain33 + @xml/blackwater_mountain34 + @xml/blackwater_mountain35 + @xml/blackwater_mountain36 + @xml/blackwater_mountain37 + @xml/blackwater_mountain38 + @xml/blackwater_mountain39 + @xml/blackwater_mountain40 + @xml/blackwater_mountain41 + @xml/blackwater_mountain42 + @xml/blackwater_mountain43 + @xml/blackwater_mountain44 + @xml/blackwater_mountain45 + @xml/blackwater_mountain46 + @xml/blackwater_mountain47 + @xml/blackwater_mountain48 + @xml/blackwater_mountain49 + @xml/blackwater_mountain50 + @xml/blackwater_mountain51 + @xml/blackwater_mountain52 + + + @xml/wild0 + @xml/crossroads + @xml/fields0 + @xml/fields1 + @xml/fields2 + @xml/fields3 + @xml/fields4 + @xml/fields5 + @xml/fields6 + @xml/fields7 + @xml/fields8 + @xml/fields9 + @xml/fields10 + @xml/fields11 + @xml/fields12 + @xml/houseatcrossroads0 + @xml/houseatcrossroads1 + @xml/houseatcrossroads2 + @xml/houseatcrossroads3 + @xml/houseatcrossroads4 + @xml/houseatcrossroads5 + @xml/loneford1 + @xml/loneford2 + @xml/loneford3 + @xml/loneford4 + @xml/loneford5 + @xml/loneford6 + @xml/loneford7 + @xml/loneford8 + @xml/loneford9 + @xml/loneford10 + @xml/roadbeforecrossroads + @xml/roadtocarntower0 + @xml/roadtocarntower1 + @xml/roadtocarntower2 + @xml/woodcave0 + @xml/woodcave1 + @xml/wild16 + @xml/wild17 + @xml/gapfiller1 + @xml/gapfiller3 + @xml/gapfiller4 + @xml/waterway0 + @xml/waterway1 + @xml/waterway2 + @xml/waterway3 + @xml/waterwayhouse + @xml/waterwayextention + @xml/pwcave0 + @xml/pwcave1 + @xml/pwcave2 + @xml/pwcave2a + @xml/pwcave3 + @xml/pwcave4 + + + @xml/waterway4 + @xml/waterway5 + @xml/waterway6 + @xml/waterway7 + @xml/waterway8 + @xml/waterway9 + @xml/waterway10 + @xml/waterway11_east + @xml/waterway11 + @xml/waterway12 + @xml/waterway13 + @xml/waterway14 + @xml/waterway15 + @xml/waterwaycave + @xml/mountaincave0 + @xml/mountaincave1 + @xml/mountaincave2 + @xml/mountaincave3 + @xml/mountainlake0 + @xml/mountainlake1 + @xml/mountainlake2 + @xml/mountainlake3 + @xml/mountainlake4 + @xml/mountainlake5 + @xml/mountainlake6 + @xml/mountainlake7 + @xml/mountainlake8 + @xml/mountainlake9 + @xml/mountainlake10 + @xml/mountainlake10a + @xml/mountainlake11 + @xml/mountainlake12 + @xml/mountainlake13 + @xml/mountainlake13a + @xml/remgard0 + @xml/remgard1 + @xml/remgard2 + @xml/remgard3 + @xml/remgard4 + @xml/remgard_armour + @xml/remgard_barn + @xml/remgard_church + @xml/remgard_clothes + @xml/remgard_farmer1 + @xml/remgard_farmer2 + @xml/remgard_farmer3 + @xml/remgard_prison + @xml/remgard_school + @xml/remgard_tavern0 + @xml/remgard_tavern1 + @xml/remgard_villager1 + @xml/remgard_villager2 + @xml/remgard_villager3 + @xml/remgard_villager4 + @xml/remgard_villager5 + @xml/remgard_weapon + @xml/waytobrimhaven0 + @xml/waytobrimhaven1 + @xml/waytobrimhaven2 + @xml/waytobrimhaven3 + @xml/waytobrimhavencave0 + @xml/waytobrimhavencave1a + @xml/waytobrimhavencave1 + @xml/waytobrimhavencave2 + @xml/waytobrimhavencave3a + @xml/waytobrimhavencave3b + @xml/waytobrimhavencave3 + @xml/waytobrimhavencave4 + @xml/waytolake0 + @xml/waytolake1 + @xml/waytolake2 + @xml/waytolake3 + @xml/waytolake4 + @xml/waytolake5 + @xml/waytomountaincave0 + @xml/waytomountaincave1 + @xml/waytomountaincave2 + @xml/lonelyhouse0 + @xml/lonelyhouse1 + @xml/wild16_cave diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java index 96168f3..1da0b1b 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java @@ -19,9 +19,9 @@ public final class AndorsTrailApplication extends Application { public static final boolean DEVELOPMENT_DEBUGBUTTONS = false; public static final boolean DEVELOPMENT_VALIDATEDATA = false; public static final boolean DEVELOPMENT_DEBUGMESSAGES = false; - public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || true; - public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? 999 : 26; - public static final String CURRENT_VERSION_DISPLAY = "0.6.11dev"; + public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || false; + public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? 999 : 27; + public static final String CURRENT_VERSION_DISPLAY = "0.6.11a1"; public final WorldContext world = new WorldContext(); public final WorldSetup setup = new WorldSetup(world, this); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java index eef1ee1..e4e3eee 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java @@ -193,7 +193,7 @@ public class ActorStatsController { public void applyConditionsToPlayer(Player player, boolean isFullRound) { if (player.conditions.isEmpty()) return; - removeConditionsFromSkillEffects(player); + if (!isFullRound) removeConditionsFromSkillEffects(player); applyStatsEffects(player, isFullRound); if (player.isDead()) { @@ -202,7 +202,7 @@ public class ActorStatsController { } view.mainActivity.updateStatus(); - decreaseDurationAndRemoveConditions(player); + if (!isFullRound) decreaseDurationAndRemoveConditions(player); } private static void removeConditionsFromSkillEffects(Player player) { @@ -373,4 +373,11 @@ public class ActorStatsController { applyUseEffect(player, null, type.effects_kill); } } + + public void applySkillEffectsForNewRound(Player player) { + boolean changed = player.health.add(player.getSkillLevel(SkillCollection.SKILL_REGENERATION) * SkillCollection.PER_SKILLPOINT_INCREASE_REGENERATION, false); + if (changed) { + view.mainActivity.updateStatus(); + } + } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Controller.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Controller.java index 378daea..e4dc66c 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Controller.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Controller.java @@ -14,7 +14,6 @@ import com.gpl.rpg.AndorsTrail.model.actor.Player; import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap; import com.gpl.rpg.AndorsTrail.model.map.MapObject; import com.gpl.rpg.AndorsTrail.util.Coord; -import com.gpl.rpg.AndorsTrail.view.MainView; public final class Controller { @@ -110,11 +109,10 @@ public final class Controller { } } - public void moveAndSpawnMonsters() { + public boolean moveAndSpawnMonsters() { boolean hasChanged = false; if (view.monsterMovementController.moveMonsters()) hasChanged = true; if (model.currentMap.maybeSpawn(world)) hasChanged = true; - - if (hasChanged) view.mainActivity.redrawAll(MainView.REDRAW_ALL_MONSTER_MOVED); //TODO: should only redraw spawned tiles + return hasChanged; } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java index d82d1e4..9503e55 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java @@ -3,8 +3,8 @@ package com.gpl.rpg.AndorsTrail.controller; import com.gpl.rpg.AndorsTrail.context.ViewContext; import com.gpl.rpg.AndorsTrail.context.WorldContext; import com.gpl.rpg.AndorsTrail.model.ModelContainer; -import com.gpl.rpg.AndorsTrail.model.ability.SkillCollection; import com.gpl.rpg.AndorsTrail.util.TimedMessageTask; +import com.gpl.rpg.AndorsTrail.view.MainView; public final class GameRoundController implements TimedMessageTask.Callback { @@ -46,13 +46,11 @@ public final class GameRoundController implements TimedMessageTask.Callback { } public void resume() { - //L.log("GameRoundController::resume() from " + from); view.mainActivity.updateStatus(); model.uiSelections.isMainActivityVisible = true; roundTimer.start(); } public void pause() { - //L.log("GameRoundController::pause() from " + from); roundTimer.stop(); model.uiSelections.isMainActivityVisible = false; } @@ -66,13 +64,15 @@ public final class GameRoundController implements TimedMessageTask.Callback { private void onNewRound() { view.actorStatsController.applyConditionsToMonsters(model.currentMap, false); view.actorStatsController.applyConditionsToPlayer(model.player, false); - - model.player.health.add(model.player.getSkillLevel(SkillCollection.SKILL_REGENERATION) * SkillCollection.PER_SKILLPOINT_INCREASE_REGENERATION, false); + view.actorStatsController.applySkillEffectsForNewRound(model.player); } private void onNewTick() { - view.controller.moveAndSpawnMonsters(); + boolean hasChanged = false; + if (view.controller.moveAndSpawnMonsters()) hasChanged = true; view.monsterMovementController.attackWithAgressiveMonsters(); - VisualEffectController.updateSplatters(model.currentMap); + if (VisualEffectController.updateSplatters(model.currentMap)) hasChanged = true; + + if (hasChanged) view.mainActivity.redrawAll(MainView.REDRAW_ALL_MONSTER_MOVED); //TODO: should only redraw spawned tiles } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java index 5b7e1f2..597f4c8 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java @@ -113,7 +113,7 @@ public final class VisualEffectController { public final long reduceIconAfter; public final Coord position; public int iconID; - public boolean updated = false; + public boolean reducedIcon = false; public BloodSplatter(int iconID, Coord position) { this.iconID = iconID; this.position = position; @@ -123,16 +123,21 @@ public final class VisualEffectController { } } - public static void updateSplatters(PredefinedMap map) { + public static boolean updateSplatters(PredefinedMap map) { long now = System.currentTimeMillis(); + boolean hasChanges = false; for (int i = map.splatters.size() - 1; i >= 0; --i) { BloodSplatter b = map.splatters.get(i); - if (b.removeAfter <= now) map.splatters.remove(i); - else if (!b.updated && b.reduceIconAfter <= now) { - b.updated = true; + if (b.removeAfter <= now) { + map.splatters.remove(i); + hasChanges = true; + } else if (!b.reducedIcon && b.reduceIconAfter <= now) { + b.reducedIcon = true; b.iconID++; + hasChanges = true; } } + return hasChanges; } public static void addSplatter(PredefinedMap map, Monster m) { @@ -141,8 +146,6 @@ public final class VisualEffectController { } private static int getSplatterIconFromMonsterClass(int monsterClass) { - return -1; - /* switch (monsterClass) { case MonsterType.MONSTERCLASS_INSECT: case MonsterType.MONSTERCLASS_UNDEAD: @@ -159,6 +162,5 @@ public final class VisualEffectController { default: return -1; } - */ } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java index 98c2089..d9e0efc 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java @@ -32,9 +32,11 @@ public final class Range { this.max = max; this.current = current; } - public void add(int value, boolean mayOverflow) { + public boolean add(int value, boolean mayOverflow) { + int valueBefore = current; this.current += value; if (!mayOverflow) capAtMax(); + return (this.current != valueBefore); } public void capAtMax() { if (current > max) current = max; @@ -42,9 +44,11 @@ public final class Range { public void addToMax(int value) { this.max += value; } - public void subtract(int value, boolean mayUnderflow) { + public boolean subtract(int value, boolean mayUnderflow) { + int valueBefore = current; this.current -= value; if (!mayUnderflow && current < 0) current = 0; + return (this.current != valueBefore); } public boolean change(int value, boolean mayUnderflow, boolean mayOverflow) { int valueBefore = current;