Card Contributions
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins
Re: Card Contributions
by moomarc » 19 Feb 2013, 10:36
Swordshine, nice job on Spike Cannibal! Simic decks all over the Forge community just burst out crying
(not to mention a few undying creatures)
-Marc
-

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
by friarsol » 19 Feb 2013, 16:06
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.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.
(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
by 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
by moomarc » 20 Feb 2013, 16:04
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).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)
-Marc
-

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
by friarsol » 20 Feb 2013, 16:07
I don't think that's true. "getTargetPlayers()" is just poorly named from the inherited SpellAbilityEffectmoomarc 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).
- 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
by 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)
Edit: fixed Battletide Alchemist's name (I keep typing Battlefield instead)
-Marc
-

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
by 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)
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
by 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
Re: Card Contributions
by friarsol » 09 Mar 2013, 20:07
We've had Titania's Song for a long time. Any reason you thought we didn't?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:
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Card Contributions
by 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.
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
-

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
by AlexV » 09 Mar 2013, 20:30
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 :-/friarsol wrote:We've had Titania's Song for a long time. Any reason you thought we didn't?
Re: Card Contributions
by friarsol » 09 Mar 2013, 20:34
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.AlexV wrote: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 :-/friarsol wrote: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
by 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
Re: Card Contributions
by 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
-

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
by AlexV » 13 Mar 2013, 09:13
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!moomarc wrote:a few minor tweaks
Who is online
Users browsing this forum: No registered users and 85 guests