• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • It's time to vote for your favorite Pokémon Battle Revolution protagonist in our new weekly protagonist poll! Click here to cast your vote and let us know which PBR protagonist you like most.
  • 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.

Project: Generation 6 for Pokémon Essentials (Pokémon sprites and PBS files)

Can I claim adding all the megastones and their graphics?
 
Alright. Is there anything else text file related I can work on? That's the only thing I could find for a non-scripter like myself.
 
If I'm right Kings Shield is not claimed yet.
Would like to do that since it's kinda needed for Stance Change.
 
Alright. Is there anything else text file related I can work on? That's the only thing I could find for a non-scripter like myself.
I'm a little tired of hearing "I can't script" and then it being used as an excuse to not to ANYTHING even REMOTELY related to how something works.

You can always figure out the mechanics of something, through playtesting. For example, figuring out exactly what Flying Press does and what effects affect it (e.g. Sharp Beak). I think that's a poor example because I imagine its mechanics are understood already, but you get the idea. Imagine a scenario in which you're not sure how a particular move/effect will work, and test it. One example, although not a Gen 6 move, is Future Sight - are there items/abilities/effects which affect it? If used against a Dark Pokémon, does it fail immediately because of type immunity or does it wait until the 2 turns later to check? What if the target and/or user are switched out? Which stats are used, and when are they checked?

Research is always useful.
 
Btw. as a little thing about the Inkay evolution.
In Windows you can rotate your Screen. (CTRL+Alt+[Arrow Key])
This can also be checked in the registry.
Code:
[HKEY_LOCAL_MACHINE\System\GDI\Rotation]     "Angle"=dword:B4
B4 means rotated by 180 degrees.

No Idea how that would be possible on Mac. But just as Information.

Btw. Would volunteer for Parental Bond (I am pretty much done with King's Shield | And thinking about a way how to get all the Stance Change Exceptions [Ability can't be mummied/copied/swapped etc.] easily.)
 
Btw. as a little thing about the Inkay evolution.
In Windows you can rotate your Screen. (CTRL+Alt+[Arrow Key])
This can also be checked in the registry.
Code:
[HKEY_LOCAL_MACHINE\System\GDI\Rotation]     "Angle"=dword:B4
B4 means rotated by 180 degrees.

No Idea how that would be possible on Mac. But just as Information.

Btw. Would volunteer for Parental Bond (I am pretty much done with King's Shield | And thinking about a way how to get all the Stance Change Exceptions [Ability can't be mummied/copied/swapped etc.] easily.)

Parental Bond has been mostly done:
https://www.pokecommunity.com/posts/8190070/

The only thing to fix is making the second hit do 1/2 damage.
 
Parental Bond has been mostly done:
[Insert Link here - I can't quote it]

The only thing to fix is making the second hit do 1/2 damage.

Ah okay my bad. Wasn't in the Claim Sheet though.
But I can maybe take care of that 1/2 damage.

Edit: Did it with less Code. But I couldn't find that it should Strike a second time even if the enemy would be dead already. So I left that out.

This is v13 Code I was told. (this is not finished and is only supposed to be an example)
PokeBattle_Battler
Code:
elsif thismove.pbIsMultiHit [COLOR=Red]|| isConst?(user.ability,PBAbilities,:PARENTALBOND) && thismove.basedamage > 0[/COLOR]
    [COLOR=Red]numhits = 2 if isConst?(user.ability,PBAbilities,:PARENTALBOND)[/COLOR] [COLOR=Red]&& numhits == 1[/COLOR]
    pbProcessMultiHitMove(thismove,user,target,numhits)
else
Code:
def pbProcessMultiHitMove(thismove,user,target,numhits)
    # Includes Triple Kick
    realnumhits=0
    for i in 0...numhits
      if !pbSuccessCheck(thismove,user,target,i==0 || thismove.function==0xBF) # Triple Kick
        target.effects[PBEffects::Conversion2Move]=-1
        target.effects[PBEffects::Conversion2Type]=0
        if thismove.function==0xBF && i>0 # Triple Kick
          break # considered a success if Triple Kick hits at least once
        else
          return
        end
      end
      realnumhits+=1
      [COLOR=Red]$ChildHit = true if isConst?(user.ability,PBAbilities,:PARENTALBOND) && i == 1[/COLOR] [COLOR=Red]&& realnumhits == numhits[/COLOR]
PokeBattle_Move
Code:
    if isConst?(attacker.ability,PBAbilities,:TECHNICIAN) && basedmg<=60
      basedmg=(basedmg*1.5).floor
    end
    if isConst?(opponent.ability,PBAbilities,:MARVELSCALE) && opponent.status>0
      defense=(defense*1.5).floor
    end
    if (isConst?(opponent.type1,PBTypes,:ROCK) ||
       isConst?(opponent.type2,PBTypes,:ROCK)) &&
       @battle.pbWeather==PBWeather::SANDSTORM
      spdef=(spdef*1.5).floor
    end
    if isConst?(opponent.item,PBItems,:EVIOLITE)
      evos=pbGetEvolvedFormData(opponent.species)
      if evos && evos.length>0
        defense=(defense*1.5).floor
        spdef=(spdef*1.5).floor
      end
    end
[COLOR=Red]    if $ChildHit=true   
      basedmg=(basedmg*0.5).floor
      $ChildHit=nil
    end[/COLOR]

mej71 is looking over my code stuffs.
 
Last edited:
Have you seen the specifics of how Parental Bond works? It's way complicated, and there's a lot of basic stuff in the engine that would need to be altered to make it work properly. For example, there's currently no distinction between effects that occur after each hit and effects that occur after all hits, but Pluck/SmellingSalt occur after all of them while Power-Up Punch and the like occur per hit. Present only hits once if it heals the first time, and definitely done damage the second time if it hurts the first time (I don't know if it's the same amount of damage, or just "not heal"). And so on.

Your code is definitely inadequate.

EDIT: Might it be an idea for a project to come up with a battle system flow chart? It would include every move/item/ability/weather/whatever effect and when they occur and what they do. It'd be helpful for future development of Essentials, as it would provide a bunch of useful information all in one place and allow many people to peer review it.
 
Last edited:
I'm a little tired of hearing "I can't script" and then it being used as an excuse to not to ANYTHING even REMOTELY related to how something works.

You can always figure out the mechanics of something, through playtesting. For example, figuring out exactly what Flying Press does and what effects affect it (e.g. Sharp Beak). I think that's a poor example because I imagine its mechanics are understood already, but you get the idea. Imagine a scenario in which you're not sure how a particular move/effect will work, and test it. One example, although not a Gen 6 move, is Future Sight - are there items/abilities/effects which affect it? If used against a Dark Pokémon, does it fail immediately because of type immunity or does it wait until the 2 turns later to check? What if the target and/or user are switched out? Which stats are used, and when are they checked?

Research is always useful.

What I meant was that I'm not proficient in RGSS. I know some basic stuff, but not enough to code entire moves. Sure, I can try it, but I don't think it'll turn out fine.
 
Have you seen the specifics of how Parental Bond works? It's way complicated, and there's a lot of basic stuff in the engine that would need to be altered to make it work properly. For example, there's currently no distinction between effects that occur after each hit and effects that occur after all hits, but Pluck/SmellingSalt occur after all of them while Power-Up Punch and the like occur per hit. Present only hits once if it heals the first time, and definitely done damage the second time if it hurts the first time (I don't know if it's the same amount of damage, or just "not heal"). And so on.

Your code is definitely inadequate.

EDIT: Might it be an idea for a project to come up with a battle system flow chart? It would include every move/item/ability/weather/whatever effect and when they occur and what they do. It'd be helpful for future development of Essentials, as it would provide a bunch of useful information all in one place and allow many people to peer review it.

I know the Code is not done yet. mej and I are still working on it.
What I posted was just a rework of the given Link that said (Parental Bond is prettx much done) and added the half damage on the second hit.

We are currently working on getting all those exceptions done. (As far as we can find Information about them)
 
Have you seen the specifics of how Parental Bond works? It's way complicated, and there's a lot of basic stuff in the engine that would need to be altered to make it work properly. For example, there's currently no distinction between effects that occur after each hit and effects that occur after all hits, but Pluck/SmellingSalt occur after all of them while Power-Up Punch and the like occur per hit. Present only hits once if it heals the first time, and definitely done damage the second time if it hurts the first time (I don't know if it's the same amount of damage, or just "not heal"). And so on.

I think that fact is an indicator that certain move effects (like Dragon Tail, Pluck, etc) need to be coded in as battler effects instead, and testing those effects can be used later in the code instead of right after the move is used. For instance, Dragon Tail would be be set as true when moved, but the switching out effect would not be tested until towards the end of pbProcessMoveAgainstTarget. It seems like Parental Bond serves as a good indicator of where this distinction in move effects should lie.

To be more clear, I think the Parental Bond code (how I have it, currently) serves it's purpose, but rather than changing it's code, it shows that the things that need to be changed are just how some of the moves and effects function around it.
 
I was working on Unburden

PokeBattle_Battler
Code:
#in pbInitEffects 
@effects[PBEffects::ItemLost] = (self.item != 0) ? 1 : 0
#if else statement necessary to fix not activating if item was lost on same turn as switch in.
Code:
#in pbSpeed 
#I put this before the Unburden Ability (should maybe be moved) 
@effects[PBEffects::ItemLost] = 1 if self.item != 0 && @effects[PBEffects::ItemLost] != 2
@effects[PBEffects::ItemLost] = 2 if self.item == 0 && @effects[PBEffects::ItemLost] == 1
Code:
#in pbSpeed
if self.hasWorkingAbility(:UNBURDEN) && @effects[PBEffects::ItemLost] == 2 
  speed=(speed*2).floor 
end
Let me know what you think and where I should move the Item check to. (It probably needs to be moved into the Move section because right now it wouldn't set the effect to 2 if you get an item and lose it in the same round.)
I made the Item check because I didn't want to edit every single move/ability/item use just for Unburden.
I also thought it might be useful for something later on.
(If there is something that does this already. let me know)

Also.. why is the move claim empty and why does it include moves that are in the game already?
 
Last edited:
I was playing OR when I remembered something : in gen 6 games your pokémons earn XP when you catch a wild pokémon. Maybe it should be included in PE too, with a setting for enabling or disabling it (like the exp reward with the gen 5 mechanism which can be enabled in the settings).
 
Along with that, something else that should be added is when a trainer asks for a trade, instead of opening your party, it opens your PC and lets you choose from any pokemon in your party or PC

=====
Edit
=====

Here are all the Mega Stones added to the item file
Spoiler:


They are after the 3 new items added in by the project.
They are in order as they show up in the bag slot in-game (which is not in alphabetical order for some reason)
Everything is as it should be, except that Aerodactyl has too long a name to fit in the description, so instead of saying:
"...and this stone will enable it..."
it reads
"...and the stone will enable it..."

Finally, here are all the Mega Stones x2 sized and labelled correctly

Edit #2
Going back a few pages to page #13, you will find the additional Mega Evolution information needed to be put into the script files, however with the new additions of the ORAS Megas, I found that the script to allow the mega pokemon to keep their Mega Stones instead of losing them to certain moves was not complete.

So, after the additions added by Lucidious89 and reposted by Worldslayer608:

go to the PokeBattle_Battle section in the scripts
at about line 634 paste

Spoiler:
 
Last edited:
In the new Scripts file is a little mistake (2 actually).

First one makes it crash when trying to run.
Go to PokeBattle_MoveEffects Line 3962 and replace
Code:
elsif pbRandom(100)<30
with
Code:
when pbRandom(100)<30
Second one messes up the priority of Stall and Slow Items in some cases.
In PokeBattle_Battle at line 1237 replace
Code:
            elsif slowitem[temp[i]] #Check for slowing items
              cmp=(slowitem[temp[i-1]]) ? 0 : 1
            elsif stall[temp[i]] #Check for stall
              cmp=(stall[temp[i-1]]) ? 0 : 1
            elsif slowitem[temp[i-1]] #We will still miss out on the fact that slowitem should make slower than stall - which might not happen. (also shouldn't we put stall and slowitem BEHIND speedcheck? - not sure about that
              cmp=-1
            elsif stall[temp[i-1]] #This is a suggestion on how to fix the sometimes not activating part - how do we get the quickclaw check in again?
              cmp=-1
with
Code:
            elsif slowitem[temp[i]] #Check for slowing items
              cmp=(slowitem[temp[i-1]]) ? 0 : 1   #Ranks same if enemy has slowitem as well - ranks lower if not
            elsif slowitem[temp[i-1]] #Checking for enemy slow items
              cmp=-1
            elsif stall[temp[i]] #Check for stall
              cmp=(stall[temp[i-1]]) ? 0 : 1      #Ranks same if enemy has stall as well - ranks lower if not        
            elsif stall[temp[i-1]] #Checking for enemy stall
              cmp=-1
 
Last edited:
moves.txt has an error on line 577 move type is FLYTING instead of FLYING
also 592 Noble Roar doesnt seam complete whole bunch of move code missing
there the only errors that stop it compiling though
 
Last edited:
Oh, this thing really kicked into gear. Mej redirected me here; I'm pretty bad at keeping up with stuff around here though... I can probably contribute at least a little bit at some point though since we've had some things done for a while, like Stance Change/King's Shield... Seems like I've been holding out on you all, sorry.
I'm not in a place to do it right now, but I'll poke through the update later and see what I can offer.

I did notice there's nothing suggested for Inkay, so I'll throw what we did for Reborn out there-- It's a bit off-kilter, but then so is Malamar, right? In Reborn, Inkay will fail to evolve unless the evolution is canceled with the B Button, in which case it successfully evolves. I can provide the code for this if you guys decide this is an approach you want to take.
 
Back
Top