I finished coding the Dungeon Twister module, I've scanned yesterday all content and today I was bringing it all toguether... In preliminary tests I've only used one counter over every board to check that it works, but now testing with more than one counter it CRASHES!! The error is a "CONCURRENTMODIFICATION" exception. Tim Byrne found the same error some time before (look here http://games.groups.yahoo.com/group/vassalengine/message/7219)
I think the problem is the way VASSAL operates with the "Global Key Commads" and "Triggers", in my module the "BoardTile" over a zone invokes a "Global Key Command" for every piece in his ZONE when rotated. There are 8 zones for the basic game and everyone with 25 or 5x5 possible squares for the pieces over it. The piece has one trigger for every position over the BoardTile, that's 25 triggers, every trigger is listening for the global key casted before (with the global key command), and launches a "Move Fixed Distance" trait (for its current position) if the Piece is in that position (LocationName property). The order of the trigger traits is the one pictured here: http://www.toposolitario.com/basura/fallo_vassal01.jpg As you can see there are triggers like this "if the piece is in the square 1 then moves it to square 5" "if the piece is in the square 2 then moves it to square 10" "if the piece is in the square 3 then moves it to square 15" ...and so on The evaluation order is showed from 1 to 25 in the previous image. If we got two pieces it usually crashes for example in this layout: http://www.toposolitario.com/basura/fallo_vassal02.jpg But this one DOESNT CRASH!!!... WHY? http://www.toposolitario.com/basura/fallo_vassal03.jpg The answer is that when the piece is in an square (for example 19) and the new position of the piece is a previously evaluated square (for example 17) it works, but when the piece is to be moved to another square evaluated later (for example from 5 to 25 in the crashing image) the CONCURRENTMODIFICATION exception jumps up! The same happens even if the two pieces have different prototypes wich defines the movement or if I include a Dynamic property to mark them moved (and testing for that property when triggering)... It is clearly a BUG and I didn't found anything to go through it... I need it to be solved or Dungeon Twister is impossible to be made. PLEASE! PLEASE! PLEASE! TOPO - http://www.toposolitario.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/vassalengine/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/vassalengine/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
