Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Hanmac » 16 Jun 2016, 18:14
@friarsol: thanks for the idea of using LKI i need to see how i can do that.
Currently i have no idea how to do that :/
===
other thing, did play a game Archenemy, i was the Enemy.
one of my opponents had Platinum Angel,
now two other players where already under 0 life but didn't lose the game.
the Angel should only prevent the controller from losing the game, not the other team mates.
Currently i have no idea how to do that :/
===
other thing, did play a game Archenemy, i was the Enemy.
one of my opponents had Platinum Angel,
now two other players where already under 0 life but didn't lose the game.
the Angel should only prevent the controller from losing the game, not the other team mates.
Re: Bug Reports (snapshot builds)
by Hanmac » 17 Jun 2016, 08:07
i did Dulcet Sirens but i am not happy with it yet.
i did try it with a Effect, but i need to put the targeted opponent onto the creature, otherwise the AttackRequirement doesn't find it.
also it needs DelayedTrigger or Effect for when the Creature leaves the battlefield or at the end of turn. Also it might have complications for if the Creature already has that Player in Remembered :/
second part: AI doesnt understand the Attack part ... i got:
"AI Attack declaration invalid, defaulting to: {Moonrise Intruder (154)=Robin}"
that might get to other complications
i did try it with a Effect, but i need to put the targeted opponent onto the creature, otherwise the AttackRequirement doesn't find it.
- Code: Select all
Name:Dulcet Sirens
ManaCost:2 U
Types:Creature Siren
PT:1/3
K:Morph:U
A:AB$ Pump | Cost$ U T | ValidTgts$ Creature | IsCurse$ True | TgtPrompt$ Select target creature | SubAbility$ DBAnimate | SpellDescription$ Target creature attacks target opponent this turn if able. | StackDescription$ SpellDescription
SVar:DBAnimate:DB$ Animate | ValidTgts$ Opponent | Defined$ ParentTarget | RememberObjects$ TargetedPlayer | HiddenKeywords$ CARDNAME attacks specific player each combat if able:Remembered
SVar:RemAIDeck:True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/dulcet_sirens.jpg
Oracle:{U}, {T}: Target creature attacks target opponent this turn if able.\nMorph {U} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)
also it needs DelayedTrigger or Effect for when the Creature leaves the battlefield or at the end of turn. Also it might have complications for if the Creature already has that Player in Remembered :/
second part: AI doesnt understand the Attack part ... i got:
"AI Attack declaration invalid, defaulting to: {Moonrise Intruder (154)=Robin}"
that might get to other complications
Re: Bug Reports (snapshot builds)
by friarsol » 17 Jun 2016, 11:32
Just because they are on this doesn't mean they are doable, even with a lot of messing around. The sirens definitely fit into the category of "Probably not worth it to attempt due to AI and other reasons" as you say. Also, it's not really a bug report, we should avoid cluttering up this thread. A question like this belongs more in the Card Development questions.Hanmac wrote:first part: there is currently no way to remove the Remembered part from the creature. I was thinking in adding Defined Targets for CleanUpEffect.
also it needs DelayedTrigger or Effect for when the Creature leaves the battlefield or at the end of turn. Also it might have complications for if the Creature already has that Player in Remembered :/
second part: AI doesnt understand the Attack part ... i got:
"AI Attack declaration invalid, defaulting to: {Moonrise Intruder (154)=Robin}"
that might get to other complications
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by friarsol » 20 Jun 2016, 18:46
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Marek14 » 22 Jun 2016, 15:02
Could Lim-Dul's Vault be changed to use the same dialogue for reordering your library as, say, Sensei's Divining Top?
Re: Bug Reports (snapshot builds)
by Agetian » 23 Jun 2016, 20:05
I noticed that as of r31347, the AI began to mulligan down to 0 cards quite commonly (commonly enough that I've noticed it three times in about 30 minutes of play). Could it be related to the change in r31345?..
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by friarsol » 23 Jun 2016, 20:50
Probably i'll check it out later.Agetian wrote:I noticed that as of r31347, the AI began to mulligan down to 0 cards quite commonly (commonly enough that I've noticed it three times in about 30 minutes of play). Could it be related to the change in r31345?..
- Agetian
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Marek14 » 23 Jun 2016, 22:21
I can't play Marang River Prowler from graveyard. My only black permanent is Oubliette.
AI can repeatedly activate Slobad, Goblin Tinkerer without sacrificing an artifact.
Keeper of the Lens shows no text in the card panel.
Dwarven Shrine probably shouldn't let you redirect damage to planeswalkers when there is 0 damage to be dealt.
AI can repeatedly activate Slobad, Goblin Tinkerer without sacrificing an artifact.
Keeper of the Lens shows no text in the card panel.
Dwarven Shrine probably shouldn't let you redirect damage to planeswalkers when there is 0 damage to be dealt.
Re: Bug Reports (snapshot builds)
by IronStar28 » 27 Jun 2016, 12:09
Description: A.I. declared blockers then it crashed
- StackOverflowError | Open
- Code: Select all
Forge Version: 1.5.53-SNAPSHOT-r31250
Operating System: Windows 10 10.0 x86
Java Version: 1.8.0_91 Oracle Corporation
java.lang.StackOverflowError
at java.util.LinkedList$ListItr.<init>(Unknown Source)
at java.util.LinkedList.listIterator(Unknown Source)
at java.util.AbstractList.listIterator(Unknown Source)
at java.util.AbstractSequentialList.iterator(Unknown Source)
at forge.util.collect.FCollection.iterator(FCollection.java:220)
at forge.game.zone.PlayerZoneBattlefield.getCards(PlayerZoneBattlefield.java:100)
at forge.game.player.Player.getCardsIn(Player.java:1330)
at forge.game.player.Player.getCardsIn(Player.java:1309)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:639)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:289)
at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:453)
at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:326)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:261)
at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:314)
at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:660)
at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1761)
at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:607)
at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:586)
at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat
... (truncated)
- IronStar28
- Posts: 1
- Joined: 27 Jun 2016, 11:48
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by stormcat » 27 Jun 2016, 16:43
In Commander game, the system of checking number of lands has bug.
Ex)Tectonic Edge and Knight of the White Orchid
In spite of requirements are not met, their ability has been resolved.
Probably, it references by summing the number of all opponents lands.
Ex)Tectonic Edge and Knight of the White Orchid
In spite of requirements are not met, their ability has been resolved.
Probably, it references by summing the number of all opponents lands.
Re: Bug Reports (snapshot builds)
by Hanmac » 29 Jun 2016, 14:38
r31381:
@friarsol did try to fix Tree of Redemption
but ConditionPresent is not 100% perfect.
if you blink the Tree if a Cloud Shift or something similar, the exchange does still happen ... but should not.
same for Firemane Angel where i did try "IsPresent$ Card.Self | PresentZone$ Graveyard" and didn't work yet ...
we need something that does check if something hasn't moved from the zone, even if it got moved back.
@friarsol did try to fix Tree of Redemption
but ConditionPresent is not 100% perfect.
if you blink the Tree if a Cloud Shift or something similar, the exchange does still happen ... but should not.
same for Firemane Angel where i did try "IsPresent$ Card.Self | PresentZone$ Graveyard" and didn't work yet ...
we need something that does check if something hasn't moved from the zone, even if it got moved back.
Re: Bug Reports (snapshot builds)
by friarsol » 29 Jun 2016, 14:45
This is the same card ID + timestamp uniqueness issue. It's not really the "wrong" way to script it, just Forge needs to be more strict about checking uniqueness of cards.Hanmac wrote:r31381:
@friarsol did try to fix Tree of Redemption
but ConditionPresent is not 100% perfect.
if you blink the Tree if a Cloud Shift or something similar, the exchange does still happen ... but should not.
same for Firemane Angel where i did try "IsPresent$ Card.Self | PresentZone$ Graveyard" and didn't work yet ...
we need something that does check if something hasn't moved from the zone, even if it got moved back.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Hanmac » 29 Jun 2016, 15:24
@friarsol: ah good to know i will probably check that out and maybe try to add something like "StrictSelf" where it does check the timestamp too.
i could also have change "Self", but i thought it might broke to much, so its probably better to add something new (if thats okay for you guys)
i could also have change "Self", but i thought it might broke to much, so its probably better to add something new (if thats okay for you guys)
Re: Bug Reports (snapshot builds)
by gamerfreak12345 » 29 Jun 2016, 19:06
Hi, there is a bug with Dragonlord Silumgar.
Dragonlord Silumgar is supposed gain control of an opponent's creature "for as long as you control Dragonlord Silumgar". But using Malevolent Whispers to steal him for a turn does not give you back control of the creature he took.
Thanks
Dragonlord Silumgar is supposed gain control of an opponent's creature "for as long as you control Dragonlord Silumgar". But using Malevolent Whispers to steal him for a turn does not give you back control of the creature he took.
Thanks
- gamerfreak12345
- Posts: 10
- Joined: 11 May 2016, 22:07
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by fmartel » 30 Jun 2016, 18:03
Description: [In a commander game, sacificing eldrazi spawn to pay colorless cost of Grove of the Guardian]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.54-SNAPSHOT-r31383
Operating System: Windows 7 6.1 x86
Java Version: 1.8.0_45 Oracle Corporation
java.lang.NullPointerException
at forge.view.arcane.PlayArea.selectCard(PlayArea.java:577)
at forge.view.arcane.PlayArea.mouseLeftClicked(PlayArea.java:536)
at forge.view.arcane.CardPanelContainer$2.mouseReleased(CardPanelContainer.java:165)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Who is online
Users browsing this forum: No registered users and 36 guests