Skip to content

Commit 12864f7

Browse files
authored
A Short Hike: Implement New Game (#2577)
1 parent db02e9d commit 12864f7

File tree

9 files changed

+1119
-0
lines changed

9 files changed

+1119
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ Currently, the following games are supported:
6363
* Celeste 64
6464
* Zork Grand Inquisitor
6565
* Castlevania 64
66+
* A Short Hike
6667

6768
For setup and instructions check out our [tutorials page](https://archipelago.gg/tutorial/).
6869
Downloads can be found at [Releases](https://github.com/ArchipelagoMW/Archipelago/releases), including compiled

docs/CODEOWNERS

+3
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@
134134
# Shivers
135135
/worlds/shivers/ @GodlFire
136136

137+
# A Short Hike
138+
/worlds/shorthike/ @chandler05
139+
137140
# Sonic Adventure 2 Battle
138141
/worlds/sa2b/ @PoryGone @RaspberrySpace
139142

worlds/shorthike/Items.py

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
from BaseClasses import ItemClassification
2+
from typing import TypedDict, Dict, List, Set
3+
4+
class ItemDict(TypedDict):
5+
name: str
6+
id: int
7+
count: int
8+
classification: ItemClassification
9+
10+
base_id = 82000
11+
12+
item_table: List[ItemDict] = [
13+
{"name": "Stick", "id": base_id + 1, "count": 8, "classification": ItemClassification.progression_skip_balancing},
14+
{"name": "Seashell", "id": base_id + 2, "count": 23, "classification": ItemClassification.progression_skip_balancing},
15+
{"name": "Golden Feather", "id": base_id + 3, "count": 0, "classification": ItemClassification.progression},
16+
{"name": "Silver Feather", "id": base_id + 4, "count": 0, "classification": ItemClassification.useful},
17+
{"name": "Bucket", "id": base_id + 5, "count": 0, "classification": ItemClassification.progression},
18+
{"name": "Bait", "id": base_id + 6, "count": 2, "classification": ItemClassification.filler},
19+
{"name": "Fishing Rod", "id": base_id + 7, "count": 2, "classification": ItemClassification.progression},
20+
{"name": "Shovel", "id": base_id + 8, "count": 1, "classification": ItemClassification.progression},
21+
{"name": "Toy Shovel", "id": base_id + 9, "count": 5, "classification": ItemClassification.progression_skip_balancing},
22+
{"name": "Compass", "id": base_id + 10, "count": 1, "classification": ItemClassification.useful},
23+
{"name": "Medal", "id": base_id + 11, "count": 3, "classification": ItemClassification.filler},
24+
{"name": "Shell Necklace", "id": base_id + 12, "count": 1, "classification": ItemClassification.progression},
25+
{"name": "Wristwatch", "id": base_id + 13, "count": 1, "classification": ItemClassification.progression},
26+
{"name": "Motorboat Key", "id": base_id + 14, "count": 1, "classification": ItemClassification.progression},
27+
{"name": "Pickaxe", "id": base_id + 15, "count": 3, "classification": ItemClassification.useful},
28+
{"name": "Fishing Journal", "id": base_id + 16, "count": 1, "classification": ItemClassification.useful},
29+
{"name": "A Stormy View Map", "id": base_id + 17, "count": 1, "classification": ItemClassification.filler},
30+
{"name": "The King Map", "id": base_id + 18, "count": 1, "classification": ItemClassification.filler},
31+
{"name": "The Treasure of Sid Beach Map", "id": base_id + 19, "count": 1, "classification": ItemClassification.filler},
32+
{"name": "In Her Shadow Map", "id": base_id + 20, "count": 1, "classification": ItemClassification.filler},
33+
{"name": "Sunhat", "id": base_id + 21, "count": 1, "classification": ItemClassification.filler},
34+
{"name": "Baseball Cap", "id": base_id + 22, "count": 1, "classification": ItemClassification.filler},
35+
{"name": "Provincial Park Hat", "id": base_id + 23, "count": 1, "classification": ItemClassification.filler},
36+
{"name": "Headband", "id": base_id + 24, "count": 1, "classification": ItemClassification.progression},
37+
{"name": "Running Shoes", "id": base_id + 25, "count": 1, "classification": ItemClassification.useful},
38+
{"name": "Camping Permit", "id": base_id + 26, "count": 1, "classification": ItemClassification.progression},
39+
{"name": "Walkie Talkie", "id": base_id + 27, "count": 1, "classification": ItemClassification.useful},
40+
41+
# Not in the item pool for now
42+
#{"name": "Boating Manual", "id": base_id + ~, "count": 1, "classification": ItemClassification.filler},
43+
44+
# Different Coin Amounts (Fillers)
45+
{"name": "7 Coins", "id": base_id + 28, "count": 3, "classification": ItemClassification.filler},
46+
{"name": "15 Coins", "id": base_id + 29, "count": 1, "classification": ItemClassification.filler},
47+
{"name": "18 Coins", "id": base_id + 30, "count": 1, "classification": ItemClassification.filler},
48+
{"name": "21 Coins", "id": base_id + 31, "count": 2, "classification": ItemClassification.filler},
49+
{"name": "25 Coins", "id": base_id + 32, "count": 7, "classification": ItemClassification.filler},
50+
{"name": "27 Coins", "id": base_id + 33, "count": 1, "classification": ItemClassification.filler},
51+
{"name": "32 Coins", "id": base_id + 34, "count": 1, "classification": ItemClassification.filler},
52+
{"name": "33 Coins", "id": base_id + 35, "count": 6, "classification": ItemClassification.filler},
53+
{"name": "50 Coins", "id": base_id + 36, "count": 1, "classification": ItemClassification.filler},
54+
55+
# Filler item determined by settings
56+
{"name": "13 Coins", "id": base_id + 37, "count": 0, "classification": ItemClassification.filler},
57+
]
58+
59+
group_table: Dict[str, Set[str]] = {
60+
"Coins": {"7 Coins", "13 Coins", "15 Coins", "18 Coins", "21 Coins", "25 Coins", "27 Coins", "32 Coins", "33 Coins", "50 Coins"},
61+
"Maps": {"A Stormy View Map", "The King Map", "The Treasure of Sid Beach Map", "In Her Shadow Map"},
62+
}

0 commit comments

Comments
 (0)