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