Ok, I see. It might be because the CanMoveToArray has been cleared between moving and checking, in which case it would always return 0. Not exactly sure where that would be in this case, though. If all you want to do is having double damage when you have not moved wouldn’t it be simpler to check whether current move >= max move and deal double damage if it is?