pudding cloning (from beta-test)

This commit is contained in:
arromdee
2002-02-23 06:12:55 +00:00
parent 1b1532dbab
commit 6033bee646
3 changed files with 18 additions and 2 deletions

View File

@@ -435,6 +435,8 @@ strengthen Death; weaken Famine, Pestilence, and Demogorgon
pet purple worms get nutrition from engulfing attack
throwing an artifact upwards will trigger artifact hit effects when it falls
being hit by Fire Brand when not resistant stops the turning-into-slime process
monsters hitting other monsters can split puddings with weapons
be consistent with checking for iron weapons when splitting puddings
Platform- and/or Interface-Specific Fixes

View File

@@ -274,9 +274,22 @@ mattackm(magr, mdef)
/* KMH -- don't accumulate to-hit bonuses */
if (otmp)
tmp -= hitval(otmp, mdef);
if (strike)
if (strike) {
res[i] = hitmm(magr, mdef, mattk);
else
if((mdef->data == &mons[PM_BLACK_PUDDING] || mdef->data == &mons[PM_BROWN_PUDDING])
&& otmp && objects[otmp->otyp].oc_material == IRON
&& mdef->mhp > 1 && !mdef->mcan)
{
if (clone_mon(mdef)) {
if (vis) {
char buf[BUFSZ];
Strcpy(buf, Monnam(mdef));
pline("%s divides as %s hits it!", buf, mon_nam(magr));
}
}
}
} else
missmm(magr, mdef, mattk);
break;

View File

@@ -883,6 +883,7 @@ hitmu(mtmp, mattk)
hitmsg(mtmp, mattk);
if (!dmg) break;
if (u.mh > 1 && u.mh > ((u.uac>0) ? dmg : dmg+u.uac) &&
objects[otmp->otyp].oc_material == IRON &&
(u.umonnum==PM_BLACK_PUDDING
|| u.umonnum==PM_BROWN_PUDDING)) {
/* This redundancy necessary because you have to