• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • The Eevee Expo Game Jam has concluded! 🎉 Head on over to the game jam forum to play through the games.
    Don't forget to come back September 21st to vote for your favorites!
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
Changing Trainers

Resource Changing Trainers 1.2.5

Atlat

Trainer
Member
Joined
Jan 8, 2023
Posts
52
Atlat submitted a new resource:

Changing Trainers - Give your trainers' parties more Pokémon flexibility.

This resource was made to make a trainer's party potentially more flexible depending on what's being desired. For example, you might have a trainer you gave two Pokémon slots, but you have three mons you'd like to give to that trainer as you think they fit. Let's say Rattata, Pidgey and Pikachu. Perhaps you can make it so that while slot 2 is always a Pikachu, slot 1 could either be Rattata or Pidgey. Since the randomization is determined on starting the battle, you won't know whether it'll...

Read more about this resource...
 
Could you theoretically make a Trainer where every member of their team can be 3 different options, using this?
 
Could you theoretically make a Trainer where every member of their team can be 3 different options, using this?
Apologies, Eevee Expo continues to be messy to access with me so I didn't see this.

Yes. There isn't a limit.

For example, slot 1 could be Rattata, Pidgey or Pikachu while slot 2 could be, say, Chikorita and slot 3 either Skiploom or Seviper. You could technically even put multiple versions of the same Pokémon with, say, different movesets, items or EV spreads
 
I tried this yesterday and I find it interesting and a very good idea. But in double battles it ruined certain dynamics.

For example, I fought in a double battle with two trainers that had 1 Pokemon each, when defeating one of those Pokemon, the defeated trainer sent a copy of the Pokemon that was still alive, even with the same amount of HP.

It had never happened before. I deleted the script and everything went back to normal. Any ideas?
 
I tried this yesterday and I find it interesting and a very good idea. But in double battles it ruined certain dynamics.

For example, I fought in a double battle with two trainers that had 1 Pokemon each, when defeating one of those Pokemon, the defeated trainer sent a copy of the Pokemon that was still alive, even with the same amount of HP.

It had never happened before. I deleted the script and everything went back to normal. Any ideas?
Honestly, I'm not able to recreate that issue. It could still be on my end potentially, so try out the fix and see if that works.
 
Atlat updated Changing Trainers with a new update entry:

Changing Trainers v1.2

Update to the Changing Trainers plugin with two new attributes:
  • A trainer can now have a team that always randomizes on starting a battle or picks one team and sticks with it on future battles with that specific trainer.
  • You can now make it so all versions of that trainer prioritizes Pokémon (and their evolutions) previously used. This is useful for trainers like rivals who you'll fight throughout your journey.
  • I believe an issue with moves when not give specific ones would...

Read the rest of this update entry...
 
I got an error saying "Expected nil to be one of [Symbol, GameData::TrainerType, String], but got nilClass"
 
I got an error saying "Expected nil to be one of [Symbol, GameData::TrainerType, String], but got nilClass"
I'm going to need more information than that. Clearly a trainer did not get made when it should've, but what trainer, what map are you trying to battle said trainer on, and what's the code around the trainer?
 
I'm going to need more information than that. Clearly a trainer did not get made when it should've, but what trainer, what map are you trying to battle said trainer on, and what's the code around the trainer?
Ruby:
Expand Collapse Copy
***Full script:
changingTrainerBattle.start(:BUGCATCHER, "Consisto")
Backtrace:
Validation:29:in `validate'
GameData:100:in `get'
Trainer:169:in `initialize'
Trainer:187:in `initialize'
[Changing Trainers] [1] Main.rb:95:in `new'
[Changing Trainers] [1] Main.rb:95:in `block in changingTrainerBattle'
[Changing Trainers] [1] Main.rb:91:in `each'
[Changing Trainers] [1] Main.rb:91:in `changingTrainerBattle'
(eval):1:in `execute_script'
Interpreter:138:in `eval'

It's map 007 and I just have the conditional branch script for the trainer
 
Ruby:
Expand Collapse Copy
***Full script:
changingTrainerBattle.start(:BUGCATCHER, "Consisto")
Backtrace:
Validation:29:in `validate'
GameData:100:in `get'
Trainer:169:in `initialize'
Trainer:187:in `initialize'
[Changing Trainers] [1] Main.rb:95:in `new'
[Changing Trainers] [1] Main.rb:95:in `block in changingTrainerBattle'
[Changing Trainers] [1] Main.rb:91:in `each'
[Changing Trainers] [1] Main.rb:91:in `changingTrainerBattle'
(eval):1:in `execute_script'
Interpreter:138:in `eval'

It's map 007 and I just have the conditional branch script for the trainer
ModifiableTrainerData.new(
trainer_type: :BUGCATCHER,
name: "Consisto",
version: 0,
consistent: true,
map_id: 5,
lose_text: "Try me again and again!",
pokemon_count: 2,
pokemon_slots: [
[ModifiablePokemonData.new(species: :CATERPIE, level: 10)],
[ModifiablePokemonData.new(species: :WEEDLE, level: 10)],
[ModifiablePokemonData.new(species: :SPINARAK, level: 10)],
[ModifiablePokemonData.new(species: :LEDYBA, level: 10)],
]
),

You're likely not on the correct map for this trainer. If you look at the code in the plugin, my starting example is on map 5 (mostly because that's a test map on my end and they're going to be changed anyways). That map_id means what map this trainer is being fought on. Try changing it to 7 in this case.
 
Back
Top