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