fix(armor): match Entropia Nexus slot naming exactly

- TORSO (was CHEST) - Harness/Chest piece
- LEGS (was THIGHS) - Thigh Guards
- Updated Frontier set with correct slots
- Display names match Nexus: Head, Torso, Arms, Hands, Legs, Shins, Feet

Now matches Nexus JSON export structure exactly
This commit is contained in:
LemonNexus 2026-02-09 11:06:46 +00:00
parent fd2b34e395
commit 9e55c751b9
1 changed files with 139 additions and 139 deletions

View File

@ -20,20 +20,20 @@ from enum import Enum, auto
class ArmorSlot(Enum): class ArmorSlot(Enum):
"""Armor slot types in Entropia Universe. """Armor slot types in Entropia Universe.
Standard 7-piece armor structure: Standard 7-piece armor structure (matches Entropia Nexus):
- Head (Helmet) - Head (Helmet)
- Chest (Harness) - Torso (Harness/Chest)
- Arms (Arm Guards - both arms) - Arms (Arm Guards)
- Hands (Gloves - both hands) - Hands (Gloves)
- Thighs (Thigh Guards) - Legs (Thigh Guards)
- Shins (Shin Guards) - Shins (Shin Guards)
- Feet (Foot Guards) - Feet (Foot Guards)
""" """
HEAD = "head" HEAD = "head"
CHEST = "chest" # Harness TORSO = "torso" # Harness/Chest
ARMS = "arms" # Arm Guards (both arms) ARMS = "arms" # Arm Guards
HANDS = "hands" # Gloves (both hands) HANDS = "hands" # Gloves
THIGHS = "thighs" # Thigh Guards LEGS = "legs" # Thigh Guards
SHINS = "shins" # Shin Guards SHINS = "shins" # Shin Guards
FEET = "feet" # Foot Guards FEET = "feet" # Foot Guards
@ -41,10 +41,10 @@ class ArmorSlot(Enum):
# Full set of 7 slots # Full set of 7 slots
ALL_ARMOR_SLOTS = [ ALL_ARMOR_SLOTS = [
ArmorSlot.HEAD, ArmorSlot.HEAD,
ArmorSlot.CHEST, ArmorSlot.TORSO,
ArmorSlot.ARMS, ArmorSlot.ARMS,
ArmorSlot.HANDS, ArmorSlot.HANDS,
ArmorSlot.THIGHS, ArmorSlot.LEGS,
ArmorSlot.SHINS, ArmorSlot.SHINS,
ArmorSlot.FEET, ArmorSlot.FEET,
] ]
@ -299,15 +299,15 @@ class ArmorPiece:
return plate return plate
def get_slot_display_name(self) -> str: def get_slot_display_name(self) -> str:
"""Get human-readable slot name.""" """Get human-readable slot name (matches Entropia Nexus)."""
slot_names = { slot_names = {
ArmorSlot.HEAD: "Helmet", ArmorSlot.HEAD: "Head",
ArmorSlot.CHEST: "Harness", ArmorSlot.TORSO: "Torso",
ArmorSlot.ARMS: "Arm Guards", ArmorSlot.ARMS: "Arms",
ArmorSlot.HANDS: "Gloves", ArmorSlot.HANDS: "Hands",
ArmorSlot.THIGHS: "Thigh Guards", ArmorSlot.LEGS: "Legs",
ArmorSlot.SHINS: "Shin Guards", ArmorSlot.SHINS: "Shins",
ArmorSlot.FEET: "Foot Guards", ArmorSlot.FEET: "Feet",
} }
return slot_names.get(self.slot, self.slot.value) return slot_names.get(self.slot, self.slot.value)
@ -1237,17 +1237,17 @@ def create_frontier_set() -> ArmorSet:
protection=ProtectionProfile(impact=Decimal("4"), cut=Decimal("3"), stab=Decimal("3")), protection=ProtectionProfile(impact=Decimal("4"), cut=Decimal("3"), stab=Decimal("3")),
weight=Decimal("0.5"), weight=Decimal("0.5"),
), ),
ArmorSlot.CHEST: ArmorPiece( ArmorSlot.TORSO: ArmorPiece(
name="Frontier Harness, Adjusted (M)", name="Frontier Harness, Adjusted (M)",
item_id="frontier_harness_adj_m", item_id="frontier_harness_adj_m",
slot=ArmorSlot.CHEST, slot=ArmorSlot.TORSO,
set_name="Frontier", set_name="Frontier",
decay_per_hp=frontier_economy, decay_per_hp=frontier_economy,
protection=ProtectionProfile(impact=Decimal("8"), cut=Decimal("6"), stab=Decimal("6")), protection=ProtectionProfile(impact=Decimal("8"), cut=Decimal("6"), stab=Decimal("6")),
weight=Decimal("1.0"), weight=Decimal("1.0"),
), ),
ArmorSlot.ARMS: ArmorPiece( ArmorSlot.ARMS: ArmorPiece(
name="Frontier Arm Guards, Adjusted (M)", # Both arms name="Frontier Arm Guards, Adjusted (M)",
item_id="frontier_arm_adj_m", item_id="frontier_arm_adj_m",
slot=ArmorSlot.ARMS, slot=ArmorSlot.ARMS,
set_name="Frontier", set_name="Frontier",
@ -1256,7 +1256,7 @@ def create_frontier_set() -> ArmorSet:
weight=Decimal("0.8"), weight=Decimal("0.8"),
), ),
ArmorSlot.HANDS: ArmorPiece( ArmorSlot.HANDS: ArmorPiece(
name="Frontier Gloves, Adjusted (M)", # Both hands name="Frontier Gloves, Adjusted (M)",
item_id="frontier_gloves_adj_m", item_id="frontier_gloves_adj_m",
slot=ArmorSlot.HANDS, slot=ArmorSlot.HANDS,
set_name="Frontier", set_name="Frontier",
@ -1264,10 +1264,10 @@ def create_frontier_set() -> ArmorSet:
protection=ProtectionProfile(impact=Decimal("3"), cut=Decimal("2"), stab=Decimal("2")), protection=ProtectionProfile(impact=Decimal("3"), cut=Decimal("2"), stab=Decimal("2")),
weight=Decimal("0.6"), weight=Decimal("0.6"),
), ),
ArmorSlot.THIGHS: ArmorPiece( ArmorSlot.LEGS: ArmorPiece(
name="Frontier Thigh Guards, Adjusted (M)", name="Frontier Thigh Guards, Adjusted (M)",
item_id="frontier_thigh_adj_m", item_id="frontier_thigh_adj_m",
slot=ArmorSlot.THIGHS, slot=ArmorSlot.LEGS,
set_name="Frontier", set_name="Frontier",
decay_per_hp=frontier_economy, decay_per_hp=frontier_economy,
protection=ProtectionProfile(impact=Decimal("4"), cut=Decimal("3"), stab=Decimal("3")), protection=ProtectionProfile(impact=Decimal("4"), cut=Decimal("3"), stab=Decimal("3")),