Does anyone know the chances of cards of each rarity appearing in a booster pack? Should booster packs be throttled to force at least (or exactly) 1 rare card (or higher rarity) in every pack?
Your knowledge would be very helpful.Speaking as someone who actively collects and plays the TCG, every booster after Base Set has had to include a rare card, due to allegations of it basically being gambling targeted at kids.
While I do not know the exact odds of secret rare card pulls, I do know that it has changed over the years and I do know which secret rare types are rarer than others.
I have very limited knowledge of programming, but I do have extensive knowledge about the workings of the TCG and would be willing to lend my knowledge with regards to how some situations would and should play out.
def pbUseAttack(user)
@battle.pbDisplay(_INTL("{1} used {2}!",user.name,self.name))
target=pbGetTarget(user) # Usually done automatically.
return if !pbBabyCheck(user,target)
return if !pbOnStartUse(user) # e.g. Flip a coin. If Tails, this attack does nothing.
pbPayAttackCost(user,target) # e.g. Discard 2 energy.
pbCheckEffects(user,target)
return if !pbConfusionCheck(user)
if target
dmg=pbBaseDamage(user,target)
dmg=pbModifyDamageBefore(dmg,user,target) # Modifiers on attacker
dmg=pbEffectiveness(dmg,user,target) # Weakness/resistance
dmg=pbModifyDamageAfter(dmg,user,target) # Modifiers on target
pbDealDamage(dmg,user,target)
end
pbEffect(user,target)
end
Yes, it's an alpha. There aren't yet any limits on what you can do in your turn - it helps with debugging, they're easy enough to implement, and I've got other things to worry about at the moment.EDIT: Okay, something that stands out - there is no limit to how much energy can be attached in a single turn in your game engine. In the physical TCG, you can only attach 1 energy per turn unless a PokePower/Ability (Ability technically being the proper current name for PokePowers & PokeBodies), an effect of a card, or an effect of an attack allows you to attach additional energy.
Your knowledge would be very helpful.
Here's a couple of questions to start off with:
I'm sure I'll come across more questions when I get round to the various effects. If you can think of any cards/effects/interactions from Base/Jungle/Fossil that you think might be tricky, please let me know.
- Are the Metronome attacks for Clefairy and Clefable intended to be identical? Clefable also says to ignore costs of attack (e.g. Charizard's "discard 2 energy"), whereas Clefairy doesn't.
- Should Raticate's Super Fang attack ignore all effects/weaknesses/resistances and always deal the amount of damage it says, or is that calculation just for the base damage and it would then be affected by PlusPower and the like?
One thing I was pleased to discover was how cards like Pokémon Breeder should work - the intermediate card (if skipping from Basic to Stage 2) must exist as a card, even if it's not in the deck, and it doesn't work on Baby Pokémon. That makes things more convenient to code.
If possible, could you have a look at the order in which things happen during an attack? It's as follows:
I've tried to take account of whatever I can think of, but I'm sure there'll be things I've overlooked. If an attack can't be used (e.g. don't have enough energy, Farfetch'd's Leek Slap), it can't even be chosen to be used in the first place, so the above code assumes the attack can be used. Checking fainting cards is a separate thing that happens immediately after the attack (as well as on other occasions).Code:def pbUseAttack(user) @battle.pbDisplay(_INTL("{1} used {2}!",user.name,self.name)) target=pbGetTarget(user) # Usually done automatically. return if !pbBabyCheck(user,target) return if !pbOnStartUse(user) # e.g. Flip a coin. If Tails, this attack does nothing. pbPayAttackCost(user,target) # e.g. Discard 2 energy. pbCheckEffects(user,target) return if !pbConfusionCheck(user) if target dmg=pbBaseDamage(user,target) dmg=pbModifyDamageBefore(dmg,user,target) # Modifiers on attacker dmg=pbEffectiveness(dmg,user,target) # Weakness/resistance dmg=pbModifyDamageAfter(dmg,user,target) # Modifiers on target pbDealDamage(dmg,user,target) end pbEffect(user,target) end
Yes, it's an alpha. There aren't yet any limits on what you can do in your turn - it helps with debugging, they're easy enough to implement, and I've got other things to worry about at the moment.
Ah, I didn't think about reprints. That's convenient - only one attack effect there instead of two.1. Based on the fact that both cards were reprinted in Base Set 2 and follow the wording on Jungle Clefable, they're both intended to work the way Jungle Clefable is worded.
2. Unless the attack specifically says to ignore those effects, those effects still apply to Super Fang. The attack has to specifically say to ignore those effects.
I considered this "problem" too, but I for one am definitely not going to get to a point where there's no Kadabra (stupid Geller). Besides, all that needs to be done is to create a "dummy" card set (a real set but which the player can never obtain any cards from) containing whichever Kadabra cards you want, just for the sake of them existing. It would ideally contains a Kadabra, Dark Kadabra, and Sabrina's Kadabra to cover all the bases.There may be a catch if someone were to implement a later card-set into your engine, as that would make a later Alakazam card (it was printed in the Diamond & Pearl era along with an Abra, but no Kadabra was ever printed to accompany those two in that set or any other set released around it) effectively unplayable if the person implementing that set wasn't aware of this being how your code processes how cards like Pokemon Breeder and Rare Candy work. That's probably a problem to save for a later time, however.
Good to hear. I'm not surprised PlusPower is a little odd, given that it's an original card. Still, I'm following the original rules as close as possible, so this PlusPower will still apply itself after weakness/resistance calculations (assuming the damage hasn't already been dropped to 0 by then, of course; if the damage ever hits 0 after a step, all later steps are skipped and no damage is dealt).That seems to be largely the correct order by current rules. I have been looking, and I have yet to see a damage booster or a damage reducing card/effect break this order, other than the original PlusPower print, which says to apply the damage after weakness and resistance.
Ah, I didn't think about reprints. That's convenient - only one attack effect there instead of two.
Super Fang was easy to fix. Fair enough.
I considered this "problem" too, but I for one am definitely not going to get to a point where there's no Kadabra (stupid Geller). Besides, all that needs to be done is to create a "dummy" card set (a real set but which the player can never obtain any cards from) containing whichever Kadabra cards you want, just for the sake of them existing. It would ideally contains a Kadabra, Dark Kadabra, and Sabrina's Kadabra to cover all the bases.
Good to hear. I'm not surprised PlusPower is a little odd, given that it's an original card. Still, I'm following the original rules as close as possible, so this PlusPower will still apply itself after weakness/resistance calculations (assuming the damage hasn't already been dropped to 0 by then, of course; if the damage ever hits 0 after a step, all later steps are skipped and no damage is dealt).
Yes, you can assume this. That move wouldn't take on the opponent's typing, however. It would just use Clefairy's/Clefable's, if you weren't sure about that.Obviously the cards I'm using are way before the double battle rules. Can I assume that, unless specifically stated otherwise (which these cards won't), any reference to the "Defending Pokémon" will actually refer to the attack's target? That is, if the opponent has a Charizard and a Blastoise as Active Pokémon, I can only Metronome a Charizard move against Charizard, and a Blastoise move against Blastoise? Not that I'm worrying too much about double battles at the moment, though.
wit what TCG had double battles (i only got up2 the 1st movie with promo mewtwo) that makes it sound complicated now
My goal is to make an engine containing the Base Set/Jungle/Fossil cards. Anything beyond that would be a bonus. Eventually I'll be asking for a selection of cards which demonstrate every new mechanic (e.g. burned status, Baby Pokémon, Lv.X, Stadiums, Plasma cards, LEGEND, etc.) so that I can add in some support for them too, but that's only for after I'm done and if I still care by then (the AI and prettying are bound to take a lot out of me).I'm assuming that you'd consider making a version for the newer PlusPower prints at some point? The newer PlusPower prints do apply before Weakness and Resistance are applied. Though all the newer versions of PlusPower are from 2007-onward, so you may not ever get to that point, based on your response to the possible Kadabra problem above.
Well, there is Bulbapedia.If anyone gets all the cards graphics, and one internet page saying what each card do, i can make a database and a card battle engine, for Game Maker.
I've not done too much recently. Special conditions are now in (both their effects and the card rotations), I'm working on card fainting (it currently works except for the prize card part which needs prize cards in general to be made functional), and I've made some general tweaks. I'm not actually keeping a list of my changes for this, so I couldn't say specifically what I've done.hows the progress going looking forward to seeing this more complete
the__end provided me with card images, and I had Bulbapedia. You have access to both of those too, so "lack of resources" isn't an excuse. You can start making your thing now.If anyone gets all the cards graphics, and one internet page saying what each card do, i can make a database and a card battle engine, for Game Maker.
If you're talking about playing a card game for actual Pokémon, I've already said that I don't support using the TCG extension alongside the classic game, which means there will be no such thing as actual Pokémon in a TCG game. However, if you mean something like an ante rule, I have no particular desire to add that in. Playing for booster packs is good enough (you can always set a duel to give out 0 booster packs, and/or afterwards give the player a specific card if you want).About the TCG Engine, not sure if you are willing to add this, but you could make tcg battles worth of Pokemons, like if each side(you and your enemy) makes a bet, and the winner gets a Pokemon.