mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Merge branch 'main' into breaking_changes
# Conflicts: # Adjuster.py # AdjusterMain.py # BaseClasses.py # MultiClient.py # MultiServer.py # Mystery.py # Utils.py # WebHostLib/downloads.py # WebHostLib/generate.py # dumpSprites.py # test/TestBase.py # worlds/alttp/EntranceRandomizer.py # worlds/alttp/Main.py # worlds/alttp/Rom.py
This commit is contained in:
@@ -37,7 +37,6 @@ Uncle_texts = [
|
||||
"Chasing tail.\nFly ladies.\nDo not follow.",
|
||||
"I feel like\nI've done this\nbefore…",
|
||||
"Magic Cape can\npass through\nthe barrier!",
|
||||
"If this is a\nKanzeon seed,\nI'm quitting.",
|
||||
"I am not your\nreal uncle.",
|
||||
"You're going\nto have a very\nbad time.",
|
||||
"Today you\nwill have\nbad luck.",
|
||||
@@ -111,7 +110,6 @@ Triforce_texts = [
|
||||
"\n We did it!",
|
||||
"\n O M G",
|
||||
" Hello. Will\n you be my\n friend?",
|
||||
" Berserker\n was\n here!",
|
||||
"The Wind Fish\nwill wake\nsoon. Hoot!",
|
||||
"Meow meow meow\nMeow meow meow\n Oh my god!",
|
||||
"Ahhhhhhhhh\nYa ya yaaaah\nYa ya yaaah",
|
||||
@@ -175,6 +173,7 @@ Blind_texts = [
|
||||
"Do I like\ndrills? Just\na bit.",
|
||||
"I'd shell out\ngood rupees\nfor a conch.",
|
||||
"Current\naffairs are\nshocking!",
|
||||
"Agriculture\nis a growing\nfield."
|
||||
]
|
||||
Ganon1_texts = [
|
||||
"Start your day\nsmiling with a\ndelicious\nwhole grain\nbreakfast\ncreated for\nyour\nincredible\ninsides.",
|
||||
@@ -259,6 +258,16 @@ TavernMan_texts = [
|
||||
]
|
||||
|
||||
junk_texts = [
|
||||
"{C:GREEN}\nAgitha's good\nin Hyrule\nWarriors. >",
|
||||
"{C:GREEN}\nConsult Fi if\nthe batteries\nare low. >",
|
||||
"{C:GREEN}\nThere is no\n3rd quest in\nthis game. >",
|
||||
"{C:GREEN}\nI am Error.\n \n >",
|
||||
"{C:GREEN}\nThe Wind Fish\nknows all in\nhere. Hoot! >",
|
||||
"{C:GREEN}\nThere are no\nwallets in\nthis game. >",
|
||||
"{C:GREEN}\nCrossbow\nTraining is\na fun game. >",
|
||||
"{C:GREEN}\nThe shrine\ncontains\nMagnesis. >",
|
||||
"{C:GREEN}\nThe loftwing\nlet the duck\ntake over. >",
|
||||
"{C:GREEN}\nStasis would\nbe very\noverpowered.>",
|
||||
"{C:GREEN}\nIt’s a secret\nto everybody.\n >",
|
||||
"{C:GREEN}\nDodongo\ndislikes\nsmoke. >",
|
||||
"{C:GREEN}\n> Digdogger\nhates certain\nkind of sound.",
|
||||
@@ -266,7 +275,7 @@ junk_texts = [
|
||||
"{C:GREEN}\n>Secret power\nis said to be\nin the arrow.",
|
||||
"{C:GREEN}\nAim at the\neyes of Gohma.\n >",
|
||||
"{C:GREEN}\nGrumble,\ngrumble…\n >",
|
||||
"{C:GREEN}\n10th enemy\nhas the bomb.\n >",
|
||||
# "{C:GREEN}\n10th enemy\nhas the bomb.\n >", removed as people may assume it applies to this game
|
||||
"{C:GREEN}\nGo to the\nnext room.\n >",
|
||||
"{C:GREEN}\n>Thanks, @\nYou’re the\nhero of Hyrule",
|
||||
"{C:GREEN}\nThere’s always\nmoney in the\nBanana Stand>",
|
||||
@@ -290,9 +299,6 @@ junk_texts = [
|
||||
"{C:GREEN}\nMist Form\nis in the\nCatacombs. >",
|
||||
"{C:GREEN}\nMaybe you\ncould hire a\ndetective? >",
|
||||
"{C:GREEN}\n> READ\nor the owl\nwill eat you.",
|
||||
"{C:GREEN}\n> Bunnies\nare cute.",
|
||||
"{C:GREEN}\nPugs are the\nsuperior dog\nbreed. >",
|
||||
"{C:GREEN}\nThis is\nBerserker's\nMultiworld.>",
|
||||
"{C:GREEN}\nOther randos\nexist too!\nTry some! >",
|
||||
]
|
||||
|
||||
@@ -1229,7 +1235,8 @@ class GoldCreditMapper(CharTextMapper):
|
||||
|
||||
class GreenCreditMapper(CharTextMapper):
|
||||
char_map = {' ': 0x9F,
|
||||
'·': 0x52}
|
||||
'·': 0x52,
|
||||
'.': 0x52}
|
||||
alpha_offset = -0x29
|
||||
|
||||
class RedCreditMapper(CharTextMapper):
|
||||
@@ -1279,6 +1286,7 @@ class LargeCreditBottomMapper(CharTextMapper):
|
||||
|
||||
class TextTable(object):
|
||||
SIZE = 0x7355
|
||||
|
||||
def __init__(self):
|
||||
self._text = OrderedDict()
|
||||
self.setDefaultText()
|
||||
@@ -1286,6 +1294,9 @@ class TextTable(object):
|
||||
def __getitem__(self, key):
|
||||
return self._text[key]
|
||||
|
||||
def __contains__(self, key):
|
||||
return key in self._text
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
if not key in self._text:
|
||||
raise KeyError(key)
|
||||
@@ -1504,7 +1515,7 @@ class TextTable(object):
|
||||
text['tutorial_guard_4'] = CompressedTextMapper.convert("When you has a sword, press B to slash it.")
|
||||
text['tutorial_guard_5'] = CompressedTextMapper.convert("このメッセージはニホンゴでそのまま") # on purpose
|
||||
text['tutorial_guard_6'] = CompressedTextMapper.convert("Are we really still reading these?")
|
||||
text['tutorial_guard_7'] = CompressedTextMapper.convert("Jeeze! There really are a lot of things.")
|
||||
text['tutorial_guard_7'] = CompressedTextMapper.convert("Jeez! There really are a lot of things.")
|
||||
text['priest_sanctuary_before_leave'] = CompressedTextMapper.convert("Go be a hero!")
|
||||
text['sanctuary_enter'] = CompressedTextMapper.convert("YAY!\nYou saved Zelda!")
|
||||
text['zelda_sanctuary_story'] = CompressedTextMapper.convert("Do you want to hear me say this again?\n{HARP}\n ≥ no\n yes\n{CHOICE}")
|
||||
@@ -1664,12 +1675,12 @@ class TextTable(object):
|
||||
text['tavern_old_man_know_tree_unactivated_flute'] = CompressedTextMapper.convert("You should play that flute for the weathervane, cause reasons.")
|
||||
text['tavern_old_man_have_flute'] = CompressedTextMapper.convert("Life? Love? Happiness? The question you should really ask is: Was this generated by Stoops Alu or Stoops Jet?")
|
||||
text['chicken_hut_lady'] = CompressedTextMapper.convert("This is\nChristos' hut.\n\nHe's out, searching for a bow.")
|
||||
text['running_man'] = CompressedTextMapper.convert("Hi, Do you\nknow Veetorp?\n\nYou really\nshould. And\nall the other great guys who made this possible.\nGo thank them.\n\n\nIf you can catch them…")
|
||||
text['running_man'] = CompressedTextMapper.convert("Catch me,\nIf you can!")
|
||||
text['game_race_sign'] = CompressedTextMapper.convert("Why are you reading this sign? Run!!!")
|
||||
text['sign_bumper_cave'] = CompressedTextMapper.convert("You need Cape, but not Hookshot")
|
||||
text['sign_catfish'] = CompressedTextMapper.convert("toss rocks\ntoss items\ntoss cookies")
|
||||
text['sign_north_village_of_outcasts'] = CompressedTextMapper.convert("↑ Skull Woods\n\n↓ Steve's Town")
|
||||
text['sign_south_of_bumper_cave'] = CompressedTextMapper.convert("\n→ Karkats cave")
|
||||
text['sign_south_of_bumper_cave'] = CompressedTextMapper.convert("\n→ Dark Sanctuary")
|
||||
text['sign_east_of_pyramid'] = CompressedTextMapper.convert("\n→ Dark Palace")
|
||||
text['sign_east_of_bomb_shop'] = CompressedTextMapper.convert("\n← Bomb Shoppe")
|
||||
text['sign_east_of_mire'] = CompressedTextMapper.convert("\n← Misery Mire\n no way in.\n no way out.")
|
||||
@@ -1874,7 +1885,7 @@ class TextTable(object):
|
||||
text['item_get_sanc_heart'] = CompressedTextMapper.convert("You got a whole ♥!\nGo you!")
|
||||
text['fairy_fountain_refill'] = CompressedTextMapper.convert("Well done, lettuce have a cup of tea…")
|
||||
text['death_mountain_bullied_no_pearl'] = CompressedTextMapper.convert("The following license applies to the base patch for the randomizer.\n\nCopyright (c) 2017 LLCoolDave\n\nCopyright (c) 2020 Berserker66\n\nCopyright (c) 2020 CaitSith2\n\nCopyright 2016, 2017 Equilateral IT\n\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.")
|
||||
text['death_mountain_bullied_with_pearl'] = CompressedTextMapper.convert("The software is provided \"as is\", without warranty of any kind, express or implied, including but not limited to the warranties of\nmerchantability,\nfitness for a particular purpose and\nnoninfringement.\nIn no event shall the authors or copywight holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the Software or the use or other dealings in the software.")
|
||||
text['death_mountain_bullied_with_pearl'] = CompressedTextMapper.convert("The software is provided \"as is\", without warranty of any kind, express or implied, including but not limited to the warranties of\nmerchantability,\nfitness for a particular purpose and\nnoninfringement.\nIn no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the Software or the use or other dealings in the software.")
|
||||
text['death_mountain_bully_no_pearl'] = CompressedTextMapper.convert("Add garlic, ginger and apple and cook for 2 minutes. Add carrots, potatoes, garam masala and curry powder and stir well. Add tomato paste, stir well and slowly add red wine and bring to a boil. Add sugar, soy sauce and water, stir and bring to a boil again.")
|
||||
text['death_mountain_bully_with_pearl'] = CompressedTextMapper.convert("I think I forgot how to smile…")
|
||||
text['shop_darkworld_enter'] = CompressedTextMapper.convert("It's dangerous outside, buy my crap for safety.")
|
||||
@@ -1897,7 +1908,7 @@ class TextTable(object):
|
||||
text['ganon_fall_in'] = CompressedTextMapper.convert("You drove\naway my other\nself, Agahnim,\ntwo times…\nBut, I won't\ngive you the\nTriforce.\nI'll defeat\nyou!")
|
||||
# 170
|
||||
text['ganon_phase_3'] = CompressedTextMapper.convert("Can you beat\nmy darkness\ntechnique?")
|
||||
text['lost_woods_thief'] = CompressedTextMapper.convert("Have you seen Andy?\n\nHe was out looking for our prized Ether medallion.\nI wonder when he will be back?")
|
||||
text['lost_woods_thief'] = CompressedTextMapper.convert("Did you just vent?")
|
||||
text['blinds_hut_dude'] = CompressedTextMapper.convert("I'm just some dude. This is Blind's hut.")
|
||||
text['end_triforce'] = CompressedTextMapper.convert("{SPEED2}\n{MENU}\n{NOBORDER}\n G G")
|
||||
text['toppi_fallen'] = CompressedTextMapper.convert("Ouch!\n\nYou Jerk!")
|
||||
@@ -1906,7 +1917,7 @@ class TextTable(object):
|
||||
text['thief_desert_rupee_cave'] = CompressedTextMapper.convert("So you, like, busted down my door, and are being a jerk by talking to me? Normally I would be angry and make you pay for it, but I bet you're just going to break all my pots and steal my 50 rupees.")
|
||||
text['thief_ice_rupee_cave'] = CompressedTextMapper.convert("I'm a rupee pot farmer. One day I will take over the world with my skillz. Have you met my brother in the desert? He's way richer than I am.")
|
||||
text['telepathic_tile_south_east_darkworld_cave'] = CompressedTextMapper.convert("~~ dev cave ~~\n no farming\n required")
|
||||
text['cukeman'] = CompressedTextMapper.convert("Did you hear that Veetorp beat ajneb174 in a 1 on 1 race at AGDQ?")
|
||||
text['cukeman'] = CompressedTextMapper.convert("Hey mon!")
|
||||
text['cukeman_2'] = CompressedTextMapper.convert("You found Shabadoo, huh?\nNiiiiice.")
|
||||
text['potion_shop_no_cash'] = CompressedTextMapper.convert("Yo! I'm not running a charity here.")
|
||||
text['kakariko_powdered_chicken'] = CompressedTextMapper.convert("Smallhacker…\n\n\nWas hiding, you found me!\n\n\nOkay, you can leave now.")
|
||||
|
Reference in New Issue
Block a user