forked from ArchipelagoMW/Archipelago
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Celeste 64: Implement New Game (ArchipelagoMW#2798)
Co-authored-by: chandler05 <[email protected]> Co-authored-by: Silvris <[email protected]> Co-authored-by: Zach Parks <[email protected]>
- Loading branch information
1 parent
a5a1494
commit db30a01
Showing
13 changed files
with
534 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
from typing import Dict, NamedTuple, Optional | ||
|
||
from BaseClasses import Item, ItemClassification | ||
from .Names import ItemName | ||
|
||
|
||
celeste_64_base_id: int = 0xCA0000 | ||
|
||
|
||
class Celeste64Item(Item): | ||
game = "Celeste 64" | ||
|
||
|
||
class Celeste64ItemData(NamedTuple): | ||
code: Optional[int] = None | ||
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, | ||
) | ||
} | ||
|
||
item_table = {name: data.code for name, data in item_data_table.items() if data.code is not None} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
from typing import Dict, NamedTuple, Optional | ||
|
||
from BaseClasses import Location | ||
from .Names import LocationName | ||
|
||
|
||
celeste_64_base_id: int = 0xCA0000 | ||
|
||
|
||
class Celeste64Location(Location): | ||
game = "Celeste 64" | ||
|
||
|
||
class Celeste64LocationData(NamedTuple): | ||
region: str | ||
address: Optional[int] = None | ||
|
||
|
||
location_data_table: Dict[str, Celeste64LocationData] = { | ||
LocationName.strawberry_1 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 0, | ||
), | ||
LocationName.strawberry_2 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 1, | ||
), | ||
LocationName.strawberry_3 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 2, | ||
), | ||
LocationName.strawberry_4 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 3, | ||
), | ||
LocationName.strawberry_5 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 4, | ||
), | ||
LocationName.strawberry_6 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 5, | ||
), | ||
LocationName.strawberry_7 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 6, | ||
), | ||
LocationName.strawberry_8 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 7, | ||
), | ||
LocationName.strawberry_9 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 8, | ||
), | ||
LocationName.strawberry_10 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 9, | ||
), | ||
LocationName.strawberry_11 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 10, | ||
), | ||
LocationName.strawberry_12 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 11, | ||
), | ||
LocationName.strawberry_13 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 12, | ||
), | ||
LocationName.strawberry_14 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 13, | ||
), | ||
LocationName.strawberry_15 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 14, | ||
), | ||
LocationName.strawberry_16 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 15, | ||
), | ||
LocationName.strawberry_17 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 16, | ||
), | ||
LocationName.strawberry_18 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 17, | ||
), | ||
LocationName.strawberry_19 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 18, | ||
), | ||
LocationName.strawberry_20 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 19, | ||
), | ||
LocationName.strawberry_21 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 20, | ||
), | ||
LocationName.strawberry_22 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 21, | ||
), | ||
LocationName.strawberry_23 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 22, | ||
), | ||
LocationName.strawberry_24 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 23, | ||
), | ||
LocationName.strawberry_25 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 24, | ||
), | ||
LocationName.strawberry_26 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 25, | ||
), | ||
LocationName.strawberry_27 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 26, | ||
), | ||
LocationName.strawberry_28 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 27, | ||
), | ||
LocationName.strawberry_29 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 28, | ||
), | ||
LocationName.strawberry_30 : Celeste64LocationData( | ||
region = "Forsaken City", | ||
address = celeste_64_base_id + 29, | ||
) | ||
} | ||
|
||
location_table = {name: data.address for name, data in location_data_table.items() if data.address is not None} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
strawberry = "Strawberry" | ||
|
||
dash_refill = "Dash Refills" | ||
double_dash_refill = "Double Dash Refills" | ||
feather = "Feathers" | ||
coin = "Coins" | ||
cassette = "Cassettes" | ||
|
||
traffic_block = "Traffic Blocks" | ||
spring = "Springs" | ||
breakables = "Breakable Blocks" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Strawberry Locations | ||
strawberry_1 = "First Strawberry" | ||
strawberry_2 = "Floating Blocks Strawberry" | ||
strawberry_3 = "South-East Tower Top Strawberry" | ||
strawberry_4 = "Theo Strawberry" | ||
strawberry_5 = "Fall Through Spike Floor Strawberry" | ||
strawberry_6 = "Troll Strawberry" | ||
strawberry_7 = "Falling Blocks Strawberry" | ||
strawberry_8 = "Traffic Block Strawberry" | ||
strawberry_9 = "South-West Dash Refills Strawberry" | ||
strawberry_10 = "South-East Tower Side Strawberry" | ||
strawberry_11 = "Girders Strawberry" | ||
strawberry_12 = "North-East Tower Bottom Strawberry" | ||
strawberry_13 = "Breakable Blocks Strawberry" | ||
strawberry_14 = "Feather Maze Strawberry" | ||
strawberry_15 = "Feather Chain Strawberry" | ||
strawberry_16 = "Feather Hidden Strawberry" | ||
strawberry_17 = "Double Dash Puzzle Strawberry" | ||
strawberry_18 = "Double Dash Spike Climb Strawberry" | ||
strawberry_19 = "Double Dash Spring Strawberry" | ||
strawberry_20 = "North-East Tower Breakable Bottom Strawberry" | ||
strawberry_21 = "Theo Tower Lower Cassette Strawberry" | ||
strawberry_22 = "Theo Tower Upper Cassette Strawberry" | ||
strawberry_23 = "South End of Bridge Cassette Strawberry" | ||
strawberry_24 = "You Are Ready Cassette Strawberry" | ||
strawberry_25 = "Cassette Hidden in the House Strawberry" | ||
strawberry_26 = "North End of Bridge Cassette Strawberry" | ||
strawberry_27 = "Distant Feather Cassette Strawberry" | ||
strawberry_28 = "Feather Arches Cassette Strawberry" | ||
strawberry_29 = "North-East Tower Cassette Strawberry" | ||
strawberry_30 = "Badeline Cassette Strawberry" |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
from dataclasses import dataclass | ||
|
||
from Options import Range, DeathLink, PerGameCommonOptions | ||
|
||
|
||
class StrawberriesRequired(Range): | ||
"""How many Strawberries you must receive to finish""" | ||
display_name = "Strawberries Required" | ||
range_start = 0 | ||
range_end = 20 | ||
default = 15 | ||
|
||
class DeathLinkAmnesty(Range): | ||
"""How many deaths it takes to send a DeathLink""" | ||
display_name = "Death Link Amnesty" | ||
range_start = 1 | ||
range_end = 30 | ||
default = 10 | ||
|
||
|
||
@dataclass | ||
class Celeste64Options(PerGameCommonOptions): | ||
death_link: DeathLink | ||
death_link_amnesty: DeathLinkAmnesty | ||
strawberries_required: StrawberriesRequired |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
from typing import Dict, List, NamedTuple | ||
|
||
|
||
class Celeste64RegionData(NamedTuple): | ||
connecting_regions: List[str] = [] | ||
|
||
|
||
region_data_table: Dict[str, Celeste64RegionData] = { | ||
"Menu": Celeste64RegionData(["Forsaken City"]), | ||
"Forsaken City": Celeste64RegionData(), | ||
} |
Oops, something went wrong.