Freedom Reborn Archive

Freedom Force Forums => Scripting Forum => Topic started by: TaskMasterX on September 02, 2007, 08:22:35 AM

Title: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on September 02, 2007, 08:22:35 AM
I eventually grew tired of simulating wrestling holds with Melee Stasis attacks and seeing the target held but then seeing the attacker begin running around or attacking with another power when he's suppose to be not doing anything except holding onto the target. So I've tried to simulate this with some scripting and have it about 90% working.

Here's how it works:
This is a state swap which you can swap for Stasis, Blind, etc. When the attack is successful, both the target and the attacker are held in place. You'll want to choose an animation for this that resembles a wrestling hold move because the animation will be locked while the hold is taking place. Every two seconds the target has a chance to break free. If the hold is maintained, then damage is dealt to the target equal to twice the attacker's strength. The hold can also be broken if the attacker is takes damage or is put under a Primary State, like Mental Blanked. To prevent this attack from being too uber, I made it so the hold is automatically broken after 6 seconds. So, damage will be dealt to the target no more than 3 times in one attack. I tested it out using a ranged attack and it works well. So, this could be used for Mr. Fantastic's elongated arm tangle attack, too.
I also created an attribute called wrestler that increases the chance to maintain the hold or to escape holds. Mr. Fantastic could use this attribute to simulate his ability to hold targets stronger than him and to escape these holds.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: catwhowalksbyhimself on September 02, 2007, 10:30:24 AM
Hmm--probably the most original FFX additions I've seen recently.

Perhaps you could try an underpowered knockback at the end--something set with scripting so low that they don't actually get knocked back.

Perhaps using a dummy power with no animation would work as well.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: BentonGrey on September 02, 2007, 10:37:16 AM
Very cool idea TMX, I see great potential for lots of characters.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Epimethee on September 02, 2007, 12:06:50 PM
Nice idea TMX. :)

I think you can fix the "can't unlock" bug by adding after you unlock call the following line:
RegTimer('landonfeet', 0.1, 0, char)

A suggestion: Since resistances and passive defences should ideally be taken into account, maybe you could add a call to getCrushResistanceValue() to get a damage multiplier. Also, it might be safer to employ FFX_ApplyDamage() rather than use Trigger_Damage() directly.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on September 02, 2007, 06:50:09 PM
Thanks for the suggestions, Cat and Ep. I tried both of your ideas for the 'unlock bug' but neither worked. Grasping at straws, I added in lines to re-enable M25's AI, which seems to work. Strange :huh:.

I updated the above code with the fix and Ep's suggestions for incorporating the target's resistances vs. crushing damage and applying damage. Any more ideas for improvement are welcomed, of course.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on September 24, 2007, 08:01:35 PM
Golly.  This is a mighty fine idea.  Really useful for Anaconda and those types who's whol schtick is grappling.  I can't wait to use it.  Would you mind telling me where that code goes?  Its been a while since I've messed with it.  Thanks.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Outcast on September 24, 2007, 08:50:32 PM
Hey, great new attribute!  :thumbup: Glad you were able to solve the bug. Any screenshots as to get an idea on how the animation looks like? :rolleyes:  Too bad i'm still stuck with FF1. :banghead:

Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on September 25, 2007, 08:47:25 AM
Quote from: Xenolith on September 24, 2007, 08:01:35 PM
Would you mind telling me where that code goes?  Its been a while since I've messed with it.  Thanks.
The first, large block of code and the last block of code both go into the ffx.py file. The single line in the middle goes into the FFX_TO_TYPES list in the ffxdefault.py file.

Quote from: Outcast on September 24, 2007, 08:50:32 PM
Any screenshots as to get an idea on how the animation looks like?
The animation can be any one you choose for the power you're swapping. There aren't many wrestling animations for meshes because wrestling couldn't be simulated very well in the game. Maybe this might be a catalyst for the meshers and hexers in this fine community to start adding wrestling animations to meshes!! :D
Anyway, here's a couple of pics I took of She-Hulk grabbing hold of a couple of AIM agents. You need to get as close as possible to get the best look. For the AI  to use it just add a line like:
"TMelee('grapple',time=2.2,maxdist=20)",
so the AI will only use the Grapple attack when they're really close to the target.
(http://www.geocities.com/flyingmelee/grapple003.JPG)

(http://www.geocities.com/flyingmelee/grapple006.JPG)
She-Hulk and the AIM agent are locked in this position until the grapple is broken or released.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: crocodamon on September 25, 2007, 12:42:01 PM
great idea  :thumbup:
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on September 25, 2007, 06:12:36 PM
I'm surprised Tommyboy hasn't cranked out an animation for male_basic and female_basic yet.   :)  This seems like something he'd really like.

Would it be possible to stack or swap damage types?  For example, could I swap out crushing damage with electrical damage or heat damage?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on September 26, 2007, 07:41:02 PM
Hmmm. I think you could create a power that does electrical or heat damage and then use Stun as the swap for the grapple. That might work. Or if the character has the Overheated or ShortCircuited Attribute, then they'll cause heat or electrical damage just by being next to the target while grappling them.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: M25 on September 27, 2007, 07:54:55 AM
Would it be possible to use Trigger_Force to make it look like one character is throwing the other after they have been grappled?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on September 27, 2007, 10:15:51 AM
Nice idea, M25. Although, there is the Throw State Swap that you could use while you are grappling. I'll try it out and see what looks and works best.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on September 27, 2007, 10:16:42 AM
Wow, what if you could apply the throw object animation with this, too.  That would be pretty sweet.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: electro on October 03, 2007, 08:08:24 PM
Thanks alot for this cool new attribute - Now i'm going to ring your neck for making me again go threw hundreds of hero files & add it :blink:
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 04, 2007, 06:10:56 AM
Hehe! Welcome to the club, electro! ^_^
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 04, 2007, 09:26:03 AM
should I try to make a 'grapple' animation? If so, what should it look like?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: electro on October 04, 2007, 10:31:13 PM
It should look alot like The Ant melee 2 - I can use The Ant keys in most of my male basic meshes so maybe this animation can be hexed onto some better male_basic keys for a quick fix :blink:

(http://img.photobucket.com/albums/v119/hulkgray/hulkgray2/antgrab1.jpg) (http://img.photobucket.com/albums/v119/hulkgray/hulkgray2/anygrab2.jpg) (http://img.photobucket.com/albums/v119/hulkgray/hulkgray2/anygrab3.jpg) (http://img.photobucket.com/albums/v119/hulkgray/hulkgray2/anygrab4.jpg) (http://img.photobucket.com/albums/v119/hulkgray/hulkgray2/anygrab5.jpg)
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 05, 2007, 05:53:33 AM
Nice.  I can see that animation being skoped into a bunch of different male_basic sets.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 05, 2007, 11:28:49 AM
The animation probably shouldn't have the character bend over so much. The flailing animation you see the AIM Agent using in the pics above is, I believe, the animation all targets will be in while the hold is in effect. It may look like the grappler has buried his head in the target stomach! The grappler should stand more erect, like She-Hulk.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 05, 2007, 02:46:50 PM
I can make a grapple animation fairly easily and have done so for the 3R version of male_basic then taken it over to the 3R version of female basic and a 3R version of female_longhair (my desktop can only export for 3R at this time) so I don't know if the animation can be skoped between FF1 and FF2 meshes or not. If not, I can eventually do a grapple for FF1 on my laptop.

I have included the bip and the animation notes for nocapeman/male_basic.
(http://i6.photobucket.com/albums/y223/yell0w_lantern/grapple.jpg)
Find them here:

http://games.groups.yahoo.com/group/crazy_lantern_2nd_floor
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 06, 2007, 07:17:21 AM
That looks great, YL! I can't wait to try it out! Thanks!
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 07, 2007, 12:05:17 PM
Okay, I've exported a set for FF1: male_hulking_brute.
Check the above link.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 07, 2007, 12:54:32 PM
For some reason I can't get the female grapples to work in  :ffvstr:.  The male and male hulking seem to work.  Is it just me?  Also, I'm not sure how to get the melee attack to use this animation.  Should I rename grapple to melee_grapple or something like that?  I've tried this, but it doesn't recognize the grapple animation as a melee attack.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 07, 2007, 01:55:55 PM
I may have forgotten to put a note key in the grapple loop for contact. It probably won't come up on the animation menu without it. Try EZ Hero by Alexx to assign the animation - that should do the trick.
I assumed since TM has using a flailing animation that it didn't need a contact.

TM, how do you set the animation? What if I put the contact note key in the start grapple and animation - could you set the grapple loop animation to play if he hits?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 07, 2007, 05:25:49 PM
I think that the contact needs to be there for the animation. The grapple is triggered by a successful "hit" so I would think that needs to be in the animation. Not only that, but it would make it easier to select the animation in-game while making the power. Tomorrow, I should be able to test the animation to see how it looks when it gets locked and adjust anything if need be. Although, if Xeno is able to test it before me, I'd be interested to hear the results.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 07, 2007, 06:14:17 PM
I can put in an extra note key that's no problem.
So it should be in the grapple loop then?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 07, 2007, 06:28:30 PM
I can test it tonight if you have time to repost it, YL.  I'll probably go off-line around 9:30PM CST.  I think it would make more sense if the contact was in the loop, but I don't know for sure.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Volsung on October 08, 2007, 06:56:24 AM
Great! I always thought that Freedom force needed those kind of melee moves!
What you guys can do with python is impressive!

Slightly off topic.
Do you think that throwing moves could be possible aswell?
Of course, that's unthinkable to impose a specific animation (for the sufferer) on every existing models.

But, let's imagine we give to a specific character a 'circle throw' move.
http://www.judosport.net/technik/tomoenage.JPG
You know that, in character nifs, there's many mesh objects hidden for collision and selection use.

Would it be possible to 'link' an opponent that undergo a successfull throw to an hidden object, so this object could dictate to the model an appropriate translation and orientation so the sufferer could move according to the assailant throw?

(my english is a bit rusty)
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: catwhowalksbyhimself on October 08, 2007, 07:23:33 AM
Ummm--FFX already has a throwing state swap, which works quite well and looks pretty good.  Has since the very first version I ever downloaded, which was over 3 years ago.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Volsung on October 08, 2007, 08:32:27 AM
I remember^^ But it would be harder to simulate a pile driver with it^^
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 08, 2007, 09:18:05 AM
I think a standard hip or shoulder throw would be easy to do with existing tools but as far as a piledriver... I don't know what else TM could come with scripting.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 08, 2007, 11:02:58 AM
I'd be happy if you chould just toss another character.  How cool would that be.  Finally, the Hulk could toss the Thing across the map.  So awesome.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 08, 2007, 12:02:47 PM
I had a chance to test out your animations, YL. It looks great except, I don't see any need for the grapple animation. I added a contact to the grapplestart animation and used that as the animation I chose for my melee Power that's swapping for Grapple. When a successful grapple is detected, then the animation is locked. The code isn't triggering a specific animation name, like 'grapple', to hold the character and target in place, but rather is locking the animation chosen for the Power. This way player's can choose any animation they want instead of the code forcing the 'grapple' animation on the character. I hope that makes sense. Other than that it's working good. I'm working on adding a Throw command to the target while the hold is in place. I tried using the Throw state swap on a grappled character, but, while it worked, it didn't look right. Hopefully, I can have an update in a day or two.

As for Piledriver moves, I'm not sure. I would say first, you would grapple the target, but then how would you get the target upside down? Then you'd have to get the grappler and the target to move together into the air and then come down, inflicting damage on the target, but not on the grappler as they hit the ground. Does that even come close to sounding how it would work?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 08, 2007, 02:31:55 PM
Okay, so no loop animation, gotcha.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 08, 2007, 03:20:59 PM
Since the end of the grapplestart animation is the wrester locked with his oppoent, you'd need a ranged attack animation where the "shooter" ends the animation with its arms stretched out toward the opponent...if trying to replicate somebody like Mr. Fantastic, right?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 08, 2007, 07:06:07 PM
The details of getting a physiqued mesh in Freedom Force to do anything like that is beyond my skill at this point. AFAIK, any scaling must be done in all 3 dimensions at once (would have to be close range or look goofy) and getting a good amount of curvature to look like he's wrapping up somebody might require free bones (not biped arms).
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 08, 2007, 08:02:22 PM
I get what you are saying, YL, but all I really meant is that the ranged attack woudn't reset to idle at the end of the animation.  It would just stand there with its arms toward the target.  It would look silly because the fx would be gone, but for now it would be the only way to keep the "ranged grapple" appearance up.  Or so I think.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 09, 2007, 04:16:58 AM
TommyBoy's Mr. Fantastic has ranged animations that have his arm extend way out. This is what I've been using. It would be nice to have a wrap around going around the target while they're grappled, or if that's to difficult, then how about a huge hand that fits over the target making it look like they're held in his huge fist?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 09, 2007, 08:32:57 AM
Here's a partial solution: a separate extended primitive or something like a coil/helix could be made and skinned like a character's costume (arms, legs, whatever) and scaled up at the end of an animation to suggest the character coiling body parts around the target. Getting the distancing right on non-melee attacks would be difficult if it was animated using Max though. Would it be possible to assign a FX to play continuously like the flying_fx do?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 09, 2007, 10:55:58 AM
I think the continuous fx is a good idea.

I didn't know Tommyboy even made a Mr. Fantastic!  I'll check that out.  I'd like to skin the Metal Men, so this stretchy grapple stuff is on my mind right now.  :)
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 10, 2007, 11:33:04 AM
I added a Throw command to the target when you're grappled. It works like the Throw State Swap except the grappler is throwing the target out in front of themselves instead of behind them and it uses the pick_up_object and throw_object animations. Here's a video of how it looks:
http://www.youtube.com/watch?v=dit14rtxTAQ (http://www.youtube.com/watch?v=dit14rtxTAQ)

The reason Black Panther lands on his feet in the first throw, is because he has the Acrobatic attribute.
If there was one seemless animation of the pick_up_object and the throw_object animations, then there wouldn't be that interruption you see between the animations and the timing would be a better. If the animation could start at the end of the grapple animation instead of having the grappler begin by squatting down and lifting from the ground, that would be even better. Is this do-able?

There's still more things I need to do (so I haven't updated the above code). The main thing is figuring out how to use the heightcheck to get the height of the grappler so the target moves to the correct height above them without bouncing off :lol: I know it will take testing to get the right numbers in, but any advice or examples of how I could use the heightcheck for this would be greatly appreciated. The way I have it now, works well for male_hulking_brute size meshes and smaller, but I need something to detect the height of giants you may want to use this.

As for the looping FX idea, I'm sure it can be done. Although, I may have to make two seperate state swaps (one for melee and another for ranged).

EDIT: Hmmm. Interesting. I just found out you can create a state swap to be customizable for a specific character. So we can make the ranged grapple fx loop customizable for any character who wants to use it.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Xenolith on October 10, 2007, 03:07:45 PM
Hmm...your video makes me think the ol' fastball special could somehow be done...for real.

Very promising.

Do you guys think the pick up pole animation might look better, followed by swing with pole - which launches the thrown model?  Unless of course YL can tackle the bending over issue. 

Anyway, very nice work Taskmaster X.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 10, 2007, 06:58:40 PM
TM, I'm pretty sure I'd be able to cobble together something more workable. Just to clarify though, you need one separate animation that starts from the grapple and hoists the grappled character up over the head like at the end of the pickup_object animation? Or do you need one that picks up and goes right into a throwing animation?
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 10, 2007, 08:29:12 PM
Both, actually. It should be seperate animation from the grapplestart animation and start in the same position as the character looks when the grapple is taking place. It should then hoist the character up over the head like the end of pickup_object and continues and goes right into the throw_object animation. Basically, the pickup_object and throw_object animations merged into one, with the beginning of the pickup_object animation missing(the part where the character leans over and puts his hands on the ground. It should start with his hands out like at the end of the grapplestart animation). Thanks, YL!
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: Volsung on October 11, 2007, 01:58:12 AM
Awesome!  :thumbup:
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: BentonGrey on October 11, 2007, 10:23:28 AM
This is getting cooler by the minute.........oh, and curse you all for giving me more work! ;)
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: yell0w_lantern on October 20, 2007, 08:38:30 AM
Okay, male_hullking_brute keyframes with a throwing animation are up at my second group. It's pretty cheaply done. I stuck the grapple pose in front of a copy of the throw animation. Nevertheless, it should approximate what you're after...

Let me know.


Oh, I started working on male_basic keys for FF1 meshes.
Title: Re: Scripting Wrestling Grapple/Hold Attacks
Post by: TaskMasterX on October 22, 2007, 06:33:32 AM
Great job, YL! It certainly decreases the time it takes to lift and throw the character. I had to adjust the code to use it and since not all meshes that players may want to use with this will have the the specific animation name 'throwperson', I'll need to make it so people can choose the animation name to use when throwing. I also figured out how to get the pick_up_object and throw_object animations to blend together alot better, to where it looks like it's one smooth movement, but your animation is better because it starts from the end of the grapple, instead of the grappler picking up from the ground. But the only thing I can't stop is when you execute the Throw command, the grappler let's go of the target, basically going into the idle animation, while the target remains suspended in mid-air, and then grabs the target again and throws them. I don't think this is something that can be "fixed", because it's something to do with the way custom commands are executed. I'm kind of picky when it comes to how it looks so, I may split it into two seperate state swaps - Grapple and Throw. I could make the forward throw part of the exisiting Throw state swap and just make the Throw State Swap customizable so you can choose whether to throw forward or backward. But you'd only be able to choose one or the other for the character. That is unless I make it it's own seperate Swap, players could have a character that throws characters forward or backward. Any feedback on this subject would be appreciated.

As for what else, I've done. I've updated it so that it the thrower can't lift and throw the character if the target exceeds the weight for their strength and also added a check for Heavy Lifter so the thrower can get the strength bonus when lifting and throwing the target.

I'm removing the code in the 1st post since this is "back on the drawing board" and will post again when I have something more complete.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: yell0w_lantern on November 02, 2007, 08:18:00 PM
male_basic grappler keys for FF1 are up at the 2nd group.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on November 05, 2007, 09:51:16 AM
Thanks again YL.

Well, here's a status report on what I've done so far. I've ended up creating several new state swaps using parts of what I initially did with the Grapple State Swap. Here's a description of what each one is suppose (they're not quite done yet) to do:

Grapple: Basically the same as what I described in my 1st post, except that this is specifically made ONLY for melee Powers. The target and grappler are both locked in place while the grappler deals damage to the grappled target.

Range Grapple: This works similar to Grapple except that it's for Swapping Ranged Powers. It locks both the target and grappler in place for the duration of the grapple. The big differences are that the target has a looped FX playing on them that you can customize. And, you can give the grapple a certain "Hold Strength", or have it use the Strength of the Grappler to determine the duration of the hold. For instance, say you wanted to simulate Mr. Fantastic's Stretch Grapple. You can customize a looping FX by creating a Resource FX in FFEdit using the end.nif of the existing Mr. Fantastic FX and then putting it in the customization in ffxcustom2.py. And you'd also designate that the Hold Strength will be equal to Mr. Fantastic's current Strength. You can also use this to simulate a grapple with a whip. You could give Blacklash this State Swap and use the end.nif of the constrictor_coil FX for the looped FX, and instead of the Hold Strength being equal to Blacklash's Strength, you give it a different Hold Strength that simulates the Material Strength of his whip, instead. Also, you can choose to do damage, like in the regular Grapple or to do no damage, but only lock the target in place. This would probably also be useful for Green Lantern and Quasar. The looping FX would be a colored bubble on the target and GL would be locked in place. The only thing needed would be a hexed animation with a beam starting from their fist and extending towards the target, similar to what Tommyboy did with Blacklash and Mr. Fantastic, with their arm or whip extending out to the target in the animation. Green Lantern would be locked in the middle of the animation with the beam going out to the target and the bubble FX playing on the target.

Throw2: I made this it's own Swap. The animations are much better and I've made it work no matter what the height of the mesh of the thrower is. You do have to customize it by putting in a value depending on the height of the mesh and putting in the timing of the lift and release times of the target. But it works with most meshes and animations as is, without you having to customize anything. You can customize it to use a specific animation for throwing, like YL's 'throwperson', or have it use the default pick_up_object and throw_object animations. I also modified the existing Throw Swap to use this height customization.

Net Swap:This is similar to the Ranged Grapple. The key differences are, that only the target is locked and not the grappler and if the target is flying, they fall to the ground and then are locked. You can also choose an FX loop to play on the target, like a tangling net or wire. You set the Hold Strength of the Swap and the target's Strength is compared to determine if they can break free or not.

Explosive Tangle Wire: This is like the Net Swap, only that if the target can't break free within 5 seconds, the net, wire, etc. explodes injuring the target and anyone nearby. You can customize the Loop FX and the explosion Power.

I also thought about creating another swap that works like the Grapple, but with the added ability to inflict a certain kind of damage to the target, while grappled, other than the regular crushing damage. This would be useful for Blacklash who can grapple a target with his whip and then electrocute the target by channeling electricity through his whip to the target while they are held.

Also, I'm thinking that because these new "Stasis-like" attacks use the target's Strength in determining if the hold can be broken or not, that they would make the Strength vs. Stasis Option in FFXCC obsolete. Since the option is an All-or-Nothing deal, you can't properly simulate characters whose great Strength can break physical bonds but have no effect against mental or mystical holds. Take Superman for instance. His immense Strength can pretty much make any physical bond useless against him, but his Strength is nothing if he gets held my magical bonds. So by using these kinds of swaps and turning off the Strength vs. Stasis Option, will allow you to simulate this.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Xenolith on November 05, 2007, 06:38:01 PM
Wow.  That all sounds great.  So, we could use mental grapple too, using the state swap?  That would be really great for characters like Moondragon, Dr. Druid, Dr. Strange, Prof. X. 

Also, it seems like you are very close to being able to make the Grey Gargoyle's power work in FFXvTR.  Perhaps the tangle strenght is equal to "stone" but trapped character can't begin to break free until a specific time has elapsed?

Great job, can't wait to try these out.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on November 06, 2007, 06:40:22 AM
You could probably use the current Transmute State Swap to simulate Grey Gargoyle's Powers.

Yes, you could use the Ranged Grapple as a mental attack if you choose a Mental Attack (Blank or Panic) to swap the Hold for. You could use the Ranged Grapple Swap if you wanted the Mentalist to have to concentrate on holding the target in place and not be able to move themselves, or use the Net Swap if you want the Mentalist to be able to move around and attack others while the target is held.
You'd use the regular Stasis Power for Mystic holds, since it IS a mystic attack.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: yell0w_lantern on November 06, 2007, 09:29:14 AM
Sounds cool! :thumbup:
I'll be working on animations for female_basic, female_longhair, male_hulking and male_heavy but  very slowly since I'm tackling other projects as well.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Figure Fan on November 25, 2007, 04:09:50 PM
This sounds so amazing I just about wet myself. No joke.

I can't wait for this to be done. Figure Fan has needed this power from day 1!

Thanks for the work you've been doing on it, TMX. I appreciate it more than you know.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on March 03, 2008, 09:41:47 AM
I finally got to a point with this stuff where I can release it for others to test out.

To make it easy, I added all the necessary lines to the ffx.py and ffxcustom2.py files and uploaded them, so you don't have to worry about copying and pasting. I made 2 different flavors - one for those using FFX3.2 and those using FFX3.2.1. I also included the code from Epimethee's Update to the Driver and Vehicle Attributes and Stumpy's Body Armor attribute into both flavors, so those of you who have applied these won't have to re-apply them.

Also, I included a res.dat file which you can merge to your existing one to get some of the FX loops I made for these new features. You do need the actual FX files the res.dat file is looking for. You'd need the various "stretching arm" FX's and a "arrow net", and the "constrictor coils" FX for these to work. If you don't have them, I (or someone) should be able to point you to them or send them to you, or you could just create your own in the res.dat to use the FX you want.

Here's the downloads:
FFX3.2
www.geocities.com/tmxff1/grapple_Mod_FFX3.2.zip (http://www.geocities.com/tmxff1/grapple_Mod_FFX3.2.zip)

FFX3.2.1
www.geocities.com/tmxff1/grapple_Mod_FFX3.2.1.zip (http://www.geocities.com/tmxff1/grapple_Mod_FFX3.2.1.zip)

Descriptions:
Grapple:
Basically, this works as mentioned before. You swap an existing power (Stasis, Blank, Hex, Energize, etc.) for the Grapple State Swap, just like any other State Swap. Both the target and grappler are locked in place for 12 seconds. Every three seconds, the target has a chance to break free depending on the difference between the target's and grappler's Strength. If the Grapple holds, the grappler inflicts damage equal to twice the grappler's Strength. During the duration of the Hold, both the target and grappler DO NOT recharge energy (they are both concentrating on breaking or maintaining the hold) and the grappler's agility is lowered to 0. After the 12 seconds are up, or if the target breaks the hold, energy and agility are returned to normal and both can move. The grappler is able to move or use another power during the hold, but doing so will cancel the hold. Also, if the grappler or target is KOed, or the grappler comes under the influence of Primary or Secondary State, or if the grappler is injured (the grappler takes more damage than his invulnerable attribute can protect against), or if the target or grappler is somehow knocked back from another attack, the hold will cancel.

Ranged Grapple:
The Ranged Grapple attack is quite different from the Grapple and not just because it's used as a ranged attack.
This grapple can be used to simulate a mental, mystical, or physical hold. If you use a Mental State (Blank, Rage, etc.) to swap this for, then the hold will be mental in nature, meaning that the target's mental resistance will be a factor in determining the success and duration of the hold against the grappler's "Hold Strength", the same goes for swapping this for a Mystical State (Hex, Blind, etc.). To make this a Physical hold, like Plastic Man's stretching arms, or Blacklash's Whips, or Wonder Woman's Lasso, use Energy Surge, or Energize as the state to swap. If the hold is physical then the code will check if the target has any Active Defenses against Crushing attacks activated and, if so, cancel the grapple. I also added in a Density State so you can simulate an Energy-type hold, like an Energy Vortex, or Energy Bubble, and targets with resistance vs. Energy will have a greater chance to break free of such holds. I added the Freeze State to be swapped, too, but this acts like a physical hold and uses the target's Strength to determine if they can break free of the ice, but the damage caused will be Cold so the target's Resistance to Cold will be a factor in determining how much damage they take and, because the Freeze State is considered a Cold attack, the initial attack might be resisted if the target has resistance to cold.
Also, this comes with a few customizations. The first customization after the name of the character is the FX loop that plays on the target during the hold. This is a FX from the Resource tab in FFEdit.
The next customization is the "Use Current Strength" which allows you to choose to use the Grappler's Strength or a value from 1-10. If you want to use the Grappler's Strength, put "Yes", if not put "No". 
The next customization is the actual Hold Strength value if you're not using the Grappler's Strength. Just enter a number between 1-10 without quotes. This can simulate a character that is using a device to hold the target rather than using the Strength.
The last customization is "Damage" which you use to designate whether the hold causes the target damage, like the regular Grapple, or not. Choose "Yes" or "No". Damage will always be twice the Grappler's Strength, if Strength is used, or twice the value you put in the third customization.
All the other rules from the regular Grapple apply (Both Target and Grappler are locked, No Energy Recharge, 0 Agility to the Grappler, Grapple is canceled if KB, KO, etc. occurs), the only other difference is the Ranged Grapple has a shorter duration (9 seconds as opposed to 12 seconds).

Throw:
I updated the original Throw State Swap to be able to work with different size meshes. The target would hit the thrower as the target went over the thrower if the thrower had a large mesh. Now, you designate the "Mesh Size" just like in Throw2, to prevent this from happening.

Throw2:
This Swap will make the character pickup the target and throw them out in front of them, like if they were using the Throw command used for throwing cars and such. I did alot of work in getting this to look right and it looks better than what is in the video above.
Now, it requires a small bit of work if you want to use this for a character that isn't man-sized, or if you want to use a different animation other than the default pickup_object and throw_object animations. As I mentioned in the original Throw Swap, there's a Mesh Size value that you have to put into the customization list in ffxcustom2.py. I've done most of the work in testing a lot of meshes with this and have a list showing which Mesh Size value works best with which mesh. If the character is on a man-sized mesh (male_basic, female_basic, male_muscular_tall, etc.) then you don't need to worry about the Mesh Size because it's already defaulted to that value. Here's the list I made with the approx. height in feet, the Mesh Size value, and then the actual name of the meshes that are part of that group.
The rest of the customization list is for customizing the animation. Most of the pickup_object and throw_object animations have the same time and this is the default animation for this so you won't need to change anything here unless you choose to use another animation or if the mesh's pickup_object or throw_object times don't match the default.
So, the next customization in the list after the Mesh Size is the Pick Up Time. As soon as the Thrower hits the Target with the Swap, the target will be forced into a flailing animation and locked in front of the Thrower until the Thrower begins the pickup_object animation. The customization is the amount time in seconds from the time the target is locked in the flail animation to the time they start to rise over the Thrower's head. If the target rises over the Thrower's head before the Thrower starts to lift his arms, then the number is to low. Increase the time so the target waits until the thrower begins to lift his arms.
The next customization is the time in seconds from the time the Target is locked over the Thrower's head to the time they start to be thrown forward. If the Target is thrown forward before the Thrower starts with the throwing animation, then increase the time they are locked over the Thrower's head, so they'll be thrown right when the Thrower is moving his arms forward for the throw. If the Target is still over the Thrower's head after the Thrower has finished the throw animation, then decrease the time. The last customization is the name of the animation you want to use, if not the default one.
If the Thrower moves, or takes damage, then the throw is canceled and the Target will drop to the ground.


Tangle/Net:
This is a variant of the Ranged Grapple. What is different with this swap is the Grappler is not locked and can move around, and the Target will drop to the ground if they are flying. Also, the Grappler can't use their Strength as the Hold Strength, only a value, and this Swap causes no damage.
Just like the Ranged Grapple, this swap uses a FX loop that plays on the Target and is the first customization in the list. The last customization is the Hold Strength value (1-10). Also, just like the Ranged Grapple, you can use the State swapped as the type of attack (mental, mystical, or physical). So you can simulate Mystical nets or ropes or Physical Nets or ropes, or a Mental Hold that allows the Character to move around and makes the Target fall to the ground if flying, rather than be stuck in the air, like the Ranged Grapple or regular Stasis or Freeze Attacks. The duration of the hold is determined by what State it was swapped for.

If you use this to simulate a Freeze attack, by encasing a target in a block of ice, the target will fall to the ground if they are flying, unlike the built-in Freeze attack, where the block of ice sits in the air (very unrealistic, if you ask me).

Explosive Tangle:
This is similar to the Tangle/Net Swap, except that after 5 seconds of the Target being held, an explosion is triggered on the Target, affecting the target and anything close by. If the Target can break free of the tangle before 4 sec. then the explosion is canceled. The first customization is the explosion Power, the second is the FX loop on the target, and the last is the Hold Strength.


Please post any questions or suggestions!
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Xenolith on March 03, 2008, 10:28:23 AM
Great...I was hoping this idea wasn't forgotten, or just unworkable.  I'll test tonight, and thanks for all the hard work.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: yell0w_lantern on March 03, 2008, 01:55:08 PM
Argh! I don't remember which version of FFX I'm running!  :banghead:
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Xenolith on March 03, 2008, 04:47:29 PM
I think I've been away for too long because I can't figure out how to make the state swaps work.  They don't appear in the drop down menu in the control center/centre.  I think I need to tell it that grapple is availabe, but I can't recall where I do that.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on March 03, 2008, 06:12:22 PM
Oops, Sorry. I forgot to include the ffxdefault.py file. I'll update the zip file tomorrow. In the meantime, you can add these:

["grapple"],
["net"],
["rangedgrapple"],
["etangle"],
["throw2"],


to the FFX_TO_TYPES list in the ffxdefault.py. This makes them available in the drop-down menu in FFXCC.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: stumpy on March 03, 2008, 09:01:04 PM
Quote from: yell0w_lantern on March 03, 2008, 01:55:08 PMArgh! I don't remember which version of FFX I'm running!  :banghead:

You should be able to open your script.log and see a line that looks something like
Starting ffx.py v. 3.2.0 build 11; branch = Gold / Release
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on March 04, 2008, 07:47:46 AM
I updated the zip file with ffxdefault.py and also updated the header of ffx.py to show the correct version/build of this Mod.

There's a few other things that I forgot to mention:
1. The Melee Grapple can also use different attack types (Physical, Mental, Mystical, etc.) just like the Ranged Grapple.
This feature is something I really like in these swaps. It allows us to create different type of "stasis" attacks without having to use the single, mystical-based Stasis provided by the game to simulate every kind of grapple/hold/stasis/net attack. Also, the Strength vs. Stasis/Freeze option in FFXCC would allow characters with exceptional Strength break every Stasis and Freeze attack, while these grapple-type state swaps will use the correct resistance of the target to determine if they can break the hold.

2. I included the code for the Wrestler Attribute. It gives +2 to Strength for breaking or maintaining ONLY Physical-type Grapples and Ranged Grapples. You'll need to add it into FFEdit.

3. I mentioned the Mesh Size chart for Throwing but never posted it.
# Mesh Size Options:
#
# tiny (1ft) = 0.6 (male_tiny)
# dwarf (4ft) = 0.8 (male_dwarf)
# mansize (6ft) = 1 (male_basic, male_cape, female_basic, female_longhair, male_muscular_tall, etc.)
# hulking (8ft) = 1.3 (male_hulking, male_hulking_brute, Male_Titan, etc.)
# giant_10ft = 1.6 (Giant-Man_II_Gren)
# giant_12ft = 1.8 (Giant-Man_Gren and a male_basic mesh using TommyBoy's male_basic 12ft Giant Keyframes)
# giant_15ft = 2 (Goliath_III_Gren, goliath_giant_t, goliath_giant_alpha,tv_giant_15ft Keyframes)
# giant_18ft = 2.2 (goliath_titan_alpha, Male_Titan2, male_basic mesh using TommyBoy's male_basic 18ft Giant KFs)
# giant_20ft = 2.5 (goliath_titan)
# giant_25ft = 2.7 (goliath_huge_t, tv_giant_25ft Keyframes)
# giant_30ft = 3 (male_basic mesh using TommyBoy's male_basic 30ft Giant KFs)
# giant_50ft = 6 (male_basic_giant)
# giant_60ft = 8 (male_basic mesh using TommyBoy's male_basic 60ft Giant KFs)
# giant_120ft = 30 (male_basic mesh using TommyBoy's male_basic 120ft Giant KFs)

The first thing is just a generic name I gave each Mesh Size. The number is the actual Mesh Size you put in the customization and in parentheses are the examples of some of the meshes which belong to that Mesh Size. This chart is also at the bottom of the ffxcustom2.py file.

Here are some examples of customizing these Swaps in ffxcustom2.py:
## Explosive Tangle Wire
FFX_EXPLOSIVETANGLE_CUSTOM=[
["default","etwire","effect_ffx_tanglewire",5],
["types","aExplosion","OTangle FX","iHold Strength"],
["blacklash","etwire1","effect_ffx_tanglewire",5],
]

Here, Blacklash is using an explosion power from FFEdit called etwire1 as the explosion that triggers on the target. The name of the FX loop that plays on the target is called effect_ffx_tanglewire, and the Strength of the hold is a 5. (Target's with a 5 Strength will have a 50% chance to break the tangle before the explosion.)

### Tangle
FFX_TANGLE_CUSTOM=[
["default","effect_ffx_tanglenet",5],
["types","OTangle FX","iHold Strength"],
["avengers hawkeye","effect_ffx_tanglenet1",5],
]

Hawkeye is using effect_ffx_tanglenet1 as the FX loop that plays on the target and 5 is the Hold Strength.

### Grapple
FFX_GRAPPLE_CUSTOM=[
["default","","Yes",0,"Yes"],
["types","OFX","PUse Current Strength","iHold Strength","PDamage"],
["thing","","Yes",0,"Yes"],
["mentalblock","effect_mental_sparks","No",7,"No"],
]

The Thing isn't using any FX loop for his wrestling grapple. He is using his Strength as the Hold Strength, so the Hold Strength should be 0. This Grapple also inflicts damage, which will equal to twice his Strength.
The second, example shows MentalBlock is using the effect_mental_sparks FX loop. He isn't using his Strength as the Hold Strength, but rather assigning the Hold Strength the value of 7. And this Grapple inflicts no damage. This grapple is suppose to be a mental grapple so would be swapped for Blank, or Rage and would use the target's resistance vs. Mental attacks to determine if they can break the Hold Strength of 7.

### Ranged Grapple
FFX_RANGEGRAPPLE_CUSTOM=[
["default","effect_ffx_tanglewire","Yes",0,"No"],
["types","OFX","PUse Current Strength","iHold Strength","PDamage"],
["wonder woman","effect_ffx_tanglelasso","No",9,"No"],
["mr fantastic","effect_ffx_tanglearm1","Yes",0,"Yes"],
]

The first example shows Wonder Woman using the effect_ffx_tanglelasso FX loop. She isn't using her Strenght as the Hold Strength, but rather the Hold Strength of the Lasso, which is 9. And the grapple causes no damage.
Next, Mr. Fantastic, is using the effect_ffx_tanglearm1 FX loop and is also using his Strength as the Hold Strength, so the Hold Strength should be 0. And damage is inflicted equal to twice his Strength.

### Throw2
FFX_THROW2_CUSTOM=[
["default",1,2,1.5,""],
["types","iMesh Size","iPick Up Time","iLeave Hand Time","AThrow Animation"],
["avengers hulk-1960s",1.3,0.3,0.95,"throwperson"],
["avengers giant-man 12ft",1.8,2.8,0.2,""],
["avengers giant-man 16ft",2,2.9,0.2,""],
["avengers giant-man 22ft",2.5,2.8,0.4,""],
]

First example, Hulk's Mesh Size is 1.3 because I have him on the male_hulking_brute mesh. Next is the time in seconds to hold the target in front of Hulk before the target begins to lift into the air during the pickup_object animation. Next is the amount of time the taget is held over Hulk's head before they start shooting forward during the throw_object animation. Last, is the name of the "pickup-and-throw" animation if not using the default animations.
Next are the different variations of Giant-Man's height. First is the Mesh Size, then the target hold time in front of the thrower, then the hold time over the thrower's head, and finally the animation name. Giant-Man isn't using a special animation, so he'll use the mesh's default pickup_object and throw_object animations.
Remember that for most man-sized meshes, you won't have to customize this at all. Some may require you to adjust the Mesh Size only or maybe only the timing, or maybe both, or maybe none, depending on the mesh.
The original Throw Swap only has a Mesh Size customization.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Epimethee on March 04, 2008, 08:30:32 PM
Congrats TMX!

Quote from: yell0w_lantern on March 03, 2008, 01:55:08 PM
Argh! I don't remember which version of FFX I'm running!  :banghead:
Open your script.log file; you can check the info about the FFX version number at the beginning.

EDIT: Oops. Stumpy beat me to it.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on March 18, 2008, 06:56:16 AM
I've been trying to perfect this grapple stuff, and I think I have it working really well with relation to the Physical-type attacks working correctly against Active Defenses. Using M25's code, I'm able to detect when the AI has an AD vs. Crushing active. But, this doesn't work with PC characters. I was able to get the FF Active Defense to be detected on both PC and AI characters, but only because it's a scripted attribute. But for PC characters that are using a built-in AD, what I did was spawn a ffx_tiggot, and have it fire off a power at the target that has no FX and does the damage I'm looking to block. The Power has No Mag. but has Extreme Stunning. To ensure that the target is stunned if the power isn't blocked by an AD, I used:
    Trigger_Power(name,char,'ffx_melee_crush_test','',10)
to multiply the Stunning by 10 and then if the target is stunned, the code removes it and continues to apply the effects of the grapple. It works great. I haven't had one instance where the target wasn't hit and stunned if they didn't have an appropriate AD up.

I also improved the locking and unlocking of the target.

One other issue (the final one - I hope) is dodging. Even though I set the grappler's Agility to 0 during the grapple, he still dodges some attacks. When he dodges, he gets locked in the Dodging animation and it looks silly. So, my question is:
Is there any way to script "No Dodging" like the Ponderous Attribute? If not, then I guess I'll need to cancel the Grapple if it detects a dodge animation.

Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Xenolith on March 18, 2008, 11:10:08 AM
Hi,

I played around with this last night, and I was wondering if a damage "text ballon" was supposed to show up when the grappled character took damage?  I wasn't sure if the Abomination (the grappler) was actually damaging Titania (the grappled) or not. 

More testing soon.

Thanks,
Bill
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on March 21, 2008, 07:59:02 AM
No, no damage bubbles. I'm using FFX_ApplyDamage() instead of just Trigger_Damage(), per Ep. I noticed it doesn't allow the bubbles, but it allows you to designate mental damage. You can see the damage inflicted by hovering the mouse over the target during the grapple.

I thought I found another approach to detecting AD on PC characters, but it's not working out how I expected. I discovered that if I'm controlling a character and then select the Start AI command on the character (I have M25's PLAYERAITOGGLE on) and the character comes under the control of M25's AI, I can use m25ai.HasActiveDefenseActive() on the character and properly detect the AD. I can then switch off the AI with the command, Stop AI, and m25ai.HasActiveDefenseActive() no longer works. So, I thought that if could have it automatically turn the AI on a PC character, check the AD, then turn the AI off again, I could detect the AD with less code than I'm using by Spawning a Tiggot (as mentioned in my previous post), but it's not working. I don't get any errors, it just isn't detecting the AD. Here's the code I was using:
        if Object_GetClass(char)&OC_CONTROLLABLE:
            AIEnabled=ffx.FFX_ObjectGetAttr(char,'playerAIEnabled')#I added this to m25ai.PlayerEnableAI() so I could detect if the PC was already under the control of the AI
            if not AIEnabled:
                print 'target is a PC'
                m25ai.PlayerEnableAI(char,char)
                if m25ai.HasActiveDefenceActive(char,damage_type,damage_mode):
                    print 'target has AD vs. Crushing!'
                else:
                    print 'target not protected!'
                    eTangleStart(char, source)
                m25ai.PlayerDisableAI(char,char)


I even tried increasing the time after m25ai.PlayerEnableAI(char,char) using RegTimer to run an event that has

if m25ai.HasActiveDefenceActive(char,damage_type,damage_mode):

up to 2 seconds after the AI is enabled, thinking that I wasn't giving it enough time to enable before detecting the AD, but that still didn't work. I even increased the time after the AD check is run before Disabling the AI and still no go. If it works using the command on a PC, shouldn't it work by using the code the command executes, too? I'm sure there's something I'm missing. I'm still happy with the "Spawn of the Tiggot" method, but I'd like to have less code if possible.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on March 25, 2008, 04:17:58 AM
oh well, nevermind about detecting the AD by switching on and off the PC AI. I ended up moving this all to it's own grapple.py module, per the issue of the ffx.py file is getting cloe to it's size limit.

I found a way to detect the Dodging by adding a couple of new functions to the mlogreader.py. Now I'm able to cancel the the grapples when a dodge animation occurs! This also means I'm finished!! :thumbup: I'll whip up a couple of videos and post the !FINISHED! Grapple Mod in the Mods forum.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Xenolith on March 25, 2008, 04:04:26 PM
The grapple power works great, especially when I use a mesh that has the grapple animation YL created.  Its pretty fun to watch the Abomination squish a good guy 'til he KOs.  Just for fun, could you force your script to play the power up animation if the the grappled guy is KO'd due to damage sustained by the grapple?  I think it would look great, and just give the whole situation the spice it deserves.  Many thanks to you and YL for doing this.  I still haven't tried the other version yet, but since I know the function works I feel confident about the rest. 

The only trouble I've had is setting up Throw and Throw 2.  I don't get what the difference is between the two, and I can't get the AI to do it.  I know I have someting set up incorrectly.  Do I buy a ranged power and then swap stun to throw or throw2?  Sorry, its been a while since I've played around with this stuff, and I sort of need a FFX for dummies on this one. 
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: TaskMasterX on March 31, 2008, 10:50:26 AM
Throw is the exisiting FFX Throw Swap which makes the thrower throw the target up and over their head to land behind them. Throw2 is more like the Throw command that you have on throwable objects like cars, mailboxes, etc. - the thrower pickups up the target and heaves them forward instead of behind them. The direction the thrower is facing is the direction the target is hurled.

Not sure about the PowerUp anim at the end of the grapple, other meshes using this might not look as good. I guess it could be added as a custom and have the player choose the anim at the end of a KOd grapple. But I'm looking forward to completing this and moving on to some other things I've been wanting to do. It'd be something I'd do later.

Sorry about the delay in releasing the newest version, but there is an issue w/ the AI using it that I'm sure there's a simple fix for, it's just RL has suddenly become a priority, so I've had no time to get to it. But I did make a video, so I'll go ahead and give the link to it:

http://www.youtube.com/watch?v=gm7hWXt48I0 (http://www.youtube.com/watch?v=gm7hWXt48I0)
Sorry for the poor quality, but I think you can see what's going on.
Title: Re: Scripting Wrestling Grapple/Hold and Throw Attacks
Post by: Gremlin on March 31, 2008, 09:56:37 PM
Dude, that is so cool.  Way to go!  This is one of the coolest things I've seen in about forever.  That one bit in your earlier video where Hulk picked up the tank was just too awesome.