YesNoOk
avatar

Immunity to SuperPause? (Read 4791 times)

Started by Disconcorde, October 04, 2019, 07:09:28 pm
Share this topic:
Immunity to SuperPause?
#1  October 04, 2019, 07:09:28 pm
  • avatar
  • **
    • UK
As the title states, there's an immunity to SuperPause. I have two chars on my roster that do this (HellFlamer and Fallen-Sanae). I want to add this to a character I've been editing, and I've tried studying their code but I can't find out how they do it.

I did some searching and came across a thread by 2OS titled: "Set PauseMoveTime and SuperMoveTime to Root/Pauses and SuperPauses never trigger" and I tried that, but it did not create the superpause immunity that I thought it might.

To clarify, when I say superpause immunity what I'm saying is that p1 (in this case HellFlamer or Fallen-Sanae) can completely ignore a superpause or regular pause by p2. This obviously has its benefits considering that most devs don't expect p1 to attack p2 whilst being superpaused, they leave p2 vulnerable.


Unfortunately, other than 2OS' thread, there seems to be no other documentation that I can find on this concept, and since that didn't work for me, and I've come up with nothing studying those two chars I've decided to come here just in case any of you might be able to help.
Last Edit: October 31, 2019, 06:15:50 pm by Disconcorde
Re: Immunity to SuperPause?
#2  October 04, 2019, 08:22:50 pm
  • ****
  • CPU Purple Heart
    • USA
    • https://www.pixiv.net/en/users/8108265
 Never messed around with anything like this before, but I've done a quick test and this code seems to work for the most part.

Quote
[State -2, SuperPause]
type = SuperPause
trigger1 = 1
time = 0
anim = -1
sound = -1
movetime = -1
darken = 0
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

 Keep in mind that this only works against superpauses, if the enemy is using the pause sctrl to mimic superpauses or are using it for tricks like time stop/time slow, you'd need to also use the pause sctrl in a similar manner as the superpause sctrl that I posted above.
Re: Immunity to SuperPause?
#3  October 04, 2019, 08:25:27 pm
  • avatar
  • **
    • UK
@Nep Heart
From what I remember, Pause and SuperPause share almost Identical features. I should be able to create the exact same effect for pause as superpause if your code works.

The only problem, is that I need this only for one state. I tried changing trigger1 = 1 to trigger1 = stateno = 14005, but that stopped it from working entirely. I also tried putting it at the beginning of statedef 14005; still didn't work.

Is there a way to make this work for only one state? Because using it in State -2 and trigger1 = 1 will probably break other instances of superpause from p1. Using triggerall didn't work either.
Last Edit: October 04, 2019, 08:42:02 pm by Disconcorde
Re: Immunity to SuperPause?
#4  October 04, 2019, 08:45:58 pm
  • ****
  • CPU Purple Heart
    • USA
    • https://www.pixiv.net/en/users/8108265
Use persistent = 1 for when the superpause sctrl is being activated at the beginning of that state so it can continue playing every tick in stateno 14005? Frankly never messed around with this kind of thing before asides from doing time stop and time slow based moves, so, I can only make educated guesses.
Last Edit: October 04, 2019, 09:20:05 pm by Nep Heart
Re: Immunity to SuperPause?
#5  October 04, 2019, 08:58:30 pm
  • avatar
  • **
    • UK
Thanks for effort, sadly, that doesn't work either.

Maybe I should just suck up the fact that it'll only work with trigger1 = 1 in -2, you know, risk vs reward kind of thing.

2OS

Re: Immunity to SuperPause?
#6  October 13, 2019, 03:15:32 am
  • ****
  • 608 Wannabe
  • Ich schicke dich zur HOELLE!! STIRB DU FEIGLING!!
    • Egypt
the dumb thing with the pausemovetime and supermovetime setting is that (like helpers) it can only happen when they're initially spawned.

root characters are (obviously) spawned at the very beginning of the round so it's set then. the instant that same player is hit or triggers a pause the effect wears off.

you bypass both these things by having another helper trigger desired pauses and having another helper as armor.
Re: Immunity to SuperPause?
#7  October 29, 2019, 07:20:51 am
  • avatar
  • **
    • UK
@2OS Speaking of helpers, I decided to relook at this thread and tried using them this time. I have the initial SuperPause thing which worked in -2 in a helper this time, and it looks like this:

-- Actual Helper

Code:
[Statedef 15150]
Type = U
MoveType = U
Physics = N
hitdefpersist = 1
hitcountpersist = 1
movehitpersist = 1

[State -2]
type = AssertSpecial
trigger1 = 1
flag = invisible
flag2 = noshadow
ignorehitpause = 1

[State -2]
type = BindToRoot
trigger1 = 1
pos = 0, 0
ignorehitpause = 1

[State ]
type = NotHitBy
trigger1 = ishelper
value2 = SCA
ignorehitpause = 1

[State ]
type = HitOverride
trigger1 = ishelper
attr = SCA,AA,NA,SA,HA,AP,NP,SP,HP,AT,NT,ST,HT,S,C,A,H,N,T,P
time=-1
ignorehitpause = 1

[State , SuperPause]
type = SuperPause
trigger1 = !ishelper
time = 11111111111
sound = -1
movetime = -1
darken = 0
anim= -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State , Pause]
type = Pause
trigger1 = !ishelper
time = 11111111111
sound = -1
movetime = -1
anim = -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State , SuperPause]
type = SuperPause
trigger1 = ishelper(15150)
time = 0
sound = -1
movetime = -1
darken = 0
anim= -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State , Pause]
type = Pause
trigger1 = ishelper(15150)
time = 0
sound = -1
movetime = -1
anim = -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State ]
type = Null
trigger1 = 1
ignorehitpause = 1

[State ]
type = DestroySelf
trigger1 = !root,alive
ignorehitpause = 1

In -2:

Code:
[State , Helper]
type = helper
trigger1 = (stateno = 5051 || stateno = 14000 || stateno = 14005) && !numhelper(15150)
id = 15150
stateno = 15150
name = "SaveH"
keyctrl = 0
ignorehitpause = 1
supermovetime = 11111111111
pausemovetime = 11111111111


Would this work? And as for armour, well, Super/Hyper Armour helpers are incompatible with the character I'm trying to add this to. Also, the States I'm trying to have this immunity active on all have NotHitBy's activated anyway, so there shouldn't be a need for Armour anyway whilst in those states.

The only issue I have with nep's version of it is that I can only have it in State -2, and I can only have trigger1 = 1. It won't work otherwise, which is a problem because I only need it to be active for those 3 states.


EDIT: This works.
Last Edit: October 31, 2019, 06:16:09 pm by Disconcorde
Re: Immunity to SuperPause?
#8  December 11, 2019, 04:26:06 am
  • avatar
  • **
    • Vietnam
@2OS Speaking of helpers, I decided to relook at this thread and tried using them this time. I have the initial SuperPause thing which worked in -2 in a helper this time, and it looks like this:

-- Actual Helper

Code:
[Statedef 15150]
Type = U
MoveType = U
Physics = N
hitdefpersist = 1
hitcountpersist = 1
movehitpersist = 1

[State -2]
type = AssertSpecial
trigger1 = 1
flag = invisible
flag2 = noshadow
ignorehitpause = 1

[State -2]
type = BindToRoot
trigger1 = 1
pos = 0, 0
ignorehitpause = 1

[State ]
type = NotHitBy
trigger1 = ishelper
value2 = SCA
ignorehitpause = 1

[State ]
type = HitOverride
trigger1 = ishelper
attr = SCA,AA,NA,SA,HA,AP,NP,SP,HP,AT,NT,ST,HT,S,C,A,H,N,T,P
time=-1
ignorehitpause = 1

[State , SuperPause]
type = SuperPause
trigger1 = !ishelper
time = 11111111111
sound = -1
movetime = -1
darken = 0
anim= -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State , Pause]
type = Pause
trigger1 = !ishelper
time = 11111111111
sound = -1
movetime = -1
anim = -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State , SuperPause]
type = SuperPause
trigger1 = ishelper(15150)
time = 0
sound = -1
movetime = -1
darken = 0
anim= -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State , Pause]
type = Pause
trigger1 = ishelper(15150)
time = 0
sound = -1
movetime = -1
anim = -1
p2defmul = 1
poweradd = 0
unhittable = 0
ignorehitpause = 1

[State ]
type = Null
trigger1 = 1
ignorehitpause = 1

[State ]
type = DestroySelf
trigger1 = !root,alive
ignorehitpause = 1

In -2:

Code:
[State , Helper]
type = helper
trigger1 = (stateno = 5051 || stateno = 14000 || stateno = 14005) && !numhelper(15150)
id = 15150
stateno = 15150
name = "SaveH"
keyctrl = 0
ignorehitpause = 1
supermovetime = 11111111111
pausemovetime = 11111111111


Would this work? And as for armour, well, Super/Hyper Armour helpers are incompatible with the character I'm trying to add this to. Also, the States I'm trying to have this immunity active on all have NotHitBy's activated anyway, so there shouldn't be a need for Armour anyway whilst in those states.

The only issue I have with nep's version of it is that I can only have it in State -2, and I can only have trigger1 = 1. It won't work otherwise, which is a problem because I only need it to be active for those 3 states.


EDIT: This works.

You forgotten 1 think. When superpause or pause is executed, Both pausemovetime and supermovetime of that Helper will be reset to 0 constantly.
------Tremble Mortal and Despair. Doom has come to this world------
Re: Immunity to SuperPause?
#9  December 18, 2019, 02:47:38 pm
  • avatar
  • **
    • UK
I know, but for some reason, having those there does seem to help it work better... for some reason... I don't know why but it just does, at least for me.
Re: Immunity to SuperPause?
#10  December 19, 2019, 04:19:12 am
  • avatar
  • **
    • Vietnam
I know, but for some reason, having those there does seem to help it work better... for some reason... I don't know why but it just does, at least for me.

Try this one. It work pretty well.

Pro: can unpause at whole game because this is a constantly spawned helper.
Con: Because this helper constantly remove after code execution so it may not be create when total helper is currently maximum.

;----------------------------------------
[Statedef -2]

. . . . . . . . . . . . . . . ..

[State , Helper]
type = helper
trigger1 = 1
id = 5150
stateno = 5150
name = "???"
keyctrl = 0
helpertype = player
ignorehitpause = 1
supermovetime = 11111111111
pausemovetime = 11111111111

. . . . . . . . . . . . . . . ..

[State maintance]
type = selfstate
trigger1 = ishelper(5150)
value = 5150
ignorehitpause = 1
;----------------------------------------
[State , Helper]
type = helper
trigger1 = whatever
id = 5150
stateno = 5150
name = "???"
keyctrl = 0
helpertype = player
ignorehitpause = 1
supermovetime = 11111111111
pausemovetime = 11111111111

[Statedef 5150]
Type = U
MoveType = U
Physics = N
hitdefpersist = 1
hitcountpersist = 1
movehitpersist = 1

[State ]
type = bindtoroot
trigger1 = ishelper(5150)
pos = 0,0
ignorehitpause = 1

[State ]
type = superpause
trigger1 = ishelper(5150)
time = 0
movetime = 0
unhittable = 0
anim = -1
darken = 0
sound = -1
ignorehitpause = 1

[State ]
type = pause
trigger1 = ishelper(5150)
time = 0
movetime = 0
unhittable = 0
ignorehitpause = 1

[State ]
type = destroyself
trigger1 = ishelper(5150)
ignorehitpause = 1

                                                                                   ------------------- By H.A ---------------------
------Tremble Mortal and Despair. Doom has come to this world------
Re: Immunity to SuperPause?
#11  December 21, 2019, 09:20:50 pm
  • avatar
  • **
    • UK
Thanks, but that helper would be always active. The one I have only activates during certain states. State 5052, State 13006, State 14000 and State 14005... because those states do better with that. And mine does work fine.
Re: Immunity to SuperPause?
#12  March 09, 2020, 03:31:27 am
  • avatar
  • **
    • Vietnam
Besure to adding the destoyself in the last of the state. Cause when superpause or pause sctrl is active. Both helper's supermovetime and pausemovetime will be remove and the helper will be pause when the opponent triggered the same sctrl in his own state and the same with others player.
------Tremble Mortal and Despair. Doom has come to this world------