Fix some steed/wounded legs things. Also add a wizard-only enlightenment
message specifying that the steed has wounded legs.
This commit is contained in:
@@ -152,16 +152,8 @@ Riding bugs:
|
|||||||
showing the player in that situation. The u.usteed check in the
|
showing the player in that situation. The u.usteed check in the
|
||||||
display_self() macro could become u.usteed && !u.usteed.minvis
|
display_self() macro could become u.usteed && !u.usteed.minvis
|
||||||
to accomodate that.
|
to accomodate that.
|
||||||
-- Land mine traps cause wounded legs when the character is riding, and
|
|
||||||
don't do any harm to the steed.
|
|
||||||
-- Wielding Stormbringer while riding should result in it attacking
|
-- Wielding Stormbringer while riding should result in it attacking
|
||||||
your steed on occasion.
|
your steed on occasion.
|
||||||
-- There are several inappropriate items around riding a steed
|
|
||||||
with wounded legs:
|
|
||||||
-Dexterity is periodically abused.
|
|
||||||
-Wounded legs are a minor prayer trouble.
|
|
||||||
-Wounded legs are considered an unfixable unicorn horn trouble.
|
|
||||||
-Falling/being thrown from steed doesn't incur usual wounded-legs DEX hit.
|
|
||||||
-- The steed might want to wander about when you are paralyzed (of course the
|
-- The steed might want to wander about when you are paralyzed (of course the
|
||||||
knight's well-trained pony wouldn't)
|
knight's well-trained pony wouldn't)
|
||||||
[eino.keskitalo@purkki.mbnet.fi]
|
[eino.keskitalo@purkki.mbnet.fi]
|
||||||
|
|||||||
@@ -234,6 +234,10 @@ quaffing a noncursed potion of speed no longer heals the steed's wounded legs
|
|||||||
prevent mounting of steed when you have Wounded_legs to prevent abuse;
|
prevent mounting of steed when you have Wounded_legs to prevent abuse;
|
||||||
dismount does an unconditional healing of Wounded_legs during the
|
dismount does an unconditional healing of Wounded_legs during the
|
||||||
Wounded_legs context switch
|
Wounded_legs context switch
|
||||||
|
wounded legs on a steed doesn't count as a prayer trouble
|
||||||
|
wounded legs on a steed doesn't abuse dexterity
|
||||||
|
make wounded legs gained by falling off a steed consistent (dexterity loss)
|
||||||
|
land mines while mounted should hurt the steed
|
||||||
self-genocide while sitting on a throne should not refer to scroll of genocide
|
self-genocide while sitting on a throne should not refer to scroll of genocide
|
||||||
eating dogfood or fixing a squeaky board conveys experience but didn't
|
eating dogfood or fixing a squeaky board conveys experience but didn't
|
||||||
check for gaining a new level
|
check for gaining a new level
|
||||||
|
|||||||
+5
-1
@@ -2703,7 +2703,11 @@ int unfixable_trouble_count(is_horn)
|
|||||||
|
|
||||||
if (Stoned) unfixable_trbl++;
|
if (Stoned) unfixable_trbl++;
|
||||||
if (Strangled) unfixable_trbl++;
|
if (Strangled) unfixable_trbl++;
|
||||||
if (Wounded_legs) unfixable_trbl++;
|
if (Wounded_legs
|
||||||
|
#ifdef STEED
|
||||||
|
&& !u.usteed
|
||||||
|
#endif
|
||||||
|
) unfixable_trbl++;
|
||||||
if (Slimed) unfixable_trbl++;
|
if (Slimed) unfixable_trbl++;
|
||||||
/* lycanthropy is not desirable, but it doesn't actually make you feel
|
/* lycanthropy is not desirable, but it doesn't actually make you feel
|
||||||
bad */
|
bad */
|
||||||
|
|||||||
+5
-1
@@ -350,7 +350,11 @@ exerper()
|
|||||||
|
|
||||||
if(Sick || Vomiting) exercise(A_CON, FALSE);
|
if(Sick || Vomiting) exercise(A_CON, FALSE);
|
||||||
if(Confusion || Hallucination) exercise(A_WIS, FALSE);
|
if(Confusion || Hallucination) exercise(A_WIS, FALSE);
|
||||||
if(Wounded_legs || Fumbling || HStun) exercise(A_DEX, FALSE);
|
if((Wounded_legs
|
||||||
|
#ifdef STEED
|
||||||
|
&& !u.usteed
|
||||||
|
#endif
|
||||||
|
) || Fumbling || HStun) exercise(A_DEX, FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -790,6 +790,14 @@ int final; /* 0 => still in progress; 1 => over, survived; 2 => dead */
|
|||||||
Sprintf(buf, "wounded %s", makeplural(body_part(LEG)));
|
Sprintf(buf, "wounded %s", makeplural(body_part(LEG)));
|
||||||
you_have(buf);
|
you_have(buf);
|
||||||
}
|
}
|
||||||
|
#if defined(WIZARD) && defined(STEED)
|
||||||
|
if (Wounded_legs && u.usteed && wizard) {
|
||||||
|
Strcpy(buf, x_monnam(u.usteed, ARTICLE_YOUR, (char *)0,
|
||||||
|
SUPPRESS_SADDLE | SUPPRESS_HALLUCINATION, FALSE));
|
||||||
|
*buf = highc(*buf);
|
||||||
|
enl_msg(buf, " has", " had", " wounded legs");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (Sleeping) enl_msg("You ", "fall", "fell", " asleep");
|
if (Sleeping) enl_msg("You ", "fall", "fell", " asleep");
|
||||||
if (Hunger) enl_msg("You hunger", "", "ed", " rapidly");
|
if (Hunger) enl_msg("You hunger", "", "ed", " rapidly");
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -167,7 +167,11 @@ in_trouble()
|
|||||||
if(Blinded > 1) return(TROUBLE_BLIND);
|
if(Blinded > 1) return(TROUBLE_BLIND);
|
||||||
for(i=0; i<A_MAX; i++)
|
for(i=0; i<A_MAX; i++)
|
||||||
if(ABASE(i) < AMAX(i)) return(TROUBLE_POISONED);
|
if(ABASE(i) < AMAX(i)) return(TROUBLE_POISONED);
|
||||||
if(Wounded_legs) return (TROUBLE_WOUNDED_LEGS);
|
if(Wounded_legs
|
||||||
|
#ifdef STEED
|
||||||
|
&& !u.usteed
|
||||||
|
#endif
|
||||||
|
) return (TROUBLE_WOUNDED_LEGS);
|
||||||
if(u.uhs >= HUNGRY) return(TROUBLE_HUNGRY);
|
if(u.uhs >= HUNGRY) return(TROUBLE_HUNGRY);
|
||||||
if(HStun) return (TROUBLE_STUNNED);
|
if(HStun) return (TROUBLE_STUNNED);
|
||||||
if(HConfusion) return (TROUBLE_CONFUSED);
|
if(HConfusion) return (TROUBLE_CONFUSED);
|
||||||
|
|||||||
+1
-2
@@ -457,8 +457,7 @@ dismount_steed(reason)
|
|||||||
You("%s off of %s!", verb, mon_nam(mtmp));
|
You("%s off of %s!", verb, mon_nam(mtmp));
|
||||||
if (!have_spot) have_spot = landing_spot(&cc,1);
|
if (!have_spot) have_spot = landing_spot(&cc,1);
|
||||||
losehp(rn1(10,10), "riding accident", KILLED_BY_AN);
|
losehp(rn1(10,10), "riding accident", KILLED_BY_AN);
|
||||||
HWounded_legs += rn1(5, 5);
|
set_wounded_legs(BOTH_SIDES, HWounded_legs + rn1(5,5));
|
||||||
EWounded_legs |= BOTH_SIDES;
|
|
||||||
repair_leg_damage = FALSE;
|
repair_leg_damage = FALSE;
|
||||||
break;
|
break;
|
||||||
case DISMOUNT_POLY:
|
case DISMOUNT_POLY:
|
||||||
|
|||||||
+19
@@ -974,9 +974,23 @@ glovecheck: (void) rust_dmg(uarmg, "gauntlets", 1, TRUE, &youmonst);
|
|||||||
already_seen ? a_your[trap->madeby_u] : "",
|
already_seen ? a_your[trap->madeby_u] : "",
|
||||||
already_seen ? " land mine" : "it");
|
already_seen ? " land mine" : "it");
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef STEED
|
||||||
|
/* prevent landmine from killing steed, throwing you to
|
||||||
|
* the ground, and you being affected again by the same
|
||||||
|
* mine because it hasn't been deleted yet
|
||||||
|
*/
|
||||||
|
static boolean recursive_mine = FALSE;
|
||||||
|
|
||||||
|
if (recursive_mine) break;
|
||||||
|
#endif
|
||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
pline("KAABLAMM!!! You triggered %s land mine!",
|
pline("KAABLAMM!!! You triggered %s land mine!",
|
||||||
a_your[trap->madeby_u]);
|
a_your[trap->madeby_u]);
|
||||||
|
#ifdef STEED
|
||||||
|
recursive_mine = TRUE;
|
||||||
|
(void) steedintrap(trap, (struct obj *)0);
|
||||||
|
recursive_mine = FALSE;
|
||||||
|
#endif
|
||||||
set_wounded_legs(LEFT_SIDE, rn1(35, 41));
|
set_wounded_legs(LEFT_SIDE, rn1(35, 41));
|
||||||
set_wounded_legs(RIGHT_SIDE, rn1(35, 41));
|
set_wounded_legs(RIGHT_SIDE, rn1(35, 41));
|
||||||
exercise(A_DEX, FALSE);
|
exercise(A_DEX, FALSE);
|
||||||
@@ -1059,6 +1073,11 @@ struct obj *otmp;
|
|||||||
}
|
}
|
||||||
steedhit = TRUE;
|
steedhit = TRUE;
|
||||||
break;
|
break;
|
||||||
|
case LANDMINE:
|
||||||
|
if (thitm(0, mtmp, (struct obj *)0, rnd(16)))
|
||||||
|
trapkilled = TRUE;
|
||||||
|
steedhit = TRUE;
|
||||||
|
break;
|
||||||
case PIT:
|
case PIT:
|
||||||
case SPIKED_PIT:
|
case SPIKED_PIT:
|
||||||
if (mtmp->mhp <= 0 ||
|
if (mtmp->mhp <= 0 ||
|
||||||
|
|||||||
Reference in New Issue
Block a user