• 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.

Pokemon Birthsigns

1,396
Posts
10
Years
  • Age 35
  • Seen today
Update 5/21/15 : Birthsigns Journal
I've developed a new scene that displays the information for all of the birthsigns in a single place. Now you can look up the effects of each sign and prepare for a future birthsign. It also functions as a lorebook; displaying a brief story that connects to each sign in some way. This is a completely optional addition, and seperate from the actual birthsign scripts.

I made up all the lore myself, so feel free to replace it with your own if you don't like them lol.


Features
  • A new scene that can be accessed through an event, or even accessed through the Pokegear.
  • Supports all 24 Birthsigns with effect descriptions and roughly a paragraph worth of lore linked to each birthsign.
  • Has a unique menu layout to display the entire zodiac in a radial pattern, similar to some real-world zodiacs.
  • An updated Birthsigns folder with both new and tweaked graphics. (Now included by default)
  • Pokegear Icon graphic if you choose to implement the this into the Pokegear. Install this into Graphics/Pictures/Pokegear.


UPDATE As of 3/30/2017:
The Birthsigns Journal now has a separate script for Kleinstudio's Essentials BW compatibility. Install that version of the script found in the main post to add it to your game. This version of the Birthsigns Journal utilizes the two-screen layout and touch controls found in Essentials BW to fully take advantage of its features.


UPDATE As of 12/8/17:
The Birthsigns Journal now highlights a given month's Partner and Rival months. Partner signs are highlighted in blue, and Rival signs are highlighted in red.


UPDATE As of 12/13/17:
The Birthsigns Journal now displays relevant information regarding the Zodiac Power associated with a given month. Pressing the Z key while on a birthsign page will toggle this extra information.


All of the required scripts have been added to the main post.
 
Last edited:
42
Posts
15
Years
  • Seen Jan 7, 2017
I am trying to install the script but it doesn't works... I have this error:

"Error Script PScreen_Summary in line 1125 type "SyntaxError""

How can I solve it?
 
1,396
Posts
10
Years
  • Age 35
  • Seen today
I am trying to install the script but it doesn't works... I have this error:

"Error Script PScreen_Summary in line 1125 type "SyntaxError""

How can I solve it?

I haven't looked at these scripts in quite some time, so I may not be of much help anymore. Go into your script and in PScreen_Summary, find line 1125 and the lines around it and see if anything looks off to you. It could be something as simple as a missing comma, or a break in the line somewhere. I just checked my script in my vanilla copy of Essentials (with only Birthsigns installed), and this is what I found:

Code:
class PokemonSummary
  def initialize(scene)
    [B]@scene=scene[/B]
  end
The bolded line is what line 1125 is for me in my script. If this doesn't match up with your script, then that means you either copied the scripts wrong, or maybe have some random extra spaces somewhere, or you have other scripts installed that may be conflicting with something of mine.
 
1,396
Posts
10
Years
  • Age 35
  • Seen today
Update 9/9/15 : Manual Birthsigns, Debug Options, and Script Overhauls
After a long hiatus from these scripts (and Essentials in general), I've decided to come back to this and add in some features I've wanted to implement since the beginning. Lots of things have been changed, so if you've installed anything prior to today, you're going to need to reinstall pretty much everything. Sorry lol. I'll be updating the main post with all the changes asap, though there's a ton to change so bear with me.

Shout outs to Kiedisticelixer for messaging me with some ideas of his own that got me interested in taking another look at these scripts again.

Features
  • The ability to set a desired Birthsign onto an unbred Pokemon via events or debug tools. This can be used to give a birthsign to unbreedable species, wild encounters, gifted Pokemon - anything that was previously impossible!
  • A new debugging tool to quickly swap out different birthsigns. However, this can only be used on Pokemon who have NOT obtained a Birthsign through hatching.
  • setBirthsign(:XXXX) can now be used within an event to set a desired birthsign onto a gifted Pokemon, encounter, trade, etc. Replace the X's with the name of the desired birthsign.
  • There is now only a single instance of USENEWBIRTHSIGNS, now found within the settings section. You only have to change this single instance to true or false to change between birthsign sets.
  • Overhauls to virtually all of the previous scripts to accommodate the new features.

All changes can be found within the main post.

The thumbnails below are examples of Pokemon who previously had no possible way of obtaining a birthsign.
 
Last edited:
1,224
Posts
10
Years
Just so you know, you can use
Code:
setBirthsign(:VOYAGER)
No need to specify since the method already specifies the module.

A nitpick
Spoiler:


This is a really nice set of scripts, it's nice to see something like this being made for the community. Only problem, there's a lot of changes you made. Porting to a new version of Essentials, or even the initial installation could be a pain. PM me if you like and I can help you make most of this so that it's plug and play.
 
1,396
Posts
10
Years
  • Age 35
  • Seen today
Minor update 9/17/15 : 'The Eternal' Update
(This has already been updated in the main scripts.)
I've overhauled the coding for the sign 'The Eternal', to fix some holes and inconsistencies; as well as giving it some polish overall. It's not necessary to add this if you've already installed a previous version, but if you want to update it yourself you can just paste the new code below in place of the old one.

Changes:
  • Pokemon who were manually given 'The Eternal' Birthsign will now properly inherit a new Birthsign when using Reincarnate. Previously, only hatched Pokemon were able to do this.

  • Pokemon are no longer able to infinitely use Reincarnate during the month of December. Previously, there was nothing stopping this since 'The Eternal' Birthsign would just replace itself, and allow you to continuously Reincarnate. Now you will simply get a message telling you that you must wait for a different month before you can use Reincarnate.

  • A jingle will play whenever you successfully Reincarnate a Pokemon, making the process feel a little more polished.

  • Rearranged the order of some of the text and prompts so that the process flows better.

  • Made it so that the message prompt for attaching the Second Step Ribbon will only display if the Pokemon doesn't have the ribbon. Previously, the message would play even if the Pokemon already had the ribbon.

New Code
Code:
#===============================================================================
# Birthsigns - The Eternal
# Reincarnate Skill effect:
# Resets the Pokemon as if it was hatched again, allowing it to inherit
# a new birthsign.
#===============================================================================
elsif cmdReincarnate>=0 && command==cmdReincarnate
  if Kernel.pbConfirmMessage(_INTL("Activate {1}'s birthsign?",pkmn.name))
    if true
      if Time.now.mon==12 &&
      (pkmn.birthsign==_INTL("'The Eternal'") || pkmn.birthsign==PBBirthsigns::ETERNAL)
        pbDisplay(_INTL("You must wait for a new month before you can do that."))
        break
      end
      pbDisplay(_INTL("Activating this birthsign will reset {1}'s level and birthsign, and any affected attributes.",pkmn.name))
      if Kernel.pbConfirmMessage(_INTL("Are you sure you want to activate this birthsign?"))
        if true
          pkmn.level=EGGINITIALLEVEL
          pkmn.ev[0]=0
          pkmn.ev[1]=0
          pkmn.ev[2]=0
          pkmn.ev[3]=0
          pkmn.ev[4]=0
          pkmn.ev[5]=0
          pkmn.happiness=120
          pkmn.pokerus=0
          pkmn.timeEggHatched=pbGetTimeNow
          pkmn.obtainText=_INTL("From a previous life.")
          if pkmn.obtainMode!=1
            if Time.now.mon==1
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:APPRENTICE)
              else
                pkmn.setBirthsign(:PHOENIX)
              end
            elsif Time.now.mon==2
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:COMPANION)
              else
                pkmn.setBirthsign(:SCHOLAR)
              end
            elsif Time.now.mon==3
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:BEACON)
              else
                pkmn.setBirthsign(:FUGITIVE)
              end
            elsif Time.now.mon==4
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:SAVAGE)
              else
                pkmn.setBirthsign(:ARISTOCRAT)
              end
            elsif Time.now.mon==5
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:PRODIGY)
              else
                pkmn.setBirthsign(:CLERIC)
              end
            elsif Time.now.mon==6
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:MARTYR)
              else
                pkmn.setBirthsign(:MONK)
              end
            elsif Time.now.mon==7
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:MAIDEN)
              else
                pkmn.setBirthsign(:ANCESTOR)
              end
            elsif Time.now.mon==8
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:GLADIATOR)
              else
                pkmn.setBirthsign(:SPECIALIST)
              end
            elsif Time.now.mon==9
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:VOYAGER)
              else
                pkmn.setBirthsign(:ASSASSIN)
              end
            elsif Time.now.mon==10
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:THIEF)
              else
                pkmn.setBirthsign(:PARENT)
              end
            elsif Time.now.mon==11
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:GLUTTON)
              else
                pkmn.setBirthsign(:HUNTER)
              end
            elsif Time.now.mon==12
              if !USENEWBIRTHSIGNS
                pkmn.setBirthsign(:WISHMAKER)
              else
                pkmn.setBirthsign(:ETERNAL)
              end
            end
          end
          pbRefresh
          pbDisplay(_INTL("{1} was reincarnated by the power of The Eternal!",pkmn.name))
          pbDisplay(_INTL("And..."))
          #=======================================================================================
          #Birthsigns
          #=======================================================================================
          if Time.now.mon==1
            if !USENEWBIRTHSIGNS
              pkmn.pokerus=16
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Apprentice!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Phoenix!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==2
            if !USENEWBIRTHSIGNS
              pkmn.happiness=255
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Companion!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Scholar!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==3
            if !USENEWBIRTHSIGNS
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Beacon!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Fugitive!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==4
            if !USENEWBIRTHSIGNS
              pkmn.iv[0]=0
              pkmn.iv[1]=31
              pkmn.iv[3]=31
              pkmn.iv[4]=31
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Savage!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Aristocrat!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==5
            if !USENEWBIRTHSIGNS
              pkmn.abilityflag=2
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Prodigy!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Cleric!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==6
            if !USENEWBIRTHSIGNS
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Martyr!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Monk!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==7
            if !USENEWBIRTHSIGNS
              pkmn.setGender(1)
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Maiden!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Ancestor!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==8 
            if !USENEWBIRTHSIGNS
              pkmn.ev[1]=100
              pkmn.ev[4]=100
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Gladiator!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Specialist!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==9
            if !USENEWBIRTHSIGNS
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Voyager!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Assassin!",pkmn.name)) 
            end
            pbRefresh
          end
          if Time.now.mon==10
            if !USENEWBIRTHSIGNS
              pkmn.ev[3]=252
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Thief!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Parent!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==11
            if !USENEWBIRTHSIGNS
              pkmn.iv[0]=31
              pkmn.iv[2]=31
              pkmn.iv[3]=0
              pkmn.iv[5]=31
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Glutton!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Hunter!",pkmn.name))
            end
            pbRefresh
          end
          if Time.now.mon==12
            if !USENEWBIRTHSIGNS
              pkmn.shinyflag=true
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Wishmaker!",pkmn.name))
            else
              pbSEPlay("itemlevel")
              pbDisplay(_INTL("{1} gained the power of The Eternal!",pkmn.name))
            end
            pbRefresh
          end
          #=======================================================================================
          pkmn.calcStats
          if Kernel.pbConfirmMessage(_INTL("Would you like to rename the reincarnated Pokémon?"))
            species=PBSpecies.getName(pkmn.species)
            nickname=pbEnterPokemonName(_INTL("{1}'s new name?",pkmn.name),0,10,"",pkmn)
            pkmn.name=nickname if nickname!=""
            pbRefresh
          end
          if !pkmn.hasRibbon?(:SECONDSTEP)
            pkmn.giveRibbon(:SECONDSTEP)
            pbDisplay(_INTL("You put the Second Step Ribbon on {1} to commemorate new life.",pkmn.name))
            pbRefreshSingle(pkmnid)
          end
        end
        pbRefresh
      end
    end
    pbRefresh
  end
  #=======================================================================================

Old Code
Spoiler:
 
Last edited:
1,396
Posts
10
Years
  • Age 35
  • Seen today
Update 9/24/15 : Birthsign Events
For this update, I decided to focus on trying to utilize the birthsign mechanic in new ways. The last update made it possible to easily call for a birthsign in an event, and I've built a new stand-alone script to take full advantage of that. This should make creating complicated events utilizing Pokemon Birthsigns fairly simple. This is an add-on, similar to the Birthsigns Journal; so you don't have to install this if you're uninterested.

Features
  • A new "Birthstone" event that can be easily set up by calling on just a few scripts. This event will grant any Pokemon without a birthsign the power of any one of the birthsigns that you choose. You can use this to create alternate methods of attaining a birthsign, particularly for Pokemon who are incapable of being bred.

  • A new "Birthpath" event that can be easily set up by calling on just a few scripts. This event blocks access to a hidden path unless the player has a Pokemon with the required birthsign in their party. You can use this to hide secret caves, treasure, or all sorts of things by using birthsigns as keys to open these locked paths.

  • New graphics and a new animation that plays whenever a birthsign event is triggered.

  • Supports all 24 Birthsigns. Setting BIRTHSIGNS_SET_2 to "true" in the Pokemon Birthsigns script will activate Set 2.

Example Images
Spoiler:


Setting Up Events
By default, this script is assuming switches 111-124 are vacant, because default Essentials doesn't use these numbers. If your project has these switch numbers occupied with something else, you'll have to renumber all the switches in this script to suit your needs.

Here is how the script for your events should look like:
BdsLlRW.jpg


  • The first control switch (in this case, 111) is assigned to the desired month. By default, switches 111-122 are assigned to each of the 12 months, respectively. So in the example image, January is this event's desired month (which correlates with 'The Apprentice' or 'The Phoenix' signs).

  • The second control switch (in this case, 123) is assigned to the desired type of event. By default, switch 123 is assigned to a Birthstone Event, while switch 124 is assigned to a Birthpath Event. This switch will determine which of the two possible events will play out when the event is triggered.

  • pbBirthsignEvent is the script that will begin running the event, determined by the two control switches you chose. Once this event is fully completed, Control Self Switch "A" will be automatically turned on in the Event, forcing the Event to jump to Page 2.

  • Page 2 of the Event is where things may differ depending on which Birthsign Event you're utilizing. If you're making a Birthstone Event, then you may leave Page 2 of the event blank. If you're using a Birthpath Event, then you may place a door event on Page 2 so that it becomes "unlocked" after completing the event. How to utilize this is up to you. In either scenario, you must check off Page 2's Self Switch "A" to ON.


UPDATE: As of 12/13/17, a third event called "Sign Conversion" can be used with this script. This uses control switch 125, and may be used to convert the birthsigns of your Pokemon to a different sign, depending on the month switch you put in your event.



The main post will be changed to reflect this addition.
 
Last edited:
1,396
Posts
10
Years
  • Age 35
  • Seen today
Minor Update 9/28/15 : PC Modifications
This is a small change that'll update the Pokemon Storage system so that it will now accommodate Pokemon Birthsigns. You will now be able to see a Pokemon's birthsign token from the PC menu, allowing you to quickly identify a Pokemon with a specific birthsign. This will also update the PC Debug tools to allow you to change a stored Pokemon's birthsign, just as you can with the Party Menu Debug tool.

Attached are some screenshots that shows the new features this update adds.
 

Attachments

  • 1.png
    1.png
    10.3 KB · Views: 54
  • 2.png
    2.png
    11.6 KB · Views: 48
  • 3.png
    3.png
    27.1 KB · Views: 46
  • 4.png
    4.png
    28.8 KB · Views: 46
  • 5.png
    5.png
    27.7 KB · Views: 44
Last edited:
1,396
Posts
10
Years
  • Age 35
  • Seen today
Bug Fix: 'The Assassin'
The effect of this birthsign is meant to have a 70% chance to encounter wild Pokemon who are asleep. However, the sleeping Pokemon would always wake immediately once encountered, making the effect fairly useless. This should fix this problem so that the wild Pokemon encountered with this effect should now sleep for at least one turn before waking up.

Find this section of code in PokemonBirthsigns, near the bottom, and add in the bolded line:
Code:
#================================================================================
  # Birthsign - The Assassin
  #Wild Pokemon have a 70% chance of being asleep when encountered.
  #================================================================================
  if !$Trainer.party[0].isEgg? && 
  ($Trainer.party[0].birthsign==_INTL("'The Assassin'") ||
  (USENEWBIRTHSIGNS && $Trainer.party[0].zodiacflag!=nil && 
  $Trainer.party[0].birthsign==PBBirthsigns::ASSASSIN))
    if genwildpoke.status=0 && rand(100)<70 #Change this number to change the odds.
      genwildpoke.status=1
      [B]genwildpoke.statusCount=2[/B]
    end
  end
  #================================================================================

And that's it! The effect should work as intended now. I will update the main script with this change.
 
Last edited:
824
Posts
8
Years
Bug Fix: 'The Assassin'
The effect of this birthsign is meant to have a 70% chance to encounter wild Pokemon who are asleep. However, the sleeping Pokemon would always wake immediately once encountered, making the effect fairly useless. This should fix this problem so that the wild Pokemon encountered with this effect should now sleep for at least one turn before waking up.

Find this section of code in PokemonBirthsigns, near the bottom, and add in the bolded line:
Code:
#================================================================================
  # Birthsign - The Assassin
  #Wild Pokemon have a 70% chance of being asleep when encountered.
  #================================================================================
  if !$Trainer.party[0].egg? && 
  ($Trainer.party[0].birthsign==_INTL("'The Assassin'") ||
  (USENEWBIRTHSIGNS && $Trainer.party[0].zodiacflag!=nil && 
  $Trainer.party[0].birthsign==PBBirthsigns::ASSASSIN))
    if genwildpoke.status=0 && rand(100)<70 #Change this number to change the odds.
      genwildpoke.status=1
      [B]genwildpoke.statusCount=2[/B]
    end
  end
  #================================================================================

And that's it! The effect should work as intended now. I will update the main script with this change.

Why not do "genwildpoke.statusCount=2+rand(3)"? That way it's not always one turn of sleep.
 
1,396
Posts
10
Years
  • Age 35
  • Seen today
Why not do "genwildpoke.statusCount=2+rand(3)"? That way it's not always one turn of sleep.

I feel like anything more than 1 turn of sleep would be pretty overpowered (if not already). You could definitely make it longer though, if you'd like.
 
1,396
Posts
10
Years
  • Age 35
  • Seen today
For those interested in using Pokemon Birthsigns with the new release of Essentials v16, some minor script edits are required to avoid compatibility issues.

For every instance of ".egg?" in any of the scripts, you must instead replace it with ".isEgg?"

With that, everything should work. I've got it working, and everything seems to function as intended. Only the Pokemon Birthsigns and Birthsign Event scripts require these edits - the Birthsign Journal seems fine as-is. If anyone encounters any errors or issues with the script in v16 that they didn't encounter in v15, please let me know and I'll see if there's anything else that must be changed. But as far as I can tell, everything works.

For those of you installing Pokemon Birthsigns for the first time into Essentials v16, everything has already been updated for you. You should be able to follow the installation instructions and be good to go.
 
1,396
Posts
10
Years
  • Age 35
  • Seen today
Several additional changes have been fixed in the PokemonBirthsign script for further compatibility with Essentials v16.

-Fixed an issue with the Debug menu when changing Abilities.
-Fixed an issue with gaining Exp from battles crashing the game.
-Restructured the code for 'The Scholar', 'The Fugitive', 'The Aristocrat', 'The Assassin', and 'The Ancestor' Birthsigns. They've all been tested and seem to work without issue now.
-Changed something minor in the Summary pages that changes the Item text color to reflect v16's changes.
-Fixed the item jingle name to reflect v16's name so that it properly plays when called in the Birthsign and Birthsign Event scripts.

If anyone encounters any other issues, please let me know.
 

Pokébook1

Marene
114
Posts
8
Years
Sorry for writing on so late but I have an Error

I followed your Installation Guide... But I want to make it different:

Spoiler:


I already copied the printable version and followed your Instructions, the problem now is that I dunno how to make this part of my Script to work properly:

Spoiler:



I get this Error all the Time:
Spoiler:


Now I'd tried to delete all these Scripts: PokemonBirthsigns, The jornal one and the Event one then I saved and Playtest the game and I can't open the Menu when I click on X.
 
Last edited:
1,396
Posts
10
Years
  • Age 35
  • Seen today
Sorry for writing on so late but I have an Error

I followed your Installation Guide... But I want to make it different:

Spoiler:


I already copied the printable version and followed your Instructions, the problem now is that I dunno how to make this part of my Script to work properly:

Spoiler:



I get this Error all the Time:
Spoiler:


Now I'd tried to delete all these Scripts: PokemonBirthsigns, The jornal one and the Event one then I saved and Playtest the game and I can't open the Menu when I click on X.

Hmm. Well as far as the changes you want go, there's quite a few things you need to alter in the scripts. I just applied the changes you wanted in a fresh install, and I was able to get it working. Here's what I did:

First of all, copy/paste all of the following code over the appropriate sections in a fresh install of the Birthsigns script. This entire chunk is found near the very top of the script. I wrote #Changed next to every line I tweaked, and bolded for you convenience.

Code:
#=======================================================================================
#  New Zodiac - Names
#=======================================================================================
# If you wish to rename a particular Birthsign, you must also rename all
# other instances of that Birthsign's name in this script. Use CTRL+F to
# locate them.
#
# You may also need to rename them in the "Manual Birthsigns" section
# further below.
#=======================================================================================
# Set 1
def pbGetZodiacName(sign)
  return [_INTL(""),                       #Null
          [B]_INTL("'The Phoenix'"),#Changed[/B]  #January
          _INTL("'The Companion'"),        #February
          _INTL("'The Beacon'"),           #March
          _INTL("'The Savage'"),           #April
          [B]_INTL("'The Cleric'"),#Changed[/B]   #May
          _INTL("'The Martyr'"),           #June
          [B]_INTL("'The Ancestor'"),#Changed[/B] #July
          _INTL("'The Gladiator'"),        #August
          _INTL("'The Voyager'"),          #September
          _INTL("'The Thief'"),            #October
          _INTL("'The Glutton'"),          #November
          _INTL("'The Wishmaker'")][sign]  #December
        end
        
# Set 2
def pbGetNewZodiacName(sign)
  return [_INTL(""),                          #Null
          [B]_INTL("'The Apprentice'"),#Changed[/B]  #January
          _INTL("'The Scholar'"),             #February
          _INTL("'The Fugitive'"),            #March
          _INTL("'The Aristocrat'"),          #April
          [B]_INTL("'The Prodigy'"),#Changed [/B]    #May
          _INTL("'The Monk'"),                #June
          [B]_INTL("'The Maiden'"),#Changed[/B]      #July
          _INTL("'The Specialist'"),          #August
          _INTL("'The Assassin'"),            #September
          _INTL("'The Parent'"),              #October
          _INTL("'The Hunter'"),              #November
          _INTL("'The Eternal'")][sign]       #December
        end
        
#=======================================================================================
#  New Zodiac - Descriptions
#=======================================================================================
# Set 1
def pbGetZodiacDesc(sign)
  return [_INTL(""),
          [B]_INTL("The Pokémon can Revive itself from the party menu."),#Changed[/B] 
          _INTL("The Pokémon is born with max happiness."),
          _INTL("The Pokémon can use Flash without the move."),
          _INTL("The Pokémon has max IV's in offense & Speed, but 0 HP."),
          [B]_INTL("The Pokémon can Cure its status from the menu."),#Changed[/B]
          _INTL("The Pokémon can use Soft-Boiled without the move."),
          [B]_INTL("The Pokémon yields Eggs that hatch twice as fast."),#Changed[/B]
          _INTL("The Pokémon is born with 100 EV's in Atk & Sp.Atk."),
          _INTL("The Pokémon can use Teleport without the move."),
          _INTL("The Pokémon is born with max EV's in Speed."),
          _INTL("The Pokémon has max IV's in defenses & HP, but 0 Speed."),
          _INTL("The Pokémon is always born shiny.")][sign]
        end
        
# Set 2
def pbGetNewZodiacDesc(sign)
  return [_INTL(""),
          _INTL("The Pokémon can Revive itself from the party menu."), 
          _INTL("The Pokémon gains 20% more exp. from battles."),
          _INTL("The Pokémon has the Escape skill to exit dungeons."),
          _INTL("The Pokémon doubles prize money won when leading."),
          _INTL("The Pokémon can Cure its status from the menu."),
          _INTL("The Pokémon can use Trance to relearn past moves."),
          _INTL("The Pokémon yields Eggs that hatch twice as fast."),
          _INTL("The Pokémon can Re-roll for a new Hidden Power."),
          _INTL("The Pokémon sneaks up on sleeping wild Pokémon."),
          _INTL("The Pokémon can Incubate Eggs to make them hatch."),
          _INTL("The Pokémon raises capture rates by 20% when leading."),
          _INTL("The Pokémon can Reincarnate and begin anew.")][sign]
        end

#=======================================================================================
#  Manual Birthsigns 
#=======================================================================================
# Use "setBirthsign(:XXXXX)" in an event to manually apply a Birthsign.
# Replace the X's with the name of the desired Birthsign as they are
# written below.
#=======================================================================================
module PBBirthsigns
  if !USENEWBIRTHSIGNS
    # Birthsigns Set 1
    NONE      = 0
    [B]PHOENIX   = 1#Changed[/B]
    COMPANION = 2
    BEACON    = 3
    SAVAGE    = 4
    [B]CLERIC    = 5#Changed[/B]
    MARTYR    = 6
    [B]ANCESTOR  = 7#Changed[/B]
    GLADIATOR = 8
    VOYAGER   = 9
    THIEF     = 10
    GLUTTON   = 11
    WISHMAKER = 12
  else
    # Birthsigns Set 2
    NONE       = 0
    [B]APPRENTICE = 1#Changed[/B]
    SCHOLAR    = 2
    FUGITIVE   = 3
    ARISTOCRAT = 4
    [B]PRODIGY    = 5#Changed[/B]
    MONK       = 6
    [B]MAIDEN     = 7#Changed[/B]
    SPECIALIST = 8
    ASSASSIN   = 9
    PARENT     = 10
    HUNTER     = 11
    ETERNAL    = 12
  end

  def PBBirthsigns.maxValue; 13; end
  def PBBirthsigns.getCount; 13; end
    
  def PBBirthsigns.signValue(id)
    return (id)%13
  end
  
#=======================================================================================
#  Debug Menu
#=======================================================================================
# This is the list that appears in the Birthsigns Debug Menu.
#=======================================================================================  
  # Set 1
  def PBBirthsigns.getName(id)
    if !USENEWBIRTHSIGNS
      names=[
          _INTL("No sign"),
          [B]_INTL("The Phoenix"),#Changed[/B]
          _INTL("The Companion"),
          _INTL("The Beacon"),
          _INTL("The Savage"),
          [B]_INTL("The Cleric"),#Changed[/B]
          _INTL("The Martyr"),
          [B]_INTL("The Ancestor"),#Changed[/B]
          _INTL("The Gladiator"),
          _INTL("The Voyager"),
          _INTL("The Thief"),
          _INTL("The Glutton"), 
          _INTL("The Wishmaker")
      ]
      return names[id]
  # Set 2
    else
      names=[
          _INTL("No sign"),
          [B]_INTL("The Apprentice"),#Changed[/B]
          _INTL("The Scholar"),
          _INTL("The Fugitive"),
          _INTL("The Aristocrat"),
          [B]_INTL("The Prodigy"),#Changed[/B]
          _INTL("The Monk"),
          [B]_INTL("The Maiden"),#Changed[/B]
          _INTL("The Specialist"),
          _INTL("The Assassin"),
          _INTL("The Parent"),
          _INTL("The Hunter"), 
          _INTL("The Eternal")
      ]
      return names[id]
    end
  end
end

#=======================================================================================
#  Defining Birthsigns
#=======================================================================================
class PokeBattle_Pokemon
    attr_accessor(:zodiacflag)

# Defines birthsigns
 def birthsign
  if obtainMode==1
    if USENEWBIRTHSIGNS
      return pbGetNewZodiacName(self.timeEggHatched.mon)
    else
      return pbGetZodiacName(self.timeEggHatched.mon)
    end
  end
  return @zodiacflag if @zodiacflag!=nil
  return @personalID%13
 end
 
# Sets this Pokémon's birthsign.
  def setBirthsign(value)
    if value.is_a?(String) || value.is_a?(Symbol)
      value=getID(PBBirthsigns,value)
    end
    @zodiacflag=value
    if !USENEWBIRTHSIGNS
      applyBirthsigns
      applynosign
    else
      applynosign
    end
    self.calcStats
  end
  
#  Applies the effects of manually assigned Birthsigns.
  def applyBirthsigns
[B]    #if birthsign==PBBirthsigns::APPRENTICE #Changed
      #self.pokerus=16 #Changed
    #end #Changed[/B]
    if birthsign==PBBirthsigns::COMPANION
      self.happiness=255
    end
    if birthsign==PBBirthsigns::SAVAGE
      self.iv[0]=0
      self.iv[1]=31
      self.iv[2]=rand(32)
      self.iv[3]=31
      self.iv[4]=31
      self.iv[5]=rand(32)
    end
[B]    #if birthsign==PBBirthsigns::PRODIGY #Changed
      #self.abilityflag=2 #Changed
    #end #Changed
    #if birthsign==PBBirthsigns::MAIDEN #Changed
      #self.genderflag=1 #Changed
    #end #Changed[/B]
    if birthsign==PBBirthsigns::GLADIATOR
      self.ev[0]=0
      self.ev[1]=100
      self.ev[2]=0
      self.ev[3]=0
      self.ev[4]=100
      self.ev[5]=0
    end
    if birthsign==PBBirthsigns::THIEF
      self.ev[0]=0
      self.ev[1]=0
      self.ev[2]=0
      self.ev[3]=0
      self.ev[4]=0
      self.ev[5]=252
    end
    if birthsign==PBBirthsigns::GLUTTON
      self.iv[0]=31
      self.iv[1]=rand(32)
      self.iv[2]=31
      self.iv[3]=0
      self.iv[4]=rand(32)
      self.iv[5]=31
    end
    if birthsign==PBBirthsigns::WISHMAKER 
      self.shinyflag=true
    end
  end
  
#  Resets flags when no sign is applied.
  def applynosign
    if birthsign==PBBirthsigns::NONE
      self.shinyflag=nil
      self.abilityflag=nil
      self.genderflag=nil
    end
  end
end

Secondly, you want to make three more small changes, to actually allow the Birthsigns to work.

Got to line 1074, and add an exclamation point right before USENEWBIRTHSIGNS, like so:
Code:
([B]![/B]USENEWBIRTHSIGNS && pkmn.zodiacflag!=nil && pkmn.birthsign==PBBirthsigns::PHOENIX

Then go to lines 1083 and 3014 and do the exact same thing. This'll allow the Cleric and the Ancestor to work, respectively.

Finally, go into the Birthsigns graphics folder, and swap the Birthsign and Token graphics to match your changes.

In regards to the Journal script, that's a bit more straightforward to change. You more or less just have to change the name/description text in the appropriate places. The only complicated part of altering the Journal is editing the wheel graphic to display your changes. But, that shouldn't be difficult if you're at all familiar with using an image editing program.

As for the Event scripts, that should be the easiest one to alter out of all of them. All you really need to do is swap the exclamation point before USENEWBIRTHSIGNS in all of the appropriate places, similar to what you had to do to the Birthsigns script.
 

Pokébook1

Marene
114
Posts
8
Years
wow Thanks I installed the Script above main and name it PokemonBirthsigns
and copied it from Printable Version, as I do always and
now I don't understand the part with ("Go to line 1074..") I copied the entire PokemonBirthsigns Script and paste it in the Notepad++ too and I can't see the line 1074 because the line just goes till 268 :(

where should I paste the
Spoiler:


The line 1083 and line 3014 I can't find because the line of the Birthsign Script just goes till line 268, please help me :(

and if you could explain me how I could do it with the Events and the Journal it would be great, thanks in advance

I tried to playtest my game and I got this ERROR:
Spoiler:
 
Back
Top