How to code Planeswalkers ? (Non Working)

For all your questions regarding Image Card Coding.
Please read the Image Posting Guideline & Index before posting in this forum.
Forum rules
DO NOT POST BUG REPORT IN THIS FORUM !!

Please read carefully the forum rules related to the card coding section : viewtopic.php?f=21&t=1545

All post will be edited to follow forum rules.
John Rohan
Posts: 37
Joined: Sat Jul 18, 2009 2:08 am
Contact:

Re: Plainswalkers ~a shot in the dark~

Post by John Rohan »

GRRR!!!!!!!!!!!

It's not PLAINSWALKERS it's PLANESWALKERS!!

A "plainswalker" would be a creature with the plainswalk ability (like Zodiac Rooster or Boggart Arsonists).
Echo12
Posts: 22
Joined: Sat Nov 28, 2009 10:43 am
Location: Philippines & Singapore
Contact:

Re: Plainswalkers ~a shot in the dark~

Post by Echo12 »

Chill Man! Everyone makes a mistake. No need to be aggravated by IT that much. :lol:
John Rohan
Posts: 37
Joined: Sat Jul 18, 2009 2:08 am
Contact:

Re: Plainswalkers ~a shot in the dark~

Post by John Rohan »

Echo12 wrote:Chill Man! Everyone makes a mistake. No need to be aggravated by IT that much. :lol:

Sorry! It's just that you see that same mistake all the freaking time.
bcdiscman
Posts: 222
Joined: Sat Jul 18, 2009 4:40 am
Location: Indiana - USA

Re: Plainswalkers ~a shot in the dark~

Post by bcdiscman »

I always though a "Planeswalker" was that guy walking out on the wings of those old biplanes in mid-flight!!! freaking LOL!!! :lol:
ImageImageImageImage
BCdiscman
Disturbed.1.93
Posts: 86
Joined: Sat Aug 01, 2009 4:45 am

Re: Plainswalkers ~a shot in the dark~

Post by Disturbed.1.93 »

bcdiscman wrote:I always though a "Planeswalker" was that guy walking out on the wings of those old biplanes in mid-flight!!! freaking LOL!!! :lol:
lol thats why i thought it was plain, like i said i dont use mine so much so i dont pay enough attention to how it's spelled
Image
AzureKnight
Posts: 37
Joined: Fri Aug 28, 2009 5:49 am

Re: Plainswalkers ~a shot in the dark~

Post by AzureKnight »

Here's a shot in the dark, but i think this is a probable way to implement planeswalkers.
Using existing fuctionality of Wagic, well, mostly.
I dunno programming, so please don't criticize.



Make them as Enchantments with:

-Comes into play with X counters.

-Shroud

-They have the ability:
"whenever you are dealt damage remove that many counters from this card,
you gain that much life."

-And "When this card has no counters on it, sacrifice it."




Another approach would be:

Make them Creatures with:

-Comes into play with X +1/+1 counters.

-Shroud, Indestructible

-"Can't attack or Block"

-They have the ability:
"whenever you are dealt damage remove that many +1/+1 counters from this card,
you gain that much life."


-P/T: 0/0 (Determined by +1/+1 counters)




This part: "whenever you are dealt damage remove that many +1/+1 counters from this card, you gain that much life." Would simulate that the opponent takes every possible opportunity to damage the planeswalker, be it burn or combat. Granted, it may be a little far off, but in my opinion, is close enough, and is as close as it gets. Imagine that the opponent always attacks or burns it.

The major problem with this method, is if you play 2 planeswalkers. Well, I guess the only solution is to restrict to being able to only play one planeswalker out at a time. Like sort of making them Legends with same names (is that possible?), or simply having the ability "You can't play planeswalker spells". This makes it even farther off from the real thing, but seems like a worthy sacrifice to be able to support planeswalkers.

Another problem will be that damage from sources you control will also affect the planeswalker, such as fetch lands and pain lands. That is unsolvable by this method, but is sort of balanced by the fact that you can only have one planeswalker out at a time, and should not be too big of an issue.

Also, making them a permernant they are not has it's inherent problem. Being affected by spells that are not supposed to affects planeswalkers. Eg. Naturalize, Wrath of God, etc. So I guess the best way is to use the Enchantment method, and give them shroud, since there are not many targeted removal in Wagic that can kill planeswalkers anyway.



Whew. After writing so much, I realized that it would probably be near impossible to support planeswalkers with current resources, haha. Looks like I just wasted some of my time. Wonder if this even helped at all... :?
Image 3rd Place Winner: SilverBlade by AzureKnight Image TOP 25: Skies of Emeria by AzureKnight
Psyringe
Posts: 1163
Joined: Mon Aug 31, 2009 10:53 am

Re: Plainswalkers ~a shot in the dark~

Post by Psyringe »

AzureKnight wrote:Whew. After writing so much, I realized that it would probably be near impossible to support planeswalkers with current resources, haha. Looks like I just wasted some of my time. Wonder if this even helped at all... :?
Ah well, getting a different / new perspective on an implementation problem is rarely useless for a coder, even if it might not be implemented this way. :)

I think one problem of such elaborate workarounds is that they are bound to break something else somewhere in the system. Magic is a very rich rules environment, so it offers lots of possibilities for workarounds, but also lots of pitfalls which make workarounds break something else. For example, coding Planeswalkers (with correct "ane" now ;) ) as enchantments might make it slightly easier to implement a part of their functionality, but it would also make them give bonuses to Yavimaya Enchantress, or creatures with Ancestral Mask, or Serra's Sanctum.

Fortunately we are able to change the game's source code, so we don't need to *rely* on workarounds - we can code features as they are "meant" to be. however, in case of planeswalkers, doing so will definitely be difficult, and so far no one has tried his hand at it (for Wagic). But I'm pretty sure that someone will implement them eventually.
kaioshin
Posts: 267
Joined: Wed Feb 25, 2009 1:49 pm

How to code Planeswalkers ? (Non Working)

Post by kaioshin »

Hey guys,
I just made some Planeswalkers. They are VERY borderline, of course, and I understand if no one but me wants to use them, but anyhoo.
The mayor drawback is, that they are creatures and they don't loose Loyalty counters, when damaged. I couldn't find a walk-around to that. I also faced a problem, regarding the counters themself. When I take all Choice counters (I use them to let you only activate one ability in your turn) from the Planeswalker (by code), Wagic crashes. So there must be always 1 Choice counter on them...
Besides the damage and some other problems (:P) they work pretty well.
I just made them to show y'all, that planeswalkers are not that far away from Wagic and it only needs a bit of additional code. Programs like MtG Forge lack the mass of cards Wagic provides (and the ability to add cards by yourself), but it can handle Planeswalkers. It's not impossible, guys!

- Cheers :)

Code: Select all

[card]
name=Garruk Wildspeaker
auto=counter(0/1,3,Loyalty)
auto=counter(0/0,3,Choice)
auto=counter(0/0,1,UntapSecondLand)
auto=@each my upkeep:counter(0/0,-3,Choice) && counter(0/0,3,Choice)
auto=@each my cleanup:counter(0/0,-3,UntapSecondLand) && counter(0/0,1,UntapSecondLand)
auto={C(0/0,-2,Choice)}{C(0/1,1,Loyalty)}{C(0/0,2,UntapSecondLand)}:untap target(land) asSorcery
auto={C(0/0,-2,UntapSecondLand)}:untap target(land) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-1,Loyalty)}:token(Beast,creature beast, 3/3,green) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-4,Loyalty)}:lord(creature|myBattlefield) 3/3 && lord(creature|myBattlefield) trample asSorcery
mana={2}{G}{G}
abilities=cantattack
type=Legendary 
subtype=Planeswalker Garruk Creature
toughness=0
[/card]

[card]
name=Chandra Nalaar
auto=counter(0/1,6,Loyalty)
auto=counter(0/0,3,Choice)
auto=@each my upkeep:counter(0/0,-3,Choice) && counter(0/0,3,Choice)
auto={C(0/0,-2,Choice)}{C(0/1,1,Loyalty)}:damage:1 target(player) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-1,Loyalty)}:damage:1 target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-2,Loyalty)}:damage:2 target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-3,Loyalty)}:damage:3 target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-4,Loyalty)}:damage:4 target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-5,Loyalty)}:damage:5 target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-6,Loyalty)}:damage:6 target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-7,Loyalty)}:damage:7 target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-8,Loyalty)}:damage:10 target(player) && damage:10 all(creature|opponentBattlefield)
mana={3}{R}{R}
abilities=cantattack
type=Legendary 
subtype=Planeswalker Chandra Creature
toughness=0
[/card]

[card]
name=Jace Beleren
auto=counter(0/1,3,Loyalty)
auto=counter(0/0,3,Choice)
auto=@each my upkeep:counter(0/0,-3,Choice) && counter(0/0,3,Choice)
auto={C(0/0,-2,Choice)}{C(0/1,1,Loyalty)}:token(Soldier,creature soldier, 1/1,white)
auto={C(0/0,-2,Choice)}{C(0/1,-1,Loyalty)}:draw:1 target(player) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-10,Loyalty)}:deplete:20 target(player) asSorcery
mana={1}{U}{U}
abilities=cantattack
type=Legendary
subtype=Planeswalker Jace Creature
toughness=0
[/card]

[card]
name=Elspeths protection
id=-1111111
auto=lord(artifact,enchantment,land,|myBattlefield) indestructible
auto=lord(creature[-planeswalker]|myBattlefield) indestructible
text=For the rest of the game, artifacts, creatures, enchantments, and lands you control are indestructible.
abilities=shroud, indestructible
[/card]

[card]
name=Elspeth, Knight-Errant
auto=counter(0/1,8,Loyalty)
auto=counter(0/0,3,Choice)
auto=@each my upkeep:counter(0/0,-3,Choice) && counter(0/0,3,Choice)
auto={C(0/0,-2,Choice)}{C(0/1,1,Loyalty)}:token(Soldier,creature soldier, 1/1,white) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,1,Loyalty)}:3/3 && flying target(creature) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-8,Loyalty)}:token(-1111111)
mana={0}
abilities=cantattack
type=Legendary
subtype=Planeswalker Elspeth Creature
toughness=0
[/card]

[card]
name=Nissa's Chosen
mana={G}{G}
autograveyard=@movedTo(this|mygraveyard) from(myBattlefield):moveTo(ownerlibrary) && shuffle
type=Creature
subtype=Elf Warrior
toughness=3
power=2
[/card]

[card]
name=Nissa Revane
auto=counter(0/1,2,Loyalty)
auto=counter(0/0,3,Choice)
auto=counter(0/0,1,Elf)
auto=@each my upkeep:counter(0/0,-3,Choice) && counter(0/0,3,Choice) && thisforeach(counter{0/0.1.Elf}>1) counter(0/0,-1,Elf)
auto={C(0/0,-2,Choice)}{C(0/1,1,Loyalty)}:moveTo(myBattlefield) target(Nissa's Chosen|myLibrary) asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,1,Loyalty)}:foreach(elf|myBattlefield)life:2 asSorcery
auto={C(0/0,-2,Choice)}{C(0/1,-7,Loyalty)}:counter(0/0,200,Elf) && 0/1 ueot asSorcery
auto={C(0/0,-2,Elf)}: moveTo(myBattlefield) target(Elf|myLibrary) asSorcery
mana={2}{G}{G}
abilities=cantattack
type=Legendary
subtype=Planeswalker Nissa Creature
toughness=0
[/card]
[EDIT ABRA: Changed title]
Dr.Solomat
Posts: 975
Joined: Mon Dec 15, 2008 5:12 pm
Location: Germany

Re: Planeswaker Code

Post by Dr.Solomat »

Hmmm,

the choice counters are a great idea to assure the activation limit! This is one step forward, but there are several others to go... ;)
Sets Coded/Released: Legends, Visions, Weatherlight, Tempest, Stronghold, Portal I & III, Urza's Saga BLOCK, Mercadian Masques, Invasion BLOCK, Mirrodin, Ravnica, Guildpact, Conflux, Alara Reborn
Saiki
Posts: 156
Joined: Fri Jun 12, 2009 10:47 pm

plainswalkers possible?

Post by Saiki »

it is in any way possible to add plainswalkers? perhaps as an enchantment or something? (nofizzle/shroud/cantattack/cantblock perhaps?

[EDIT ABRA: merge topic , please use the search before posring new topic]
Image
Locked