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
kevlahnota
Posts: 619
Joined: Tue Feb 08, 2011 3:00 pm
Location: Philippines
Contact:

Re: Bug reports 0.20.1.xxxx

Post by kevlahnota »

thanks Toben, I created pulled request with your fixes (and some other primitive fixes) on the main branch but the Travis CI failed https://github.com/WagicProject/wagic/pull/900 (not with our code but I think the build needs some changes so it will compile). Im currently looking at the source to add energy counters to players. Just some minor additions(Maybe this week or next week to add some support for Kaladesh, for crew ability I don't have any idea yet).

About berserk, it works on latest build (tested with PC version).
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

Sounds good! The main thing that prompted me to start reporting bugs when I was tinkering with Wagic (years ago) was fixing bugs on my own and seeing them crop back up in the next SVN release. Although migrating to GitHub seemed to cut down on a lot of that, anyhow.

Energy counters should be fun to play around with. I don't know enough about coding to start messing around with the engine myself, but just intuitively to me it seems like you could use a slightly modified version of the code for Poison counters. Maybe have 'em display as a yellow number on the player portrait instead of green? But you may have already thought of that. <edit: just saw the other thread, looks like you definitely already thought of it, even went with yellow, lol. Great minds think alike, I guess!>

Crew is gonna be tricky though. One of the big holes in the engine as it exists right now is that there's not really a way to do open-ended things like "tap any number of creatures" and then get a result based on what the player did with the option (like figuring out the total power of the tapped creatures). Even X-mana-activation-cost abilities are just 10 or 12 or 20 options each individually coded which is kind of sad. The best I could imagine doing without fixing that flaw in the engine (which would be awesome, but I don't know if you want to get into all that) is a workaround similar to the X-cost-abilities, that just assumes the player is never going to want to tap 0-power creatures for crew (probably true 98% of the time) and just codes all the major possible crew options separately, so something with Crew 3 would have 3 different activated abilities, something like this:

Code: Select all

auto={T(creature[power=>1]|myBattlefield)}{T(creature[power=>1]|myBattlefield)}{T(creature[power=>1]|myBattlefield)}:transforms((Artifact Creature,setpower=X,settoughness=Y,)) ueot
auto={T(creature[power=>1]|myBattlefield)}{T(creature[power=>2]|myBattlefield)}:transforms((Artifact Creature,setpower=X,settoughness=Y,)) ueot
auto={T(creature[power=>3]|myBattlefield)}:transforms((Artifact Creature,setpower=X,settoughness=Y,)) ueot
You'd have a lot more options to code for higher crew values, but I think the highest it goes is 6 or so which isn't completely insane. It wouldn't be 100% accurate to paper magic but it'd probably be close enough.
kevlahnota
Posts: 619
Joined: Tue Feb 08, 2011 3:00 pm
Location: Philippines
Contact:

Re: Bug reports 0.20.1.xxxx

Post by kevlahnota »

thanks for the idea toben, I think something like this for crew:

Code: Select all

[card]
name=Bomat Bazaar Barge
auto=draw:1 controller
auto={T(other creature[power>=3]|myBattlefield)}:name(crew 3 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=3]|mybattlefield)~morethan~0}
auto={T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=2]|myBattlefield)}:name(crew 3 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0}
auto={T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=1]|myBattlefield)}:name(crew 3 [3 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~2}
text=When Bomat Bazaar Barge enters the battlefield, draw a card. -- Crew 3 (Tap any number of creatures you control with total power 3 or more: This Vehicle becomes an artifact creature until end of turn.)
mana={4}
type=Artifact
subtype=Vehicle
power=5
toughness=5
[/card]
since the power and toughness are already predetermined, we use power= and toughness= so we don't overwrite other effects that change p/t.
Toben
Posts: 50
Joined: Tue Oct 05, 2010 7:30 pm

Re: Bug reports 0.20.1.xxxx

Post by Toben »

That makes sense, just wasn't sure how the engine would feel about a non-creature getting a power and toughness. Will definitely make coding Peacewalker Colossus easier though, wasn't sure how that was going to work otherwise.
kevlahnota
Posts: 619
Joined: Tue Feb 08, 2011 3:00 pm
Location: Philippines
Contact:

Re: Bug reports 0.20.1.xxxx

Post by kevlahnota »

Toben wrote:That makes sense, just wasn't sure how the engine would feel about a non-creature getting a power and toughness. Will definitely make coding Peacewalker Colossus easier though, wasn't sure how that was going to work otherwise.
I think it would be just fine. Try this:

Code: Select all

[card]
name=Peacewalker Colossus
auto={1}{w}:target(other *[vehicle]|mybattlefield) becomes(Artifact Creature) ueot
auto={T(other creature[power>=4]|myBattlefield)}:name(crew 4 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=4]|mybattlefield)~morethan~0}
auto={T(other creature[power>=2]|myBattlefield)}{T(other creature[power>=2]|myBattlefield)}:name(crew 4 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=2]|mybattlefield)~morethan~1}
auto={T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=3]|myBattlefield)}:name(crew 4 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,type(other creature[-tapped;power>=3]|mybattlefield)~morethan~0}
auto={T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=2]|myBattlefield)}:name(crew 4 [3 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0,type(other creature[-tapped;power>=1]|mybattlefield)~morethan~1}
auto={T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=1]|myBattlefield)}{T(other creature[power>=1]|myBattlefield)}:name(crew 4 [4 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~3}
text={1}{W}: Another target Vehicle you control becomes an artifact creature until end of turn. -- Crew 4 (Tap any number of creatures you control with total power 4 or more: This Vehicle becomes an artifact creature until end of turn.)
mana={3}
type=Artifact
subtype=Vehicle
power=6
toughness=6
[/card]
Tacoghandi
Posts: 1197
Joined: Thu Apr 28, 2011 11:34 pm

Re: Bug reports 0.20.1.xxxx

Post by Tacoghandi »

Wilt-Leaf Liege is missing the buff for white creatures in the latest update. I also think that Dreampod Druid is still creating a custom token when it does not have to. Didn't a recent update allow for tokens in transforms lines by using ":" instead of ",". I meantion this because I like to make sure all token generation is able to use images in my game and I think that there are cards in the mtg.txt that are not able to unless the ability to use negative id numbers other that the negative of the card id that is generating the token are able to use images now.
!!Check out My Created Sets and other Stuff!!

viewtopic.php?f=22&t=3380
kevlahnota
Posts: 619
Joined: Tue Feb 08, 2011 3:00 pm
Location: Philippines
Contact:

Re: Bug reports 0.20.1.xxxx

Post by kevlahnota »

Tacoghandi wrote:Wilt-Leaf Liege is missing the buff for white creatures in the latest update. I also think that Dreampod Druid is still creating a custom token when it does not have to. Didn't a recent update allow for tokens in transforms lines by using ":" instead of ",". I meantion this because I like to make sure all token generation is able to use images in my game and I think that there are cards in the mtg.txt that are not able to unless the ability to use negative id numbers other that the negative of the card id that is generating the token are able to use images now.
Thanks. For dreampod Druid you can use create(),

Code: Select all

auto=this(auras >= 1) transforms((,newability[@each upkeep:create(Saproling:Creature Saproling:1/1:green)]))
There are cards that still uses token(cardId), but didn't bother to change all of them. The problem with some tokens not loading images are because of their id in each set. example, the PPR sets have custom id, so if the card uses generic token creation, you also need to make sure they have the negative id of the card images that exists. If the card has multiple tokens, you can add tnum.number. Just refer to other cards that uses this.
wagicmagic28
Posts: 296
Joined: Mon Aug 19, 2013 3:51 pm

Re: Bug reports 0.20.1.xxxx

Post by wagicmagic28 »

cool update but shop graphic is glitching to a lower resize obviously someone didn't code this in correctly the graphic is flashes a smaller version of the shop.jpg even erasing the graphic entirely or resizing it does NOTHING to fix the problem the funny thing is version 19 works just fine so I'm reporting this bug please fix it...thank you
User avatar
ph34rbot
Posts: 280
Joined: Thu Jan 07, 2010 6:33 am

Re: Bug reports 0.20.1.xxxx

Post by ph34rbot »

When the AI uses cards with X in their cost that target a player the game crashes.

Also the legendary rule is not working most of the time, cards that used to work and have cool interaction when you play two of them like: Brothers Yamazaki, Flagstones of Trokair, Gods' Eye, Gate to the Reikai just cause the game to hang and stop responding to commands.

Using the latest code from github.
sandman423
Posts: 806
Joined: Thu Sep 10, 2009 8:59 pm

Re: Bug reports 0.20.1.xxxx

Post by sandman423 »

Cards that aren't working right...

- Whenever I using Krosan Verge it crashes my game...
- Whenever I use Quarentine Field it allows me to put in all the mana but when it enters battlefield it just puts counters on it equal to amount of mana put into it but won't let me exile anything.
- Solitary Confinement doesn't make me discard a card on upkeep but stops my draw step.
- Mana Confluence lets me select the mana but the option for choosing the same color goes away everytime I use it once...So if I choose green the green option gets removed from mana confluence list. Same for other colors until you run out then it won't let me select anything and won't tap.


::Codes Below::

Code: Select all

[card]
name=Krosan Verge
auto=tap(noevent)
auto={T}:Add{1}
auto={2}{T}{S}:name(sacrifice to search) ability$! name(search forest) notatarget(forest|mylibrary) moveto(ownerbattlefield) and!(tap(noevent))! !$ controller && ability$! name(search plains) notatarget(plains|mylibrary) moveto(ownerbattlefield) and!(tap(noevent))! !$ controller 
text=Krosan Verge enters the battlefield tapped. -- {T}: Add {1} to your mana pool. -- {2}, {T}, Sacrifice Krosan Verge: Search your library for a Forest card and a Plains card and put them onto the battlefield tapped. Then shuffle your library.
type=Land
[/card]
[card]
name=Quarantine Field
auto=counter(0/0,xx,Isolation)
auto=(blink)forsrc target(<prexx>*[-land]|opponentbattlefield)
text=Quarantine Field enters the battlefield with X isolation counters on it. -- When Quarantine Field enters the battlefield, for each isolation counter on it, exile up to one target nonland permanent an opponent controls until Quarantine Field leaves the battlefield. (WORKAROUND ONLY EXILES UP TO X AND NOT FOR EACH COUNTER)
mana={X}{X}{W}{W}
type=Enchantment
[/card]
[card]
name=Solitary Confinement
auto=upcost[{D(*|myhand)}] sacrifice
auto=phasealter(remove,draw,controller)
abilities=playershroud
auto=preventalldamage to(controller)
text=At the beginning of your upkeep, sacrifice Solitary Confinement unless you discard a card. -- Skip your draw step. -- You have shroud. (You can't be the target of spells or abilities.) -- Prevent all damage that would be dealt to you.
mana={2}{W}
type=Enchantment
[/card]
[card]
name=Mana Confluence
auto={L}{T}:Add{W}
auto={L}{T}:Add{U}
auto={L}{T}:Add{B}
auto={L}{T}:Add{R}
auto={L}{T}:Add{G}
text={T}, Pay 1 life: Add one mana of any color to your mana pool.
type=Land
[/card]
Locked