Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SF INSPIRED DAMAGE SCALING
- ----------------------------------------
- ;===============================================================================
- ; ------- Damage Dampener --------
- ;===============================================================================
- ;[State -2, Hit Count Super Handling]
- ;type = VarAdd
- ;triggerall = StateNo = SUPERSTATE
- ;trigger1 = !IsHelper
- ;trigger1 = MoveHit = 1
- ;trigger1 = !HitPauseTime
- ;trigger1 = !(HitDefAttr = SCA, AT)
- ;fvar(13) = 0
- ;[State 0, Super Scaling]
- ;type = varset
- ;trigger1 = movehit
- ;trigger1 = fvar(10) < 0.50
- ;fvar(11) = 0.5
- ;ignorehitpause = 1
- ;This block of code ensures that Supers do two things. 1, add no value to damage scaling, and 2, do a minimum
- ;of 50% damage regardleess of previous scaling. All you need to do is add
- ;triggerall = stateno =SUPERSTATE
- ;to each section
- ;[State -2, Hit Count Certain Specials Handling]
- ;type = VarAdd
- ;triggerall = StateNo = SPECIALSTATE
- ;trigger1 = !IsHelper
- ;trigger1 = MoveHit = 1
- ;trigger1 = !HitPauseTime
- ;trigger1 = !(HitDefAttr = SCA, AT)
- ;fvar(13) = 1
- ;Used in instances where you want a special move, or a normal if you so choose, to add only 1 to the damage
- ;scaling, regardless of how many hits are in the move. An example being Kens Heavy tatsumaki from USFIV.
- ;The first hit adds 1 point t damage scaling, while the rest don't regardless of which kick hits the opponent
- ;Used to add Counter Hit Scaling
- [State -2, Counter Flag]
- type = VarSet
- trigger1 = (enemynear, movetype = A)
- fvar(8) = 1
- ignoreHitPause = 1
- [State -2, Counter Flag Reset]
- type = VarSet
- trigger1 = (enemynear,movetype != A)
- fvar(8) = 0
- ignoreHitPause = 1
- ;Decreases damage if opponent has 50 0r 30% life
- [State -2, Life Scaling]
- type = varset
- trigger1 = (enemynear, life > lifemax * 0.50) ;No scaling if over 50% life
- fvar(9) = 1
- ignorehitpause = 1
- [State -2, Life Scaling reduction1]
- type = varset
- trigger1 = 1
- fvar(9) = ifelse((enemynear, life <= lifemax * 0.50), (1 - 0.10), 1)
- ignorehitpause = 1
- [State -2, Life Scaling reduction2]
- type = varset
- trigger1 = fvar(9) < 1
- fvar(9) = ifelse((enemynear, life <= lifemax * 0.30), (1 - 0.15), 0.90)
- ignorehitpause = 1
- ;Keeps track of current combo count
- [State -2, Hit Count]
- type = VarAdd
- trigger1 = !IsHelper
- trigger1 = MoveHit = 1
- trigger1 = !HitPauseTime
- trigger1 = !(HitDefAttr = SCA, AT)
- fvar(13) = 1
- [State -2, Hit Count Reset]
- type = VarSet
- trigger1 = NumEnemy && fvar(13)
- trigger1 = (EnemyNear, MoveType != H) && (EnemyNear, StateNo != 5300)
- trigger2 = moveguarded = 1
- fvar(13) = 0
- ignoreHitPause = 1
- [State -2, Scaling]
- type = VarSet
- trigger1 = 1
- fvar(10) = ifElse(fvar(13) >= 2, 1 - (0.10 * fvar(13)), 1)
- ignoreHitPause = 1
- [State -2, Scaling Limit]
- type = VarSet
- trigger1 = fvar(10) < 0
- fvar(10) = 0.10
- ignoreHitPause = 1
- [State -2, Root Dampener]
- type = VarSet
- trigger1 = 1
- fvar(11) = fvar(10) * ifElse(fvar(8) = 1, 1.2, 1) * fvar(9)
- ignoreHitPause = 1
- ;Hitdef
- ;damage = ceil(fvar(11) * BASE_DAMAGE),CHIP_DAMAGE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement