Advertisement
Yoshin222

MUGEN: SF Inspired Damage Scaling

Oct 11th, 2017
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. SF INSPIRED DAMAGE SCALING
  2. ----------------------------------------
  3. ;===============================================================================
  4. ; ------- Damage Dampener --------
  5. ;===============================================================================
  6.  
  7. ;[State -2, Hit Count Super Handling]
  8. ;type = VarAdd
  9. ;triggerall = StateNo = SUPERSTATE
  10. ;trigger1 = !IsHelper
  11. ;trigger1 = MoveHit = 1
  12. ;trigger1 = !HitPauseTime
  13. ;trigger1 = !(HitDefAttr = SCA, AT)
  14. ;fvar(13) = 0
  15.  
  16. ;[State 0, Super Scaling]
  17. ;type = varset
  18. ;trigger1 = movehit
  19. ;trigger1 = fvar(10) < 0.50
  20. ;fvar(11) = 0.5
  21. ;ignorehitpause = 1
  22.  
  23. ;This block of code ensures that Supers do two things. 1, add no value to damage scaling, and 2, do a minimum
  24. ;of 50% damage regardleess of previous scaling. All you need to do is add
  25. ;triggerall = stateno =SUPERSTATE
  26. ;to each section
  27.  
  28. ;[State -2, Hit Count Certain Specials Handling]
  29. ;type = VarAdd
  30. ;triggerall = StateNo = SPECIALSTATE
  31. ;trigger1 = !IsHelper
  32. ;trigger1 = MoveHit = 1
  33. ;trigger1 = !HitPauseTime
  34. ;trigger1 = !(HitDefAttr = SCA, AT)
  35. ;fvar(13) = 1
  36.  
  37. ;Used in instances where you want a special move, or a normal if you so choose, to add only 1 to the damage
  38. ;scaling, regardless of how many hits are in the move. An example being Kens Heavy tatsumaki from USFIV.
  39. ;The first hit adds 1 point t damage scaling, while the rest don't regardless of which kick hits the opponent
  40.  
  41. ;Used to add Counter Hit Scaling
  42. [State -2, Counter Flag]
  43. type = VarSet
  44. trigger1 = (enemynear, movetype = A)
  45. fvar(8) = 1
  46. ignoreHitPause = 1
  47. [State -2, Counter Flag Reset]
  48. type = VarSet
  49. trigger1 = (enemynear,movetype != A)
  50. fvar(8) = 0
  51. ignoreHitPause = 1
  52.  
  53. ;Decreases damage if opponent has 50 0r 30% life
  54. [State -2, Life Scaling]
  55. type = varset
  56. trigger1 = (enemynear, life > lifemax * 0.50) ;No scaling if over 50% life
  57. fvar(9) = 1
  58. ignorehitpause = 1
  59. [State -2, Life Scaling reduction1]
  60. type = varset
  61. trigger1 = 1
  62. fvar(9) = ifelse((enemynear, life <= lifemax * 0.50), (1 - 0.10), 1)
  63. ignorehitpause = 1
  64. [State -2, Life Scaling reduction2]
  65. type = varset
  66. trigger1 = fvar(9) < 1
  67. fvar(9) = ifelse((enemynear, life <= lifemax * 0.30), (1 - 0.15), 0.90)
  68. ignorehitpause = 1
  69.  
  70. ;Keeps track of current combo count
  71. [State -2, Hit Count]
  72. type = VarAdd
  73. trigger1 = !IsHelper
  74. trigger1 = MoveHit = 1
  75. trigger1 = !HitPauseTime
  76. trigger1 = !(HitDefAttr = SCA, AT)
  77. fvar(13) = 1
  78. [State -2, Hit Count Reset]
  79. type = VarSet
  80. trigger1 = NumEnemy && fvar(13)
  81. trigger1 = (EnemyNear, MoveType != H) && (EnemyNear, StateNo != 5300)
  82. trigger2 = moveguarded = 1
  83. fvar(13) = 0
  84. ignoreHitPause = 1
  85.  
  86. [State -2, Scaling]
  87. type = VarSet
  88. trigger1 = 1
  89. fvar(10) = ifElse(fvar(13) >= 2, 1 - (0.10 * fvar(13)), 1)
  90. ignoreHitPause = 1
  91.  
  92. [State -2, Scaling Limit]
  93. type = VarSet
  94. trigger1 = fvar(10) < 0
  95. fvar(10) = 0.10
  96. ignoreHitPause = 1
  97.  
  98. [State -2, Root Dampener]
  99. type = VarSet
  100. trigger1 = 1
  101. fvar(11) = fvar(10) * ifElse(fvar(8) = 1, 1.2, 1) * fvar(9)
  102. ignoreHitPause = 1
  103.  
  104. ;Hitdef
  105. ;damage = ceil(fvar(11) * BASE_DAMAGE),CHIP_DAMAGE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement