- Joined
- Dec 8, 2017
- Messages
- 104
- Reaction score
- 4
- First Language
- English
- Primarily Uses
- RMVXA
Greetings! I'm new to RPG Maker and the forums. I have read the rules and will try my best to provide as much info as I can for you but please forgive me if it's not perfect! ^_^
I have been designing a very short (single-dungeon) little game to help me learn the program before I work on something longer. Things have been going great and ironically the game was technically completed without a hitch, but my overactive imagination just HAD to come up with a "totally awesome, there's no way you can NOT do this" idea at the last minute... : Shapeshifting. This is where I hit a brick wall...
I was following various tutorials online but none of them seemed to work quite how I wanted so I ended up combining methods and surprisingly it worked for the most part. I'll explain my setup and then explain what bugs I'm getting:
I have a character who upon reaching a certain level, gains the 'Shapeshift' ability, which can be used in or out of battle at the cost of MP.
Which calls the following Common Event:
This successfully switches the actor "Tiger" with my character "Charity" and sets the Tiger's level to whatever level Charity was so that it remains consistent with the party. It also sets a variable 'FeralCounter' to 0, which I'll explain in a sec. I got this from a tutorial on making Shapshifters so I just trusted them, lol.
The Tiger actor has it's own class and abilities, which do not cost MP. Each of the Tiger's Special Abilities calls this Common Event when used instead:
Each use of a Tiger skill checks the FeralCount and increases the FeralCount variable by 1 if it is less than 4. If the FeralCount exceeds 4, it will call this Common Event:
This Event will swap Charity and the Tiger back and if the Tiger has gained any levels, then so will Charity.
The Tiger also has a 'Revert' skill that just calls the same event.
The reason for this is that she may remain a Tiger after battle if she did not expend her FeralCount or if the Shapeshift skill was used out-of-battle. The main reason I allowed this is so she could have a Tiger field sprite for a bit, lol.
The Issues:
#1: When Charity first uses 'Shapeshift' in battle, "+Death" appears above her, even though she did not die. Nothing mechanically bad seems to happen, but naturally I do not want confusing messages appearing when players use a skill! lol.
#2: When the Tiger reverts back to being Charity (either by choice or by FeralCount reaching max) she has full HP and MP again even though I have NOT checked the 'Initialize' box. This is the issue I need to fix the most. I have a theory about it but I'm not sure.
#3: Not really a bug but idealy I would like the battle log to say "Charity returned to normal" when the Revert event gets called. It does this if she uses the Revert SKILL, but not if it just happens as a result of the FeralCounter reaching max.
Scripts I'm Using:
#1: Yanfly Core + Battle Engine
#2: Mr Trivel Level Up Restore
#3: Yanfly Anti-Fail Message (Because Shapeshift was causing a 'Failed' message to appear due to not actually having a battle effect).
#4: Minimum Damage (don't know the official name or author as it isn't in the script but probably isn't relevant here).
When tested out of battle, it seems the Tiger's level is being ADDED to Charity's rather than changing it TO that number. E.g: if Charity is Level 5 when she uses Shapeshift, the Tiger will be level 5 too (because it begins at level 1 and has a level -1 thing on the event). However when the Tiger transforms back into Charity, it adds it's level to hers (-1) and she becomes Level 9... This causes the Level Up Restore to kick in and restore her HP and MP because she 'gained' a level.
What I want is for her to be able to use Shapeshift, and then when Tiger uses Revert (or it happens from the FeralCount), she returns to the state (HP etc.) she was before using Shapeshift and only gains a level if the Tiger actually gained one through EXP. This is NOT a healing spell, lol.
Honestly this is what I get for blindly following random tutorials and trying to combine them :/ Can anyone help me fix this mess so it functions more like I intended?
I hope this was ok. If you need anything else from me then let me know and I'll try my best
Thanks in advance!
EDIT #1: These are the tutorials I combined:
1: 2: https://forums.rpgmakerweb.com/index.php?threads/change-actor-graphic-in-battle.4109/
EDIT #2: Whilst waiting for this post to be moderated, I've been trying to fix the issue myself. I created separate variables for both actors levels and set it so that when Tiger Reverts, it first adds it's current level to Charity's like before, but then minuses Charity's old level, which SHOULD 'cause her to only receive an extra level if the Tiger did. It's probably an inefficient way of doing it though.
I also removed the Level Up Restore script which solved the issue of her regaining her HP and MP when reverting and she now keeps her old values. However, the Tiger's HP and MP now randomly starts super low. At first I thought it was copying the percentage of Charity's (which it shouldn't) but even if she has full HP, the Tiger drops to about 20% of theirs :S
Also I don't want to get rid of the Level Up Restore script if I can help it so this is only a temporary solution.
EDIT #3: The issue was because Tiger was being Initialized to level one and then being forced to whatever level Charity was, resulting in the HP/MP equalling the Level 1 form. I added the 'recover all' effect and it does not cause Charity to heal too, thank goodness and she retains whatever condition she was in before changing. I've pretty much fixed everything except the "+Death" thing and not being able to use this setup with the Level Up Restore script :/ I might just have to give up on that.
I have been designing a very short (single-dungeon) little game to help me learn the program before I work on something longer. Things have been going great and ironically the game was technically completed without a hitch, but my overactive imagination just HAD to come up with a "totally awesome, there's no way you can NOT do this" idea at the last minute... : Shapeshifting. This is where I hit a brick wall...
I was following various tutorials online but none of them seemed to work quite how I wanted so I ended up combining methods and surprisingly it worked for the most part. I'll explain my setup and then explain what bugs I'm getting:
I have a character who upon reaching a certain level, gains the 'Shapeshift' ability, which can be used in or out of battle at the cost of MP.
Which calls the following Common Event:
This successfully switches the actor "Tiger" with my character "Charity" and sets the Tiger's level to whatever level Charity was so that it remains consistent with the party. It also sets a variable 'FeralCounter' to 0, which I'll explain in a sec. I got this from a tutorial on making Shapshifters so I just trusted them, lol.
The Tiger actor has it's own class and abilities, which do not cost MP. Each of the Tiger's Special Abilities calls this Common Event when used instead:
Each use of a Tiger skill checks the FeralCount and increases the FeralCount variable by 1 if it is less than 4. If the FeralCount exceeds 4, it will call this Common Event:
This Event will swap Charity and the Tiger back and if the Tiger has gained any levels, then so will Charity.
The Tiger also has a 'Revert' skill that just calls the same event.
The reason for this is that she may remain a Tiger after battle if she did not expend her FeralCount or if the Shapeshift skill was used out-of-battle. The main reason I allowed this is so she could have a Tiger field sprite for a bit, lol.
The Issues:
#1: When Charity first uses 'Shapeshift' in battle, "+Death" appears above her, even though she did not die. Nothing mechanically bad seems to happen, but naturally I do not want confusing messages appearing when players use a skill! lol.
#2: When the Tiger reverts back to being Charity (either by choice or by FeralCount reaching max) she has full HP and MP again even though I have NOT checked the 'Initialize' box. This is the issue I need to fix the most. I have a theory about it but I'm not sure.
#3: Not really a bug but idealy I would like the battle log to say "Charity returned to normal" when the Revert event gets called. It does this if she uses the Revert SKILL, but not if it just happens as a result of the FeralCounter reaching max.
Scripts I'm Using:
#1: Yanfly Core + Battle Engine
#2: Mr Trivel Level Up Restore
#3: Yanfly Anti-Fail Message (Because Shapeshift was causing a 'Failed' message to appear due to not actually having a battle effect).
#4: Minimum Damage (don't know the official name or author as it isn't in the script but probably isn't relevant here).
When tested out of battle, it seems the Tiger's level is being ADDED to Charity's rather than changing it TO that number. E.g: if Charity is Level 5 when she uses Shapeshift, the Tiger will be level 5 too (because it begins at level 1 and has a level -1 thing on the event). However when the Tiger transforms back into Charity, it adds it's level to hers (-1) and she becomes Level 9... This causes the Level Up Restore to kick in and restore her HP and MP because she 'gained' a level.
What I want is for her to be able to use Shapeshift, and then when Tiger uses Revert (or it happens from the FeralCount), she returns to the state (HP etc.) she was before using Shapeshift and only gains a level if the Tiger actually gained one through EXP. This is NOT a healing spell, lol.
Honestly this is what I get for blindly following random tutorials and trying to combine them :/ Can anyone help me fix this mess so it functions more like I intended?
I hope this was ok. If you need anything else from me then let me know and I'll try my best
EDIT #1: These are the tutorials I combined:
1: 2: https://forums.rpgmakerweb.com/index.php?threads/change-actor-graphic-in-battle.4109/
EDIT #2: Whilst waiting for this post to be moderated, I've been trying to fix the issue myself. I created separate variables for both actors levels and set it so that when Tiger Reverts, it first adds it's current level to Charity's like before, but then minuses Charity's old level, which SHOULD 'cause her to only receive an extra level if the Tiger did. It's probably an inefficient way of doing it though.
I also removed the Level Up Restore script which solved the issue of her regaining her HP and MP when reverting and she now keeps her old values. However, the Tiger's HP and MP now randomly starts super low. At first I thought it was copying the percentage of Charity's (which it shouldn't) but even if she has full HP, the Tiger drops to about 20% of theirs :S
Also I don't want to get rid of the Level Up Restore script if I can help it so this is only a temporary solution.
EDIT #3: The issue was because Tiger was being Initialized to level one and then being forced to whatever level Charity was, resulting in the HP/MP equalling the Level 1 form. I added the 'recover all' effect and it does not cause Charity to heal too, thank goodness and she retains whatever condition she was in before changing. I've pretty much fixed everything except the "+Death" thing and not being able to use this setup with the Level Up Restore script :/ I might just have to give up on that.
Last edited:
