Skip to content

Bug: Faxanadu: Some items used in rules are not given progression classification #6372

Description

@Mysteryem

What happened?

There are a few items that are used in rules, but which appear to never be given the progression classification, so it would be pointless to include those items in rules.

Ring of Elf, Thunder, Fire, Death and Tilte are given the useful classification, but each are used in rules:

ItemDef(400016, 'Thunder', ItemClassification.useful, 1, 0, None),
ItemDef(400017, 'Fire', ItemClassification.useful, 1, 0, None),
ItemDef(400018, 'Death', ItemClassification.useful, 1, 0, None),
ItemDef(400019, 'Tilte', ItemClassification.useful, 1, 0, None),
ItemDef(400020, 'Ring of Elf', ItemClassification.useful, 1, 0, None),

Ring of Elf:
def can_buy_in_eolis(state, player):
# Sword or Deluge so we can farm for gold.
# Ring of Elf so we can get 1500 from the King.
return state.has_any(["Progressive Sword", "Deluge", "Ring of Elf"], player)

Thunder, Fire, Death and Tilte:
def has_any_magic(state, player):
return state.has_any(["Deluge", "Thunder", "Fire", "Death", "Tilte"], player)

Changing the classification of all these items to include the progression flag, after fill is completed, can result in the multiworld spheres changing, so at least some of the items do appear to be logically relevant. These items being logically relevant, but missing the progression classification were identified using a fuzzer hook I am developing.

What were the expected results?

Items that are used in rules should at least sometimes be progression classification, otherwise there is no reason for rules to check for having acquired those items because non-progression items are not considered by logic.

Software

Local generation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions