Dialga-Brite
 
 
 
 
Cornify
 

.

Back

12 Letter Names

Don't like the seven letter name limit for your trainer? Have a cool name for a pokemon but it goes 1 or 2 letters over the ten letter limit? This guide will allow you to have both the name of your trainer as well as the names of any pokemon (both species name and/or nickname) be upto 12 letters/characters.

Note that in a lot of these edits, the only thing that gets changed is one or more numbers.

First the trainer, this only requires two code edits.

In PokemonUtilities, find:

 def pbTrainerName
 trname=pbEnterText("Your name?",0,7)
 trainertype=pbGetPlayerTrainerType
 gender=pbGetTrainerTypeGender(trainertype)
 if trname==""
  trname=getRandomNameEx(gender,nil,1)
 end
 $Trainer=PokeBattle_Trainer.new(trname,trainertype)
 $PokemonBag=PokemonBag.new
 $PokemonTemp.begunNewGame=true
end

and replace with:

 def pbTrainerName
 trname=pbEnterText("Your name?",0,12)
 trainertype=pbGetPlayerTrainerType
 gender=pbGetTrainerTypeGender(trainertype)
 if trname==""
  trname=getRandomNameEx(gender,nil,1)
 end
 $Trainer=PokeBattle_Trainer.new(trname,trainertype)
 $PokemonBag=PokemonBag.new
 $PokemonTemp.begunNewGame=true
end

New code section as of April 24, 2009: In Pokemon Summary, find:

  textpos=[
  [_INTL("POKeMON INFO"),4,0,0,base,shadow],
  [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow],
  [pokemon.name,6,196,0,base,shadow],
  [_INTL("/{1}",speciesname),0,228,0,base,shadow],
  [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow],
  [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)],
  [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)],
  [_ISPRINTF("ID No. {1:05d}",publicID),463,64,1,base,shadow],
  [abilityname,176,144,0,base,shadow],
  [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)]
 ]

and replace with:

  textpos=[
  [_INTL("POKeMON INFO"),4,0,0,base,shadow],
  [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow],
  [pokemon.name,6,196,0,base,shadow],
  [_INTL("/{1}",speciesname),0,228,0,base,shadow],
  [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow],
  [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)],
  [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)],
  [_ISPRINTF("ID No. {1:05d}",publicID),483,64,1,base,shadow],
  [abilityname,176,144,0,base,shadow],
  [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)]
 ]

 

Now for pokemon names.

In PokeBattle_ActualScene, find:

 def pbNameEntry(helptext)
 return pbEnterText(helptext,0,10)
end

and replace with:

 def pbNameEntry(helptext)
 return pbEnterText(helptext,0,12)
end

in PokemonUtilities, find:

 def pbNicknameAndStore(pokemon)
  if pbBoxesFull?
   Kernel.pbMessage(_INTL("There's no more room for Pokemon!\1"))
   Kernel.pbMessage(_INTL("The Pokemon Boxes are full and can't accept any more!"))
   return
  end
  speciesname=PBSpecies.getName(pokemon.species)
  $Trainer.seen[pokemon.species]=true
  $Trainer.owned[pokemon.species]=true
  if Kernel.pbConfirmMessage(_INTL("Would you like to give a nickname to {1}?",speciesname))
   helptext=_INTL("{1}'s nickname?",speciesname)
   newname=pbEnterText(helptext,0,10)
   pokemon.name=newname if newname!=""
  end
  pbStorePokemon(pokemon)
end

and replace with:

 def pbNicknameAndStore(pokemon)
  if pbBoxesFull?
   Kernel.pbMessage(_INTL("There's no more room for Pokemon!\1"))
   Kernel.pbMessage(_INTL("The Pokemon Boxes are full and can't accept any more!"))
   return
  end
  speciesname=PBSpecies.getName(pokemon.species)
  $Trainer.seen[pokemon.species]=true
  $Trainer.owned[pokemon.species]=true
  if Kernel.pbConfirmMessage(_INTL("Would you like to give a nickname to {1}?",speciesname))
   helptext=_INTL("{1}'s nickname?",speciesname)
   newname=pbEnterText(helptext,0,12)
   pokemon.name=newname if newname!=""
  end
  pbStorePokemon(pokemon)
end

in script section "Compiler" (somewhere in the long method "def pbCompilePokemonData"), find:

  elsif key=="Name"
          raise _INTL("Species name {1} is greater than 10 characters long (section {2}, PBS/pokemon.txt)",value,currentmap) if value.length>10
          speciesnames[currentmap]=value

and replace with:

  elsif key=="Name"
          raise _INTL("Species name {1} is greater than 12 characters long (section {2}, PBS/pokemon.txt)",value,currentmap) if value.length>12
          speciesnames[currentmap]=value

This should allow names that are 12 letters long to be used. Now you must make some more edits to prevent text overlapping graphics-wise.

In PokeBattle_Actual Scene, find:

 def refresh
  self.bitmap.clear
  return if !@battler.pokemon
  self.bitmap.blt(0,0,@databox,Rect.new(0,0,@databox.width,@databox.height))
  pbSetSmallFont(self.bitmap)
  hpstring=_ISPRINTF("{1: 2d}/{2: 2d}",self.hp,@battler.totalhp)
  textpos=[]
  base=PokeBattle_Scene::BOXTEXTBASECOLOR
  shadow=PokeBattle_Scene::BOXTEXTSHADOWCOLOR
  genderX=self.bitmap.text_size(@battler.name).width
  genderX+=@spritebaseX+14
  textpos.push([@battler.name,@spritebaseX+14,@spritebaseY+6,false,base,shadow])
  if @battler.gender==0 # Male
   textpos.push([_INTL("?"),genderX,@spritebaseY+6,false,Color.new(8*8,25*8,31*8),shadow])
  elsif @battler.gender==1 # Female
   textpos.push([_INTL("?"),genderX,@spritebaseY+6,false,Color.new(31*8,19*8,18*8),shadow])
  end
  textpos.push([_INTL("Lv{1}",@battler.level),@spritebaseX+170,@spritebaseY+6,true,base,shadow])
  if @showhp
   textpos.push([hpstring,@spritebaseX+170,@spritebaseY+40,true,base,shadow])
  end

and replace with:

  def refresh
  self.bitmap.clear
  return if !@battler.pokemon
  self.bitmap.blt(0,0,@databox,Rect.new(0,0,@databox.width,@databox.height))
  pbSetSmallFont(self.bitmap)
  hpstring=_ISPRINTF("{1: 2d}/{2: 2d}",self.hp,@battler.totalhp)
  textpos=[]
  base=PokeBattle_Scene::BOXTEXTBASECOLOR
  shadow=PokeBattle_Scene::BOXTEXTSHADOWCOLOR
  genderX=self.bitmap.text_size(@battler.name).width
  genderX+=@spritebaseX+14
  textpos.push([@battler.name,@spritebaseX+9,@spritebaseY+6,false,base,shadow])
  if @battler.gender==0 # Male
   textpos.push([_INTL("?"),genderX-5,@spritebaseY+6,false,Color.new(8*8,25*8,31*8),shadow])
  elsif @battler.gender==1 # Female
   textpos.push([_INTL("?"),genderX-5,@spritebaseY+6,false,Color.new(31*8,19*8,18*8),shadow])
  end
  textpos.push([_INTL("Lv{1}",@battler.level),@spritebaseX+180,@spritebaseY+6,true,base,shadow])
  if @showhp
   textpos.push([hpstring,@spritebaseX+170,@spritebaseY+40,true,base,shadow])
  end

In PokemonSummary, find

  textpos=[
  [_INTL("POKeMON INFO"),4,0,0,base,shadow],
  [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow],
  [pokemon.name,16,196,0,base,shadow],
  [_INTL("/{1}",speciesname),16,228,0,base,shadow],
  [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow],
  [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)],
  [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)],
  [_ISPRINTF("ID No. {1:05d}",publicID),463,64,1,base,shadow],
  [abilityname,176,144,0,base,shadow],
  [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)]
 ]

and replace with:

(if you've installed this modification into your game on or before April 7th, 2009, then please re-copy and re-paste this section into your game, as a small fix has been made.)

  textpos=[
  [_INTL("POKeMON INFO"),4,0,0,base,shadow],
  [_ISPRINTF("No. {1:03d}",pokemon.species),16,36,0,numberbase,numbershadow],
  [pokemon.name,6,196,0,base,shadow],
  [_INTL("/{1}",speciesname),0,228,0,base,shadow],
  [_INTL("Lv{1}",pokemon.level),64,254,0,base,shadow],
  [_INTL("TYPE/"),176,96,0,Color.new(0,0,0),Color.new(208,208,200)],
  [_INTL("C: CANCEL"),475,2,1,Color.new(0,0,0),Color.new(208,208,200)],
  [_ISPRINTF("ID No. {1:05d}",publicID),463,64,1,base,shadow],
  [abilityname,176,144,0,base,shadow],
  [abilitydesc,176,176,0,Color.new(0,0,0),Color.new(208,208,200)]
 ]

In PokemonScreen, find:

class PokeSelectionSprite < SpriteWrapper
 attr_reader :selected
 attr_reader :preselected
 attr_reader :pokemon
 attr_reader :active
 attr_accessor :text
 def initialize(pokemon,index,doublebattle,viewport=nil)
  super(viewport)
  @pokemon=pokemon
  active=(doublebattle) ? (index<2) : (index<1)
  @active=active

 if active
   @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActive.png")
   @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActiveSel.png")
   @spriteXOffset=-16
   @spriteYOffset=-2
   @pokeballXOffset=-16
   @pokeballYOffset=-16
   @pokenameX=48
   @pokenameY=22
   @levelX=64
   @levelY=40
   @statusX=64
   @statusY=44
   @genderX=128
   @genderY=40
   @hpX=144
   @hpY=72
   @hpbarX=18
   @hpbarY=62
   @gaugeX=48
   @gaugeY=66
   @itemXOffset=16
   @itemYOffset=40
   @annotX=16
   @annotY=64
  else
   @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactive.png")
   @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactiveSel.png")
   @spriteXOffset=-16
   @spriteYOffset=-16
   @pokeballXOffset=-16
   @pokeballYOffset=-2
   @pokenameX=44
   @pokenameY=4
   @levelX=60
   @levelY=22
   @statusX=60
   @statusY=26
   @genderX=128
   @genderY=22
   @hpX=274
   @hpY=22
   @hpbarX=146
   @hpbarY=12
   @gaugeX=176
   @gaugeY=16
   @itemXOffset=16
   @itemYOffset=28
   @annotX=144
   @annotY=8
  end

and replace with:

  class PokeSelectionSprite < SpriteWrapper
 attr_reader :selected
 attr_reader :preselected
 attr_reader :pokemon
 attr_reader :active
 attr_accessor :text
 def initialize(pokemon,index,doublebattle,viewport=nil)
  super(viewport)
  @pokemon=pokemon
  active=(doublebattle) ? (index<2) : (index<1)
  @active=active

if active
   @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActive.png")
   @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyActiveSel.png")
   @spriteXOffset=-16
   @spriteYOffset=-2
   @pokeballXOffset=-16
   @pokeballYOffset=-16
   @pokenameX=38
   @pokenameY=22
   @levelX=64
   @levelY=40
   @statusX=64
   @statusY=44
   @genderX=128
   @genderY=40
   @hpX=144
   @hpY=72
   @hpbarX=18
   @hpbarY=62
   @gaugeX=48
   @gaugeY=66
   @itemXOffset=16
   @itemYOffset=40
   @annotX=16
   @annotY=64
  else
   @deselbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactive.png")
   @selbitmap=BitmapCache.load_bitmap("Graphics/Pictures/advPartyInactiveSel.png")
   @spriteXOffset=-16
   @spriteYOffset=-16
   @pokeballXOffset=-16
   @pokeballYOffset=-2
   @pokenameX=34
   @pokenameY=4
   @levelX=60
   @levelY=22
   @statusX=60
   @statusY=26
   @genderX=128
   @genderY=22
   @hpX=274
   @hpY=22
   @hpbarX=146
   @hpbarY=12
   @gaugeX=176
   @gaugeY=16
   @itemXOffset=16
   @itemYOffset=28
   @annotX=144
   @annotY=8
  end

NAME RATER: In order to be able to rename pokemon to names with more than 10 letters, you must find and edit the name rater event. Normally in Pokemon Essentials it's on one of the Test Maps, but in Pokemon Kindness Version's download, it's on the map "Professor's Lab". So anyway find the command with the code:

 pkmn=$Trainer.party[
$game_variables[1]]
species=PBSpecies.getName(
pkmn.species)
pbTextEntry("#{species}'s nickname?",
0,10,5)

and replace it with:

 pkmn=$Trainer.party[
$game_variables[1]]
species=PBSpecies.getName(
pkmn.species)
pbTextEntry("#{species}'s nickname?",
0,12,5)

 

And that's it, you're done.

 

 
   
You can place news, pictures or advertisements here.