Jump to content

Simple Guts System (no variables required)


Nep Heart

Recommended Posts

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.

Link to comment
Share on other sites

  • 10 months later...

 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

 

 

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...