YesNoOk
avatar

At my wit's end (trying to create Sub-Zero-esque freezing move) (Read 2835 times)

Started by DamionDamaske, May 29, 2025, 03:58:27 pm
Share this topic:
At my wit's end (trying to create Sub-Zero-esque freezing move)
#1  May 29, 2025, 03:58:27 pm
  • avatar
    • USA
Default At my wit's end (trying to create Sub-Zero-esque freezing move)
Hey! So I'm making a Doki Doki Literature Club fighting fan game, and I thought I was done with it. However, through some recent playtesting, I found a game-breaking bug that I can't seem to fix. It involves Natsuki, who has baking-themed moves. Her main attack - called "Stunning Cupcake" - has her throwing an aforementioned cupcake at her opponent, and if it makes contact, it stuns them in pink frosting for a few seconds. As stated in the title, it's meant to invoke Sub-Zero's freezing move from "Mortal Kombat." I even looked at different Sub-Zero MUGEN characters to piecemeal the move together (most had custom states and such that made it difficult-to-impossible to copy-paste 1-to-1).

Now, as I said, it mostly works, except for one instance: if the opponent gets out of the stunned state, they can move, but they can't attack until they're hit again. And that gives way too much advantage to Natsuki, thus breaking the meta of the game. Any help to fix this asap would be most appreciated!

So, here's my code:

;Cupcake (Stand); this is the move being performed

[Statedef 1001]

type = S
movetype= A
physics = S
juggle = 4
ctrl = 0
velset = 6,0
anim = 205
sprpriority = -1

[State 1001, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

[State 1001, Helper]
type = Helper
trigger1 = AnimElem = 3
name = "Cupcake"
ID = 2001
stateno = 2001
pos = 75, -233
postype = p1 ;p2,front,back,left,right
facing = 1

***********

;Cupcake (Helper); this is the helper code, "goo" is what I call the frosting

[Statedef 2001]
type = A
movetype= A
physics = A
velset = 55, -17
anim = 2001
sprpriority = 2

[State 2001, 1]
type = HitDef
trigger1 = !time
attr = S, SP
damage = 31, 1
animtype = Light
guardflag = M
hitflag = MAF
priority = 6, Hit
pausetime = 0, 180
guard.pausetime = 0,0
sparkno = s1100 ;Spark anim no
sparkxy = -36, 40
hitsound = s3000, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 12
ground.hittime = 10
ground.velocity = -17, -3
airguard.velocity = -7.6,-3.2 ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High
air.velocity = -5.6,-12
air.hittime = 15

[State 2001, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = 0, 4

[State 2001, TargetState]
type = TargetState
trigger1 = movehit = 1
value = 5400
ID = -1
ignorehitpause = 1

[State 2001, Helper]
type = Helper
trigger1 = pos y >= 0
trigger2 = vel y > 31
name = "Goo"
ID = 2005
stateno = 2005
pos = 0,0
postype = p1
facing = 1
ownpal = 0
supermovetime = 0
pausemovetime = 0

[State 2001, DestroySelf]
type = DestroySelf
trigger1 = pos y >= 0
trigger2 = vel y > 31
trigger3 = movecontact

*********

;Goo_Impact; stunned state

[Statedef 5400]
movetype= A
physics = N
anim = 5400
sprpriority = 2

[State 5400, StateTypeSet]
type = StateTypeSet
trigger1 = movehit = 1
trigger2 = time = 360
statetype = A
movetype = I

physics = A

[State 5400, ChangeAnim]
type = ChangeAnim
trigger1 = movecontact
trigger2 = time = 360
value = 5030

[State 5400, HitOverride]
type = HitOverride
trigger1 = stateno = 5400
attr = SCA,AA,AP
slot = 0
time = 1
forceair = 1
Re: At my wit's end (trying to create Sub-Zero-esque freezing move)
#2  May 31, 2025, 01:19:42 am
  • *****
  • Resident Tosspot
  • Pftheh
    • UK
    • plasmoidthunder.neocities.org

  • Online
You're not SelfStating the target once the move is over.

Oh, I want a diagram. I fucking love diagrams.
Re: At my wit's end (trying to create Sub-Zero-esque freezing move)
#3  May 31, 2025, 03:14:05 am
  • avatar
    • USA
Oh my God, thank you so so much! It works perfectly now! At least in MUGEN.

I'm currently trying to port the game to Ikemen GO and, unfortunately, this code still doesn't work there. Does that engine use different terminology for "forceair" or something? Because I'd prefer the game on Ikemen if possible, due to its bevy of advanced features.

But regardless, you're a lifesaver! Even if it has to stay on MUGEN, at least it works! I really appreciate the prompt response! :)
Re: At my wit's end (trying to create Sub-Zero-esque freezing move)
#4  June 03, 2025, 11:04:52 am
  • *****
  • Resident Tosspot
  • Pftheh
    • UK
    • plasmoidthunder.neocities.org

  • Online
IKEMEN is supposed to support MUGEN code out the box, so this should work there too. Are you using the latest nightly build?

Oh, I want a diagram. I fucking love diagrams.
Re: At my wit's end (trying to create Sub-Zero-esque freezing move)
#5  June 03, 2025, 11:29:21 am
  • avatar
    • USA
Hmmm. I'm pretty sure I got the last stable build from here: https://github.com/ikemen-engine/Ikemen-GO/releases, and was the first result when looking up "Ikemen nightly build". But I'll check the link you provided and give an update if that helped. Thanks again for the rec!

And yeah, just double-checked before commenting. The move works perfectly in MUGEN, but doesn't work in IKEMEN. Though, the problem is different. In MUGEN the issue was the P2 not being able to attack after getting out of frozen state (if not hit), while in IKEMEN the big issue is that if P2 is frozen in the air, they'll remain in a standing state in the air when hit with moves that don't cause air.
Re: At my wit's end (trying to create Sub-Zero-esque freezing move)
#6  June 05, 2025, 01:00:39 am
  • avatar
    • USA
Yeah, tried the nightly release, and it didn't fix anything :/ Same issues with IKEMEN. If the opponent is frozen in the air, and hit with most moves, the opponent stays in the air in a standing state until either jumping or hit with a move that puts them in an air state.

MUGEN still working perfectly though.