• 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,391
Posts
10
Years
  • Age 35
  • Online now
RPGXP_2018-08-17_00-29-19.png

You have to define what "Pokemon" is first. I put it in italics in my post as a placeholder, because there's a million ways you could write it.

For example, writing it as
Code:
$Trainer.party[0].setRandomZodiac
Would make the Pokemon in party slot 1 have a random zodiac sign applied.
 
195
Posts
7
Years
  • Age 27
  • Seen Apr 12, 2024
You have to define what "Pokemon" is first. I put it in italics in my post as a placeholder, because there's a million ways you could write it.

For example, writing it as
Code:
$Trainer.party[0].setRandomZodiac
Would make the Pokemon in party slot 1 have a random zodiac sign applied.

Ah ok, that can work for the starter, but how can i do it for other gift Pokémon that are received later?
 
1,391
Posts
10
Years
  • Age 35
  • Online now
Ah ok, that can work for the starter, but how can i do it for other gift Pokémon that are received later?

There's a variety of ways that can be done. Look at the sample events that come with essentials (in-game trades and gifts and such) to see what works best for you. Use those as a model.
 
23
Posts
10
Years
Well, I do not know if it was just here, but The Voyager's zodiac power only returns the failure message, even if all pokemon are alive... Can you check this please?
 
1,391
Posts
10
Years
  • Age 35
  • Online now
Well, I do not know if it was just here, but The Voyager's zodiac power only returns the failure message, even if all pokemon are alive... Can you check this please?

Will do. I'm working on a new update right now, so I'll put that on my list to bug test.
 
1,391
Posts
10
Years
  • Age 35
  • Online now
Major Update 9/19/18 - Celestial Bosses
With this update, I've been primarily focused on expanding on the lore potential for the birthsign mechanic, so ive created a new layer to the project utilizing the Event add-on script. This new feature will add Celestial Bosses to your game - boss encounters that are representative of each of the birthsigns. I'll get into much more detail about that below. But first, allow me to introduce some other updates, including a small expansion to the total birthsign count.

Fun Fact: I started working on this update around the time that Simon Belmont was revealed for Smash Bros., and many of the features in this update revolve around things like vampires, the night, souls, and other macabre elements. There are even a couple of Castlevania music tracks that I threw in here. I didn't realize any of this until after I was done, but its kinda funny to think I may have been subconsciously influenced by Castlevania lol.

Updates
Spoiler:


Installation
Spoiler:

~All of the above will be added to the main post.
 
Last edited:
423
Posts
13
Years
  • Age 37
  • Seen Aug 31, 2023
nice work adding the celestials and other things shame essentials seems to be a bit buggy with some of the alt form scripts got tonnes of ideas using these scripts in my game

i take it refering to the trainers sign is still a no go?
 
1,391
Posts
10
Years
  • Age 35
  • Online now
nice work adding the celestials and other things shame essentials seems to be a bit buggy with some of the alt form scripts got tonnes of ideas using these scripts in my game

i take it refering to the trainers sign is still a no go?

Depends what you want out of the trainer signs. They still don't actually DO anything (im open to ideas if you have any - I havent thought of anything interesting that i wouldn't rather put on the actual Pokemon themselves). The trainer signs are determined simply by your adventure start time though, so I suppose you could call on them if you really wanted to, since calling on the adventure start time is possible.

So you could probably just do something like:
Code:
PBBirthsigns.getName($PokemonGlobal.startTime.mon)
for example, if you wanted to get the name of the player's sign. But other than calling for its name, I don't know what else you'd need to call it for.



Maybe something like:
Code:
$Trainer.party[0].setBirthsign($PokemonGlobal.startTime.mon)
to give the Pokemon in party slot 1 the same birthsign as its trainer, as an example.



That's about all I can really think of doing with it. Ive thought about changing this so that the player can input their actual birthday and have their player sign based on that instead, but it seems like too much work for something that is currently nothing but cosmetic.
 
Last edited:
423
Posts
13
Years
  • Age 37
  • Seen Aug 31, 2023
well my idea was to have it be used for certain poke evo and would determin other events in game that dont have much effect in the gameplay or story but would result in changes depending on the sign. in general could be an alternate way to activate the zodiac powers or feild abilities (that they either need the stone and/or the trainer needs a corresponding sign
 
1,391
Posts
10
Years
  • Age 35
  • Online now
well my idea was to have it be used for certain poke evo and would determin other events in game that dont have much effect in the gameplay or story but would result in changes depending on the sign. in general could be an alternate way to activate the zodiac powers or feild abilities (that they either need the stone and/or the trainer needs a corresponding sign

Sounds like a lot of that could simply be done by calling on the player's starting time (specifically, the month) like I showed in my examples. Since like I said, the player's sign and the adventure start time are effectively the same thing. Like maybe setting up an if-then statement where it says something like "if starting month is February, then Pokemon X evolves into Pokemon Y." You don't even need the Birthsign script to pull something like that off.
 
Last edited:
195
Posts
7
Years
  • Age 27
  • Seen Apr 12, 2024
Hmm...How does capturing Vymm & Vygor work, since it's a double battle? Considering you can only catch one pokemon during a double battle.
 
1,391
Posts
10
Years
  • Age 35
  • Online now
Hmm...How does capturing Vymm & Vygor work, since it's a double battle? Considering you can only catch one pokemon during a double battle.
Yeah, you can only capture one of them. They both have the same sign and thus both have the ability to bestow the same blessing, so it's a matter of preference I guess in which one to catch.
 
1,391
Posts
10
Years
  • Age 35
  • Online now
hmm...well I suppose I can figure a way of getting both of them.

If you'd like. I guess I sort of intended for them to be almost like a version exclusive sort of deal, where you pick one to catch and then have to trade to get the other. I know that doesn't necessarily translate into a fangame that well. But I guess there's nothing stopping you from having them appear separately. Like maybe after capturing one, the other can be found again later in its own isolated quest in a single battle.
 
220
Posts
9
Years
Hello there!

After updating birthsigns scripts, i've got an error at the start of the game, ex: Player starts inside his house, then we go outside to go to the prof. lab. The error cames from outside maps. And i think that it is related with the Vampire birthsign.
Note that i haven't any pokemon yet and i haven't the birthsign, so how can i fix this?
The error line is red, so you can find it quickly and the error cames from the main script.
Thx in advance.


Code:
#===============================================================================
# Birthsign - The Vampire
# Heals user while walking at night. Harms/Burns user while walking in daylight.
#===============================================================================
Events.onStepTakenTransferPossible+=proc {|sender,e|
  handled = e[0]
  next if handled[0]
  if $PokemonGlobal.stepcount%4==0
    flashed = false
    firstpoke=$Trainer.party[0]
    # Harms/Burns the user with each step outside during the day when leading.
    if (PBDayNight.isDay? && pbGetMetadata($game_map.map_id,MetadataOutdoor) &&
       [COLOR="Red"]firstpoke.birthsign==31 && !firstpoke.fainted?)[/COLOR]
      if !flashed
        $game_screen.start_flash(Color.new(255,0,0,128), 4)
        flashed = true
      end
      firstpoke.hp -= 1 if firstpoke.hp>0
      # Immune to Burn effect if the user has the following Abilities/Type
      if (!firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERVEIL) &&
          !firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERBUBBLE) &&
          !firstpoke.isConst?(firstpoke.ability,PBAbilities,:COMATOSE) &&
          !firstpoke.pbHasType?(:FIRE))
        firstpoke.status = 3
      end
      if firstpoke.hp==0
        firstpoke.changeHappiness("faint")
        firstpoke.status = 0
        Kernel.pbMessage(_INTL("{1} fainted...",firstpoke.name))
        if defined? pbToggleFollowingPokemon
          $PokemonTemp.dependentEvents.refresh_sprite
        end
      end
      if pbAllFainted
        handled[0] = true
        pbCheckAllFainted
      end
    end
    # Heals all users in the party with each step at night.
    if PBDayNight.isNight?
      for i in $Trainer.ablePokemonParty
        if i.birthsign==31
          i.hp += 2 if i.hp<i.totalhp
          i.status = 0
        end
      end
    end
  end
}

births10.png
 
1,391
Posts
10
Years
  • Age 35
  • Online now
Hello there!

After updating birthsigns scripts, i've got an error at the start of the game, ex: Player starts inside his house, then we go outside to go to the prof. lab. The error cames from outside maps. And i think that it is related with the Vampire birthsign.
Note that i haven't any pokemon yet and i haven't the birthsign, so how can i fix this?
The error line is red, so you can find it quickly and the error cames from the main script.
Thx in advance.


Code:
#===============================================================================
# Birthsign - The Vampire
# Heals user while walking at night. Harms/Burns user while walking in daylight.
#===============================================================================
Events.onStepTakenTransferPossible+=proc {|sender,e|
  handled = e[0]
  next if handled[0]
  if $PokemonGlobal.stepcount%4==0
    flashed = false
    firstpoke=$Trainer.party[0]
    # Harms/Burns the user with each step outside during the day when leading.
    if (PBDayNight.isDay? && pbGetMetadata($game_map.map_id,MetadataOutdoor) &&
       [COLOR="Red"]firstpoke.birthsign==31 && !firstpoke.fainted?)[/COLOR]
      if !flashed
        $game_screen.start_flash(Color.new(255,0,0,128), 4)
        flashed = true
      end
      firstpoke.hp -= 1 if firstpoke.hp>0
      # Immune to Burn effect if the user has the following Abilities/Type
      if (!firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERVEIL) &&
          !firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERBUBBLE) &&
          !firstpoke.isConst?(firstpoke.ability,PBAbilities,:COMATOSE) &&
          !firstpoke.pbHasType?(:FIRE))
        firstpoke.status = 3
      end
      if firstpoke.hp==0
        firstpoke.changeHappiness("faint")
        firstpoke.status = 0
        Kernel.pbMessage(_INTL("{1} fainted...",firstpoke.name))
        if defined? pbToggleFollowingPokemon
          $PokemonTemp.dependentEvents.refresh_sprite
        end
      end
      if pbAllFainted
        handled[0] = true
        pbCheckAllFainted
      end
    end
    # Heals all users in the party with each step at night.
    if PBDayNight.isNight?
      for i in $Trainer.ablePokemonParty
        if i.birthsign==31
          i.hp += 2 if i.hp<i.totalhp
          i.status = 0
        end
      end
    end
  end
}

births10.png

Good catch. This has been fixed. If you don't want to re-install the entire birthsign script, you can just replace the entire code for 'The Vampire' you posted above with this new one:
Code:
#===============================================================================
# Birthsign - The Vampire
# Heals user while walking at night. Harms/Burns user while walking in daylight.
#===============================================================================
Events.onStepTakenTransferPossible+=proc {|sender,e|
  handled = e[0]
  next if handled[0]
  if $PokemonGlobal.stepcount%4==0
    flashed = false
    firstpoke=$Trainer.party[0]
    if !$Trainer.party.length==0
      # Harms/Burns the user with each step outside during the day when leading.
      if (PBDayNight.isDay? && pbGetMetadata($game_map.map_id,MetadataOutdoor) &&
         firstpoke.birthsign==31 && !firstpoke.fainted?)
        if !flashed
          $game_screen.start_flash(Color.new(255,0,0,128), 4)
          flashed = true
        end
        firstpoke.hp -= 1 if firstpoke.hp>0
        # Immune to Burn effect if the user has the following Abilities/Type
        if (!firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERVEIL) &&
            !firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERBUBBLE) &&
            !firstpoke.isConst?(firstpoke.ability,PBAbilities,:COMATOSE) &&
            !firstpoke.pbHasType?(:FIRE))
          firstpoke.status = 3
        end
        if firstpoke.hp==0
          firstpoke.changeHappiness("faint")
          firstpoke.status = 0
          Kernel.pbMessage(_INTL("{1} fainted...",firstpoke.name))
          if defined? pbToggleFollowingPokemon
            $PokemonTemp.dependentEvents.refresh_sprite
          end
        end
        if pbAllFainted
          handled[0] = true
          pbCheckAllFainted
        end
      end
      # Heals all users in the party with each step at night.
      if PBDayNight.isNight?
        for i in $Trainer.ablePokemonParty
          if i.birthsign==31
            i.hp += 1 if i.hp<i.totalhp
            i.status = 0
          end
        end
      end
    end
  end
}
 
220
Posts
9
Years
Good catch. This has been fixed. If you don't want to re-install the entire birthsign script, you can just replace the entire code for 'The Vampire' you posted above with this new one:
Code:
#===============================================================================
# Birthsign - The Vampire
# Heals user while walking at night. Harms/Burns user while walking in daylight.
#===============================================================================
Events.onStepTakenTransferPossible+=proc {|sender,e|
  handled = e[0]
  next if handled[0]
  if $PokemonGlobal.stepcount%4==0
    flashed = false
    firstpoke=$Trainer.party[0]
    if !$Trainer.party.length==0
      # Harms/Burns the user with each step outside during the day when leading.
      if (PBDayNight.isDay? && pbGetMetadata($game_map.map_id,MetadataOutdoor) &&
         firstpoke.birthsign==31 && !firstpoke.fainted?)
        if !flashed
          $game_screen.start_flash(Color.new(255,0,0,128), 4)
          flashed = true
        end
        firstpoke.hp -= 1 if firstpoke.hp>0
        # Immune to Burn effect if the user has the following Abilities/Type
        if (!firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERVEIL) &&
            !firstpoke.isConst?(firstpoke.ability,PBAbilities,:WATERBUBBLE) &&
            !firstpoke.isConst?(firstpoke.ability,PBAbilities,:COMATOSE) &&
            !firstpoke.pbHasType?(:FIRE))
          firstpoke.status = 3
        end
        if firstpoke.hp==0
          firstpoke.changeHappiness("faint")
          firstpoke.status = 0
          Kernel.pbMessage(_INTL("{1} fainted...",firstpoke.name))
          if defined? pbToggleFollowingPokemon
            $PokemonTemp.dependentEvents.refresh_sprite
          end
        end
        if pbAllFainted
          handled[0] = true
          pbCheckAllFainted
        end
      end
      # Heals all users in the party with each step at night.
      if PBDayNight.isNight?
        for i in $Trainer.ablePokemonParty
          if i.birthsign==31
            i.hp += 1 if i.hp<i.totalhp
            i.status = 0
          end
        end
      end
    end
  end
}

Thx, now it works fine.
 

Venomous_Zero86

Pokemon Chosen Ones (Coming Soon)
120
Posts
8
Years
  • Age 21
  • Seen Feb 11, 2022
i wanted to put in the part of my game that explains birthsign would you mind telling me how i should word it
 

Venomous_Zero86

Pokemon Chosen Ones (Coming Soon)
120
Posts
8
Years
  • Age 21
  • Seen Feb 11, 2022
in a event is the scritp suposse to go like this pokemon.setRandomSign for a random one i keep getting errors
 
Back
Top