Jump to content

Home

Throw Lightsaber - caster animation problem


Sikon

Recommended Posts

Posted

So the following line:

 

		ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectLightsaberThrow(GetFirstPC()), caster, 1.0);

makes the caster throw his lightsaber at the PC. Everything goes as normal, but while the lightsaber is flying, the caster is seen holding an identical lightsaber; the original lightsaber then returns to him and disappears.

How to make it work properly (TSL)?

Posted

I tried using ActionUseTalentOnObject(TalentSpell(FORCE_POWER_LIGHT_SABER_THROW), GetFirstPC()), but in this case, he just swings the lightsaber in the air without actually throwing it. And yes, he does have the necessary Force power.

Posted

The only thing I can think of is to compare the script to that of one in an existing cutscene that uses the same animation. Then also check and compare the utc files for items and possibly even the friendly hostile status. Those are the only suggestions I have that may help.

Posted
The only thing I can think of is to compare the script to that of one in an existing cutscene that uses the same animation.
Well, the cutscene where Bastila throws her lightsaber at Malak uses the second solution. And what do you mean by the friendly hostile status? His status is Hostile_1.
Posted

If by ACTION_CASTSPELL, you mean ActionCastSpellAtObject, then yes, I tried that. Unfortunately, not only Throw Lightsaber doesn't work this way, but neither do other Force powers.

Posted

I would compare Bastilla's Friendly status vs Malak's Hostile status. To see if these match also I'm just making wild guesses at possible problems here. I would also suggest to compare a TSL cutscene that has a thrown lightsaber instead of a K1 incase of differences.

Posted

Well, when I changed the caster's alignment to friendly, the throwing animation played correctly (I used ActionCastSpellAtObject)... except that in the end, when he was supposed to catch the lightsaber, it disappeared just after reaching his hand. :(

Posted

Just a little something that may shed some light on what is happening. The throw lightsaber has 3 animations (animations.2da):

69 throwsab: throw lightsaber which is the preparation move where the npc swings the lightsaber

70 throwsablp: npc animation waiting for the saber when it's flying (lightsaber is removed from hand)

71 catchsab: catch animation

 

and when using the EffectLightsaberThrow it shows only the lightsaber in the air, no npc animation. For some reason, ActionCastSpellAtObject only shows the npc animations.

 

However, UseTalentOnObject works. This is what the game uses in the cutscene with Malak and Bastila on the Leviathan (decompiled k_plev_finale1.ncs):

 

void main() {
object oBastila = GetObjectByTag("bastila");
object oDarthmalak400 = GetObjectByTag("darthmalak400");
talent talSpell = TalentSpell(FORCE_POWER_LIGHT_SABER_THROW);
AssignCommand(oBastila, ActionUseTalentOnObject(talSpell, oDarthmalak400));
DelayCommand(1.0, SetDialogPlaceableCamera(30));
ActionPauseConversation();
ActionWait(1.9);
ActionResumeConversation();
}

I got Mira to attack me with this and all the animations were ok. There's no need to tweak factions.

Posted

saberthrow.jpg

Well, here is a picture of Darth Sion before, during and after the throw. After the throw, he acts as if the lightsaber was in his hand (at least the flourish animation suggests it), but it is invisible. When I make him hostile, though, the lightsaber appears just as he rushes to attack the player. Changing his Dark Jedi lightsaber to a regular one doesn't help.

Posted
saberthrow.jpg

Well, here is a picture of Darth Sion before, during and after the throw. After the throw, he acts as if the lightsaber was in his hand (at least the flourish animation suggests it), but it is invisible. When I make him hostile, though, the lightsaber appears just as he rushes to attack the player. Changing his Dark Jedi lightsaber to a regular one doesn't help.

 

I believe this is a bug with the saber throw effect when used during "cutscene camera mode". I've noticed in my arena mod that if you watch jedi fight through the spectator cameras their saber often disappears visually after they have thrown even though they still fight with it, but the visuals show correctly again after you exit the camera.

 

If you are using this during a cutscene or dialog, try briefly exit and re-enter the dialog/cutscene when he throws the saber.

Posted

The problem is, I actually want to show him catching the lightsaber. Otherwise, there would be no problem - I'd just destroy and recreate him.

Posted

Did you tried exiting the dialogue as mentioned by Stoffe? When I tested the script above, I fired it with an armband and it worked perfectly. All the animations were there.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...