Permanent States
This script adds “permanent states” (perma-states) to your game. A perma-state is just a state, except they are not removed upon death (or other state-clearing conditions).
A permastate is useful for managing features on your actors, since you can control which features will be applied to your actors using event commands and you can remove them when needed.
Download
Script: download here
Usage
Note-tag a state with
<permastate>
And it is now a permanent state. All features on the state will be transferred to the actor as long as the state is in effect.
Script description says “A perma-state is just a state, except they are not removed upon death (or other state-clearing conditions).” But if they are forced to be invisible, this is not true. From looking at the code, it seems you have made a great effort to make permastates a separate class of object, rather than the simple modification implied by the script’s description.
Why would you force them to be invisible anyway? If the developer wants the state to be invisible, the developer can choose to give the state no icon. That is the usual method, isn’t it?
Hi Hime, sorry for this, as I see this was posted 3 years ago, but I have a question about this. Could this be easily modified for make the permastates to be shown as the regular states? As soon as I make an existing state “permanent” I can’t see it in the state window nor anywhere.
You would need to modify the status windows to include permastates, since permastates are separate from states.
Thanks a lot for the suggestion. I wasn’t able to do it as I don’t know very much about scripting, but I am trying haha.
This will be useful for a Toad or Mini status.
I have a problem, When people died while in different form, the transform state has been removed so that means they turned back to normal form. I also used , It’s dosen’t work for me. Help.
If the state should be removed then don’t use permanent states.
I used for transform states, When people died, the transform states has removed from dead person. So that mean it’s dosen’t work for not to remove transform state upon death. I need help.
Also, You need to fix the bug because states (that has permastate on state’s note) has removed upon death.
I’m not sure what bug you’re talking about because permanent states do not disappear when an enemy dies.
I mean when actors dies.
They shouldn’t be disappear either. Enemies and actors use the same logic when they die. How are you determining that the state has been removed?
Yeah.
That’s not an answer to the question.
I don’t know, Hime.
If you’re unable to explain the problem in a coherent way I can’t offer any solutions. Reproduce the problem in a new project and then upload the demo.
Do you have Victor Engine’s scripts?
No.
I see, By the way, I am currently making a RPG game what maximum 12 party members fighting monsters at same time.
I will get a demo sent to you soon. But to be clear, this isn’t just a weapon with a permastate added to it. This is a weapon that has no additional attributes…that comes from the Gem. The gem gets put into the weapon (like slots in many action rpg’s). The gem is what causes the permastate. The results work correctly, but the state is not disengaged if I sell either the weapon or the gem, which without either in the equation, the permastate should not be present.
I am not using any other script to cause the effect, just eventing. I have the common event attached to the item set up that if the item is present in the inventory and the staff is present in the inventory, the permastate takes effect. I have else set to remove the permastate in both those situations…but the permastate doesn’t remove itself. I know that the state needs to be removed by an event to remove it…I believe I provided that event and it still will not remove. Sorry if I am missing something else obvious.
Send me a demo I am unable to reproduce the issue. When I equip a weapon, a common event will add a permastate. When the weapon is no longer equipped, the common event will remove the permastate (using a simple if/else structure). I observe this behavior as expected when I equip and unequip the weapon.
I was coming here to report the same issue. The permastates seems to take issue with being used with any game that was a ‘save game’ before the script was installed. This is fine for anyone starting a new game, but for a game developer to get kicked back to the beginning is a let down. Don’t get me wrong, I love the script and many other that you do, but is there a way for this script to allow the playing of a previously saved game? Cheers.
Now I have a bug as well. I have it set up that the items (gems) apply permastates if they are attached to a weapon (jewel staff). The permastate is successfully added to the actor when the gem is attached. However I cannot disengage the permastate when either the gem or the jewel staff is no longer in the inventory or equipped…so the permastate stays even if the items that produce the effect are not present. I believe I have the conditionals for it set up correctly so perhaps you can think of a different reason it is doing this. Thanks in advance.
States are not features: they don’t disappear once the equipped object is gone. Effects explicitly adding a state are not removed automatically. I don’t know what scripts you’re using to add this effect but it is up to your script to remove any added effects as well.
Hey there Tsukihime! I have found a possible bug in this script.
It reads: NoMethodError occured.
undefined method ‘collect’ for NilClass
I have no idea what to do to fix this.
Help, please.
Thank you
I am not sure what is causing it either. I have moved some lines around. You will need to figure out whether it is a script compatibility issue, or provide more details how to reproduce it (preferably in a blank project with only this script)
I’m all over your site today! The problem was that I needed to start a fresh game. It’s working fine now. Thanks!
This is great!
It’s like a passive skill kind of thing! Good job, I can see this being amazingly useful!