- for t in [t for t in self.things
- if player.fov_stencil[t.position] == '.']:
- self.io.send('THING_POS %s %s' % (t.id_, t.position), c_id)
- if hasattr(t, 'nickname'):
- self.io.send('THING_NAME %s %s' % (t.id_,
- quote(t.nickname)), c_id)
- for yx in [yx for yx in self.portals
- if player.fov_stencil[yx] == '.']:
- self.io.send('PORTAL %s %s' % (yx, quote(self.portals[yx])), c_id)
+ for t in [t for t in self.things if player.fov_test(t.position)]:
+ corrected_yx = t.position - player.fov_stencil.offset
+ self.io.send('THING %s %s %s' % (corrected_yx, t.type_, t.id_),
+ c_id)
+ if hasattr(t, 'name'):
+ self.io.send('THING_NAME %s %s' % (t.id_, quote(t.name)), c_id)
+ if hasattr(t, 'player_char'):
+ self.io.send('THING_CHAR %s %s' % (t.id_,
+ quote(t.player_char)), c_id)
+ for yx in [yx for yx in self.portals if player.fov_test(yx)]:
+ corrected_yx = yx - player.fov_stencil.offset
+ self.io.send('PORTAL %s %s' % (corrected_yx,
+ quote(self.portals[yx])), c_id)