Coder Social home page Coder Social logo

maruno17 / pokemon-essentials Goto Github PK

View Code? Open in Web Editor NEW
180.0 180.0 368.0 110.91 MB

A heavily modified RPG Maker XP game project that makes the game play like a Pokémon game. Not a full project in itself; this repo is to be added into an existing RMXP game project.

License: Other

Ruby 99.75% HTML 0.25%
pokemon rmxp rpg-maker-xp rpgmakerxp

pokemon-essentials's People

Contributors

aprogergely avatar c-ezra-m avatar conmh avatar corvusatrox avatar derxwnakapsyla avatar enlslive avatar fl- avatar golisopod-user avatar hm100 avatar hollow-ego avatar jonisavo avatar jvpr94 avatar kaividian avatar luka-sj avatar marin-mk avatar maruno17 avatar mlequime avatar nathan-mv avatar vendily avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pokemon-essentials's Issues

LIGHTTEXT colors are not applied to dark windowskins in pbMessage

image

As shown in the above screenshot, isDarkWindowskin is used to set the text colors before the windowskin is set in the pbMessageDisplay routine, which results in always choosing the DARKTEXT colors. This also affects the use of \c[0].

Moving \w out of the command loop and placing it with the text gsub routines, before the color assignment routine, will fix the issue

Doesn't work under MKXP-Z (Part 2, with solution)

Crashes due to an error trying to load a folder:

Is a directory @ rb_sysopen - Graphics/Characters/

001_FileTests.rb:370:in `initialize'
001_FileTests.rb:370:in `open'
001_FileTests.rb:370:in `pbGetFileChar'
008_AnimatedBitmap.rb:206:in `initialize'
008_AnimatedBitmap.rb:35:in `new'
008_AnimatedBitmap.rb:35:in `initialize'
003_Sprite_Character.rb:122:in `new'
003_Sprite_Character.rb:122:in `update'
009_Sprite_DynamicShadows.rb:154:in `update'
002_Tilemap_Perspective.rb:436:in `update'
003_Sprite_Character.rb:70:in `initialize'
009_Sprite_DynamicShadows.rb:131:in `initialize'
002_Tilemap_Perspective.rb:430:in `initialize'
007_Spriteset_Global.rb:8:in `new'
007_Spriteset_Global.rb:8:in `initialize'
002_Scene_Map.rb:17:in `new'
002_Scene_Map.rb:17:in `createSpritesets'
002_Scene_Map.rb:220:in `main'
999_Main.rb:62:in `mainFunctionDebug'
999_Main.rb:45:in `mainFunction'
999_Main.rb:73:in `block (2 levels) in load_scripts_from_folder'
999_Main.rb:72:in `loop'
999_Main.rb:72:in `block in load_scripts_from_folder'
000:Main:31:in `eval'
000:Main:31:in `block in load_scripts_from_folder'
000:Main:28:in `each'
000:Main:28:in `load_scripts_from_folder'
000:Main:41:in `block in load_scripts_from_folder'
000:Main:40:in `each'
000:Main:40:in `load_scripts_from_folder'
000:Main:45:in `<main>'
ruby:in `eval'

In Ruby 1.9, string indexing was changed to return codepoints rather than bytes, so the != 0x2F check never fires. I believe this patch should fix it on both vanilla Game.exe and MKXP:

diff --git a/Data/Scripts/009_Objects and windows/008_AnimatedBitmap.rb b/Data/Scripts/009_Objects and windows/008_AnimatedBitmap.rb
index dbad67c..530b0ed 100644
--- a/Data/Scripts/009_Objects and windows/008_AnimatedBitmap.rb
+++ b/Data/Scripts/009_Objects and windows/008_AnimatedBitmap.rb
@@ -196,8 +196,10 @@ class GifBitmap
     rescue
       bitmap = nil
     end
+
     if !bitmap || (bitmap.width == 32 && bitmap.height == 32)
-      if !file || file.length < 1 || file[file.length - 1] != 0x2F
+      lastchar = file[file.length - 1]
+      if !file || file.length < 1 || (lastchar != 0x2F && lastchar != "/")
         if (filestring = pbGetFileChar(file))
           filestrName = file
         elsif (filestring = pbGetFileChar(file + ".gif"))

Apologies if it's a bit of a hack, I'm not too familiar with Ruby.

Multi-Attack bug

How to Reproduce: using Multi-Attack with Memory things. MASTER BRANCH
image

Use of $Trainer.setSeen results in pokedex error

After seeing a pokemon using the $Trainer.setSeen command, the game results in a crash when opening the pokedex and going to the map screen. Specific pokemon doesn't matter.
Error message below. Confirmed to exist with multiple people.

Powder moves

I noticed that (highly skilled) trainers would try to use Stun Spore on Grass types.
I think this is because pbCheckMoveImmunity only runs if the move is a damaging move, and there is nowhere else where the grass immunity to powder comes up.

Perhaps the pbCheckMoveImmunity call should just happen at the start of pbGetMoveScore?

def pbGetMoveScore(move,user,target,skill=100)

Don't know how to open a pokemon essentials project.

image
The tutorials that I have seen for pokemon essentials have an archive called Game.rx.proj which the creator of the videos says that it comes with the download, how do I start using pokemon essentials on RPG Maker XP?

Control Timers visual bug

Has been tested in a fresh version of essentials.

Following event action sequence causes a visual bug where the timer isn't drawn on-screen:
-control timer startup (timer appears just fine)
-control timer stop (timer disappears as expected)
-control timer startup (subsequent timers no longer show up, however time is being kept correctly behind the scenes)

translate

Hi, i love your project.. I need to translate my poke game but i need help to translate the game:

in db mode: decompiled text

i modify the text
compile in .dat

after i put in the data folder and modify from tools > scripts editor > settings > add languages in the array

when i start the game and choose the language it show me in the default language. English.
I tried delete messages.dat and rename my file to messages.dat but not working

Help!

Day Cares broken in stock Essentials v19.1 with Hotfixes v1.0.7 plugin

`[Pokémon Essentials version 19.1]
[Generation 8 Project v1.1.0]
[v19.1 Hotfixes 1.0.7]

Exception: RuntimeError
Message: Script error in event 3 (coords 4,4), map 472 (Lavaridge Day Care):
Exception: NoMethodError
Message: undefined method `isSpecies?' for nil:NilClass

***Full script:
pbDayCareDeposit(pbGet(1))

Backtrace:
221:Overworld_DayCare:55:in block in pbDayCareDeposit' 221:Overworld_DayCare:51:in each'
221:Overworld_DayCare:51:in pbDayCareDeposit' (eval):1:in execute_script'
033:Interpreter:137:in eval' 033:Interpreter:137:in execute_script'
034:Interpreter_Commands:1030:in command_355' 034:Interpreter_Commands:116:in execute_command'
033:Interpreter:127:in block in update' 033:Interpreter:87:in loop'

Backtrace:
033:Interpreter:189:in rescue in execute_script' 033:Interpreter:135:in execute_script'
034:Interpreter_Commands:1030:in command_355' 034:Interpreter_Commands:116:in execute_command'
033:Interpreter:127:in block in update' 033:Interpreter:87:in loop'
033:Interpreter:87:in update' 032:Scene_Map:157:in block in update'
032:Scene_Map:155:in loop' 032:Scene_Map:155:in update'
`

The error happens immediately upon choosing a Pokemon. First a blank text box opens, and upon closing it I get the above error.

The error above is from a town in my game, but the error also happens in the example maps, namely Lerucean Town's Day Care.

If this has been fixed in a newer version of the hotfixes plugin, please notify me and close this issue.

Tapping the movement keys does not allow movement

When you try to move in the direction you're facing by tapping the corresponding movement key, the movement is not registered.

nomove.webm

You have to hold the movement key for the movement input to be recognized.

Due to update_command_new running even when standing still, @lastdir = dir is always set to 0 so the logic does not work properly.

I naively fixed it like this. I think it makes sense to run this part of the code only when there is movement to process, but I'm not confident enough in it to make it a PR.

diff --git a/Data/Scripts/004_Game classes/008_Game_Player.rb b/Data/Scripts/004_Game classes/008_Game_Player.rb
index 8f49870b..e9746a8c 100644
--- a/Data/Scripts/004_Game classes/008_Game_Player.rb	
+++ b/Data/Scripts/004_Game classes/008_Game_Player.rb	
@@ -432,11 +432,11 @@ class Game_Player < Game_Character
     dir = Input.dir4
     if $PokemonGlobal.forced_movement?
       move_forward
-    elsif !pbMapInterpreterRunning? && !$game_temp.message_window_showing &&
+    elsif dir > 0 && !pbMapInterpreterRunning? && !$game_temp.message_window_showing &&
           !$game_temp.in_mini_update && !$game_temp.in_menu
       # Move player in the direction the directional button is being pressed
       if @moved_last_frame ||
-         (dir > 0 && dir == @lastdir && System.uptime - @lastdirframe >= 0.075)
+         (dir == @lastdir && System.uptime - @lastdirframe >= 0.075)
         case dir
         when 2 then move_down
         when 4 then move_left
yesmove.webm

Ability :MUMMY raises an error

BattleHandlers::TargetAbilityOnHit.add(:MUMMY,
  proc { |ability,user,target,move,battle|
    next if !move.pbContactMove?(user)
    next if user.fainted?
    next if user.unstoppableAbility? || user.ability == ability
    oldAbil = -1
    battle.pbShowAbilitySplash(target) if user.opposes?(target)
    if user.affectedByContactEffect?(PokeBattle_SceneConstants::USE_ABILITY_SPLASH)
      oldAbil = user.ability
      battle.pbShowAbilitySplash(user,true,false) if user.opposes?(target)
      user.ability = ability
      battle.pbReplaceAbilitySplash(user) if user.opposes?(target)
      if PokeBattle_SceneConstants::USE_ABILITY_SPLASH
        battle.pbDisplay(_INTL("{1}'s Ability became {2}!",user.pbThis,user.abilityName))
      else
        battle.pbDisplay(_INTL("{1}'s Ability became {2} because of {3}!",
           user.pbThis,user.abilityName,target.pbThis(true)))
      end
      battle.pbHideAbilitySplash(user) if user.opposes?(target)
    end
    battle.pbHideAbilitySplash(target) if user.opposes?(target)
    user.pbOnAbilityChanged(oldAbil) if oldAbil>=0
  }
)

It doesn't like the last line.
I guess it used to refer to an ID which was a number, but not it is a symbol it doesn't like the >= logic?
(this won't crash the game once you dismiss the warning)

Map Connection with Events on border can cause stack level too deep?

Update: It seems like putting any Event on the border of the map (in certain order) will cause the game to crash when they are connected.

How to reproduce:
Case A:

Map A => Map B (Connected from A to B)

In the example above, if you have a map connection between A and B, if you have an event at the right border of Map B, the game simply crashes.

Case B:

Map B  (Connected from A to B)
   ^
Map A (Main map)

In this case, if you have an event on the top border of Map B, it would crash.

The direction in which the connection is made would mean that the connected map's border can't have an event at all.

Official logs... without modification.

[2022-05-30 23:01:44 +0800]
[Pokémon Essentials version 20]

Exception: SystemStackError
Message: stack level too deep

Backtrace:

Translate help

Hi, i love your project.. I need to translate my poke game but i need help to translate the game:

in db mode: decompiled text

i modify the text
compile in .dat

after i put in the data folder and modify from tools > scripts editor > settings > add languages in the array

when i start the game and choose the language it show me in the default language. English.
I tried delete messages.dat and rename my file to messages.dat but not working

Help!

Battle Bond not working as intended in v19.1

The below text is the relevant code:

    # Greninja - Battle Bond
    if !user.fainted? && !user.effects[PBEffects::Transform] &&
       user.isSpecies?(:GRENINJA) && user.ability == :BATTLEBOND
      if [email protected]?(user.idxOpposingSide) &&
         [email protected][user.index&1][user.pokemonIndex]
        numFainted = 0
        targets.each { |b| numFainted += 1 if b.damageState.fainted }
        if numFainted>0 && user.form==1
          @battle.battleBond[user.index&1][user.pokemonIndex] = true
          @battle.pbDisplay(_INTL("{1} became fully charged due to its bond with its Trainer!",user.pbThis))
          @battle.pbShowAbilitySplash(user,true)
          @battle.pbHideAbilitySplash(user)
          user.pbChangeForm(2,_INTL("{1} became Ash-Greninja!",user.pbThis))
        end
      end
    end

I'm no expert at reading code, but I think it's weird that the code first sets numFainted to 0, then, within another if statement nested right after that, says if numFainted>0 && user.form==1. This means that numFainted will never be more than 0, making Battle Bond never trigger. Possibly needs rewritten without being nested. Maruno, can you please post a working version of this code in the comments here so I can update it in my game? Thanks.

AI_Switch does not execute correctly

When the AI determines a switch is necessary, the script errors out and the AI does nothing on that turn. Have only been able to test with enemy trainers with gym leader level AI.

Error message:
[Pokémon Essentials version 19]

Exception: ArgumentError
Message: comparison of Symbol with 0 failed

Backtrace:
003_AI_Switch.rb:110:in >=
003_AI_Switch.rb:110:in block in pbEnemyShouldWithdrawEx?
003_AI_Switch.rb:94:in each
003_AI_Switch.rb:94:in each_with_index
003_AI_Switch.rb:94:in pbEnemyShouldWithdrawEx?
003_AI_Switch.rb:6:in pbEnemyShouldWithdraw?
004_PokeBattle_BattlePalace.rb:193:in pbEnemyShouldWithdraw?
005_PokeBattle_BattleArena.rb:178:in pbEnemyShouldWithdraw?
001_PokeBattle_AI.rb:64:in pbDefaultChooseEnemyCommand
010_Battle_Phase_Command.rb:200:in block in pbCommandPhaseLoop

Show Animation Command

The Show Animation command in the event editor is broken. It doesn't display anything when used.

Symbiosis

It seems that because opposes? defaults to index=0, symbiosis cannot trigger for the opposing team.
So it needs to be "opposes?(self)" here instead.

p.s. I also had to rename pbSymbiosis. I have no idea why, it just wouldn't fire without the rename (I could write puts "hello world" at the start and it wouldn't even print. No idea why this was, never seen that before).

Bug?: Evolution after being defeated in battle

Tested on Essentials v18.1; if you have a Pokemon gain a level and it meets the requirements for evolution, then it faints in battle and you are totally defeated, the Pokemon will still evolve before you're sent back to the Pokemon Center/Home. I'm fairly certain this isn't base Pokemon mechanics? I don't remember seeing it in the v18 or 18.1 change log, so if it is I completely overlooked it.

Edit: There is one throwaway line on Bulbapedia that mentions that "Prior to Generation VI, the Pokémon will not be given the opportunity to evolve if player blacks out.". I guess that would make this not a bug, except I didn't see this change listed anywhere in the v18/18.1 change log.

Crash when using proc as PictureEx callback

In def callback(cb), if cb.is_a?(Proc); proc.call(self) needs to be changed to if cb.is_a?(Proc); cb.call(self) to fix it.

Script '[Main]' line 120: ArgumentError occurred.

tried to create Proc object without a block

from eval line 120 in `proc'
from eval line 120 in `callback'
from eval line 432 in `update'
from eval line 338 in `each'
from eval line 338 in `update'
from eval line 54 in `update'
from eval line 51 in `each_with_index'
from eval line 51 in `each'
from eval line 51 in `each_with_index'
from eval line 51 in `update'
from eval line 29 in `pbGraphicsUpdate'
from eval line 28 in `each_with_index'

surfing graphic on invalid tile

surf graphic is shown in invalid tile if a map transfer happens while surfing (stops when the player moves)

Pokemon.Essentials.v21.1.2023-12-19.15-15-02.mp4

Latest version causes crash on movement

After the following update: "Fixed X items being unusable by AI, finally fixed step after battle caused by a turn"
The game now crashes on any type of movement by the player. Error message:

Pokemon don't retain form upon evolution

Pokémon do not retain their forms upon evolving, even if the form is forced through the debug menu.

Full context: A regional variant evolutionary line of a Pokémon is not retained upon evolving. For example, a Rattata-1 will not evolve in to a Raticate-1, but will revert to a Raticate-0. This seems to happen regardless of the specifics of getFormOnCreation. This also occurs with Pumpkaboo/Gourgeist, which was changed from a forced form 3 to form 0 upon evolving.

Edit: further testing has made it clear that the form is discarded somewhere during the evolution stage after the function decides what sprite to show for the evolution screen. The Pokémon visually looks like the form they should have turned in to, but as soon as the evolution is completed it will start the new move learning process for their form 0 move set (if the move sets differ).

Dependent Events don't work as intended.

Dependent events are bugged, and the event that is supposed to go with the player doesn't. For some reason, if you have an old enough save file, dependent events work just fine. Also, when dependent events do work, if the player moves before the dependent event is finished hopping down a ledge, the dependent event goes spastic; this continues until the player decides to stop moving.

How to produce: I don't actually know the exact trigger. I just started a new game on a vanilla fork of the GitHub, and the dependency event just didn't work on that save file. For some reason, it worked with the older save file. I have no idea why. It's literally the exact same game, same scripts, etc.

The problem if you start a new game/have a save file that isn't old enough: https://i.imgur.com/tB5fhdc.gifv
The dependent event working in an old save file, but spazzing out when going down ledges: https://i.imgur.com/gkSM8lG.gifv

The partner trainer does show up in battle, though.

Single member party with an Illusion mon causes the pokemon to copy itself.

It seems to be related to this -1, as later down ret = i if partyOrders[i]>partyOrders[ret] would be ret = i if partyOrders[0]>partyOrders[-1] and in a single mon party, both of those are 0, and ret doesn't get changed from -1.

And since -1 != 0, Illusion copies the -1 slot, which is the first and only mon, itself.

Changing the linked line to ret = 0 seems to resolve this issue with no effect to larger parties.

Toxic icon not updating proeprly

When testing out Toxic Spikes and Toxic in v18.1.dev, I've noticed that the new indicator for the Toxic status doesn't actually display properly. Initially, it shows the regular poison icon. Even after taking damage it doesn't update the icon. It only updates the icon to the proper toxic icon after a Pokemon has been swapped out, or something of likely similar affect updates the battle scene.

Video footage of the issue in action can be found here.

DoubleBattle: Battlers are not shown

In a Double Battle (2v2) opposing battlers joining the fight after a previous battler has been defeated will not be shown (only their shadow) if they are of the same type as the battler just defeated.
Their sprite is shown once the take damage.
The issue does not exist in a 1v1 battle.

Tested on a fresh v21.1 install to confirm.

Minimal example (rmxp event):

Script: pbTrainerIntro(:CAMPER)
Script: pbNoticePlayer(get_self)
Text: Try it.
Script: setBattleRule("double")
Conditional: TrainerBAttle.start(:CAMPER, "Jeff") THEN SelfSwitch A = ON
Script: pbTrainerEnd

trainers.txt:

[CAMPER,Jeff]
LoseText = A very good battle, indeed!
Pokemon = BELLSPROUT,1
Pokemon = BELLSPROUT,1
Pokemon = BELLSPROUT,1
Pokemon = BELLSPROUT,1

Screen goes black after battle, except overworld events

I am using a clean copy of Base Essentials plus the v20 Hotfixes plugin 1.0.3 only. After battling, part of the screen goes black. I have attached a before and after image. After moving away from the black part and coming back, the black part no longer appears.

Before:
Before

After:
After

.

Doesn't work under MKXP-Z (Part 1)

Segfault when attempting to read the save game directory. I replaced it in my local copy with a ./Saves directory.

$ ./mkxp-z_essentials_debug.exe
RGSS version 1 (RPG Maker XP)
ALC_SOFT_pause_device present
GL Vendor    : NVIDIA Corporation
GL Renderer  : GeForce GTX 1050 Ti/PCIe/SSE2
GL Version   : 4.6.0 NVIDIA 456.71
GLSL Version : 4.60 NVIDIA
Warning: No soundfont specified, sound might be mute
Warning: No soundfont specified, sound might be mute
001_PSystem_Controls.rb:14: warning: already initialized constant Input::DOWN
001_PSystem_Controls.rb:15: warning: already initialized constant Input::LEFT
001_PSystem_Controls.rb:16: warning: already initialized constant Input::RIGHT
001_PSystem_Controls.rb:17: warning: already initialized constant Input::UP
001_PSystem_Controls.rb:19: warning: already initialized constant Input::A
001_PSystem_Controls.rb:20: warning: already initialized constant Input::B
001_PSystem_Controls.rb:21: warning: already initialized constant Input::C
001_PSystem_Controls.rb:22: warning: already initialized constant Input::X
001_PSystem_Controls.rb:23: warning: already initialized constant Input::Y
001_PSystem_Controls.rb:24: warning: already initialized constant Input::Z
001_PSystem_Controls.rb:25: warning: already initialized constant Input::L
001_PSystem_Controls.rb:26: warning: already initialized constant Input::R
001_PSystem_Controls.rb:29: warning: already initialized constant Input::SHIFT
001_PSystem_Controls.rb:30: warning: already initialized constant Input::CTRL
001_PSystem_Controls.rb:31: warning: already initialized constant Input::ALT
001_PSystem_Controls.rb:36: warning: already initialized constant Input::F5
001_PSystem_Controls.rb:38: warning: already initialized constant Input::F6
001_PSystem_Controls.rb:39: warning: already initialized constant Input::F7
001_PSystem_Controls.rb:40: warning: already initialized constant Input::F8
001_PSystem_Controls.rb:41: warning: already initialized constant Input::F9
001_FileTests.rb:92: [BUG] Segmentation fault
ruby 3.0.0p0 (2020-12-25 revision d14ca933c2) [x64-mingw32]

-- Control frame information -----------------------------------------------
c:0023 p:---- s:0122 e:000121 CFUNC  :call
c:0022 p:0038 s:0115 e:000114 BLOCK  001_FileTests.rb:92 [FINISH]
c:0021 p:---- s:0111 e:000110 CFUNC  :loop
c:0020 p:0065 s:0107 e:000106 METHOD 001_FileTests.rb:88
c:0019 p:0103 s:0098 e:000097 METHOD 001_FileTests.rb:154
c:0018 p:0015 s:0088 e:000087 METHOD 001_FileTests.rb:307
c:0017 p:0003 s:0081 e:000080 METHOD 001_FileTests.rb:298
c:0016 p:0038 s:0076 e:000074 METHOD 002_PSystem_System.rb:27
c:0015 p:0015 s:0066 e:000065 METHOD 999_Main.rb:53
c:0014 p:0015 s:0062 e:000061 METHOD 999_Main.rb:45
c:0013 p:0004 s:0058 e:000057 BLOCK  999_Main.rb:73 [FINISH]
c:0012 p:---- s:0054 e:000053 CFUNC  :loop
c:0011 p:0028 s:0050 e:000049 EVAL   999_Main.rb:72 [FINISH]
c:0010 p:---- s:0047 e:000046 CFUNC  :eval
c:0009 p:0036 s:0040 e:000039 BLOCK  000:Main:31 [FINISH]
c:0008 p:---- s:0035 e:000034 CFUNC  :each
c:0007 p:0034 s:0031 e:000030 METHOD 000:Main:28
c:0006 p:0014 s:0024 e:000023 BLOCK  000:Main:41 [FINISH]
c:0005 p:---- s:0020 e:000019 CFUNC  :each
c:0004 p:0046 s:0016 e:000015 METHOD 000:Main:40
c:0003 p:0014 s:0009 e:000008 EVAL   000:Main:45 [FINISH]
c:0002 p:---- s:0006 e:000005 CFUNC  :eval
c:0001 p:0000 s:0003 E:001770 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
ruby:0:in `eval'
000:Main:45:in `<main>'
000:Main:40:in `load_scripts_from_folder'
000:Main:40:in `each'
000:Main:41:in `block in load_scripts_from_folder'
000:Main:28:in `load_scripts_from_folder'
000:Main:28:in `each'
000:Main:31:in `block in load_scripts_from_folder'
000:Main:31:in `eval'
999_Main.rb:72:in `block in load_scripts_from_folder'
999_Main.rb:72:in `loop'
999_Main.rb:73:in `block (2 levels) in load_scripts_from_folder'
999_Main.rb:45:in `mainFunction'
999_Main.rb:53:in `mainFunctionDebug'
002_PSystem_System.rb:27:in `pbSetUpSystem'
001_FileTests.rb:298:in `getSaveFileName'
001_FileTests.rb:307:in `getSaveFolder'
001_FileTests.rb:154:in `getKnownFolder'
001_FileTests.rb:88:in `getUnicodeString'
001_FileTests.rb:88:in `loop'
001_FileTests.rb:92:in `block in getUnicodeString'
001_FileTests.rb:92:in `call'

-- C level backtrace information -------------------------------------------
C:\WINDOWS\SYSTEM32\ntdll.dll(ZwWaitForSingleObject+0x17) [0x00007fff2cc2c037]
C:\WINDOWS\System32\KERNELBASE.dll(WaitForSingleObjectEx+0x8e) [0x00007fff2a84a34e]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_print_backtrace+0x50) [0x0000000063bb543e]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_bugreport+0x8f) [0x0000000063bb54d4]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_bug_for_fatal_signal+0x85) [0x00000000639c44d3]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_get_next_signal+0x135) [0x0000000063b10433]
C:\WINDOWS\System32\msvcrt.dll(XcptFilter+0x19a) [0x00007fff2c797f0a]
C:\WINDOWS\System32\msvcrt.dll(memset+0xc58) [0x00007fff2c7e52d8]
C:\WINDOWS\System32\msvcrt.dll(_C_specific_handler+0x98) [0x00007fff2c797ff8]
C:\WINDOWS\SYSTEM32\ntdll.dll(_chkstk+0x11f) [0x00007fff2cc3130f]
C:\WINDOWS\SYSTEM32\ntdll.dll(RtlRaiseException+0x434) [0x00007fff2cbdb5e4]
C:\WINDOWS\SYSTEM32\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x00007fff2cc2fe3e]
C:\WINDOWS\SYSTEM32\ntdll.dll(RtlCopyMemory+0x63) [0x00007fff2cc32de3]
 [0x0000000000d5ab39]
 [0x0000000000d5a0f0]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x211e) [0x0000000063b8acbb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x2e9b) [0x0000000063b8ba38]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x38c7) [0x0000000063b8fb43]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_lvar_exposed+0x3891) [0x0000000063b96670]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_exec+0x13a) [0x0000000063baa855]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x398) [0x0000000063ba76f6]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x8ec) [0x0000000063ba7c4a]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0xb39) [0x0000000063ba7e97]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_f_send+0xcc) [0x0000000063ba2fdb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield_block+0x7f) [0x0000000063ba330b]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vrescue2+0x13a) [0x00000000639ce6bb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_rescue2+0x47) [0x00000000639ce573]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield_block+0x153) [0x0000000063ba33df]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x214d) [0x0000000063b8acea]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x2e9b) [0x0000000063b8ba38]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x303f) [0x0000000063b8bbdc]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x11f4) [0x0000000063b8d470]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x169c) [0x0000000063b8d918]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x16f2) [0x0000000063b8d96e]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x38c7) [0x0000000063b8fb43]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_lvar_exposed+0x3734) [0x0000000063b96513]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_exec+0x13a) [0x0000000063baa855]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x398) [0x0000000063ba76f6]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x8ec) [0x0000000063ba7c4a]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0xb39) [0x0000000063ba7e97]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_f_send+0xcc) [0x0000000063ba2fdb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield_block+0x7f) [0x0000000063ba330b]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vrescue2+0x13a) [0x00000000639ce6bb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_rescue2+0x47) [0x00000000639ce573]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield_block+0x153) [0x0000000063ba33df]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x214d) [0x0000000063b8acea]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x2e9b) [0x0000000063b8ba38]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x303f) [0x0000000063b8bbdc]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x11f4) [0x0000000063b8d470]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x169c) [0x0000000063b8d918]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x16f2) [0x0000000063b8d96e]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x38c7) [0x0000000063b8fb43]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_lvar_exposed+0x3734) [0x0000000063b96513]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_exec+0x13a) [0x0000000063baa855]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_each+0x33e) [0x0000000063ba3ca6]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_f_eval+0xdc) [0x0000000063ba3e6c]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x211e) [0x0000000063b8acbb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x2e9b) [0x0000000063b8ba38]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x38c7) [0x0000000063b8fb43]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_lvar_exposed+0x3891) [0x0000000063b96670]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_exec+0x13a) [0x0000000063baa855]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x398) [0x0000000063ba76f6]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x8ec) [0x0000000063ba7c4a]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0xb39) [0x0000000063ba7e97]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_f_send+0xcc) [0x0000000063ba2fdb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield_1+0x1a) [0x0000000063ba2ffb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield+0x2d) [0x0000000063ba302e]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_ary_each+0x67) [0x0000000063947496]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x214d) [0x0000000063b8acea]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x2e9b) [0x0000000063b8ba38]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x38c7) [0x0000000063b8fb43]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_lvar_exposed+0x3734) [0x0000000063b96513]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_exec+0x13a) [0x0000000063baa855]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x398) [0x0000000063ba76f6]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0x8ec) [0x0000000063ba7c4a]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_binding_add_dynavars+0xb39) [0x0000000063ba7e97]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_f_send+0xcc) [0x0000000063ba2fdb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield_1+0x1a) [0x0000000063ba2ffb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_yield+0x2d) [0x0000000063ba302e]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_ary_each+0x67) [0x0000000063947496]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x214d) [0x0000000063b8acea]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x2e9b) [0x0000000063b8ba38]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_find_defined_class_by_owner+0x38c7) [0x0000000063b8fb43]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_lvar_exposed+0x3734) [0x0000000063b96513]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_exec+0x13a) [0x0000000063baa855]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_each+0x33e) [0x0000000063ba3ca6]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_f_eval+0xdc) [0x0000000063ba3e6c]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_splat_or_kwargs_p+0x211e) [0x0000000063b8acbb]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_call0+0x345) [0x0000000063ba0a2e]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_call0+0x454) [0x0000000063ba0b3d]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_call0+0x5e6) [0x0000000063ba0ccf]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_call0+0xe4) [0x0000000063ba07cd]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_vm_call_kw+0x4f) [0x0000000063ba11ca]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_current_receiver+0x1df) [0x0000000063ba1562]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_type_str+0x43a) [0x0000000063ba216b]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_funcallv+0x3d) [0x0000000063ba2868]
 [0x0000000000d3b7b9]
C:\Users\L\Documents\PokemonHack\x64-msvcrt-ruby300.dll(rb_protect+0x1c4) [0x00000000639cea40]
 [0x0000000000d3e4cd]
 [0x0000000000cce41e]
C:\Users\L\Documents\PokemonHack\mkxp-z_essentials_debug.exe(SDL_DYNAPI_entry+0x42ac2) [0x000000000103dace]
C:\Users\L\Documents\PokemonHack\mkxp-z_essentials_debug.exe(SDL_DYNAPI_entry+0x15ec87) [0x0000000001159c93]
C:\Users\L\Documents\PokemonHack\mkxp-z_essentials_debug.exe(SDL_DYNAPI_entry+0x15ecd4) [0x0000000001159ce0]
C:\WINDOWS\System32\msvcrt.dll(beginthreadex+0x12a) [0x00007fff2c7aaf5a]
C:\WINDOWS\System32\msvcrt.dll(endthreadex+0xac) [0x00007fff2c7ab02c]
C:\WINDOWS\System32\KERNEL32.DLL(BaseThreadInitThunk+0x14) [0x00007fff2c6c7034]

-- Other runtime information -----------------------------------------------

* Loaded script: ruby

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 ruby2_keywords.rb
    5 zlib.so

[Gen8] Mega-Evolution not working anymore

Hey,
I noticed a bug with Mega-Evolutions. Mega-Stone are not recognized as such.
In detail, in the file Scripts/016_Pokemon/003_Pokemon_MegaEvolution.rb, in the function def getMegaForm(checkItemOnly=false), whether the pokemon has a mega form or not, the function always returns 0.
I think the issue comes from the function def hasItem?(item_id = 0) in the file 016_Pokemon/001_PokeBattle_Pokemon.rb. After PR #74, a new line has been added: return false if !hasConst?(PBItems,item_id)
The problem is that hasConst?(PBItems,item_id) always returns false in the case of Mega-Stones.
I didn't notice any other bug with items, so I don't know for sure why it's doing this.

Bug: X-Items not working correctly.

2021-02-15.22-33-44.mp4

According to my testing in my own projects and Essentials v18.1, X-Items are still bugging out. They seem to have a really weird quirk where they only work properly on the Pokemon in the first slot of the party before battle starts. If that pokemon doesn't participate in battle, either via fainting, before or during or switching to a different Pokemon, then X-Items stop working properly. When using an X-Item on the Pokemon in the second slot, it suddenly starts showing them being used on the AI Pokemon. If you switch to a Pokemon in a different slot altogether, the game starts throwing error reports.

https://i.imgur.com/9b9J41Y.png

Issue with using the "Jump" command in the "Set Move Route" Menu.

After merging the latest commits from the master branch, the following error message pops up when any character tries to jump in place, i.e. the x+ and y+ coordinates are set to 0. Multiple people have reported the same problem in their games. Error Message

How to reproduce: Have any move route call the "Jump" function and set the coordinates to x+0 and y+0.
Event

Quirk: pbNoticePlayer doesn't really display over overworlds in base essentials

This... Isn't really a bug per se, but it is an oddity with the way base Essentials works. basically, when pbNoticePlayer is on an event (at least, a trainer event), it displays the exclaim bubble over the center of the event, instead of over its head. Theoretically, a person could just add additional height over the overworld sprite, I think? However, as this is something involving Base Essentials, I felt it was worth bringing up. A potential fix would involve allowing the user to set an x/y coordinate for pbNoticeTrainer, making it much more malleable for larger/smaller events.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.