News:

MFG's Character of the Month: October 2026 Nominations

Main Menu

Multi-Projectile Hyper damage problem.

Started by NapoleonJonamite, July 09, 2011, 07:10:00 AM

Previous topic - Next topic

ThatIdahoGuy

Well, here's a weird one for you. I made a hyper for my current WIP that fires multiple projectiles, but here's the funny part: At close range, the damage is much weaker than when it's used at a distance. Any ideas?

Code from the hyper:
; Aqua Rhapsody
[Statedef 3300]
type = S
movetype = A
physics = S
hitflag = F, D
juggle = 30
anim = 1700
velset = 0,0
ctrl = 0
sprpriority = 1

[State 1400,]
type = PlaySnd
trigger1 = AnimElem = 4
value = 13, 0

[State 8787, a9, BG Black]
type = EnvColor
trigger1 = animelem=4
value = 0,0,0
under = 1
;supermovetime = 9999
time = 50

[State 8787, a9] ;bgscreen
type = Explod
trigger1 = !time
anim = 4000
id = 4000
pos = 0,0
;facing = 1
bindtime = -1
supermovetime = 9999
pausemovetime = 9999
sprpriority = -17
scale = 1,1
removeongethit = 1
IgnoreHitPause = 1
;ownpal=1

[State 8787, a9] ;bgscreen
type = Explod
trigger1 = !time
anim = 4500
id = 4500
pos = 0,-50
;facing = 1
bindtime = -1
supermovetime = 9999
pausemovetime = 9999
sprpriority = -20
scale = 1,1
removeongethit = 1
IgnoreHitPause = 1
;ownpal=1

[State 8787, a9] ;bgscreen
type = Explod
trigger1 = !time
anim =4100
id = 4100
pos = 0,0
postype=back
;facing = 1
bindtime = -1
supermovetime = 9999
pausemovetime = 9999
sprpriority = -19
scale = 1,1
removeongethit = 1
IgnoreHitPause = 1
;ownpal=1

[State 1400, Super A]
type = SuperPause
time = 120
anim = S1401
trigger1 = AnimElem =4
sound = S5,1
unhittable = 1
poweradd = -1000

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 6
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 7
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 8
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 9
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 10
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 11
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 12
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3

[state 3300, 4]
type = Projectile
trigger1 = AnimElem = 13
ProjID = 3305
projanim = 3305
projhitanim = 1301
Projhitanim = -1
projremanim = -1
projcancelanim = -1
projhits = 2
offset = 0,0
velocity = 6, 0
attr = S, SP
damage    = 11,5
getpower = 0
givepower = 40
hitflag = MAFP
guardflag = MA
pausetime = 0,20
sparkno = S1301
guard.sparkno = S4023
sparkxy = 0,0
hitsound   = S0,6
guardsound = S6,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -5
airguard.velocity = -3.5
air.velocity = -2.5,-5.5
air.juggle = 3
fall = 1
fall.recover = 0

[State 3300, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

Cobra Caddie

Gonna take a wild guess and say that some projectiles aren't hitting. Um...give their hitboxes a bigger ass and see if that helps. It doesn't have to stay that way but you'll know if that's the problem if you do that.

ThatIdahoGuy

Oh, they're all hitting. I know this myself as I first saw that happen. I was hoping to find a way to figure out why it is the damage is so low in close range while much stronger (What was initially programmed) at a distance.
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

Rajaa Retired

Do you have a damage dampener of any sort? I don't even know if that would affect projectile state controllers. :S

Cobra Caddie

Uhh...you could be comboing into the move? If you have damage dampening. This is a very strange problem, maybe it's some kind of hard coded Mugen bull.

Edit: Acknowledged that I was beaten by 20 seconds by Rajaa.

Cyanide

In the superpause, apply the p2defmul parameter and set it to 1. It shouldn't really be active, but do it anyway.

Also, i vaguely remember that projectiles hitting during pausetime break, or miss, or something.

Basically, math time. Do it at a distance and look at how much damage you do with debug turned on. Then do it up close. Look at the total damage again. Work out whether it's projectiles missing, or hitting and doing less overall damage.


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.

ThatIdahoGuy

Quote from: Rajaa on July 09, 2011, 07:19:16 AM
Do you have a damage dampener of any sort? I don't even know if that would affect projectile state controllers. :S
I do have a dampener, but it shouldn't have that kind of effect on projectiles unless being comboed into. I mean, I'll just use the move itself and this is what I get from it: Normal damage from a distance, weak damage at close range.
(Would post pics, but for some dumb reason I can't load her on my Mugen because it can't read some of the palettes.)
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

Cobra Caddie

Are the projectiles comboing with eachother up close and not comboing with eachother at a distance? Also, Cyanide's thing.

ThatIdahoGuy

They're comboing into each other at both distances. I finally resolved the load problem, so now I have screens.

Long range (Dampener may be taking too much of an effect):


Close-up:


All the projectiles, all the hits... WTF?
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

Cyanide

Yep fine good. Now answer my question about the total damage dealt. Is it the full damage - X projectiles or the full damage/projectiles.

Basically if it deals 200 damage at full, but 83 at close, your dampener is doing it. If it's doing 50 up close, you're not getting the damage from X projectiles.

That sorta thing.


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.

Cobra Caddie

Gotta be dampening, the 62 damage in the second screenshot doesn't divide evenly by 16(the projectiles do an average of 3.875 each). It does in the first screenshot giving the proper 11 damage per projectile for a total of 176. Do Cyanide's suggestion, and if that doesn't work, try disabling the damage dampening your character has and seeing if that helps.

ThatIdahoGuy

Quote from: Caddie on July 09, 2011, 08:05:03 AM
Gotta be dampening, the 62 damage in the second screenshot doesn't divide evenly by 16(the projectiles do an average of 3.875 each). It does in the first screenshot giving the proper 11 damage per projectile for a total of 176. Do Cyanide's suggestion, and if that doesn't work, try disabling the damage dampening your character has and seeing if that helps.
The dampener I use is one that I got from the "Greatest hits in feedback" thread that was marked MVC-esque, but I never thought it'd affect the damage output on projectile based hypers or affect damage output based on distance. Guess I have a lot more to learn.
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

Cyanide

It shouldn't be doing anything based on distance unless it's not getting reset for some reason when you do it up close, or p2 drops hitstun on the long one. But as you're getting a combo it shouldn't be.

I'm going to have to look at that dampener now...


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.

ThatIdahoGuy

Here's the dampener's code:
[State -2, Damage Dampener]; Scaling in action
type= attackmulset
trigger1= numenemy
value= ifelse(enemynear, gethitvar(hitcount) = 0, 1, ifelse(enemynear, gethitvar(hitcount) = 1, 0.9, 0.8**enemynear, gethitvar(hitcount)))
ignorehitpause= 1

[State -2, Damage Dampener]; Full damage
type= attackmulset
trigger1= numenemy
trigger1= enemynear,movetype!=H || (enemynear,stateno=[120,155])
value= 1.0
ignorehitpause= 1
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

ThatIdahoGuy

So, assuming it is definitely the dampener, how do I resolve the issue (Which I noticed also occurs with one of my previous releases)?

Apologies in advance for the double post.
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

Cobra Caddie

Null the damage dampening and see if the problem is still there.

Also, you tried Cyanide's superpause suggestion?

QuoteIn the superpause, apply the p2defmul parameter and set it to 1. It shouldn't really be active, but do it anyway.

Riptide

hum...I think projectiles still hit during superpause. I'm going out on a limb about that because I have a projectile that can hit during superpause but doesn't always hit at super close range. I think the problem could be hit boxes but I never tested it out.

Rajaa Retired


ThatIdahoGuy

Quote from: Caddie on July 10, 2011, 09:35:52 PM
Null the damage dampening and see if the problem is still there.

Also, you tried Cyanide's superpause suggestion?

QuoteIn the superpause, apply the p2defmul parameter and set it to 1. It shouldn't really be active, but do it anyway.
Did the p2defmul thing and it changed nothing. The damage got weaker the closer I got to p2.

I'll get back to you on the damage dampener.
"Hey, your beard's so dumb, it sits on the TV and watches the couch. Haha! That's a good one, Jack!" -Si Robertson

Cyanide

As you obviously want the dampener. Lets do some weird stuff.

Thing one. Only reduce the pausetime on the projectiles. See what it does.
Next increase the pausetime to twice what it was
Last, decrease pause and increase hit.

The last possibility is dumb. I think that during the hitstates in your character you have some movetype = I states, so damage is being reset.


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.