[fixed/closed]Necropotence
Moderators: BAgate, drool66, stassy, Aswan jaguar, gmzombie, CCGHQ Admins
[fixed/closed]Necropotence
by Aswan jaguar » 04 Jul 2013, 09:45
Describe the Bug:
1- Necropotence will not exile cards from other spells or abilities that cause you to discard.
2- The first time-turn it is in play and you draw a lot cards and you have to discard them at the end of turn AI at least doesn't discard the surplus cards in hand 7+ (next turns it seems to work fine)
Which card did behave improperly ?
Necropotence
Which update are you using?(date,name)Which type(Duel,Gauntlet,Sealed Deck)
ML3-JUNE.V2
What exactly should be the correct behavior/interaction ?
1- When in play cards that you discard have to go to exile.
2- Even in the first turn you have to discard the cards more that exceed 7.
Are any other cards possibly affected by this bug ?
1- Necropotence will not exile cards from other spells or abilities that cause you to discard.
2- The first time-turn it is in play and you draw a lot cards and you have to discard them at the end of turn AI at least doesn't discard the surplus cards in hand 7+ (next turns it seems to work fine)
Which card did behave improperly ?
Necropotence
Which update are you using?(date,name)Which type(Duel,Gauntlet,Sealed Deck)
ML3-JUNE.V2
What exactly should be the correct behavior/interaction ?
1- When in play cards that you discard have to go to exile.
2- Even in the first turn you have to discard the cards more that exceed 7.
Are any other cards possibly affected by this bug ?
- Attachments
-
skirge familiar-necropotence.rar- (1.82 KiB) Downloaded 90 times
Last edited by BAgate on 18 Jan 2014, 02:42, edited 3 times in total.
Reason: closed
Reason: closed
---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-

Aswan jaguar - Super Tester Elite
- Posts: 7450
- Joined: 13 May 2010, 12:17
- Has thanked: 639 times
- Been thanked: 351 times
Re: Necropotence
by stassy » 04 Jul 2013, 09:54
- stassy
- Moderator
- Posts: 5274
- Joined: 25 Feb 2009, 07:06
- Has thanked: 471 times
- Been thanked: 337 times
[confirmed]Necropotence
by BAgate » 25 Nov 2013, 20:30
version PTT
Necropotence does not cause discarded cards to be exiled.
Gargaroz asked that this be broken off from a previous bug report, but it is listed in the unfixable section, so should we remove it, or has something changed?
Necropotence does not cause discarded cards to be exiled.
Gargaroz asked that this be broken off from a previous bug report, but it is listed in the unfixable section, so should we remove it, or has something changed?
- Attachments
-
necropotence.rar- (2 KiB) Downloaded 87 times
Last edited by stassy on 26 Nov 2013, 06:20, edited 1 time in total.
Reason: bug confirmed
Reason: bug confirmed
Working on: housekeeping and archived reports
Re: Necropotence
by stassy » 26 Nov 2013, 06:19
We know that Korath took a peek at the unresolved/non fixable cards some time ago, so maybe he can have a try at this 
- stassy
- Moderator
- Posts: 5274
- Joined: 25 Feb 2009, 07:06
- Has thanked: 471 times
- Been thanked: 337 times
Re: [confirmed]Necropotence
by Korath » 29 Nov 2013, 17:19
If it were worded, "If you would discard a card, exile it instead", this would be easy - discard() and discard_card() in the exe aren't terribly complicated, and we know how to safely add a new event for "this card is being discarded". It would probably be closer to correct than what we have now, too.
Tracking cards in the graveyard, though, is very hard in Manalink. (Try removing a card from near the bottom of your graveyard in response to Animate Dead, using something like Soldevi Digger. Poof! We lost track, and Animate Dead fizzles, even though the card it was targeting is still in the graveyard, since it's not at the exact same place it was before.) So I don't expect this'll interact properly with other "Whenever x discards a card, [do something with that card]" triggers anytime soon.
Hrm.
Looking a bit more closely, there's already a trigger being dispatched in the right place. TRIGGER_DISCARD with the being-dicsarded card in (trigger_cause_controller,trigger_cause), and set byte_786DD4 to 1 to suppress it being put in the graveyard.
Tracking cards in the graveyard, though, is very hard in Manalink. (Try removing a card from near the bottom of your graveyard in response to Animate Dead, using something like Soldevi Digger. Poof! We lost track, and Animate Dead fizzles, even though the card it was targeting is still in the graveyard, since it's not at the exact same place it was before.) So I don't expect this'll interact properly with other "Whenever x discards a card, [do something with that card]" triggers anytime soon.
Hrm.
Looking a bit more closely, there's already a trigger being dispatched in the right place. TRIGGER_DISCARD with the being-dicsarded card in (trigger_cause_controller,trigger_cause), and set byte_786DD4 to 1 to suppress it being put in the graveyard.
- Code: Select all
int
discard_card(int player, int card)
{ // 0x4337A0
int old_tcc = trigger_cause_controller;
int old_tc = trigger_cause;
trigger_cause_controller = player;
trigger_cause = card;
byte_786DD4 = 0;
dispatch_trigger_twice_once_with_each_player_as_reason(player, TRIGGER_DISCARD, str_draw_a_card, 0);
trigger_cause = old_tc;
trigger_cause_controller = old_tcc;
if (byte_786DD4 != 1)
{
dispatch_event_to_single_card(player, card, EVENT_DISCARD, 1 - player, -1);
put_card_in_graveyard(player, card);
get_card_instance(player, card)->internal_card_id = -1; // which obliterates it
call_sub_437E20_unless_ai_is_speculating(); // sub_437E20() is display-related; it probably flags the graveyard to be redrawn
play_sound_effect(WAV_DISCARD);
--hand_count[player];
}
return 0;
}
-

Korath - DEVELOPER
- Posts: 3522
- Joined: 02 Jun 2013, 05:57
- Has thanked: 491 times
- Been thanked: 1037 times
5 posts
• Page 1 of 1
Who is online
Users browsing this forum: Bing [Bot] and 4 guests
