Page 2 of 10

Re: Bugs

PostPosted: 26 Mar 2010, 04:06
by Sarzah
I found an odd bug with spy. It requires a misplay in a very unique circumstance, but still seems to be a bug.

If you have no deck and no discard pile, ie all cards in play or in hand, and you play spy, it will treat the most recently drawn card in your hand as your draw with the choice to discard or put on top of your deck.

Re: Bugs

PostPosted: 27 Mar 2010, 19:28
by Sarzah
Mine does not add the selected treasure card to your hand, but instead discards.
Chapel will allow you to trash more than 4 cards.

Re: Bugs

PostPosted: 27 Mar 2010, 22:33
by 1024
Scout will only reveal the remaining cards if there are less than 4, it won't reshuffle. When there's no card left, it reveals none etc.

Re: Bugs

PostPosted: 28 Mar 2010, 16:26
by 1024
With Ambassador you can't reveal a card without putting at least one back to the supply.

Also, not sure if anyone else has this, or that I am extremely unlucky, but Gardens never seem to be included in random setups.

Re: Bugs

PostPosted: 31 Mar 2010, 15:37
by jatill
1024 wrote:With Ambassador you can't reveal a card without putting at least one back to the supply.
Why would you want to do this?

Re: Bugs

PostPosted: 31 Mar 2010, 15:49
by Tilouboy
jatill wrote:
1024 wrote:With Ambassador you can't reveal a card without putting at least one back to the supply.
Why would you want to do this?
Let's say you have lots of gardens in your deck, you reveal a curse with the ambassador so the others get one, but you want to keep yours because it's the 40th card of your deck...

Re: Bugs

PostPosted: 31 Mar 2010, 17:06
by jatill
That's what I was thinking. There's about 1/5000 chance you'd want to, where the other 4999 times you're just doing an extra click. So enjoy your clicking, suckers...

Re: Bugs

PostPosted: 31 Mar 2010, 23:04
by ivadla
I think there is a bug in scenario 2.4 which makes it impossible to complete. It does not seem to count the last
card-type. And you can't see which cards are under the native village if the
native village is not one of the available kingdom cards. The following patch
should fix both problems. I can't test it myself, because I have no
VB6-compiler.
Code: Select all
diff -ru dominion_code_2010-03-25/dominion.frm dominion_code_2010-03-25.new/dominion.frm
--- dominion_code_2010-03-25/dominion.frm       2010-04-01 00:45:29.000000000 +0200
+++ dominion_code_2010-03-25.new/dominion.frm   2010-04-01 00:49:42.000000000 +0200
@@ -6374,6 +6374,8 @@
             If deck(0, i) = get_id_by_name("Estate") Then deck(0, i) = get_id_by_name("Native Village")
             If hand(0, i) = get_id_by_name("Estate") Then hand(0, i) = get_id_by_name("Native Village")
         Next i
+
+       lblVillage.Visible = True
+       lblVillageCards.Visible = True
     End If
 End Sub

@@ -6416,7 +6418,7 @@
         End If
     ElseIf Campaign.scenario_selected = 8 Then
         count = 0
-        For j = 0 To 8
+        For j = 0 To 9
             For i = 0 To village_count(0) - 1
                 If native_village(0, i) = action_cards(j) Then
                     count = count + 1
Also the wording of the goal can be misleading, because the supply usually
includes all available cards, including victory and treasure cards. You could
write "Gather 1 of every available kingdom card under a Native Village".

Re: Bugs

PostPosted: 31 Mar 2010, 23:24
by ivadla
Sarzah wrote:I found an odd bug with spy. It requires a misplay in a very unique circumstance, but still seems to be a bug.

If you have no deck and no discard pile, ie all cards in play or in hand, and you play spy, it will treat the most recently drawn card in your hand as your draw with the choice to discard or put on top of your deck.
The same thing happens if you hide a card with the native village and your deck and discard pile are empty. This patch should fix it for spy and native village:
Code: Select all
diff -r -U 5 dominion_code_2010-03-25/dominion.frm dominion_code_2010-03-25.new/dominion.frm
--- dominion_code_2010-03-25/dominion.frm       2010-04-01 00:50:53.000000000 +0200
+++ dominion_code_2010-03-25.new/dominion.frm   2010-04-01 01:20:02.000000000 +0200
@@ -3463,21 +3463,22 @@
         ElseIf village_count(active_player) > 1 Then
             intResponse = vbNo
         End If
         If intResponse = vbYes Then
             append player_names(active_player) & " hides a card"
-            Call draw_cards(active_player, 1)
+            If draw_cards(active_player, 1) = 1 Then
             count = village_count(active_player)
             native_village(active_player, count) = hand(active_player, hand_count(active_player) - 1)
             native_village(active_player, count + 1) = -1
             Call remove_card_from_hand(active_player, hand_count(active_player) - 1)
             If active_player = 0 Then
                 lblVillageCards.Caption = ""
                 For i = 0 To village_count(active_player) - 1
                     lblVillageCards.Caption = lblVillageCards.Caption & names(native_village(active_player, i)) & " "
                 Next i
             End If
+           End If
         Else
             append player_names(active_player) & " draws cards"
             For i = 0 To village_count(active_player) - 1
                 Call add_card_to_hand(active_player, native_village(active_player, i))
             Next i
@@ -3811,11 +3812,11 @@
         Call draw_cards(active_player, 1)
         Call set_actions(active_player, actions + 1)
         For i = 0 To num_players - 1
             If i = active_player Or protected(i) = 0 Then
                 ' for the AI, leav estates and coins only
-                Call draw_cards(i, 1)
+                If draw_cards(i, 1) = 1 Then
                 Dim card As Integer
                 count = hand_count(i)
                 card = hand(i, count - 1)
                 Call append(player_names(i) & " reveals " & names(card))
                 If active_player <> 0 Then
@@ -3832,10 +3833,11 @@
                     append ("It is discarded")
                 Else
                     Call remove_card_from_hand(i, count - 1)
                     Call put_on_top_of_deck(i, card, 1)
                 End If
+                End If
             End If
         Next i

     ElseIf names(Index) = "Steward" Then
         If active_player = 0 The

Re: Bugs

PostPosted: 01 Apr 2010, 12:05
by jatill
Nice catches, thanks.

Re: Bugs

PostPosted: 01 Apr 2010, 12:32
by Boom2010
ivadla wrote:I think there is a bug in scenario 2.4 which makes it impossible to complete.....
Phew.....I've been trying to crack this challenge for a day or so but all I've got is a sore head ](*,)

thanks!

Re: Bugs

PostPosted: 01 Apr 2010, 13:24
by jatill
Umm... April Fools? ;)

Re: Bugs

PostPosted: 01 Apr 2010, 20:35
by ivadla
I'm not sure if it's a bug, but in the version of April 1st in the scenario 3.3 the other players buy only gold and the game ends when all gold has been bought. That makes it very easy to win once you figure that out. But when nobles are available they only buy them and the game ends when all nobles have been bought.

Re: Bugs

PostPosted: 02 Apr 2010, 12:02
by jatill
It's intentional that the game ends when 1 pile is gone. When I was playing it, the opponents normally went for Gold, and then eventually Duchy.

Re: Bugs

PostPosted: 06 Apr 2010, 11:37
by 1024
I actually used the Ambassador not to return any cards today. If I give the AI's a Treasure Map each, they won't get rid of it and they won't buy another one - it's a dead card for them. Not that they'd ever buy it anyway... maybe you'd want to change this.