diff -u -rN hengband/src/dungeon.c hengband-eater/src/dungeon.c --- hengband/src/dungeon.c 2005-01-05 19:13:59.000000000 +0900 +++ hengband-eater/src/dungeon.c 2007-02-05 12:37:58.055403341 +0900 @@ -5487,7 +5487,33 @@ !p_ptr->image && !p_ptr->word_recall && !p_ptr->alter_reality) { - set_action(ACTION_NONE); + if(p_ptr->pclass == CLASS_MAGIC_EATER) + { + bool isFull = TRUE; + int i; + for(i = 0; i < EATER_EXT*2; i++) + { + if(p_ptr->magic_num2[i] && + p_ptr->magic_num1[i] < (p_ptr->magic_num2[i] << 16)){ + isFull = FALSE; + break; + } + } + for (i = EATER_EXT*2; i < EATER_EXT*3; i++) + { + if (p_ptr->magic_num2[i] && + p_ptr->magic_num1[i]) + { + isFull = FALSE; + break; + } + } + if(isFull){ + set_action(ACTION_NONE); + } + } else { + set_action(ACTION_NONE); + } } } }