From ea03360145406d06c58e4a70a9fab2793e5ec39c Mon Sep 17 00:00:00 2001 From: Zukero Date: Mon, 28 Aug 2017 18:32:43 +0200 Subject: [PATCH] Bug fixes and first tests with debug content for the revenge strike and enhanced combat log features. --- AndorsTrail/res/raw/droplists_debug.json | 9 ++++- AndorsTrail/res/raw/itemlist_debug.json | 34 +++++++++++++++++++ .../AndorsTrail/AndorsTrailApplication.java | 2 +- .../AndorsTrail/activity/MainActivity.java | 2 ++ .../controller/ActorStatsController.java | 3 +- .../controller/SkillController.java | 2 +- .../AndorsTrail/resource/ResourceLoader.java | 2 +- .../view/ItemEffectsView_OnDeath.java | 7 ++-- .../view/ItemEffectsView_OnHitReceived.java | 13 ++++--- 9 files changed, 58 insertions(+), 16 deletions(-) diff --git a/AndorsTrail/res/raw/droplists_debug.json b/AndorsTrail/res/raw/droplists_debug.json index 7d70c8ea1..4104c1d3e 100644 --- a/AndorsTrail/res/raw/droplists_debug.json +++ b/AndorsTrail/res/raw/droplists_debug.json @@ -99,7 +99,14 @@ }, { "id": "debuglist2", - "items": [] + "items": [{ + "itemID": "gold", + "quantity": { + "min": 3, + "max": 3 + }, + "chance": 100 + }] }, { "id": "startitems", diff --git a/AndorsTrail/res/raw/itemlist_debug.json b/AndorsTrail/res/raw/itemlist_debug.json index 3e88c13e6..f367ecb5b 100644 --- a/AndorsTrail/res/raw/itemlist_debug.json +++ b/AndorsTrail/res/raw/itemlist_debug.json @@ -170,6 +170,40 @@ "min": 1, "max": 1 } + }, + "hitReceivedEffect" : { + "increaseCurrentHP": { + "min": 1, + "max": 1 + }, + "increaseCurrentAP": { + "min": 1, + "max": 1 + }, + "increaseAttackerCurrentHP": { + "min": 1, + "max": 1 + }, + "increaseAttackerCurrentAP": { + "min": 1, + "max": 1 + }, + "conditionsSource":[ + { + "condition":"chaotic_grip", + "magnitude": 1, + "duration": 5, + "chance":"50" + } + ], + "conditionsTarget":[ + { + "condition":"chaotic_grip", + "magnitude": 1, + "duration": 5, + "chance":"80" + } + ] } } ] diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java index b4b81c93e..68804d345 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java @@ -14,7 +14,7 @@ import java.util.Locale; public final class AndorsTrailApplication extends Application { - public static final boolean DEVELOPMENT_DEBUGRESOURCES = false; + public static final boolean DEVELOPMENT_DEBUGRESOURCES = true; public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false; public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false; public static final boolean DEVELOPMENT_DEBUGBUTTONS = true; diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java index fa2f78671..324a33cf9 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java @@ -193,6 +193,8 @@ public final class MainActivity controllers.movementController.playerMovementListeners.remove(this); controllers.combatController.combatActionListeners.remove(this); controllers.combatController.combatTurnListeners.remove(this); + controllers.actorStatsController.combatActionListeners.remove(this); + controllers.skillController.combatActionListeners.remove(this); controllers.mapController.worldEventListeners.remove(this); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java index 4cb075b2d..9c70430b3 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ActorStatsController.java @@ -475,7 +475,8 @@ public final class ActorStatsController { if (actor.isPlayer) chanceRollBias = SkillController.getActorConditionEffectChanceRollBias(conditionEffect, (Player) actor); if (!Constants.rollResult(conditionEffect.chance, chanceRollBias)) return; - //TODO message Actor Condition + if (actor.isPlayer) combatActionListeners.onPlayerReceviesActorCondition(conditionEffect); + else combatActionListeners.onMonsterReceivesActorCondition(conditionEffect, (Monster)actor); applyActorCondition(actor, conditionEffect); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java index a4125c231..a4a264123 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java @@ -187,7 +187,7 @@ public final class SkillController { public void applySkillEffectsFromMonsterAttack(AttackResult result, Monster monster) { if (!result.isHit) { if (rollForSkillChance(world.model.player, SkillID.taunt, SkillCollection.PER_SKILLPOINT_INCREASE_TAUNT_CHANCE)) { - + combatActionListeners.onPlayerTauntsMonster(monster); controllers.actorStatsController.changeActorAP(monster, -SkillCollection.TAUNT_AP_LOSS, false, false); } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java index 09b671ce7..ad85a91c0 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java @@ -235,7 +235,7 @@ public final class ResourceLoader { loader.prepareTileset(R.drawable.ui_quickslots, "ui_quickslots", sz2x1, sz1x1, mTileSize); loader.prepareTileset(R.drawable.ui_icon_equipment, "ui_icon_equipment", sz1x1, sz1x1, mTileSize); loader.prepareTileset(R.drawable.ui_splatters1, "ui_splatters1", new Size(8, 2), sz1x1, mTileSize); - loader.prepareTileset(R.drawable.ui_icon_skill, "ui_icon_skill", sz1x1, sz1x1, mTileSize); + loader.prepareTileset(R.drawable.ui_icon_immunity, "ui_icon_immunity", sz1x1, sz1x1, mTileSize); loader.prepareTileset(R.drawable.actorconditions_1, "actorconditions_1", new Size(14, 8), sz1x1, mTileSize); loader.prepareTileset(R.drawable.actorconditions_2, "actorconditions_2", sz3x1, sz1x1, mTileSize); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnDeath.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnDeath.java index d2ab41078..1f680a9cc 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnDeath.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnDeath.java @@ -2,7 +2,6 @@ package com.gpl.rpg.AndorsTrail.view; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import android.content.Context; import android.content.res.Resources; @@ -18,7 +17,7 @@ import com.gpl.rpg.AndorsTrail.model.item.ItemTraits_OnUse; public final class ItemEffectsView_OnDeath extends LinearLayout { private final LinearLayout itemeffect_ondeath_ontarget_list; - private final ActorConditionEffectList itemeffect_onuse_conditions_source; + private final ActorConditionEffectList itemeffect_ondeath_conditions_source; private final TextView itemeffect_ondeath_target_title; public ItemEffectsView_OnDeath(Context context, AttributeSet attr) { @@ -29,7 +28,7 @@ public final class ItemEffectsView_OnDeath extends LinearLayout { itemeffect_ondeath_ontarget_list = (LinearLayout) findViewById(R.id.itemeffect_ondeath_ontarget_list); itemeffect_ondeath_target_title = (TextView) findViewById(R.id.itemeffect_ondeath_target_title); - itemeffect_onuse_conditions_source = (ActorConditionEffectList) findViewById(R.id.itemeffect_onuse_conditions_source); + itemeffect_ondeath_conditions_source = (ActorConditionEffectList) findViewById(R.id.itemeffect_ondeath_conditions_source); } public void update(ItemTraits_OnUse effects) { @@ -48,7 +47,7 @@ public final class ItemEffectsView_OnDeath extends LinearLayout { if (effects.changedStats.currentAPBoost != null || effects.changedStats.currentHPBoost != null) sourceHasStatsModifiers = true; } } - itemeffect_onuse_conditions_source.update(sourceEffects); + itemeffect_ondeath_conditions_source.update(sourceEffects); if (sourceEffects.isEmpty() && !sourceHasStatsModifiers) { itemeffect_ondeath_target_title.setVisibility(View.GONE); } else { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnHitReceived.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnHitReceived.java index 96309f445..911c871e5 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnHitReceived.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemEffectsView_OnHitReceived.java @@ -11,7 +11,6 @@ import com.gpl.rpg.AndorsTrail.R; import com.gpl.rpg.AndorsTrail.model.ability.ActorConditionEffect; import com.gpl.rpg.AndorsTrail.model.ability.traits.StatsModifierTraits; import com.gpl.rpg.AndorsTrail.model.item.ItemTraits_OnHitReceived; -import com.gpl.rpg.AndorsTrail.model.item.ItemTraits_OnUse; import java.util.ArrayList; import java.util.Arrays; @@ -20,8 +19,8 @@ import java.util.Collection; public final class ItemEffectsView_OnHitReceived extends LinearLayout { private final LinearLayout itemeffect_onhitreceived_onsource_list; private final LinearLayout itemeffect_onhitreceived_ontarget_list; - private final ActorConditionEffectList itemeffect_onuse_conditions_source; - private final ActorConditionEffectList itemeffect_onuse_conditions_target; + private final ActorConditionEffectList itemeffect_onhitreceived_conditions_source; + private final ActorConditionEffectList itemeffect_onhitreceived_conditions_target; private final TextView itemeffect_onhitreceived_source_title; private final TextView itemeffect_onhitreceived_target_title; @@ -35,8 +34,8 @@ public final class ItemEffectsView_OnHitReceived extends LinearLayout { itemeffect_onhitreceived_ontarget_list = (LinearLayout) findViewById(R.id.itemeffect_onhitreceived_ontarget_list); itemeffect_onhitreceived_source_title = (TextView) findViewById(R.id.itemeffect_onhitreceived_source_title); itemeffect_onhitreceived_target_title = (TextView) findViewById(R.id.itemeffect_onhitreceived_target_title); - itemeffect_onuse_conditions_source = (ActorConditionEffectList) findViewById(R.id.itemeffect_onuse_conditions_source); - itemeffect_onuse_conditions_target = (ActorConditionEffectList) findViewById(R.id.itemeffect_onuse_conditions_target); + itemeffect_onhitreceived_conditions_source = (ActorConditionEffectList) findViewById(R.id.itemeffect_onhitreceived_conditions_source); + itemeffect_onhitreceived_conditions_target = (ActorConditionEffectList) findViewById(R.id.itemeffect_onhitreceived_conditions_target); } public void update(Collection effects) { @@ -65,8 +64,8 @@ public final class ItemEffectsView_OnHitReceived extends LinearLayout { } } } - itemeffect_onuse_conditions_source.update(sourceEffects); - itemeffect_onuse_conditions_target.update(targetEffects); + itemeffect_onhitreceived_conditions_source.update(sourceEffects); + itemeffect_onhitreceived_conditions_target.update(targetEffects); if (sourceEffects.isEmpty() && !sourceHasStatsModifiers) { itemeffect_onhitreceived_source_title.setVisibility(View.GONE); } else {