It is currently 16 Apr 2024, 21:29
   
Text Size

Forge Release 08/18/2017 ver 1.6.2

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Forge Release 08/18/2017 ver 1.6.2

Postby Agetian » 21 Aug 2017, 04:20

Xyx wrote:Lots of weirdness surrounding Astral Cornucopia. It can't be tapped to produce mana for a multicolor spell, it can't be used in auto-payments, it won't untap when it's cancelled and the AI will tap it in its first main phase whether it needs the mana or not.
Yep, pretty much all of this weirdness comes from the suboptimal mana payment AI which can't identify the proper choice for mana-producing cards that offer multiple options, especially when using them to pay for spells requiring mana of various colors. The AI is set to pre-tap it in case it might need mana, which is very suboptimal but prolly the only way the AI can do anything with it so far, though I might be able to code a routine for it similar to Nykthos, I'll see. Anyhow, I'll think of how to improve this, but it's one of the tougher areas of Forge for me, tbh :/

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby RumbleBBU » 21 Aug 2017, 04:53

RumbleBBU wrote:Some time ago, the card price list format changed to make it possible to have different prices for different alternate versions of a card within a set. Unfortunately, the game logic was not updated, it will fail to properly associate those prices with any cards.
Think I've found where the problem is...

1) When forge-gui/src/main/java/forge/quest/io/ReadPriceList.java parses the price list, it does a a very primitive split:

Code: Select all
            final String[] s = line.split("=");
            if (s.length < 2) { continue; } //skip line if not in correct format

            final String name = s[0].trim();
            final String price = s[1].trim();
(Plus then applies some randomness to the price.) So effectively, the card "name" is anything on the lefthand side of the '=' sign. This works well enough in normal cases. However...

2) In forge-gui/src/main/java/forge/quest/QuestSpellShop.java, we are trying to look up the name of a paper card on the price list:

Code: Select all
        if (card instanceof PaperCard) {
            ns = card.getName() + "|" + ((PaperCard) card).getEdition();
            foil = ((PaperCard) card).isFoil();
        }
        else {
            ns = card.getName();
        }

        if (mapPrices == null) { //initialize price map if not already done
            mapPrices = new ReadPriceList().getPriceList();
        }
        if (mapPrices.containsKey(ns)) {
            value = mapPrices.get(ns);
        }
This is where the issue lies. We are correctly adding the edition string for the comparison, so "Arcane Denial" + "|" + "ALL" becomes "Arcane Denial|ALL". However, what is missing is the art index (private final int artIndex in forge-core/src/main/java/forge/item/PaperCard.java) in case there are more versions of the card in a set than one. So we are effectively trying to look up "Arcane Denial|ALL" from a list that contains the keys "Arcane Denial (1)|ALL" and "Arcane Denial (2)|ALL" and failing, and end up with the default value of 6 credits for a common that was not found on the list.
User avatar
RumbleBBU
 
Posts: 394
Joined: 18 Aug 2012, 04:24
Has thanked: 29 times
Been thanked: 66 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby RumbleBBU » 21 Aug 2017, 05:21

As for the fix, I would think that the following would do the trick:

Lines 36-39 in forge-gui/src/main/java/forge/quest/QuestSpellShop.java:

Code: Select all
        if (card instanceof PaperCard) {
            ns = card.getName() + "|" + ((PaperCard) card).getEdition();
            foil = ((PaperCard) card).isFoil();
        }
Replace the line
Code: Select all
ns = card.getName() + "|" + ((PaperCard) card).getEdition();
with:

Code: Select all
ns = card.getName() + ((((PaperCard) card).getArtIndex()> 0) ? " (" + ((PaperCard) card).getArtIndex() + ")" : "" ) + "|" + ((PaperCard) card).getEdition();
Haven't run that through a compiler yet (my dev environment is something of a WIP, ATM). So no guarantees I got it right...
User avatar
RumbleBBU
 
Posts: 394
Joined: 18 Aug 2012, 04:24
Has thanked: 29 times
Been thanked: 66 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby Agetian » 21 Aug 2017, 10:05

Thanks! :) Fixed upstream. Ended up being a little trickier, but I think I got it :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Crash Report

Postby lachrymologist » 21 Aug 2017, 18:26

I can't seem to get the new Beta to even open. :(

Description: [describe what you were doing when the crash occurred]

[spoiler=RuntimeException][code]
Forge Version: 1.6.1-r-1
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_73 Oracle Corporation

Because I'm new to the board, I can't post the full problem because it says, "too spammy."
lachrymologist
 
Posts: 1
Joined: 21 Aug 2017, 18:19
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Release 08/18/2017 ver 1.6.2

Postby Agetian » 21 Aug 2017, 18:38

You seem to be using an old version. Can you try downloading the current one from this post?
Also, it's difficult to help without seeing the rest of the auto-generated report.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby Blackwing » 22 Aug 2017, 02:12

So I'm sure y'all know about this already, but Forge doesn't seem to handle Token decks very well.

Description: I had just activated the effect of Kessig Cagebreakers, for something like 12 Wolves. I also controlled a Meren of Clan Nel Toth, 24 Experience Counters, a Loleth Troll and a 38/38 Mycoloth, which somehow made it through its first upkeep. It's probably my rig your system just told me to inform you all so here I am.

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.6.1-r-1
Operating System: Windows 10 10.0 amd64
Java Version:     1.8.0_144 Oracle Corporation

java.lang.OutOfMemoryError: GC overhead limit exceeded
   at java.util.LinkedList.linkLast(Unknown Source)
   at java.util.LinkedList.add(Unknown Source)
   at forge.util.collect.FCollection.add(FCollection.java:254)
   at forge.util.collect.FCollection.addAll(FCollection.java:304)
   at forge.game.player.PlayerCollection.getCardsIn(PlayerCollection.java:30)
   at forge.game.Game.getCardsIn(Game.java:473)
   at forge.game.Game.getCardsIn(Game.java:492)
   at forge.game.spellability.AbilityActivated.canPlay(AbilityActivated.java:95)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:618)
   at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1125)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1097)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1077)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:395)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:941)
   at forge.game.GameAction.startGame(GameAction.java:1520)
   at forge.game.Match.startGame(Match.java:100)
   at forge.match.HostedMatch$2.run(HostedMatch.java:224)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Blackwing
 
Posts: 2
Joined: 15 Aug 2017, 19:15
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Release 08/18/2017 ver 1.6.2

Postby Alico » 22 Aug 2017, 03:02

Agetian wrote: *snip*

Thanks! I'll play a bit with this soon and see if I can reproduce and fix the issue.
On that note, are you noticing any pattern to the bug? Like, maybe it happens only after one of the opponents lost, or after some particular sequence of events, or is it totally random?

- Agetian
I have not noticed anything aside from the obvious one that it happens more often when I roll a ton of planer dice. Also, it the plane tends to stick with the player who did the glitch. This is also the case if an opponent does it. I tend to play with 3 opponents, but maybe try with a full 8 and see if you get it more often?

On another note, I noticed a bug with Chaos Lord in multiplayer. For some reason, it lets you chose a player who is dead. If you chose a dead player, you never lose it.

Edit: Actually, you do lose it. To the dead player. Really amusing to see a dead player with stuff in play, :lol:

Edit 2: Not sure how I never noticed this, but Kilnspire District allows you to pay X rather than playing a planer cost to roll the die. And yes, you can chose 0. This gives you as many rolls as you want till you roll planeswalk. Combining this bug with Momir's randomness let me use chaos rolls with Horobi, Death's Wail to wipe my opponent's boards, :lol:
Alico
 
Posts: 47
Joined: 21 Sep 2012, 18:16
Has thanked: 0 time
Been thanked: 1 time

Re: Forge Release 08/18/2017 ver 1.6.2

Postby Agetian » 22 Aug 2017, 07:03

@ Alico: Ok, fixed everything except for the elusive lingering planes bug. Still trying to get that reproduced, I'll keep you posted :D

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby dodnyjv » 23 Aug 2017, 18:59

Hi, Izzet Chemister is missing Haste. Can you fix it please?
dodnyjv
 
Posts: 27
Joined: 10 Dec 2014, 22:05
Has thanked: 24 times
Been thanked: 10 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby jsnow » 25 Aug 2017, 02:17

New player here. How does one update forge if you already have it? Or I have to copy decks over each time there's a new build and delete the old version?
jsnow
 
Posts: 2
Joined: 25 Aug 2017, 02:14
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Release 08/18/2017 ver 1.6.2

Postby friarsol » 25 Aug 2017, 02:31

jsnow wrote:New player here. How does one update forge if you already have it? Or I have to copy decks over each time there's a new build and delete the old version?
You don't need to copy over decks, Forge's profile is the same. So it loads everything from the same place.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby correioalternativo » 25 Aug 2017, 02:35

jsnow wrote:New player here. How does one update forge if you already have it? Or I have to copy decks over each time there's a new build and delete the old version?
.jpp files are in C:\Users\*You*\AppData\Local\Forge\Cache\pics\cards
Decks and preferences in C:\Users\*You*\AppData\Roaming\Forge

To play the new version, unzip it and open forge.exe – all your files will be there.
User avatar
correioalternativo
 
Posts: 279
Joined: 23 Jul 2012, 12:01
Has thanked: 255 times
Been thanked: 23 times

Re: Forge Release 08/18/2017 ver 1.6.2

Postby jsnow » 25 Aug 2017, 14:46

correioalternativo wrote:
jsnow wrote:New player here. How does one update forge if you already have it? Or I have to copy decks over each time there's a new build and delete the old version?
.jpp files are in C:\Users\*You*\AppData\Local\Forge\Cache\pics\cards
Decks and preferences in C:\Users\*You*\AppData\Roaming\Forge

To play the new version, unzip it and open forge.exe – all your files will be there.
Thank you will do.
jsnow
 
Posts: 2
Joined: 25 Aug 2017, 02:14
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Release 08/18/2017 ver 1.6.2

Postby Mrs Non-Gorilla » 25 Aug 2017, 18:32

Two comments:

-Jeskai Charm deals damage to target player; it should be target opponent.

-When I generate a random 20-deck gauntlet, the gauntlet progress screen claims that it has fewer decks: generally 10 or 11. However, it actually still has 20; if you win more than 10/11 games, the gauntlet doesn't actually complete, as shown in the attached screenshot. If you win 20 games, it does complete. I've also attached the gauntlet file (with its extension changed so the board would let me upload it).
Attachments
gauntlet.txt
(41.64 KiB) Downloaded 195 times
progress2.png
Next Round (12/10)
Mrs Non-Gorilla
 
Posts: 74
Joined: 18 Nov 2014, 20:32
Has thanked: 3 times
Been thanked: 4 times

PreviousNext

Return to Forge

Who is online

Users browsing this forum: Baidu [Spider] and 59 guests


Who is online

In total there are 60 users online :: 1 registered, 0 hidden and 59 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: Baidu [Spider] and 59 guests

Login Form