From 9b78c010e93b6f79350249e1c29dcd8b4ce95bdc Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Tue, 7 Jan 2020 14:07:59 -0800 Subject: [PATCH] Added CharData to Item#update() parameters -- cannot rely on Riiablo.charData in multiplayer cases --- core/src/com/riiablo/CharData.java | 8 ++++---- core/src/com/riiablo/item/Item.java | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/core/src/com/riiablo/CharData.java b/core/src/com/riiablo/CharData.java index c685f170..257d8933 100644 --- a/core/src/com/riiablo/CharData.java +++ b/core/src/com/riiablo/CharData.java @@ -212,7 +212,7 @@ public class CharData { final int alternate = getAlternate(); for (Item item : equipped.values()) { if (item == null) continue; - item.update(); + item.update(this); if (item.bodyLoc == BodyLoc.getAlternate(item.bodyLoc, alternate)) { stats.add(item.props.remaining()); Stat stat; @@ -298,7 +298,7 @@ public class CharData { break; case EQUIPPED: setEquipped(item.bodyLoc, item); - item.update(); + item.update(this); if (item.bodyLoc == BodyLoc.getAlternate(item.bodyLoc, getAlternate())) { stats.add(item.props.remaining()); Stat stat; @@ -309,7 +309,7 @@ public class CharData { break; case STORED: store.get(item.storeLoc).add(item); - item.update(); + item.update(this); if (item.storeLoc == INVENTORY && item.type.is(Type.CHAR)) { stats.add(item.props.remaining()); } @@ -378,7 +378,7 @@ public class CharData { public Item setEquipped(BodyLoc bodyLoc, Item item) { Item oldItem = equipped.put(bodyLoc, item); - if (item != null) item.update(); + if (item != null) item.update(this); updateSets(oldItem, item); updateStats(); notifyEquippedChanged(bodyLoc, oldItem, item); diff --git a/core/src/com/riiablo/item/Item.java b/core/src/com/riiablo/item/Item.java index c55a77a3..66053e38 100644 --- a/core/src/com/riiablo/item/Item.java +++ b/core/src/com/riiablo/item/Item.java @@ -10,6 +10,7 @@ import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Disposable; import com.badlogic.gdx.utils.GdxRuntimeException; import com.badlogic.gdx.utils.ObjectMap; +import com.riiablo.CharData; import com.riiablo.CharacterClass; import com.riiablo.Riiablo; import com.riiablo.codec.DC6; @@ -346,7 +347,7 @@ public class Item extends Actor implements Disposable { return this; } - public void update() { + public void update(CharData charData) { if ((flags & COMPACT) == COMPACT) return; props.reset(); if (stats[MAGIC_PROPS] != null) props.add(stats[MAGIC_PROPS]); @@ -368,12 +369,12 @@ public class Item extends Actor implements Disposable { } } } - props.update(Riiablo.charData); + props.update(charData); } public Details details() { if (details == null) { - update(); + update(Riiablo.charData); details = new Details(); } return details;