From ab2e8f78185143962e97629d5ee4ecee45100538 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sat, 16 May 2026 21:29:42 -0500 Subject: [PATCH 1/2] Update baserom and enemy_deny.yaml --- Rom.py | 2 +- data/base2current.bps | Bin 157482 -> 157506 bytes source/enemizer/enemy_deny.yaml | 15 +++++++++------ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Rom.py b/Rom.py index 67a14a46..bfa90f7b 100644 --- a/Rom.py +++ b/Rom.py @@ -85,7 +85,7 @@ from Utils import int16_as_bytes, int32_as_bytes, local_path, snes_to_pc from Versions import DRVersion, GKVersion, ORVersion JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '40c072b56aef71fb7754c1153b877594' +RANDOMIZERBASEHASH = '2eff237fff0085c5fdd80542e07778f2' class JsonRom(object): diff --git a/data/base2current.bps b/data/base2current.bps index a56c6d8fadd65739e0bb86a38a38049f6fab8870..720a0548f3626d9cb379f550a901e90397fd7830 100644 GIT binary patch delta 1244 zcmWmBZA?>F7zglspLSSoYbn9`hMQPLgfXl{jY28qRS_o$)grMOI_3*RH#g&SX7pb0 zE&^h?UgW62s`A!e3S}X#9(B9gtO^u(w$}WNe~sBeTYdF?!tRkD}|_>2XxhMGIQ< z*{)}XZ|4RT%32h=-1oeTPVA(Oh{=GfD{puV3j&&sEejt1_)jqS^9_$AQ-S`us+Y{t z$Gmm$_L+-TG@b$JwAh{r9rQcYnF&U9k2^U`@z6uztLTqRu*97jBmyx~AEF2Co0m?CcEf{2Hu2YnJ80m{_tWX-DLORqGa6g^DRZjL| zR^@(1QY{+H0&kqhgIS&2LMkI)B2_70LtmKSeOixr6C@^`@P(LYN>@Zt&b#3{e6rtC z@U+(-u44~pOeWy_{Y}C zJ5fe9e0cblyh8CjktT8OWRyT$i7A%&c-K=-m?QR-?jn-iu zX(>5F!mMa^az$djkncO53nri!qLF+snUL>lRB|#btt6 z+_sCA97Tl;4!>i?9RY?DMX}B8Zoh#%l=&@gNtrjW4;Al(8<3*#K^d?#U5pya zVI#dC-71G_NXkM97BJI=XrBc(XlkopBS!L-WxPfkeAg{dMl;7x=-DfE$*tX1^llgA zg3gL^cf)h7J^g{GUZr69QjoO=eCw@HPD6|ZHCDiW(3GQ@3iut8YS5!S5D(fKUvLjF zirB)NSaRCZSl)chai&El??(z79HC98jrJKO@v0xBvhE delta 1230 zcmWmBdrVVT90%}oe=U!eT8a>-WlqO@qzp-QY8(`3Sy6Okie>nS7zA`v!?H)5^VObP z>0*o6UaoMWjCD+qaw(wJc|9}BH6&Hg%%FcPVz$K?hY?)0DE=X-zoot%5l z8NQ{FZfVXPQ>p*$O5Pqht~#OOP$WC0NS$)^%*dK zdUFDyp~iPZ-7Pu4hv;U$CFgO7=JCR|ePW}<$E}I{W4SfT$@2AN&fU(*WL+mG=#9AZ zf%)L{fJ(iW?42b)?&KDJ!!07|1@PTl!LT_is_R&jb@%+AvDi<+u%w`9?{w``t?{nM zHgKh>%|`ANz%uR#Nh*X6E=IZv!IE~O&lE=<=tk5>VuetZSwFxUAq9O)z9_80Q4gYa zvfcs>+-7po0ymat4AIeed_o&V{-3*IG5q{{gcJwKSzCjJ4N){?QBI!kO8@|d%kdzeO|vBK@rec{Ag>3Wbh zM0bY8?311B*>)tFr?(yc<90@vT~`nxmv8n?ois9XO>cNwdsE%cH!AM7B;?W4Ib^O4 zOe$_ijFj8pBbW@4^EOzKIvJuKy)qRdFKkd!(b`81AB@H)>b=&n1*UXKc|)SojhOPX zkDAxt(@M(HVdwNHGCxmrJRHvV&L2xp%$X$WLCOM&UA;BPzazSZeEC2r6a$CIWjhpe z$>eW4y!m?l0F@N`ARSXx1ll~hh8e@=`K!GT%(0kaC(Fwqf6>$+U8tW})sr@=4lI+_ zZR zzC})14OnY9k;c3EK%%rJ%1J^tz@{1Arx^JSm`^1od&Y^r5=t|5$+)?_Z`jOEYJEjp za#Q+Okorpa0h}NkHv;Ckd8ESuE4h{AjsqItkcF(O0xM@E2dZF&uB2g-XeD`3!6ebh zKUTp;PFwzE4nFNP1rHeG*pwV)$ma7Saw}ZTcE<84WQKRlq)uYgM)ep>Dml+ zP`i;NZGm6s9oqdq9*-jql9DyLIETJcJJpqd)o%4Mbw}OqOIty!$}nH1QgCTL_EeTQ diff --git a/source/enemizer/enemy_deny.yaml b/source/enemizer/enemy_deny.yaml index 56aca46d..6d4d2ac1 100644 --- a/source/enemizer/enemy_deny.yaml +++ b/source/enemizer/enemy_deny.yaml @@ -84,7 +84,10 @@ UwGeneralDeny: - [ 0x0039, 4, [ "RollerVerticalUp", "RollerVerticalDown", "RollerHorizontalLeft", "RollerHorizontalRight", "FirebarCW", "FirebarCCW" ] ] #"Skull Woods - Play Pen - Spike Trap 1" - [0x0039, 5, ["RollerVerticalUp", "RollerVerticalDown", "RollerHorizontalLeft", "Bumper", "AntiFairyCircle"]] #"Skull Woods - Play Pen - Hardhat Beetle" - [ 0x0039, 6, [ "RollerVerticalUp", "RollerVerticalDown", "RollerHorizontalLeft", "RollerHorizontalRight", "FirebarCW", "FirebarCCW" ] ] #"Skull Woods - Play Pen - Spike Trap 2" - - [0x003a, 1, ["RollerVerticalUp", "RollerVerticalDown"]] + - [ 0x003a, 0, ["RollerVerticalUp", "RollerVerticalDown"]] + - [ 0x003a, 1, ["RollerVerticalUp", "RollerVerticalDown"]] + - [ 0x003a, 3, ["RollerHorizontalLeft", "RollerHorizontalRight"]] + - [ 0x003a, 4, ["RollerHorizontalLeft", "RollerHorizontalRight"]] - [ 0x003b, 1, [ "Bumper", "AntiFairyCircle" ]] - [ 0x003b, 4, ["RollerVerticalUp", "RollerVerticalDown"]] - [ 0x003c, 0, ["BigSpike"]] @@ -339,11 +342,11 @@ UwGeneralDeny: - [ 0x00c2, 5, [ "Wizzrobe", "Statue" ] ] # Wizzrobes can't spawn on pots - [ 0x00c5, 6, [ "RollerVerticalUp", "RollerVerticalDown", "RollerHorizontalLeft", "RollerHorizontalRight", "Beamos", "AntiFairyCircle", "BigSpike", "SpikeBlock", "Bumper" ] ] #"Turtle Rock - Catwalk - Mini Helmasaur" - [ 0x00c5, 7, [ "Statue" ] ] #"Turtle Rock - Catwalk - Laser Eye (Left) 4" - - [0x00c6, 2, ["Bumper", "AntiFairyCircle"]] - - [0x00c6, 3, ["Bumper", "AntiFairyCircle"]] - - [0x00c6, 4, ["Bumper", "AntiFairyCircle"]] - - [0x00c6, 5, ["Bumper", "AntiFairyCircle"]] - - [0x00c6, 6, ["Bumper", "AntiFairyCircle"]] + - [ 0x00c6, 2, ["Bumper", "AntiFairyCircle", "BigSpike" ]] + - [ 0x00c6, 3, ["Bumper", "AntiFairyCircle", "BigSpike" ]] + - [ 0x00c6, 4, ["Bumper", "AntiFairyCircle", "BigSpike" ]] + - [ 0x00c6, 5, ["Bumper", "AntiFairyCircle", "BigSpike" ]] + - [ 0x00c6, 6, ["Bumper", "AntiFairyCircle", "BigSpike" ]] - [ 0x00cb, 0, [ "Wizzrobe", "Statue" ] ] # Wizzrobes can't spawn on pots - [ 0x00cb, 3, [ "RollerVerticalUp", "RollerVerticalDown", "Beamos", "AntiFairyCircle", "BigSpike", "SpikeBlock", "Bumper" ] ] #"Thieves' Town - Grand Room NW - Zol 1" - [ 0x00cb, 5, [ "RollerVerticalUp", "RollerVerticalDown", "Beamos", "AntiFairyCircle", "BigSpike", "SpikeBlock", "Bumper" ] ] #"Thieves' Town - Grand Room NW - Zol 2" From fb57e9fd34937096a72eb84477299d232afacd56 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sat, 16 May 2026 22:18:51 -0500 Subject: [PATCH 2/2] Fix some enemy denials being overwritten --- source/rom/DataTables.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/rom/DataTables.py b/source/rom/DataTables.py index 8523cf77..ace6a6ce 100644 --- a/source/rom/DataTables.py +++ b/source/rom/DataTables.py @@ -58,17 +58,17 @@ class DataTables: self.bush_sprite_table = {} # enemizer conditions - self.uw_enemy_denials = {} - self.ow_enemy_denials = {} - self.uw_enemy_drop_denials = {} + self.uw_enemy_denials = defaultdict(set) + self.ow_enemy_denials = defaultdict(set) + self.uw_enemy_drop_denials = defaultdict(set) self.sheet_choices = [] denial_data = load_cached_yaml(['source', 'enemizer', 'enemy_deny.yaml']) for denial in denial_data['UwGeneralDeny']: - self.uw_enemy_denials[denial[0], denial[1]] = {sprite_translation[x] for x in denial[2]} + self.uw_enemy_denials[denial[0], denial[1]] |= {sprite_translation[x] for x in denial[2]} for denial in denial_data['OwGeneralDeny']: - self.ow_enemy_denials[denial[0], denial[1]] = {sprite_translation[x] for x in denial[2]} + self.ow_enemy_denials[denial[0], denial[1]] |= {sprite_translation[x] for x in denial[2]} for denial in denial_data['UwEnemyDrop']: - self.uw_enemy_drop_denials[denial[0], denial[1]] = {sprite_translation[x] for x in denial[2]} + self.uw_enemy_drop_denials[denial[0], denial[1]] |= {sprite_translation[x] for x in denial[2]} weights = load_cached_yaml(['source', 'enemizer', 'enemy_weight.yaml']) self.uw_weights = {sprite_translation[k]: v for k, v in weights['UW'].items()} self.ow_weights = {sprite_translation[k]: v for k, v in weights['OW'].items()}