• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokémon TCG mod

Status
Not open for further replies.

Ayutac

Developer who wants your help
157
Posts
12
Years
Sorry again for necroreplying to some points before.

So here is what I get: As a coder and concerning this project, there is no way to help you right now, is there?
 
Last edited:

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
Any comments, observations, ideas and suggestions about any part of the project (existing or not) are welcome. I've never worked on code alongside someone else before, so I don't know exactly what you could do. I'd like some opinions on how well my code works, as well as pointing out if there are any gaps.

If you want to help in a more direct sense, there's the Card Dex and the Card Summary screens to be created, as well as a way to receive booster packs. I imagine the first two to be direct copies of the Pokédex and Pokémon summary screens respectively. All of these would need to be designed via concept art, obviously.
 
423
Posts
13
Years
  • Age 37
  • Seen Aug 31, 2023
i guess the booster pack would depend on what sortta game your planning on but possibly buy them from shops
i dont know how things work fully but in an older version of essentials when i tried to get pokemon in exchange for game corner coins i set up dummy items and once the shop process had finished it would convert the items into pokemon via an event maybe boosters could be the same
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
There'll be no such thing as "buying" in this project. Booster packs can either be free gifts, or rewards for winning duels. Either way, it works the same, as I shall now explain.

I imagined a screen showing the available booster packs (which can either be "all that exist" or "a defined selection of them"), and clicking on a pack will open it and show you what cards you've received. If you're allowed to choose more than 1 booster pack, you then go back to the first screen and choose another pack.

Each booster pack can be finite (you can choose it once and then it disappears from your choices) or infinite (you can choose it as many times as you like). Note that this only applies to a single instance of getting booster packs, and what you choose in one instance has no effect on the next instance (which may well have a different selection of packs to choose from).

I imagine that the "infinite" option would be used either always or never, i.e. not "just some of the time". It would depend on how the user wants their game to work. It only matters in the player can get more than 1 pack at once anyway. Both options have their perks.

Something like this:
61846-yu-gi-oh-the-eternal-duelist-soul-game-boy-advance-screenshot.png

The finite/infinite status of booster packs doesn't need to be shown. A single card set can have multiple booster pack artworks (which are part of the definitions alongside the quantity), in which case each one is defined separately and will appear separately.

This method is done even if you can only choose 1 pack. That pack is still shown first in this screen, which you click on to open.

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?
 
22,952
Posts
19
Years
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?

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.

I'm currently downloading your Alpha right now to give what you've currently got developed a look-over.

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.
 
Last edited:

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
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.
Your knowledge would be very helpful.

Here's a couple of questions to start off with:
  1. 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.
  2. 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?
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.

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:

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
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).


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.
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.
 
22,952
Posts
19
Years
Your knowledge would be very helpful.

Here's a couple of questions to start off with:
  1. 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.
  2. 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?
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.

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.

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.

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.


If possible, could you have a look at the order in which things happen during an attack? It's as follows:

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
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).

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.

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, okay. Makes sense.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
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.
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.


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.
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.


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.
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).

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.
 
423
Posts
13
Years
  • Age 37
  • Seen Aug 31, 2023
wit what TCG had double battles (i only got up2 the 1st movie with promo mewtwo) that makes it sound complicated now
 
22,952
Posts
19
Years
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.

No problem.

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.

Makes sense.

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).

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.

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.
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.


wit what TCG had double battles (i only got up2 the 1st movie with promo mewtwo) that makes it sound complicated now

Double battles were attempted to be implemented sometime around 2006/2007, iirc. It didn't catch on, however.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
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.
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).
 
22
Posts
11
Years
  • Seen Mar 7, 2016
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.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
hows the progress going looking forward to seeing this more complete
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.


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.
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.
 
22
Posts
11
Years
  • Seen Mar 7, 2016
Thanks for the tips, i'll see what i can do. Also good work with Essentials =D

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.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
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.
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).

Oh, I'm always accepting contributions of new premade decks (and deck icons - the ones I bodged together are a bit iffy). Remember that the vast majority of premade decks will belong to enemy trainers only, and will not be accessible to the player, so you can make decks just for Club Masters if you want. Should all (or as many as possible given the card pool) of the decks that appear in the TCG games be included?
 
Status
Not open for further replies.
Back
Top