YesNoOk
avatar

SuperPause (SCTRL) (Read 7753 times)

Started by Just No Point, October 31, 2015, 02:13:12 PM
Share this topic:
SuperPause (SCTRL)
#1  October 31, 2015, 02:13:12 PM
  • ******
    • www.justnopoint.com/
Freezes the gameplay and darkens the screen. While each player is frozen, no time passes for them. Use for a dramatic pause during the start of hyper attacks.

Required parameters:
none

Optional parameters:
SuperPause accepts all optional parameters that the Pause controller does. In addition, SuperPause also takes the following parameters:

time = pause_time (int)
Specifies the number of ticks that the pause should last. Default is 30 ticks (half a second at default speed).

anim = anim_no (int)
Specifies the animation number (from fightfx.air) to play during the SuperPause. The default is 30, which is a charging effect. If anim is -1, no animation will be played. If you prepend "S" to anim_no, the animation used will be from the player's AIR file. For example, anim = S10.

sound = snd_grp, snd_no (int, int)
Specifies a sound to play (from common.snd) during SuperPause. The default is -1, which means no sound is played. If you prepend "S" to snd_grp, then the sound used will be from the player's own SND file. For example, sound = S10,0.

pos = x_pos, y_pos (float)
Specifies the offset (from the player axis) at which the super anim is to be displayed. Defaults to 0,0.

darken = bvalue (boolean)
If this is 1, the screen will darken during the SuperPause. Set this to 0 to disable this effect. The default value is 1.

p2defmul = def_mul (float)
This is the amount in which to temporarily multiply the defence of any targets the player has. This is used to make chaining into supers less damaging. Setting this at 1 will make no changes to the targets' defence. 0 is a special value that will set the defence to the number set in Super.TargetDefenceMul in the [Rules] section of mugen.cfg. The default value is 0. Valid values are all positive numbers, including zero.

poweradd = value (int)
This is the amount to add to the player's power. Defaults to 0.

unhittable = bvalue (boolean)
If set to 1, the player cannot be hit during the SuperPause. Set to 0 to disable this. Defaults to 1.

Notes:
If the Pause controller was previously executed, and the action is still paused, executing a SuperPause will preempt the Pause controller's effects. During the SuperPause, the time left until the Pause controller's effects expires will not count down.

Additional Notes:
Here are the list of Pause parameters

endcmdbuftime = bt (int)
This is the number of ticks during the end of the pause in which the player's move commands will be buffered. Buffered commands will be detected by the "command" trigger immediately after the pause ends. The buffering applies only to players who are unable to move during the pause (see movetime parameter). Valid values for endcmdbuftime are from 0 to t, where t is the value of the time parameter. Defaults to 0.

movetime = mt (int)
This is the number of ticks during the start of the pause in which the player is allowed to move. Collision detection is carried out during this time, so it is possible to hit other players. Valid values for mt are from 0 to t, where t is the value of the time parameter. Defaults to 0.

pausebg = p (boolean)
If set to 1, the background is stopped during the pause. If 0, the background continues updating during the pause. Defaults to 1.

Example:
none
Last Edit: December 14, 2016, 02:48:53 AM by Just No Point
Re: SuperPause (SCTRL)
#2  December 14, 2016, 02:48:08 AM
  • ******
    • www.justnopoint.com/
I want to expand on this
Quote
p2defmul = def_mul (float)
This is the amount in which to temporarily multiply the defence of any targets the player has. This is used to make chaining into supers less damaging. Setting this at 1 will make no changes to the targets' defence. 0 is a special value that will set the defence to the number set in Super.TargetDefenceMul in the [Rules] section of mugen.cfg. The default value is 0. Valid values are all positive numbers, including zero.

Something I saw when reading OKOF97's Clark's readme :
Quote
A special note for those who asked : the damage values on hyper moves are accurate to KOF, it's just that mugen reduces them using the Super.TargetDefenceMul in mugen.cfg. Switching the value back to 1 (instead of 1.5) offers you access to the regular values.

And when you go to Mugen.cfg, these are the lines he's talking about (that I had never noticed because I suck/never cared/blablabla) :
Quote
;This controls how much damage a super does when you combo into it.
 ;It's actually a multiplier for the defensive power of the opponent.
 ;A large number means the opponent takes less damage. Leave it at
 ;1 if you want supers to do the normal amount of damage when comboed
 ;into.
 ;Note 1: this increase in defence stays effective until the opponent
 ;        gets up from the ground.
 ;Note 2: the program knows you've done a super when the "superpause"
 ;        controller is executed. That's the instance when this change
 ;        becomes effective.
Super.TargetDefenceMul = 1.5

My question is : how do creators deal with this, when they attempt to make something somehow accurate ? The regular damage for the super is easily extracted from the game, but when this super is comboed into, how to make sure the damage for the super will still be accurate to the source game ? Do you care about it ? Do you put a multiplier for the combos to go back to the correct value ? Other ?

There's a line in the SuperPause sctrl that makes it ignore that, p2defmul.

2OS

Re: SuperPause (SCTRL)
#3  February 05, 2017, 09:34:35 PM
  • ****
  • 608 Wannabe
  • Ich schicke dich zur HOELLE!! STIRB DU FEIGLING!!
    • Egypt
    • deuceovspadez.webs.com/
Notes:
Executing a Pause controller during the pausetime of another will cancel out the effect of the previous Pause controller. Executing a Pause during a superpause will delay the effects of the pause until after the superpause has ended.

to clarify it only cancels time. it does not cancel movetime. this also applies to pause and makes this possible.
Re: SuperPause (SCTRL)
#4  February 08, 2017, 05:47:36 PM
  • *****
  • Gaps? Where we're going, we don't need gaps...
    • USA
    • ricepigeon.neocities.org
While this doesn't occur in M.U.G.E.N, I do want to add that the 'unhittable' parameter is completely ignored in IKEMEN, so you are still vulnerable even during the pause. Of course, this can be circumvented using a NotHitBy controller during the pause.
Re: SuperPause (SCTRL)
#5  February 08, 2017, 05:49:55 PM
  • ******
    • www.justnopoint.com/
It may be useful to add ikemen version numbers or whatever is used to know what version you have. Since it could be updated later to work with this.
Re: SuperPause (SCTRL)
#6  February 08, 2017, 05:54:09 PM
  • ******
  • Loyal to the Game
    • USA
    • http://jesuszilla.trinitymugen.net/
I wonder how endcmdbuftime affects Vans's buffering system, come to think of it.
Re: SuperPause (SCTRL)
#7  February 08, 2017, 05:55:01 PM
  • ******
    • www.justnopoint.com/
What about your buffer system?
Re: SuperPause (SCTRL)
#8  February 08, 2017, 05:58:22 PM
  • ******
  • Loyal to the Game
    • USA
    • http://jesuszilla.trinitymugen.net/
Just ninja'd; it's the same base. I haven't looked into it, but if the helper is set to ignore pausetimes, that could negatively affect it, but I'm not 100% sure. I don't think commands themselves will be detected until after that ends, so maybe it won't affect anything negatively since the commands themselves will be processed at that point.

Basically, it's triggered by a command, so as long as commands are processed by MUGEN (e.g. at endcmdbuftime or when there's no pause active) it should be processing, meaning you achieve the same result.
Last Edit: February 08, 2017, 06:05:58 PM by Jesuszilla