Files
infinitefusion-e18/Data/Scripts/052_AddOns/HiddenAbilityMaps.rb
2024-12-22 11:27:23 -05:00

47 lines
1.7 KiB
Ruby

HIDDEN_MAPS_STEPS = 1500
HIDDEN_MAP_ALWAYS = [178,655,570,356]
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,
55,98,173,174,181,187,95,159,162,437,440,438,57,171,172,528,265,288,364,329,
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,762
]
Events.onMapUpdate+=proc {|sender,e|
#next if !$game_switches[HIDDENMAPSWITCH]
if $PokemonGlobal.stepcount % HIDDEN_MAPS_STEPS == 0
changeHiddenMap()
end
}
def changeHiddenMap()
i = rand(RANDOM_HIDDEN_MAP_LIST.length-1)
pbSet(VAR_CURRENT_HIDDEN_MAP,RANDOM_HIDDEN_MAP_LIST[i])
end
Events.onWildPokemonCreate+=proc {|sender,e|
if player_on_hidden_ability_map || isAlwaysHiddenAbilityMap($game_map.map_id)
pokemon=e[0]
chosenAbility = pokemon.getAbilityList.sample #format: [[:ABILITY, index],...]
pokemon.ability = chosenAbility[0]
pokemon.ability_index = chosenAbility[1]
end
}
def isAlwaysHiddenAbilityMap(mapId)
return HIDDEN_MAP_ALWAYS.include? mapId
end
def player_on_hidden_ability_map
return $game_map.map_id== pbGet(226)
end
def Kernel.getMapName(id)
mapinfos = pbLoadMapInfos
return "Unknown location" if !mapinfos[id]
return mapinfos[id].name
end