Skip to content

Commit ad9086a

Browse files
committed
Load walkthrough if present in tw-pddl
1 parent 34b10ff commit ad9086a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

‎textworld/envs/pddl/pddl.py‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ def load(self, filename_or_data: Union[str, Mapping]) -> None:
5757
self._game_file = None
5858

5959
self._game_data = data
60+
self.walkthrough = data.get("walkthrough", None)
6061
self._logic = pddl_logic.GameLogic(domain=self._game_data["pddl_domain"], grammar=self._game_data["grammar"])
6162
self._pddl_state = pddl_logic.PddlState(self.downward_lib, self._game_data["pddl_problem"], self._logic)
6263
self._entity_infos = self._get_entity_infos()
@@ -127,7 +128,7 @@ def reset(self):
127128
self._gather_infos()
128129

129130
if "walkthrough" in self.request_infos.extras:
130-
self.state["extra.walkthrough"] = self._pddl_state.replan(self._entity_infos)
131+
self.state["extra.walkthrough"] = self.walkthrough or self._pddl_state.replan(self._entity_infos)
131132

132133
return self.state
133134

@@ -162,6 +163,10 @@ def step(self, command: str):
162163

163164
self.state.raw = self.state.feedback
164165
self._gather_infos()
166+
167+
if "walkthrough" in self.request_infos.extras:
168+
self.state["extra.walkthrough"] = self.prev_state["extra.walkthrough"]
169+
165170
self.state["score"] = 1 if self.state["won"] else 0
166171
self.state["done"] = self.state["won"] or self.state["lost"]
167172
return self.state, self.state["score"], self.state["done"]

0 commit comments

Comments
 (0)