This type of damage reduction is very different from common damage dampners found in many creations today. I ran the idea of reducing overall damage in characters that are really high in comboing to M:Ken and with that a simple peice of codework was made from my idea and his methods.
How this works is that you 1st attack will always do its normal damage as specified by the damage value in your HitDefs, but if you start chaining the damage reduction will trigger. Whats good about this is that its a
one time reduce damage value instead of a
damage dampening over time that will ultimately yield in your hits doing 1-3 damage a hit if you keep at it.
So this is done in your [Statedef -2] where you simply make:
[State -2, Normal Attacks Damage Reduction] <- Damage Reduction
type = AttackMulSet <- AttackMulSet sctrl makes your damage higher or lower.
trigger1 = Var(32) = 1 <- It will be triggered by a Variable 32 and it will = 1
value = .5 <- Actual reduction. .5 means 1/2 damage. Lower the number for lower damage.
[State -2, Damage Reduction Reset] <- Damage Reduction Resets
type = VarSet <- VarSet sctrl
trigger1 = MoveType = I <- Triggered when your character is Idle, or standing and/or not doing anything, thus not attacking.
v = 32 <- Variable 32 that we set up for it to do 1/2 damage up there when it is = 1
value = 0 <- Will be = 0 making it not = 1 thus, reseting the damage reduction.
[State -2, Reset to Normal Damage] <- Returning to normal damage so your character goes back to doing its set damage values.
type = AttackMulSet <- AttackMulSet Sctrl.
trigger1 = Var(32) = 0 <- Triggered by Varible 32 when it is = 0, as explained above.
value = 1 <- Damage values are brought back to 1 (normal/defaut damage) from .5 (1/2 damage)
Those 3 Sctrls set up the damage reduction. Now we need to make your attack states have them. Best way is to give all of your normal, specials and supers this peice of code.
Go to your normal attacks states and put this inside the state:
[State #, VarSet]
type = VarSet <- VarSet sctrl
trigger1 = Time = 0 <- Activates as soon as youre in this state of an attack.
v = 32 <- Variable 32, our damage reduction variable.
value = 1 <- with a value = 1 which means that its turned on for Normal Attacks Damage Reduction part of the code
I do this for all my normal attacks and for my Specials and Hypers I want them to do its full damage so I simply have:
[State #, VarSet]
type = VarSet <- VarSet sctrl
trigger1 = Time = 0 <- Activates as soon as youre in this state of an attack.
v = 32 <- Variable 32, our damage reduction variable.
value = 0 <- with a value = 0 which means that Normal Attacks Damage Reduction part of the code will not do its reduced damage for special moves
And thats it. I have Variable32 because its just a # that I picked out of random it can be whatever number you want. Also by toying with the value of the first AttackMulSet will increase or decrease damage. This type of damage reduction is really good on characters that like to combo alot and if the damage values for your normals, specials and supers in your HitDefs are balanced good with the value of the first AttackMulSet then this will balance your damage input for Mugen life settings of 100% (Normal Life Settings)
Enjoy.