Changeset 490
- Timestamp:
- 08/11/07 10:27:11 (1 year ago)
- Files:
-
- trunk/src/cave.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/cave.c
r486 r490 672 672 { 673 673 monster_type *m_ptr = &mon_list[g->m_idx]; 674 monster_race *r_ptr = &r_info[m_ptr->r_idx]; 675 676 byte da; 677 char dc; 674 678 675 /* Visible monster */ 676 if (m_ptr->ml) 677 { 678 monster_race *r_ptr = &r_info[m_ptr->r_idx]; 679 /* Desired attr & char*/ 680 da = r_ptr->x_attr; 681 dc = r_ptr->x_char; 682 683 /* Special attr/char codes */ 684 if ((da & 0x80) && (dc & 0x80)) 685 { 686 /* Use attr */ 687 a = da; 679 688 680 byte da; 681 char dc; 689 /* Use char */ 690 c = dc; 691 } 692 693 /* Multi-hued monster */ 694 else if (r_ptr->flags1 & (RF1_ATTR_MULTI)) 695 { 696 /* Multi-hued attr */ 697 a = randint(15); 682 698 699 /* Normal char */ 700 c = dc; 701 } 702 703 /* Normal monster (not "clear" in any way) */ 704 else if (!(r_ptr->flags1 & (RF1_ATTR_CLEAR | RF1_CHAR_CLEAR))) 705 { 706 /* Use attr */ 707 a = da; 708 683 709 /* Desired attr & char */ 684 710 da = r_ptr->x_attr; 685 711 dc = r_ptr->x_char; 686 712 687 /* Special attr/char codes */ 688 if ((da & 0x80) && (dc & 0x80)) 689 { 690 /* Use attr */ 713 /* Use char */ 714 c = dc; 715 } 716 717 /* Hack -- Bizarre grid under monster */ 718 else if ((a & 0x80) || (c & 0x80)) 719 { 720 /* Use attr */ 721 a = da; 722 723 /* Use char */ 724 c = dc; 725 } 726 727 /* Normal char, Clear attr, monster */ 728 else if (!(r_ptr->flags1 & (RF1_CHAR_CLEAR))) 729 { 730 /* Normal char */ 731 c = dc; 732 } 733 734 /* Normal attr, Clear char, monster */ 735 else if (!(r_ptr->flags1 & (RF1_ATTR_CLEAR))) 736 { 737 /* Normal attr */ 691 738 a = da; 692 693 /* Use char */694 c = dc;695 }696 697 /* Multi-hued monster */698 else if (r_ptr->flags1 & (RF1_ATTR_MULTI))699 {700 /* Multi-hued attr */701 a = randint(15);702 703 /* Normal char */704 c = dc;705 }706 707 /* Normal monster (not "clear" in any way) */708 else if (!(r_ptr->flags1 & (RF1_ATTR_CLEAR | RF1_CHAR_CLEAR)))709 {710 /* Use attr */711 a = da;712 713 /* Use char */714 c = dc;715 }716 717 /* Hack -- Bizarre grid under monster */718 else if ((a & 0x80) || (c & 0x80))719 {720 /* Use attr */721 a = da;722 723 /* Use char */724 c = dc;725 }726 727 /* Normal char, Clear attr, monster */728 else if (!(r_ptr->flags1 & (RF1_CHAR_CLEAR)))729 {730 /* Normal char */731 c = dc;732 }733 734 /* Normal attr, Clear char, monster */735 else if (!(r_ptr->flags1 & (RF1_ATTR_CLEAR)))736 {737 /* Normal attr */738 a = da;739 }740 739 } 741 740 } … … 849 848 * terrain may be objects, monsters, or stay the same. 850 849 */ 851 #undef HALLUCINATION_SUPPORT /* needs to be generalised. */852 850 void map_info(unsigned y, unsigned x, grid_data *g) 853 851 { … … 926 924 } 927 925 } 926 } 927 928 /* Monsters */ 929 if (g->m_idx > 0) 930 { 931 /* If the monster isn't "visible", make sure we don't list it.*/ 932 monster_type *m_ptr = &mon_list[g->m_idx]; 933 if (!m_ptr->ml) g->m_idx = 0; 934 928 935 } 929 936
