Page 13 of 15

Re: Card wishlist

PostPosted: 26 Sep 2014, 04:09
by PalladiaMors
My attempt at Spellstutter Sprite:

Code: Select all
def SPELL_WITH_CONVERTED_COST_X_OR_LESS=new MagicPermanentFilterImpl() {
    public boolean accept(final MagicGame game,final MagicPlayer player,final MagicPermanent target) {
        return target.isCardOnStack() && target.getConvertedCost() <= source.getController().getNrOfPermanents(MagicSubType.Faerie);
    }
};

def TARGET_SPELL_WITH_CONVERTED_COST_X_OR_LESS = new MagicTargetChoice(
    SPELL_WITH_CONVERTED_COST_X_OR_LESS,
    "target spell with converted mana cost X or less"
);

[
    new MagicWhenComesIntoPlayTrigger() {
        @Override
        public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPayedCost payedCost) {
            return new MagicEvent(
                permanent,
                TARGET_SPELL_WITH_CONVERTED_COST_X_OR_LESS,
                this,
                "Counter target spell\$ with converted mana cost X or less," + "where X is the number of Faeries you control."
            );
        }
        @Override
        public void executeEvent(final MagicGame game, final MagicEvent event) {
            event.processTargetCardOnStack(game, {
                    game.doAction(new MagicCounterItemOnStackAction(it));
                });
        }
    }
]
Unfortunately, target.isCardOnStack() doesn't work. How do I tell it that the target must be a spell on the stack?

Re: Card wishlist

PostPosted: 26 Sep 2014, 07:11
by jerichopumpkin
MagicPermanent only lets you select a permanent in play, use MagicItemOnStack instead of MagicPermanent, then check if the target is a spell. This should work:

Code: Select all
def SPELL_WITH_CONVERTED_COST_X_OR_LESS=new MagicPermanentFilterImpl() {
    public boolean accept(final MagicGame game,final MagicPlayer player,final MagicItemOnStack target) {
        return target.isSpell() && target.getConvertedCost() <= source.getController().getNrOfPermanents(MagicSubType.Faerie);
    }
};

def TARGET_SPELL_WITH_CONVERTED_COST_X_OR_LESS = new MagicTargetChoice(
    SPELL_WITH_CONVERTED_COST_X_OR_LESS,
    "target spell with converted mana cost X or less"
);

[
    new MagicWhenComesIntoPlayTrigger() {
        @Override
        public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPayedCost payedCost) {
            return new MagicEvent(
                permanent,
                TARGET_SPELL_WITH_CONVERTED_COST_X_OR_LESS,
                this,
                "Counter target spell\$ with converted mana cost X or less," + "where X is the number of Faeries you control."
            );
        }
        @Override
        public void executeEvent(final MagicGame game, final MagicEvent event) {
            event.processTargetCardOnStack(game, {
                    game.doAction(new MagicCounterItemOnStackAction(it));
                });
        }
    }
]

Re: Card wishlist

PostPosted: 26 Sep 2014, 09:45
by ShawnieBoy
Nearly - the filter itself needs to be looking elsewhere.

Code: Select all
def SPELL_WITH_CONVERTED_COST_X_OR_LESS=new MagicStackFilterImpl() {
    public boolean accept(final MagicGame game,final MagicPlayer player,final MagicItemOnStack target) {
        return target.isSpell() && target.getConvertedCost() <= source.getController().getNrOfPermanents(MagicSubType.Faerie);
    }
};

Re: Card wishlist

PostPosted: 26 Sep 2014, 17:40
by jerichopumpkin
ShawnieBoy wrote:Nearly - the filter itself needs to be looking elsewhere.

Code: Select all
def SPELL_WITH_CONVERTED_COST_X_OR_LESS=new MagicStackFilterImpl() {
    public boolean accept(final MagicGame game,final MagicPlayer player,final MagicItemOnStack target) {
        return target.isSpell() && target.getConvertedCost() <= source.getController().getNrOfPermanents(MagicSubType.Faerie);
    }
};
woops, totally missed it! Too much time since my last groovy ;)

Re: Card wishlist

PostPosted: 02 Apr 2015, 23:42
by VladVoivode
My old buddy Sengir Vampire is feeling a tad lonely. How about some Magarena love for him? :)

Re: Card wishlist

PostPosted: 03 Apr 2015, 02:03
by ShawnieBoy
VladVoivode wrote:My old buddy Sengir Vampire is feeling a tad lonely. How about some Magarena love for him? :)
He's a bit trickier than he seems - If something else kills the creature later on in the turn after Sengir Vampire has damaged it, it needs to still get the +1/+1 counter.

The effect is triggered in a similar way as Disintegrate, though instead of exiling, it needs to be able to give a +1/+1 counter to each Sengir Vampire (and similar creatures) that have damaged it this turn.

It's complicated by the fact that if the Sengir Vampire leaves the battlefield before the other creature, it needs to then remove the waiting triggers, even if it then returns, eg Flicker

Re: Card wishlist

PostPosted: 03 Apr 2015, 02:24
by melvin
We can do it by attaching a delayed trigger, the issue is it will get one counter for EACH time it deals damage to the creature in a turn. The actual rules states that it only gets one counter, no matter how many times it deals damage to the creature in the same turn.

@VladVoivode: would this be a reasonable approximation?

Re: Card wishlist

PostPosted: 29 Apr 2015, 04:59
by LazerRayGun
I'm brand new, so I don't know why there are colors...

I would really like to request Courser of Kruphix because I'm a mainly green player and love mana ramp and he does nicely.

So far I've also noticed Gyre Sage is missing, but I think that's it in regards to the decks I normally play.

In a list to make it easier I guess,

Courser of Kruphix
Gyre Sage

Thank you! This is a wonderful thing

Re: Card wishlist

PostPosted: 29 Apr 2015, 14:48
by ShawnieBoy
LazerRayGun wrote:I'm brand new, so I don't know why there are colors...

I would really like to request Courser of Kruphix because I'm a mainly green player and love mana ramp and he does nicely.

So far I've also noticed Gyre Sage is missing, but I think that's it in regards to the decks I normally play.

In a list to make it easier I guess,

Courser of Kruphix
Gyre Sage

Thank you! This is a wonderful thing
Welcome to Magarena!

Unfortunately we're unable to implement cards that can produce more than one mana, so Gyre Sage currently can't be done. (Have a look at List of Unsupported Card Groups for other card types which are not yet supported)

Courser of Kruphix is quite a popular card request on Project Firemind as well, there might be ways of getting it to work. Something to think about.

Thanks for your requests and hope you continue to enjoy.

Re: Card wishlist

PostPosted: 24 Jun 2015, 02:27
by 000Malphateus000
Good night for all,

First anything congratulations for the great work with Magarena, each upgrade was fantastic.
I would like suggest some common goblins for a close future:

Bloodcrazed Goblin
Goblin Cohort
Mogg Conscripts
Mogg Flunkies

Will be nice adds in Pauper decks.
About Pauper (I don´t know if it is possible, but...) why not add in Firemind Project Pauper-Decks like an option? Or in other option in selection menu (just an idea).

Thx all staff for this great app,
Long Live and Prosper,
Mateus

P.S.: Sorry for the english, just a BR guy.

Re: Card wishlist

PostPosted: 28 Nov 2015, 19:02
by PalladiaMors
@ShawnieBoy has recently implemented Lich, which is definitely one of the most complex MtG cards ever printed, showing that Magarena is capable of supporting some pretty crazy cards! Nefarious Lich from Odissey is pretty similar, I was wondering if it could borrow the groovy? Good job implementing this challenging card, Shawnie.

And in case anyone's curious, here's a recent example of a deck featuring the card as it's major theme winning a rather competitive Legacy tournament. To be honest, just looking at the list I don't quite understand how this strategy works - would be pretty interested in trying to figure it out later!

Edit: reading the oracle text shows that the cards do have some differences, so yeah this can't just use the same groovy.

Re: Card wishlist

PostPosted: 28 Nov 2015, 23:31
by ShawnieBoy
Thanks :) Renaming the triggers gave me a chance to re-familiarise myself with them all.

Nefarious Lich wouldn't take too much adjusting of the Lich groovy - feel free to give it a go, all the code is available for anyone to play around with.

And not forgetting the Goblin requests, Bloodcrazed Goblin looks like the most likely one to do.

Re: Card wishlist

PostPosted: 29 Nov 2015, 17:05
by jerichopumpkin
PalladiaMors wrote:And in case anyone's curious, here's a recent example of a deck featuring the card as it's major theme winning a rather competitive Legacy tournament. To be honest, just looking at the list I don't quite understand how this strategy works - would be pretty interested in trying to figure it out later!
I think the plan is to bring out Lich or Nefarious Lich asap, then Nourishing Shoal + Autochthon Wurm, and as a finisher simply Sickening Dreams.

Re: Card wishlist

PostPosted: 06 Feb 2016, 01:11
by PalladiaMors
Hey guys, I've recently submitted a script for Impromptu Raid, I'm mentioning it here since it's been so long since I've done a card and I thought maybe you guys aren't checking that out anymore. By the way, haste should be permanent, not just until end of turn (otherwise there would be two triggers) - so playmod haste instead of haste_ueot. Thanks for implementing so many new cards this month!

Re: Card wishlist

PostPosted: 06 Feb 2016, 04:02
by melvin
PalladiaMors wrote:Hey guys, I've recently submitted a script for Impromptu Raid..
Thanks for mentioning it here, I've added it to the upcoming 1.70 release :D