It is currently 16 Apr 2024, 11:05
   
Text Size

[fix]Footbottom Feast can't be cast for 0-no draw if 0

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

[fix]Footbottom Feast can't be cast for 0-no draw if 0

Postby Aswan jaguar » 21 Aug 2018, 16:25

Describe the Bug:
Footbottom Feast can't be cast for 0 targets and if you have a target but you don't select one you don't can't to draw a card.

Which card did behave improperly?
Footbottom Feast

Which update are you using? (date, name)Which type? (duel, gauntlet, sealed deck)
Manalink dev 778ccb5 version - duel

What exactly should be the correct behavior/interaction?
Footbottom Feast - Put any number of target creature cards from your graveyard on top of your library.
10/1/2007 You can cast this with zero targets. If you do, you’ll get to draw a card. However, if you cast this with at least one target and all of those targets become illegal, the spell won’t resolve and you won’t get to draw a card.

Are any other cards possibly affected by this bug?
-
Attachments
footbottom feast not cast for 0.rar
(2.06 KiB) Downloaded 135 times
Last edited by Aswan jaguar on 14 Aug 2019, 12:36, edited 1 time in total.
Reason: fixed
---
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: Footbottom Feast can't be cast for 0-no draw if select 0

Postby Aswan jaguar » 03 Aug 2019, 10:39

With below code in bone_harvest_impl() and change in select_multiple_cards_from_graveyard() to accept 0, I made it to draw a card with 0 targets in graveyard. However everything I tried, so it doesn't draw a card if you target a card in graveyard and the targeted card is then removed to honor the mentioned above ruling has failed.
Code: Select all
int bone_harvest_impl(int player, int card, event_t event, int draw_else_slowtrip){

   if( ! IS_GS_EVENT(player, card, event) ){
      return 0;
   }

   test_definition_t test;
   new_default_test_definition(&test, TYPE_CREATURE, "Select any target creature cards.");

   card_instance_t* instance = get_card_instance(player, card);

   if (event == EVENT_CAN_CAST){
      return generic_spell(player, card, event, 0, NULL, NULL, 0, 0);
   }

   if (event == EVENT_CAST_SPELL && affect_me(player, card)){
      int max_targ = MIN(count_graveyard_by_type(player, TYPE_CREATURE), 18);
      instance->info_slot = select_multiple_cards_from_graveyard(player, player, 0, AI_MAX_VALUE, &test, max_targ, &instance->targets[0]);
   }

   if (event == EVENT_RESOLVE_SPELL){
      int i, num_validated = 0, selected;
      for (i = 0; i < instance->info_slot; ++i){
         if( (selected = validate_target_from_grave(player, card, player, i)) != -1){
            int card_added = add_card_to_hand(player, get_grave(player)[selected]);
            remove_card_from_grave(player, selected);
            put_on_top_of_deck(player, card_added);
            ++num_validated;
         }
      }

      if (num_validated == 0){
         if( draw_else_slowtrip ){
            draw_a_card(player);
         }
         else{
            cantrip(player, card, 1);
         }
         spell_fizzled = 1;
      }
      else{
         rearrange_top_x(player, player, num_validated);
         if( draw_else_slowtrip ){
            draw_a_card(player);
         }
         else{
            cantrip(player, card, 1);
         }
      }

      kill_card(player, card, KILL_DESTROY);
   }

   return 0;
}
Code: Select all
int select_multiple_cards_from_graveyard(int player, int targ_player, int must_select_all /*if < 0, not enforced; but failing to select all is considered cancelling */, int ai_selection_mode, test_definition_t* this_test /*optional*/, int max_targets, target_t* ret_location){
   // no reason this won't work on higher except that 1) the sort will take forever, and 2) it won't be storable in a card's target array.
   ASSERT(max_targets >= 0 && max_targets <= 19);
........"rest of code" .....
---
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: Footbottom Feast can't be cast for 0-no draw if select 0

Postby Aswan jaguar » 14 Aug 2019, 12:35

Fix Footbottom Feast respect ruling in afa6b8e8.
---
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 26 guests


Who is online

In total there are 26 users online :: 0 registered, 0 hidden and 26 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 26 guests

Login Form