Page 2 of 8

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 06 Aug 2016, 19:16
by Hanmac
Agetian wrote:
noratora wrote:Ib Halfheart's ability is triggering – dealing 4 damage – without sacrificing the creature being blocked (in this case a Reckless One).
I can confirm this but I can't quite figure out a way to rewrite the script. The problem here is that TriggeredAttacker returns "null" in HalfHeartTrigSacrifice.

- Agetian
the card used the wrong trigger, i fixed it. now it should work with sacrifice and other stuff.

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 07 Aug 2016, 15:43
by GallantCrow
It seems I get this error everytime the AI plays Cover of Darkness:

UnsupportedOperationException | Open
Code: Select all
Forge Version:    1.5.55-r-1
Operating System: Windows 10 10.0 x86
Java Version:     1.8.0_73 Oracle Corporation

java.lang.UnsupportedOperationException
   at java.util.Collections$UnmodifiableCollection.removeAll(Unknown Source)
   at forge.ai.ComputerUtil.chooseSomeType(ComputerUtil.java:1752)
   at forge.ai.PlayerControllerAi.chooseSomeType(PlayerControllerAi.java:350)
   at forge.game.player.PlayerController.chooseSomeType(PlayerController.java:163)
   at forge.game.ability.effects.ChooseTypeEffect.resolve(ChooseTypeEffect.java:66)
   at forge.game.spellability.AbilitySub.resolve(AbilitySub.java:119)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1290)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1271)
   at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:271)
   at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:313)
   at forge.game.replacement.ReplacementHandler.executeReplacement(ReplacementHandler.java:242)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:134)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:71)
   at forge.game.GameAction.changeZone(GameAction.java:221)
   at forge.game.GameAction.moveTo(GameAction.java:471)
   at forge.game.GameAction.moveTo(GameAction.java:452)
   at forge.game.GameAction.moveToPlay(GameAction.java:559)
   at forge.game.GameAction.moveTo(GameAction.java:609)
   at forge.game.GameAction.moveTo(GameAction.java:601)
   at forge.game.spellability.SpellPermanent.resolve(SpellPermanent.java:72)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:516)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:974)
   at forge.game.GameAction.startGame(GameAction.java:1460)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 07 Aug 2016, 15:53
by Hanmac
@GallantCrow: yeah i had a bug in it,
i fixed it in snapshot builds.

(i need to find a working link for that)
@Mods: it seems that the Snapshots are not working for http://www.cardforge.link/snapshots/forge/

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 07 Aug 2016, 19:07
by Eviscerator
Thank you guys for the new release!

On with my bug report. I started a new quest and got several creatures with the suspend ability. After playing a few matches with these creatures, I noticed that these creatures never gained haste even after the last of their time counters were removed and then they etb.

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 07 Aug 2016, 19:45
by noratora
AI opponent is targeting me with Siege-Gang Commander's ability. I've got JTMS and Sorin, LoI on the BF. Twice the game forced me to choose one of my own PWs to redirect the damage to (as you can see, I chose Jace).

Resolve stack: Siege-Gang Commander (90) - Deals 2 damage to Bort.
Replacement Effect: Redirect damage to Jace, the Mind Sculptor (16)
Add to stack: Asdern activated Siege-Gang Commander (90) targeting Bort .
Mana: Island (74) - {T}: Add {U} to your mana pool.
Mana: Shivan Reef (89) - {T}: Add {R} to your mana pool. CARDNAME deals 1 damage to you.
Damage: Shivan Reef (89) deals 1 non-combat damage to Asdern.
Resolve stack: Siege-Gang Commander (90) - Deals 2 damage to Bort.
Replacement Effect: Redirect damage to Jace, the Mind Sculptor (16)
Add to stack: Asdern activated Siege-Gang Commander (90) targeting Bort .

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 08 Aug 2016, 07:49
by Marek14
noratora wrote:AI opponent is targeting me with Siege-Gang Commander's ability. I've got JTMS and Sorin, LoI on the BF. Twice the game forced me to choose one of my own PWs to redirect the damage to (as you can see, I chose Jace).

Resolve stack: Siege-Gang Commander (90) - Deals 2 damage to Bort.
Replacement Effect: Redirect damage to Jace, the Mind Sculptor (16)
Add to stack: Asdern activated Siege-Gang Commander (90) targeting Bort .
Mana: Island (74) - {T}: Add {U} to your mana pool.
Mana: Shivan Reef (89) - {T}: Add {R} to your mana pool. CARDNAME deals 1 damage to you.
Damage: Shivan Reef (89) deals 1 non-combat damage to Asdern.
Resolve stack: Siege-Gang Commander (90) - Deals 2 damage to Bort.
Replacement Effect: Redirect damage to Jace, the Mind Sculptor (16)
Add to stack: Asdern activated Siege-Gang Commander (90) targeting Bort .
That's correct behavior. You have two planeswalkers, so you can select the order of their replacement effects. Once you choose which planeswalker to apply first, opponent decides whether to redirect the damage to the planeswalker or not. If he chooses to redirect, the planeswalker takes the damage. If he chooses not to redirect, the second effect is applied automatically (since there's only one), and opponent can redirect the damage to other planeswalker or let it go to you.

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 08 Aug 2016, 11:42
by Xyx
Description: Playtested a custom quest challenge where the AI has a deck with 60 Lion's Eye Diamond.

ArithmeticException | Open
Code: Select all
Forge Version:    1.5.54-r-1
Operating System: Windows 10 10.0 x86
Java Version:     1.8.0_101 Oracle Corporation

java.lang.ArithmeticException: / by zero
   at forge.ai.ComputerUtil.scoreHand(ComputerUtil.java:1582)
   at forge.ai.ComputerUtil.wantMulligan(ComputerUtil.java:1602)
   at forge.ai.PlayerControllerAi.getCardsToMulligan(PlayerControllerAi.java:373)
   at forge.game.GameAction.performMulligans(GameAction.java:1586)
   at forge.game.GameAction.startGame(GameAction.java:1473)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 08 Aug 2016, 11:50
by Xyx
Description: Playtested a custom quest challenge where the AI has a deck with 60 Phyrexian Walker.

ArithmeticException | Open
Code: Select all
Forge Version:    1.5.54-r-1
Operating System: Windows 10 10.0 x86
Java Version:     1.8.0_101 Oracle Corporation

java.lang.ArithmeticException: / by zero
   at forge.ai.ComputerUtil.scoreHand(ComputerUtil.java:1582)
   at forge.ai.ComputerUtil.wantMulligan(ComputerUtil.java:1602)
   at forge.ai.PlayerControllerAi.getCardsToMulligan(PlayerControllerAi.java:373)
   at forge.game.GameAction.performMulligans(GameAction.java:1586)
   at forge.game.GameAction.startGame(GameAction.java:1473)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 08 Aug 2016, 12:22
by Hanmac
@Xyz: i added a fix to prevent it from crashing,
but i don't know how the AI should play such a deck xD

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 09 Aug 2016, 08:56
by Darkholme
forge 1.5.55-r-1

Bug: Thirsting Axe making me sacrifice creatures even when they have dealt combat damage to a creature this turn.
>Equip Thirsting Axe on Lumberknot.
>Opponent at 4hp.
>Attack Opponent
>Opponent blocks (obviously).
>Defending Creature destroyed.
>Lumberknot survives, +1/+1
>EoT: Thirsting Axe kills Lumberknot.

Bug: Mulligan shitty hand with Midnight Duelist in it. Midnight Duelist prompts me whether I want it to go at the top or bottom of the library, and no corresponding rules text exists on the card.

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 09 Aug 2016, 13:11
by friarsol
Darkholme wrote:Bug: Mulligan shitty hand with Midnight Duelist in it. Midnight Duelist prompts me whether I want it to go at the top or bottom of the library, and no corresponding rules text exists on the card.
This sounds like your scry from the Vancouver Mulligan.

103.4. Each player draws a number of cards equal to his or her starting hand size, which is normally seven. (Some effects can modify a player's starting hand size.) A player who is dissatisfied with his or her initial hand may take a mulligan. First, the starting player declares whether or not he or she will take a mulligan. Then each other player in turn order does the same. Once each player has made a declaration, all players who decided to take mulligans do so at the same time. To take a mulligan, a player shuffles his or her hand back into his or her library, then draws a new hand of one fewer cards than he or she had before. If a player kept his or her hand of cards, those cards become the player's opening hand, and that player may not take any further mulligans. This process is then repeated until no player takes a mulligan. (Note that if a player's hand size reaches zero cards, that player must keep that hand.) Then, beginning with the starting player and proceeding in turn order, any player whose opening hand has fewer cards than his or her starting hand size may scry 1.

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 09 Aug 2016, 16:24
by gos
. Jeleva, Nephalia's Scourge exiled no cards when I cast her from the command zone.

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 09 Aug 2016, 21:24
by Darkholme
friarsol wrote:Vancouver Mulligan
Oh. Maybe it is. I've never heard of a Vancouver Mulligan before.

Another bug.

Enemy casts Angelic Purge.
Doesn't sacrifice a permanent (or at least, I didn't see anything disappear, and don't see any sacrifice listed under "log".
Still gets to use it to exile a creature.

Digging through his graveyard, he had a land destruction effect he was using to draw, and I don't know if he used it once or twice, but there were two lands in the GY. The fact that the log didn't mention any sacrifice when he cast Angelic Purge leads me to think he didn't.

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 10 Aug 2016, 14:51
by Hanmac
Darkholme wrote:forge 1.5.55-r-1

Bug: Thirsting Axe making me sacrifice creatures even when they have dealt combat damage to a creature this turn.
>Equip Thirsting Axe on Lumberknot.
>Opponent at 4hp.
>Attack Opponent
>Opponent blocks (obviously).
>Defending Creature destroyed.
>Lumberknot survives, +1/+1
>EoT: Thirsting Axe kills Lumberknot.
i rewrote this card and it should be fixed in trunk.

for that i did rewrote CardDamageHistory a bit.

hm i need to see if it does need to be changed a bit in a case when Thirsting Axe is not equipped to a Creature

Re: Forge Beta Release: 08-02-2016 ver 1.5.55

PostPosted: 10 Aug 2016, 22:49
by noratora
Marek14 wrote:
noratora wrote:AI opponent is targeting me with Siege-Gang Commander's ability. I've got JTMS and Sorin, LoI on the BF. Twice the game forced me to choose one of my own PWs to redirect the damage to (as you can see, I chose Jace).

Resolve stack: Siege-Gang Commander (90) - Deals 2 damage to Bort.
Replacement Effect: Redirect damage to Jace, the Mind Sculptor (16)
Add to stack: Asdern activated Siege-Gang Commander (90) targeting Bort .
Mana: Island (74) - {T}: Add {U} to your mana pool.
Mana: Shivan Reef (89) - {T}: Add {R} to your mana pool. CARDNAME deals 1 damage to you.
Damage: Shivan Reef (89) deals 1 non-combat damage to Asdern.
Resolve stack: Siege-Gang Commander (90) - Deals 2 damage to Bort.
Replacement Effect: Redirect damage to Jace, the Mind Sculptor (16)
Add to stack: Asdern activated Siege-Gang Commander (90) targeting Bort .
That's correct behavior. You have two planeswalkers, so you can select the order of their replacement effects. Once you choose which planeswalker to apply first, opponent decides whether to redirect the damage to the planeswalker or not. If he chooses to redirect, the planeswalker takes the damage. If he chooses not to redirect, the second effect is applied automatically (since there's only one), and opponent can redirect the damage to other planeswalker or let it go to you.
No, it isn't. If an opponent deals noncombat damage to me, I cannot redirect to it my planeswalker. My opponent may choose to do so, but I cannot.