Bug fixes and first tests with debug content for the revenge strike and

enhanced combat log features.
This commit is contained in:
Zukero
2017-08-28 18:32:43 +02:00
parent a17eaadf4e
commit ea03360145
9 changed files with 58 additions and 16 deletions

View File

@@ -99,7 +99,14 @@
},
{
"id": "debuglist2",
"items": []
"items": [{
"itemID": "gold",
"quantity": {
"min": 3,
"max": 3
},
"chance": 100
}]
},
{
"id": "startitems",

View File

@@ -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"
}
]
}
}
]

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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 {

View File

@@ -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<ItemTraits_OnHitReceived> 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 {