mirror of
https://codeberg.org/noisytoot/notnotdnethack.git
synced 2025-08-11 07:01:37 +01:00
Merge branch 'compat-3.21.3' into devel-3.21.4
This commit is contained in:
commit
6ed748f895
7 changed files with 64 additions and 7 deletions
|
@ -4692,10 +4692,18 @@ struct monst *mon;
|
|||
if(xlocale == u.ux && ylocale == u.uy){
|
||||
if(!rn2(20)) switch(rnd(3)){
|
||||
case 1:
|
||||
pline("The shadowy mist forms briefly into a yawning maw!");
|
||||
if(!Blind){
|
||||
if(u.veil)
|
||||
pline("The mist moves oddly!");
|
||||
else pline("The shadowy mist forms briefly into a yawning maw!");
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
pline("The dark forms into hooves and writhing tendrils!");
|
||||
if(!Blind){
|
||||
if(u.veil)
|
||||
pline("The shadows writhe in the corners of your vision!");
|
||||
else pline("The dark forms into hooves and writhing tendrils!");
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(uarmh && uarmh->otyp == SEDGE_HAT){
|
||||
|
|
|
@ -10477,6 +10477,16 @@ read_necro(VOID_ARGS)
|
|||
delay = 0;
|
||||
return(0);
|
||||
}
|
||||
if(u.veil && delay >= -50){
|
||||
You("feel reality threatening to slip away!");
|
||||
if (yn("Are you sure you want to keep reading?") != 'y'){
|
||||
delay = 0;
|
||||
return(0);
|
||||
}
|
||||
else pline("So be it.");
|
||||
u.veil = FALSE;
|
||||
change_uinsight(1);
|
||||
}
|
||||
if (delay) { /* not if (delay++), so at end delay == 0 */
|
||||
/* lenses give 50% faster reading */
|
||||
// nomul( (ublindf && ublindf->otyp == LENSES) ?
|
||||
|
@ -10989,6 +10999,16 @@ read_lost(VOID_ARGS)
|
|||
delay = 0;
|
||||
return(0);
|
||||
}
|
||||
if(u.veil && delay >= -55){
|
||||
You("feel reality threatening to slip away!");
|
||||
if (yn("Are you sure you want to keep reading?") != 'y'){
|
||||
delay = 0;
|
||||
return(0);
|
||||
}
|
||||
else pline("So be it.");
|
||||
u.veil = FALSE;
|
||||
change_uinsight(1);
|
||||
}
|
||||
if (delay) { /* not if (delay++), so at end delay == 0 */
|
||||
/* lenses give 50% faster reading */
|
||||
// nomul( (ublindf && ublindf->otyp == LENSES) ?
|
||||
|
|
|
@ -11355,7 +11355,7 @@ int faction;
|
|||
mtmp->m_insight_level = 40;
|
||||
|
||||
else if(mtmp->mtyp == PM_APHANACTONAN_AUDIENT)
|
||||
mtmp->m_insight_level = rnd(8);
|
||||
mtmp->m_insight_level = rnd(16);
|
||||
else if(mtmp->mtyp == PM_APHANACTONAN_ASSESSOR)
|
||||
mtmp->m_insight_level = 16+d(4,4);
|
||||
|
||||
|
|
|
@ -483,6 +483,15 @@ register struct obj *otmp;
|
|||
{
|
||||
int retval;
|
||||
|
||||
if(otmp->otyp == POT_GOAT_S_MILK && u.veil){
|
||||
You("feel reality threatening to slip away from the mere scent of the potion!");
|
||||
if (yn("Are you sure you want to drink it?") != 'y'){
|
||||
return(0);
|
||||
}
|
||||
else pline("So be it.");
|
||||
//Note: the veil is not lifted until the potion is actually drunk.
|
||||
}
|
||||
|
||||
otmp->in_use = TRUE;
|
||||
if (otmp->oartifact)
|
||||
otmp->in_use = FALSE;
|
||||
|
|
17
src/pray.c
17
src/pray.c
|
@ -1620,12 +1620,14 @@ boolean silently;
|
|||
else if(Blind || (!carried(otmp) && !cansee(x,y)))
|
||||
You_hear("crunching noises.");
|
||||
else if(!carried(otmp) && cansee(x,y)){
|
||||
pline("A mouth forms from the mist and eats %s!", an(singular(otmp, xname)));
|
||||
lift_veil();
|
||||
if(u.veil)
|
||||
pline("Mist moves over %s. When the mist clears %s is gone!", an(singular(otmp, xname)), the(singular(otmp, xname)));
|
||||
else pline("A mouth forms from the mist and eats %s!", an(singular(otmp, xname)));
|
||||
}
|
||||
else {
|
||||
// If it's carried, it should have lifted the veil.
|
||||
if(u.veil) impossible("Offered to the goat with an intact veil?");
|
||||
pline("A mouth forms from the mist and eats your sacrifice!");
|
||||
lift_veil();
|
||||
}
|
||||
}
|
||||
if (carried(otmp)){
|
||||
|
@ -1862,6 +1864,15 @@ dosacrifice()
|
|||
*/
|
||||
|
||||
if(goat_mouth_at(u.ux, u.uy)){
|
||||
if(u.veil){
|
||||
You("feel reality threatening to slip away!");
|
||||
if (yn("Are you sure you want to make an offering?") != 'y'){
|
||||
return(0);
|
||||
}
|
||||
else pline("So be it.");
|
||||
u.veil = FALSE;
|
||||
change_uinsight(1);
|
||||
}
|
||||
goat_eat(otmp, GOAT_EAT_OFFERED);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -2093,7 +2093,7 @@ dofire()
|
|||
struct obj * ammo = (struct obj *)0;
|
||||
|
||||
/* do we have enough charge to fire? */
|
||||
if (!launcher->ovar1 || (launcher->otyp == MASS_SHADOW_PISTOL && !launcher->cobj)) {
|
||||
if (!launcher->ovar1 || (launcher->otyp == MASS_SHADOW_PISTOL && (!launcher->cobj || Has_contents(launcher->cobj)))) {
|
||||
if (launcher->otyp == RAYGUN) You("push the firing stud, but nothing happens.");
|
||||
else pline("Nothing happens when you pull the trigger.");
|
||||
/* nothing else happens */
|
||||
|
|
|
@ -3112,6 +3112,15 @@ int tx,ty;
|
|||
|
||||
if(m_at(tx,ty) && (ep->ward_id != ANDROMALIUS || m_at(tx,ty)->mtyp != PM_SEWER_RAT)) return 0;
|
||||
|
||||
if(u.veil){
|
||||
You("feel reality threatening to slip away!");
|
||||
if (yn("Are you sure you want proceed with the ritual?") != 'y'){
|
||||
return 0;
|
||||
}
|
||||
else pline("So be it.");
|
||||
u.veil = FALSE;
|
||||
change_uinsight(1);
|
||||
}
|
||||
switch(ep->ward_id){
|
||||
case AHAZU:{
|
||||
if(u.sealTimeout[AHAZU-FIRST_SEAL] < moves){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue