| | 2849 | |
|---|
| | 2850 | /* Potions -- Potions of life, healing, *healing* are good, |
|---|
| | 2851 | * restore mana for spell casters are good, |
|---|
| | 2852 | * as are stat potions, when the stat is not maximised, |
|---|
| | 2853 | * as is augmentation (acts as a potion of 'restoration' if all |
|---|
| | 2854 | * stats are maximised). |
|---|
| | 2855 | * |
|---|
| | 2856 | * XXX If we make too many useful items 'good' we may want to |
|---|
| | 2857 | * consider limiting the total number of good drops to uniques |
|---|
| | 2858 | * and truely nasty monsters. |
|---|
| | 2859 | */ |
|---|
| | 2860 | case TV_POTION: |
|---|
| | 2861 | { |
|---|
| | 2862 | if (k_ptr->sval == SV_POTION_HEALING) return (TRUE); |
|---|
| | 2863 | if (k_ptr->sval == SV_POTION_STAR_HEALING) return (TRUE); |
|---|
| | 2864 | if (k_ptr->sval == SV_POTION_LIFE) return (TRUE); |
|---|
| | 2865 | if ((k_ptr->sval == SV_POTION_RESTORE_MANA) && (p_ptr->msp > 0)) return (TRUE); |
|---|
| | 2866 | if ((k_ptr->sval >= SV_POTION_INC_STR) && (k_ptr->sval <= SV_POTION_INC_CHR)) |
|---|
| | 2867 | { |
|---|
| | 2868 | if (p_ptr->stat_cur[k_ptr->sval - SV_POTION_INC_STR] < 18+100) return (TRUE); |
|---|
| | 2869 | } |
|---|
| | 2870 | if (k_ptr->sval == SV_POTION_AUGMENTATION) return (TRUE); |
|---|
| | 2871 | return (FALSE); |
|---|
| | 2872 | } |
|---|