Creating Pokemon cards

So I am working on a Pokemon TCG gamemode. Which I know will take months just to get all the cards done. I am willing to do that, but I am running into some problems that I am hoping you guys can tell me the best way to work around them.


types = {Grass = 1, Fire = 2, Water = 3, Electric = 4,
		 Psychic = 5, Fighting = 6, Dark = 7, Metal = 8,
		 Colorless = 9}
		 
sets = {Base = 1, Jungle = 2, Fossil = 3, BaseTwo = 4,
		TeamRocket = 5, GymHeroes = 6, GymChallenge = 7,
		NeoGenesis = 8, NeoDiscovery = 9, SouthernIsles = 10,
		NeoRevelations = 11, NeoDestiny = 12, LegendaryCollection = 13,
		ExpeditionBase = 14, Aquapolis = 15, Skyridge = 16}
		
stages = {Baby = 1, Basic = 2, StageOne = 3, StageTwo = 4, StageThree = 5, StageX = 6}

rarity = {Common = 1, Uncommon = 2, Rare = 3, UltraRare = 4, Promo = 5 }



pokemon = {
        ["Alakazam"] = {
				Texture = "",
				Set = { sets.Base },
				Rarity = { rarity.UltraRare },
				Stage = { stages.StageTwo },
                Health = 80,
                Type = { types.Psychic },
                Weak = { [types.Psychic] = 2 },  -- If no indicator on card then it is assumed to be x2 damage.
				Retreat = { [types.Colorless] = 3 },
                Attacks = { pokepower["Damage Swap"], attacks["Confuse Ray"] }
        }
		["Blastoise"] = {
				Texture = "",
				Set = { sets.Base },
				Rarity = { rarity.UltraRare },
				Stage = { stages.StageTwo },
                Health = 100,
                Type = { types.Water },
                Weak = { [types.Electric] = 2 },  -- If no indicator on card then it is assumed to be x2 damage.
				Retreat = { [types.Colorless] = 3 },
                Attacks = { pokepower["Rain Dance"], attacks["Hydro Pump"] }
        }
		["Chansey"] = {
				Texture = "",
				Set = { sets.Base },
				Rarity = { rarity.UltraRare },
				Stage = { stages.Basic },
                Health = 120,
                Type = { types.Colorless },
                Weak = { [types.Fighting] = 2 },  -- If no indicator on card then it is assumed to be x2 damage.
				Resist = { [types.Psychic] = 30 },
				Retreat = { [types.Colorless] = 1 },
                Attacks = { attacks["Scrunch"], attacks["Double-Edge"] }
        }
		["Charizard"] = {
				Texture = "",
				Set = { sets.Base },
				Rarity = { rarity.UltraRare },
				Stage = { stages.StageTwo },
                Health = 120,
                Type = { types.Fire },
                Weak = { [types.Water] = 2 },  -- If no indicator on card then it is assumed to be x2 damage.
				Resist = { [types.Fighting] = 30 },
				Retreat = { [types.Colorless] = 3 },
                Attacks = { pokepower["Energy Burn"], attacks["Fire Spin"] }
        }
}
 
attacks = {
        ["Confuse Ray"] = {
                Description = "Flip a coin. If heads the pokemon is now Confused.",
                Damage = 30,
                Energy = { [types.Psychic] = 3 } ,     -- table with a type as a key
				CoinFlip = function( self, result )
        }
		["Hydro Pump"] = {
				Desciption = [[Does 40 damage plus 10 more damage for each [W] Energy attached to Blastoise but not used to pay for this attack's Energy cost. 
							   You can't add more than 20 damage in this way.]],
				Damage = 40,
				Energy = { [types.Water] = 3 },
				PlusTenForEveryWater()
		}
		["Scrunch"] = {
				Desciption = "Flip a coin. If heads, prevent all damage done to Chansey during your opponent's next turn. (Any other effects of attacks still happen.)",
				Damage = 0,
				Energy = { [types.Colorless] = 2 },
				CoinFlip_NoDmgOppnentsTurn()
		}
		["Double-Edge"] = {
				Desciption = "Chansey does 80 damage to itself.",
				Damage = 80,
				Energy = { [types.Colorless] = 4 },
				DamageSelfToo()
		}
		["Fire Spin"] = {
				Desciption = "Discard 2 Energy Cards on Charizard to use this attack.",
				Damage = 100,
				Energy = { [types.Fire] = 4 },
				DiscardTwoEnergies()
		}
}

pokepowers = {
			["Damage Swap"] = {
						Desciption = [[Damage Swap - As often as you like during your turn (before your attack), 
						               you may move 1 damage counter from 1 of your Pokemon to another as long as you don't Knock Out that Pokemon. 
						               This power can't be used if Alakazam is affected by a Special Condition.]],
						SwapDmg()
			}
			["Rain Dance"] = {
						Desciption = [[Rain Dance - As often as you like during your turn (before your attack), 
						               you may attach 1 [W] Energy card to 1 of your [W] Pokemon. (This doesn't use up your 1 Energy card attachment for the turn.) 
						               This power can't be used if Blastoise is Asleep, Confused, or Paralyzed.]],
						AllowWaterAttachment()
			}
			["Energy Burn"] = {
						Desciption = "All Energy attached to Charizard are [F] Energy instead of their usual type.",
						AttachedEnergiesAreAllFire()
			}


My main problem is how much the cards change with new sets.

Right now my main problem is figuring out how I should do Pokemon Power, Poke-Power, Poke-Body, and Ability.

They are all the same thing in the end but for example in the original cards Pokemon Power you always had a choice to use it or not.
When it was split, Poke-Body was always on like a passive ability and Poke-Power you had to trigger/announce.

In black and white they are putting them into 1 category again.

Do I for the older cards use the newer rules of them or should I follow them exactly and add a lot more tables?

This is a damn ambitious project and if you finish it I will be impressed.
I would say for the sake of saving your own soul from too much work, ONLY do the original set of cards.
They were the best anyway, the later ones are just strange. Either that or go up to the Silver/Gold cards, those were OK too.

Not only would that make the tables smaller, but it will improve the speed of loading things as well.=
As it stands now you are going to have THOUSANDS of table entries and depending on how you handle them large tables and make things slow (if you say, loop through them a lot)

All in all, I say stick with the original set (or go up to silver/gold)

Hmmm, Maybe I can do seperate “Generation” gamemodes that are linked somehow. I eventually want to do all the cards. I guess I’ll start with the simple generation. Even though Pokemon Power doesn’t change until Gen 2.

Doing a little more reading it seems the The first like 4 sets were reprinted with “Base Set 2 & Legendary Collection”. I might just skip older cards and go straight to reprints.