X-Git-Url: https://plomlompom.com/repos/?p=plomrogue2-experiments;a=blobdiff_plain;f=new%2Fplomrogue%2Fgame.py;h=ffedbfaff14200e0af6a4f2335af5b5e0f66448b;hp=74502cac48bfd8997b019aa7daf30372111d2548;hb=ecf3799b03f0a9098956d529f26be54f37c6534b;hpb=7cf9821ef5b430ac64d5c663ca67b2f1a887d8a4 diff --git a/new/plomrogue/game.py b/new/plomrogue/game.py index 74502ca..ffedbfa 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') @@ -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):