changes the monster into a stone monster of the same type this should only be called when poly_when_stoned() is true */
| 3745 | /* changes the monster into a stone monster of the same type |
| 3746 | this should only be called when poly_when_stoned() is true */ |
| 3747 | void |
| 3748 | mon_to_stone(struct monst *mtmp) |
| 3749 | { |
| 3750 | if (mtmp->data->mlet == S_GOLEM) { |
| 3751 | /* it's a golem, and not a stone golem */ |
| 3752 | if (canseemon(mtmp)) |
| 3753 | pline_mon(mtmp, "%s solidifies...", Monnam(mtmp)); |
| 3754 | if (newcham(mtmp, &mons[PM_STONE_GOLEM], NO_NC_FLAGS)) { |
| 3755 | if (canseemon(mtmp)) |
| 3756 | pline("Now it's %s.", an(pmname(mtmp->data, Mgender(mtmp)))); |
| 3757 | } else { |
| 3758 | if (canseemon(mtmp)) |
| 3759 | pline("... and returns to normal."); |
| 3760 | } |
| 3761 | } else |
| 3762 | impossible("Can't polystone %s!", a_monnam(mtmp)); |
| 3763 | } |
| 3764 | |
| 3765 | boolean |
| 3766 | vamp_stone(struct monst *mtmp) |
no test coverage detected