[PLUG-IN][RM2K3] MORE INTERESTING CONDITIONS

Posts

Pages: 1
I've been working on adding some conditions to the ones already existing in the database, to make games a little more interesting. To that effect, I've created this plugin.

Additional Conditions

The plugin currently has 4 conditions (1 Condition, 2 Boons and 1 Hex, as I call them):

- Bleeding
- Healing Breeze
- Retribution
- Painful Bond

Bleeding
Once a party member is inflicted with this status, he/she will start losing health at a rate of 1 HP per tick. This condition lasts roughly 6 seconds and it's automatically removed. Skills can remove the condition prematurely; if the condition lasts its full duration, the party member would have lost about 50 HP.

TL;DR: Health degeneration

Healing Breeze
Once a party member is enchanted with this boon, he/she will start gaining health at a rate of 1 HP per tick. This boon lasts roughly 6 seconds and it's automatically removed. Skills can remove the boon prematurely, as a sort of enchantment removal; if the boon lasts its full duration, the party member would have gained about 50 HP. Counter balances Bleeding.

TL;DR: Health regeneration

Retribution
Party members enchanted with this boon will reflect 33% of the damage incurred. The boon lasts 17 seconds and can be removed with skills.

TL;DR: Retaliation, baby.

Painful Bond
Party members hexed with P.Bond will suffer damage equal to 10% their max HP when attacking. This hex lasts 10 seconds; can be removed.

TL;DR: Melee shutdown.

How to install?

You need to make sure your project is patched with DynRPG.

Then, download this and un-RAR into your DynRPG folder.

Couple of notes:

As of now, Bleeding HAS to be the 4th condition on the database; similarly, H. Breeze, Retribution and P. Bond HAVE to be 5, 6, and 7 respectively.

The conditions don't have to be named like that, of course. Bleeding can easily be Poison, for example.

To Do:

- Find a way of customizing the condition so it can be any from the database (Except for 1, which is Death)
- Add support to customize condition, boon and hex duration
- Add support to customize if a condition can be stacked in intensity; for instance, increase the amount of HP drained in 1 tick, to make the degeneration in Bleeding faster or slower.

Thank you!

PS: If you find bugs, please let me know.
PS2: I've added the Code::Blocks project to the download so you can make modifications, bug fixes or functionality additions as needed.
Nice, haven't downloaded yet, but would it be possible to make them to go away after set amount of turns instead of seconds?
Certainly, but you wouldn't need DynRPG for that. I'm fairly sure it can be done through battle events.

...funny, I made this to avoid the turn thing and have it time-based.
author=Large
Certainly, but you wouldn't need DynRPG for that. I'm fairly sure it can be done through battle events.

...funny, I made this to avoid the turn thing and have it time-based.


Thanks, I'll check it out anyway. Retaliation and Painful Bond sound fun.=P
Maybe regeneration can be better if restores a % based in the total HP of the hero,
so can be more useful when have high levels
Agreed. That is why I'd like to add functionality so it stacks up on intensity/duration.
This is perfect! It just needs to be messed up with a little.
But Bleeding and Healing Breeze because they're pretty much the Final Fantasy IV / V / VI / VII / XII's Sap, and Healing Breeze is pretty much FFVII's Regen. These were really amazing skills.
For starters, I think you should expand it to be configurable like this:

If base statistic alteration is set to...: Double INT = Affects MP, Double DEF = Affects Hp, Double ATK = Affects both. (This would of course mean that you have to ditch these conditions being able to affect base stats.)

Condition always abates after X TICKS instead of turns
%chance to recover each TICK (wich is bad, because it means that even at 1% character would recover naturally after roughly 3 seconds, but it could instead range from 0,01 to 1%... So chance% to recover = inputted number / 100)

Damage per TICK in battle works the same as always.
(as so does healing, and both --

hell no

this is so stupid what am I thinking

Forget it, you can simply use it the way it is, by substituting everything that says "Turn" by "tick" (I know very little about coding and way less about DynRPG but this is logic) and ditching some useless parameter so that it becomes the indicator of whether this condition is tick based or not... I guess you could refer to susceptibility? You could probably set susceptibility levels E & D to, respectively, check if this condition is tick based ( => 0 = tick based) and check D to see the "every so ticks" parameter in battle (much like the every x ticks)
So you can make a condition that recovers 2 MP every 5 ticks or so

I guess this is doable, isn't it? All these are referrable parameters, aren't they? If you do it like this you probably can make tick-based sleep / paralyze / berserk and anything else in a pinch... Well, I hope I helped XD

I have absolutely no idea of how to use DynRPG but I do know some logic >_>
Well, sorry if this post ended up obnoxious u3u
Yes, I believe you're in the right track. I was messing up last night to have it scale with level, but your idea seems feasible.

I'll look into it.

BTW, I noticed a bug last night. Even if there is no condition for Retribution, the enemies are getting damage back. I'll work on that tonight.
I'd also want to add customizability, so you could set which number each status was, since 4-7 is entirely too low (of course, being that these are dependent on each other, it's not quite as easy as just leading it to config).

Also, can you make something similar to FF9 Trouble where damage taken gets shared?
I think that first and foremost, the statuses that rm2k/3 need the most are a decent Protect and Shell. So, making a status that halves physical or magical damage would be awesome. Say, Shell reduces damage by 50% when Inteligence Influence is set at 10, reduces it by 25% when is set at 5, etc. You could probably get away with making Protect (50% reduction), Shield (100% reduction), Shell (50% reduction) and Barrier (100% reduction)... That would be cool! Also, making statuses that boost damage output by a certain % could be interesting too, like a bravery status boosting attack command & attack influence 10 skills by 30%... Though I figure this would be harder to code and it is way less important.

All these statuses I mentioned are quite trivial and present in the majority of RPGs but goddamn rm2k3 can't handle them.
Also, I think a Counter status (and therefore an Evade&Counter if you tick "Evade all attacks") would be quite awesome! When you are hit, counter with the Attack commnd. I don't know how buggy would this be considering that rm2k3's battle system is so bugged when it comes to the ATB, but it could work! Also, I don't know how hard would this be...
There is actually a function RPG::Battler::executeAction which could be used for a counter attack (in onBattlerActionDone: setting up the RPG::Action of the RPG::Battler to RPG::AK_BASIC and RPG::BA_ATTACK or maybe even RPG::AK_SKILL with a skill named "Counter" (so that it's visible that this is a counter attack) and then calling the RPG::Battler::executeAction method), but it's highly experimental.
Great ideas. I'll try to implement the Protect and Shell, BUT, 2k3 has a problem that I hate. You can make physical skills (Call them Techniques) or magic spells in the Skills Tab, with no way to discern between the two of them. Sure, Protect can be used to reduce damage from basic attacks, but then Techniques wouldn't be reduced; and similarly, Techniques would be reduced when Shell is active, sames as a purey magical Fire spell.

Any ideas? I've thought of checking the Attribute of the skill...
That sounds ideal, Cherry! Great <3
Also, Large, as I mentioned previously, you could simply check the Attack Influence and the Intelligence Influence of each spell! The formula could be like this

(with Protect on)

Damage = (Normal formula) * ((20 - Attack Influence)/20)
Supposing that it's a physical attack that deals 100 damage and has 10 attack influence...

Damage = 100 * ((20 - 10) / 20 )
Damage = 100 * (10 / 20)
Damage = 100 * 0.5
Damage = 50

Likewise, if Attack Influence is 5...

Damage = 100 * ((20 - 5) / 20 )
Damage = 100 * (15 / 20)
Damage = 100 * 0.75
Damage = 75

The same thing would apply to Magic Damage, wich would become

Damage = ((Normal formula) * ((20 - Attack Influence)/20)) * ((20 - Magic Influence Influence)/20)

The downside is that if an attack has both Attack and Magic influence of 10, both Protect and Shell would work aganist it, effectively reducing the damage to 25%. But hey, that's actually good as it adds more flair to the battle system, and you can easily get around this by reducing the Influences! Another downside is that attacks that break Protect and Shell and are relying on Attack and Magic are impossible. Unless you create the elements PiercingATK and PiercingMAG (So that they ignore protect and shell, respectively)... =D


EDIT: Likewise, all sorts of other statuses can come out of this, such as a status that increases incoming physical damage by 50%, akin to the same formula... Etc!
Pages: 1