mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-10 14:44:58 +00:00
Migrate a reorganizes bunch of files from PIF
This commit is contained in:
145
Data/Scripts/998_InfiniteFusion/Gameplay/Utils/SystemUtils.rb
Normal file
145
Data/Scripts/998_InfiniteFusion/Gameplay/Utils/SystemUtils.rb
Normal file
@@ -0,0 +1,145 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# todo: implement
|
||||
def getMappedKeyFor(internalKey)
|
||||
|
||||
keybinding_fileName = "keybindings.mkxp1"
|
||||
path = System.data_directory + keybinding_fileName
|
||||
|
||||
parse_keybindings(path)
|
||||
|
||||
# echoln Keybindings.new(path).bindings
|
||||
end
|
||||
|
||||
|
||||
|
||||
def formatNumberToString(number)
|
||||
return number.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
|
||||
end
|
||||
|
||||
def playCry(pokemonSpeciesSymbol)
|
||||
species = GameData::Species.get(pokemonSpeciesSymbol).species
|
||||
GameData::Species.play_cry_from_species(species)
|
||||
end
|
||||
|
||||
# Get difficulty for displaying in-game
|
||||
def getDisplayDifficulty
|
||||
if $game_switches[SWITCH_GAME_DIFFICULTY_EASY] || $Trainer.lowest_difficulty <= 0
|
||||
return getDisplayDifficultyFromIndex(0)
|
||||
elsif $Trainer.lowest_difficulty <= 1
|
||||
return getDisplayDifficultyFromIndex(1)
|
||||
elsif $game_switches[SWITCH_GAME_DIFFICULTY_HARD]
|
||||
return getDisplayDifficultyFromIndex(2)
|
||||
else
|
||||
return getDisplayDifficultyFromIndex(1)
|
||||
end
|
||||
end
|
||||
|
||||
def getDisplayDifficultyFromIndex(difficultyIndex)
|
||||
return "Easy" if difficultyIndex == 0
|
||||
return "Normal" if difficultyIndex == 1
|
||||
return "Hard" if difficultyIndex == 2
|
||||
return "???"
|
||||
end
|
||||
|
||||
def getGameModeFromIndex(index)
|
||||
return "Classic" if index == 0
|
||||
return "Random" if index == 1
|
||||
return "Remix" if index == 2
|
||||
return "Expert" if index == 3
|
||||
return "Species" if index == 4
|
||||
return "Debug" if index == 5
|
||||
return ""
|
||||
end
|
||||
|
||||
def openUrlInBrowser(url = "")
|
||||
begin
|
||||
# Open the URL in the default web browser
|
||||
system("xdg-open", url) || system("open", url) || system("start", url)
|
||||
rescue
|
||||
Input.clipboard = url
|
||||
pbMessage("The game could not open the link in the browser")
|
||||
pbMessage("The link has been copied to your clipboard instead")
|
||||
end
|
||||
end
|
||||
|
||||
def clearAllSelfSwitches(mapID, switch = "A", newValue = false)
|
||||
map = $MapFactory.getMap(mapID, false)
|
||||
map.events.each { |event_array|
|
||||
event_id = event_array[0]
|
||||
pbSetSelfSwitch(event_id, switch, newValue, mapID)
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
def isTuesdayNight()
|
||||
day = getDayOfTheWeek()
|
||||
hour = pbGetTimeNow().hour
|
||||
echoln hour
|
||||
return (day == :TUESDAY && hour >= 20) || (day == :WEDNESDAY && hour < 5)
|
||||
end
|
||||
|
||||
|
||||
def setDifficulty(index)
|
||||
$Trainer.selected_difficulty = index
|
||||
case index
|
||||
when 0 # EASY
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_EASY] = true
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_HARD] = false
|
||||
when 1 # NORMAL
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_EASY] = false
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_HARD] = false
|
||||
when 2 # HARD
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_EASY] = false
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_HARD] = true
|
||||
end
|
||||
end
|
||||
|
||||
# Old menu for changing difficulty - unused
|
||||
def change_game_difficulty(down_only = false)
|
||||
message = "The game is currently on " + get_difficulty_text() + " difficulty."
|
||||
pbMessage(message)
|
||||
|
||||
choice_easy = "Easy"
|
||||
choice_normal = "Normal"
|
||||
choice_hard = "Hard"
|
||||
choice_cancel = "Cancel"
|
||||
|
||||
available_difficulties = []
|
||||
currentDifficulty = get_current_game_difficulty
|
||||
if down_only
|
||||
if currentDifficulty == :HARD
|
||||
available_difficulties << choice_hard
|
||||
available_difficulties << choice_normal
|
||||
available_difficulties << choice_easy
|
||||
elsif currentDifficulty == :NORMAL
|
||||
available_difficulties << choice_normal
|
||||
available_difficulties << choice_easy
|
||||
elsif currentDifficulty == :EASY
|
||||
available_difficulties << choice_easy
|
||||
end
|
||||
else
|
||||
available_difficulties << choice_easy
|
||||
available_difficulties << choice_normal
|
||||
available_difficulties << choice_hard
|
||||
end
|
||||
available_difficulties << choice_cancel
|
||||
index = pbMessage("Select a new difficulty", available_difficulties, available_difficulties[-1])
|
||||
choice = available_difficulties[index]
|
||||
case choice
|
||||
when choice_easy
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_EASY] = true
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_HARD] = false
|
||||
when choice_normal
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_EASY] = false
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_HARD] = false
|
||||
when choice_hard
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_EASY] = false
|
||||
$game_switches[SWITCH_GAME_DIFFICULTY_HARD] = true
|
||||
when choice_cancel
|
||||
return
|
||||
end
|
||||
|
||||
message = "The game is currently on " + get_difficulty_text() + " difficulty."
|
||||
pbMessage(message)
|
||||
end
|
||||
Reference in New Issue
Block a user