From 76baf0f2cf8bcc2fb1e481690e9b33709d93b79f Mon Sep 17 00:00:00 2001 From: Ramtin Jafari Date: Thu, 16 Jul 2026 16:59:45 +0330 Subject: [PATCH] fix accessory's bugs --- .../src/main/java/org/project/Interface/IAttachable.java | 4 ++-- .../main/java/org/project/item/Accessory/Accessory.java | 6 +++--- .../src/main/java/org/project/item/Accessory/Costume.java | 8 ++++---- .../src/main/java/org/project/item/Accessory/Shield.java | 8 ++++---- .../src/main/java/org/project/item/Accessory/Weapon.java | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Java-Knight/src/main/java/org/project/Interface/IAttachable.java b/Java-Knight/src/main/java/org/project/Interface/IAttachable.java index e715cdb..987ba14 100644 --- a/Java-Knight/src/main/java/org/project/Interface/IAttachable.java +++ b/Java-Knight/src/main/java/org/project/Interface/IAttachable.java @@ -3,6 +3,6 @@ package org.project.Interface; import org.project.entity.Entity; public interface IAttachable { - public void AttachTo(Entity entity); - public void DeattachFrom(Entity entity); + public void AttachTo(Entity entity, boolean fromInventory); + public void DeattachFrom(Entity entity, boolean toInventory); } diff --git a/Java-Knight/src/main/java/org/project/item/Accessory/Accessory.java b/Java-Knight/src/main/java/org/project/item/Accessory/Accessory.java index 9bea6e3..3f93740 100644 --- a/Java-Knight/src/main/java/org/project/item/Accessory/Accessory.java +++ b/Java-Knight/src/main/java/org/project/item/Accessory/Accessory.java @@ -45,13 +45,13 @@ public abstract class Accessory extends SellableItem implements IDamageable, IAt @Override public void HandleZeroHealth() { - this.DeattachFrom(this.Owner); + this.DeattachFrom(this.Owner, false); this.Owner.Inventory.remove(this); } @Override - public abstract void AttachTo(Entity entity); + public abstract void AttachTo(Entity entity, boolean fromInventory); @Override - public abstract void DeattachFrom(Entity entity); + public abstract void DeattachFrom(Entity entity, boolean toInventory); } diff --git a/Java-Knight/src/main/java/org/project/item/Accessory/Costume.java b/Java-Knight/src/main/java/org/project/item/Accessory/Costume.java index 38efd72..0541db8 100644 --- a/Java-Knight/src/main/java/org/project/item/Accessory/Costume.java +++ b/Java-Knight/src/main/java/org/project/item/Accessory/Costume.java @@ -35,14 +35,14 @@ public class Costume extends Accessory implements IDefender { } @Override - public void AttachTo(Entity entity) { - entity.RemoveFromInventory(this); + public void AttachTo(Entity entity, boolean fromInventory) { + if (fromInventory) entity.RemoveFromInventory(this); entity.Costume = this; } @Override - public void DeattachFrom(Entity entity) { + public void DeattachFrom(Entity entity, boolean toInventory) { entity.Costume = null; - entity.AddToInventory(this); + if (toInventory) entity.AddToInventory(this); } } diff --git a/Java-Knight/src/main/java/org/project/item/Accessory/Shield.java b/Java-Knight/src/main/java/org/project/item/Accessory/Shield.java index 7f83699..8526618 100644 --- a/Java-Knight/src/main/java/org/project/item/Accessory/Shield.java +++ b/Java-Knight/src/main/java/org/project/item/Accessory/Shield.java @@ -35,14 +35,14 @@ public class Shield extends Accessory implements IDefender { } @Override - public void AttachTo(Entity entity) { - entity.RemoveFromInventory(this); + public void AttachTo(Entity entity, boolean fromInventory) { + if (fromInventory) entity.RemoveFromInventory(this); entity.Shield = this; } @Override - public void DeattachFrom(Entity entity) { + public void DeattachFrom(Entity entity, boolean toInventory) { entity.Shield = null; - entity.AddToInventory(this); + if (toInventory) entity.AddToInventory(this); } } diff --git a/Java-Knight/src/main/java/org/project/item/Accessory/Weapon.java b/Java-Knight/src/main/java/org/project/item/Accessory/Weapon.java index 0aaaac4..fe1e5f2 100644 --- a/Java-Knight/src/main/java/org/project/item/Accessory/Weapon.java +++ b/Java-Knight/src/main/java/org/project/item/Accessory/Weapon.java @@ -17,14 +17,14 @@ public class Weapon extends Accessory implements IDamageUtil { } @Override - public void AttachTo(Entity entity) { - entity.RemoveFromInventory(this); + public void AttachTo(Entity entity, boolean fromInventory) { + if (fromInventory) entity.RemoveFromInventory(this); entity.Weapon = this; } @Override - public void DeattachFrom(Entity entity) { + public void DeattachFrom(Entity entity, boolean toInventory) { entity.Weapon = null; - entity.AddToInventory(this); + if (toInventory) entity.AddToInventory(this); } }