Page 2 of 8

Re: Gatecrash Spoiler Season

PostPosted: 31 Dec 2012, 09:21
by swordshine
Illusionist's Bracers is also difficult because its ability is similar to Rings of Brighthearth #-o .

Re: Gatecrash Spoiler Season

PostPosted: 31 Dec 2012, 14:41
by friarsol
swordshine wrote:Illusionist's Bracers is also difficult because its ability is similar to Rings of Brighthearth #-o .
I'm not sure how difficult this really is. We just need to expand CopySpell to also allow copying of abilities [Probably changing the name to CopySpellAbility?] and add a flag in "AbilityCast" to check if the Ability is a mana ability, which should be pretty straightforward.

Re: Gatecrash Spoiler Season

PostPosted: 01 Jan 2013, 11:05
by Hellfish
I only just realized, battalion is also word for word from GDS2: Shawn Main's Assault mechanic.Will we see a Discharge-like mechanic in Dragon's Maze?Maybe even blight counters?

EDIT: I probably sound like a grumpy old bastard, and I am, but I don't necessarily think these observations are a bad thing. ;)

Re: Gatecrash Spoiler Season

PostPosted: 02 Jan 2013, 07:17
by Hellfish
friarsol wrote:
swordshine wrote:Illusionist's Bracers is also difficult because its ability is similar to Rings of Brighthearth #-o .
I'm not sure how difficult this really is. We just need to expand CopySpell to also allow copying of abilities [Probably changing the name to CopySpellAbility?] and add a flag in "AbilityCast" to check if the Ability is a mana ability, which should be pretty straightforward.
It is done. No changes needed to AbilityCast, it doesn't trigger on mana abilities anyway.

Re: Gatecrash Spoiler Season

PostPosted: 02 Jan 2013, 08:30
by swordshine
Hellfish wrote:It is done. No changes needed to AbilityCast, it doesn't trigger on mana abilities anyway.
Thanks Hellfish. I found a bug when testing Rings of Brighthearth. The mana ability of Metalworker would trigger the copyability AF, you may pay 2 to copy it but nothing happened when it resolves.
This might be a long-existed bug. I think Forge did not recognise Metalworker's activated ability as a mana ability. For example, Pithing Needle can impede Metalworker's ability.

Re: Gatecrash Spoiler Season

PostPosted: 02 Jan 2013, 09:13
by Hellfish
The problem is that only looks to the root SA when determiningmana ability-ness ( :mrgreen: )while the mana portion of Metalworker's ability is a subability. I think I know a solution, I'll see if I can get a computer after work.

Re: Gatecrash Spoiler Season

PostPosted: 02 Jan 2013, 10:16
by swordshine
One more question: I think the source of the copied activated ability is the original object whose ability was activated. This might be different from copyspell effect.
706.10b A copy of an ability has the same source as the original ability. If the ability refers to its source by name, the copy refers to that same object and not to any other object with the same name. The copy is considered to be the same ability by effects that count how many times that ability has resolved during the turn.
The copied ability does not have the correct source now.
Example:
When I used the first or the second ability of Karn Liberated, Karn did not remember the exiled card by the copied ability. After I used the ultimate, the copied ones did not put to the battlefield.

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 07:04
by Hellfish
I changed the source for copied abilities to the same card it was copied from. I also changed SpellAbility.isManaAbility() to also look at subabilities.

However, I've got to fix Rings of Brighthearth triggering again on the copied ability before I commitWhy is the SpellCopied flag on the source card and not on the SpellAbility?and Metalworker not adding the mana for some reason..Fixed this, hopefully it's kosher with the rest of our ginormous card base...

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 14:49
by ArsenalNut
Hellfish wrote:I also changed SpellAbility.isManaAbility() to also look at subabilities.
There are a couple of issues with this change.
First just because part of an ability produces mana doesn't mean the ability is a mana ability.
605.1a An activated ability is a mana ability if it meets three criteria: it doesn’t have a target, it
could put mana into a player’s mana pool when it resolves, and it’s not a loyalty ability. (See
rule 606, “Loyalty Abilities.”)
The first ability of Deathrite Shaman is not a mana ability because the it targets the card to exile.

The second problem is that trying to activate something like Metalworker to pay for a cost causes a crash.
activate Mana Ability crash | Open
java.lang.NullPointerException
at forge.control.input.InputPayManaCostUtil.activateManaAbility(InputPayManaCostUtil.java:92)
at forge.control.input.InputPayManaCost2.selectCard(InputPayManaCost2.java:51)
at forge.gui.match.nonsingleton.CField.cardclickAction(CField.java:474)
at forge.gui.match.nonsingleton.CField.access$7(CField.java:418)
at forge.gui.match.nonsingleton.CField$8.mousePressed(CField.java:101)
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
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$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$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)

The crash is caused when the root ability is not a mana producing ability.

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 15:09
by Hellfish
Thanks for testing ! I'll correct point 1 ASAP and will look at point 2 as well.Will keep you posted! :)

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 18:44
by moomarc
Just checked in the Extort keyword. Have fun!

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 21:36
by Sloth
Hellfish wrote:Branch created, go nuts. :mrgreen:
Why is the branch a full copy of the trunk?

For the last expansions we only branched the cardsfolder, which requires much less merging.

EDIT: Nevermind. I noticed that i can just switch the cardsfolder to "/branches/Gatecrash/res/cardsfolder".

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 21:57
by Hellfish
A wizard did it. A very clumsy wizard. :oops: Sorry about that, cant fix from my phone. Good to hear it can be worked with at least.

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 22:00
by Sloth
Hellfish wrote:A wizard did it. A very clumsy wizard. :oops: Sorry about that, cant fix from my phone. Good to hear it can be worked with at least.
There's no need to change this. We can all just avoid commiting changes outside the cardsfolder.

Re: Gatecrash Spoiler Season

PostPosted: 04 Jan 2013, 22:18
by friarsol
Sloth wrote:
Hellfish wrote:A wizard did it. A very clumsy wizard. :oops: Sorry about that, cant fix from my phone. Good to hear it can be worked with at least.
There's no need to change this. We can all just avoid commiting changes outside the cardsfolder.
Since it happens 4 times a year, maybe we should write up a small bit on the Wiki for Spoiler Season procedure?