From b49316f91a8dfd8386ae41a4cf2b9e1814fb9166 Mon Sep 17 00:00:00 2001 From: haranp Date: Thu, 3 Apr 2008 14:40:19 +0000 Subject: Nemelex changes: - Renamed abilities, and reordered so that you get Draw One before Peek Two - Mark Four and Peek Two now lose some cards from the deck - Viewing a deck now shows which cards have been marked in it Also fixed a small warning in format.cc. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4059 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/describe.cc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'crawl-ref/source/describe.cc') diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc index 461ff62bd2..af1598b224 100644 --- a/crawl-ref/source/describe.cc +++ b/crawl-ref/source/describe.cc @@ -1377,6 +1377,7 @@ static std::string describe_deck( const item_def &item ) } const int num_cards = cards_in_deck(item); + int last_known_card = -1; if ( top_card_is_known(item) ) { description += "Next card(s): "; @@ -1389,6 +1390,7 @@ static std::string describe_deck( const item_def &item ) if ( i != 0 ) description += ", "; description += card_name(card); + last_known_card = i; } else break; @@ -1396,6 +1398,30 @@ static std::string describe_deck( const item_def &item ) description += "$"; } + // Marked cards which we don't know straight off. + std::vector marked_cards; + for ( int i = last_known_card + 1; i < num_cards; ++i ) + { + unsigned char flags; + const card_type card = get_card_and_flags(item, -i-1, flags); + if ( flags & CFLAG_MARKED ) + marked_cards.push_back(card); + } + if ( !marked_cards.empty() ) + { + std::sort(marked_cards.begin(), marked_cards.end(), + compare_card_names); + description += "Marked card(s): "; + for ( unsigned int i = 0; i < marked_cards.size(); ++i ) + { + if ( i != 0 ) + description += ", "; + description += card_name(marked_cards[i]); + } + description += "$"; + } + + // Seen cards in the deck. std::vector seen_cards; for ( int i = 0; i < num_cards; ++i ) { -- cgit v1.2.3-54-g00ecf