mirror of
https://codeberg.org/noisytoot/notnotdnethack.git
synced 2025-07-30 17:32:24 +01:00
Merge branch 'compat-3.20.0' of https://github.com/Chris-plus-alphanumericgibberish/dNAO.git into compat-3.20.0
This commit is contained in:
commit
c652cdcbe3
3 changed files with 28 additions and 6 deletions
|
@ -7829,6 +7829,11 @@ arti_invoke(obj)
|
|||
doliving_ringed_armor(&youmonst, obj, TRUE);
|
||||
break;
|
||||
case BLOODLETTER:
|
||||
if (!uwep || uwep != obj){
|
||||
You_feel("that you should be wielding %s.", the(xname(obj)));;
|
||||
obj->age = monstermoves;
|
||||
return(0);
|
||||
}
|
||||
if (artinstance[obj->oartifact].BLactive < monstermoves){
|
||||
if (has_blood_mon(&youmonst)){
|
||||
You("plunge Bloodletter into your chest, making an offering of your tainted blood.");
|
||||
|
|
23
src/mon.c
23
src/mon.c
|
@ -2200,12 +2200,23 @@ movemon()
|
|||
for(mtmp = fmon; mtmp; mtmp = nmtmp) {
|
||||
/* check that mtmp wasn't migrated by previous mtmp's actions */
|
||||
if (!(mtmp->mx || mtmp->my)) {
|
||||
/* uh oh -- restart loop at fmon. This will let already-handled very fast
|
||||
* monsters expend movement points to act out of turn, but will not result in anyone gaining
|
||||
* or losing turns, or worse, this loop affecting anyone in the migrating_mons chain */
|
||||
mtmp = fmon;
|
||||
if (!mtmp)
|
||||
break; /* exit current movement loop, there is no one left at all */
|
||||
/* uh oh -- it looks like mtmp is marked as on migrating_mons. Confirm. */
|
||||
struct monst * m2;
|
||||
for (m2 = migrating_mons; m2 && m2 != mtmp; m2 = m2->nmon);
|
||||
if (m2 == mtmp) {
|
||||
/* extra check -- is mtmp also on the fmon chain? If it is, we've got serious trouble */
|
||||
for (m2 = fmon; m2 && m2 != mtmp; m2 = m2->nmon);
|
||||
if (m2 == mtmp)
|
||||
panic("monster on both fmon and migrating_mons");
|
||||
else {
|
||||
/* restart loop at fmon. This will let already-handled very fast
|
||||
* monsters expend movement points to act out of turn, but will not result in anyone gaining
|
||||
* or losing turns, or worse, this loop affecting anyone in the migrating_mons chain */
|
||||
mtmp = fmon;
|
||||
if (!mtmp)
|
||||
break; /* exit current movement loop, there is no one left at all */
|
||||
}
|
||||
}
|
||||
}
|
||||
nmtmp = mtmp->nmon;
|
||||
/* Find a monster that we have not treated yet. */
|
||||
|
|
|
@ -3128,6 +3128,9 @@ int wep_type;
|
|||
case P_MASTER: maxweight = 50; break;
|
||||
case P_GRAND_MASTER: maxweight = 60; break;
|
||||
}
|
||||
if (youracedata->msize > MZ_MEDIUM)
|
||||
maxweight *= 1+(youracedata->msize - MZ_MEDIUM);
|
||||
|
||||
if (wep_type == P_BARE_HANDED_COMBAT) {
|
||||
bonus -= abs(bonus * 2 / 3);
|
||||
}
|
||||
|
@ -3424,6 +3427,9 @@ int wep_type;
|
|||
case P_MASTER: maxweight = 50; break; /* war hammer */
|
||||
case P_GRAND_MASTER: maxweight = 60; break; /* axe */
|
||||
}
|
||||
if (youracedata->msize > MZ_MEDIUM)
|
||||
maxweight *= 1+(youracedata->msize - MZ_MEDIUM);
|
||||
|
||||
if (wep_type == P_BARE_HANDED_COMBAT) {
|
||||
bonus -= (skill * 2 / 3);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue