#How to Create a Card using XML.
Personal Pokemon (PPokemon) reads XML files and converts that data into Pokemon Card objects. This page explains how you can create your own Cards and Decks using XML.
| CardEventName | Value | Example |
| AddDamageToAttack | >number to add to opponent's damage counter< | <CardDirections CardEventName="AddDamageToAttack">40</CardDirections> |
| AddDamageToBenched | >qty of benched to select = number to add to opponent's damage counter< | <CardDirections CardEventName="AddDamageToBenched">2 = 10</CardDirections> |
| AddDamageToEachBenched | >number to add to opponent's damage counter< | <CardDirections CardEventName="AddDamageToEachBenched">10</CardDirections> |
| AddDamageToSelf | >number to add to attacking pokemon's damage counter< | <CardDirections CardEventName="AddDamageToSelf">30</CardDirections> |
| AddSpecialCToAttack | >special condition< | <CardDirections CardEventName="AddSpecialCToAttack">Paralyzed</CardDirections> |
| AttachCardToAPokemon | >CardType< | <CardDirections CardEventName="AttachCardToAPokemon">Energy</CardDirections> |
| ChooseCardFromHandPlaceInDeck | |
| ChooseOpponPokemon | >Location< | <CardDirections CardEventName="ChooseOpponPokemon">Benched</CardDirections> |
| ChoosePokemon | |
| DiscardAnEnergy | >Location<(discard any Energy type) OR >Location = PokemonTYPE<(discard a specific Energy card) OR ><(discards first Energy card from attacking pokemon) | <CardDirections CardEventName="DiscardAnEnergy">attacking = Grass</CardDirections> |
| DiscardSpecialEnergyCard | |
| DrawACard | >times to draw a card from top of the deck (can leave blank if 1 time)< | <CardDirections CardEventName="DrawACard">5</CardDirections> |
| FlipACoin | >result = command< | <CardDirections CardEventName="FlipACoin">HEADS = NEXT</CardDirections> |
| IfActivePokemon | |
| IfDamaged | >command< | <CardDirections CardEventName="IfDamaged">NEXT</CardDirections> |
| IfDefendingDamaged | >command< | <CardDirections CardEventName="IfDefendingDamaged">NEXT</CardDirections> |
| IfDefendingHasPowers | |
| IfFlipHeads | |
| IfFlipTails | |
| IfKnockedOut | |
| IfMorePrizeCards | <CardDirections CardEventName="IfMorePrizeCards"></CardDirections> |
| IfLessEnergyThanDefending | <CardDirections CardEventName="IfLessEnergyThanDefending"></CardDirections> |
| IfNextDamageLessThan | |
| IfNoSpecialC | <CardDirections CardEventName="IfNoSpecialC"></CardDirections> |
| MinusAmountMultipliedByAttachedDamage | >number of damage< | <CardDirections CardEventName="MinusAmountMultipliedByAttachedDamage">10</CardDirections> |
| MultiplyDamageByNumberOfPokemonInPlay | >number of damage to multiply by this same Pokemon in play count< | <CardDirections CardEventName="MultiplyDamageByNumberOfPokemonInPlay">30</CardDirections> |
| MultiplyByDamageOnSelf | >number of damage points to multiply count by< | <CardDirections CardEventName="MultiplyByDamageOnSelf">10</CardDirections> |
| MultiplyByNonUsedEnergyCount | >PokemonTYPE< | <CardDirections CardEventName="MultiplyByNonUsedEnergyCount">Water</CardDirections> |
| None | |
| OpponentChooseCardsFromDrawn | >number of cards for opponent to choose< | <CardDirections CardEventName="OpponentChooseCardsFromDrawn">3</CardDirections> |
| OpponentNextAttack | |
| RemoveDamageCounter | >int< OR >DAMAGEDONE< | <CardDirections CardEventName="RemoveDamageCounter">2</CardDirections> |
| SearchDeckForBasic | >PokemonTYPE< | <CardDirections CardEventName="SearchDeckForBasic">Grass</CardDirections> |
| SearchDeckForBasicOrEvolution | >int< | <CardDirections CardEventName="SearchDeckForBasicOrEvolution">1</CardDirections> |
| SearchDeckForBasicPlaceToBench | >PokemonTYPE< | <CardDirections CardEventName="SearchDeckForBasicPlaceToBench">None</CardDirections> |
| SearchDeckForEnergy | >PokemonTYPE< OR >PokemonTYPE = Location< | <CardDirections CardEventName="SearchDeckForEnergy">Grass = hand</CardDirections> |
| SearchDeckForPokemon | >true if stop at first one< | <CardDirections CardEventName="SearchDeckForPokemon">true</CardDirections> |
| SelectAllPokemonType | >Location = PokemonTYPE< | <CardDirections CardEventName="SelectAllPokemonType">self = Grass</CardDirections> |
| ShuffleDeck | <CardDirections CardEventName="ShuffleDeck"></CardDirections> |
| SwitchDefendingWithBenched | <CardDirections CardEventName="SwitchDefendingWithBenched"></CardDirections> |
| SwitchWithBenched | <CardDirections CardEventName="SwitchWithBenched"></CardDirections> |
| (default is None) | |