Let's try another approach.
I made a series of improvements and added some parameters to control character sprite positioning and character HUD resizing, changed some classes to minimize conflicts with other plugins, and performed tests including VisuMZ_0_CoreEngine.
Please download the new version of the plugin, take a look at the updates in the documentation and the video on the page that shows the expected behavior of the plugin, and perform some tests. Perhaps adjusting the positioning can solve your problem.
Thank you for your patience and for the opportunity to contribute to your project.
Viewing post in Kadajah's Battle Summon System for RPG Maker MZ comments
actually you did fix the transformation aspect for me which is awesome thank you. The adding character still does the glitch but i just needed the transformation aspect. Thank you very much.
Would it be possible to make it compatible with the time progress wait system? If that part is too much I can make just use regular turn based :)
I really appreciate the help you gave me though you're awesome :)
Thanks for the feedback! I'm glad it worked!
I made a version of the plugin that intercepts the standard turn-based system actions and adapts them for summoning. I added a parameter to the plugin settings to enable this function and use the standard RPG MAKER turn behavior, either Active or Wait.
I uploaded it as a separate file (Kadajah_BattleSummon(TPB) because I haven't had time to properly test it before releasing it as a version update.
Could you test if it meets your needs? I will be conducting tests to release it as an update to the current version as soon as possible.
First of all, I would like to apologize. The version had a critical error that was preventing the timer from starting to count down; this was affecting the ATB system.
Second, I swear to myself again that I will not post anything without exhaustively testing it first. I performed the tests today and found the errors that were preventing the system from working.
I prepared a new version (this time tested), which is operational and "seems" stable. Please download it again and perform some tests; I hope that this time your problem is solved.
This is a bit frustrating, but we won't give up. I tried to reproduce the behavior you described, but I couldn't. Analyzing the code, I couldn't find a specific cause that might be creating this problem.
I created a new version! (I'm sorry!),
I added a layer of protection over the battle state to prevent defeat related to summoning and a detailed chain of logs, which can be accessed via the console (f8).
Please download the new version, the file is already updated, and do some tests. If any errors occur, copy the console log and share it here, so we know exactly what's happening.
Some tests can be followed here:
AH MY BAD on the defeated thing that was actually my fault. It was from a different plugin I had that labelled it wrongly.
my only problem is that its not replacing my actor sprite with the new sprite. its just sort of placing him behind him. I think it has something to do with the visustella battlecore. Cause disabling that seemed to fix the replacement. I don't really know what battlecore is doing though to mess with the actor substitution.
[Kadajah Summon] 4:26:56 AM - Plugin Parameters Loaded. Summon Settings: Array(1)
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:27:02 AM - Summon Command Selected.
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:27:03 AM - Summon Selection OK. Summoner: 1
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:27:03 AM - Pre-loading face for Actor 14
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:27:03 AM - addSummon Initiated. Unit: 14, Summoner: 1, Mode: Normal
Kadajah_BattleSummon.js:546 [Kadajah Summon] 4:27:03 AM - Actor 14 initializing as Summon Object
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:27:03 AM - Executing Substitution Mode
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:27:03 AM - Refreshing Party Sprites.
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:27:03 AM - Face loaded for . Refreshing status window.
[Kadajah Summon] 4:28:07 AM - Battle Ended. Clearing Summons.
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:28:07 AM - Clear All Summons Called.
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:28:07 AM - Game_Party removeSummon called for ID: 14
Kadajah_BattleSummon.js:546 [Kadajah Summon] 4:28:07 AM - Removed from _currentSummons list. Remaining: []
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:28:07 AM - Reverting Substitution. Returning Actor 1 to index 0
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:28:07 AM - Refreshing Party Sprites.
Kadajah_BattleSummon.js:548 [Kadajah Summon] 4:28:07 AM - Refreshing Party Sprites.
I believe I have finally solved the problem. The logs and their tests revealed that the plugin's workflow was correct; disabling BattleCore solved the problem, so it became clear that both plugins were modifying the same properties of the battle screen.
When comparing the behavior of the two plugins, the problem occurred because BattleCore alters the structure of where the actor sprites are stored on the battle screen (it uses specific containers instead of the standard _battleField of RPG Maker MZ).
In my plugin, the system tries to remove the old sprite by searching for it directly in _battleField. Since BattleCore moved this sprite to another location, the removal command fails silently, the old sprite (the summoner) remains on the screen, and the new sprite (the summon) is drawn over or under it, creating an overlap or visual glitch.
I updated the version by adding a check to clear the sprite from the BattleCore container if it is active, and in the tests I did here it worked correctly.
Could you download the new version and test it again? I'm optimistic that we've solved the problem this time!
Actually yeah the sprite is now being changed and even the regular summon part works now! the only problem is using an item now results in
rmmz_managers.js:2080 TypeError: BattleManager.actor(...).setLastBattleItem is not a function
at Scene_Battle.onItemOk (Kadajah_BattleSummon.js:1554)
at Window_BattleItem.Window_Selectable.callHandler (rmmz_windows.js:1042)
at Window_BattleItem.Window_Selectable.callOkHandler (rmmz_windows.js:1283)
at Window_BattleItem.Window_Selectable.processOk (rmmz_windows.js:1276)
at Window_BattleItem.Window_Selectable.processHandling (rmmz_windows.js:1155)
at Window_BattleItem.Window_Selectable.update (rmmz_windows.js:1120)
at Window_BattleItem.Window_Selectable.<computed> [as update] (VisuMZ_1_ItemsEquipsCore.js:3938)
at WindowLayer.update (rmmz_core.js:4287)
at Scene_Battle.Scene_Base.updateChildren (rmmz_scenes.js:129)
at Scene_Battle.Scene_Base.update (rmmz_scenes.js:52)
so the replacement and summon issue is fixed but i think its messing with the logic on the item calls.
also when the transformed summon dies, is it supposed to end in defeat or is the summon meant to die and the actor come back out? cause in my case it ended in defeat at that point