• The Eevee Expo Game Jam #10 has concluded, congratulations to all participants! Now it's time for the judges to play through the games, and you can play along to vote who deserves the community choice spotlight.
    You can check out the submitted games here!
    Play through the games and provide some feedback to the devs while you're at it!
  • Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Resource icon

Resource Essentials Deluxe [v20.1] [DEPRECATED] v1.2.8

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
I found something in Essentials Patches, Databoxes.rb there is :
Battler Databoxes:
Expand Collapse Copy
@databoxBitmap&.dispose
    @databoxBitmap = AnimatedBitmap.new(bgFilename)
    if onPlayerSide
      @showHP  = true if sideSize == 1
      @showExp = true if sideSize == 1
      @spriteX = Graphics.width - 244
      @spriteY = Graphics.height - 192
      @spriteBaseX = 34

If i change @spriteBaseX = 34 to 40, i can move the name like i want, but it moves the health and exp bar too, is there a way to move only the name? If its something hard or takes time, just forget it. I don't want to be annoying.
Yeah, I dont really know without doing a bunch of trial & error tests.
 

RegalSword

Pokemon Itinerant Developer
Member
Joined
Feb 13, 2021
Posts
521
Using deluxe battle I set up a wild battle with Galarian Moltres. I manually chose three moves for it by setting up an array like in the instructions, but the fourth move slot was automatically filled with heat wave, which is from Kantonian Moltres' moveset.
 

MrRetro

Veteran Gamer
Member
Joined
Feb 13, 2022
Posts
27
Can you make better compatibility with SOS Call for help plugin?
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Can you make better compatibility with SOS Call for help plugin?
That plugin is just inherently buggy, I dont believe there are any compatibility issues.
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Using deluxe battle I set up a wild battle with Galarian Moltres. I manually chose three moves for it by setting up an array like in the instructions, but the fourth move slot was automatically filled with heat wave, which is from Kantonian Moltres' moveset.
How are you setting up the battle? Are you entering MOLTRES_1 as the opponent, or just MOLTRES and then setting the form after in the Pokemon hash?
 

drdoom76

Cooltrainer
Member
Joined
Aug 1, 2023
Posts
212
Absolutely love this.. Just had one question. I'm trying to change the shiny icon to a different color. I figured out the PC tinkering with the Miscellaneous script, but I can't figure out where to change the party, summary, etc. Is there a place I can put that in the plugin? Thanks in advance.

*Edit: I figured out a way modifying a couple lines of the original UI code, but I'm going to keep this up in case you might have a better idea.
 
Last edited:

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Absolutely love this.. Just had one question. I'm trying to change the shiny icon to a different color. I figured out the PC tinkering with the Miscellaneous script, but I can't figure out where to change the party, summary, etc. Is there a place I can put that in the plugin? Thanks in advance.

*Edit: I figured out a way modifying a couple lines of the original UI code, but I'm going to keep this up in case you might have a better idea.
Im confused...can't you just manually change the color of the shiny png file? Im not really sure why you need to touch any code at all.
 

drdoom76

Cooltrainer
Member
Joined
Aug 1, 2023
Posts
212
Im confused...can't you just manually change the color of the shiny png file? Im not really sure why you need to touch any code at all.
Sorry, I meant a super shiny icon. Instead of the standard red for shiny and the same red for SS I ended up with a blue star for SS so you can tell right away it's special. I wasn't trying to go the route of modifying 1k pngs for SS pokemon so I ended up going the change hue for SS route. I've got it to where it automatically changes the color for SS pokemon and displays a blue star instead of red.
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Sorry, I meant a super shiny icon. Instead of the standard red for shiny and the same red for SS I ended up with a blue star for SS so you can tell right away it's special. I wasn't trying to go the route of modifying 1k pngs for SS pokemon so I ended up going the change hue for SS route. I've got it to where it automatically changes the color for SS pokemon and displays a blue star instead of red.
Oh, well the plugin doesnt touch any UI's other than the PC as far as that is concerned, so editing this directly in the main scripts is fine.
 

drdoom76

Cooltrainer
Member
Joined
Aug 1, 2023
Posts
212
Oh, well the plugin doesnt touch any UI's other than the PC as far as that is concerned, so editing this directly in the main scripts is fine.
Gotcha. That explains why I couldn't find it. Just wasn't sure if there was an easier way, rather than having to modify code in 4 different places.
 

Eften

Novice
Member
Joined
Mar 25, 2022
Posts
22
1. I'm trying to create a battle where wild Pokemon can change their moves according to turns. I used the code below but it doesn't work.
2. Also, I want to ask if there is a way to increase Pokemon's stats directly in Deluxe, instead of increasing them by stage (which can be removed by Haze, etc).

Ruby:
Expand Collapse Copy
WildBattle.dx_start([:TANGROWTH, 25], {
  # Rules
  :noflee => true,
  :nocapture => true
},
{ # Midbattle
  "turnCommand_every_1" => {
    :battler => :Opposing,
    :move => [:ANCIENTPOWER, :KNOCKOFF, :GIGADRAIN, :FOCUSBLAST]
  },
  #-----------------------------------------------------------------------------
  "turnCommand_every_2" => {
    :battler => :Opposing,
    :move => [:SYNTHESIS, :LEECHSEED, :SLEEPPOWDER, :GROWTH]
  }
})
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
1. I'm trying to create a battle where wild Pokemon can change their moves according to turns. I used the code below but it doesn't work.
2. Also, I want to ask if there is a way to increase Pokemon's stats directly in Deluxe, instead of increasing them by stage (which can be removed by Haze, etc).

Ruby:
Expand Collapse Copy
WildBattle.dx_start([:TANGROWTH, 25], {
  # Rules
  :noflee => true,
  :nocapture => true
},
{ # Midbattle
  "turnCommand_every_1" => {
    :battler => :Opposing,
    :move => [:ANCIENTPOWER, :KNOCKOFF, :GIGADRAIN, :FOCUSBLAST]
  },
  #-----------------------------------------------------------------------------
  "turnCommand_every_2" => {
    :battler => :Opposing,
    :move => [:SYNTHESIS, :LEECHSEED, :SLEEPPOWDER, :GROWTH]
  }
})
"_every_1" isn't gonna work. The number that you enter at the end of this trigger is telling this script to run every turn count that is divisible by that turn number. But every number is divisible by 1, so I purposely made it ignore 1 because of this, to avoid some potential infinite loops. It only recognizes 2 or higher.

If your intent is to cycle between two different movesets each turn, just set a "turnEnd_repeat" trigger to reset the opponent's moveset to its default values at the end of every turn. This will produce the same effect.

There's no inherent way to increase a battler's raw stats, but you could easily accomplish this yourself probably by just making your own custom PBEffect which increases a battler's stats by the amount of your choosing, and then using Essentials Deluxe to apply that PBEffect on the opponent. Or, you could just create a new form of Tangrowth that isn't obtainable by the player, but is identical in every way except it's got higher base stats.
 

h20ray

Rookie
Member
Joined
Sep 23, 2017
Posts
2
Hello, I hope you're doing well. I wanted to express my appreciation for your plugin; it's truly impressive. However, I have a specific need for the autobattle function, which is currently not compatible with version 21.1.

I was wondering if you could kindly provide some guidance on how I might implement the autobattle function in version 21.1 while we eagerly await your update. Your assistance would be greatly appreciated. Thank you very much!
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Hello, I hope you're doing well. I wanted to express my appreciation for your plugin; it's truly impressive. However, I have a specific need for the autobattle function, which is currently not compatible with version 21.1.

I was wondering if you could kindly provide some guidance on how I might implement the autobattle function in version 21.1 while we eagerly await your update. Your assistance would be greatly appreciated. Thank you very much!
I haven't even begun seriously updating this yet outside of ideas in my head, so I have no idea atm. I'll figure out how to update the autobattle feature when I get around to updating that specific part.
 

h20ray

Rookie
Member
Joined
Sep 23, 2017
Posts
2
I haven't even begun seriously updating this yet outside of ideas in my head, so I have no idea atm. I'll figure out how to update the autobattle feature when I get around to updating that specific part.

Thank you for the reply ☺️

I appreciate your honesty about the update status. Would it be possible for you to provide some guidelines on how to implement autobattle in vanilla Essentials based on your plugin? It appears that DXBattle is quite complex, making it challenging to identify the specific part related to autobattle.

Alternatively, considering the complexity, perhaps creating a separate plugin for autobattling with wild Pokémon or triggering events could be a future idea. Your insights on this would be greatly valued.
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Thank you for the reply ☺️

I appreciate your honesty about the update status. Would it be possible for you to provide some guidelines on how to implement autobattle in vanilla Essentials based on your plugin? It appears that DXBattle is quite complex, making it challenging to identify the specific part related to autobattle.

Alternatively, considering the complexity, perhaps creating a separate plugin for autobattling with wild Pokémon or triggering events could be a future idea. Your insights on this would be greatly valued.
Like I said, I don't know because I haven't gotten to those specific features yet. I'm still just in the general planning stages on how I even want to format the plugin, or if I even want to keep certain features or not. Like you said, the plugin is quite complex, so I don't have any strong recollection of how each specific feature is implemented off the top of my head, much less how you would extract a single feature like that into it's own v21 plugin. That's the type of minutia I'll get into down the road after I get the basics figured out.
 

OkunoShio

Cooltrainer
Member
Joined
Oct 22, 2022
Posts
128
Hey! Yesterday I tried setting up a wild battle with the :nocapture, :setcapture and :raidcapture rules, however - for the life of me I could not get it to work to give me a guaranteed capture at the end of the encounter. My goal is to have an encounter that you cannot catch until you beat it, and then give you a guaranteed capture at the end, utilizing the :raidcapture rule.

:nocapture worked with no issues, however neither ":setcapture => true" nor ":raidcapture => [nil, nil, 100]", nor the combination of both (which should not be necessary since :raidcapture should overwrite the :setcapture setting) gave me the guaranteed capture. I dove into the scripts a bit and could not see any issue and am therefore left clueless. I know you are not working on v20.1 anymore, but maybe you can give me some direction on where the issue could come from? Maybe another plugin is interfering with the correct execution of the :raidcapture rule?
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Hey! Yesterday I tried setting up a wild battle with the :nocapture, :setcapture and :raidcapture rules, however - for the life of me I could not get it to work to give me a guaranteed capture at the end of the encounter. My goal is to have an encounter that you cannot catch until you beat it, and then give you a guaranteed capture at the end, utilizing the :raidcapture rule.

:nocapture worked with no issues, however neither ":setcapture => true" nor ":raidcapture => [nil, nil, 100]", nor the combination of both (which should not be necessary since :raidcapture should overwrite the :setcapture setting) gave me the guaranteed capture. I dove into the scripts a bit and could not see any issue and am therefore left clueless. I know you are not working on v20.1 anymore, but maybe you can give me some direction on where the issue could come from? Maybe another plugin is interfering with the correct execution of the :raidcapture rule?
What's your battle script look like?
 

OkunoShio

Cooltrainer
Member
Joined
Oct 22, 2022
Posts
128
Here is one example of a more complex battle script, however I tried it for multiple different ones and it never seemed to work, also not when I added ":setcapture => true". You think it might have something to do with a certain part of the Mid Battle Script itself that interferes with the Rules?

Ruby:
Expand Collapse Copy
def ZamazentaBattle
 
WildBattle.dx_start([:ZAMAZENTA,$game_variables[26]], {
#Rules
  :noflee => true,
  :nocapture => true,
  :raidcapture => [nil, "RaidCapture", 100]
},
{
#Pokemon
  :moves =>[:IRONHEAD,:BODYPRESS,:SUBSTITUTE,:CRUNCH],
  :shiny => $game_switches[31],
  :item => :RUSTEDSHIELD,
  :ability => :MIRRORARMOR,
  :nature => :JOLLY,
  :evs => [0,252,0,252,4,0],
  :ivs => 25
},
{
#Mid Battle Script
"turnCommand_1" => {
  :battler => :Opposing,
  :text => ["{1} is empowered by the ancient shield!"],
  :stats => [:DEFENSE, 6, :SPECIAL_DEFENSE, 6],
  :setchoice => "reaction",
  :text_1 => ["Zamazenta is hesitating to attack - how do you react?", ["Hide","Curl in","Throw stone","Bulk up"]]
},
"choice_reaction_1" => {
  :text => ["You hide behind a nearby statue!"],
  :stats => [:EVASION, 2]
},
"choice_reaction_2" => {
  :text => ["{1} curls in to prepare for an attack!"],
  :stats => [:DEFENSE, 2]
},
"choice_reaction_3" => {
  :text => ["You throw a stone at Zamazenta!"],
  :animation => :ROCKTHROW,
  :setvariable => 1
},
"choice_reaction_4" => {
  :text => ["{1} bulks up to strenghten its own attacks!"],
  :stats => [:ATTACK, 2, :SPECIAL_ATTACK, 2]
},
"variable_1_repeat" => {
  :battler => :Opposing,
  :status => :PARALYSIS,
  :setvariable => [:mult, 0]
},
"turnCommand_3" => {
  :battler => :Opposing,
  :setchoice => "reaction2",
  :text_1 => ["Zamazenta is exhausted and takes a break - how do you react?", ["Hide","Curl in","Throw stone","Bulk up"]]
},
"choice_reaction2_1" => {
  :text => ["You hide behind a nearby statue!"],
  :stats => [:EVASION, 2]
},
"choice_reaction2_2" => {
  :text => ["{1} curls in to prepare for an attack!"],
  :stats => [:DEFENSE, 2]
},
"choice_reaction2_3" => {
  :text => ["You throw a stone at Zamazenta!"],
  :animation => :ROCKTHROW,
  :setvariable => 1
},
"choice_reaction2_4" => {
  :text => ["{1} bulks up to strenghten its own attacks!"],
  :stats => [:ATTACK, 2, :SPECIAL_ATTACK, 2]
},
"attackerDamaged_foe_repeat" => {
  :battler => :Self,
  :text => ["Zamazenta restores some HP from the attack!"],
  :hp => 4
},
"defenderDamaged_foe_repeat" => {
  :battler => :Self,
  :text => ["{1}'s shield gets damaged!"],
  :stats => [:DEFENSE, -1, :SPECIAL_DEFENSE, -1]
},
"turnCommand_every_4" => {
  :battler => :Opposing,
  :text => ["{1} removes all stat raises from your side!"],
  :battler_1 => :Self,
  :animation => :CLEARSMOG,
  :stats => :Reset_Raised,
  :battler_2 => :Opposing,
  :text_1 => ["{1} removes all stat reductions from itself!"],
  :animation_1 => :HAZE,
  :stats_1 => :Reset_Lowered
},
"turnCommand_repeat" => {
  :battler => :Opposing,
  :ability => [:MIRRORARMOR, true],
},
"moveHAZE_repeat" => {
  :battler => :Opposing,
  :text => ["{1} creates White Smoke to protect itself from Haze!"],
  :ability => [:WHITESMOKE, true]
},
"defenderSEdmg_foe_repeat" => {
  :battler => :Self,
  :text => ["{1} is getting angry after being hit super effective!"],
  :stats => [:ATTACK, 2]
}

})
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Here is one example of a more complex battle script, however I tried it for multiple different ones and it never seemed to work, also not when I added ":setcapture => true". You think it might have something to do with a certain part of the Mid Battle Script itself that interferes with the Rules?

Ruby:
Expand Collapse Copy
def ZamazentaBattle
 
WildBattle.dx_start([:ZAMAZENTA,$game_variables[26]], {
#Rules
  :noflee => true,
  :nocapture => true,
  :raidcapture => [nil, "RaidCapture", 100]
},
{
#Pokemon
  :moves =>[:IRONHEAD,:BODYPRESS,:SUBSTITUTE,:CRUNCH],
  :shiny => $game_switches[31],
  :item => :RUSTEDSHIELD,
  :ability => :MIRRORARMOR,
  :nature => :JOLLY,
  :evs => [0,252,0,252,4,0],
  :ivs => 25
},
{
#Mid Battle Script
"turnCommand_1" => {
  :battler => :Opposing,
  :text => ["{1} is empowered by the ancient shield!"],
  :stats => [:DEFENSE, 6, :SPECIAL_DEFENSE, 6],
  :setchoice => "reaction",
  :text_1 => ["Zamazenta is hesitating to attack - how do you react?", ["Hide","Curl in","Throw stone","Bulk up"]]
},
"choice_reaction_1" => {
  :text => ["You hide behind a nearby statue!"],
  :stats => [:EVASION, 2]
},
"choice_reaction_2" => {
  :text => ["{1} curls in to prepare for an attack!"],
  :stats => [:DEFENSE, 2]
},
"choice_reaction_3" => {
  :text => ["You throw a stone at Zamazenta!"],
  :animation => :ROCKTHROW,
  :setvariable => 1
},
"choice_reaction_4" => {
  :text => ["{1} bulks up to strenghten its own attacks!"],
  :stats => [:ATTACK, 2, :SPECIAL_ATTACK, 2]
},
"variable_1_repeat" => {
  :battler => :Opposing,
  :status => :PARALYSIS,
  :setvariable => [:mult, 0]
},
"turnCommand_3" => {
  :battler => :Opposing,
  :setchoice => "reaction2",
  :text_1 => ["Zamazenta is exhausted and takes a break - how do you react?", ["Hide","Curl in","Throw stone","Bulk up"]]
},
"choice_reaction2_1" => {
  :text => ["You hide behind a nearby statue!"],
  :stats => [:EVASION, 2]
},
"choice_reaction2_2" => {
  :text => ["{1} curls in to prepare for an attack!"],
  :stats => [:DEFENSE, 2]
},
"choice_reaction2_3" => {
  :text => ["You throw a stone at Zamazenta!"],
  :animation => :ROCKTHROW,
  :setvariable => 1
},
"choice_reaction2_4" => {
  :text => ["{1} bulks up to strenghten its own attacks!"],
  :stats => [:ATTACK, 2, :SPECIAL_ATTACK, 2]
},
"attackerDamaged_foe_repeat" => {
  :battler => :Self,
  :text => ["Zamazenta restores some HP from the attack!"],
  :hp => 4
},
"defenderDamaged_foe_repeat" => {
  :battler => :Self,
  :text => ["{1}'s shield gets damaged!"],
  :stats => [:DEFENSE, -1, :SPECIAL_DEFENSE, -1]
},
"turnCommand_every_4" => {
  :battler => :Opposing,
  :text => ["{1} removes all stat raises from your side!"],
  :battler_1 => :Self,
  :animation => :CLEARSMOG,
  :stats => :Reset_Raised,
  :battler_2 => :Opposing,
  :text_1 => ["{1} removes all stat reductions from itself!"],
  :animation_1 => :HAZE,
  :stats_1 => :Reset_Lowered
},
"turnCommand_repeat" => {
  :battler => :Opposing,
  :ability => [:MIRRORARMOR, true],
},
"moveHAZE_repeat" => {
  :battler => :Opposing,
  :text => ["{1} creates White Smoke to protect itself from Haze!"],
  :ability => [:WHITESMOKE, true]
},
"defenderSEdmg_foe_repeat" => {
  :battler => :Self,
  :text => ["{1} is getting angry after being hit super effective!"],
  :stats => [:ATTACK, 2]
}

})
Well, the code seems solid.

So, what's actually happening during the capture sequence? You are prompted to capture the Pokemon upon defeating it via the raid capture rule, and when you select capture the Pokemon just escapes and flees?

And you've tried this with the following rules?
Code:
Expand Collapse Copy
:setcapture => true,
:raidcapture => [nil]
Frankly, I just straight up don't remember how any of the code is set up, or why, but I'm more confident in :setcapture working than I am with entering the capture chance in the :raidcapture array, as the former has been part of the plugin since nearly the beginning, while the latter was added in one of the more recent updates.

Also, have you tried testing to see if Master Balls work? If even those fail, then we know it's definitely a coding conflict that is overriding the capture chance entirely.
 
Back
Top