12 Nov, Rhien wrote in the 1st comment:
Votes: 0
I couldn't find an official Git repository or anything I could put a pull request in on but I've found a bug in the Ice projects "get_random_room" function in "act_move.c". In it's current form the "get_random_room" nearly always returns a value that isn't NULL except if the number_range lands on the maximum room_count. If you only have 4,000 rooms this can happen more often that you'd think. The original would return a null value 0-6 times over each set of 10,000 iterations I tested with. The updated didn't return a null after a million iterations.

I know the project hasn't been touched in a while but wanted to share.

Original:

target_room = number_range( 0, room_count );


Updated:

target_room = number_range( 0, room_count - 1 );
0.0/1