From bfdb5ac72fca359f6717fb58bb51915cebc2d35e Mon Sep 17 00:00:00 2001 From: Sir Loading Date: Wed, 17 Aug 2016 18:38:36 +0200 Subject: [PATCH 1/3] add better feedback on skills casted --- .../android/habitica/callbacks/SkillCallback.java | 1 + .../habitica/ui/fragments/skills/SkillsFragment.java | 11 ++++++++++- .../magicmicky/habitrpgwrapper/lib/models/Skill.java | 3 +++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java index f7806e953..b466c9294 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java @@ -37,6 +37,7 @@ public class SkillCallback implements Action1 { this.user.setFlags(user.getFlags()); } if (user.getStats() != null) { + usedSkill.gold = user.getStats().getGp() - this.user.getStats().getGp(); this.user.getStats().merge(user.getStats()); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java index 55727e62e..5b8b56cc3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java @@ -112,7 +112,12 @@ public class SkillsFragment extends BaseMainFragment { removeProgressDialog(); Skill skill = event.usedSkill; adapter.setMana(event.newMana); - UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), activity.getString(R.string.used_skill, skill.text, skill.mana), UiUtils.SnackbarDisplayType.NORMAL); + StringBuilder message = new StringBuilder(); + message.append(activity.getString(R.string.used_skill, skill.text, skill.mana)); + if (skill.gold != 0) { + message.append(" + ").append(round(skill.gold, 2)).append(" GP"); + } + UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), message.toString(), UiUtils.SnackbarDisplayType.NORMAL); apiHelper.apiService.getUser() .compose(apiHelper.configureApiCallObserver()) .subscribe(new MergeUserCallback(activity, user), throwable -> { @@ -163,4 +168,8 @@ public class SkillsFragment extends BaseMainFragment { } } + static public Double round(Double value, int n) { + return (Math.round(value * Math.pow(10, n))) / (Math.pow(10, n)); + } + } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java index fe115630d..8fe867459 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java @@ -20,5 +20,8 @@ public class Skill extends BaseModel { @Column public Integer mana, lvl; + @Column + public Double gold; + } From bd2ec3e28e6a26cac6672b55fadbd4ad2c2a0594 Mon Sep 17 00:00:00 2001 From: Sir Loading Date: Thu, 18 Aug 2016 13:37:52 +0200 Subject: [PATCH 2/3] add #334 - updated skill feedback with HP and XP --- .../habitrpg/android/habitica/callbacks/SkillCallback.java | 2 ++ .../habitica/ui/fragments/skills/SkillsFragment.java | 6 ++++++ .../com/magicmicky/habitrpgwrapper/lib/models/Skill.java | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java index b466c9294..30ec3b20d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java @@ -37,6 +37,8 @@ public class SkillCallback implements Action1 { this.user.setFlags(user.getFlags()); } if (user.getStats() != null) { + usedSkill.xp = user.getStats().getExp() - this.user.getStats().getExp(); + usedSkill.hp = user.getStats().getHp() - this.user.getStats().getHp(); usedSkill.gold = user.getStats().getGp() - this.user.getStats().getGp(); this.user.getStats().merge(user.getStats()); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java index 5b8b56cc3..638c71a3c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java @@ -114,6 +114,12 @@ public class SkillsFragment extends BaseMainFragment { adapter.setMana(event.newMana); StringBuilder message = new StringBuilder(); message.append(activity.getString(R.string.used_skill, skill.text, skill.mana)); + if (skill.xp != 0) { + message.append(" + ").append(round(skill.xp, 2)).append(" XP"); + } + if (skill.hp != 0) { + message.append(" + ").append(round(skill.hp, 2)).append(" HP"); + } if (skill.gold != 0) { message.append(" + ").append(round(skill.gold, 2)).append(" GP"); } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java index 8fe867459..35ed06f51 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java @@ -21,7 +21,7 @@ public class Skill extends BaseModel { public Integer mana, lvl; @Column - public Double gold; + public Double xp, hp, gold; } From f84abbae042646d4efca75b712a18f21a16bb9c1 Mon Sep 17 00:00:00 2001 From: Sir Loading Date: Tue, 23 Aug 2016 10:36:36 +0200 Subject: [PATCH 3/3] moved skill feedback to skill event --- .../android/habitica/callbacks/SkillCallback.java | 12 +++++++----- .../android/habitica/events/SkillUsedEvent.java | 7 +++++-- .../habitica/ui/fragments/skills/SkillsFragment.java | 12 ++++++------ .../magicmicky/habitrpgwrapper/lib/models/Skill.java | 3 --- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java index 30ec3b20d..820975c8b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/SkillCallback.java @@ -2,6 +2,7 @@ package com.habitrpg.android.habitica.callbacks; import com.habitrpg.android.habitica.events.SkillUsedEvent; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; +import com.magicmicky.habitrpgwrapper.lib.models.Stats; import com.magicmicky.habitrpgwrapper.lib.models.Skill; import com.magicmicky.habitrpgwrapper.lib.models.responses.SkillResponse; @@ -26,6 +27,10 @@ public class SkillCallback implements Action1 { @Override public void call(SkillResponse skillResponse) { + Double xp = this.user.getStats().getExp(); + Double hp = this.user.getStats().getHp(); + Double gold = this.user.getStats().getGp(); + HabitRPGUser user = skillResponse.user; if (user.getItems() != null) { this.user.setItems(user.getItems()); @@ -37,16 +42,13 @@ public class SkillCallback implements Action1 { this.user.setFlags(user.getFlags()); } if (user.getStats() != null) { - usedSkill.xp = user.getStats().getExp() - this.user.getStats().getExp(); - usedSkill.hp = user.getStats().getHp() - this.user.getStats().getHp(); - usedSkill.gold = user.getStats().getGp() - this.user.getStats().getGp(); this.user.getStats().merge(user.getStats()); } this.user.async().save(); callBack.onUserReceived(this.user); - - EventBus.getDefault().post(new SkillUsedEvent(this.usedSkill, skillResponse.user.getStats().getMp())); + Stats stats = skillResponse.user.getStats(); + EventBus.getDefault().post(new SkillUsedEvent(this.usedSkill, stats.getMp(), stats.getExp() - xp, stats.getHp() - hp, stats.getGp() - gold)); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/SkillUsedEvent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/SkillUsedEvent.java index 58e787dbc..0ad52fd71 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/events/SkillUsedEvent.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/events/SkillUsedEvent.java @@ -8,10 +8,13 @@ import com.magicmicky.habitrpgwrapper.lib.models.Skill; public class SkillUsedEvent { public Skill usedSkill; - public Double newMana; + public Double newMana, xp, hp, gold; - public SkillUsedEvent(Skill usedSkill, Double newMana) { + public SkillUsedEvent(Skill usedSkill, Double newMana, Double xp, Double hp, Double gold) { this.usedSkill = usedSkill; this.newMana = newMana; + this.xp = xp; + this.hp = hp; + this.gold = gold; } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java index 638c71a3c..b55083df3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java @@ -114,14 +114,14 @@ public class SkillsFragment extends BaseMainFragment { adapter.setMana(event.newMana); StringBuilder message = new StringBuilder(); message.append(activity.getString(R.string.used_skill, skill.text, skill.mana)); - if (skill.xp != 0) { - message.append(" + ").append(round(skill.xp, 2)).append(" XP"); + if (event.xp != 0) { + message.append(" + ").append(round(event.xp, 2)).append(" XP"); } - if (skill.hp != 0) { - message.append(" + ").append(round(skill.hp, 2)).append(" HP"); + if (event.hp != 0) { + message.append(" + ").append(round(event.hp, 2)).append(" HP"); } - if (skill.gold != 0) { - message.append(" + ").append(round(skill.gold, 2)).append(" GP"); + if (event.gold != 0) { + message.append(" + ").append(round(event.gold, 2)).append(" GP"); } UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), message.toString(), UiUtils.SnackbarDisplayType.NORMAL); apiHelper.apiService.getUser() diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java index 35ed06f51..fe115630d 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Skill.java @@ -20,8 +20,5 @@ public class Skill extends BaseModel { @Column public Integer mana, lvl; - @Column - public Double xp, hp, gold; - }