It is currently 08 Nov 2025, 21:39
   
Text Size

Card Contributions

Post MTG Forge Related Programming Questions Here

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

Re: Card Contributions

Postby moomarc » 19 Feb 2013, 10:36

Swordshine, nice job on Spike Cannibal! Simic decks all over the Forge community just burst out crying :twisted: (not to mention a few undying creatures)
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Card Contributions

Postby friarsol » 19 Feb 2013, 16:06

moomarc wrote:something along the lines of not being able to block a banded group unless you could block each creature in the group, and a few other simplified rules that IIRC amounted to each card in the band having each other's keywords.
Hah that's specifically not how banding works. You only need to block one creature in a band to block the whole thing, and then the controller of the band gets to assign damage to their band in whatever order they want (they don't even have to assign lethal damage to any of the creatures). I think one of the main issues with banding is that the amount of creatures with banding changes when attacking or blocking. While attacking you can only have one non-Banding creature in a band. While blocking you only need to have one blocker with Banding. This can prevent Trample damage from working as expected if you have a blocker with Banding.

(I conveniently ignored Bands with others, which is like Bandings half-demon step brother).
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby friarsol » 20 Feb 2013, 15:35

For Sunforger, if you fail to actually cast the Spell you searched for, you need to shuffle your library. (In fact, you can probably skip Shuffling as part of the ChangeZone and just do it once before the Cleanup)
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby moomarc » 20 Feb 2013, 16:04

friarsol wrote:For Sunforger, if you fail to actually cast the Spell you searched for, you need to shuffle your library. (In fact, you can probably skip Shuffling as part of the ChangeZone and just do it once before the Cleanup)
I'll fix it next time I'm on. Getting some preliminary stuff ready for my wife's birthday at the moment, but tomorrow morning should be good. I'll just need to make Shuffle effect take defined players (I had a look this afternoon already and it looked like it only took targets).
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Card Contributions

Postby friarsol » 20 Feb 2013, 16:07

moomarc wrote:I'll fix it next time I'm on. Getting some preliminary stuff ready for my wife's birthday at the moment, but tomorrow morning should be good. I'll just need to make Shuffle effect take defined players (I had a look this afternoon already and it looked like it only took targets).
I don't think that's true. "getTargetPlayers()" is just poorly named from the inherited SpellAbilityEffect

Code: Select all
        protected List<Card> getTargetCards(SpellAbility sa) {
            final Target tgt = sa.getTarget();
            return tgt != null ? tgt.getTargetCards() : AbilityUtils.getDefinedCards(sa.getSourceCard(), sa.getParam("Defined"), sa);
        }
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby moomarc » 28 Feb 2013, 14:00

@Max: I just added Battletide Alchemist and would like you to please check whether I did all the right things to avoid using isHuman/isComputer calls. It needed a ConfirmAction set up for a non-spellAbility source so I've tried to make a helpful name for the new method. Please let me know whether there's anything I did sub-optimally in light of what you've been trying to achieve. I made it a bit broader than it strictly needed to be so that it could be expanded more easily without having to change all calls to it. See r19936.

Edit: fixed Battletide Alchemist's name (I keep typing Battlefield instead)
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Card Contributions

Postby friarsol » 02 Mar 2013, 21:48

Hey Sloth,

Would you be mad at me if I add Fatal Lore, Misfortune, and Library of Lat-Nam? I'm marking them all as RemAIDeck for now, of course that's less important than the charm choice when the Human casts them.

For that, the AI will currently just choose the first choice for each spell, here's the breakdown for that.

Fatal Lore - Caster draws 3 cards (other choice is Destroy up to 2 targets chooser controls, and that player draws 3)

Library of Lat-Nam - Caster draws 3 cards next upkeep (other choice is Demonic Tutor)

Misfortune - Caster puts +1/+1 on each creature controlled and gain 4 life (other choice is chooser puts -1/-1 on each creature conrolled and takes 4 damage)
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby AlexV » 09 Mar 2013, 19:18

I think this is 100% for Titania's Song, but if I've missed something then let me know and if it can't be fixed, I'll post in Half Implemented cards instead:

Titania's Song | Open
Code: Select all
Name:Titania's Song
ManaCost:3 G
Types:Enchantment
Text:no text
S:Mode$ Continuous | Affected$ Artifact.nonCreature | RemoveAllAbilities$ True | SetPower$ AffectedX | SetToughness$ AffectedX | AddType$ Creature | Description$ Each noncreature artifact loses all abilities and becomes an artifact creature with power and toughness each equal to its converted mana cost. If CARDNAME leaves the battlefield, this effect continues until end of turn.
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigContinue | TriggerController$ TriggeredCardController | TriggerDescription$ If CARDNAME leaves the battlefield, this effect continues until end of turn.
SVar:TrigContinue:DB$ Animate | Cost$ 0 Affected$ Artifact.nonCreature | RemoveAllAbilities$ True | SetPower$ AffectedX | SetToughness$ AffectedX | AddType$ Creature | Description$ Each noncreature artifact loses all abilities and becomes an artifact creature with power and toughness each equal to its converted mana cost until end of turn.
SVar:AffectedX:Count$CardManaCost
SVar:PlayMain1:TRUE
SVar:RemRandomDeck:True
SVar:Rarity:Rare
SetInfo:5e|Rare|http://magiccards.info/scans/en/5e/194.jpg
SetInfo:4e|Rare|http://magiccards.info/scans/en/4e/160.jpg
SetInfo:rv|Rare|http://magiccards.info/scans/en/rv/127.jpg
SetInfo:aq|Rare|http://magiccards.info/scans/en/aq/65.jpg
SetInfo:me4|Rare|http://magiccards.info/scans/en/me4/170.jpg
Oracle:Each noncreature artifact loses all abilities and becomes an artifact creature with power and toughness each equal to its converted mana cost. If Titania's Song leaves the battlefield, this effect continues until end of turn.
End
AlexV
 
Posts: 15
Joined: 14 Sep 2012, 16:17
Has thanked: 0 time
Been thanked: 1 time

Re: Card Contributions

Postby friarsol » 09 Mar 2013, 20:07

AlexV wrote:I think this is 100% for Titania's Song, but if I've missed something then let me know and if it can't be fixed, I'll post in Half Implemented cards instead:
We've had Titania's Song for a long time. Any reason you thought we didn't?
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby moomarc » 09 Mar 2013, 20:25

If anyone is looking for cards to script, Mana Clash and Molten Sentry should now be scriptable. Check out Odds (Odds // Evens).

Should just need to have the HeadsSubAbility and TailsSubAbility use StoreSVar to set a svar to either 0 or 1. In the case of Mana Clash this would be in a repeat loop with the repeat condition checkRepeat GT0 where checkRepeat = humanflip+aiflip and where heads=0 and tails=1. Molten Sentry would just have two conditional static abilities checking whether FlipResult equals 1 or 0 and setting the characteristic defining power and toughness accordingly.

I might get 'round to these in the next week, but thought I'd put it out there if anyone else wants to do it before I get a chance.

EDIT: Okay, turns out Molten Sentry was already implemented, it just asked you to call heads/tails. Fixed that.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Card Contributions

Postby AlexV » 09 Mar 2013, 20:30

friarsol wrote:We've had Titania's Song for a long time. Any reason you thought we didn't?
Hmm... I certainly didn't have it, and I updated not that long ago, at 1.3.9. I'll grab a new update of the latest code then, guess I wasted my time :-/
AlexV
 
Posts: 15
Joined: 14 Sep 2012, 16:17
Has thanked: 0 time
Been thanked: 1 time

Re: Card Contributions

Postby friarsol » 09 Mar 2013, 20:34

AlexV wrote:
friarsol wrote:We've had Titania's Song for a long time. Any reason you thought we didn't?
Hmm... I certainly didn't have it, and I updated not that long ago, at 1.3.9. I'll grab a new update of the latest code then, guess I wasted my time :-/
There is a bug in the deck editor search (that was discussed on the release thread). I checked the logs, and it's been in forge since at least 2011.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby AlexV » 12 Mar 2013, 20:29

OK, I'm reasonably confident that this one really is missing.

Trickbind | Open
Code: Select all
Name:Trickbind
ManaCost:1 U
Types:Instant
K:Split second
A:SP$ Counter | Cost$ 1 U | TargetType$ Activated,Triggered | TgtPrompt$ Select target Activated or Triggered Ability | RememberTargets$ True | ValidTgts$ Card | SubAbility$ DBEffect | SpellDescription$ Counter target activated or triggered ability. If a permanent's ability is countered this way, activated abilities of that permanent can't be activated this turn. (Mana abilities can't be targeted.)
SVar:DBEffect:DB$ Effect | Name$ Trickbind Effect | StaticAbilities$ STCantBeActivated | RememberObjects$ Remembered
SVar:STCantBeActivated:Mode$ CantBeActivated | EffectZone$ Command | ValidCard$ Permanent.IsRemembered
SVar:Rarity:Rare
SetInfo:TSP|Rare|http://magiccards.info/scans/en/ts/88.jpg
Oracle:Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.)

Counter target activated or triggered ability. If a permanent's ability is countered this way, activated abilities of that permanent can't be activated this turn. (Mana abilities can't be targeted.)
End
It's just a combination of the existing Interdict and Stifle cards, with Split Second added on.
AlexV
 
Posts: 15
Joined: 14 Sep 2012, 16:17
Has thanked: 0 time
Been thanked: 1 time

Re: Card Contributions

Postby moomarc » 13 Mar 2013, 07:40

Thanks AlexV! I've just added (with a few minor tweaks to handle cleanup and situations where the target has already been removed from the stack when it resolves. Also added the Picture svar, Corrected the oracle and setinfo lines, and removed the Rarity line which is now deprecated).
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Card Contributions

Postby AlexV » 13 Mar 2013, 09:13

moomarc wrote:a few minor tweaks
Thanks for that, I didn't know about changes to the way SetInfo and Rarity were done now, I've always just copied from existing cards. I admit I did find it a bit confusing why there were links to card pictures on both magiccards.info and wizards.com, with no apparent effect for either, though!
AlexV
 
Posts: 15
Joined: 14 Sep 2012, 16:17
Has thanked: 0 time
Been thanked: 1 time

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 85 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 85 users online :: 0 registered, 0 hidden and 85 guests (based on users active over the past 10 minutes)
Most users ever online was 9298 on 10 Oct 2025, 12:54

Users browsing this forum: No registered users and 85 guests

Login Form