Page 23 of 26

Re: Custom Card Thread

PostPosted: 25 Aug 2016, 02:26
by edessa
friarsol wrote:
edessa wrote:No answers about my question of implementing new colors for custom cards? Any programmer please?
We typically don't add things just for custom cards. Something as huge and widespread as an extra color I don't really see how that would even logistically work.
I guess you're right. Thanks anyway for the answer.

Re: Custom Card Thread

PostPosted: 25 Aug 2016, 14:21
by RumbleBBU
What Sol said.

Personally, I don't think the game engine/core functionality should be tampered with to allow for specific custom cards. The underlying danger is that if you implemented code for such functionality, it could later turn out to be incompatible with new game mechanics in the official MtG, or at least make them problematic to implement. I believe most players would prefer compatibility with the official game.

One way to have all kinds of custom cards you want would be to start your own variant of Forge. That way, you would no longer be limited by the game mechanics and the game system of the official MtG.

Re: Custom Card Thread

PostPosted: 25 Aug 2016, 20:20
by edessa
RumbleBBU wrote:What Sol said.

Personally, I don't think the game engine/core functionality should be tampered with to allow for specific custom cards. The underlying danger is that if you implemented code for such functionality, it could later turn out to be incompatible with new game mechanics in the official MtG, or at least make them problematic to implement. I believe most players would prefer compatibility with the official game.

One way to have all kinds of custom cards you want would be to start your own variant of Forge. That way, you would no longer be limited by the game mechanics and the game system of the official MtG.
As I said before, it was just an idea rolling in my mind, but I agreed with you, maybe thats going to far. As for making my own wariant of Forge I believe I do not have the programing skills required, I have some scripting skills but they are basic, I believe I will continue with my previous work with my sets, and continue to uploading here for anyone who likes. Thanks for your answers.

Re: Custom Card Thread

PostPosted: 08 Dec 2016, 06:28
by Indigo Dragon
Want to play Kynaios and Tiro of Meletis, and can't wait? Try their Bizzaro counterpart, Tiro and Kynaios of Meletis!
Code: Select all
Name:Tiro and Kynaios of Meletis
ManaCost:R G W U
Types:Legendary Creature Human Soldier
S:Mode$ Continuous | Affected$ Player | AddKeyword$ AdjustLandPlays:1 | Description$ Each player may play an additional land on each of his or her turns.
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of each player's end step, that player draws a card.
SVar:TrigDraw:AB$Draw | Cost$ 0 | NumCards$ 1 | Defined$ TriggeredPlayer
SVar:Picture:http://www.wizards.com/global/images/magic/general/Kynaios_and_Tiro_of_Meletis.jpg
Oracle:Each player may play an additional land on each of his or her turns.\nAt the beginning of each player's end step, that player draws an additional card.
So it's just a Rites of Flourishing, but it's a {R} {G} {W} {U} Legendary that keeps me (and you too!) waiting.

Re: Custom Card Thread

PostPosted: 21 Dec 2016, 20:48
by bentheechidna
Is there tutorials for how to create/load custom cards into MTG Forge?

Re: Custom Card Thread

PostPosted: 22 Dec 2016, 13:42
by RumbleBBU
bentheechidna wrote:Is there tutorials for how to create/load custom cards into MTG Forge?
You're in luck, I was just in the middle of writing this How-to:
viewtopic.php?f=26&t=19637

Re: Custom Card Thread

PostPosted: 06 Jan 2017, 17:49
by vinnie
Today I tried to create my first card, but I did not succeed.
This is the last attemp:
Code: Select all
Name:Revenger
ManaCost:B
Types:Creature
Text:Whenever CARDNAME is put into a graveyard flip a coin. If you win return CARDNAME to the battlefield with +1/+1 counter.
PT:1/1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | TriggerController$ TriggeredCardController | ValidCard$ Card.Self | Execute$ TrigFlipACoin | TriggerDescription$ When CARDNAME is put into a graveyard flip a coin. If you win return CARDNAME to the battlefield with +1/+1 counter.
SVar:TrigFlipACoin:AB$FlipACoin | Cost$ 0 | WinSubAbility$ DBChange
SVar:DBChange:AB$ChangeZone | Cost$ 0 | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Battlefield
For now I was simply trying to resurrect the creature after a positive flip, but what happens is that forge crashes.
Later I would be able to keep all the counters to the creature, but not yet know how to do

Re: Custom Card Thread

PostPosted: 06 Jan 2017, 18:07
by friarsol
vinnie wrote:For now I was simply trying to resurrect the creature after a positive flip, but what happens is that forge crashes.
Later I would be able to keep all the counters to the creature, but not yet know how to do
What's the crash say?

Re: Custom Card Thread

PostPosted: 06 Jan 2017, 19:25
by vinnie
ClassCastException

Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32692
Operating System: Linux 4.4.0-31-generic amd64
Java Version:     1.8.0_03-Ubuntu Oracle Corporation

java.lang.ClassCastException: forge.game.ability.AbilityApiBased cannot be cast to forge.game.spellability.AbilitySub
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:415)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:246)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:131)
   at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:553)
   at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:416)
   at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:358)
   at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:307)
   at forge.game.GameAction.checkStateEffects(GameAction.java:858)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:907)
   at forge.game.GameAction.startGame(GameAction.java:1451)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
   at java.lang.Thread.run(Thread.java:745)

Re: Custom Card Thread

PostPosted: 06 Jan 2017, 20:08
by friarsol
I'd recommend changing these two lines:

Code: Select all
SVar:TrigFlipACoin:AB$FlipACoin | Cost$ 0 | WinSubAbility$ DBChange
SVar:DBChange:AB$ChangeZone | Cost$ 0 | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Battlefield
to

Code: Select all
SVar:TrigFlipACoin:DB$FlipACoin | WinSubAbility$ DBChange
SVar:DBChange:DB$ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Battlefield

Re: Custom Card Thread

PostPosted: 06 Jan 2017, 20:24
by vinnie
ok, but forge Still crashes, (but the exception has Changed):
RuntimeException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32692
Operating System: Linux 4.4.0-31-generic amd64
Java Version:     1.8.0_03-Ubuntu Oracle Corporation

java.lang.RuntimeException: AbilityFactory : getAbility -- no Cost in Revenger
   at forge.game.ability.AbilityFactory.parseAbilityCost(AbilityFactory.java:153)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:131)
   at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:553)
   at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:416)
   at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:358)
   at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:307)
   at forge.game.GameAction.checkStateEffects(GameAction.java:858)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:907)
   at forge.game.GameAction.startGame(GameAction.java:1451)
   at forge.game.Match.startGame(Match.java:95)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
   at java.lang.Thread.run(Thread.java:745)

Re: Custom Card Thread

PostPosted: 20 Jan 2017, 04:46
by lyurskanen
How would you script this?
Code: Select all
When CARDNAME enters the battlefield, you may return target creature card from your graveyard to the battlefield. It is an artifact with "{T}: Add one mana of any of this card's colors to your mana pool" and loses all other card types and abilities.

Re: Custom Card Thread

PostPosted: 25 Feb 2017, 04:06
by torridus
lyurskanen wrote:How would you script this?
Code: Select all
When CARDNAME enters the battlefield, you may return target creature card from your graveyard to the battlefield. It is an artifact with "{T}: Add one mana of any of this card's colors to your mana pool" and loses all other card types and abilities.
There aren't any cards which have this type of effect, as far as I know. It's likely surprisingly complex in terms of code. You might want to do an exile effect instead of return, like Feldon of the Third Path has, because it's a bit easier.

You can also check the code for cards like Rise from the Grave, Gild, and King Macar, the Gold-Cursed

Help with scripting a custom card

PostPosted: 09 Mar 2017, 18:26
by dodnyjv
Hi, I'd like to ask if someone would script this card for me, thank yooou O:) :

Legendary Creature - Elemental Shaman
*/4
Haste
Vessifrus, Flamekin Demagogue’s power is equal to the number of Elementals you control.
Whenever Vessifrus deals damage, create a 3/1 red Elemental Shaman creature token with haste.
RedRedRed, Tap: Vessifrus deals damage equal to it’s power to target creature or player.

Re: Custom Card Thread

PostPosted: 25 Jul 2017, 20:54
by Taris36
I was thinking of making a set based on the first God of War game. Would anyone want to see that or is it a dumb idea?