home
·
contact
·
privacy
projects
/
plomrogue2-experiments
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add inventory / item pickup/drop server-side.
[plomrogue2-experiments]
/
new
/
plomrogue
/
things.py
diff --git
a/new/plomrogue/things.py
b/new/plomrogue/things.py
index 386dbc4522071e059cb80b73647c80d289053ee3..5ef429754c41373dbf9a9b986de63ef88e684303 100644
(file)
--- a/
new/plomrogue/things.py
+++ b/
new/plomrogue/things.py
@@
-5,15
+5,23
@@
from plomrogue.errors import GameError
class ThingBase:
type_ = '?'
class ThingBase:
type_ = '?'
- def __init__(self, world, id_, position=[0,0]):
+ def __init__(self, world, id_
=None
, position=[0,0]):
self.world = world
self.world = world
- self.id_ = id_
self.position = position
self.position = position
+ if id_ is None:
+ self.id_ = self.world.new_thing_id()
+ else:
+ self.id_ = id_
class Thing(ThingBase):
blocking = False
class Thing(ThingBase):
blocking = False
+ in_inventory = False
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.inventory = []
def proceed(self):
pass
def proceed(self):
pass
@@
-137,7
+145,7
@@
class ThingAnimate(Thing):
stencil = self.get_stencil()
visible_things = []
for thing in self.world.things:
stencil = self.get_stencil()
visible_things = []
for thing in self.world.things:
- if stencil[thing.position] == '.':
+ if
(not thing.in_inventory) and
stencil[thing.position] == '.':
visible_things += [thing]
return visible_things
visible_things += [thing]
return visible_things