@@ -2403,9 +2403,9 @@ d_level *lev;
2403
2403
2404
2404
#define INTEREST (feat ) \
2405
2405
((feat).nfount || (feat).nsink || (feat).nthrone || (feat).naltar \
2406
- || (feat).ngrave || (feat).ntree || (feat).nshop || (feat).ntemple \
2407
- || (feat).nforge || (feat).ndeadtree || (feat).ngrass \
2408
- || (feat).nsand || (feat).nmagicchest)
2406
+ || (feat).nfaltar || (feat).ngrave || (feat).ntree || (feat).nshop \
2407
+ || (feat).ntemple || (feat).nforge || (feat).ndeadtree \
2408
+ || (feat).ngrass || (feat). nsand || (feat).nmagicchest)
2409
2409
/* || (feat).water || (feat).ice || (feat).lava */
2410
2410
2411
2411
/* returns true if this level has something interesting to print out */
@@ -2651,13 +2651,23 @@ recalc_mapseen()
2651
2651
&& (levl [x ][y ].seenv & SVALL ) != SVALL )
2652
2652
? MSA_NONE
2653
2653
: Amask2msa (levl [x ][y ].altarmask );
2654
- if (!mptr -> feat .naltar )
2655
- mptr -> feat .msalign = atmp ;
2656
- else if (mptr -> feat .msalign != atmp )
2657
- mptr -> feat .msalign = MSA_NONE ;
2658
- count = mptr -> feat .naltar + 1 ;
2659
- if (count <= 3 )
2660
- mptr -> feat .naltar = count ;
2654
+ if (levl [x ][y ].frac_altar == 1 ) {
2655
+ if (!mptr -> feat .nfaltar )
2656
+ mptr -> feat .msalign = atmp ;
2657
+ else if (mptr -> feat .msalign != atmp )
2658
+ mptr -> feat .msalign = MSA_NONE ;
2659
+ count = mptr -> feat .nfaltar + 1 ;
2660
+ if (count <= 3 )
2661
+ mptr -> feat .nfaltar = count ;
2662
+ } else {
2663
+ if (!mptr -> feat .naltar )
2664
+ mptr -> feat .msalign = atmp ;
2665
+ else if (mptr -> feat .msalign != atmp )
2666
+ mptr -> feat .msalign = MSA_NONE ;
2667
+ count = mptr -> feat .naltar + 1 ;
2668
+ if (count <= 3 )
2669
+ mptr -> feat .naltar = count ;
2670
+ }
2661
2671
break ;
2662
2672
/* An automatic annotation is added to the Castle and
2663
2673
* to Fort Ludios once their structure's main entrance
@@ -3078,6 +3088,17 @@ boolean printdun;
3078
3088
&& (u .ualign .type != A_NONE || mptr -> feat .naltar == 1 ))
3079
3089
Sprintf (eos (buf ), " to %s" , align_gname (u .ualign .type ));
3080
3090
}
3091
+ if (mptr -> feat .nfaltar > 0 ) {
3092
+ /* same for fractured altars */
3093
+ if (mptr -> feat .ntemple != mptr -> feat .nfaltar )
3094
+ ADDNTOBUF ("fractured altar" , mptr -> feat .nfaltar );
3095
+ else
3096
+ ADDNTOBUF ("temple" , mptr -> feat .ntemple );
3097
+
3098
+ if (Amask2align (Msa2amask (mptr -> feat .msalign )) == u .ualign .type
3099
+ && (u .ualign .type != A_NONE || mptr -> feat .nfaltar == 1 ))
3100
+ Sprintf (eos (buf ), " to %s" , align_gname (u .ualign .type ));
3101
+ }
3081
3102
ADDNTOBUF ("throne" , mptr -> feat .nthrone );
3082
3103
ADDNTOBUF ("forge" , mptr -> feat .nforge );
3083
3104
ADDNTOBUF ("magic chest" , mptr -> feat .nmagicchest );
0 commit comments