Skip to content

Commit c32882d

Browse files
committed
feedback updates
1 parent 6eb0f67 commit c32882d

6 files changed

Lines changed: 42 additions & 36 deletions

File tree

region/crateria/west/Green Pirates Shaft.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -391,10 +391,8 @@
391391
"link": [2, 2],
392392
"name": "Pirate Farm",
393393
"requires": [
394-
{"and": [
395-
{"resetRoom": {"nodes": [2, 3, 4]}},
396-
{"cycleFrames": 850}
397-
]},
394+
{"resetRoom": {"nodes": [2, 3, 4]}},
395+
{"cycleFrames": 850},
398396
{"or": [
399397
"ScrewAttack",
400398
"Wave",

region/lowernorfair/east/Ridley's Room.json

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -832,23 +832,25 @@
832832
"name": "IBJ",
833833
"requires": [
834834
"h_heatProof",
835-
{"and": [
836-
"canJumpIntoIBJ",
837-
"canTrickyJump",
838-
{"or": [
839-
"canLongIBJ",
840-
"HiJump"
841-
]}
842-
]},
843-
{"and": [
844-
"f_DefeatedRidley",
845-
{"or": [
846-
"canLongIBJ",
847-
{"and": [
848-
"canJumpIntoIBJ",
835+
{"or": [
836+
{"and": [
837+
"canJumpIntoIBJ",
838+
"canTrickyJump",
839+
{"or": [
840+
"canLongIBJ",
849841
"HiJump"
850842
]}
851-
]}
843+
]},
844+
{"and": [
845+
"f_DefeatedRidley",
846+
{"or": [
847+
"canLongIBJ",
848+
{"and": [
849+
"canJumpIntoIBJ",
850+
"HiJump"
851+
]}
852+
]}
853+
]}
852854
]}
853855
]
854856
},

region/maridia/inner-green/East Sand Hall.json

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1416,18 +1416,16 @@
14161416
}},
14171417
{"enemyDamage": {"enemy": "Evir", "type": "particle", "hits": 1}}
14181418
]},
1419-
{"and": [
1420-
"canPlayInSand",
1421-
{"or": [
1422-
"canWalljump",
1423-
"HiJump",
1424-
"canUseFrozenEnemies",
1425-
"canGravityJump",
1426-
{"and": [
1427-
"canTrickyJump",
1428-
"can4HighMidAirMorph",
1429-
"canTrickySpringBallJump"
1430-
]}
1419+
"canPlayInSand",
1420+
{"or": [
1421+
"canWalljump",
1422+
"HiJump",
1423+
"canUseFrozenEnemies",
1424+
"canGravityJump",
1425+
{"and": [
1426+
"canTrickyJump",
1427+
"can4HighMidAirMorph",
1428+
"canTrickySpringBallJump"
14311429
]}
14321430
]}
14331431
]

region/maridia/inner-yellow/Kassiuz Room.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@
152152
]},
153153
{"and": [
154154
"canTrickySpringBallJump",
155-
{"cycleFrames": 520},
155+
{"cycleFrames": 320},
156156
"h_doubleEquipmentScreenCycleFrames",
157157
"h_doubleEquipmentScreenCycleFrames",
158158
"h_doubleEquipmentScreenCycleFrames"
@@ -182,7 +182,7 @@
182182
]},
183183
{"cycleFrames": 2040}
184184
]},
185-
{"and": [
185+
{"or": [
186186
"canFarmWhileShooting",
187187
{"cycleFrames": 500}
188188
]}

region/maridia/inner-yellow/Maridia Elevator Room.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@
241241
"link": [1, 1],
242242
"name": "Owtch Farm",
243243
"requires": [
244+
"canDodgeWhileShooting",
244245
{"or": [
245246
{"and": [
246247
{"resetRoom": {"nodes": [1]}},
@@ -271,7 +272,9 @@
271272
"devNote": [
272273
"The extra 300 frames is for waiting a random amount of time for the Owtch to go left.",
273274
"The Owtch can also be killed with Screw Attack,",
274-
"but farming the Rippers would make more sense in that case."
275+
"but farming the Rippers would make more sense in that case.",
276+
"FIXME: A more specific enemy-knowledge tech should ideally be required,",
277+
"for understanding how to kill the Owtch."
275278
]
276279
},
277280
{

tests/asserts/keywords.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,10 +1105,15 @@ def make_or(reqs):
11051105
for platform in strat["entranceCondition"]["comeInWithSidePlatform"]["platforms"]:
11061106
reqs.append(make_and(platform.get("requires", [])))
11071107
requires.append(make_or(reqs))
1108+
if len(requires) == 1 and isinstance(requires[0], dict) and "and" in requires[0]:
1109+
requires = requires[0]["and"]
11081110

1109-
for req in strat["requires"]:
1111+
for req in requires:
11101112
check_and_or(req, strat_err_fn)
1111-
if heated and not check_heat_req({"and": strat["requires"]}):
1113+
if isinstance(req, dict) and "and" in req:
1114+
strat_err_fn("'and' not allowed at top level.")
1115+
1116+
if heated and not check_heat_req({"and": requires}):
11121117
if fromNode == toNode and "leaveWithRunway" in strat.get("exitCondition", []):
11131118
# Ok since there is implicit heat frames in leavesWithRunway, and it is normal
11141119
# if no explicit ones to be present for a strat going from the door to itself.

0 commit comments

Comments
 (0)