Adds hidden ability routes

This commit is contained in:
chardub
2023-01-06 12:51:27 -05:00
parent 3aab96dc6e
commit 70719de497
12 changed files with 58 additions and 5 deletions

View File

@@ -64,6 +64,11 @@ class PokeBattle_Battler
return GameData::Ability.try_get(@ability_id)
end
def hasHiddenAbility?
return @pokemon.ability_index >= 2
end
def ability=(value)
new_ability = GameData::Ability.try_get(value)
@ability_id = (new_ability) ? new_ability.id : nil

View File

@@ -42,6 +42,15 @@ class PokeBattle_Scene
if @battle.showAnims
for i in 0...@battle.sideSizes[1]
idxBattler = 2*i+1
#hidden ability animation
if @battle.battlers[idxBattler].hasHiddenAbility?
pbCommonAnimation("StatUp",@battle.battlers[idxBattler])
@battle.pbShowAbilitySplash(@battle.battlers[idxBattler],true)
@battle.pbHideAbilitySplash(@battle.battlers[idxBattler])
end
#shiny animation
next if !@battle.battlers[idxBattler] || !@battle.battlers[idxBattler].shiny?
pbCommonAnimation("Shiny",@battle.battlers[idxBattler])
end

View File

@@ -729,8 +729,9 @@ class PokemonFusionScene
@scene.pbShowPokedex(@newspecies)
end
#first check if hidden ability
hiddenAbility1 = @pokemon1.ability == @pokemon1.getAbilityList[0][-1]
hiddenAbility2 = @pokemon2.ability == @pokemon2.getAbilityList[0][-1]
# getAbilityList format: [[:ABILITY, index],...]
hiddenAbility1 = @pokemon1.ability == @pokemon1.getAbilityList[-1][0]
hiddenAbility2 = @pokemon2.ability == @pokemon2.getAbilityList[-1][0]
#change species
@pokemon1.species = newSpecies

View File

@@ -115,6 +115,7 @@ VAR_PREMIUM_WONDERTRADE_LEFT=111
VAR_RIVAL_STARTER=250
VAR_FUSION_ICON_STYLE=220
VAR_SHINY_HUE_OFFSET=275
VAR_CURRENT_HIDDEN_MAP = 226
#Randomizer
VAR_RANDOMIZER_WILD_POKE_BST=197

View File

@@ -1,7 +1,7 @@
HIDDEN_MAPS_STEPS = 1500
HIDDEN_MAP_ALWAYS = [178,655,570,356]
HIDDEN_MAP_ALWAYS = [178,655,570,356,78] #todo remove 78 (route 1)
RANDOM_HIDDEN_MAP_LIST = [8,109,431,446,402,403,467,468,10,23,167,16,19,78,185,86,
491,90,40,342,490,102,103,104,105,106,1,12,413,445,484,485,486,140,350,146,
149,304,356,307,409,351,495,154,349,322,323,544,198,144,155,444,58,59,229,52,53,54,
@@ -9,7 +9,7 @@ RANDOM_HIDDEN_MAP_LIST = [8,109,431,446,402,403,467,468,10,23,167,16,19,78,185,
335,254,261,262,266,230,145,147,258,284,283,267,586,285,286,287,300,311,47,580,529,
635,638,646,560,559,526,600,564,594,566,562,619,563,603,561,597,633,640,641,621,312,
670,692,643,523,698,
602,642,623,569,588,573,362,645,651,376
602,642,623,569,588,573,362,645,651,376,762
]
Events.onMapUpdate+=proc {|sender,e|
@@ -20,9 +20,25 @@ Events.onMapUpdate+=proc {|sender,e|
}
def changeHiddenMap()
i = rand(RANDOM_HIDDEN_MAP_LIST.length-1)
pbSet(226,RANDOM_HIDDEN_MAP_LIST[i])
pbSet(VAR_CURRENT_HIDDEN_MAP,RANDOM_HIDDEN_MAP_LIST[i])
end
Events.onWildPokemonCreate+=proc {|sender,e|
if $game_map.map_id== pbGet(226) || isAlwaysHiddenAbilityMap($game_map.map_id)
pokemon=e[0]
chosenAbility = pokemon.getAbilityList.sample #format: [[:ABILITY, index],...]
p chosenAbility
pokemon.ability = chosenAbility[0]
pokemon.ability_index = chosenAbility[1]
end
}
def isAlwaysHiddenAbilityMap(mapId)
return HIDDEN_MAP_ALWAYS.include? mapId
end
def Kernel.getMapName(id)
mapinfos = pbLoadMapInfos
return mapinfos[id].name

View File

@@ -378,6 +378,24 @@ ItemHandlers::UseFromBag.add(:ODDKEYSTONE, proc { |item|
end
})
def useDreamMirror
map_name = Kernel.getMapName(pbGet(226)).to_s
Kernel.pbMessage(_INTL("You peeked into the Dream Mirror..."))
Kernel.pbMessage(_INTL("You can see a faint glimpse of {1} in the reflection.", map_name))
end
#DREAMMIRROR
ItemHandlers::UseFromBag.add(:DREAMMIRROR, proc { |item|
useDreamMirror
next 1
})
ItemHandlers::UseInField.add(:DREAMMIRROR, proc { |item|
useDreamMirror
next 1
})
ItemHandlers::UseFromBag.add(:MAGICBOOTS, proc { |item|
if $DEBUG
if Kernel.pbConfirmMessageSerious(_INTL("Take off the Magic Boots?"))
@@ -450,6 +468,8 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERS, proc { |item, pokemon, scene|
next false
})
ItemHandlers::UseOnPokemon.add(:DNAREVERSER, proc { |item, pokemon, scene|
if !pokemon.isFusion?
scene.pbDisplay(_INTL("It won't have any effect."))