• 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!
Terastallization [DBK Add-On] [v21.1]

Resource Terastallization [DBK Add-On] [v21.1] v1.1.5

Did you read through the tutorials? https://lucidious89-tutorials.gitbo...utorials/terastallization/terastal-tera-types



There's likely a midbattle script command you can use (again, reading through the DBK tutorials will likely reveal a way to do that) to change a Pokemon's tera type this way.
Wait no, this isn't what I'm looking for. According to the text, this is used to define the tera type before creating the object (Pokemon), not through the mid-battle script.
 
Wait no, this isn't what I'm looking for. According to the text, this is used to define the tera type before creating the object (Pokemon), not through the mid-battle script.
If you can call scripts in mid-battle scripts, you can use this same thing. It's just editing a Pokemon object.

So, if you have access to editing the battler, you can do battler.pokemon.tera_type = :FIRE for example.
 
If you can call scripts in mid-battle scripts, you can use this same thing. It's just editing a Pokemon object.

So, if you have access to editing the battler, you can do battler.pokemon.tera_type = :FIRE for example.
Ok, but how do I call a script with the mid-battle script? Does it need hardcoding?
 
That I don't know, you'd have to read the guides to see if it talks about that option, or someone else will have to confirm/deny. I'd be surprised if there wasn't a way to run code as part of dbk
 
Guess I'll wait to Lucidious because there's no hint about change the tera type with mid-battle script (or I'm TOO blind)
 
Guess I'll wait to Lucidious because there's no hint about change the tera type with mid-battle script (or I'm TOO blind)
I think you're too caught up on the specifics of "change tera type". You should be looking for a way to run any script/code snippet using DBK mid-battle scripts, and then you run the thing I've pointed out to you.

Looking at the guides myself (I don't use DBK yet so I haven't done so before), you can add your own command to do this for you. This might work, but I haven't tested since I don't use DBK. You add this code somewhere (maybe within the Terastallization plugin folder, copy one of the existing .rb files there, paste it in that same folder, rename it something like [999] Custom Triggers, then open that file and clear out everything so it's an empty document; then add this code in that file).
Ruby:
Expand Collapse Copy
MidbattleHandlers.add(:midbattle_triggers, "battlerTeraType",
  proc { |battle, idxBattler, idxTarget, params|
    battler = battle.battlers[idxBattler]
    next if !battler || battler.fainted? || battle.decision > 0
    if !nil_or_empty?(params) && params.is_a?(Symbol)
      next if !GameData::Type.exists?(params)
      battler.pokemon.tera_type = params
      typeName = GameData::Type.get(params).name
      PBDebug.log("     'battlerTeraType': #{battler.name} (#{battler.index}) tera typing became #{typeName}")
    end
  }
)

You then use "battlerTeraType" => Symbol as the command, just like you would any other command.
 
Last edited:
Hi, I have a display issue that's proving difficult to work with. When in battle, Tera Blast only displays as a Normal-type attack, uses the default Normal-type animation, but it will use the Tera type for damage calculation. Is there something I might be doing wrong? I have added custom types, but I've tried setting Tera Blast to be one of my custom types by default and it displayed completely fine, it's just unable to update to a Terastalized pokemon's Tera type. (Other type-changing moves like Morpeko's Aura Wheel display correctly)
 
Hi, I have a display issue that's proving difficult to work with. When in battle, Tera Blast only displays as a Normal-type attack, uses the default Normal-type animation, but it will use the Tera type for damage calculation. Is there something I might be doing wrong? I have added custom types, but I've tried setting Tera Blast to be one of my custom types by default and it displayed completely fine, it's just unable to update to a Terastalized pokemon's Tera type. (Other type-changing moves like Morpeko's Aura Wheel display correctly)
The plugin doesnt include any move animations for Tera Blast, so that's why it will always use the same animation regardless of type. That's up to you to add if you want to. The plugin includes support for multiple animations per type, but it doesnt include any of those animations itself.

Also, the only move in base Essentials that updates its display type is Aura Wheel. No other move that changes type (Weather Ball, Terrain Pulse, etc) does this. So I didnt include this feature for Tera Blast/Starstorm either, to make it consistent.

I could add this display type feature in an update if you want, but then the UI will break whenever these moves are Stellar-type, since no move button sprite exists for the Stellar type. I could include the sprites for these, but then this would overwrite all of the move type buttons, since all of them are contained in the same image. And that would be a pain for people with custom graphics/UI's.

This is kinda why I didnt include this feature from the start. Again, I could, and maybe I will, but no matter which way I do it, it will be a pain. I can choose to either not include the Stellar-type button sprites, in which case ill have to constantly answer yet another repetitive question of "why does my Tera Blast button look weird?", or I do include the Stellar-type button sprites, in which case ill have to bend over backwards warning people that installing this plugin/update risks overwriting their custom UI's. People will inevitably not read, and then complain about how this plugin broke their UI.

It seems like such a small and obvious feature to include, but this is why I never bothered to include it. It seems easier to just let people add it in for themselves. Or, use my Enhanced Battle UI plugin, which does display the updated move types when viewing move data.
 
The plugin doesnt include any move animations for Tera Blast, so that's why it will always use the same animation regardless of type. That's up to you to add if you want to. The plugin includes support for multiple animations per type, but it doesnt include any of those animations itself.

Also, the only move in base Essentials that updates its display type is Aura Wheel. No other move that changes type (Weather Ball, Terrain Pulse, etc) does this. So I didnt include this feature for Tera Blast/Starstorm either, to make it consistent.

I could add this display type feature in an update if you want, but then the UI will break whenever these moves are Stellar-type, since no move button sprite exists for the Stellar type. I could include the sprites for these, but then this would overwrite all of the move type buttons, since all of them are contained in the same image. And that would be a pain for people with custom graphics/UI's.

This is kinda why I didnt include this feature from the start. Again, I could, and maybe I will, but no matter which way I do it, it will be a pain. I can choose to either not include the Stellar-type button sprites, in which case ill have to constantly answer yet another repetitive question of "why does my Tera Blast button look weird?", or I do include the Stellar-type button sprites, in which case ill have to bend over backwards warning people that installing this plugin/update risks overwriting their custom UI's. People will inevitably not read, and then complain about how this plugin broke their UI.

It seems like such a small and obvious feature to include, but this is why I never bothered to include it. It seems easier to just let people add it in for themselves. Or, use my Enhanced Battle UI plugin, which does display the updated move types when viewing move data.
Ah, that's fair! I am using Enhanced Battle UI, which displays all my new type data correctly when I check the move data with the S key, so no problems there!
I think I've got an idea to work around it (my Tera edit was basically using a new set of types, so I might just make moves of those types and forgo Tera Blast's type changing stuff). Thanks for the quick response! :)

Update: I've made some further additions and it was the right way to go, I'm forgoing Tera Blast using the Tera Type as a check to give new moves special effects if they match the Tera Type! Thanks for coding all these awesome plugins! 😁
 
Last edited:
Lucidious89 updated Terastallization [DBK Add-On] [v21.1] with a new update entry:

v1.1.5 Update

  • When the player triggers Terastallization while wearing an outfit, the animation will now properly display the trainer's current outfit during the animation.
  • Added the "battlerTeraType" midbattle command. This allows you to alter a battler's Tera type mid-battle.
  • The rainbow burst animation that plays before using a Tera-boosted damaging move will no longer play during the charging turn of a two-turn attack.
  • The code used for the moves Tera Blast and Tera...

Read the rest of this update entry...
 
Got a silly question, since I'm still tinkering with a modified Terastallization as a base to make a new mechanic:

Is there a way I can alter which types a Tera Type boosts, like something I can change in the script's code? For example, I've made a new type we'll call Red. I'm hoping to make Red type boost both Fire and Dragon attacks when a Pokemon terastallizes into it, as opposed to only boosting one type. I tried to play with Stellar type's coding, but didn't find success (the new types like Red would just boost all types like Stellar, instead of the types I tried to limit it to)

Example: Charizard is Fire/Flying
It terastalises into Red-type, it's now pure Red
I don't have Red-type moves, but I'm aiming to (in this scenario) have both Fire and Dragon moves now act like they're both being tera-type boosted, without touching other types. Is this something I could do with the current Terastallization script, or would I need to build something a bit more custom?

UPDATE: I'm getting closer!

In the script [007] Battle_Battler, in def typeTeraBoosted?, I added this code:
when :RED
return type == :FIRE

and it'll recognise terastallizing to Red-type as boosting Fire-type moves! Though I'm still not sure how or if I can make 'return type' accept more than one value.
 
Last edited:
UPDATE: I'm getting closer!

In the script [007] Battle_Battler, in def typeTeraBoosted?, I added this code:
when :RED
return type == :FIRE

and it'll recognise terastallizing to Red-type as boosting Fire-type moves! Though I'm still not sure how or if I can make 'return type' accept more than one vavalue.
Of course you can, this is how the Stellar type already works. It just returns true if type is any of the types included in an array. So just do the same thing, except specifically for an array of the three relevant types you care about.
 
Of course you can, this is how the Stellar type already works. It just returns true if type is any of the types included in an array. So just do the same thing, except specifically for an array of the three relevant types you care about.
I know I sound braindead, but I just can't seem to get 'type' to notice any array, it only seems to take the first value (and in some cases just won't take any and will just behave like Stellar boosting all types)
 
I know I sound braindead, but I just can't seem to get 'type' to notice any array, it only seems to take the first value (and in some cases just won't take any and will just behave like Stellar boosting all types)
Huh? That doesn't even make any sense how it would be doing that.

Literally just copy the Stellar return line. Except instead of checking if type is included in that convoluted Battle property array, just plug in your own array of the types you care about.

Like [:FIRE, :DRAGON, :RED].include?(type) or whatever it is you need to check for.
 
Huh? That doesn't even make any sense how it would be doing that.

Literally just copy the Stellar return line. Except instead of checking if type is included in that convoluted Battle property array, just plug in your own array of the types you care about.

Like [:FIRE, :DRAGON, :RED].include?(type) or whatever it is you need to check for.
OH THANK YOU SO MUCH!!!!!

I was putting the types on the wrong side. Replacing 'return @battle.boosted_tera_types[side][owner].include?(type)' with 'return [:FIRE, :DRAGON, :RED].include?(type)' is doing what I wanted, now only the relevant types are being boosted. Thanks so much!
 
Hello, I have a report for today!
"BattlerReachedHPCap" works well when we're talking about movement damage, but when we reduce health with negative effects or weather effects, this isn't counted...
 
Hello, I have a report for today!
"BattlerReachedHPCap" works well when we're talking about movement damage, but when we reduce health with negative effects or weather effects, this isn't counted...
That's not a bug. The guide even explains that this is how it works.
 
Back
Top