Nep Heart Posted June 19, 2019 Posted June 19, 2019 Quote [State -2, Guts] type = DefenceMulSet trigger1 = movetype != H value = 1 ignorehitpause = 1 [State -2, Guts] type = DefenceMulSet trigger1 = movetype = H value = (((LifeMax/1000.0)-((LifeMax-Life)*0.0005))/(LifeMax/1000.0)) ignorehitpause = 1 [State -2, Guts] type = lifeadd trigger1 = MoveType = H trigger1 = gethitvar(hitcount) < 2 trigger1 = gethitvar(damage) > 0 value = floor(gethitvar(damage)-(gethitvar(damage)*(((LifeMax/1000.0)-((LifeMax-Life)*0.0005))/(LifeMax/1000.0)))) ignorehitpause = 1 As a way to balance my characters' combo damage further on an internal level (aka: against each other as intended), I've used a simplistic guts system in which combos do less damage the lower their current life is, cutting damage down to 50% when reaching close to the 1000 life loss threshold. It's mostly based on Eternal Fighter Zero's guts system, but I had to make a few tweaks for characters who deviate from 1000 life. For example, if a character who has 1200 life, change this ((LifeMax-Life)*0.0005)) to this ((LifeMax-Life)*0.0006)). Another example is if a character has 800 life, change it to this ((LifeMax-Life)*0.0004)) instead. Basically, 0.0005 represents having 1000 life, so, make the mathematical comparison and contrast to 1000 life. The reason why I am using the lifeadd for the first hit is because defencemulset only works on the second hit and onward when being combo'd, thus filling the first hit gap accordingly. Keep in mind that this isn't suitable for all systems, the main reason you'll ever consider using this is if your characters dish out extremely high damage output, so, it keeps things normalized when they're hit by bigger combos. It should be noted that negative value targetlifeadds with absolute = 1 will completely ignore this guts system, which is somewhat intentional since I've planned for those kind of moves to completely ignore damage scaling and make them more valuable when P2 is at low life.
Nep Heart Posted April 22, 2020 Author Posted April 22, 2020 Ignore the previous code, the system has a big flaw that throws off calculations whenever a character takes damage that is more than half their remaining life when at low health conditions. You might actually need a variable for this to work reliably as I've discovered from the bug I've struggled to deal with previously, but here's the fix code for anyone who has also been using this particularly Guts system (to which I based on Eternal Fighter Zero's). Quote [State -2, Guts] Type = LifeAdd trigger1 = alive && movetype = H trigger1 = GetHitVar(damage) > 0 && life > 1 trigger1 = gethitvar(hitcount) < 2 Value = cond(life = GetHitVar(damage),1,floor(GetHitVar(damage)-GetHitVar(damage)*(fvar(20)))) ignorehitpause = 1 [State -2 Guts] type = DefenceMulSet trigger1 = movetype = H value = fvar(20) ignorehitpause = 1 [State -2, Guts] type = VarSet trigger1 = 1 fvar(20) = (0.5*life/lifemax)+0.5 ignorehitpause = 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now