Skip to content

Commit 68e2c7f

Browse files
committed
New Forest Region
1 parent 61fcf8b commit 68e2c7f

File tree

15 files changed

+44
-26
lines changed

15 files changed

+44
-26
lines changed

randomizer/CollectibleLogicFiles/FungiForest.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,13 @@
9393
Regions.MushroomUpperExterior: [
9494
Collectible(Collectibles.bunch, Kongs.donkey, lambda _: True, None, 1), # Upper Warp 5
9595
Collectible(Collectibles.banana, Kongs.diddy, lambda _: True, None, 10),
96-
Collectible(Collectibles.bunch, Kongs.lanky, lambda l: l.handstand, None, 1), # Top of mushroom
9796

9897
Collectible(Collectibles.coin, Kongs.diddy, lambda _: True, None, 3), # Around crown pad
9998
Collectible(Collectibles.coin, Kongs.chunky, lambda _: True, None, 3), # On switch to face puzzle room
10099
],
100+
Regions.MushroomVeryTopExterior: [
101+
Collectible(Collectibles.bunch, Kongs.lanky, lambda _: True, None, 1), # Top of mushroom
102+
],
101103
Regions.MushroomChunkyRoom: [
102104
Collectible(Collectibles.bunch, Kongs.chunky, lambda _: True, None, 1),
103105
Collectible(Collectibles.balloon, Kongs.chunky, lambda l: l.pineapple, None, 1),

randomizer/CompileHints.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1924,6 +1924,7 @@ def compileHints(spoiler: Spoiler) -> bool:
19241924
Regions.ForestTopOfMill,
19251925
Regions.MillArea,
19261926
Regions.ThornvineArea,
1927+
Regions.MushroomVeryTopExterior,
19271928
],
19281929
[Regions.CrystalCavesEntryHandler, Regions.CrystalCavesMain, Regions.IglooArea, Regions.CabinArea],
19291930
[Regions.CreepyCastleEntryHandler, Regions.CreepyCastleMain, Regions.CastleWaterfall],

randomizer/Enums/Events.jsonc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@
236236
"AirSpaceEntered": 205,
237237
"HelmLobbyW1aTagged": 206,
238238
"HelmLobbyW1bTagged": 207,
239-
"KilledRabbit": 208
239+
"KilledRabbit": 208,
240+
"LankyMushroomSlamSwitch": 209
240241
}
241242
}

randomizer/Enums/Regions.jsonc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@
314314
"SnideThirdGroup": 288,
315315
"SnideFourthGroup": 289,
316316
"SnideLastGroup": 290,
317-
"FactoryArcadePole": 291
317+
"FactoryArcadePole": 291,
318+
"MushroomVeryTopExterior": 292
318319
}
319320
}

randomizer/Lists/BananaCoinLocations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5274,8 +5274,8 @@ def __init__(
52745274
map_id=Maps.FungiForest,
52755275
name="On the Giant Mushroom top",
52765276
konglist=[Kongs.diddy, Kongs.lanky],
5277-
region=Regions.MushroomUpperExterior,
5278-
logic=lambda l: (l.jetpack and l.isdiddy) or (l.islanky and l.handstand),
5277+
region=Regions.MushroomVeryTopExterior,
5278+
logic=lambda _: True,
52795279
locations=[
52805280
[1.0, 1078, 1432, 1177],
52815281
[1.0, 1142, 1429, 1034],

randomizer/Lists/CBLocations/FungiForestCBLocations.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -799,8 +799,8 @@
799799
map_id=Maps.FungiForest,
800800
name="Around Lanky switch on top of giant mushroom",
801801
konglist=[Kongs.diddy, Kongs.lanky],
802-
region=Regions.MushroomUpperExterior,
803-
logic=lambda l: (l.handstand and l.islanky) or (l.jetpack and l.isdiddy),
802+
region=Regions.MushroomVeryTopExterior,
803+
logic=lambda _: True,
804804
locations=[
805805
[1, 1.0, 980, 1500, 980],
806806
[1, 1.0, 945, 1500, 949],
@@ -1548,9 +1548,9 @@
15481548
map_id=Maps.FungiForest,
15491549
name="On Giant mushroom top switch (Lanky)",
15501550
konglist=[Kongs.diddy, Kongs.lanky],
1551-
region=Regions.MushroomUpperExterior,
1551+
region=Regions.MushroomVeryTopExterior,
15521552
vanilla=True,
1553-
logic=lambda l: (l.jetpack and l.isdiddy) or (l.handstand and l.islanky),
1553+
logic=lambda _: True,
15541554
locations=[[5, 1.0, 913.51025390625, 1520.0, 1020.1333618164062]],
15551555
),
15561556
ColoredBananaGroup(
@@ -2482,17 +2482,17 @@
24822482
map_id=Maps.FungiForest,
24832483
name="Top of mushroom to zinger bounce room",
24842484
konglist=[Kongs.lanky],
2485-
region=Regions.MushroomUpperExterior,
2486-
logic=lambda l: l.handstand,
2485+
region=Regions.MushroomVeryTopExterior,
2486+
logic=lambda _: True,
24872487
locations=[[1, 1.0, 855, 1385, 1347], [1, 1.0, 863, 1412, 1292], [1, 1.0, 872, 1439, 1238], [1, 1.0, 880, 1465, 1183], [1, 1.0, 888, 1492, 1129]],
24882488
),
24892489
ColoredBananaGroup(
24902490
group=199,
24912491
map_id=Maps.FungiForest,
24922492
name="Top of mushroom to colored slam room",
24932493
konglist=[Kongs.lanky],
2494-
region=Regions.MushroomUpperExterior,
2495-
logic=lambda l: l.handstand,
2494+
region=Regions.MushroomVeryTopExterior,
2495+
logic=lambda _: True,
24962496
locations=[[1, 1.0, 962, 1384, 700], [1, 1.0, 953, 1411, 755], [1, 1.0, 945, 1438, 810], [1, 1.0, 936, 1465, 865], [1, 1.0, 928, 1492, 920]],
24972497
),
24982498
ColoredBananaGroup(

randomizer/Lists/KasplatLocations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -997,8 +997,8 @@ def setKasplat(self, state=True):
997997
xmax=962,
998998
zmin=974,
999999
zmax=1063,
1000-
region=Regions.MushroomUpperExterior,
1001-
additional_logic=lambda l: l.jetpack or l.handstand,
1000+
region=Regions.MushroomVeryTopExterior,
1001+
additional_logic=lambda _: True,
10021002
),
10031003
KasplatLocation(
10041004
name="Forest Kasplat: On Mill Roof",

randomizer/LogicFiles/FungiForest.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -209,23 +209,32 @@
209209
LocationLogic(Locations.ForestMainEnemy_NearFacePuzzle, lambda _: True),
210210
LocationLogic(Locations.ForestMainEnemy_NearCrown, lambda _: True),
211211
LocationLogic(Locations.ForestMainEnemy_NearHighWarp5, lambda _: True),
212-
LocationLogic(Locations.ForestMainEnemy_TopOfMushroom, lambda l: (l.jetpack and l.isdiddy) or (l.handstand and l.islanky)),
213212
LocationLogic(Locations.KremKap_ForestMainEnemy_NearFacePuzzle, lambda l: l.camera),
214213
LocationLogic(Locations.KremKap_ForestMainEnemy_NearCrown, lambda l: l.camera),
215214
LocationLogic(Locations.KremKap_ForestMainEnemy_NearHighWarp5, lambda l: l.camera),
216-
LocationLogic(Locations.KremKap_ForestMainEnemy_TopOfMushroom, lambda l: l.camera and ((l.jetpack and l.isdiddy) or (l.handstand and l.islanky))),
217215
], [
218216
Event(Events.ForestW5aTagged, lambda _: True),
219217
], [
220218
TransitionFront(Regions.MushroomUpper, lambda _: True, Transitions.ForestUpperExteriorToUpperMushroom),
221219
TransitionFront(Regions.MushroomNightExterior, lambda l: (l.istiny and l.twirl) or not l.IsHardFallDamage()),
222220
TransitionFront(Regions.GiantMushroomArea, lambda _: True),
221+
TransitionFront(Regions.MushroomVeryTopExterior, lambda l: (l.jetpack and l.isdiddy) or (l.handstand and l.islanky) or (l.slope_resets and l.diddy)),
223222
TransitionFront(Regions.MushroomChunkyRoom, lambda l: (l.CanSlamSwitch(Levels.FungiForest, 2) and l.ischunky) or l.CanPhase() or l.CanOStandTBSNoclip(), Transitions.ForestExteriorToChunky),
224-
TransitionFront(Regions.MushroomLankyZingersRoom, lambda l: (l.handstand and l.CanSlamSwitch(Levels.FungiForest, 2) and l.islanky) or l.CanOStandTBSNoclip(), Transitions.ForestExteriorToZingers),
225-
TransitionFront(Regions.MushroomLankyMushroomsRoom, lambda l: (l.handstand and l.CanSlamSwitch(Levels.FungiForest, 2) and l.islanky) or l.CanPhase() or l.CanOStandTBSNoclip(), Transitions.ForestExteriorToMushrooms),
223+
TransitionFront(Regions.MushroomLankyZingersRoom, lambda l: Events.LankyMushroomSlamSwitch in l.Events or l.CanOStandTBSNoclip(), Transitions.ForestExteriorToZingers),
224+
TransitionFront(Regions.MushroomLankyMushroomsRoom, lambda l: Events.LankyMushroomSlamSwitch in l.Events or l.CanPhase() or l.CanOStandTBSNoclip(), Transitions.ForestExteriorToMushrooms),
226225
TransitionFront(Regions.ForestBossLobby, lambda l: not l.settings.tns_location_rando),
227226
]),
228227

228+
Regions.MushroomVeryTopExterior: Region("Very Top of Mushroom", HintRegion.MushroomExterior, Levels.FungiForest, True, -1, [
229+
LocationLogic(Locations.ForestMainEnemy_TopOfMushroom, lambda _: True),
230+
LocationLogic(Locations.KremKap_ForestMainEnemy_TopOfMushroom, lambda l: l.camera),
231+
232+
], [
233+
Event(Events.LankyMushroomSlamSwitch, lambda l: l.CanSlamSwitch(Levels.FungiForest, 2) and l.islanky)
234+
], [
235+
TransitionFront(Regions.MushroomUpperExterior, lambda _: True),
236+
]),
237+
229238
Regions.MushroomChunkyRoom: Region("Mushroom Chunky Room", HintRegion.MushroomInterior, Levels.FungiForest, False, -1, [
230239
LocationLogic(Locations.ForestChunkyFacePuzzle, lambda l: l.pineapple and l.CanSlamSwitch(Levels.FungiForest, 2) and l.ischunky),
231240
LocationLogic(Locations.ForestFacePuzzleEnemy_Enemy, lambda _: True),

requirement_data.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,14 +312,14 @@ const requirement_data = {
312312
[Moves.Rocket, Moves.Grape],
313313
[Moves.Grape, Moves.CheckOfLegends],
314314
]),
315-
new Requirement(5, [ // 1 bunch in MushroomUpperExterior
315+
new Requirement(5, [ // 1 bunch in MushroomVeryTopExterior
316316
[Moves.ClimbingCheck, Moves.Orangstand],
317317
[Moves.Rocket, Moves.Orangstand],
318318
[Moves.Orangstand, Moves.CheckOfLegends],
319319
]),
320320
new Requirement(15, [ // 1 bunch in MushroomLankyMushroomsRoom; 2 bunches in MushroomLankyZingersRoom
321+
[Moves.LevelSlam, Moves.Rocket],
321322
[Moves.ClimbingCheck, Moves.LevelSlam, Moves.Orangstand],
322-
[Moves.LevelSlam, Moves.Rocket, Moves.Orangstand],
323323
[Moves.LevelSlam, Moves.Orangstand, Moves.CheckOfLegends],
324324
]),
325325
],

typings/randomizer/Enums/Events.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,4 +207,5 @@ export enum Events {
207207
HelmLobbyW1aTagged = 206,
208208
HelmLobbyW1bTagged = 207,
209209
KilledRabbit = 208,
210+
LankyMushroomSlamSwitch = 209,
210211
}

0 commit comments

Comments
 (0)