After some deliberation among the admins, we've decided to promote PlasmoidThunder to the position of Global Moderator and Meldo to Discord Moderator. Please welcome your new overlords. ×
In light of recent events, we want to remind everyone that encouraging acts of violence, death threats, and the dissemination of private information will not be tolerated on either the MFFA Discord server or the forums, and will be dealt with accordingly ×

# Simple Guts System (no variables required)

## 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]
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.

##### 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]

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

## Create an account

Register a new account

×

• Back

• #### Mugen Software

• Back
• Mugen Software

• Back