X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=new%2Fplomrogue%2Fgame.py;h=7275ce944ee7a7563d015b0b2adeb7c3ed6776b5;hb=792dad961acda233d4a952fa8fabef9766f9dbc4;hp=74502cac48bfd8997b019aa7daf30372111d2548;hpb=7cf9821ef5b430ac64d5c663ca67b2f1a887d8a4;p=plomrogue2-experiments
diff --git a/new/plomrogue/game.py b/new/plomrogue/game.py
index 74502ca..7275ce9 100755
--- a/new/plomrogue/game.py
+++ b/new/plomrogue/game.py
@@ -41,7 +41,9 @@ class GameBase:
self.turn = 0
self.things = []
- def get_thing(self, id_, create_unfound=True):
+ def get_thing(self, id_, create_unfound):
+ # No default for create_unfound because every call to get_thing
+ # should be accompanied by serious consideration whether to use it.
for thing in self.things:
if id_ == thing.id_:
return thing
@@ -133,7 +135,7 @@ class Game(GameBase):
else:
self.io.send('PLAYER_INVENTORY ,')
for id_ in self.player.inventory:
- thing = self.get_thing(id_)
+ thing = self.get_thing(id_, create_unfound=False)
send_thing(thing)
self.io.send('GAME_STATE_COMPLETE')
@@ -173,7 +175,7 @@ class Game(GameBase):
def task_prefixed(command_name, task_prefix, task_command,
argtypes_prefix=None):
- if command_name[:len(task_prefix)] == task_prefix:
+ if command_name.startswith(task_prefix):
task_name = command_name[len(task_prefix):]
if task_name in self.tasks:
f = partial_with_attrs(task_command, task_name, self)
@@ -199,15 +201,17 @@ class Game(GameBase):
@property
def player(self):
- return self.get_thing(self.player_id)
+ return self.get_thing(self.player_id, create_unfound=False)
def new_thing_id(self):
if len(self.things) == 0:
return 0
# DANGEROUS â if anywhere we append a thing to the list of lower
# ID than the highest-value ID, this might lead to re-using an
- # already active ID. This should not happen anywhere in the
- # code, but a break here might be more visible.
+ # already active ID. This condition /should/ not be fulfilled
+ # anywhere in the code, but if it does, trouble here is one of
+ # the more obvious indicators that it does â that's why there's
+ # no safeguard here against this.
return self.things[-1].id_ + 1
def get_map(self, map_pos):