Bug reports 0.20.1.xxxx

Do not post feature requests here, please.
Before posting bugs report check the Image Bug reporting help & guidelines
Forum rules
Do not post Features/Improvments request here (i.e : AI being stupid is not a bug, not being able to do a mulligan is not a bug, etc..etc..)
Before posting, please read the Bugs reporting guideline
sandman423
Posts: 739
Joined: Thu Sep 10, 2009 8:59 pm

Re: Bug reports 0.20.1.xxxx

Post by sandman423 »

Mirrorpool keeps crashing my game.

I cast Rite of Replication with Kicker and copied it and my game froze. Another time I tried copying my Time Stretch for 4 turns and my game crashed when I said "Copy" mirrorpool
jastolze
Posts: 9
Joined: Sat Nov 05, 2016 11:49 pm

Re: Bug reports 0.20.1.xxxx

Post by jastolze »

Hey, I'm not sure if this has been reported but on my Vita and PPSSPP it freezes upon selecting an opponent and deck editor. I used the most recent version from github. Not sure what could cause these crashes...
sandman423
Posts: 739
Joined: Thu Sep 10, 2009 8:59 pm

Re: Bug reports 0.20.1.xxxx

Post by sandman423 »

I would love to see an updated github release of this on windows with cards up to Commander 2016. Also having Issues with Thespian Stage & Dark Depths. Whenever i make a copy of Dark Depths with Stage I get counters on my new depths.

Is this this a bug?

Code: Select all

[card]
name=Dark Depths
auto=counter(0/0,10,Ice)
auto={3}:counter(0/0,-1,Ice) all(this)
auto=this(counter{0/0.1.Ice}<1)while sacrifice
auto=this(counter{0/0.1.Ice}<1)while token(Marit Lage,legendary creature avatar, 20/20,flying,indestructible,black)
text=Dark Depths enters the battlefield with ten ice counters on it. -- {3}: Remove an ice counter from Dark Depths. -- When Dark Depths has no ice counters on it, sacrifice it. If you do, put a legendary 20/20 black Avatar creature token with flying and "This creature is indestructible" named Marit Lage onto the battlefield.
type=Legendary Snow Land
[/card]

[card]
name=Thespian's Stage
auto={T}:Add{1}
auto={2}{T}:copy target(land|battlefield)
text={T}: Add {1} to your mana pool. -- {2}, {T}: Thespian's Stage becomes a copy of target land and gains this ability.
type=Land
[/card]
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

A couple things:

Issue: Rhox Pikemaster wasn't granting first strike to other soldiers (as first reported in the 0.18.4 thread).

Code: Select all

[card]
name=Rhox Pikemaster
abilities=first strike
auto=lord(other soldiers|mybattlefield) first strike
text=First strike (This creature deals combat damage before creatures without first strike.) -- Other Soldier creatures you control have first strike.
mana={2}{W}{W}
type=Creature
subtype=Rhino Soldier
power=3
toughness=3
[/card]
Fix: Just removing that extra "s" on the end of the lorded creature type, so that it says "auto=lord(other soldier|mybattlefield) first strike", fixes it.

Issue: Darksteel Reactor only checks to see if it has 20 charge counters during your upkeep when it is adding a charge counter. Any deck focused around winning with the Reactor is going to have other ways of adding charge counters so this will frequently cost those decks an extra turn.

Code: Select all

[card]
name=Darksteel Reactor
abilities=indestructible
auto=@each my upkeep:counter(0/0,1,charge) all(this) && this(counter{0/0.20.charge})>=wingame
text=Darksteel Reactor is indestructible. ("Destroy" effects and lethal damage don't destroy it.) -- At the beginning of your upkeep, you may put a charge counter on Darksteel Reactor. -- When Darksteel Reactor has twenty or more charge counters on it, you win the game.
mana={4}
type=Artifact
[/card]
Fix: I cribbed some code from Dark Depths, which I know works fine, and rewrote Reactor as follows:

Code: Select all

[card]
name=Darksteel Reactor
abilities=indestructible
auto=@each my upkeep:counter(0/0,1,charge) all(this) 
auto=this(counter{0/0.1.charge}>=20)while wingame
text=Darksteel Reactor is indestructible. ("Destroy" effects and lethal damage don't destroy it.) -- At the beginning of your upkeep, you may put a charge counter on Darksteel Reactor. -- When Darksteel Reactor has twenty or more charge counters on it, you win the game.
mana={4}
type=Artifact
[/card]
Seems to work properly now.

Issue: Eternity Vessel doesn't reset your life total, it just gives you life equal to the number of charge counters on it.

Code: Select all

name=Eternity Vessel
text=Eternity Vessel enters the battlefield with X charge counters on it, where X is your life total. Landfall — Whenever a land enters the battlefield under your control, you may have your life total become the number of charge counters on Eternity Vessel.
auto=counter(0/0,lifetotal,Charge)
auto=@movedto(land|myBattlefield):may lifeset:0 controller && thisforeach(counter{0/0.1.Charge}) life:1
auto=Eternity Vessel enters the battlefield with X charge counters on it, where X is your life total. -- Landfall - Whenever a land enters the battlefield under your control, you may have your life total become the number of charge counters on Eternity Vessel.
mana={6}
type=Artifact
[/card]
Fix: I have absolutely no idea. It seems like it should work. One thing I thought of was that maybe lifeset:0 didn't work, but changing the zero to a positive number didn't make any difference, it still skipped that action completely and just did the life gain. I also tried it without the "may" in there in case that was scr..ing things up, but taking that out just made it give me the life without asking, it still skipped the lifeset step. Anybody have any suggestions?
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

Issue: Congregation at Dawn isn't working: the 3 cards selected just... vanish. I have a feeling it got broken by a change to the game engine somewhere along the line.

Fix: I poked around and looked at a few other "tutor" type cards, and ended up copying some code from Cruel Tutor. This seems to work correctly:

Code: Select all

[card]
name=Congregation at Dawn
auto=name(select creatures) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(<upto:3>creature|mylibrary)
text=Search your library for up to three creature cards and reveal them. Shuffle your library, then put those cards on top of it in any order.
mana={G}{G}{W}
type=Instant
[/card]
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

While I was playing a snake deck to test the fix for Sachi, I discovered that Sosuke's Summons was bugged. The card wasn't returning itself to your hand when you played a non-token snake, and the snake tokens it created weren't green.

Here's the fixed code:

Code: Select all

[card]
name=Sosuke's Summons
auto=token(Snake,Snake Creature,1/1,green)*2
autograveyard=@movedTo(snake[-token]|myBattlefield):may moveTo(myhand)
text=Put two 1/1 green Snake creature tokens onto the battlefield. -- Whenever a nontoken Snake enters the battlefield under your control, you may return Sosuke's Summons from your graveyard to your hand.
mana={2}{G}
type=Sorcery
[/card]
sandman423
Posts: 739
Joined: Thu Sep 10, 2009 8:59 pm

Re: Bug reports 0.20.1.xxxx

Post by sandman423 »

Berserk doesn't kill the creature at the end step but it does boost the creature. Ancient Stirrings doesn't let me add a land to my hand but it lets me add artifacts. I am guessing it has a hard time seeing lands as colorless.

Code: Select all

[card]
name=Berserk
target=creature
restriction=before battle damage
auto=trample
auto=dynamicability<!mytgt powerpumppow!>
auto=transforms((,newability[@combat(attacking) source(this):treason])) ueot
text=Cast Berserk only before the combat damage step. -- Target creature gains trample and gets +X/+0 until end of turn, where X is its power. At the beginning of the next end step, destroy that creature if it attacked this turn.
mana={G}
type=Instant
[/card]
[card]
name=Ancient Stirrings
mana={G}
type=Sorcery
auto=reveal:5 optionone name(Get Colorless Card) target(<1>*[colorless]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend
text=Look at the top five cards of your library. You may reveal a colorless card from among them and put it into your hand. Then put the rest on the bottom of your library in any order. (Cards with no colored mana in their mana costs are colorless. Lands are also colorless.)
[/card]
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

For Berserk, I'm not sure, but for Ancient Stirrings I think where it says:
auto=reveal:5 optionone name(Get Colorless Card) target(<1>*[colorless]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend
you could just replace it with:
auto=reveal:5 optionone name(Get Colorless Card) target(<1>*[colorless,land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend

But I haven't tested that at all.

Centaur Vinecrasher doesn't get the right number of counters:

Code: Select all

[card]
name=Centaur Vinecrasher
abilities=trample
auto=counter(1/1,1,type:land:graveyard)
autograveyard=@movedto(land|graveyard):pay({G}{G}) moveto(ownerhand)
text=Trample -- Centaur Vinecrasher enters the battlefield with a number of +1/+1 counters on it equal to the number of land cards in all graveyards. -- Whenever a land card is put into a graveyard from anywhere, you may pay {G}{G}. If you do, return Centaur Vinecrasher from your graveyard to your hand.
mana={3}{G}
type=Creature
subtype=Plant Centaur
power=1
toughness=1
[/card]
Currently he gets 1 counter named "type:land:graveyard" when he comes into play. Here's a fixed version:

Code: Select all

[card]
name=Centaur Vinecrasher
abilities=trample
auto=foreach(land|graveyard) counter(1/1,1)
autograveyard=@movedto(land|graveyard):pay({G}{G}) moveto(ownerhand)
text=Trample -- Centaur Vinecrasher enters the battlefield with a number of +1/+1 counters on it equal to the number of land cards in all graveyards. -- Whenever a land card is put into a graveyard from anywhere, you may pay {G}{G}. If you do, return Centaur Vinecrasher from your graveyard to your hand.
mana={3}{G}
type=Creature
subtype=Plant Centaur
power=1
toughness=1
[/card]
Also, Extract from Darkness is incorrectly only letting you reanimate creatures from your own graveyard, rather than any graveyard. Quick easy fix, just needs to be changed from target(creature|mygraveyard) to target(creature|graveyard). Here's the fixed version:

Code: Select all

[card]
name=Extract from Darkness
auto=all(player) deplete:2
auto=moveto(mybattlefield) target(creature|graveyard)
text=Each player puts the top two cards of his or her library into his or her graveyard. Then put a creature card from a graveyard onto the battlefield under your control.
mana={3}{U}{B}
type=Sorcery
[/card]
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

One more quick one:

Edge of Autumn currently lets you move a basic land card to your battlefield from....your battlefield. Whoops.
Here's the fixed version:

Code: Select all

[card]
name=Edge of Autumn
auto=if type(land|mybattlefield)~lessthan~5 then target(land[basic]|mylibrary) moveTo(mybattlefield)
autohand={S(land|mybattlefield)}{cycle}:name(cycling) draw:1
text=If you control four or fewer lands, search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. -- Cycling - Sacrifice a land. (Sacrifice a land, Discard this card: Draw a card.)
mana={1}{G}
type=Sorcery
[/card]
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

I was having issues with Mask of Memory, not sure why, it used to work fine but I guess it got broken somewhere along the way? Instead of drawing 2 and discarding a card from my hand, it was drawing 2 cards and then bouncing the equipped creature back to my hand. My guess, from looking at the code:

Code: Select all

[card]
name=Mask of Memory
auto=@damaged(player) from(mytgt):may draw:2 controller && reject target(*|myhand)
text=Whenever equipped creature deals combat damage to a player, you may draw two cards. If you do, discard a card. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery. This card enters the battlefield unattached and stays on the battlefield if the creature leaves.)
auto={1}:equip
mana={2}
type=Artifact
subtype=Equipment
[/card]
Is that it was treating the (mytgt) and target(*|myhand) as the same target, or something. Anyways, I messed around and got it working for me again:

Code: Select all

[card]
name=Mask of Memory
auto=teach(creature) transforms((,newabilitynewability[@combatdamagefoeof(player) from(this):may draw:2 controller && reject notatarget(*|myhand)]))
text=Whenever equipped creature deals combat damage to a player, you may draw two cards. If you do, discard a card. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery. This card enters the battlefield unattached and stays on the battlefield if the creature leaves.)
auto={1}:equip
mana={2}
type=Artifact
subtype=Equipment
[/card]
Might be some edge-case issues with my code, like I'm not 100% sure it would work properly if it winds up still under your control but equipped on an enemy creature (per the rules, you should still get to draw&discard when the enemy's creature damages you while wearing a mask you control).

I'm also having an issue with Spellbinder asking to imprint cards multiple times, which I am still trying to figure out.
Post Reply