By default, all Pokemon in an NPC Trainer's party would be capable of being Dynamaxed if that Trainer has a Dynamax Band. Players with NPC Editors would have the ability to open the party of the NPC and basically put a lock on certain Pokemon so that those Pokemon cannot be Dynamaxed. This can be done to any number of Pokemon in the NPC's party.
I'm not sure how Dynamaxing is incorporated in the AI, but based on my observations it looks as though the game decides to Dynamax before using a move if they haven't Dynamaxed already. If that is the case, this feature would cause the game to check whether the Pokemon is blacklisted from Dynamaxing in that Trainer's party before trying to Dynamax it. So instead of the first Pokemon that tries to use a move being the one that Dynamaxes, the first Pokemon allowed to Dynamax that tries to use a move will be the one that Dynamaxes.
Here are some of the uses of this feature:
- Currently, NPC Trainers always Dynamax as soon as possible. They either Dynamax the lead or switch to the Pokemon they want to Dynamax. However, leads are often chosen to set hazards or use particular status moves like Substitute, Baton Pass, Taunt, Aurora Veil, Reflect, or Light Screen. Dynamaxing these Pokemon is often a terrible idea. They will usually spam Max Guard three times, which may result in them getting defeated if Max Guard fails and result in them not getting to do what they were assigned as the lead to do. Plus, this results in the Trainer not getting to Dynamax a better Pokemon. With this feature, you would be able to blacklist the lead Pokemon from Dynamaxing so Dynamax isn't wasted and the lead can do what they were set as the lead to do.
- Following up on the previous point, sometimes a Pokemon in the NPC Trainer's party doesn't have a good movepool for Dynamax. For example, one of the Trainers in the Tower of Darkness has an Overqwil who knows Spikes, Rest, Barb Barrage, and Aqua Tail. Spikes and Rest would just result in Max Guard, Barb Barrage would result in a weaker Max Move in Max Ooze that raises a stat Overqwil doesn't use, and Aqua Tail turns into Max Geyser, which is fine for Overqwil but harms four other Pokemon in that team because they use Fire moves and don't have Water moves (Arcanine would particularly hate it). Overqwil isn't built offensively anyway. There is unfortunately nothing keeping the Trainer from sending out Overqwil and Dynamaxing it. Also, Pokemon with stall movesets or only status moves might not be suited for Dynamax either. With this feature, Overqwil, as well as any other Pokemon you don't want the game to Dynamax, can be prevented from Dynamaxing.
- If you are testing an NPC Trainer you made and observe that the game makes stupid decisions involving Dynamax for some of the Pokemon like simply using Max Guard three times or Dynamaxing a Pokemon too weak to effectively use Dynamax, then you can just disable Dynamax for the affected Pokemon.
- Maybe you want that Trainer to always Dynamax a particular Pokemon. In the main games, Trainers usually had a set Pokemon that they would Dynamax, usually their "ace" and/or a Pokemon with a Gigantamax Form. For example, the Gym Leader Kabu will always Gigantamax his Centiskorch; he will never Dynamax his Ninetales or Arcanine. With this feature, you can make one particular Pokemon, such as one with a Gigantamax form, always be the Pokemon that the NPC Trainer Dynamaxes by blacklisting all the other Pokemon in the Trainer's party from Dynamaxing.
For example, say I make an NPC with a Dynamax Band whose team is made up of Smeargle, Reshiram, Kommo-o, Umbreon, Aegislash, and Gengar. Smeargle's just got status moves, Umbreon's stall moveset isn't good for Dynamaxing since it just gets Max Guard and a Max Darkness that comes off a base 65 Attack and decreases the wrong stat, and Dynamaxing Aegislash keeps it from strategically returning to Shield form when it needs to. However, Reshiram, Kommo-o, and Gengar ended up with movesets that would work well for Dynamaxing. With this feature, I would be able to open the NPC's party and disable Dynamaxing for that Trainer's Smeargle, Umbreon, and Aegislash. Therefore, that Trainer would only Dynamax if the active Pokemon is Reshiram, Kommo-o, or Gengar.
This probably isn't necessary for Gen 7 mechanics because you can just give Pokemon you don't want using those mechanics a different item. However, I imagine a similar feature for Terastallization would also be useful once that mechanic gets incorporated.