1
0
Fork 0
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:
chris 2022-06-02 19:54:53 -04:00
commit 6ed748f895
7 changed files with 64 additions and 7 deletions

View file

@ -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){

View file

@ -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) ?

View file

@ -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);

View file

@ -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;

View file

@ -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;
}

View file

@ -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 */

View file

@ -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){