This repository was archived by the owner on Apr 23, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathholocure_save_the_fans_game.py
More file actions
195 lines (176 loc) · 6.48 KB
/
holocure_save_the_fans_game.py
File metadata and controls
195 lines (176 loc) · 6.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
from __future__ import annotations
from typing import List
from dataclasses import dataclass
from ..game import Game
from ..game_objective_template import GameObjectiveTemplate
from ..enums import KeymastersKeepGamePlatforms
@dataclass
class HoloCureSaveTheFansArchipelagoOptions:
pass
class HoloCureSaveTheFansGame(Game):
name = "HoloCure: Save the Fans!"
platform = KeymastersKeepGamePlatforms.PC
platforms_other = None
is_adult_only_or_unrated = False
options_cls = HoloCureSaveTheFansArchipelagoOptions
def optional_game_constraint_templates(self) -> List[GameObjectiveTemplate]:
return list()
def game_objective_templates(self) -> List[GameObjectiveTemplate]:
return [
GameObjectiveTemplate(
label="Win a round on STAGE with CHARACTER",
data={
"STAGE": (self.stages, 1),
"CHARACTER": (self.characters, 1),
},
is_time_consuming=False,
is_difficult=False,
weight=4,
),
GameObjectiveTemplate(
label="Win a round on STAGE with CHARACTER with WEAPONS",
data={
"STAGE": (self.stages, 1),
"CHARACTER": (self.characters, 1),
"WEAPONS": (self.weapons, 3),
},
is_time_consuming=False,
is_difficult=False,
weight=2,
),
GameObjectiveTemplate(
label="Obtain the following Collab: COLLAB",
data={
"COLLAB": (self.collabs, 1),
},
is_time_consuming=False,
is_difficult=False,
weight=1,
),
GameObjectiveTemplate(
label="Win a round on STAGE with CHARACTER in Hardcore mode",
data={
"STAGE": (self.stages, 1),
"CHARACTER": (self.characters, 1),
},
is_time_consuming=False,
is_difficult=True,
weight=1,
),
]
@staticmethod
def stages() -> List[str]:
return [
"Grassy Plains (Stage 1)",
"Holo Office (Stage 2)",
"Halloween Castle (Stage 3)",
"Gelora Bung Yagoo (Stage 4)",
"Fantasy Island (Stage 5)",
"Grassy Plains (Night) (Stage 1 - Hard)",
"Holo Office (Evening) (Stage 2 - Hard)",
"Halloween Castle (Myth) (Stage 3 - Hard)",
"Gelora Bung Yahoo (Night) (Stage 4 - Hard)",
]
@staticmethod
def characters() -> List[str]:
return [
"AZKi (Gen 0)",
"Airani Iofifteen (Area 15)",
"Akai Haato (Gen 1)",
"Aki Rosenthal (Gen 1)",
"Amane Kanata (Gen 4)",
"Amelia Watson (Myth)",
"Anya Melfissa (Holoro)",
"Ayunda Risu (Area 15)",
"Ceres Fauna (Council + Promise)",
"Gawr Gura (Myth)",
"Hakos Baelz (Council + Promise)",
"Himemori Luna (Gen 4)",
"Hoshimachi Suisei (Gen 0)",
"Houshou Marine (Gen 3)",
"IRyS (Council + Promise)",
"Inugami Korone (GAMERS)",
"Kaela Kovalskia (HoloH3ro)",
"Kiryu Coco (Gen 4)",
"Kobo Kanaeru (HoloH3ro)",
"Kureiji Ollie (Holoro)",
"Minato Aqua (Gen 2)",
"Moona Hoshinova (Area 15)",
"Mori Calliope (Myth)",
"Murasaki Shion (Gen 2)",
"Nakiri Ayame (Gen 2)",
"Nanashi Mumei (Council + Promise)",
"Natsuiro Matsuri (Gen 1)",
"Nekomata Okayu (GAMERS)",
"Ninomae Ina'nis (Myth)",
"Ookami Mio (GAMERS)",
"Oozora Subaru (Gen 2)",
"Ouro Kronii (Council + Promise)",
"Pavolia Reine (Holoro)",
"Roboco-san (Gen 0)",
"Sakura Miko (Gen 0)",
"Shirakami Fubuki (GAMERS)",
"Shiranui Flare (Gen 3)",
"Shirogane Noel (Gen 3)",
"Takanashi Kiara (Myth)",
"Tokino Sora (Gen 0)",
"Tokoyami Towa (Gen 4)",
"Tsukumo Sana (Council + Promise)",
"Tsunomaki Watame (Gen 4)",
"Usada Pekora (Gen 3)",
"Vestia Zeta (HoloH3ro)",
"Yozora Mel (Gen 1)",
"Yuzuki Choco (Gen 2)",
]
@staticmethod
def weapons() -> List[str]:
return [
"BL Book",
"Bounce Ball",
"CEO's Tears",
"Cutting Board",
"Elite Lava Bucket",
"EN's Curse",
"Fan Beam",
"Glowstick",
"Holo Bomb",
"Idol Song",
"Own Dagger",
"Plug Type Asacoco",
"Psycho Axe",
"Sausage",
"Spider Cooking",
"Wamy Water",
"X-Potato",
]
@staticmethod
def collabs() -> List[str]:
return [
"Absolute Wall (Bounce Ball + Cutting Board)",
"BL Fujoshi (BL Book + Psycho Axe)",
"Black Plague (EN's Curse + Owl Dagger)",
"Blood Lust (Owl Dagger + Psycho Axe)",
"Bone Bros. (Cutting Board + EN's Curse)",
"Breathe-In Type Asacoco (Holo Bomb + Plug Type Asacoco)",
"Broken Dreams (CEO's Tears + Spider Cooking)",
"Crescent Bardiche (Idol Song + Psycho Axe)",
"Curse Ball (Bounce Ball + EN's Curse)",
"Dragon Fire (Fan Beam + Plug Type Asacoco)",
"Eldritch Horror (EN's Curse + Spider Cooking)",
"Elite Cooking (Elite Lava Bucket + Spider Cooking)",
"Flattening Board (Cutting Board + Holo Bomb)",
"Frozen Sea (BL Book + Wamy Water)",
"I'm Die, Thank You Forever (Holo Bomb + X-Potato)",
"Idol Concert (Glowstick + Idol Song)",
"Legendary Sausage (BL Book + Sausage)",
"Light Beam (Fan Beam + Glowstick)",
"Lightning Wiener (Plug Type Asacoco + Sausage)",
"MiComet (Elite Lava Bucket + Psycho Axe)",
"MiKorone (Elite Lava Bucket + X-Potato)",
"Rap Dog (Idol Song + X-Potato)",
"Ring Of Fitness (Bounce Ball + CEO's Tears)",
"Snow Flower Sake (Glowstick + Wamy Water)",
"Stream Of Tears (CEO's Tears + Fan Beam)",
]
# Archipelago Options
# ...