From 813015e007384b573b4a41cf8c03b04708f4f5f7 Mon Sep 17 00:00:00 2001 From: Alchav <59858495+Alchav@users.noreply.github.com> Date: Tue, 1 Nov 2022 02:02:15 -0400 Subject: [PATCH] [Pokemon] Fixes and updates (#1108) * [Pokemon] Logic fixes * [Pokemon] Fix seed name length * [Pokemon] Location name changes * [Pokemon] Hidden Item Nurse Bed logic fix * Badges Needed description update * Ensure player name does not exceed 16 bytes * Player name check fix * Remove unique items in start_inventory from item pool * Vending Machine Drinks will not be created as filler * Skip trainer text * Badges needed for viridian gym text * Add slot data for trackers * free fly map in slot data and old_man = vanilla allows more free fly maps * Re-add mistakenly removed slot data item * Add tracker link to setup doc * Doc fix * Fix base patch * Change pre_fill to generate_basic so items are pre-filled before item links * Rename some hidden locations * missing file from commit and revert one errant location name change --- PokemonClient.py | 6 +-- data/lua/PKMN_RB/pkmn_rb.lua | 2 +- worlds/pokemon_rb/__init__.py | 49 ++++++++++++++++++---- worlds/pokemon_rb/basepatch_blue.bsdiff4 | Bin 29178 -> 29579 bytes worlds/pokemon_rb/basepatch_red.bsdiff4 | Bin 29339 -> 29743 bytes worlds/pokemon_rb/docs/setup_en.md | 16 ++++++++ worlds/pokemon_rb/items.py | 6 +-- worlds/pokemon_rb/locations.py | 50 +++++++++++------------ worlds/pokemon_rb/options.py | 6 +-- worlds/pokemon_rb/regions.py | 11 +++-- worlds/pokemon_rb/rom.py | 8 ++-- worlds/pokemon_rb/rom_addresses.py | 7 ++-- worlds/pokemon_rb/rules.py | 29 ++++++------- 13 files changed, 121 insertions(+), 69 deletions(-) diff --git a/PokemonClient.py b/PokemonClient.py index 2328243d..33e902a3 100644 --- a/PokemonClient.py +++ b/PokemonClient.py @@ -170,12 +170,12 @@ async def gb_sync_task(ctx: GBContext): data_decoded = json.loads(data.decode()) #print(data_decoded) - if ctx.seed_name and ctx.seed_name != bytes(data_decoded['seedName']).decode(): + if ctx.seed_name and ctx.seed_name != ''.join([chr(i) for i in data_decoded['seedName'] if i != 0]): msg = "The server is running a different multiworld than your client is. (invalid seed_name)" logger.info(msg, extra={'compact_gui': True}) ctx.gui_error('Error', msg) error_status = CONNECTION_RESET_STATUS - ctx.seed_name = bytes(data_decoded['seedName']).decode() + ctx.seed_name = ''.join([chr(i) for i in data_decoded['seedName'] if i != 0]) if not ctx.auth: ctx.auth = ''.join([chr(i) for i in data_decoded['playerName'] if i != 0]) if ctx.auth == '': @@ -260,7 +260,7 @@ async def patch_and_run_game(game_version, patch_file, ctx): patch = stream.read() patched_rom_data = bsdiff4.patch(base_patched_rom_data, patch) - written_hash = patched_rom_data[0xFFCC:0xFFDC] + written_hash = patched_rom_data[0xFFCB:0xFFDB] if written_hash == basemd5.digest(): with open(comp_path, "wb") as patched_rom_file: patched_rom_file.write(patched_rom_data) diff --git a/data/lua/PKMN_RB/pkmn_rb.lua b/data/lua/PKMN_RB/pkmn_rb.lua index 7518a5f1..30ccbbd3 100644 --- a/data/lua/PKMN_RB/pkmn_rb.lua +++ b/data/lua/PKMN_RB/pkmn_rb.lua @@ -161,7 +161,7 @@ function receive() -- Determine Message to send back memDomain.rom() newPlayerName = uRange(0xFFF0, 0x10) - newSeedName = uRange(0xFFDC, 20) + newSeedName = uRange(0xFFDB, 21) if (playerName ~= nil and not arrayEqual(playerName, newPlayerName)) or (seedName ~= nil and not arrayEqual(seedName, newSeedName)) then print("ROM changed, quitting") curstate = STATE_UNINITIALIZED diff --git a/worlds/pokemon_rb/__init__.py b/worlds/pokemon_rb/__init__.py index 2f65f301..c6980fc0 100644 --- a/worlds/pokemon_rb/__init__.py +++ b/worlds/pokemon_rb/__init__.py @@ -80,6 +80,9 @@ class PokemonRedBlueWorld(World): self.trainer_name = encode_name(self.multiworld.trainer_name[self.player].value, "Player") self.rival_name = encode_name(self.multiworld.rival_name[self.player].value, "Rival") + if len(self.multiworld.player_name[self.player].encode()) > 16: + raise Exception(f"Player name too long for {self.multiworld.get_player_name(self.player)}. Player name cannot exceed 16 bytes for Pokémon Red and Blue.") + if self.multiworld.badges_needed_for_hm_moves[self.player].value >= 2: badges_to_add = ["Marsh Badge", "Volcano Badge", "Earth Badge"] if self.multiworld.badges_needed_for_hm_moves[self.player].value == 3: @@ -96,6 +99,7 @@ class PokemonRedBlueWorld(World): process_pokemon_data(self) def create_items(self) -> None: + start_inventory = self.multiworld.start_inventory[self.player].value.copy() locations = [location for location in location_data if location.type == "Item"] item_pool = [] for location in locations: @@ -105,7 +109,12 @@ class PokemonRedBlueWorld(World): continue if location.name == "Celadon City - Mansion Lady" and not self.multiworld.tea[self.player].value: continue - item = self.create_item(location.original_item) + if location.original_item in self.multiworld.start_inventory[self.player].value and \ + location.original_item in item_groups["Unique"]: + start_inventory[location.original_item] -= 1 + item = self.create_filler() + else: + item = self.create_item(location.original_item) if location.event: self.multiworld.get_location(location.name, self.player).place_locked_item(item) elif ("Badge" not in item.name or self.multiworld.badgesanity[self.player].value) and \ @@ -115,8 +124,7 @@ class PokemonRedBlueWorld(World): self.multiworld.itempool += item_pool - - def pre_fill(self): + def generate_basic(self) -> None: process_wild_pokemon(self) process_static_pokemon(self) @@ -169,7 +177,7 @@ class PokemonRedBlueWorld(World): unplaced_items = [] if loc.name in self.multiworld.priority_locations[self.player].value: add_item_rule(loc, lambda i: i.advancement) - for item in self.multiworld.itempool: + for item in reversed(self.multiworld.itempool): if item.player == self.player and loc.item_rule(item): self.multiworld.itempool.remove(item) state = sweep_from_pool(self.multiworld.state, self.multiworld.itempool + unplaced_items) @@ -197,11 +205,14 @@ class PokemonRedBlueWorld(World): def create_regions(self): if self.multiworld.free_fly_location[self.player].value: - fly_map_code = self.multiworld.random.randint(5, 9) + if self.multiworld.old_man[self.player].value == 0: + fly_map_code = self.multiworld.random.randint(1, 9) + else: + fly_map_code = self.multiworld.random.randint(5, 9) + if fly_map_code == 5: + fly_map_code = 4 if fly_map_code == 9: fly_map_code = 10 - if fly_map_code == 5: - fly_map_code = 4 else: fly_map_code = 0 self.fly_map = ["Pallet Town", "Viridian City", "Pewter City", "Cerulean City", "Lavender Town", @@ -236,7 +247,29 @@ class PokemonRedBlueWorld(World): def get_filler_item_name(self) -> str: return self.multiworld.random.choice([item for item in item_table if item_table[item].classification in - [ItemClassification.filler, ItemClassification.trap]]) + [ItemClassification.filler, ItemClassification.trap] and item not in + item_groups["Vending Machine Drinks"]]) + + def fill_slot_data(self) -> dict: + # for trackers + return { + "second_fossil_check_condition": self.multiworld.second_fossil_check_condition[self.player].value, + "require_item_finder": self.multiworld.require_item_finder[self.player].value, + "randomize_hidden_items": self.multiworld.randomize_hidden_items[self.player].value, + "badges_needed_for_hm_moves": self.multiworld.badges_needed_for_hm_moves[self.player].value, + "oaks_aide_rt_2": self.multiworld.oaks_aide_rt_2[self.player].value, + "oaks_aide_rt_11": self.multiworld.oaks_aide_rt_11[self.player].value, + "oaks_aide_rt_15": self.multiworld.oaks_aide_rt_15[self.player].value, + "extra_key_items": self.multiworld.extra_key_items[self.player].value, + "extra_strength_boulders": self.multiworld.extra_strength_boulders[self.player].value, + "tea": self.multiworld.tea[self.player].value, + "old_man": self.multiworld.old_man[self.player].value, + "elite_four_condition": self.multiworld.elite_four_condition[self.player].value, + "victory_road_condition": self.multiworld.victory_road_condition[self.player].value, + "viridian_gym_condition": self.multiworld.viridian_gym_condition[self.player].value, + "free_fly_map": self.fly_map_code, + "extra_badges": self.extra_badges + } class PokemonRBItem(Item): diff --git a/worlds/pokemon_rb/basepatch_blue.bsdiff4 b/worlds/pokemon_rb/basepatch_blue.bsdiff4 index c688ebede013ea52b66bb5629fc26a5a07b05719..1dd71016867957282d45f6354630dd429e5c573f 100644 GIT binary patch literal 29579 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 XR8Yu*cZyFMr~emnML1B9JXgWUwB}H) literal 29178 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 b31EbDb3?FVONK4{$Nnzlig2MJAY@hqPbju9 literal 29339 zcmZ6yWl)??(C)qX;_ea_Sr)g&Az5H?cL^>D8r&hl-QBY|EDpgT!QI{6Jy?XuoB#9F zdrsBqs;Tbjs=4oL=EKylx_V@E;7aoHP(E~Q!2g)A^8b1Ofare$8Dl#!erY4Hj!}h| zUjhJk`S1U=5C6j7&;QLge*b;^^Y_c^oAnebl%iW$iW0L=auVyXfD_jj1U+1dZe004IXc{G@v#lj*Jk$iNX zt}{a{)Ot}~h@oWOzi@Gp7Oa)*uTWl5?4JW=D3Miz+AXL71U2m*p>rvSxf15Zhg`Hp z`*T5Q=p!EEf~^$T!Tx8-+<645S)Z{kY#i6Bk$veMQwGN&1@?BPnlzp)dMQ4&HA;vq zTrmZo%F?~mvTWp(Z)=Ye!uCgA^os;CYEn22`lqb>!|iLEhF4t!J%R@>Mz{iugF)5W z!L+~(G*on03ghpM{qloSET!d{J8F_yNE3}Dqq9W;Cq;O?OQn}1)5r?~q0Aro>fEz* z;}A<2Y9G3uxK))C6f(1>-9wiuW3L$hipPxQZipVj2e@TJM-{cm7dVq0#t@q_K=m=~ zz~wS`-KN9Gls;~7x&SjXaXgHb+kVsCGNq)+n@OtMcCyku8XYC-1_zTK&%*LqYDt`l zx?7Ae8$4)C@VIK2X6%Yh&TUUm0T`hLWcNd%+0KyC6qbgl6hH(`V_35m?%5_9yNGwO zs8VOSwITByBR5t_YoX`sdtBEE@D!aQq4BGNgevH2$x5yIkW$d^lnIbJJeLLA(EZrD zoB3t7ZL~Uv051@KDGWpIPauloKwM7X>hZ6oNjlZHQV>-U&wfWnn|#4=vbGDGcParm z>;UQ{8lD@}%BX<|y&GAc*!kfqZqy>y%f6pEDQV#x)0c@Mvqjan*ibKzx2F15!HouZ z2?RfDG;EC8;_%UAtu+oy=5-HsAl>czgF5zP@j z=ICd2PEo@59V3LC_N6UHavIF+{Ce)70l+nXqWGwLS(M>7i?oxKDh1nRT}+(DF&iKAQ2oLJ}3>) zs`78T!6-a-Q0n-0fSZU9Vj(cDWTy$2J`;*i=EvmDq|;?7Lm!6??q9CCLTl5N=Bm*{ z@lLPD&!@r4*16F4B@p0&p>SnUj??Tjc!V#yQK=vlnGXuZBtIqzH=lf4%RQhdiwHht z;XkC~uxmb8>D}isX-D~Y6=2*ru-I_;JIgRydW%Bz(hmc{ykR9yg(v#L_KnQN3Q;fA znfEaY4j#J?;xfXV%(=eJC?M1Uoi5ne3(W)$zqc^V_qwN)s9lIlXaFekko}3OBkW2z zcsb$HYwLPp;Azb?qVxGUmh>WX@XZ_aG!epy%O4+_-+c7>_LR`=~l zlz7kf-ydDK(fQ;|9e+65UO}@P9#)~>H2uqo*j!t_F^{y#-Afa&$s+E0FlM-6iiO;6 zq7t7*=i~rE80I6JlfpZUcQU|G=0F~Id-HfTQnV=HX*_sz($JPI8w|wr+GBlhVX3pb zr$XuK)d-d#`RZ;j_V5el^t~XuUwWpzg1>)9)hzw_Y-K-m^4_VCfV@bN*5LD~Rz0+! z!t(fU;m?}-7#@~kii2afP4zI6dT-v0xuQPB|q*d1$ajwWkG(6U1l z1j!a)2`8An<`a=Tlh(}%g{Se-vIoA_!Zpya+oV$F)Oz}!g)BL;ouy41@*ZKO``e00XEQF`uD?fkOFfo5$J3GEmf41H46cjo3t3Yt{Z}Yk~1a<*y%Lms>_-agv|(DPnNvFqhM`8fkt{CM9wdC_cX0h}JEZHz#hyX( z)AH4gHURQ&xNv(Hz;IGB66^EsYU`7!gh0NZkF`zVk!E97z?6T_wiBz^d3+XD2Q1A{y&~WIsfl_ zcwzFyEUD1!#XI7vGtk*9HSE$mHA1bUS6WaS%yB8UQp^MzsNG!4KZ){-P(r1mbLgxc zz;2X=p$LHnV@O-H`-i1=_%r~P#c;-4bUS?TJWXLtE_A-I>Sx8LDOQp4it~z}8-Nc z#4X!RxP;cRA^R()8_rmFsE=K&r05I(z4?pWM)9agE}%e>0HV=y>%}{SVH4QHAz58G z*76Dsi+&$tpWypUUML@q!n{q^B2pzOrir-X$?K6w>k%_JRAxGfe%Sr(o`TysI5iwk zqBrbDCCY(Fz3DoeWcDFCTWzt| z`tRY#KCYC-f15*oi*wr>vMP*LhNKdGH%Yg2I7Q>+XJw)qB9fagsaL^M27W) zokz)J(X9ZgSyl*URNnh3@!OTIj5bF6qmEO9VY~&$aT`^`j5B~0eYWV)HEz<%@k^p< zPkEWA2V$L{^%jb|!jj@V7L$_a;scw=>nRM1F-^BGLym)=woeQ%it4w#IIxpLfpj9l zujy7=KS3EP#%GIU$NtE`{H)-MC{js24%Q}JYQ!$mvMyxY7+n-%dNeP=_ai7dbVi$+ z2FuMP1jkYhOG}7k5LSpw^ApNU0=VdXhVhd%H8F!FL*TBu@^IvX!o&L>v&bPzK+wmT zytAk3!Y4AR`aJn((DxbC8MLM;%K{@R#mdrn&P~_fiZ|xD%#1DJUjw4?v@#Z&__S-z zC4Hor?Sn&56u+6CH2)@?ygf?eUhuYCsHPOk^ zVGKWsr5bP^BEqQCKgLh-5q!v_50CY!#*tDl1v>`98AM;7mp??pBo+CZJXy5@Lo0<} z9{^#gXnE9ZDd2Z2SoyNWmW=eb1-r~>#*Lx$i>VqE$3G2-FBq`u;Jw}iByUHPZ_F5%V-2?tp6=uOj&tA zF3yFaPpJtgmLzVr<3(9^VXbHG*?<@tj@f{r*|T}a16)hu3d?I%!8d=2S(wO?Wz--p&&l;>S0=HBy(M10AYsyC_rIZuM1 zjE#W`gPyGh8ec4VMuZd|+8S99QV<*8cE! zU}U%=0LL?md)9?D{$%NTQ7eTB3~6I_FGiPPrGTKa`CenWV}~60;`ds|^cR^LO8X8B zI5BkyBJ(t(cRH$K;4PQgx`{?v^4J?wv*Jt-nS1tZFQim z1M8ZR(_(ddfX3n^5pCvsZ|RTX?mr$4kt$USm9I7Rxdp6;jK9`R*h~}Au4}1Y-KD>F z>$x~c76|v-#o|$^;GbSD_B^q?3v2T!e_>nDxdz`ixdjo(Ruq~hOLnft>4JAbI4rVR z?W!@LwW+yK%YkAl_c}yqwxGLa6;0|%C4Ku3#RRLpx@5(CusNayttD?4jBXXTLB3^~Mi*`+WZBJ&O zS4#J}FY?JyNN*huYUFH%V5&)@FO20B8cRLRzA^p;xf=L}!m%*Y-ysKQh)CqtiO4&A z<`~PFS&G^A?9(RVv?KRv^fRMQ6$)7Ad%N8iONSOTPjK210DSL+^xnCyoPjyJ1>EH3 zT7OZBqdsJp*CThvaT}8dBT;i_tpfh;Q%?rK60p+UNPH1n63KXY4D-Y>2D?Vc9dH2NY zkz`SDOzEO`Al$4w&m391Q@tq-%ma6XDh4ZAguE`;aj<7}Upo~oevtBaUtZH+oH!Hj zpH6J67DvEqF8s|(P%f^~3302W-Ry3F;*(LARnn~$)perOBCCO-=hNAEc_3T2CBW&a ziZAdz8K(x`wNxijf=;vpBAUhEM@La|q%;cI_FE%+*EBzY2K91HqnjIJjB-Tu7>aAC9JU9AC|1`~ATBa7NN`W!=IPT3t ztaIt0^7d#L6H6H!CP)*QcgZF662o1THC|vDlsZt%>D7?YM{=$=aPD*V@JCL(quSM) z#)l?nMklP)@40m_F-;chyG|e~TC*e))3UXP|GZOg@Ff(t%U0nR6($~AO^mymZSOIY z5RaK1q9^$%hBzZaO~+P0YHV?_0!2gdvrrFy6n<1HgP~a2`U{cqM5e8U9j1)k=6k!X zgAg%(%)U35E!2D>KE>E)uQa{So7*DWPNEpTl^I@OrOfsUDfvF*sCW>!&+`#mNX*}{ z#+)BJQtaHGnPb*79&sOu4a8RRvITxlo(_Zx`%yEF0 zd)au15JlJo81BvJL*QcAL#Ju+o#6e@7>Dj1F7YzG!c&USe7w99${KKO!9Kv<hmsns{F7fm6Sy=|FH5$-J6Av5_;|8a!GN;V2cb+`Z`ffQ=e~%BqJ1^or$_8)Quj z$+F}ho{<4yN`>B34;BLk8cTxai?k-Z$-cKQ5-o4!tnxcl2#T|5Yjq z@@c`t6W2d}g{4WeObxwOPQaI-pv}TyMGu$L|4J+^Rk+vvBlZuM18Ks?M(p2IhM}AS ze9L&tVtgGdob}#kXE;iRS!XiR&CS*o$;sX=V)OubCcfa%>|fgh(|+xtYXmeB>W9f!(GJR-4KrQS^TW@0G)#}Jfj?6$}7O(HD*GTT@l&v8% ze4+|>o)2n9ZT$^F6M?@DTH9VtX*$|zwMLy*!@H{F%SCJ zy4e%^O4EL=XEv>F)JA<=%yV-6c@Yc_n7n;hqT)q!3%2+pS;1h4#`b_kQf|294q_Ju z;h%zEA|JjPTeo-~GR7zfrRC?_i{rq`&JU~;w&HS#G_|P(H2M!Cv=q|apptwz<`d1A z)^6&xD)BLIJ=!P34am~Q0SvRxIBpj*E6tz-m0kAiSCv;Tg&ek4HK^RYBaDe+g@~&m z(W^LropOjLjgUqMpF@fL(uy9(^`VLBWUcP*_*l(pB2kS6_Bx1}b}*01h%9W}=31$6 z?p8ag&v+*>_!U=Tf1cbqH$`@?wq;jhZfL#`qv>Y+Y3+{AOH7*Z|Z1N}_ zdf#hU{%9rh$Ifa(S7tE14~wD6m}_nKOUbTg%ui?_en1X03Tg;daGBbMl`3z*n;K6K zNN{O97}`y!fBB}ti8sAj@!jxuU_|nOFo`#KiZoDWTlFSpbN0Rw z#nV%A$S>5#eA?!IVJ%s2RbKz!rlkiUbHEfdqGB@73u7qdW2EWK)PBsHYN;Mz(VMbdrJF>> zKcz&x{vhA@_X4}mb|8@GPW6o7r#9U{n~;Trt~96oULFbo50S8`K~?nm54ZSlnhaj+ ze4Zc%6<2o$L^X<9qoYmOaXf|oss4`AnwBh9&^`P_=Df;2fQ*yKNy~R3qRAY$SeYvh z1aE|whsLq7((;QS?;k$%97J2R(dpsJy4);P za^HR3x8>o)JLkxi7Hi}2BRgT2UI>|7?f$10xM9mr9Rh{q>et0j#d4yXv%dxca*NIMK8*-Gsy<6~tmIShi< z!T=nU8u(R5BaRwE6Qol0W9MSZ#B?YfX`nV$Z8DuDeLXq!d_B-cDyd|0fcgfd86W~0p!Y)|k}GF0P@5}; z;GzO!BrkQ2a-9S$#NVW@s1C{DEZ!O@phq6=mUm;f9`?VxzNx*^%3QUe!ig4fWk{c) z7p@la%p#AO(bqx^UZHt3RyV%$9iblWGdK*2VwVf~Sa%Zg29%qv+Rrre8gwr2f@kzQ z)?yAOgU4b}2+G5mo@!_oQh}BU8wN{CWVw#w56X)3;YkvI{e%T~EbqJC)Ty>s+RD(n zxF8@-#t^~XT;FlF_w%3+FtsQ1XD$qkF)Y^1Bw<9g>f0SaQ1~7vJ{S#2qt{Odn(P|J zsQTRrh~~#7$6f>&ajl4l2CEyE!xZ9e!8v)L#Xh%%syP+#Pqky4GymTkUFWAy%~gUj z`QOgT{$R?cGHmT0geX7R9wt5>t4v{4v;R6HZT9T7smP;0HC02YLi=)Ltz7@j5-%LT zP5`SO*u!_Hh$&MMsu2WqS1#H~5ruUo6Q-a{a7ZS9eAjKrAo30_>4#Q}a|LjLR9KPu zv2Nc;52KLAM~ktKu~!mI;(%}S)MuHfnL>v3bPq$|Xzx@fJhlT^&x1h+#zicsT)~PA z?hNRUhNj87c0`or;@V}zghL}qyM1s%4j9=c#D<*Iar_`ZC)78YLuw4gRCcXkJj9&k ztDBw|2NYFe&d>NHfl91kJYAulQPTNJnLz)~1T;4ZmP}v>Cm?b%Jw443!d4^J_gq(L zC_QJ(T%*lyOvvUYhhbP1+|y_>kfzB?D`SnP;Qv`Kr?LTM=&p5C9W^^1(hgyv0T%Qy zi3YH}MeLRIs~r$Mr=6wbwtBp{5Y_qYibUu7xRSy7kY$cCg~1Ih7S+8_F(8Akr>BK8 z)HR`fpY{!=%G{mL^6jU0+tVvT+#Vv9yGZ&B9NhtSGBQJiw$2bQts{XC{-(K9Y9Dtu6g(xnzI`Kq_0IrWZeaJt-hs(j&&ul9kbvW`yf$ z52j}*Y3UHbUw$+Iw-yfObqS1#KFzi>Lxfr`m{tqPJ3sz>U=G2}QFL(5z+I z{szHg5k*Bh&WA>-UeAG)TWi&FUHiikNr)lW+-%2)l22A+<*rL0m4g|f9eZ^36!iEW-Bf4~T5=7+!1xy{%kkZcad;vJQK z90(Ot+S@l}3HItFG?VOhR?&);kR8jkaALXG3&(mLwuDZZ{vtsxO$QyRxZLHnu%p18 zoPoE#dqxppa%T8qxNeyiQ93t=W}&X82f8d@W)TF5!;WL80alIr*e0O_aT2)trpMQ# zZG@21(ylydwIZP0cZr~B&5u{7FcHM>{!L%yopKqZ4xS^7PdomV%OfCf$6qJBWt_V$ zoZM-uln~$F|y1EMSIDVpYY1yi`REZ9U7;T(s7Z}f|AdY z{i?Wd3+-#}%1R+DUR&vR?&}E>oBERid2>8TR6HXN;%J${ez$}!>Xk1rVXFgC&0#fb zVip64EExu3irF8(y9F(Jl}SN#d(5dgOfUJT3VIClM7WCji9G3@{EB0V$pw_KF(?_- z)KrJZWM6g`0byISh<=^*>avoBqn-gP-!-o*wMC3 z(&6Gq>j^(R3Uy(B2|b9l>8ZQts`i}SHiZv_jr*iJc~i`m8c=M2gtUI-vW}-?>p~vA z5Sz@7M-!aNih)(KV)0^?*{h)gZ9Kx{Z{ZT&h?F4gJ|>xJkI&mAt)-O$2KioV{P?Ly+8CX%#GT zxoAcnJ;hLIUII`Y931UKJZI-_)#BwH%n})1qdN#^M#3lP<<*lp7qhafqtF$ZqTWZ5 zyL78&!=4NsZNl&S=pm8uXxZz1G~CfMjryh3ja1D{^M=vl_a^VI8a%&Gv$4S)LYl4eOQxb(in{H$&G7h~@1et^6Lh5*@kL z-7e24CCv)%Kf3X}3n9JABZ{k-@V#N3#^V_HbFYmira-VNZ zoK&i)N0_dP@2p~mYAJ}K%jjE?A$|h)FQ2obx<8lX4W3=#jomhEx_J(IHI_S9iCAVk z>@^f-IxEJD-7A$id~Z?~UinC~ZKJ2a_6g}$PKP80XhmoN4kZfxAH1K-Q>WN86{0=v zcV8r}c|+A}aYA!fG_)Np17PAy4`2I#lRM1zykm3fz>wGoK^9#N_2&9^A_ep-Wk>WLFE;hiTGM#f#9fS&2~}T17h7_I5|^--h{RUq32V zH7$J(mg#5FEqukt5vrEGL~V#xdEBnwfUhOari#f(|A|WgD?Tc&wK!6v*xmDo2vyeI zIaXi_s4DHoQNJhQS`9DQPBd$4n^AZIwW1Ny;^QHM z#6<8%E;<}y<@9ln20104ZgKb`T$^NuSJ+#8#&T|H?WUv7Va%h>xO+9+N`}vps%b-o zc!#QC)7H%GZ%iDBXJeNwLlc1mAxLD4uRVsIlS(8GxdVMeXHBRj(QjPycv;- zi!bP6(K1em+CjJ~n{Il1;OQmm@cT@STTrMC;Zl25(Om zB;LWyxZ^MBQ}K2jzN)H)+JTZ|QA48a-0dJlijY#CFJ5gU^V#oQPif-wSmy}HV|^u% za{wzPY}3)pewuE>0PmvlNyxH=)~SCX{mYudOzk2?@&f%%0vm~*{*I>N0c=}p#{911 zHrB(t+i9wiwAFbB+3*EbWhtit{WWchmY%r&XMTIGh%_i(0lDNL_}D->cmTACjAI!S zZn&F$iMeTPTSgY0o=L<}*%wR37mK*nEDF%2K;>Zi1kd1CYFPlU&v}2_5?Ex5plnhqAe% z9{FNEQaAZ9bc27zO`VN!Sq*J+L9z-e^X^^9EoiIQC{tgJ=(|fpYMR$+C4-T~?VTe@ zN)bD-9D+omR>jDA&{5?#p)y9&atv`56)dK}VbY`1pyz>2Ci}oqFO>O5G z5I#e@tyX`NnO0i?87c45Cib^+%EDzXvjLSDk#hx62ABn$83mt}>BSc~B=UU8g4%X>h}*B0xbjL~YOeAc0QJU7mGYzhQ#u>R<0p98P)5 z^1OO>_2zPhH)EFPKH#$!Nph|~wH$VM3WSY}@ZcBNC-$D~DBkQ8s7Dt_^Q1lK#UI6` zkx@HF1Xbde8};zB^a+hlwc%0Y+d$ae2*? z0W(Xrjy2A6#@Bx3p1tm4GLJAo^iKt;B-zITx~IO;W}A zCl4I?bVzY@W})FP9?Qpu;IIzTm*=Q`%A9o+c8btl;*2SF_W22hDl_Fhj!fUPA zjo_+IHyubQUi!8{9sbzCaUFeNF98J!P_h9T#iB{}RR4hkG%Nk7J&1>jizZmy6Gizx zM3x?1tT`OfHTI+p`N~^1iEd!$&&6c(k#uOeHrB>q_JJSgvY)f-vnAhNbW(Ys>iALw z;7gO1x?itC)R)2ORsvPn8%s*cx-6?^73F%I$fA?IU@RnUQO!3}k{}7IUzt zhQ#6k7xnR=d@yZII2jp{7Lg8~vU3CV8?z4yBhGbSUL`aSEKN$$6mnom=`wV1Ro{Wg zJal4!xdHBxn#IllO?rPEY_fjd8;e6O)d?Y}njG{=kmikcu0?ica_QucEB55{kgCxb zc3^i7UuqQ%&hp*xb3plCB6)Uh1bxz5t?0bcxD$CL zKPqsY@MLc203J3LlORZbwy1d2wA6%jp-?hBC0Ur}tadtC3sJO#oPfPdgjLa) z?AEA*zA_T6glT*O{VZ6BnOMActlcsLgSCb)b+EsoGU$&Osr>+0*#kfNyfqUkykXqX z;vmR}wDRB@<)~)quPlbxIZT@UUADliZN{2hMv>K1V=cj@o8(_g)lyR9*Mz6&VX%TU za;S#bDb^z8s5X^`ksMY9iiRC}Iq|y0y3&<=R`#XK`r`45_T^L@%yKFbS|m!`4p4_G zen@ewV%uD<5_!2|O?DVZWosHx2wYk|!nGdTzP*SV2I+~T(MxXjLZ*<@kfgdpJaB>K zpKPfG^&12#nW&IW%_M?&j77?2kTM**A_N47T^YyN&bT~2iz#=~2@4e2ki`-jUDYtc zIN>M6UZYABsvB*`UTMiqj1fQTj7dT+T{Bp|Y$GJClxjmZi}ua#7YovXav@Dpv~ZcW zE0j3IX;i_+v8Bp* z7BLeL5f)TP2q6{`UT`VnQ7jI9&9cO&2+qj$b$nbWHsE)5?}i6Yu?wrbRBuLiKpDcS zWN%na52TnrpOny+RE(7Ip5##aR|78NOSda&av^mKWGV?=!A;I-v)rP3vHr*4^fSgl z5-Cdm1W>@FwDLuWy!Amk3iY(z90%QjjC@f`5-p9|lnc!uufm=A54jkZ$3YBwcIBfPYBFX?Y}B$Vb(zpqJa#rgX)TdJ1l- zADkl|b<++iX8&~c+_5f7N6jGKFml1)I~{690LX$h0e>aGTUgOli!9TaRN*jzNelVc z{MD{nnB^+*Km2 z37{$+7;k)nwZ6#^+*&!LT&o4h)4mZ_9H(*e>@RARF*rr06rm6H32lCe%KCC}6}defF#&Zt1iVQx*4 zjKJVq3S~VsCFOMHd&^M-4$wh9GK~?h3PF+?Zij%#gs_*Ey36J+vUiB#qx7T@!+O38 zFwr2`+4%Xx5z#s9WHhMB?{DDRVAAfW{sQGH!5eE1NO5Q^rEo7C?vaMx&vHYb@WPZ) zG60OJNS6whO|Fw6(>1LOO8jV@cg=9AI}~}Z!Uq_gi3*XXdsj8eeuNiRc*cvV7W`%( zM^%r8qyOu8lOl`zj|R0?Gb_$H2!xwE31EF0ci+EXOtaTRHvwX38T<8eoiE~0<;M=@ z0(5({Bw9`MkMH;oPpr$=jVepdZE_7`{tK}Q$%fX+hds#z{X$BEPaF*d{US?v4(29q z)+|!*i`>UadsFCTrrvoC*|6vwwfTPwn532}t6w5Xst*aEWYiL%3eIM1FL=L%a`n5s z-(j@qwgE=Y#6EZnXmab4Hj>;89DjqgAB4_wWRNe!TFdc-h|XNdSth8Q2eH$ePcJ26w1KI`T#>1V16Z_s$S=abYMP&BH9iN%w7#2( zDyB!_JC|xTPDEk3;OA`Dc$@7{ff||cRAu-b(q%Z1kg3w_drm#Mp}6AU{wvR7*GP-i zdAVk{O)cHrU_bn8^0B)ua{8k11-Wr6M?xp(5S`)H(o2CNEaoI(iDcGiPM(?>0`)6o zr&BWhg>q*K-}j8~e)C=IGIWl=%TIfuG{YfbnBVR{qgh-$@729>L z-sfIeebk0ii(8L=Nn>OeIIszCQS+-~;!oA1$V}z0d201J2;gl=NarHA4r$cAVX<92 zytVDtH4tbU9C)G}D)%rV3J4`(2-JmN#@FBF0@up30yg`tMv#14-^tv=c1Jt7)x0Ta z=q5aJ`b-?!YW9!h)470=-Siw$kK*(@!w2uvUM4In%OhhuevgO~J~aZ2H*On#*ZSxL zf-Z{0c+bBT?Hus+dafsx?B3PizW1(B6M&#c(9*9?%s*;Anke#2rhtSxLklZ2(S6j@ zOHhGl90XMWzBEqZKNV;-B^4tPUB4QaY!6|wQzETviLG7O-&I4;c-V2krYXz>C(9o5 zg#9Ao^70Dr0J+y}=1e<~P(UipoK>)I63j-S`8!wb?v>Y7$;l2cjQ%OgiT--TOx3-+ z7kf20|7gJgd+5^nhosPI&EDDXZxDu8#LLusyb9w7S3d9;B@sIAWy<758f1tY)!oEkG5g4ILXouDcx616E~T_AnR#WDLtkj*~_z>7g=lm zCzcvwxUOKWKA@xv@_`=PkxcrXHWv0<(KSMy^ko0 zn&BlCVyRn{!}ON(JJ#~uX5K7Exshtq&t1;(&+Ci#)kN4|R72$KvcTg`VMRa*fZO>& zGK$b|M`sPn<%L2-?lyRs4Yv+`Z&kVk?06u@EI+)N>wE7sF=FyOHYnU53RX*|vHyhQ zmkr+7Om8YbZWQ^R6&MoVeiGV-8c(D(=bos<`ff+u9N-0$1Njg-XOa<~x^0UeUa3S* z`_tF{JdwmtE2N;(zW3GfP^wkW`=yTE#q~xGzAJ>!AxdBYApjOkv_e{}+&QI= z;7ZYNu}z8nj^5p4{64fHQwrnPVopw4^ZQ236 z-+&+{LJT6dO^M$Mn7qVq(yT2@KcIp(Ttgh1R>$uer&}`hoZg<@r(ub8>@BWGz4`sw zXqW*IwGaE4gw+@N$oIthGPzQNAIMmSn+i_6slWbXRX8a`h)EUlXp2YhANewC>|3XT z>z(T$=|Wa2!Kd`R0J-P6(4t{0@w-BPX+C0qQNRzaoh)3U`@>$cNxb|XiC~Fj#Xi>} z#=9#lrc^)!*#Yj}{qT(P3$M>spU|>WzT&47YG>R4T{Gt`QGa3nB!OgfYiRQY@8uHm zJ>UbqsLy`7tE>U()ypu8&|k<1D8>S@Gl&!hVFXqXMOsBR5z$ju7X#AdkWth=a$)t< zBoHyfXDH=CN7t+JzsKhH$T~j+efD+;0B{&3plmP_z+>PG`{lGeFk89hpcV@}%VfGU!F!?G(W4hWMw#3_MLk4MJqH(t<`u$j zZpDOB=sM+Rr{v#>(2uR&&TwbzY|8|Cqlc_KtcOyn7Z`@H{UAcCT14!rQ|xhl)HxgI zP5Jv`fdlK%VA8<`7+v^)fIE=kO&y3hSy}AHM$5K^sSuo z_O{S9_oh~Ta6Gd*2fUvc_;XWt_w91ip$z_;ABM@BSfuDGOuKUbo6^K|BvN|%B4Eds zZMaGf%|b1^+flRq5EK>#(c6XJ^TQ9B6Zn3Z%h}3p3A3x>;7-I^hT#ILyq9NB+A_dKtdT%!`U|M#Gy~=Yd-&<*^RF z$LN-!bpiQ)C3!*PrB^Sd1Ij_F&usHbUP`=WGNVL46CgZQcdO__cdF(wXlQ&jarpMf zU#JIO@kC&!l75YbEt<=k{gLFx0po%7@ti06I~d*9O&fpOwKsgUf>Scw&t|7w6Ol2r zc3tw1^Q<&u)~x6Z`a=l!KZNjEY>nC8juttratm(e8};vjX8skqTM@3J?@3*hW7cFy zc3w5_Z=;_J$Od7jf~Rr4d4uSh58m?PXHaFZqjgQ>rY|?wx8hLR@D3D2n}Xl)rZ|!c z3QAo8wP8GCWy-8Lan&ic7rAW#%R-kww?1a{)pOveCYO?71GcZx$_&(4n537zL^a_b zbw33@kSn8$+Ee6Og)%jfYGW!Ih%7yR8sXgkUhqstdw*{)UN_0)q|D01Yvzsu!6{6o zNM*`Nsf=MPnS*UV;|LaG?FQc^-l=pkR8BYJx$4$vvZu;|E5W5O~<(U5eeL5d#|g@oKBC%fbM zotJFyyt*yJQD1(fotX*=?HiR}F|{4M*N*J6?F_0Ps$7OL)rp(8OZSJQ96nrxH~OhQ zzWK|XUB)>rvPL}F?xAtW{qZ_Yr>Y`0z=8!;zw5DPtnuJNg6z(=_&GvCnICV$*2-+# znz|M#Fs#Q_)a1*pHSCve|5j?8Lapk1kKhjYAo47sat5*e3#q_O!hrIJ|O)aV0Evv_-e=xnYq8$_gPjmm1v(1MQP0{HSab+%F zvfY+h-~3QnlPce+!j9e(J*r*}Ng@H$y-F%z=LXGqMbW5EB|>vN20Ac%N`PvAGsigy z%+&H7PVOS>P=WWxPY$3t3mp&)<{0p$2vw++*{re4`R_kZnZG7zBOojGp!eY_#k83 zi*=))NZx@2T|aK<^_0fJ=%M84!>O@UQg5e8aMZc2V^xI$i_L?8v4&&o1oMwl(NpHB z(Qfbhw$H!(xJ`a(YkeRdy}Fag&+<_}ThL4F#xYrPphS;RtQ&lK)#l$w6DOfYE+?jJ zBS3vMlP2|g^TOW7C}7rz;)TYaSbQHuykfo$pcH^{z!1|EKnV@K_=-3xG%^_p3Qg27 zh?%Bp-gYffj@ve6`tF*4ep&e?l*{ecqdQ4(Fjk<#5IaB6OZ^e$@vmiY5KGkgk=Y>@ z)r+@daXw!GJ&#Kji60R%uS*nOeLVX2sNzUsl2ET8s%eHEwPj889a_fs7svxcPh-xE zUFUj(WEy!k1!v*Qytmabb^=mIIowvqp0QLHhLkv6egr!-@(8?sDW|1 zhA1QwPC0o^pC*2MYh@XMP&KK}p99~NP>RTI9bQdRl@eNWEJ{$iFFyKB}z18({du6sQ|$J`yZ(WXi-pQ5C-ZVL(UH}rX1 zUk=W1e>0zlQ$>%~ZTgmfr0>QzbN`@>+88LyOwSs)%iAlMGI5uP{5iMz`nJSrqa+P| zKKW`!!dm4gRh?y=ms}=cN^?fnsp3!HmO^10t@Kc#@5qVw#2KDF&Yv6NloD>Ta054u z4s1HEKi(cU)dw$_4}8AHkN?bBcm8d&XV9`r;Cv>4a?fLTO+;{{h1YuWaO=wRjP^O8 z`eMuA@=vu3DM1%DP&Hs;lZToP>zy1Nop?)kQ4DyTBl?Hnicq@2LY6w`t@kqDyY8p;5wSB+{p39&^uPN*g4x5ZOD^B)my^Zy0;F$T^}$3Mp31mD0A@^DTJT-aa3 zM#cr(iCVpG((9t05Ha)n79qUPmXPU<+3?xsrfet1d7iKL`ug}WXJCUS|M-97o(r)= z!9)c=?Dm;4ijx8bn1q!fhb(GOd-1+5xKq7FABe+RRQjd`B-50jEHWwSw8JKKpGxH# z_o(u3$Maa|UtVOS3??@F76Sqchc0ew8VoFxc6Kr}W({|i=9@5Pg7rA4EQV<}ef=Jj zH8U(kD^bJCwzJ_&PdNr^+V_CSkA42XneuXxw2w;cj!9=Z@k?kb`kcVwEG}4HlHf;D z+*w4k4JRj17x#2c2iq2@1D6itX1{5xJXIr5=`u(*vi(%#`^nh>n`wKmN{%y1%5K!k zcpY`?eCnL>-S~d+d%nbF_?nl$bMNu}ubo1 z%TD#5VOYn7SfxKjK&v!2out*XGhZ~3@OkP5N7P_ht56vDBu+%dE+PiJ3KPCQ5*chj zT#R^l|HBYT6fOK$tB!IvVs`S#tj^C~IcVJNMH#U*4#VLs6Dd_vfk@3HfsjgRz@Qw8 zn*U3a+PG2gx-2o$uRF(QsH09*^rk&8zYY6%m#Ny(pVVQEv`RinkAmhKrwJN71eii~ zrTFrhJ*h*;fOOX!M;WdgZErI4NNhmKgx2TkV`<^z<>G-ug_%4b@K7q+UNZtP5D-^r z;QAE31)lX#B^8wxlv8})BBG912L-$J{9Cp(hp`@ai-1ldLauI1kSts3y|gwxY?_di^RT(KtaV|e`MDs& zpxF11ztm<9oT$tQw4h=udZQ3Q6dvu)mCcU(1e@kYw=F#874B3xQqN7%<@0=d9BH2a zLdKn1JhTkgj<8}ZbHk;zdaM?HHM(``&=hZRs1+0p3yK~&*jhrJVkR0D-3eM^J=E(G zHBRx6qvc!WYy6Bp?w!VtX%^Y))paBW$fE&4szjz+a<)<>o8#Cren#yPlHke+H_gnc zvDM4XtLgO~g<5m`nhkEJVuu_!pj zqUc{&rtn8zaCSz{$wCiXq#!q#@gOqps00I7kv=`Ed$|;T+DB498|4@WNh#Ws>gTf} zf9`1HBtM%kTg1U1aVLP2y<`V^6O4D5O-b5A%Gm;r?~6hG4s3I-ZDpCemX4QRh+7o2 zhUDt9d%ScPLz#gnMGbp&l5X6bNWAhw|7HRDJN7 z=#&SNoqTPv+1aYVOtw+hD=TtXpv|Tqc*FgPBh{dulZ5h6oj#2h9zKhxaQ^AFmp&!c z>N8(5^|pKXe7n&DS6YT1_oc6_JU90;(AUpQsmGZ>^)oG=>sx{E74k%KyF)HKMMmyr z>--DlhHeF$skq$2J#|^)>?dcgzfkVnp!dp&Z=qBZ5r~_YQG$mX!HL<00ABlDd>00iez={|F$ z>ea&PJ1a|cI=v~K?o4AgrEU&6JN9RG4%WuE!{%(s-bk_jm2UfQ6JAlfdkpux{)hi* z2`Xget#~VVt?Ti9jZ7vfCbG+-4bL}hXs5Py8*x%Jlmc=GfKLP>ZzA|iz-~tXaDe>G zIbUCoCu2D7P$u;fnHTGmn#CxI{8oSA`1dItj5OJ^dn{mN4$2(#w^!EjuaoS3mu$53 z5)jd*O^%8{lTwUm zk}bmTmX_1JMA9v2*A%FMUS#LmPN|HJH>y!8sfAm!yTgj#AXY&r{0rG3_-JkzFFE(S z`reMf<{a1cn-)t!U^@i{UV7f9vh`^#ydyW9yqSggQI8#P?lEUG&7Iu?zt>(H(^o8x z3y1#u*F9I?!PkF3JhuJE9tCHLnN2QjUcM(wEGJt~{k zJ2m>1;kAX^UU&56-)rT-me-{a$v}mV9?14p=IQ~(%W;7WV!b7wMgFXdQL&-RUBS4a z9qqlHx-K>2rrrp<(!%}KBocbHDzX)l0TDWWL$0n_9r?Fqy}tVM?CoR2F8+B~%T?Ir zm&UYWGtM!15>o7Nl59}*i|Q~fKhvTuV%z#X((v;%ACGTAWTBHr#8LAZ?|L+I zjKkIC(^n@Y1)a1hxzUR2_UaTiLZ~@Y<~~lkpYuRx_r*XMN^MrN8pxoc68j;A!4v$& zzPwub)+|o96Ad_5O>?w`9zaiCaLWM0Gy=pS+HY-@-vEu%DN9O}Ox;!@)SN86xh+V4 zS4&!L|K+uPZXseI4qaJR1SmkEY6lFOPR*??MIlN?5M&JK=y5ww@pGdxqTiJQqoFe` zPqVL$z`LTWpYDEV!FGYYVCTw&7V@D2S)-v2A8MqxNdN(Y1A+pFaN#ThEI@P4eJifU zg#kjrR$hB)utD^3!=E>GnNTFrFn#V!Q<_2LvNvmk5SUl((8?8xEDwz`AbF63;gea< z)^2g+%)g@OxI8P`NO$gq7^L?7MR_6w8&nESr`%Gn<|mrc9NF1`r93;doG+yHR2~&f zCGi&@omO@fJbEVF2-8{#Rh%Yg2V}`L8nS)jCn@y)!ugjiaG8*L7bx+{1ve^(l2hZc zB_8r0?Guyh=rB3yMTMA7*UGKVc~w5k31ZachEYwG16cdW$RDh}<$6Cshs=kBo`LY+ za>0fZ;?(_=roMGVFr?Tp|FQTpmYmKt8|a-Tl^#FUQ@LaQ=KJ{28i~Y2#(|Rq5>Nd) z>5r_Z-0!g23=y5a)p^g`A&K&89wJVMUcKgXcj&XBrDe_M*qHntd8GI6<=vPMVtmL` zlK7B6ue+OL7rcYrU)F#&z2pu@2_F2Wq&lI=4tah|{WK=sf-i5b#@MAVH$TO=?Ycoj zRaFE_9QlCi2kM|Qc8`y~Bl7(ooo!yW85Km5_WvL8d$+=eeGgp;-TJPV33PLQb^r6Z zB*Ow2N?_$hlEM|~ye+Ix+RCtz2kWKE2*-pJvht)K9QN+!PxvMzkSJ^dF~5^bOO#kUj1mrGk5jwat_B z)-As+QeptC{nCj_Ucu^J@<>GS%4Q-`Ec^xZJ!Kt}-&L)s;5?$2kE_tEa@4BIo!Y2X zX7>gb#vX&Z#~%6f3zckqrHgvrvS*b|$Ut64s4t59OIxV1^B>B*`QI&IjajA~G54+o zFv5JVN6y9O_ezC558Tm>HFY`I753=K-(hrEP4p!0{rw)(*GPP%A(C_V?g!R?$f6I+=Ee1cX3G)LZH^a%BmkKXr=39M3EV91lI;32^9 z)D%F67qI;HPaBuSXe5f9Zu z^J&drwk$YEr(5T^&;urI?!PSW2dcCz95naSkXnA>Fm}aqxLaCFmK@I+?@r6_*2N0rHttz0N$eHV`(Qrh_j9Iq)|at#0yj z-v)Iw*|NrNY|#w6jYx4<18;T9xm}G}STM<<<}J`*T9rNdwuR}O))NlF?v~#xBHoD; zx*U1rcQ37n!!Gx=wB%&p~A{-zcJg`Ka+lHFv#0# zooYx37S$2C;fEE|Q17tVUAK|nUssjyl}C8#8q0|zB0C3R0*3(gHJ~qkx6j!!Ma?dV ze<$}bf;FBxBy3r_2pbFdP|$*NI(0q!jSEQiN_mUGE-FZviiIaG)2$$pIk1TUWeZlO z21<;=qK;qVw6LBVOpAU>w;zc*_M5)3*=eaP`$*cZezUE%AXQLQBvp|^ipExf88{_q zXt&$Y=gLuvXNxY5384b4#F4jP>ppZqP|0%M?12Ru@9S6Eg(%uoUxD-k=T=yx?Itn~1 z>zWxqQONTt@fCZX?NC%gCL)s*Lt^AP2u5&0AssmuRysQ{xdO$U7PO=<_!WU3^UnX< zwZ`W}bHb$xP@?U&9QzsJ&9r28=dUMH5)kbfnKxSTPa<#Onw<4qJ4?tw6qn#@0afOf z-gBHXnii-;QFnG$Jagsthp^>{+Oh*y9FqQ**QY-2=m6d^Pj-Gm_$Sbi1#$S2Ro+AC zkuQPtw738+JlCl9L<_e6VTa`XWg7kZgw`mCfr=m}>tq{UbqdvOA4u`syHa>O z&y%=~A2J}t7D(DcFpCE{mWYce@}w`OE#yxn_-<@w2l`{@Gx}R0-UQSS&b_1qK!^y& z#o%rmhc;wQOurYNk5dk=8Mt}7U&>Ce1xyKR3%ec&km7eaxLC#*K+GKYgm9qeuHdnKcQ(LXKAe#p+ zZGW(uf@^UZvtz(MHV2A<0>ArzkMk1G2kwLR_;IgRxIy}A{$l{)WDK+CKQ(YJZK=^^ zu~k6u7wAZWSdc;BH%{<2zeFWR!lD8M$)tBnGX&Cu>;rtr?q23|9)~Vxdc2HGeDvW#x>Qk)70n1Ux z)%lN`%Fm;i@di2|3XlxhkufLQuSk#Y?VVg81l&l_O$@QLpF>Xqt|MBIOVAA3pkj@pmLsg$V+_I78(TW zci#K9dd{cV>DqhXFTNKY000SfJK^s54zBG8M6Y8#Y75)xzRtbj+t*(wbLZRb2%$0o zG}BE0jF~Vd0$@)?Jtyc2W=)ka(@#WXVm&5JJyiWu@)~J@pwO79`Wj(0PbZ?AL69(} z$)=~I^cYMj>FEa0nlzh9=@>_;;u%Oa2m+=w(<$js%4VmjiL^~Hr-0PPjZ9>oO*J;D z=xt9?=}*ZSCdkCfdSuiz0KkTW$*44Gqd?O`)OvxCJx^0ZK=gnB4IZOLfDP)60jNy@ zG694dH84h)B6&?cDtj6e)elW4s(Vw>8fofaQ+lVU)5ylDf$C|Ai3R{|P14bi29-wKaLjY(5(?il|H8KEzOo^oQ4HE@6Y96AV3T!l^+M^@Nc~4VePbPwT znavi6&}Q4?bKe3Pzk^$s)^#~=Wc=RZnz+)Y%)HPDhABuF;?AKw^pvX* z^h*1u=}^-YgRxCIB>qT_rE?FN$W~ACMxvPnAZhvzgP&sQiH}ge_^&rD7n;&<^U4B1 z>*%J40b-MEP>#m+?-H!_gag8MJsj)BC382-V+Nac+P3dhE^Sm2B^0@0pi)Vb$YLBU zS2qj1rmB`7`mr(A|F13VO&~@TGKPvZ!3szn)u=P;m6`Brl}%O=LQD0J2DGrMC9=w% zfF~~|4as87&iC9!X=9g9USk(2yEin|)kLu#1!^||bSDQAfCWJ8H> zHXfM-3dWNSMvX4@w!BNNgzFAvNgjG1MPyZkmxpqq4Ct|^k!i)BP^O!Ty=@GW(#59; zifJsw{?B=o23_r_*z5?B*r2!;@Gm4}T zX+bEY1%wxtqVcg^c;xR(X{m^ITAVz7{yT;NjCg5r}X?8YAYbn{rMVOd)!+5uw+4vDF(JB|npv!YbP7Ot&EWjzA?ERxr~x{eKa;3%bXsLnZTxX&2E;1E*RWJ zucK4*6>w|L8G7xX>FXj*eZ>9;iu0SjpFqxrjD~J~?v~e&EFI$OU_rbw+u{LOW1<44QX_l@LFr^KNkQmI0zYTOhx1>Xgt z7%Nyj)1kv0SnYs_2;y5U(Mqf9lJ8eshq;LQ?IHT?qu6MSQvaRAnO9k!UP`Ql$Vbjy zr_ILhQ=09%aq~`ci{W1;>Y$OSp!qF$kdz(eq)5u}Aw|x67dtzB%jd?G2;uCtTBx6=DTMc@|Yx40QBoAGARf(lTe8YgUWmKDDiS(r;XDN?ev4 zk8-4R6tyW%k+KK78;Rj~)YL(GQ`sP*Q9CM%h!ADSZ&azOb~5$!LxZX3HNf`(pxgp5 zqU;(AqM?|rnI1SN+0)_L?^lD@0!cPLCr`g48Dg*X*JV4WX|Erkty*;*uoresjn3x^ zpFPoQeDgf!(KGfLkdw}|5*05c6#UXorgk0XJJp|jtU|&r46>Eyk3i;o&BPxtT&#SX zNn8nJa9aZiVw@sXk7f=2npUry$x!(CoS5fplD`tlZ>zpH9&u&sf0+RIcowU<2f%%R z)93nkB}+(CoD2!SZrKV_Vr&+OoJXR{kRLvq64j07+gmUSTC-cxvVjQs?(wB#si?aR z-buSiOWLP8goYnfa&=ZEttc`8b0EO?Tr)04MG_N%nI>j(3qXri^I> zv6yaf#^DhpGg0E|n_QUMI?^$94QAY+B~I{%whG98Iv=XCyF5C0D#5 z<~BEBu;=mU9sBjB291rPg>d~;3I|7ng&aM7SkU1rZVh*7yeM>?ABvj41Ciu*(>@|? zQYyaU0iNL0$~XlJM9P|d+|5-zV7rgC248QcXjz-2!t>Lpgtmw;2A&>flUd`^a~1tc zyjS~=Lc(Ht%caPhbJ;>+LM}TDFBV2(NF_*7Ui=j*!h7(#GmE4NCTL)25Kw+^XIvGM zVuaLaC2$xE#X;u!`n5lOl);G>uj#ap)Y(gC&$Yyxq_zS{z4!`&(Tl6#=Hz!+9d?fI z+1fG*o6-3Es1a2uG|dAAuU{#ydfuj&^wwr-bD|Z4H^kpLg3+W&=42-J-OgLcOS%lT zk#njZRmRJGpp{L88d)RZXj)gDdTku!t1x;9+6==JHpUG~P?c}+qs_l3-^Wp6$7ku0~J2(`>E&+a<|9e*Wf)xyuS@@x0NL? z><7zNx4NiTL978{ofX9D82rcn{9lo`bJPLvkeIC>G0gB5CKdB*;2MJ&P(ne~=h?%! z`vi8S?qY8+#w^n+fH)Ia8 zH`|K4udkAWqEbLofLVylMuyX)BXpubiapQM+{uyM9_*&1fi22`tA4@Hlz-|}_>T%u zf~y2&LdLKxWpkX24k3gzz*<~kFc9L>$1e}oEoXK#x=FNR7j@_l$!G7=$iWs%6aG^= zh;feRzW&z2hPx-2GJGfD0oyphChYGS%bC$g#ikN}Det9&^qW{vXwpT@v=~J9Rsw|6 z8+b@y9ASW9o)}CzZD*fnDJkfKO>a-`In_r4pGE9^$y|n8H4fF5)fXn7PhaKkj+G6D zC-7OOx0$6lYBoz{?Ky38SYCx@v&n6B&@`--pMnR6gixXBGsPD_tjLdd@D)0#zJjyz ziiu9<^Vc1L%)b!mqDxj=aBXAgPUo#KJxbmGw01Tu-3-`jVg{wz%f+tHoo@@Ovw)V0 z!g>5&o;JPX?W)?|bQR;RpO1A);tKnkw$SI~y2DLyut z5UxfP)siGu2%u*fBE-py0s?S?W=KRy*tC^^ED$zA>Y;+S1qu^9Vg4Cr_Kk(hPG-7! zRsF5%%l_o-bT$%O8g)Bbt*^NQE`^_t1JDoy&jUT!3U7(ufELRY`SfUJsQF4YFb^J?i1x2L{K50A%!y$O8FkXs=XEzh~ zdhHtTP%1WniQXHjXO5GB)MR*M^Z3PE

Sc+Mkq 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 n2Qpk6J:` on the te server uses password, type in the bottom textfield `/connect

: [password]`) Now you are ready to start your adventure in Kanto. + +## Auto-Tracking + +Pokémon Red and Blue has a fully functional map tracker that supports auto-tracking. + +1. Download [Pokémon Red and Blue Archipelago Map Tracker](https://github.com/j-imbo/pkmnrb_jim/releases/latest) and [PopTracker](https://github.com/black-sliver/PopTracker/releases). +2. Open PopTracker, and load the Pokémon Red and Blue pack. +3. Click on the "AP" symbol at the top. +4. Enter the AP address, slot name and password. + +The rest should take care of itself! Items and checks will be marked automatically, and it even knows your settings - It will hide checks & adjust logic accordingly. diff --git a/worlds/pokemon_rb/items.py b/worlds/pokemon_rb/items.py index 53722c02..82ac6345 100644 --- a/worlds/pokemon_rb/items.py +++ b/worlds/pokemon_rb/items.py @@ -66,9 +66,9 @@ item_table = { "Max Repel": ItemData(57, ItemClassification.filler, ["Consumables"]), "Dire Hit": ItemData(58, ItemClassification.filler, ["Consumables", "Battle Items"]), #"Coin": ItemData(59, ItemClassification.filler), - "Fresh Water": ItemData(60, ItemClassification.filler, ["Consumables"]), - "Soda Pop": ItemData(61, ItemClassification.filler, ["Consumables"]), - "Lemonade": ItemData(62, ItemClassification.filler, ["Consumables"]), + "Fresh Water": ItemData(60, ItemClassification.filler, ["Consumables", "Vending Machine Drinks"]), + "Soda Pop": ItemData(61, ItemClassification.filler, ["Consumables", "Vending Machine Drinks"]), + "Lemonade": ItemData(62, ItemClassification.filler, ["Consumables", "Vending Machine Drinks"]), "S.S. Ticket": ItemData(63, ItemClassification.progression, ["Unique", "Key Items"]), "Gold Teeth": ItemData(64, ItemClassification.progression, ["Unique", "Key Items"]), "X Attack": ItemData(65, ItemClassification.filler, ["Consumables", "Battle Items"]), diff --git a/worlds/pokemon_rb/locations.py b/worlds/pokemon_rb/locations.py index a619336f..e6f54dc8 100644 --- a/worlds/pokemon_rb/locations.py +++ b/worlds/pokemon_rb/locations.py @@ -321,21 +321,21 @@ location_data = [ LocationData("Viridian Forest", "Hidden Item Entrance Tree", "Antidote", rom_addresses['Hidden_Item_Viridian_Forest_2'], Hidden(1)), LocationData("Mt Moon B2F", "Hidden Item Dead End Before Fossils", "Moon Stone", rom_addresses['Hidden_Item_MtMoonB2F_1'], Hidden(2)), LocationData("Route 25", "Hidden Item Fence Outside Bill's House", "Ether", rom_addresses['Hidden_Item_Route_25_1'], Hidden(3)), - LocationData("Route 9", "Hidden Item Rock By Grass", "Ether", rom_addresses['Hidden_Item_Route_9'], Hidden(4)), + LocationData("Route 9", "Hidden Item Bush By Grass", "Ether", rom_addresses['Hidden_Item_Route_9'], Hidden(4)), LocationData("S.S. Anne 1F", "Hidden Item Kitchen Trash", "Great Ball", rom_addresses['Hidden_Item_SS_Anne_Kitchen'], Hidden(5)), LocationData("S.S. Anne B1F", "Hidden Item Under Pillow", "Hyper Potion", rom_addresses['Hidden_Item_SS_Anne_B1F'], Hidden(6)), - LocationData("Route 10 North", "Hidden Item Behind Rock Tunnel Entrance Tree", "Super Potion", rom_addresses['Hidden_Item_Route_10_1'], Hidden(7)), - LocationData("Route 10 South", "Hidden Item Rock", "Max Ether", rom_addresses['Hidden_Item_Route_10_2'], Hidden(8)), + LocationData("Route 10 North", "Hidden Item Behind Rock Tunnel Entrance Cuttable Tree", "Super Potion", rom_addresses['Hidden_Item_Route_10_1'], Hidden(7)), + LocationData("Route 10 South", "Hidden Item Bush", "Max Ether", rom_addresses['Hidden_Item_Route_10_2'], Hidden(8)), LocationData("Rocket Hideout B1F", "Hidden Item Pot Plant", "PP Up", rom_addresses['Hidden_Item_Rocket_Hideout_B1F'], Hidden(9)), LocationData("Rocket Hideout B3F", "Hidden Item Near East Item", "Nugget", rom_addresses['Hidden_Item_Rocket_Hideout_B3F'], Hidden(10)), LocationData("Rocket Hideout B4F", "Hidden Item Behind Giovanni", "Super Potion", rom_addresses['Hidden_Item_Rocket_Hideout_B4F'], Hidden(11)), LocationData("Pokemon Tower 5F", "Hidden Item Near West Staircase", "Elixir", rom_addresses['Hidden_Item_Pokemon_Tower_5F'], Hidden(12)), - LocationData("Route 13", "Hidden Item Dead End Boulder", "PP Up", rom_addresses['Hidden_Item_Route_13_1'], Hidden(13)), + LocationData("Route 13", "Hidden Item Dead End Bush", "PP Up", rom_addresses['Hidden_Item_Route_13_1'], Hidden(13)), LocationData("Route 13", "Hidden Item Dead End By Water Corner", "Calcium", rom_addresses['Hidden_Item_Route_13_2'], Hidden(14)), LocationData("Pokemon Mansion B1F", "Hidden Item Secret Key Room Corner", "Rare Candy", rom_addresses['Hidden_Item_Pokemon_Mansion_B1F'], Hidden(15)), LocationData("Safari Zone West", "Hidden Item Secret House Statue", "Revive", rom_addresses['Hidden_Item_Safari_Zone_West'], Hidden(17)), LocationData("Silph Co 5F", "Hidden Item Pot Plant", "Elixir", rom_addresses['Hidden_Item_Silph_Co_5F'], Hidden(18)), - LocationData("Silph Co 9F", "Hidden Item Nurse Bed", "Max Potion", rom_addresses['Hidden_Item_Silph_Co_9F'], Hidden(19)), + LocationData("Silph Co 9F", "Hidden Item Nurse Bed (Card Key)", "Max Potion", rom_addresses['Hidden_Item_Silph_Co_9F'], Hidden(19)), LocationData("Copycat's House", "Hidden Item Desk", "Nugget", rom_addresses['Hidden_Item_Copycats_House'], Hidden(20)), LocationData("Cerulean Cave 1F", "Hidden Item Center Rocks", "Rare Candy", rom_addresses['Hidden_Item_Cerulean_Cave_1F'], Hidden(21)), LocationData("Cerulean Cave B1F", "Hidden Item Northeast Rocks", "Ultra Ball", rom_addresses['Hidden_Item_Cerulean_Cave_B1F'], Hidden(22)), @@ -345,15 +345,15 @@ location_data = [ LocationData("Seafoam Islands B4F", "Hidden Item Corner Island", "Ultra Ball", rom_addresses['Hidden_Item_Seafoam_Islands_B4F'], Hidden(26)), LocationData("Pokemon Mansion 1F", "Hidden Item Block Near Entrance Carpet", "Moon Stone", rom_addresses['Hidden_Item_Pokemon_Mansion_1F'], Hidden(27)), LocationData("Pokemon Mansion 3F", "Hidden Item Behind Burglar", "Max Revive", rom_addresses['Hidden_Item_Pokemon_Mansion_3F'], Hidden(28)), - LocationData("Route 23 North", "Hidden Item Rocks Before Final Guard", "Full Restore", rom_addresses['Hidden_Item_Route_23_1'], Hidden(29)), - LocationData("Route 23 North", "Hidden Item East Tree After Water", "Ultra Ball", rom_addresses['Hidden_Item_Route_23_2'], Hidden(30)), - LocationData("Route 23 South", "Hidden Item On Island", "Max Ether", rom_addresses['Hidden_Item_Route_23_3'], Hidden(31)), + LocationData("Route 23", "Hidden Item Rocks Before Final Guard", "Full Restore", rom_addresses['Hidden_Item_Route_23_1'], Hidden(29)), + LocationData("Route 23", "Hidden Item East Bush After Water", "Ultra Ball", rom_addresses['Hidden_Item_Route_23_2'], Hidden(30)), + LocationData("Route 23", "Hidden Item On Island", "Max Ether", rom_addresses['Hidden_Item_Route_23_3'], Hidden(31)), LocationData("Victory Road 2F", "Hidden Item Rock Before Moltres", "Ultra Ball", rom_addresses['Hidden_Item_Victory_Road_2F_1'], Hidden(32)), LocationData("Victory Road 2F", "Hidden Item Rock In Final Room", "Full Restore", rom_addresses['Hidden_Item_Victory_Road_2F_2'], Hidden(33)), - #LocationData("Vermilion City", "Hidden Item The Truck", "Max Elixir", rom_addresses['Hidden_Item_Unused_6F'], Hidden(34)), + LocationData("Viridian City", "Hidden Item Cuttable Tree", "Potion", rom_addresses['Hidden_Item_Viridian_City'], Hidden(35)), - LocationData("Route 11", "Hidden Item Isolated Tree Near Gate", "Potion", rom_addresses['Hidden_Item_Route_11'], Hidden(36)), - LocationData("Route 12 West", "Hidden Item Tree Near Gate", "Hyper Potion", rom_addresses['Hidden_Item_Route_12'], Hidden(37)), + LocationData("Route 11", "Hidden Item Isolated Bush Near Gate", "Potion", rom_addresses['Hidden_Item_Route_11'], Hidden(36)), + LocationData("Route 12 West", "Hidden Item Bush Near Gate", "Hyper Potion", rom_addresses['Hidden_Item_Route_12'], Hidden(37)), LocationData("Route 17", "Hidden Item In Grass", "Rare Candy", rom_addresses['Hidden_Item_Route_17_1'], Hidden(38)), LocationData("Route 17", "Hidden Item Near Northernmost Sign", "Full Restore", rom_addresses['Hidden_Item_Route_17_2'], Hidden(39)), LocationData("Route 17", "Hidden Item East Center", "PP Up", rom_addresses['Hidden_Item_Route_17_3'], Hidden(40)), @@ -421,13 +421,13 @@ location_data = [ None, event=True, type="Wild Encounter"), LocationData("Route 19", "Super Rod Pokemon - 4", "Goldeen", rom_addresses["Wild_Super_Rod_H"] + 7, None, event=True, type="Wild Encounter"), - LocationData("Route 23 South", "Super Rod Pokemon - 1", "Slowbro", rom_addresses["Wild_Super_Rod_I"] + 1, + LocationData("Route 23", "Super Rod Pokemon - 1", "Slowbro", rom_addresses["Wild_Super_Rod_I"] + 1, None, event=True, type="Wild Encounter"), - LocationData("Route 23 South", "Super Rod Pokemon - 2", "Seaking", rom_addresses["Wild_Super_Rod_I"] + 3, + LocationData("Route 23", "Super Rod Pokemon - 2", "Seaking", rom_addresses["Wild_Super_Rod_I"] + 3, None, event=True, type="Wild Encounter"), - LocationData("Route 23 South", "Super Rod Pokemon - 3", "Kingler", rom_addresses["Wild_Super_Rod_I"] + 5, + LocationData("Route 23", "Super Rod Pokemon - 3", "Kingler", rom_addresses["Wild_Super_Rod_I"] + 5, None, event=True, type="Wild Encounter"), - LocationData("Route 23 South", "Super Rod Pokemon - 4", "Seadra", rom_addresses["Wild_Super_Rod_I"] + 7, + LocationData("Route 23", "Super Rod Pokemon - 4", "Seadra", rom_addresses["Wild_Super_Rod_I"] + 7, None, event=True, type="Wild Encounter"), LocationData("Fuchsia City", "Super Rod Pokemon - 1", "Seaking", rom_addresses["Wild_Super_Rod_J"] + 1, None, event=True, type="Wild Encounter"), @@ -1480,25 +1480,25 @@ location_data = [ None, event=True, type="Wild Encounter"), LocationData("Power Plant", "Wild Pokemon - 10", ["Electabuzz", "Raichu"], rom_addresses["Wild_PowerPlant"] + 19, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 1", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route23"] + 1, + LocationData("Route 23", "Wild Pokemon - 1", ["Ekans", "Sandshrew"], rom_addresses["Wild_Route23"] + 1, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 2", "Ditto", rom_addresses["Wild_Route23"] + 3, None, event=True, + LocationData("Route 23", "Wild Pokemon - 2", "Ditto", rom_addresses["Wild_Route23"] + 3, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 3", "Spearow", rom_addresses["Wild_Route23"] + 5, None, + LocationData("Route 23", "Wild Pokemon - 3", "Spearow", rom_addresses["Wild_Route23"] + 5, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 4", "Fearow", rom_addresses["Wild_Route23"] + 7, None, + LocationData("Route 23", "Wild Pokemon - 4", "Fearow", rom_addresses["Wild_Route23"] + 7, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 5", "Ditto", rom_addresses["Wild_Route23"] + 9, None, event=True, + LocationData("Route 23", "Wild Pokemon - 5", "Ditto", rom_addresses["Wild_Route23"] + 9, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 6", "Fearow", rom_addresses["Wild_Route23"] + 11, None, + LocationData("Route 23", "Wild Pokemon - 6", "Fearow", rom_addresses["Wild_Route23"] + 11, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 7", ["Arbok", "Sandslash"], rom_addresses["Wild_Route23"] + 13, + LocationData("Route 23", "Wild Pokemon - 7", ["Arbok", "Sandslash"], rom_addresses["Wild_Route23"] + 13, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 8", "Ditto", rom_addresses["Wild_Route23"] + 15, None, + LocationData("Route 23", "Wild Pokemon - 8", "Ditto", rom_addresses["Wild_Route23"] + 15, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 9", "Fearow", rom_addresses["Wild_Route23"] + 17, None, + LocationData("Route 23", "Wild Pokemon - 9", "Fearow", rom_addresses["Wild_Route23"] + 17, None, event=True, type="Wild Encounter"), - LocationData("Route 23 North", "Wild Pokemon - 10", "Fearow", rom_addresses["Wild_Route23"] + 19, None, + LocationData("Route 23", "Wild Pokemon - 10", "Fearow", rom_addresses["Wild_Route23"] + 19, None, event=True, type="Wild Encounter"), LocationData("Victory Road 2F", "Wild Pokemon - 1", "Machop", rom_addresses["Wild_VictoryRoad2F"] + 1, None, event=True, type="Wild Encounter"), diff --git a/worlds/pokemon_rb/options.py b/worlds/pokemon_rb/options.py index e7e972f3..6ab2b254 100644 --- a/worlds/pokemon_rb/options.py +++ b/worlds/pokemon_rb/options.py @@ -83,9 +83,9 @@ class BadgeSanity(Toggle): class BadgesNeededForHMMoves(Choice): - """Off will remove the requirement for badges to use HM moves. Extra will give the Marsh, Volcano, and Earth - Badges a random HM move to enable. Extra Plus will additionally pick two random badges to enable a second HM move. - A man in Cerulean City will reveal the moves enabled by each Badge.""" + """Off will remove the requirement for badges to use HM moves. Extra will give the Marsh, Volcano, and Earth Badges + a random HM move to enable. Extra Plus will additionally pick two random badges to enable a second HM move. + You will only need one of the required badges to use the HM move.""" display_name = "Badges Needed For HM Moves" default = 1 option_on = 1 diff --git a/worlds/pokemon_rb/regions.py b/worlds/pokemon_rb/regions.py index 1b537904..5141f06c 100644 --- a/worlds/pokemon_rb/regions.py +++ b/worlds/pokemon_rb/regions.py @@ -41,8 +41,7 @@ def create_regions(world: MultiWorld, player: int): create_region(world, player, "Route 2 East", locations_per_region), create_region(world, player, "Diglett's Cave", locations_per_region), create_region(world, player, "Route 22", locations_per_region), - create_region(world, player, "Route 23 South", locations_per_region), - create_region(world, player, "Route 23 North", locations_per_region), + create_region(world, player, "Route 23", locations_per_region), create_region(world, player, "Viridian Forest", locations_per_region), create_region(world, player, "Pewter City", locations_per_region), create_region(world, player, "Pewter Gym", locations_per_region), @@ -154,9 +153,9 @@ def create_regions(world: MultiWorld, player: int): connect(world, player, "Pallet Town", "Route 1") connect(world, player, "Route 1", "Viridian City") connect(world, player, "Viridian City", "Route 22") - connect(world, player, "Route 22", "Route 23 South", - lambda state: state.pokemon_rb_has_badges(state.multiworld.victory_road_condition[player].value, player)) - connect(world, player, "Route 23 South", "Route 23 North", lambda state: state.pokemon_rb_can_surf(player)) + connect(world, player, "Route 22", "Route 23", + lambda state: state.pokemon_rb_has_badges(state.multiworld.victory_road_condition[player].value, player) and + state.pokemon_rb_can_surf(player)) connect(world, player, "Viridian City North", "Viridian Gym", lambda state: state.pokemon_rb_has_badges(state.multiworld.viridian_gym_condition[player].value, player), one_way=True) connect(world, player, "Route 2", "Route 2 East", lambda state: state.pokemon_rb_can_cut(player)) @@ -270,7 +269,7 @@ def create_regions(world: MultiWorld, player: int): connect(world, player, "Pokemon Mansion 1F", "Pokemon Mansion 2F", one_way=True) connect(world, player, "Pokemon Mansion 2F", "Pokemon Mansion 3F", one_way=True) connect(world, player, "Pokemon Mansion 1F", "Pokemon Mansion B1F", one_way=True) - connect(world, player, "Route 23 North", "Victory Road 1F", lambda state: state.pokemon_rb_can_strength(player), one_way=True) + connect(world, player, "Route 23", "Victory Road 1F", lambda state: state.pokemon_rb_can_strength(player), one_way=True) connect(world, player, "Victory Road 1F", "Victory Road 2F", one_way=True) connect(world, player, "Victory Road 2F", "Victory Road 3F", one_way=True) connect(world, player, "Victory Road 2F", "Indigo Plateau", lambda state: state.pokemon_rb_has_badges(state.multiworld.elite_four_condition[player], player), one_way=True) diff --git a/worlds/pokemon_rb/rom.py b/worlds/pokemon_rb/rom.py index 9e3c567f..12e22a0f 100644 --- a/worlds/pokemon_rb/rom.py +++ b/worlds/pokemon_rb/rom.py @@ -409,6 +409,8 @@ def generate_output(self, output_directory: str): data[rom_addresses["Starting_Money_High"]] = int(money[:2], 16) data[rom_addresses["Starting_Money_Middle"]] = int(money[2:4], 16) data[rom_addresses["Starting_Money_Low"]] = int(money[4:], 16) + data[rom_addresses["Text_Badges_Needed_Viridian_Gym"]] = encode_text( + str(self.multiworld.viridian_gym_condition[self.player].value))[0] data[rom_addresses["Text_Badges_Needed"]] = encode_text( str(max(self.multiworld.victory_road_condition[self.player].value, self.multiworld.elite_four_condition[self.player].value)))[0] @@ -545,7 +547,7 @@ def generate_output(self, output_directory: str): mons.sort(key=lambda mon: 0 if mon == self.multiworld.get_location("Pallet Town - Starter 2", self.player).item.name else 1 if mon == self.multiworld.get_location("Pallet Town - Starter 1", self.player).item.name else 2 if mon == self.multiworld.get_location("Pallet Town - Starter 3", self.player).item.name else 3) - write_bytes(data, encode_text(self.multiworld.seed_name, 20, True), rom_addresses['Title_Seed']) + write_bytes(data, encode_text(self.multiworld.seed_name[-20:], 20, True), rom_addresses['Title_Seed']) slot_name = self.multiworld.player_name[self.player] slot_name.replace("@", " ") @@ -556,8 +558,8 @@ def generate_output(self, output_directory: str): write_bytes(data, self.trainer_name, rom_addresses['Player_Name']) write_bytes(data, self.rival_name, rom_addresses['Rival_Name']) - write_bytes(data, basemd5.digest(), 0xFFCC) - write_bytes(data, self.multiworld.seed_name.encode(), 0xFFDC) + write_bytes(data, basemd5.digest(), 0xFFCB) + write_bytes(data, self.multiworld.seed_name.encode(), 0xFFDB) write_bytes(data, self.multiworld.player_name[self.player].encode(), 0xFFF0) diff --git a/worlds/pokemon_rb/rom_addresses.py b/worlds/pokemon_rb/rom_addresses.py index c04a75bc..206365a2 100644 --- a/worlds/pokemon_rb/rom_addresses.py +++ b/worlds/pokemon_rb/rom_addresses.py @@ -327,9 +327,9 @@ rom_addresses = { "Learnset_Bellsprout": 0x3b9dc, "Learnset_Weepinbell": 0x3b9f0, "Learnset_Victreebel": 0x3ba00, - "Type_Chart": 0x3e4b6, - "Type_Chart_Divider": 0x3e5ac, - "Ghost_Battle3": 0x3efd9, + "Type_Chart": 0x3e4b0, + "Type_Chart_Divider": 0x3e5a6, + "Ghost_Battle3": 0x3efd3, "Missable_Pokemon_Mansion_1F_Item_1": 0x443d6, "Missable_Pokemon_Mansion_1F_Item_2": 0x443dd, "Map_Rock_TunnelF": 0x44676, @@ -585,4 +585,5 @@ rom_addresses = { "Badge_Text_Marsh_Badge": 0x9918c, "Badge_Text_Volcano_Badge": 0x991d6, "Badge_Text_Earth_Badge": 0x991f3, + "Text_Badges_Needed_Viridian_Gym": 0xa49f2, } diff --git a/worlds/pokemon_rb/rules.py b/worlds/pokemon_rb/rules.py index 2f0e573d..2f885fd6 100644 --- a/worlds/pokemon_rb/rules.py +++ b/worlds/pokemon_rb/rules.py @@ -73,12 +73,12 @@ def set_rules(world, player): "Anywhere - Good Rod Pokemon - 1": lambda state: state.has("Good Rod", player), "Anywhere - Good Rod Pokemon - 2": lambda state: state.has("Good Rod", player), "Anywhere - Old Rod Pokemon": lambda state: state.has("Old Rod", player), - "Celadon Prize Corner - Pokemon Prize - 1": lambda state: state.has("Coin Case", player), - "Celadon Prize Corner - Pokemon Prize - 2": lambda state: state.has("Coin Case", player), - "Celadon Prize Corner - Pokemon Prize - 3": lambda state: state.has("Coin Case", player), - "Celadon Prize Corner - Pokemon Prize - 4": lambda state: state.has("Coin Case", player), - "Celadon Prize Corner - Pokemon Prize - 5": lambda state: state.has("Coin Case", player), - "Celadon Prize Corner - Pokemon Prize - 6": lambda state: state.has("Coin Case", player), + "Celadon Prize Corner - Pokemon Prize - 1": lambda state: state.has("Coin Case", player), + "Celadon Prize Corner - Pokemon Prize - 2": lambda state: state.has("Coin Case", player), + "Celadon Prize Corner - Pokemon Prize - 3": lambda state: state.has("Coin Case", player), + "Celadon Prize Corner - Pokemon Prize - 4": lambda state: state.has("Coin Case", player), + "Celadon Prize Corner - Pokemon Prize - 5": lambda state: state.has("Coin Case", player), + "Celadon Prize Corner - Pokemon Prize - 6": lambda state: state.has("Coin Case", player), "Cinnabar Island - Old Amber Pokemon": lambda state: state.has("Old Amber", player), "Cinnabar Island - Helix Fossil Pokemon": lambda state: state.has("Helix Fossil", player), "Cinnabar Island - Dome Fossil Pokemon": lambda state: state.has("Dome Fossil", player), @@ -96,10 +96,10 @@ def set_rules(world, player): player), "Route 25 - Hidden Item Fence Outside Bill's House": lambda state: state.pokemon_rb_can_get_hidden_items( player), - "Route 9 - Hidden Item Rock By Grass": lambda state: state.pokemon_rb_can_get_hidden_items(player), + "Route 9 - Hidden Item Bush By Grass": lambda state: state.pokemon_rb_can_get_hidden_items(player), "S.S. Anne 1F - Hidden Item Kitchen Trash": lambda state: state.pokemon_rb_can_get_hidden_items(player), "S.S. Anne B1F - Hidden Item Under Pillow": lambda state: state.pokemon_rb_can_get_hidden_items(player), - "Route 10 - Hidden Item Behind Rock Tunnel Entrance Tree": lambda + "Route 10 - Hidden Item Behind Rock Tunnel Entrance Cuttable Tree": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Route 10 - Hidden Item Rock": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Rocket Hideout B1F - Hidden Item Pot Plant": lambda state: state.pokemon_rb_can_get_hidden_items(player), @@ -107,14 +107,15 @@ def set_rules(world, player): "Rocket Hideout B4F - Hidden Item Behind Giovanni": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Pokemon Tower 5F - Hidden Item Near West Staircase": lambda state: state.pokemon_rb_can_get_hidden_items( player), - "Route 13 - Hidden Item Dead End Boulder": lambda state: state.pokemon_rb_can_get_hidden_items(player), + "Route 13 - Hidden Item Dead End Bush": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Route 13 - Hidden Item Dead End By Water Corner": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Pokemon Mansion B1F - Hidden Item Secret Key Room Corner": lambda state: state.pokemon_rb_can_get_hidden_items( player), "Safari Zone West - Hidden Item Secret House Statue": lambda state: state.pokemon_rb_can_get_hidden_items( player), "Silph Co 5F - Hidden Item Pot Plant": lambda state: state.pokemon_rb_can_get_hidden_items(player), - "Silph Co 9F - Hidden Item Nurse Bed": lambda state: state.pokemon_rb_can_get_hidden_items(player), + "Silph Co 9F - Hidden Item Nurse Bed (Card Key)": lambda state: state.pokemon_rb_can_get_hidden_items( + player) and state.has("Card Key", player), "Copycat's House - Hidden Item Desk": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Cerulean Cave 1F - Hidden Item Center Rocks": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Cerulean Cave B1F - Hidden Item Northeast Rocks": lambda state: state.pokemon_rb_can_get_hidden_items(player), @@ -127,15 +128,15 @@ def set_rules(world, player): "Pokemon Mansion 3F - Hidden Item Behind Burglar": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Route 23 - Hidden Item Rocks Before Final Guard": lambda state: state.pokemon_rb_can_get_hidden_items( player), - "Route 23 - Hidden Item East Tree After Water": lambda state: state.pokemon_rb_can_get_hidden_items( + "Route 23 - Hidden Item East Bush After Water": lambda state: state.pokemon_rb_can_get_hidden_items( player), "Route 23 - Hidden Item On Island": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Victory Road 2F - Hidden Item Rock Before Moltres": lambda state: state.pokemon_rb_can_get_hidden_items( player), "Victory Road 2F - Hidden Item Rock In Final Room": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Viridian City - Hidden Item Cuttable Tree": lambda state: state.pokemon_rb_can_get_hidden_items(player), - "Route 11 - Hidden Item Isolated Tree Near Gate": lambda state: state.pokemon_rb_can_get_hidden_items(player), - "Route 12 - Hidden Item Tree Near Gate": lambda state: state.pokemon_rb_can_get_hidden_items(player), + "Route 11 - Hidden Item Isolated Bush Near Gate": lambda state: state.pokemon_rb_can_get_hidden_items(player), + "Route 12 - Hidden Item Bush Near Gate": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Route 17 - Hidden Item In Grass": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Route 17 - Hidden Item Near Northernmost Sign": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Route 17 - Hidden Item East Center": lambda state: state.pokemon_rb_can_get_hidden_items(player), @@ -153,7 +154,7 @@ def set_rules(world, player): "Mt Moon B2F - Hidden Item Lone Rock": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Seafoam Islands B3F - Hidden Item Rock": lambda state: state.pokemon_rb_can_get_hidden_items(player), "Vermilion City - Hidden Item In Water Near Fan Club": lambda state: state.pokemon_rb_can_get_hidden_items( - player), + player) and state.pokemon_rb_can_surf(player), "Cerulean City - Hidden Item Gym Badge Guy's Backyard": lambda state: state.pokemon_rb_can_get_hidden_items( player), "Route 4 - Hidden Item Plateau East Of Mt Moon": lambda state: state.pokemon_rb_can_get_hidden_items(player),