diff --git a/Data/Actors.rxdata b/Data/Actors.rxdata index 7967a5432..41edc8e26 100644 Binary files a/Data/Actors.rxdata and b/Data/Actors.rxdata differ diff --git a/Data/Animations.rxdata b/Data/Animations.rxdata index 8e67182ba..826e1e8a6 100644 Binary files a/Data/Animations.rxdata and b/Data/Animations.rxdata differ diff --git a/Data/Armors.rxdata b/Data/Armors.rxdata index 2249bec14..901f2bb2b 100644 Binary files a/Data/Armors.rxdata and b/Data/Armors.rxdata differ diff --git a/Data/CommonEvents.rxdata b/Data/CommonEvents.rxdata index cdae20883..3753ef5ba 100644 Binary files a/Data/CommonEvents.rxdata and b/Data/CommonEvents.rxdata differ diff --git a/Data/Enemies.rxdata b/Data/Enemies.rxdata index 004ee903d..be622f513 100644 Binary files a/Data/Enemies.rxdata and b/Data/Enemies.rxdata differ diff --git a/Data/Items.rxdata b/Data/Items.rxdata index 3e62ba6d2..fe767fa0b 100644 Binary files a/Data/Items.rxdata and b/Data/Items.rxdata differ diff --git a/Data/Map329.rxdata b/Data/Map329.rxdata index 97e201e3b..b91e6c3b4 100644 Binary files a/Data/Map329.rxdata and b/Data/Map329.rxdata differ diff --git a/Data/Map360.rxdata b/Data/Map360.rxdata index 3636b6618..871302130 100644 Binary files a/Data/Map360.rxdata and b/Data/Map360.rxdata differ diff --git a/Data/Map670.rxdata b/Data/Map670.rxdata index 781011ac3..779783520 100644 Binary files a/Data/Map670.rxdata and b/Data/Map670.rxdata differ diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index 3f9088022..5b792a9c3 100644 Binary files a/Data/MapInfos.rxdata and b/Data/MapInfos.rxdata differ diff --git a/Data/Scripts/012_Overworld/005_Overworld_Fishing.rb b/Data/Scripts/012_Overworld/005_Overworld_Fishing.rb index 4e6bc245c..70fbaba38 100644 --- a/Data/Scripts/012_Overworld/005_Overworld_Fishing.rb +++ b/Data/Scripts/012_Overworld/005_Overworld_Fishing.rb @@ -42,6 +42,7 @@ def pbFishingEnd end def pbFishing(hasEncounter,rodType=1) + autohook= Settings::FISHING_AUTO_HOOK || $game_switches[FISHING_AUTOHOOK_SWITCH] speedup = ($Trainer.first_pokemon && [:STICKYHOLD, :SUCTIONCUPS].include?($Trainer.first_pokemon.ability_id)) biteChance = 20+(25*rodType) # 45, 70, 95 biteChance *= 1.5 if speedup # 67.5, 100, 100 @@ -70,9 +71,30 @@ def pbFishing(hasEncounter,rodType=1) pbMessageDisplay(msgWindow,_INTL("The Pokémon got away...")) break end - if Settings::FISHING_AUTO_HOOK || rand(100) < hookChance + + itemChance = rand((rodType)*4) + if itemChance<=1 + #ITEM + items = [:PEARL, + :OLDBOOT, + :OLDBOOT, + :OLDBOOT, + :OLDBOOT, + :WATERGEM, + :PEARL, + :WATERGEM + ] + Kernel.pbItemBall(items[rand(items.size)],1,nil,false) + Kernel.pbDisposeMessageWindow(msgWindow) pbFishingEnd - pbMessageDisplay(msgWindow,_INTL("Landed a Pokémon!")) if !Settings::FISHING_AUTO_HOOK + $game_player.setDefaultCharName(nil,oldpattern) + return false + end + + + if autohook || rand(100) < hookChance + pbFishingEnd + pbMessageDisplay(msgWindow,_INTL("Landed a Pokémon!")) if !autohook $game_player.setDefaultCharName(nil,oldpattern) ret = true break @@ -111,6 +133,7 @@ end # A Pokémon is biting, reflex test to reel it in def pbWaitForInput(msgWindow,message,frames) + autohook= Settings::FISHING_AUTO_HOOK || $game_switches[FISHING_AUTOHOOK_SWITCH] pbMessageDisplay(msgWindow,message,false) numFrame = 0 twitchFrame = 0 @@ -131,7 +154,7 @@ def pbWaitForInput(msgWindow,message,frames) $game_player.pattern = 0 return true end - break if !Settings::FISHING_AUTO_HOOK && numFrame > frames + break if !autohook && numFrame > frames numFrame += 1 end return false diff --git a/Data/Scripts/020_Debug/001_Editor_Utilities.rb b/Data/Scripts/020_Debug/001_Editor_Utilities.rb index 2f2a170b2..e25512fce 100644 --- a/Data/Scripts/020_Debug/001_Editor_Utilities.rb +++ b/Data/Scripts/020_Debug/001_Editor_Utilities.rb @@ -154,7 +154,7 @@ end def pbChooseMoveList(default = nil) commands = [] GameData::Move.each { |i| commands.push([i.id_number, i.real_name, i.id]) } - return pbChooseList(commands, default, nil, -1) + return pbChooseList(commands, default, nil, 1) end def pbChooseMoveListForSpecies(species, defaultMoveID = nil) diff --git a/Data/Scripts/020_Debug/003_Debug menus/003_Debug_MenuExtraCode.rb b/Data/Scripts/020_Debug/003_Debug menus/003_Debug_MenuExtraCode.rb index d8e0d4ae6..fc98217ae 100644 --- a/Data/Scripts/020_Debug/003_Debug menus/003_Debug_MenuExtraCode.rb +++ b/Data/Scripts/020_Debug/003_Debug menus/003_Debug_MenuExtraCode.rb @@ -16,6 +16,8 @@ end def pbWarpToMapFly pbBetterRegionMap(0,true,true,false,nil,true) + $game_screen.weather(:None,0,0) + $game_map.refresh end def pbWarpToMap diff --git a/Data/Scripts/049_Compatibility/Constants.rb b/Data/Scripts/049_Compatibility/Constants.rb index 2b1c75568..4ade50dc2 100644 --- a/Data/Scripts/049_Compatibility/Constants.rb +++ b/Data/Scripts/049_Compatibility/Constants.rb @@ -54,5 +54,5 @@ SINGLE_POKEMON_MODE_VAR=251 SINGLE_POKEMON_MODE_HEAD_SWITCH=791 SINGLE_POKEMON_MODE_BODY_SWITCH=792 SINGLE_POKEMON_MODE_RANDOM_SWITCH=793 - +FISHING_AUTOHOOK_SWITCH = 916 ODDKEYSTONE_NB_VARIABLE=252 \ No newline at end of file diff --git a/Data/Scripts/050_AddOns/New HMs.rb b/Data/Scripts/050_AddOns/New HMs.rb index b83433731..7b6cd8c48 100644 --- a/Data/Scripts/050_AddOns/New HMs.rb +++ b/Data/Scripts/050_AddOns/New HMs.rb @@ -79,4 +79,58 @@ def pbRockSmashRandomEncounterDive Kernel.pbItemBall(itemsList[i],1,nil,false) end end +end + + + +############### MORNING SUN / MOONLIGHT +HiddenMoveHandlers::CanUseMove.add(:MORNINGSUN,proc{|move,pkmn| + if !GameData::MapMetadata.get($game_map.map_id).outdoor_map + Kernel.pbMessage(_INTL("Can't use that here.")) + next false + end + next true +}) + +HiddenMoveHandlers::UseMove.add(:MORNINGSUN,proc{|move,pokemon| + Kernel.pbMessage(_INTL("{1} used {2}!",pokemon.name,GameData::Move.get(move).name)) + pbHiddenMoveAnimation(pokemon) + pbFadeOutIn(99999){ + pbSkipTime(9) + newTime = pbGetTimeNow.strftime("%I:%M %p") + Kernel.pbMessage(_INTL("{1} waited until morning...",$Trainer.name)) + Kernel.pbMessage(_INTL("The time is now {1}",newTime)) + $game_screen.weather(:None,0,0) + $game_map.refresh + } + next true +}) + +HiddenMoveHandlers::CanUseMove.add(:MOONLIGHT,proc{|move,pkmn| + if !GameData::MapMetadata.get($game_map.map_id).outdoor_map + Kernel.pbMessage(_INTL("Can't use that here.")) + next false + end + next true +}) + +HiddenMoveHandlers::UseMove.add(:MOONLIGHT,proc{|move,pokemon| + Kernel.pbMessage(_INTL("{1} used {2}!",pokemon.name,GameData::Move.get(move).name)) + pbHiddenMoveAnimation(pokemon) + pbFadeOutIn(99999){ + pbSkipTime(21) + newTime = pbGetTimeNow.strftime("%I:%M %p") + Kernel.pbMessage(_INTL("{1} waited until night...",$Trainer.name)) + Kernel.pbMessage(_INTL("The time is now {1}",newTime)) + $game_screen.weather(:None,0,0) + $game_map.refresh + } + next true +}) + +def pbSkipTime(newTime) + currentTime = pbGetTimeNow.hour + #hoursToAdd = (24-currentTime + newTime)-24 + hoursToAdd = newTime - currentTime + $game_variables[UnrealTime::EXTRA_SECONDS] += hoursToAdd*3600 end \ No newline at end of file diff --git a/Data/Skills.rxdata b/Data/Skills.rxdata index 61cba7ea2..a45219f5e 100644 Binary files a/Data/Skills.rxdata and b/Data/Skills.rxdata differ diff --git a/Data/States.rxdata b/Data/States.rxdata index 0f9b4ae5d..868d49e59 100644 Binary files a/Data/States.rxdata and b/Data/States.rxdata differ diff --git a/Data/System.rxdata b/Data/System.rxdata index b062bf8aa..05ec68fd8 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ diff --git a/Data/Tilesets.rxdata b/Data/Tilesets.rxdata index 8d34a0eef..9873e9ae6 100644 Binary files a/Data/Tilesets.rxdata and b/Data/Tilesets.rxdata differ diff --git a/Data/Weapons.rxdata b/Data/Weapons.rxdata index d9bd35260..c7ea19a7a 100644 Binary files a/Data/Weapons.rxdata and b/Data/Weapons.rxdata differ diff --git a/PBS/metadata.txt b/PBS/metadata.txt index 616374233..a5df97de7 100644 --- a/PBS/metadata.txt +++ b/PBS/metadata.txt @@ -1692,6 +1692,7 @@ ShowArea=true BattleBack=Snow Bicycle=true MapPosition=1,25,4 +Weather=Snow,100 Outdoor=true ShowArea=true Environment = Snow diff --git a/PBS/trainers.txt b/PBS/trainers.txt index e31dd6ffa..8eb0b5bd0 100644 --- a/PBS/trainers.txt +++ b/PBS/trainers.txt @@ -991,7 +991,6 @@ Pokemon = B109H35,22 Pokemon = RATTATA,19 Pokemon = B16H109,19 #Koffgey, Pokemon = RATTATA,19 -Pokemon = B69H100,19 ######################################### [PICNICKER,Dana] @@ -1534,18 +1533,16 @@ Pokemon = B58H43,34 #oddlithe, ##################### [SAILOR,Dwayne] -Pokemon = B25H1,20 #Bulbchu, -Pokemon = B25H4,20 #Charchu, -Pokemon = B25H7,20 #Squirtchu, +Pokemon = B86H25,20 #seel + pikachu #---------------------------------------- [ENGINEER,Baily] -Pokemon = B100H14,21 #Kakorb, -Pokemon = B81H11,21 #Metamite, +Pokemon = B43H100,21 #oddish + voltorb, +Pokemon = B69H100,21 #bellsprout + voltorb, #-------------------------------------- [GENTLEMAN,Tucker] -Pokemon = B25H81,23 #Magnechu, +Pokemon = B66H8,23 #Machop + magnemite, ####################### @@ -2010,8 +2007,8 @@ Pokemon = B98H100,24 #voltby, Moves = METALCLAW,BUBBLE,LIGHTSCREEN,SPARK AbilityIndex = 1 Item = MAGNET -Pokemon = B17H25,24 #Pikeotto, - Moves = GUST,SANDATTACK,QUICKATTACK,ELECTROBALL +Pokemon = B50H25,24 #diglet + pikachu, + Moves = SANDATTACK,MUDSLAP,QUICKATTACK,THUNDERSHOCK AbilityIndex = 1 Item = MAGNET Pokemon = B125H26,26 #raibuzz, diff --git a/mkxp-z.exe b/mkxp-z.exe deleted file mode 100644 index 123928c0d..000000000 Binary files a/mkxp-z.exe and /dev/null differ diff --git a/mkxp.json b/mkxp.json deleted file mode 100644 index 326216c87..000000000 --- a/mkxp.json +++ /dev/null @@ -1,365 +0,0 @@ -{ - // Lines starting with '//' are comments. - // - // About filesystem paths specified in this config: - // The "gameFolder" path is resolved either relative - // to the directory containing the mkxp executable - // (the default behavior), or relative to the current - // working directory (when compiled with - // -DWORKDIR_CURRENT). All other paths are resolved - // relative to gameFolder and ignoring both RTPs and - // encrypted archives. - - - // Specify the RGSS version to run under. - // Possible values are 0, 1, 2, 3. If set to 0, - // mkxp will try to guess the required version - // based on the game files found in gameFolder. - // If this fails, the version defaults to 1. - // (default: 0) - // - "rgssVersion": 1, - - - // Create a debug context and log - // OpenGL debug information to the console - // (default: disabled) - // - "debugMode": false, - - - // Continuously print average FPS to console. - // This setting does not affect the window title - // FPS display toggled via F2 - // (default: disabled) - // - "printFPS": false, - - - // Game window is resizable - // (default: enabled) - // - "winResizable": true, - - - // Start game in fullscreen (this can - // always be toggled with Alt-Enter at runtime) - // (default: disabled) - // - "fullscreen": false, - - - // Preserve game screen aspect ratio, - // as opposed to stretch-to-fill - // (default: enabled) - // - "fixedAspectRatio": true, - - - // Apply linear interpolation when game screen - // is upscaled - // (default: disabled) - // - "smoothScaling": false, - - - // Sync screen redraws to the monitor refresh rate - // (default: disabled) - // - "vsync": false, - - - // Specify the window width on startup. If set to 0, - // it will default to the default resolution width - // specific to the RGSS version (640 in RGSS1, 544 - // in RGSS2 or higher). - // (default: 0) - // - "defScreenW": 512, - - - // Specify the window height on startup. If set to 0, - // it will default to the default resolution height - // specific to the RGSS version (480 in RGSS1, 416 - // in RGSS2 or higher). - // (default: 0) - // - "defScreenH": 384, - - - // Override the game window title - // (default: none) - // - //"windowTitle": "Pokémon Infinite Fusion", - - - // Enforce a static frame rate - // This option may be force-disabled at build time. - // (0 = disabled) - // - "fixedFramerate": 60, - - - // Skip (don't draw) frames when behind. - // Can be changed at runtime, but this is the - // default value when the game starts. - // (default: disabled) - // - "frameSkip": false, - - - // Use a fixed framerate that is approx. equal to the - // native screen refresh rate. This is different from - // "fixedFramerate" because the actual frame rate is - // reported back to the game, ensuring correct timers. - // If the screen refresh rate cannot be determined, - // this option is force-disabled. - // This option may be force-disabled at build time. - // (default: disabled) - // - "syncToRefreshrate": false, - - - // Don't use alpha blending when rendering text - // (default: disabled) - // - "solidFonts": false, - - - // Work around buggy graphics drivers which don't - // properly synchronize texture access, most - // apparent when text doesn't show up or the map - // tileset doesn't render at all - // (default: disabled) - // - "subImageFix": false, - - - // Enable framebuffer blitting if the driver is - // capable of it. Some drivers carry buggy - // implementations of this functionality, so - // disabling it can be used as a workaround - // (default: enabled) - // - "enableBlitting": true, - - - // Limit the maximum size (width, height) of - // most textures mkxp will create (exceptions are - // rendering backbuffers and similar). - // If set to 0, the hardware maximum is used. - // This is useful for recording traces that can - // be played back on machines with lower specs. - // (default: 0) - // - "maxTextureSize": 0, - - - // Set the base path of the game to '/path/to/game' - // (default: executable directory) - // - "gameFolder": ".", - - - // Use either right or left Alt + Enter to toggle - // fullscreen - // (default: disabled) - // - "anyAltToggleFS": false, - - - // Enable F12 game reset - // (default: enabled) - // - "enableReset": true, - - - // Names of the input buttons in the F1 key bindings - // window. This only affects the names displayed - // there, and won't enable those names as Input - // constants in the scripts. - "bindingNames": {"c": "Use", - "b": "Back", - "a": "Action", - "x": "JumpUp", - "y": "JumpDown", - "z": "Special", - "l": "(unused)", - "r": "(unused)"}, - - - // Allow symlinks for game assets to be followed - // (default: disabled) - // - "allowSymlinks": false, - - - // Organisation / company and application / game - // name to build the directory path where mkxp - // will store game specific data (eg. key bindings). - // If not specified, mkxp will save to a common - // directory shared by all games. Note that these - // are TWO individual config entries, and both need - // to be defined for this to take effect. - // (default: none) - // - // "dataPathOrg": "mycompany", - // "dataPathApp": "mygame", - - - // Set the game window icon to 'path/to/icon.png' - // (default: none) - // - // "iconPath": "/path/to/icon.png", - - - // Instead of playing an RPG Maker game, - // execute a single plain text script instead - // (default: none) - // - // "customScript": "/path/to/script.rb", - - - // Define raw scripts to be executed before the - // actual Scripts.rxdata execution starts - // This option may be force-disabled at build time. - // (default: none) - // - // "preloadScript": ["my_win32_wrapper.rb", - // "ruby18_fixes.rb"], - - - // Index all accesible assets via their lower case path - // (emulates windows case insensitivity) - // (default: enabled) - // - "pathCache": true, - - // In some versions of Essentials, overworld code - // requests the player's sprite texture from disk - // at least once every frame. The damage this - // causes is less perceptible in RPG Maker XP, - // but MKXP's RGSSAD code is much slower and will - // cause games to lag. Hard. - // - // I have no interest in fixing it, because: - // - // (A) I don't see any point in such frail encryption, and - // (B) One can easily replicate load_data entirely in Ruby - // (https://gist.github.com/inori-z/0800dbdc213b9936e0e81f64c9a98c4c) - // - // If you insist on using archives, you can use a - // version of Essentials that isn't broken, - // otherwise come up with your own solution - // (there are many), or leave your Graphics files - // loose and disable this option. - // (default: false) - // - "compressedGraphics": false, - - - // Add 'rtp1', 'rtp2.zip' and 'game.rgssad' to the - // asset search path (multiple allowed) - // (default: none) - // - // "RTP": ["/path/to/rtp1", - // "/path/to/rtp2.zip", - // "/path/to/game.rgssad"], - - - // Use the script's name as filename in warnings and error messages - // (default: enabled) - // - "useScriptNames": true, - - - // Font substitutions allow drop-in replacements of fonts - // to be used without changing the RGSS scripts, - // eg. providing 'Open Sans' when the game thinkgs it's - // using 'Arial'. Font family to be substituted and - // replacement family are separated by one sole '>'. - // Be careful not to include any spaces. - // This is not connected to the built-in font, which is - // always used when a non-existing font family is - // requested by RGSS. - // (default: none) - // - // "fontSub": ["Arial>Open Sans", - // "Times New Roman>Liberation Serif"] - - - // Because mkxp is usually distributed as a stand alone - // build, no predefined load paths are initialized - // ($:, $LOAD_PATH) in the MRI backend. With this option, - // they can be specified manually (eg. when using a system - // libruby.so). It is however recommended to statically - // link all required gems into libruby.so. - // (default: none) - // - // "rubyLoadpath": ["/usr/lib64/ruby/", - // "/usr/local/share/ruby/site_ruby"], - - // Determines whether JIT is enabled. This probably - // won't work unless you also have the header file - // that it needs. Only works with Ruby 2.6 or higher. - // (default: false) - // - "JITEnable": false, - - // Determines what level of verbosity to use when - // logging JIT events. Starts at 0, which is next - // to nothing. Set it higher to see more. - // (default: 0) - // - "JITVerboseLevel": 0, - - // Determines how many compiled methods that Ruby - // will keep in its cache. - // (default: 100) - // - "JITMaxCache": 100, - - // Determines how many times a function has to be - // called before it is compiled. - // (default: 10000) - // - "JITMinCalls": 10000, - - - // SoundFont to use for midi playback (via fluidsynth) - // (default: none) - // - "midiSoundFont": "soundfont.sf2", - - - // Activate "chorus" effect for midi playback - // - "midiChorus": false, - - - // Activate "reverb" effect for midi playback - // - "midiReverb": false, - - - // Number of OpenAL sources to allocate for SE playback. - // If there are a lot of sounds playing at the same time - // and audibly cutting each other off, try increasing - // this number. Maximum: 64. - // - "SESourceCount": 6 - - - // The Windows game executable name minus ".exe". By default - // this is "Game", but some developers manually rename it. - // mkxp needs this name because both the .ini (game - // configuration) and .rgssad (encrypted data archive) must - // carry the same name minus their extension, and we cannot - // guess the executable's name. - // You could just as well rename them both to "Game.ini" and - // "Game.rgssad", but specifying the executable name here - // is a tiny bit less intrusive. - // - "execName": "Game" - -}