pudding cloning (from beta-test)
This commit is contained in:
@@ -435,6 +435,8 @@ strengthen Death; weaken Famine, Pestilence, and Demogorgon
|
|||||||
pet purple worms get nutrition from engulfing attack
|
pet purple worms get nutrition from engulfing attack
|
||||||
throwing an artifact upwards will trigger artifact hit effects when it falls
|
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
|
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
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+15
-2
@@ -274,9 +274,22 @@ mattackm(magr, mdef)
|
|||||||
/* KMH -- don't accumulate to-hit bonuses */
|
/* KMH -- don't accumulate to-hit bonuses */
|
||||||
if (otmp)
|
if (otmp)
|
||||||
tmp -= hitval(otmp, mdef);
|
tmp -= hitval(otmp, mdef);
|
||||||
if (strike)
|
if (strike) {
|
||||||
res[i] = hitmm(magr, mdef, mattk);
|
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);
|
missmm(magr, mdef, mattk);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -883,6 +883,7 @@ hitmu(mtmp, mattk)
|
|||||||
hitmsg(mtmp, mattk);
|
hitmsg(mtmp, mattk);
|
||||||
if (!dmg) break;
|
if (!dmg) break;
|
||||||
if (u.mh > 1 && u.mh > ((u.uac>0) ? dmg : dmg+u.uac) &&
|
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_BLACK_PUDDING
|
||||||
|| u.umonnum==PM_BROWN_PUDDING)) {
|
|| u.umonnum==PM_BROWN_PUDDING)) {
|
||||||
/* This redundancy necessary because you have to
|
/* This redundancy necessary because you have to
|
||||||
|
|||||||
Reference in New Issue
Block a user