diff options
-rw-r--r-- | lib/evendoors/board.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/evendoors/board.rb b/lib/evendoors/board.rb index e8c5053..aacb78c 100644 --- a/lib/evendoors/board.rb +++ b/lib/evendoors/board.rb @@ -26,10 +26,12 @@ module EvenDoors # def process_p p @viewer.receive_p p if @viewer - p2 = @spots[p.link_value] ||= p - return if p2==p - p,p2 = p2,p if p.action==EvenDoors::ACT_FOLLOW - p.merge! p2 + if p.action!=EvenDoors::ACT_ERROR + p2 = @spots[p.link_value] ||= p + return if p2==p + p,p2 = p2,p if p.action==EvenDoors::ACT_FOLLOW + p.merge! p2 + end @saved = p receive_p p if not @saved.nil? |