Posts: 863
Threads: 49
Joined: Mar 2008
12-07-2014, 07:46 PM
(This post was last modified: 12-11-2014, 07:18 AM by STM1993.)
I've been playing a bit of stage mode with Dennis and I tried to grab whenever I can.
Whenever I grab an enemy and I get hit, I'll drop the enemy... and he'd be in his jumping state. Thus, he may jump attack immediately or recover quickly enough to punish me. I consider this to be an extremely annoying bug; I believe a grabbed opponent should always fall when released from a grip, not go into jump frame when its not the result of the grab timer running out.
Is there any way to force a grabbed victim to always fall when released, even if the grabber has been hit? I have considered a few options so far:
1) Hidden itr on hurt/falling frames and hidden bdy in jumping frames. However this is a very clumsy solution and creates its own bugs.
2) Using wait and next on the victim's caught frames doesn't work, as catching forces the victim to stay in a frame.
3) Similar to idea 1, but apply an itr kind 8 ball to a grabbed victim. If the victim gets out of a grab outside of the designated methods, the ball will go into its next frame and hit the victim out of his jump state. However this solution will not work on the very first catching frame and I'm concerned there may be bugs.
Are there other possible solutions?
Thanks given by:
Posts: 1,326
Threads: 79
Joined: Oct 2010
maybe sending the grabbed opponent in some new frames where he falls and can't move...
Thanks given by:
Posts: 863
Threads: 49
Joined: Mar 2008
12-11-2014, 07:22 AM
(This post was last modified: 12-11-2014, 07:26 AM by STM1993.)
(12-08-2014, 12:53 PM)empirefantasy Wrote: maybe sending the grabbed opponent in some new frames where he falls and can't move... I tried that, it doesn't work.
What I've done to test is to alter the picked_caught frames used in Dennis to have dyy: 550 and next: 201 so Dennis should freeze in mid-air and then turn to ice. I had my character grab Dennis while someone else attacks me.
While grabbing Dennis, Dennis remains in his picked_caught frame without going to next. That's okay.
When I dropped Dennis, Dennis goes into falling frames. That's okay.
If I get interrupted while holding Dennis, Dennis goes into jumping state immediately. This is not okay, I want him to turn to ice if he is no longer grabbed as a result of the grabber being interrupted.
Thanks given by:
Posts: 1,419
Threads: 89
Joined: Jul 2008
Have you tried option 1 to see how it turns out? Perhaps it looks okay if you can work your way around the bugs a bit.
Thanks given by:
Posts: 863
Threads: 49
Joined: Mar 2008
12-11-2014, 11:00 AM
(This post was last modified: 12-15-2014, 10:21 AM by STM1993.)
Not yet, because I do not know what I can do to make this completely bug free or if it is an inevitable trade-off that I can only minimize with clever positioning. Namely,
1) If someone jumped next to an injured/falling/frozen Dennis, he would get hit by the hidden itr. I could clone frame 212 jump state just like double-jump characters to minimize that, but the bug is still there. It doesn't help that I need 2 itrs, because of the position of the vicitm's body in the first frame of throw_lying_man.
2) If you hold down A during jump state, you'd immediately jump attack. That would aggravate the above problem since I need to add yet another hidden bdy.
3) What if I were hit by a ridiculously high dvx/dvy attack? I could easily test this though, but still a valid concern because it could screw up the itr/bdy interaction if I made them super precise with no margin of error.
Simply removing bdy would be an easy way out to all of this, but I don't want to do that. From what I've read, I also can't have hurt/falling frames work with cpoint. That's why I'm stuck.
I'll find some time to test out idea 1 anyway, will post again when I get it working.
EDIT:
Testing DC Code tag.
DC-Code:
<frame> 279 c_foot_catch
pic: 312 state: 3 wait: 1 next: 283 dvx: 1 dvy: 0 dvz: 0 centerx: 30 centery: 82 hit_a: 0 hit_d: 0 hit_j: 0
wpoint:
kind: 1 x: 37 y: 35 weaponact: 30 attacking: 0 cover: 1 dvx: 0 dvy: 0 dvz: 0
wpoint_end:
itr:
kind: 0 x: 72 y: 5 w: 18 h: 73 dvx: 2 fall: 70 vrest: 7 bdefend: 16 injury: 45
effect: 4
itr_end:
itr:
kind: 0 x: 20 y: 13 w: 64 h: 58 dvx: 13 fall: 70 vrest: 7 bdefend: 32 injury: 70
itr_end:
bdy:
kind: 0 x: 13 y: 3 w: 41 h: 37
bdy_end:
<frame_end>
|
Thanks given by:
Posts: 863
Threads: 49
Joined: Mar 2008
03-14-2015, 05:50 PM
(This post was last modified: 03-14-2015, 05:55 PM by STM1993.)
(03-14-2015, 01:57 PM)Memento Wrote: What I want to make is a template that can kick another template while he's in his lying frames.
I know it is possible, SWU-Dennis was given a move like this when I was in the SWU LF2 team. However, it seems they never released it with the move on him.. Too bad, because I wanted to study this data of course. Anyway, I have been trying some stuff myself, and now I have this move where template can attack an opponent that is lying on the ground, but afterwards, he jumps up.
Lying frame with bdy:
DC-Code:
<frame> 230 lying
pic: 34 state: 14 wait: 30 next: 219 dvx: 0 dvy: 0 centerx: 39 centery: 72 hit_a: 0 hit_d: 0 hit_j: 0
wpoint:
kind: 1 x: 35 y: 74 weaponact: 32 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0
wpoint_end:
bdy:
kind: 0 x: 15 y: -5 w: 50 h: 10
bdy_end:
<frame_end>
|
DC-Code:
<frame> 235 kick
pic: 0 state: 3 wait: 2 next: 236 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
itr:
kind: 3 x: 15 y: -5 w: 50 h: 15 vrest: 7
catchingact: 236 236 caughtact: 239 throwvx: 0 throwvy: 6 throwvz: 0 throwinjury: 30
itr_end:
<frame_end>
<frame> 236 kick
pic: 95 state: 9 wait: 3 next: 237 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
cpoint:
kind: 1 x: 39 y: 0
vaction: 239 aaction: 239 hurtable: 0
cpoint_end:
<frame_end>
<frame> 237 kick
pic: 81 state: 9 wait: 5 next: 238 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
cpoint:
kind: 1 x: 39 y: 0 vaction: 239 aaction: 239 hurtable: 0 injury: 65
cpoint_end:
<frame_end>
<frame> 238 kick
pic: 0 state: 9 wait: 10 next: 999 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
sound: data\014.wav
cpoint:
kind: 1 x: 39 y: 0 vaction: 239 aaction: 239 hurtable: 0
cpoint_end:
<frame_end>
<frame> 239 lying_caught_onback
pic: 34 state: 10 wait: 100 next: 240 dvx: 0 dvy: 550 centerx: 39 centery: 72 hit_a: 0 hit_d: 0 hit_j: 0
cpoint:
kind: 2 x: 39 y: 0
cpoint_end:
<frame_end>
<frame> 240 lying_caught_onback
pic: 34 state: 10 wait: 0 next: 230 dvx: 0 dvy: 550 centerx: 39 centery: 72 hit_a: 0 hit_d: 0 hit_j: 0
<frame_end>
|
So the main problem is that after being hit, the hurt template should remain lying on the ground, but he jumps up. I've been trying to fix this for a couple of hours now... Does putting dvy: 550 on the lying frames solve the problem momentarily? It sounds like a coordinate problem where the enemy is raised above y=0, so he'd fall. If the caught enemy is below y=0, I don't think he'd go into the jumping frame.
Considering the balance issue of repeatedly stomping the same victim, if the above doesn't work, then what I suggest is that you deliberately hold the victim above y=0 but make clever use of centery to make the sprite as if it were still in the same position. Template stomps, the victim goes thrown to the ground (like throw_lying_man, but use a different vaction). Play around with the dvx/y and the vaction to use; I tested vaction 190 and dvx/y 0 and created a pretty hilarious mistake, but using the lying frame itself as the vaction seemed to work fine aside from the character actually being a little below y=0.
(03-14-2015, 01:57 PM)Memento Wrote: The second problem is: can I diffirentiate between lying on the back or on the front, as you always send the opponent to one frame (frame 239)? Using '239 241' (where 241 would be lying on the front) doesn't work. It's a little bit off-topic but if you have a quick answer, please do explain.. :p 239 241 doesn't work because that depends on whether you approach the victim from the front/behind - not whether he is lying front or back. You will need to use two separate bdys and itrs.
(03-14-2015, 01:57 PM)Memento Wrote: Sorry for posting in this old topic, but I'm experiencing the same problem, yet in a diffirent setting... I thought it would be best to post it here (might provide a solution for both STM and myself). Thanks for bringing this topic back up btw, I think I know a compromise for my particular situation.
The 2nd catching frame will constantly opoint, the rate depending on wait. Picked_caught frames will never opoint until the catcher actually attacks.
What I'd take advantage of is the former. When grabbing, the catcher will constantly opoint an itr kind 8 that checks for the catcher being in catching state. If the catcher is not in catching state, the opoint will go into an attack frame that would hit enemies in a jump/jump attack frame at a specific coordinate. Its essentially the first idea of using itr to hit the victim - but this method ensures that this itr only exists if the character went into injured/falling/whatever frames out of catching.
For the frames where there is no opoint, I suppose I can momentarily make that frame have no bdy.
EDIT:
Darn, Memento deleted his post.
Posts: 1,419
Threads: 89
Joined: Jul 2008
03-14-2015, 06:00 PM
(This post was last modified: 03-14-2015, 07:00 PM by Memento.)
Quote:EDIT:
Darn, Memento deleted his post.
Lol, I just decided it would be better to make a topic instead. Sorry
I'll read your post now and edit this one afterwards
Edit: it seems you have fixed most of my problem. I'll post the code here when I got it done
Edit2: I got it working except for one thing: the opponent shifts like 39 pixels backward after being hit. It appears to be happening in frame 238
Code: <frame> 235 kick
pic: 0 state: 3 wait: 2 next: 236 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
itr:
kind: 3 x: 39 y: -2 w: 14 h: 15 vrest: 7
catchingact: 236 236 caughtact: 239 239 throwvx: 0 throwvy: 0 throwvz: 0 throwinjury: 30
itr_end:
<frame_end>
<frame> 236 kick
pic: 95 state: 9 wait: 3 next: 237 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
cpoint:
kind: 1 x: 39 y: -1
vaction: 239 aaction: 230 hurtable: 0
cpoint_end:
<frame_end>
<frame> 237 kick
pic: 81 state: 9 wait: 5 next: 238 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
sound: data\014.wav
cpoint:
kind: 1 x: 39 y: -1 vaction: 239 aaction: 239 hurtable: 0 injury: 65
cpoint_end:
<frame_end>
<frame> 238 kick
pic: 0 state: 9 wait: 10 next: 999 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
cpoint:
kind: 1 x: 39 y: -1
vaction: 230 throwvz: -842150451 throwinjury: -842150451 dircontrol: -1
cpoint_end:
<frame_end>
<frame> 239 lying_caught_onback
pic: 34 state: 10 wait: 30 next: 219 dvx: 0 dvy: 550 centerx: 39 centery: 72 hit_a: 0 hit_d: 0 hit_j: 0
cpoint:
kind: 2 x: 39 y: -1
cpoint_end:
<frame_end>
I'll try to figure out more, later...
The jumping issue has been fixed, so I assume it's better to discuss other things in the new topic I made. Sorry for making it confusing.
Thanks given by:
|