Jump to content
Animebryan

Fully functional Zombie State

Recommended Posts

Need a script to create a zombie state that FULLY reverses ALL forms of healing, including magic & skills, item recovery, HP regeneration & elemental absorption. In the few I've heard of, none of them are fully functional in this aspect. I need this for a boss I have in mind that can only be beaten by being 'Zombied' Thanks in advance.

Share this post


Link to post
Share on other sites

Which ones have you "heard of" and what are they lacking?

You know, I have a really hard time remembering the few I heard of. I had one that was just labeled as 'Zombie State', but whoever made it never bothered to put his name in it. In an old topic with YSA - Lunatic States Add-on, I listed a bunch of scripts I was using, and the Zombie state I was using was the only one to not have it's creator's name mentioned. I haven't physically tried Yanfly's reverse healing state yet, but I've heard that it doesn't cover the FULL spectrum of healing, such as item recovery or HP regeneration. I need one that covers ALL of them, including Yanfly's Elemental Absorption.

Edited by Animebryan

Share this post


Link to post
Share on other sites

I think you should actually try the scripts rather than rejecting them based on hearsay.

The scripts you mention are written very generically and require you to figure out how to get them to behave the way you want it to.

Edited by Tsukihime

Share this post


Link to post
Share on other sites

I'm using the Yanfly Lunatic States for the zombie state in my project and it does reverse elemental absorption and item healing. To reverse item healing you have to use the custom formula bar and set the drop down menu to "HP recovery", don't just use the effects box. The code is written pretty simply; it should reverse anything that registers as "damage" which also includes recovery items (they are just negative damage).

 

    when /UNDEAD HP/i
      return unless @result.hp_damage < 0
      @result.hp_damage *= -1
      @result.hp_drain *= -1
      

 

I haven't tried this with slip effects, such as hp regeneration, but I imagine it would work just fine.

Share this post


Link to post
Share on other sites

I'm using the Yanfly Lunatic States for the zombie state in my project and it does reverse elemental absorption and item healing. To reverse item healing you have to use the custom formula bar and set the drop down menu to "HP recovery", don't just use the effects box. The code is written pretty simply; it should reverse anything that registers as "damage" which also includes recovery items (they are just negative damage).

 

    when /UNDEAD HP/i
      return unless @result.hp_damage < 0
      @result.hp_damage *= -1
      @result.hp_drain *= -1
      

 

I haven't tried this with slip effects, such as hp regeneration, but I imagine it would work just fine.

I'm a little confused with your explaination. What do I need to put in the custom formula bar & where do I put that script snippet at?

Edited by Animebryan

Share this post


Link to post
Share on other sites

Ah, no problem. I'll do some screenshots. As for the script snippet above, it doesn't go anywhere. It's included in the Yanfly punishment effects script, so it's already done for you. You just have to worry about adding in the notetags.

 

Here is the item 'Potion':

 

 

 

Usually the 'effects' box has something in it that says 'recover HP x amount' instead of a value in the formula bar.

 

Item_setup_zpse8aef01d.png

 

 

 

You also need to create a zombie state like so:

 

 

 

Just add <react effect: undead hp> in the notes box

 

zombie_state_zpscf40dfb8.png

 

 

 

Then you will need to auto apply the state if the enemy starts as undead (I use Victor's auto state for this); if not just make a skill that inflicts a 'zombie' state (for me this is state 36).

 

 

 

enemy_screen_zps0b2ca391.png[/url]

 

 

 

Now I'll try to explain how this works a bit better, then you can learn how it all works and come up with additional effects in the future :)

 

The system calculates recovery and damage using the same 'formula'. If damage is applied then the value

@result.hp_damage

is a positive value. If an item or skill recovers hp then the value is negative, thus it is added to the current value and perceived as healing. Since your recovery items and skills are healing you, they are already doing negative damage, so multiplying them by a negative value (like in the Yanfly script for undead HP) makes them positive, and thus deal damage. 

 

The element absorb effect works for me as is (that is to say, if an enemy is undead AND has absorb then it is always calculated as damage. You would need to change things to have it any other way). If you have problems with it though let me know and I'll try to explain.

Share this post


Link to post
Share on other sites

 

I'm using the Yanfly Lunatic States for the zombie state in my project and it does reverse elemental absorption and item healing. To reverse item healing you have to use the custom formula bar and set the drop down menu to "HP recovery", don't just use the effects box. The code is written pretty simply; it should reverse anything that registers as "damage" which also includes recovery items (they are just negative damage).

 

    when /UNDEAD HP/i
      return unless @result.hp_damage < 0
      @result.hp_damage *= -1
      @result.hp_drain *= -1
      

 

I haven't tried this with slip effects, such as hp regeneration, but I imagine it would work just fine.

I'm a little confused with your explaination. What do I need to put in the custom formula bar & where do I put that script snippet at?

 

Look at how Yanfly's Lunatic States - LSP Punishment script is set up and you'll likely figure out how to add those four lines.

 

Then you just put a <react effect: undead hp> tag into your Undead state's notetag box.

 

Besides that, if I may say just one thing, I've read through some of your request threads and you hardly show any thanks or whatever for the things others show you, instead you wish for instant perfectionism. While people can live without a tiny bit of gratefulness, just know that you'll spend days and weeks in forums and message boxes if you want everything 100% to your satisfaction, because RPG Maker isn't a Final Fantasy Copy & Paste Generator, and you'll almost always have to modify some stuff people coded in the first place to get there.

 

Edit: Just saw ZombieBears other reply, and you're probably better off with a Passive States script for undead enemies instead of applying the state again and again whenever a battle starts.

Edited by Caveras

Share this post


Link to post
Share on other sites

Ah, no problem. I'll do some screenshots. As for the script snippet above, it doesn't go anywhere. It's included in the Yanfly punishment effects script, so it's already done for you. You just have to worry about adding in the notetags.

 

Here is the item 'Potion':

 

 

 

Usually the 'effects' box has something in it that says 'recover HP x amount' instead of a value in the formula bar.

 

Item_setup_zpse8aef01d.png

 

 

 

You also need to create a zombie state like so:

 

 

 

Just add <react effect: undead hp> in the notes box

 

zombie_state_zpscf40dfb8.png

 

 

 

Then you will need to auto apply the state if the enemy starts as undead (I use Victor's auto state for this); if not just make a skill that inflicts a 'zombie' state (for me this is state 36).

 

 

 

enemy_screen_zps0b2ca391.png[/url]

 

 

 

Now I'll try to explain how this works a bit better, then you can learn how it all works and come up with additional effects in the future :)

 

The system calculates recovery and damage using the same 'formula'. If damage is applied then the value

@result.hp_damage

is a positive value. If an item or skill recovers hp then the value is negative, thus it is added to the current value and perceived as healing. Since your recovery items and skills are healing you, they are already doing negative damage, so multiplying them by a negative value (like in the Yanfly script for undead HP) makes them positive, and thus deal damage. 

 

The element absorb effect works for me as is (that is to say, if an enemy is undead AND has absorb then it is always calculated as damage. You would need to change things to have it any other way). If you have problems with it though let me know and I'll try to explain.

Ok, I get most of it. But does that <target toggle> notetag have any relevance to it or is that for something else? And which notetags on the skeleton are relevent for this? Because I'm not sure what <unmovable> is for, I see the notetags for Victor's State Auto Apply script, not sure about the battleback one, next one looks like it's for a bestiary script, & the weakness one has me curious & then there's Yanfly's element absorb notetag. Never realized Yanfly's undead HP effect used a simple -x * -x to produce a positive number. That's basic algebra right there. If that's the case, then it should work on HP regen too right? Thanks for the help so far.

 

 

 

I'm using the Yanfly Lunatic States for the zombie state in my project and it does reverse elemental absorption and item healing. To reverse item healing you have to use the custom formula bar and set the drop down menu to "HP recovery", don't just use the effects box. The code is written pretty simply; it should reverse anything that registers as "damage" which also includes recovery items (they are just negative damage).

 

    when /UNDEAD HP/i
      return unless @result.hp_damage < 0
      @result.hp_damage *= -1
      @result.hp_drain *= -1
      

 

I haven't tried this with slip effects, such as hp regeneration, but I imagine it would work just fine.

I'm a little confused with your explaination. What do I need to put in the custom formula bar & where do I put that script snippet at?

 

Look at how Yanfly's Lunatic States - LSP Punishment script is set up and you'll likely figure out how to add those four lines.

 

Then you just put a <react effect: undead hp> tag into your Undead state's notetag box.

 

Besides that, if I may say just one thing, I've read through some of your request threads and you hardly show any thanks or whatever for the things others show you, instead you wish for instant perfectionism. While people can live without a tiny bit of gratefulness, just know that you'll spend days and weeks in forums and message boxes if you want everything 100% to your satisfaction, because RPG Maker isn't a Final Fantasy Copy & Paste Generator, and you'll almost always have to modify some stuff people coded in the first place to get there.

 

Edit: Just saw ZombieBears other reply, and you're probably better off with a Passive States script for undead enemies instead of applying the state again and again whenever a battle starts.

Considering where Mr. Bubble said to put the Shatter-Kill add-on, I guess below or above that as long as it's above the "Stop editting past this point" line. As for showing gratitute for others, I do. If you read each of my 'Script Requests' I've always thanked anyone who responds in advance. As for the basic help section, I usually wait until the issue is resolved before I say thanks, although I'll admit I may have forgotten to in the past because I'm constantly in a rush to look into another topic or I'm multi-tasking while being on here, that, & the library computers I'm using only give me such limited time to get things done, so I'm always in a rush to do things. As for perfection, it's only natural to ask for something to work & be fully functional to whatever purpose I have planned for it. And I understand that modifications & learning about codes 7 scripting are gonna be involved. Heck, I just learned that I might be able to solve a lot of problems later on by learning all that custom damage stuff.

As for applying the zombie state at the beginning of a battle, Yanfly's passive states is good, but I worry about whether I can remove those states when I need to.

Share this post


Link to post
Share on other sites

For the enemy you need Victor's auto apply state script and the note tag <apply auto state battle start: 36></apply auto state>. I didn't mention any of my other notetags because they are applicable to what you are asking; you only need the auto state. However, the toggle target (also a victor script) allows you to switch between enemy and actor targets by pressing a key.

 

I'm not sure how the passive states script  Caveras suggested works, but if he mentioned it it's probably worth looking into.

 

As for what Caveras said, he has a point that you are still overlooking. It is NOT natural on these forum boards to expect perfectionism, and chances are that whatever result you are going to get will be a product of your own work, not others. Nearly everyone here is doing this as a hobby, and the few of us that answer people's questions about how to code whatever system that person happens to be wanting are going out of there way to HELP you, not do everything for you. This isn't a site of code monkeys that do your bidding.

 

That being said, a lot of people here do want to help, but you have to want to learn, not just demand results. While this may have not been your intention, it is easy enough to get that idea from your posts whether you meant it or not. I'm giving you the benefit of the doubt because I'm cool like that. Just something to keep in mind so you don't burn your bridges.

Share this post


Link to post
Share on other sites

Hey, any chance any of these methods would include a revival skill acting as an instant KO against an undead state?

Share this post


Link to post
Share on other sites

Hey, any chance any of these methods would include a revival skill acting as an instant KO against an undead state?

 

It does just that if you set a Remove State: Death and a Recover HP: 100% feature instead of applying HP to be restored through the damage formula for your skill =)

 

Of course, that makes the skill always recover 100% HP for anyone that isn't undead, but I guess you could also put something similar in the damage formula. Like setting the skill to HP Recover and entering something like

 

b.state?(UndeadStateID) ? b.mhp : b.remove_state(1); (b.mhp * 10 / 100)

 

which is the same as   if b.state?(UndeadID); b.mhp; else; b.remove_state(1); (b.mhp * 10 / 100); end

 

if you wanted undead people to "suffer" all their HP amount, but remove death and restore 10% HP to someone who is not undead.

Edited by Caveras

Share this post


Link to post
Share on other sites

Doesn't seem to work for me... My Life and Life II skills both use the Recover HP: x% feature, no damage formula, but still heals the enemy. Boo.

Share this post


Link to post
Share on other sites

 

Hey, any chance any of these methods would include a revival skill acting as an instant KO against an undead state?

 

It does just that if you set a Remove State: Death and a Recover HP: 100% feature instead of applying HP to be restored through the damage formula for your skill =)

 

Of course, that makes the skill always recover 100% HP for anyone that isn't undead, but I guess you could also put something similar in the damage formula. Like setting the skill to HP Recover and entering something like

 

b.state?(UndeadStateID) ? b.mhp : b.remove_state(1); (b.mhp * 10 / 100)

 

which is the same as   if b.state?(UndeadID); b.mhp; else; b.remove_state(1); (b.mhp * 10 / 100); end

 

if you wanted undead people to "suffer" all their HP amount, but remove death and restore 10% HP to someone who is not undead.

 

 

Now THIS is definitely something that I can work with :D

 

I'm using the second one, so that if undead, instant KO, else revive and restore... How would I add an additional "if" in there so that if NOT undead NOR dead, it does nothing?

Share this post


Link to post
Share on other sites

You could try

 

if b.state?(77); b.mhp; else; if b.state?(1); b.mhp * 10 / 100; else; end; 0; end

 

(77 as an example for the undead ID)

 

It's often helpful to make a "vertical tree" for your conditional formulas before writing it all in one line:

  

if b.state?(77)
   b.mhp
else
   if b.state?(1)
      b.mhp * 10 / 100
   else
      [ empty line = do nothing ]
   end
0                   <= or an empty line again, works the same.
end
====

Doesn't seem to work for me... My Life and Life II skills both use the Recover HP: x% feature, no damage formula, but still heals the enemy. Boo.

 

I forgot to mention that I also use this script: http://pastebin.com/qf4vtn0W

(More about that here: http://forums.rpgmakerweb.com/index.php?/topic/4117-zombieundead-state/ )

 

For my undead state, I have the following notetags:

 

[zombie]
<react effect: undead hp>
<react effect: undead mp>
And the following features as well:
Atk Element: Undead
SP-Parameter: EXR *0%
Element Rate: Fire *150%
Element Rate: Holy *150%
Element Rate: Dark *0%
Element Rate: Absorb *0%
State Resist: Poison
State Resist: Counter
Maybe that helps =) Edited by Caveras

Share this post


Link to post
Share on other sites

Ugh. This is all so brilliant. And I don't think I can use it because my Life skill either targets One Ally (dead) - which means I can ONLY target dead targets even with the Invert Targets script by Yami, or One Ally - which means I can NOT target dead targets. Boooooooo. lol. I feel a drink coming on...

Share this post


Link to post
Share on other sites

Oh, right, sorry, I forgot about that annoying problem. I will too have to figure out how to make that work 100%, but I'll let you know if I get it right some time =)

Share this post


Link to post
Share on other sites

Haha no worries bud. That seems to be the nature of this program. Once you think you've got absolutely everything in order... oops, here's a little something that stands in your way and suddenly creates an all-new giant roadblock lol. Such is life. Anyway, I definitely appreciate all your help and yes, please do update me if you come up with a workaround for the target mess :D

Share this post


Link to post
Share on other sites

One workaround I could think of on the fly would be that you create the same item/skill for recovery twice, with different scopes (one for alive, one for dead members) and have them follow up each other through a force action common event or a follow-up skill script, but you would still have to fiddle around with the correct scope settings so that it targets a dead member automatically instead of having to choose one (since you have to do that with the 1 Ally (Dead) setting).

 

I think you could modify YF's Target Manager to do something like that, but I don't want to delve into this right now =)

Share this post


Link to post
Share on other sites

Hmm. Worth looking into. In the meantime, I have one other thing I was curious about... I have a state called Auto-Life. I'm using that in conjunction with Yanfly's Lunatic States Protection Package with the Auto-Life fix... Auto-life works flawlessly with every skill that exceeds the damage a battler can take. When it would kill them, they are instead restored to 1HP. However, I cannot seem to make it work with Death or Doom. Once the Death state is applied from those skills, Auto-Life does not kick in. Would you happen to know any way to fix that?

Share this post


Link to post
Share on other sites

Hmm. Worth looking into. In the meantime, I have one other thing I was curious about... I have a state called Auto-Life. I'm using that in conjunction with Yanfly's Lunatic States Protection Package with the Auto-Life fix... Auto-life works flawlessly with every skill that exceeds the damage a battler can take. When it would kill them, they are instead restored to 1HP. However, I cannot seem to make it work with Death or Doom. Once the Death state is applied from those skills, Auto-Life does not kick in. Would you happen to know any way to fix that?

Use this Auto-Life snippet from Mr.Bubble: http://mrbubblewand.wordpress.com/rgss3/auto-life-effect/

 

Works just fine with my Doom state setup and regular death!

Edited by Caveras

Share this post


Link to post
Share on other sites

Haha no worries bud. That seems to be the nature of this program. Once you think you've got absolutely everything in order... oops, here's a little something that stands in your way and suddenly creates an all-new giant roadblock lol. Such is life. Anyway, I definitely appreciate all your help and yes, please do update me if you come up with a workaround for the target mess :D

 

Oooh, I have a target system that works well; it's the one by victor and it allows you to change the target between ally and enemy as well as between one actor and all actors. You just have to add a notetag to the skills or items you want to be able to toggle, and then it will ignore whatever you have set in the drop down menu (such as one dead ally).

 

Compatibility might be an issue depending on what scripts you are using, but I got it working in mine, so if you have any errors I might be able to help.

Share this post


Link to post
Share on other sites

 

 

Haha no worries bud. That seems to be the nature of this program. Once you think you've got absolutely everything in order... oops, here's a little something that stands in your way and suddenly creates an all-new giant roadblock lol. Such is life. Anyway, I definitely appreciate all your help and yes, please do update me if you come up with a workaround for the target mess :D

 

Oooh, I have a target system that works well; it's the one by victor and it allows you to change the target between ally and enemy as well as between one actor and all actors. You just have to add a notetag to the skills or items you want to be able to toggle, and then it will ignore whatever you have set in the drop down menu (such as one dead ally).

 

Compatibility might be an issue depending on what scripts you are using, but I got it working in mine, so if you have any errors I might be able to help.

 

 

I know the Toggle script, but what I meant was that the dead-ally-recovery skill that follows the regular-guy-hp-heal skill shouldn't need another target selection at all, but automatically pick the dead ones to revive them.

 

Edit: Sorry ZombieBear, I thought Jeffafa had answered to my previous post, so that answer here is probably kinda useless to you ^^

Edited by Caveras

Share this post


Link to post
Share on other sites

Oh, haha. I meant for selecting the enemy for a recovery item to have it instant KO them, though with the toggle script it would be able to target anyone on the screen, even alive actors/enemies... maybe not what Jeffafa wants. It certainly is useful to be able to set your own scopes though!

 

I actually wasn't to sure on the other requests such as auto life, so that was all you! I may have jumped in suddenly a couple of posts late... oops. And no answer is every useless to me no matter where it is; I try to learn from everything!

Share this post


Link to post
Share on other sites

For the target script, is it compatible with most of Yanfly's scripts? I'm currently using Yami's Invert targets script, and it's amazing. It does have an unfortunate drawback though of disabling Auto Battle... So if Victor's is better, compatible with Yanfly (as I have over ten Yanfly scripts), AND it will restore Auto Battle functionality, I'll totally switch over.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×