From b56d4ee243dc151647988178b33de58ab929ae0d Mon Sep 17 00:00:00 2001 From: MagicBot Date: Thu, 15 Oct 2026 20:21:41 -0400 Subject: [PATCH] Note lossy power action maps in ItemTemplate item_user_power_action and item_power_action are keyed by power, so rune step tables (repeated powers, multiple power_actions entries) are collapsed to one entry. Nothing reads the rune data today; the new RuneTemplate keeps the full lists. Co-Authored-By: Claude Opus 5.5 --- src/engine/objects/ItemTemplate.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/engine/objects/ItemTemplate.java b/src/engine/objects/ItemTemplate.java index e7417340..7b4f700d 100644 --- a/src/engine/objects/ItemTemplate.java +++ b/src/engine/objects/ItemTemplate.java @@ -90,8 +90,14 @@ public class ItemTemplate { public final EnumSet item_disc_res = EnumSet.noneOf(mbEnums.DisciplineType.class); public int item_level_req; public mbEnums.SexType item_sex_req; + // Lossy: some runes list the same power several times with different + // arguments (a step table, e.g. PET_DISC). Only the last entry is kept. + // engine.parsers.objects.RuneTemplate keeps the full list. public final HashMap item_user_power_action = new HashMap<>(); public final HashMap item_power_grant = new HashMap<>(); + // Lossy: some runes carry up to 35 power_actions entries per power + // (a step table, e.g. HNT-031). Only the first entry is kept. + // engine.parsers.objects.RuneTemplate keeps the full list. public final HashMap item_power_action = new HashMap<>(); public final HashMap item_resource_cost = new HashMap<>(); public int modTable;