Incantus Online Card Editor
Incantus, another great program that lets you play against other people over the Internet, has a marvelous online card editor that lets people submit and test new cards, which is here. Incantus is written in Python and supports over 6,000 cards (which is insane). The Incantus forum is here on slightlymagic.net
To give you a taste of how Incantus does things, here is the code for Royal Assassin and Shock.
To give you a taste of how Incantus does things, here is the code for Royal Assassin and Shock.
- Code: Select all
name = 'Royal Assassin'
cardnum = 0
expansion = ''
types = characteristic('Creature')
supertypes = no_characteristic()
subtypes = characteristic('Assassin', 'Human')
cost = '1BB'
color = characteristic('B')
power = 1
toughness = 1
text = ['T: Destroy target tapped creature.']
play_spell = play_permanent()
#################################
@activated(txt=text[0])
def ability():
def effects(controller, source):
cost = yield TapCost()
target = yield Target(isCreature.with_condition(lambda c: c.tapped))
target.destroy()
yield
return effects
abilities.add(ability)
- Code: Select all
name = 'Shock'
cardnum = 0
expansion = ''
types = characteristic('Instant')
supertypes = no_characteristic()
subtypes = no_characteristic()
cost = 'R'
color = characteristic('R')
text = ['Shock deals 2 damage to target creature or player.']
#################################
@play_instant()
def effects(controller, source):
cost = yield source.cost
target = yield Target(isCreatureOrPlayer)
source.deal_damage(target, 2)
yield
play_spell = effects