It is currently 25 Apr 2024, 13:47
   
Text Size

[fixed]Bane Alley Broker no resolution

Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins

[fixed]Bane Alley Broker no resolution

Postby Aswan jaguar » 28 Oct 2016, 13:33

Describe the Bug:
1- Bane Alley Broker taps before you even select what ability to use,and even taps if that ability is the 2nd (look at cards exiled),
2- Bane Alley Broker then asks for {U} {B} before you select which ability to use and even if that abilities are 1st,2nd that don't require mana payment.
3- While it is tapped you can select to activate 1st and 3nd ability that require tapping.
4- After you have paid the mana requirement it opens the menu to select ability then if you select the 3nd you are asked again to pay the {U} {B} mana requirement.
5- If you cancel the activation Bane Alley Broker remains tapped.

6- If it is highlighted as activate-able and you cancel because you don't have to pay the mana cost when prompt then opens the menu to use the abilities without mana requirement but if you select at least 1st (draw/exile)nothing happens,
Which card did behave improperly ?
Bane Alley Broker

Which update are you using?(date,name)Which type(Duel,Gauntlet,Sealed Deck)
Manalink 2016/08/27: Eldritch Moon v2, duel

What exactly should be the correct behavior/interaction ?
1- Bane Alley Broker doesn't tap before you select what ability to use,and certainly not if that ability is the 2nd (look at cards exiled).
2- Bane Alley Broker doesn't ask for {U} {B} before you select which ability to use and certainly not 2nd that don't require mana payment.
3- While it is tapped you can't select to activate 1st and 3nd ability that require tapping.
4- Ability selection menu opens before mana payment menu.
5- If you cancel the activation Bane Alley Broker becomes untapped.
6- if above are fixed this gets fixed,too.

Are any other cards possibly affected by this bug ?
-
Attachments
bane alley broker first ability no go at least with mana for 2 avail.rar
(7.53 KiB) Downloaded 200 times
Last edited by Aswan jaguar on 15 Nov 2020, 10:54, edited 3 times in total.
Reason: fixed all
---
Trying to squash some bugs and playtesting.
User avatar
Aswan jaguar
Super Tester Elite
 
Posts: 8078
Joined: 13 May 2010, 12:17
Has thanked: 730 times
Been thanked: 458 times

Re: [confirmed]Bane Alley Broker multiple activating issues

Postby Aswan jaguar » 18 Aug 2019, 10:34

I have fixed the activation issues at least to the extend I can test as still there is no resolution for first ability (not even the draw a card part !) of the first ability so I can't test the rest of the abilities.
The code with my changes:
Code: Select all
int card_bane_alley_broker(int player, int card, event_t event){
/*
Bane Alley Broker |1|U|B
Creature — Human Rogue 0/3, 1UB (3)
{T}: Draw a card, then exile a card from your hand face down. You may look at cards exiled with Bane Alley Broker.
{U}{B}, {T}: Return a card exiled with Bane Alley Broker to its owner's hand.
*/
   if( ! IS_GAA_EVENT(event) ){
      return 0;
   }

   enum{
      CHOICE_DRAW_EXILE = 1,
      CHOICE_RETURN_EXILED,
      CHOICE_SHOW_EXILED
   };

   card_instance_t *instance = get_card_instance(player, card);

   if( event == EVENT_CAN_ACTIVATE ){
      if( generic_activated_ability(player, card, event, GAA_UNTAPPED, MANACOST0, 0, NULL, NULL) ){
         return 1;
      }
      if( player == HUMAN && exiledby_choose(player, card, CARD_ID_BANE_ALLEY_BROKER, EXBY_FIRST_FOUND, 0, "Card", 1) ){
          return 1;
      }
      return generic_activated_ability(player, card, event, GAA_UNTAPPED, MANACOST_BU(1, 1), 0, NULL, NULL);
   }

   if(event == EVENT_ACTIVATE ){
      int check_exile = exiledby_choose(player, card, CARD_ID_BANE_ALLEY_BROKER, EXBY_FIRST_FOUND, 0, "Card", 1) ;
      int abilities[4] = {
                     0,
                     generic_activated_ability(player, card, EVENT_CAN_ACTIVATE, GAA_UNTAPPED, MANACOST0, 0, NULL, NULL),
                     generic_activated_ability(player, card, EVENT_CAN_ACTIVATE, GAA_UNTAPPED, MANACOST_BU(1, 1), 0, NULL, NULL) && check_exile,
                     player == HUMAN && check_exile
      };

      int choice = DIALOG(player, card, event, DLG_NO_STORAGE, DLG_RANDOM,
                     "Draw and exile", abilities[1], 5,
                     "Pick a card from exile", abilities[2], 10,
                     "Show exiled cards", abilities[3], 0);
      if( ! choice  ){
         spell_fizzled = 1;
         return 0;
      }
       if( choice == CHOICE_DRAW_EXILE ){
         return generic_activated_ability(player, card, event, GAA_UNTAPPED, MANACOST0, 0, NULL, NULL);
      }
      if( choice == CHOICE_SHOW_EXILED ){
         exiledby_choose(player, card, CARD_ID_BANE_ALLEY_BROKER, EXBY_CHOOSE, 0, "Card", 1);
         spell_fizzled = 1;
         return 0;
      }
      if( choice == CHOICE_RETURN_EXILED ){
         return generic_activated_ability(player, card, event, GAA_UNTAPPED, MANACOST_BU(1, 1), 0, NULL, NULL);
      }
   }

   if( event == EVENT_RESOLVE_ACTIVATION ){
      if( instance->info_slot == CHOICE_DRAW_EXILE ){
         draw_cards(player, 1);   
         if( hand_count[player] > 0 ){
            int leg = 0, idx = 0;
            char buffer[100];
            scnprintf(buffer, 100, "Select a card to exile");
            test_definition_t this_test;
            new_default_test_definition(&this_test, TYPE_ANY, buffer);
            int selected = new_select_a_card(player, player, TUTOR_FROM_HAND, 1, AI_MIN_VALUE, -1, &this_test);
            exiledby_remember(instance->parent_controller, instance->parent_card, player,
                           get_original_internal_card_id(instance->parent_controller, selected), &leg, &idx);
            rfg_card_in_hand(instance->parent_controller, selected);
         }
      }
      if( instance->info_slot == CHOICE_RETURN_EXILED ){
         int rval = exiledby_choose(instance->parent_controller, instance->parent_card, CARD_ID_BANE_ALLEY_BROKER, EXBY_CHOOSE, 0,
                              "Card", 1);
         int* loc = (int*)rval;
         if( loc ){
            int *loc2 = exiledby_find(player, card, *loc, NULL, NULL);
            int iid = *loc2 & ~0x80000000;
            *loc2 = -1;
            add_card_to_hand(player, iid);
         }
      }
   }

   return 0;
}
---
Trying to squash some bugs and playtesting.
User avatar
Aswan jaguar
Super Tester Elite
 
Posts: 8078
Joined: 13 May 2010, 12:17
Has thanked: 730 times
Been thanked: 458 times

Re: [confirmed]Bane Alley Broker no resolution

Postby Aswan jaguar » 15 Nov 2020, 10:54

fixed remaining issues in commit 2edb77f.
---
Trying to squash some bugs and playtesting.
User avatar
Aswan jaguar
Super Tester Elite
 
Posts: 8078
Joined: 13 May 2010, 12:17
Has thanked: 730 times
Been thanked: 458 times


Return to Archived Reports

Who is online

Users browsing this forum: No registered users and 42 guests


Who is online

In total there are 42 users online :: 0 registered, 0 hidden and 42 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 42 guests

Login Form