• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

Fused form of a wild pokemon (Kangaskhan) doesn't remain after capture

  • 32
    Posts
    9
    Years
    • Seen Aug 16, 2016
    first of all these are the first modificatons that i have made in the clean v16.1

    i wanted that there is a baby kangaskhan (cubone in my testing) and kangaskhan has a normal form with an empty pouch (nidoqueen sprite for testing) and a fused form carrying a baby (the regular kangaskhan)

    the fusion is done by using the move PROTECT from the party screen on cubone and the split up by using the move POWERSPLIT on itself and this works fine, because the form is changed during the fusion from 0 (alone) to 1 (mother)

    Code:
    elsif isConst?(pkmn.moves[i].id,PBMoves,:PROTECT) && isConst?(pkmn.species,PBSpecies,:KANGASKHAN)
            [email protected](_INTL("protect which Pokémon?"))
             if chosen>=0
               poke2=$Trainer.party[chosen]
               if isConst?(poke2.species,PBSpecies,:CUBONE) && poke2.hp>0 && !poke2.isEgg? && pkmn.fused==nil
                 pkmn.form=1 if isConst?(poke2.species,PBSpecies,:CUBONE)
                 pkmn.fused=poke2
                 pbRemovePokemonAt(chosen)
                 @scene.pbHardRefresh
                 @scene.pbDisplay(_INTL("{1} gained weight!",pkmn.name))
                 next true

    Code:
      elsif isConst?(pkmn.moves[i].id,PBMoves,:POWERSPLIT) && isConst?(pkmn.species,PBSpecies,:KANGASKHAN)
            [email protected](_INTL("split up which Pokémon?"))
             if chosen>=0
        pkmn2=$Trainer.party[chosen]
               if pkmn.fused!=nil && pkmn==pkmn2 && pkmn.hp>0 && $Trainer.party.length<=5
                  $Trainer.party[$Trainer.party.length]=pkmn.fused
            pkmn.fused=nil if pkmn==pkmn2
            pkmn.form=0
                     @scene.pbHardRefresh
                     @scene.pbDisplay(_INTL("{1} lost weight!",pkmn.name))
                     next true

    an encounter modifier made it possible to encounter wild kangaskhan mothers but after catching one of them its form is somehow automatically reset to 0 although its .fused status remains (it can be unfused and can't bear another cubone) and the learned moves also remain

    Code:
    Events.onWildPokemonCreate+=proc {|sender,e|
       pokemon=e[0]
       poke2=PokeBattle_Pokemon.new(:CUBONE,5,$Trainer)
      if $game_map.map_id==78
        if pokemon.species==PBSpecies::KANGASKHAN
          $game_variables[1]=rand(10)
    if $game_variables[1]>=2
         pokemon.form=1
         pokemon.fused=poke2
         pokemon.pbLearnMove(:PROTECT)
         pokemon.pbLearnMove(:POWERSPLIT)
         pokemon.calcStats
        end
      end
      end
    }

    so i tried to put a script into the multiple forms section that would make all fused pokemon automatically have their form set to 1 but without success

    Code:
    MultipleForms.register(:KANGASKHAN,{
    "getForm"=>proc{|pokemon|
       next 1 if pokemon.fused!=nil
       next
    }
    })

    also another approach using a new def wasn't good

    Code:
    MultipleForms.register(:KANGASKHAN,{
    "getForm"=>proc{|pokemon|
    next 1 if pbfused?
    next 0
    }
    })

    Code:
    # Returns whether this Pokémon is fused.
      def pbfused?
        return self.fused!=nil
      end

    i hope anyone here could give me a hint, anyway thanks in advance
     
  • 824
    Posts
    9
    Years
    There is a script at the end of battles that's intended to prevent Megas from staying Mega post-battle. Considering that Khangaskhan has a Mega (which is, incidentally, form #1), that may be your issue. Try changing your fused form to form #2.

    Also, the Multiple Forms script already has something for Khangaskhan (or the Mega Evolutions script if using v16+). Try changing it to this:

    Code:
    MultipleForms.register(:KANGASKHAN,{
    "getMegaForm"=>proc{|pokemon|
       next 1 if isConst?(pokemon.item,PBItems,:KANGASKHANITE)
       next
    },
    "getUnmegaForm"=>proc{|pokemon|
       [COLOR="Red"]next 2 if pokemon.fused != nil[/COLOR]
       next 0
    },
    "getMegaName"=>proc{|pokemon|
       next _INTL("Mega Kangaskhan") if pokemon.form==1
       next
    },
    "getBaseStats"=>proc{|pokemon|
       next [105,125,100,100,60,100] if pokemon.form==1
       next
    },
    "ability"=>proc{|pokemon|
       next getID(PBAbilities,:PARENTALBOND) if pokemon.form==1
       next
    },
    "weight"=>proc{|pokemon|
       next 100.0 if pokemon.form==1
       next
    },
    "onSetForm"=>proc{|pokemon,form|
       pbSeenForm(pokemon)
    }
    })
     
  • 32
    Posts
    9
    Years
    • Seen Aug 16, 2016
    wow thanks a lot, that was exactly the problem!

    i don't use gen 6 pokes or mega evolutions so i didn't notice form 1 is already taken :D
     
    Back
    Top