News:

MFG's Character of the Month: October 2026 Nominations

Main Menu

Super projectile.

Started by LaQuak, June 01, 2008, 06:53:20 AM

Previous topic - Next topic

LaQuak

Hey whats up guys hows it going. So im working on my Super projectile that has multiple hits. I achieved that. This is what I have. In the .air I have the projectile animation covered by clsn standard, both red and blue. In the pose state I have a Helper that goes into that animation and inside the helpers animation i've set up HitDefs for damage and ect. The super projectile doesnt travel because its Chun Li's puff ball so its like stays next to the body.

Now I seem to be having a few issues. Correct me if I am wrong but super projectiles should overwrite other super projectile. i.e if my super projectile is 8 hits and p2 projectile is 8 hits if both are thrown both should nullify each other yes? This is what is happening. If I do my Medium projectile which is up to 7 hits. And say Akuma throws his messatsu hadouken for 8 hits. then 7 of those hits should be nullified and only 1 hit me in the end yes.

I can't seem to figure out how to do so. In my projectile (puff ball) state I have:

[State 1043, HitOverride]
type = HitOverride
trigger1 = 1
time = 20
attr = SCA,AA,AP,AT
stateno = 1044
ignorehitpause = 1

Then I've set up a invisible helper with clsn standards both red and blue just a bit outside the puff area and in state 1044 which is supposed to be the one thats nullifying hits I set this up.

; Kikousho Nullifier One
[Statedef 1044]
type = S
movetype = I
physics = S
velset = 0,0
anim = 1044
sprpriority = 0
ctrl = 0

[State 1044, NotHitBy]
type = NotHitBy
trigger1 = 1
value = ,AA, AT
time = 42

[State 1044, BindToParent]
type = BindToParent
trigger1 = 1
facing = 1
pos = 0,0

[State 1044, HitOverride]
type = HitOverride
trigger1 = Time >= 0
time = 42
attr = SCA,NP,SP,HP
slot = 7
stateno = 1045
ignorehitpause = 1

[State 1044, SprPriority]
type = SprPriority
trigger1 = Time >= 0
value =  0

[State 1044, DestroySelf]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = Parent,stateno != 1040
trigger3 = Parent,stateno != 1041
trigger4 = Parent,stateno != 1042
trigger5 = Parent,movetype = H
;---------------------------------------------------------------------------
; Kikousho Nullifier Two
[Statedef 1045]
type = S
movetype= H
physics = S
velset = 0,0
anim = 1045
ctrl = 0

[State 1045, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA,AA,AT,AP
time = 2

[State 1045, SprPriority]
type = SprPriority
trigger1 = Time >= 0
value =  -1

[State 1045, StateTypeSet]
type = StateTypeSet
trigger1 = Time > 0
movetype = I

[State 1045, DestroySelf]
type = DestroySelf
trigger1 = AnimTime = 0

1045 is invisible state also. Personaly I dont even know if I am doing it right. Can anybody point me in the right direction please?

Cyanide

This won't work because of the giant beam aspect. Basically p2 will have created a hitbox that bypasses your helper, and hits you. Unless you have no hitboxes.

And looking at MSHvSF, that's exactly what happens.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

LaQuak

Quote from: Cyanide on June 01, 2008, 07:10:24 AM
This won't work because of the giant beam aspect. Basically p2 will have created a hitbox that bypasses your helper, and hits you. Unless you have no hitboxes.

And looking at MSHvSF, that's exactly what happens.

So your saying that its not possible to nullify something like shin akumas messatsu hadouken (8 hits) with my kikousho (8 hits) thus resulting in neather projectile being hit?

Cyanide

Oh it's possible. But only if the other character has coded it in a way that allows that to happen.

Giant beams aren't normally cut off by other projectiles. So you can prevent yourself taking damage (which is apparently what's meant to happen) or you can get hit. Your choice.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

LaQuak

Quote from: Cyanide on June 01, 2008, 07:47:15 AM
Oh it's possible. But only if the other character has coded it in a way that allows that to happen.

Giant beams aren't normally cut off by other projectiles. So you can prevent yourself taking damage (which is apparently what's meant to happen) or you can get hit. Your choice.

I dont have a giant beam its like a ball, sphereish looking thingy infront of Chun Li. Like a shield if you want to look at it that way.

So you're saying my code aint wrong and I have to rely on another character(s) code in order for my "shield" to nullify all those hits. Thats lame as anything man heh. So much for thinking of making "balanced" characters. Well its not really their fault neather so I can't complain. I guess ill be able to knock only 1 hit of them. Because I can do that now then my ball just disappears and the other hits follow you know. If I do it on mirror self same thing.

Is there a good MvC Chun Li?. Her puff ball is Huge I should test out that also to see what happens .vs a traveling super projectile.

Alright I guess no big deal, can't bother me knowing I can't really make it perfect. Still lame I wanted to use this move to protect sexy .vs evil bad guys.

Thanks Cyanide let make a Akuma together  :sugoi: HAHAHA

Cyanide

QuoteSo you're saying my code aint wrong and I have to rely on another character(s) code in order for my "shield" to nullify all those hits.
Exactly.

If i was going to suggest a chunli, Whitemagics. Getting a non beam styled super projectile dealing more than one hit, dunno. Mr Fongs Ryo maybe.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

LaQuak

Quote from: Cyanide on June 01, 2008, 08:38:44 AM
QuoteSo you're saying my code aint wrong and I have to rely on another character(s) code in order for my "shield" to nullify all those hits.
Exactly.

If i was going to suggest a chunli, Whitemagics. Getting a non beam styled super projectile dealing more than one hit, dunno. Mr Fongs Ryo maybe.

I just downloaded rkMugen his MvC Chun Li has what I need in order for my ball to nullify something like super hadouken and equivalent. See I knew it was possible now I must seek to see what I need to do in order to get that result on my character. I will make my ball nullify like I want to! Haha

LaQuak

#7
I am getting weird results. Although with permission and looking at rkmugens chun li I was able to nullify everything how I want to. Then I had an issue where my projectile did show up but I think I fixed it *shrugs* ...But lol at this. I tried it out on shin akuma right did his 8 hit messatsu and my super projectile and if his hits Right before i get mine of. The combo counter shows 16 hits instead of 8 LOL. All my puff ball variations seem to nully everything buts thats ok.

Here is my code maybe you guys can check it out see why p2 gets a double hitcombo count if its in the nick of time. This is my heavy puff ball state. 1043 is the state and animation for my puff ball.

; Heavy Kikousho
[Statedef 1042]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 1042
poweradd = -3000
sprpriority = -2

[State 1042, Width]
type = Width
trigger1 = BackEdgeBodyDist < 100
edge = 30,30
player = 0,0

[State 1042, SuperPause]
type = SuperPause
trigger1 = AnimElem = 3
time = 60
movetime = 60
anim = -1
sound = S4,1
darken = 0
unhittable = 1
p2defmul = 1
;sprpriority = 2

[State 1042, Hyper Circle Spark]
type = Explod
trigger1 = AnimElem = 3
anim = 7017
pos = -33,-110
supermovetime = 50
ignorehitpause = 0
ownpal = 1
sprpriority = 5

[State 1042, CvS Hyper Charge Spark]
type = Explod
trigger1 = AnimElem = 3
anim = 7018
pos = -33,-110
supermovetime = 50
ignorehitpause = 0
ownpal = 1
sprpriority = 5

[State 1042, AfterImage]
type = AfterImage
trigger1 = AnimElem = 1
Time = 75
TimeGap  = 3
FrameGap = 4
length = 10
PalBright = 1,1,1
PalContrast =  150,50,50
PalAdd = 0,0,0
PalMul = .5,.5,.5
trans = add1
ignorehitpause = 1

[State 1042,Helper]
type = Helper
trigger1 = AnimElem = 11
id = 1046
name = "Heavy Kikousho"
pos = 55,-69
postype = P1
stateno = 1046
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
size.xscale = 1
size.yscale = 1

[State 1042, Projectile]
type = Projectile
trigger1 = AnimElem = 11
projanim = 1043
Projhitanim = -1
Projremanim = -1
projcancelanim = -1
projremovetime = 42
offset = 55,-69
projpriority = 1
projsprpriority = 4
ProjID = 1043

[State 1042, Cry]
type = PlaySnd
trigger1 = AnimElem = 1
value = s9,0
channel = 0

[State 1042, Kikousho]
type = PlaySnd
trigger1 = AnimElem = 11
value = s9,4
channel = 0

[State 1042, Kikousho Wave]
type = PlaySnd
trigger1 = AnimElem = 11
value = s9,5

[State 1042, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
; Heavy Kikousho
[StateDef 1046]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0,0
anim = 1043
sprpriority = 1
persistent = 1

[State 1046, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AT,AP,SP,HP
StateNo = 1044
ignorehitpause = 1

[State 1046, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 4
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 8
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 12
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 16
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 18
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 22
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 26
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 30
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1046, 1]
type = HitDef
trigger1 = AnimElem = 40
attr = S, NA
damage = 40,5
animtype = Hard
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 0, 5
sparkno = s7004+(random%4)
guard.sparkno = s7012
sparkxy = -35, 0
hitsound = s1, 3
guardsound = s10, 1
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -3
airguard.velocity = -1.9,-.8
air.type = Low
air.velocity = -4,-3
air.hittime = 12
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
getpower = 0,0
givepower = 0,0

[State 1045, DestroySelf]
type = DestroySelf
trigger1 = Time > 30

And this is my nullify state.

; Kikousho Nullifier
[StateDef 1044]
type = S
movetype = A
physics = S
anim = 1044

[State 1044,1]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AT,AP,SP,HP
StateNo = 1044
ignorehitpause = 1

[State 1044,2]
type = BindtoParent
trigger1 = 1
facing = 1
pos = 0,0

[State 1016, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1

[State 1016, DestroySelf]
type = DestroySelf
trigger1 = Time > 42

I know it looks funny to have a projectile sctrl inside the super pause state but that how I was able to make my puff ball visible. *shrugs* what a clusterfuck aint it.

Also lol I go to block state after all this is over only if I press back right away. hahaha.

Yeah I seem to be 100% stuck. Am I even coding this puff ball right. I tried to make it just an explod that doesn't do anything and have a invisible helper do all the damage for me but it doesn't *shrugs* heh.

Cyanide

Your helper and your projectile are hitting p2 beam. Still this will only work if the opponent has allowed his projectile to be hit. And if said projectile isn't a screenwide clsn box. Otherwise it won't nullify anything and you'll just get hit.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

LaQuak

Yeah I just sent you a PM explain all this and a possible fix I've made.

The only reason why I put the projectile sctrl in there is because if my puff ball made contact with any projectile, regular or super it would prematurely disappear. That projectile sctrl is making it visible somehow heh.

The puff ball is covered with clns standard both red and blue in .air and that nullifier has blue clns and its a invisible animation...+ I think I cheated with a possible fix you'll see it in pm.

Nonetheless, I am really upset at this shenanigans!


LaQuak

Yo man. What is the deal with regular projectiles and combo hit count multiplier. Every single character seem to have this.

You throw a projectile with p1 right. And then in the nick of time your throw a projectile with p2 then like both projectile null each other out..both guys take their normal projectile damage depending on input but combo counts shows 2 hit combo.

Projectile is not a accurate sctrl? Its like so strange. Really really weird.

I just wanted to see what happens so I added in HitAdd with value = 0  and then in projectile i put in numhits = 1 still nothing...maybe numhits = 0 inside projectile parameter but that would probably make a projectile in a combo not come up on the counter.

*shakes head* I don't know. Im not a fan of projectile I thinks. Im more of a pow right in kisser kick or punch type of guy.

Cyanide

Aren't you using a helper as well? Helpers show hitcount. Projectiles don't. Except, i think when hit by a helper.

Numhits = 0 will prevent the hitcounter showing up.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

LaQuak

Quote from: Cyanide on June 02, 2008, 05:56:56 AM
Aren't you using a helper as well? Helpers show hitcount. Projectiles don't. Except, i think when hit by a helper.

Numhits = 0 will prevent the hitcounter showing up.

Oh ok you got to this already. Yeah my invisible helper has yellow clns box (clsn standard) covered by green clns box (clsn standard) and its over the projectile animation how it should be.

Yeah if a projectile is comboable and in many cases it is then numhits = 0 wont show the projectile combo +1 on the counter which is lame. So then you can't prevent this from happening at all. Cuz im telling you man, alot of character have this. Surprizingly enough, when I do it to mirror self it dont happen. Different character .vs mirror self do.

*shrugs and shakes head*

PotS

You need to code it so that everytime it hits/gets hit a var increases, and when the var>maximum hits it disappears or at least stops hitting. See any of my multiple hits projectiles (preferably latest stuff).
You can help with Ikemen GO's development by trying out the latest development build and reporting any bugs on GitHub.
My Mugen and Ikemen content can also be found here.

LaQuak

Quote from: P.o.t.S. on June 02, 2008, 07:04:41 PM
You need to code it so that everytime it hits/gets hit a var increases, and when the var>maximum hits it disappears or at least stops hitting. See any of my multiple hits projectiles (preferably latest stuff).

Thats the things P.o.t.S your latest Shin Akuma has this problem lol. And I know your Shin Akuma is a solid code, I was surprized to see it. I throw a hadouken with p1 shin akuma and then p2 shin akuma (mirror self) in the nick of time I throw a hadouken. Both hadouken expire. 2 hit combo for both, both Akumas take respective damage (not double damage). As a matter a fact your Morrigan that I play with (the prelast version) also has this. As do pretty much all the characters. If this is not a fixable problem so be it, but I left it alone seeing how pretty much every decent authors projectile seems to have this. If I would do that 3 hit fire hadouken the same way as your regular hadouken = 6 hits. Thus your messatsu hadouken = 16. Check it out man if you have any idea on how this can be fixed if it can let me know. Maybe some things aren't possible *shrugs*