[fixed][Monkey Cage] others list (Double Sleight) bug
Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins
[fixed][Monkey Cage] others list (Double Sleight) bug
by Korath » 18 Oct 2016, 19:44
Describe the Bug:
Monkey Cage makes Ape tokens instead of Monkey tokens. Worse, in dev, it doesn't sacrifice itself anymore either. Plus, it double-sleights the tokens, so if you Sleight of Mind the Monkey Cage from red to blue and then Sleight it again from green to red, you get blue Apes instead of red Monkeys.
Which card did behave improperly ?
Monkey Cage.
Which update are you using?(date,name)Which type(Duel,Gauntlet,Sealed Deck)
dev HEAD, 98bf2ca.
What exactly should be the correct behavior/interaction ?
Monkeys, sacrifice during the trigger so it's not infinite monkeys, and only sleight once (in token_generation.c, where it's done automagically). Or at least a better reason why revision 83f44e3, which had none of these problems, was wrong than "code redone". Even the EMN version just makes apes instead of monkeys.
Are any other cards possibly affected by this bug ?
Nothing else makes Monkey tokens, and the sacrifice is, obviously, specific to Monkey Cage. Plenty of cards with the sleight bug, though. A partial list can be found with "git grep -inp color_forced.*sleight":
Which card did behave improperly ?
Monkey Cage.
Which update are you using?(date,name)Which type(Duel,Gauntlet,Sealed Deck)
dev HEAD, 98bf2ca.
What exactly should be the correct behavior/interaction ?
Monkeys, sacrifice during the trigger so it's not infinite monkeys, and only sleight once (in token_generation.c, where it's done automagically). Or at least a better reason why revision 83f44e3, which had none of these problems, was wrong than "code redone". Even the EMN version just makes apes instead of monkeys.
Are any other cards possibly affected by this bug ?
Nothing else makes Monkey tokens, and the sacrifice is, obviously, specific to Monkey Cage. Plenty of cards with the sleight bug, though. A partial list can be found with "git grep -inp color_forced.*sleight":
- | Open
- src/cards/conspiracy-take-the-crown.c=543=int card_liutenants_of_the_guard(int player, int card, event_t event){
src/cards/conspiracy-take-the-crown.c:560: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_WHITE);
src/cards/conspiracy-take-the-crown.c=1242=int card_skyline_despot(int player, int card, event_t event){
src/cards/conspiracy-take-the-crown.c:1259: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_RED);
src/cards/conspiracy-take-the-crown.c=1268=int card_subterranean_tremors(int player, int card, event_t event){
src/cards/conspiracy-take-the-crown.c:1294: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_RED);
src/cards/conspiracy-take-the-crown.c=1974=int card_queen_marchesa(int player, int card, event_t event){
src/cards/conspiracy-take-the-crown.c:1995: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/dissension.c=3068=Creature <97> Zombie Shaman 2/2
src/cards/dissension.c:3127: token.color_forced = get_sleighted_color_test(instance->parent_controller, instance->parent_card, COLOR_TEST_RED);
src/cards/eldritch_moon.c=304=int card_it_of_the_horrid_swarm(int player, int card, event_t event)
src/cards/eldritch_moon.c:326: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_GREEN);
src/cards/eldritch_moon.c=2746=int card_dark_salvation(int player, int card, event_t event)
src/cards/eldritch_moon.c:2788: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/eldritch_moon.c=2819=int card_graf_harvest(int player, int card, event_t event)
src/cards/eldritch_moon.c:2860: token.color_forced = get_sleighted_color_test(instance->parent_controller, instance->parent_card, COLOR_TEST_BLACK);
src/cards/eldritch_moon.c=2942=int card_haunted_dead(int player, int card, event_t event)
src/cards/eldritch_moon.c:2971: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_WHITE);
src/cards/eldritch_moon.c=3099=int card_noosegraf_mob(int player, int card, event_t event)
src/cards/eldritch_moon.c:3116: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/eldritch_moon.c=3123=int card_oath_of_liliana(int player, int card, event_t event)
src/cards/eldritch_moon.c:3145: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/eldritch_moon.c=6071=int card_soul_separator(int player, int card, event_t event)
src/cards/eldritch_moon.c:6125: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/eldritch_moon.c=6381=int card_hanweir_garrison(int player, int card, event_t event){
src/cards/eldritch_moon.c:6390: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_RED);
src/cards/guildpact.c=2690=static int teysa_legacy(int player, int card, event_t event){
src/cards/guildpact.c:2736: token.color_forced = get_sleighted_color_test(p, c, COLOR_TEST_WHITE);
src/cards/innistrad.c=2578=void saint_traft_ability(int player, int card, event_t event, int attacker_player, int attacker_card){
src/cards/innistrad.c:2587: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_WHITE);
src/cards/mercadian_masques.c=2287=int card_monkey_cage(int player, int card, event_t event){
src/cards/mercadian_masques.c:2301: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_GREEN);
src/cards/oath_of_the_gatewatch.c=1060=int card_linvala_the_preserver(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:1079: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_WHITE);
src/cards/oath_of_the_gatewatch.c=1143=int card_oath_of_gideon(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:1156: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_WHITE);
src/cards/oath_of_the_gatewatch.c=1880=int card_crush_of_tentacles(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:1915: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLUE);
src/cards/oath_of_the_gatewatch.c=2899=int card_dranas_chosen(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:2927: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/oath_of_the_gatewatch.c=2938=static int kalitas_traitor_of_ghet(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:2975: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/oath_of_the_gatewatch.c=2986=int card_kalitas_traitor_of_ghet(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:3025: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/oath_of_the_gatewatch.c=3101=int card_null_caller(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:3135: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/oath_of_the_gatewatch.c=3608=int card_chandra_flamecaller(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:3697: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_RED);
src/cards/oath_of_the_gatewatch.c=4652=int card_nissa_voice_of_zendikar(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:4695: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_GREEN);
src/cards/oath_of_the_gatewatch.c=4876=int card_seed_guardian(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:4887: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_GREEN);
src/cards/oath_of_the_gatewatch.c=5377=int card_captains_claws(int player, int card, event_t event){
src/cards/oath_of_the_gatewatch.c:5393: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_WHITE);
src/cards/onslaught.c=3242=static int rotlung_reanimator_effect(int player, int card, event_t event){
src/cards/onslaught.c:3317: token.color_forced = p > -1 ? get_sleighted_color_test(p, c, COLOR_TEST_BLACK) : COLOR_TEST_BLACK;
src/cards/shadows_over_innistrad.c=51=static void make_spirit(int s_player, int s_card, int t_player, int qty, int sleight){
src/cards/shadows_over_innistrad.c:58: token.color_forced = (sleight ? get_sleighted_color_test(s_player, s_card, COLOR_TEST_WHITE) : COLOR_TEST_WHITE);
src/cards/shadows_over_innistrad.c=62=static void make_zombie(int s_player, int s_card, int t_player, int qty, int sleight, int action){
src/cards/shadows_over_innistrad.c:67: token.color_forced = (sleight ? get_sleighted_color_test(s_player, s_card, COLOR_TEST_BLACK) : COLOR_TEST_BLACK);
src/cards/shadows_over_innistrad.c=73=static void make_devil(int s_player, int s_card, int t_player, int qty, int sleight){
src/cards/shadows_over_innistrad.c:79: token.color_forced = (sleight ? get_sleighted_color_test(s_player, s_card, COLOR_TEST_RED) : COLOR_TEST_RED);
src/cards/shadows_over_innistrad.c=83=static void make_wolf(int s_player, int s_card, int t_player, int qty, int sleight){
src/cards/shadows_over_innistrad.c:89: token.color_forced = (sleight ? get_sleighted_color_test(s_player, s_card,COLOR_TEST_GREEN) : COLOR_TEST_GREEN);
src/cards/shadows_over_innistrad.c=93=static void make_human_soldier(int s_player, int s_card, int t_player, int qty, int sleight){
src/cards/shadows_over_innistrad.c:98: token.color_forced = (sleight ? get_sleighted_color_test(s_player, s_card, COLOR_TEST_WHITE) : COLOR_TEST_WHITE);
src/cards/shadows_over_innistrad.c=535=int card_descend_upon_the_sinful(int player, int card, event_t event){
src/cards/shadows_over_innistrad.c:552: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_WHITE);
src/cards/shadows_over_innistrad.c=717=int card_westvale_cult_leader(int player, int card, event_t event){
src/cards/shadows_over_innistrad.c:733: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK) |
src/cards/shadows_over_innistrad.c=2878=int card_call_the_bloodline(int player, int card, event_t event ){
src/cards/shadows_over_innistrad.c:2892: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK);
src/cards/shadows_over_innistrad.c=5024=static void make_insect(int s_player, int s_card, int t_player, int qty, int sleight){
src/cards/shadows_over_innistrad.c:5030: token.color_forced = (sleight ? get_sleighted_color_test(s_player, s_card, COLOR_TEST_GREEN) : COLOR_TEST_GREEN);
src/cards/shadows_over_innistrad.c=5357=int card_inexorable_blob(int player, int card, event_t event){
src/cards/shadows_over_innistrad.c:5372: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_GREEN);
src/cards/shadows_over_innistrad.c=6533=int card_sorin_grim_nemesis(int player, int card, event_t event){
src/cards/shadows_over_innistrad.c:6618: token.color_forced = get_sleighted_color_test(pl, ca, COLOR_TEST_BLACK);
src/cards/shadows_over_innistrad.c=7332=int card_westvale_abbey(int player, int card, event_t event){
src/cards/shadows_over_innistrad.c:7433: token.color_forced = get_sleighted_color_test(player, card, COLOR_TEST_BLACK) |
Last edited by Aswan jaguar on 13 Mar 2021, 12:33, edited 4 times in total.
Reason: fixed
Reason: fixed
-
Korath - DEVELOPER
- Posts: 3707
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1106 times
Re: [confirmed]Monkey Cage makes Ape tokens, doesn't sac its
by Aswan jaguar » 18 Oct 2016, 21:03
I confirm the ape tokens can't confirm the no sacrifice and the sleight bug as both cards that do that are broken in public as you know.
---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-
Aswan jaguar - Super Tester Elite
- Posts: 8075
- Joined: 13 May 2010, 12:17
- Has thanked: 729 times
- Been thanked: 455 times
Re: [confirmed]Monkey Cage makes Ape tokens, doesn't sac its
by Korath » 18 Oct 2016, 21:13
The EMN version of this sleights correctly. (Or would, if Sleight of Mind worked at all.)
-
Korath - DEVELOPER
- Posts: 3707
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1106 times
Re: [confirmed]Monkey Cage makes Ape tokens, doesn't sac its
by Aswan jaguar » 20 Oct 2019, 11:43
Fixed all mentioned about Monkey Cage and that it didn't trigger for opponent creatures entering the battlefield in commit 78214d93.
I will leave this open until I address the other double sleight bugs.
I will leave this open until I address the other double sleight bugs.
---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-
Aswan jaguar - Super Tester Elite
- Posts: 8075
- Joined: 13 May 2010, 12:17
- Has thanked: 729 times
- Been thanked: 455 times
Re: [confirmed][Monkey Cage] others list (Double Sleight) bu
by Aswan jaguar » 13 Mar 2021, 12:32
Sleight of Mind had this bug Korath:
viewtopic.php?f=86&t=30292#p247500
after this despite the double sleight on those tokens everything seems to work fine in my tests unless I don't make the correct tests. If double sleight doesn't cause issues I will not change the double values.
viewtopic.php?f=86&t=30292#p247500
after this despite the double sleight on those tokens everything seems to work fine in my tests unless I don't make the correct tests. If double sleight doesn't cause issues I will not change the double values.
---
Trying to squash some bugs and playtesting.
Trying to squash some bugs and playtesting.
-
Aswan jaguar - Super Tester Elite
- Posts: 8075
- Joined: 13 May 2010, 12:17
- Has thanked: 729 times
- Been thanked: 455 times
5 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 8 guests