t.type_ == 'Door' and t.position in action_radius]
if len(reachable_doors) == 0:
raise PlayError('not standing next to a door to open/close')
+ if len([d for d in reachable_doors if not d.portable]) == 0:
+ raise PlayError('can only open/close doors that are installed')
for door in reachable_doors:
if not door.blocks_movement:
return