Celeste 64: v1.2 Content Update (#3210)

* Cleanup and new option support

* Handle new locations

* Support higher Strawberry counts

* Don't add start inventory items to the pool

* Support Move Shuffle functionality and items

* Hard and Move Shuffle Logic

* Fix Options

* Update CHANGELOG.md

* Add standard moves logic for signs 3 and 4

* Fix Option Tooltip

* Add tracker link to setup guide

* Fix unit test

* Fix option tooltips

* Missing Space

* Move option checking out of rule function

* Delete just_gen500.bat
This commit is contained in:
PoryGone
2024-05-05 02:58:49 -04:00
committed by GitHub
parent 7e61211365
commit 5fae1c087e
9 changed files with 676 additions and 274 deletions

View File

@@ -16,43 +16,29 @@ class Celeste64ItemData(NamedTuple):
type: ItemClassification = ItemClassification.filler
item_data_table: Dict[str, Celeste64ItemData] = {
ItemName.strawberry: Celeste64ItemData(
code = celeste_64_base_id + 0,
type=ItemClassification.progression_skip_balancing,
),
ItemName.dash_refill: Celeste64ItemData(
code = celeste_64_base_id + 1,
type=ItemClassification.progression,
),
ItemName.double_dash_refill: Celeste64ItemData(
code = celeste_64_base_id + 2,
type=ItemClassification.progression,
),
ItemName.feather: Celeste64ItemData(
code = celeste_64_base_id + 3,
type=ItemClassification.progression,
),
ItemName.coin: Celeste64ItemData(
code = celeste_64_base_id + 4,
type=ItemClassification.progression,
),
ItemName.cassette: Celeste64ItemData(
code = celeste_64_base_id + 5,
type=ItemClassification.progression,
),
ItemName.traffic_block: Celeste64ItemData(
code = celeste_64_base_id + 6,
type=ItemClassification.progression,
),
ItemName.spring: Celeste64ItemData(
code = celeste_64_base_id + 7,
type=ItemClassification.progression,
),
ItemName.breakables: Celeste64ItemData(
code = celeste_64_base_id + 8,
type=ItemClassification.progression,
)
collectable_item_data_table: Dict[str, Celeste64ItemData] = {
ItemName.strawberry: Celeste64ItemData(celeste_64_base_id + 0x0, ItemClassification.progression_skip_balancing),
ItemName.raspberry: Celeste64ItemData(celeste_64_base_id + 0x9, ItemClassification.filler),
}
unlockable_item_data_table: Dict[str, Celeste64ItemData] = {
ItemName.dash_refill: Celeste64ItemData(celeste_64_base_id + 0x1, ItemClassification.progression),
ItemName.double_dash_refill: Celeste64ItemData(celeste_64_base_id + 0x2, ItemClassification.progression),
ItemName.feather: Celeste64ItemData(celeste_64_base_id + 0x3, ItemClassification.progression),
ItemName.coin: Celeste64ItemData(celeste_64_base_id + 0x4, ItemClassification.progression),
ItemName.cassette: Celeste64ItemData(celeste_64_base_id + 0x5, ItemClassification.progression),
ItemName.traffic_block: Celeste64ItemData(celeste_64_base_id + 0x6, ItemClassification.progression),
ItemName.spring: Celeste64ItemData(celeste_64_base_id + 0x7, ItemClassification.progression),
ItemName.breakables: Celeste64ItemData(celeste_64_base_id + 0x8, ItemClassification.progression),
}
move_item_data_table: Dict[str, Celeste64ItemData] = {
ItemName.ground_dash: Celeste64ItemData(celeste_64_base_id + 0xA, ItemClassification.progression),
ItemName.air_dash: Celeste64ItemData(celeste_64_base_id + 0xB, ItemClassification.progression),
ItemName.skid_jump: Celeste64ItemData(celeste_64_base_id + 0xC, ItemClassification.progression),
ItemName.climb: Celeste64ItemData(celeste_64_base_id + 0xD, ItemClassification.progression),
}
item_data_table: Dict[str, Celeste64ItemData] = {**collectable_item_data_table, **unlockable_item_data_table, **move_item_data_table}
item_table = {name: data.code for name, data in item_data_table.items() if data.code is not None}