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
In client, ensure item pointer is always within range.
[plomrogue2-experiments]
/
new
/
plomrogue
/
tasks.py
diff --git
a/new/plomrogue/tasks.py
b/new/plomrogue/tasks.py
index 1d59998385822fee42610e67265873871721c93d..6f2f1be9ee4397630059c35eece39ebd48bda99f 100644
(file)
--- a/
new/plomrogue/tasks.py
+++ b/
new/plomrogue/tasks.py
@@
-48,7
+48,7
@@
class Task_MOVE(Task):
self.args[0])
for id_ in self.thing.inventory:
t = self.thing.world.get_thing(id_)
self.args[0])
for id_ in self.thing.inventory:
t = self.thing.world.get_thing(id_)
- t.position
[:]
= self.thing.position
+ t.position = self.thing.position
@@
-59,9
+59,7
@@
class Task_PICKUP(Task):
to_pick_up = self.thing.world.get_thing(self.args[0],
create_unfound=False)
if to_pick_up is None or \
to_pick_up = self.thing.world.get_thing(self.args[0],
create_unfound=False)
if to_pick_up is None or \
- to_pick_up.in_inventory or \
- to_pick_up == self.thing or \
- self.thing.position != to_pick_up.position:
+ to_pick_up.id_ not in self.thing.get_pickable_items():
raise GameError('thing of ID %s not in reach to pick up'
% self.args[0])
raise GameError('thing of ID %s not in reach to pick up'
% self.args[0])
@@
-69,6
+67,7
@@
class Task_PICKUP(Task):
to_pick_up = self.thing.world.get_thing(self.args[0])
self.thing.inventory += [self.args[0]]
to_pick_up.in_inventory = True
to_pick_up = self.thing.world.get_thing(self.args[0])
self.thing.inventory += [self.args[0]]
to_pick_up.in_inventory = True
+ to_pick_up.position = self.thing.position
@@
-76,11
+75,10
@@
class Task_DROP(Task):
argtypes = 'int:nonneg'
def check(self):
argtypes = 'int:nonneg'
def check(self):
- to_pick_up = self.thing.world.get_thing(self.args[0],
- create_unfound=False)
- if to_pick_up is None:
+ to_drop = self.thing.world.get_thing(self.args[0], create_unfound=False)
+ if to_drop is None:
raise GameError('no thing of ID %s to drop' % self.args[0])
raise GameError('no thing of ID %s to drop' % self.args[0])
- if to_
pick_u
p.id_ not in self.thing.inventory:
+ if to_
dro
p.id_ not in self.thing.inventory:
raise GameError('no thing of ID %s to drop in inventory'
% self.args[0])
raise GameError('no thing of ID %s to drop in inventory'
% self.args[0])