• 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.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • 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.

Cultist birthsign without Shadow pokemon (Pokemon Birthsigns Edit)

  • 80
    Posts
    6
    Years
    • Seen Nov 5, 2023
    This is a edit for pokemon birthsigns, found here: https://www.pokecommunity.com/threads/348599

    This edit adjusts the script for the cultist birthsign so that no shadow pokemon will be spawned, because that makes the abilitie stronger, the price the pokemon pays in IV will be 3 times as high, making these perfect IV pokemons real expensive

    Replace that code block with the script section about the cultist script around line 3038 in your pokemon birthsigns script, you may also adjust the Species that can be summoned to suit your game


    Code:
    #===============================================================================
    # Birthsigns - The Cultist
    # Summon Skill effect: Spawns a wild Shadow Pokemon by sacrificing stats.
    #===============================================================================
          elsif cmdSummon>=0 && command==cmdSummon
            # The species list that may be summoned
            speciesS=[:CELEBI,:VICTINI,:CELESTEELA,:XURKITREE,:PHEROMOSA,:NIHILEGO,:NECROZMA,
                      :MANAPHY,:MEW,:DEOXYS]
            speciesA=[:GENGAR,:MISMAGIUS,:CHANDELURE,:COFAGRIGUS,:HYDREIGON,:GOLURK,
                      :GOTHITELLE,:GLISCOR,:DUSKNOIR,:SPIRITOMB]
            speciesB=[:WEEZING,:BANNET,:DUSCLOPS,:ABSOL,:SWOOBAT,:LIEPARD,:ZWEILOUS,
                      :ZOROARK,:SABLEYE,:GOTHORITA]  
            speciesC=[:RATICATE,:ARBOK,:HYPNO,:GOLBAT,:MAROWAK,:HAUNTER,:ARIADOS,
                      :GLIGAR,:LAMPENT,:HOUNDOOM]
            speciesD=[:KOFFING,:SHUPPET,:DUSKULL,:YAMASK,:WOOBAT,:PURRLOIN,:DEINO,
                      :ZORUA,:GOLET,:GOTHITA]
            speciesE=[:RATTATA,:EKANS,:DROWZEE,:ZUBAT,:CUBONE,:GASTLY,:SPINARAK,
                      :MISDREAVUS,:LITWICK,:HOUNDOUR]
            # The items that may be randomly held
            itemS=[:OLDAMBER,:COMETSHARD,:RELICSTATUE,:RELICCROWN,:LUCKYEGG,:LIFEORB,
                   :ODDKEYSTONE,:REAPERCLOTH,:SACREDASH,:STARDUST]
            itemA=[:DUSKSTONE,:DAWNSTONE,:SHINYSTONE,:SKULLFOSSIL,:DOMEFOSSIL,
                   :ODDKEYSTONE,:RELICBAND,:LUCKYEGG,:BIGNUGGET,:STARDUST]
            itemB=[:MOONSTONE,:SUNSTONE,:HELIXFOSSIL,:CLAWFOSSIL,:PLUMEFOSSIL,
                   :LUCKYEGG,:RAREBONE,:NUGGET,:STARPIECE,:STARDUST]
            itemC=[:ROOTFOSSIL,:COVERFOSSIL,:ARMORFOSSIL,:SMOKEBALL,:STICKYBARB,
                   :SPELLTAG,:STARPIECE,:STARDUST,:STARDUST,:STARDUST]
            itemD=[:REDSHARD,:YELLOWSHARD,:BLUESHARD,:GREENSHARD,:SMOKEBALL,
                   :STICKYBARB,:CLEANSETAG,:STARDUST,:STARDUST,:STARDUST]
            itemE=[:ENERGYPOWDER,:HEALPOWDER,:CHARCOAL,:STICKYBARB,:EVERSTONE,
                   :STARDUST,:STARDUST,:STARDUST,:STARDUST,:STARDUST]
            # The possible level ranges for each species rank
            levelS=[52,54,56,58,60,62,64,66,68,70]
            levelA=[40,41,42,43,44,45,46,47,48,49]
            levelB=[30,31,32,33,34,35,36,37,38,39]
            levelC=[20,21,22,23,24,25,26,27,28,29]
            levelD=[10,11,12,13,14,15,16,17,18,19]
            levelE=[2,3,4,4,5,5,6,7,8,9]
            if (!pbGetMetadata($game_map.map_id,MetadataOutdoor) || !PBDayNight.isNight?) && !$DEBUG
              Kernel.pbMessage(_INTL("This power can only be used under a night sky.",pkmn.name))
            elsif totalIVs==0
              Kernel.pbMessage(_INTL("{1}'s stats are too drained to summon anymore...",pkmn.name))
            elsif follower
              Kernel.pbMessage(_INTL("This power can't be used when you have someone with you."))
            else
              rank=["?","E","D","C","B","A","S"]
              if totalIVs>=180 && pkmn.level>=50    # Rank:S
                quality=6
              elsif totalIVs>=144 && pkmn.level>=40 # Rank:A
                quality=5
              elsif totalIVs>=108 && pkmn.level>=30 # Rank:B
                quality=4
              elsif totalIVs>=72 && pkmn.level>=20  # Rank:C
                quality=3
              elsif totalIVs>=36 && pkmn.level>=10  # Rank:D
                quality=2
              elsif totalIVs<36 || pkmn.level<10    # Rank:E
                quality=1
              end
              if Kernel.pbConfirmMessage(_INTL("Activate {1}'s birthsign?\n<c2=65467b14>Summon Rank: {2}</c2>",pkmn.name,rank[quality]))
                Kernel.pbMessage(_INTL("Activating this birthsign will drain {1}'s IV's.",pkmn.name))
                pbWait(10)
                if Kernel.pbConfirmMessage(_INTL("Continue summoning anyway?\n<c2=65467b14>Summon Rank: {1}</c2>",rank[quality]))
                  Kernel.pbMessage(_INTL("{1}'s IV's were all reduced by {2}!",pkmn.name,(quality+quality+quality)))
                  @scene.pbEndScene
                  # Reduces user's IV's with each Summon
                  pkmn.iv[0]-=(quality+quality+quality)
                  pkmn.iv[0]=0 if pkmn.iv[0]<=0
                  pkmn.iv[1]-=(quality+quality+quality)
                  pkmn.iv[1]=0 if pkmn.iv[1]<=0
                  pkmn.iv[2]-=(quality+quality+quality)
                  pkmn.iv[2]=0 if pkmn.iv[2]<=0
                  pkmn.iv[3]-=(quality+quality+quality)
                  pkmn.iv[3]=0 if pkmn.iv[3]<=0
                  pkmn.iv[4]-=(quality+quality+quality)
                  pkmn.iv[4]=0 if pkmn.iv[4]<=0
                  pkmn.iv[5]-=(quality+quality+quality)
                  pkmn.iv[5]=0 if pkmn.iv[5]<=0
                  pkmn.calcStats
                  pkmn.hp=1 if pkmn.hp<=0
                  pbRefresh
                  pbRitualAnimation(pkmn)
                  pbWait(10)
                  Kernel.pbMessage(_INTL("A wild Pokémon was pulled from the void!"))
                  Kernel.pbMessage(_INTL("The wild Pokémon attacked in a rage!"))
                  pbWait(10)
                  $game_switches[SUMMON_SWITCH]=true
                  Events.onWildPokemonCreate+=proc {|sender,e|
                  pokemon=e[0]
                   if $game_switches[SUMMON_SWITCH]
                     pokemon.iv=[31,31,31,31,31,31]
                     pokemon.obtainText=_INTL("Summoned from the void.")
                     pokemon.setAbility(2)
                     pokemon.setBirthsign(0)
                     if rand(100)>50
                       pokemon.setItem(itemS[rand(9)]) if quality==6 # Rank:S
                       pokemon.setItem(itemA[rand(9)]) if quality==5 # Rank:A
                       pokemon.setItem(itemB[rand(9)]) if quality==4 # Rank:B
                       pokemon.setItem(itemC[rand(9)]) if quality==3 # Rank:C
                       pokemon.setItem(itemD[rand(9)]) if quality==2 # Rank:D
                       pokemon.setItem(itemE[rand(9)]) if quality==1 # Rank:E
                     end
                   end
                  }
                  $PokemonGlobal.nextBattleBGM="Summon Battle"
                  if quality==6   # Rank:S
                    pbWildBattle(speciesS[rand(9)],levelS[rand(9)])
                  elsif quality==5 # Rank:A
                    pbWildBattle(speciesA[rand(9)],levelA[rand(9)])
                  elsif quality==4 # Rank:B 
                    pbWildBattle(speciesB[rand(9)],levelB[rand(9)])
                  elsif quality==3 # Rank:C
                    pbWildBattle(speciesC[rand(9)],levelC[rand(9)])
                  elsif quality==2 # Rank:D
                    pbWildBattle(speciesD[rand(9)],levelD[rand(9)])
                  elsif quality==1 # Rank:E 
                    pbWildBattle(speciesE[rand(9)],levelE[rand(9)])
                  end
                  $game_switches[SUMMON_SWITCH]=false
                end
                pbRefresh
                break
              end
            end

    This is already it, I hope that this will make the birthsigns script even better for those who do not have shadow pokemon
     
    I'm not sure if this needed an entire thread just for this one specific tweak, but it did make me realize I had an error in my latest update to the Birthsigns script, so that was helpful.

    If all you want to do is make the summoned Pokemon non-Shadow, then all you really need to to is delete or comment out the line that says
    Code:
    pokemon.makeShadow
    . I dont think a whole re-write is super necessary when that's mainly all you've changed.

    Also, if you want to increase the cost of IV's that are drained per summon, you can just do quality*3 or something instead of writing it out like quality+quality+quality however many times. Makes it a little easier to keep track of.
     
    I am just a little rookie, I mean... I did not know where to put else, I am new to scripting, I try to make when i tweak something again to do it under your script
     
    Back
    Top