Jump to content

Can you use "ismoving" on a perk's effect conditions? (Ima


Iamiko

Recommended Posts

Currently working on a personal overhaul of the heavy armour perks and I have encountered a slight hitch. I am trying to add an effect where if your standing still, you gain a slight AR boost so I set a condition on the perk "IsMoving == 0.00".

 

Now, this is working... even when my character is moving! I have tried reversing it for the sake of testing that the condition was actually being checked and if set to "IsMoving != 0.00" then the change doesn't apply, regarless of whethere my character is moving or not.

 

Got several possible causes right now and was hoping someone could shed some light on ways to check them.

 

(a.) IsMoving is not being read or updated correctly by Skyrim while my character is moving (game bug in that case?).

 

(b.) the "IsMoving" function that the perk condition is calling is different or is returning a different result to the one called by "player.IsMoving" (Unlikely, but possible)

 

(c.) "IsMoving" cannot be called as part of a perk condition check.

 

(d.) My implementation sucks and I missed something obvious.

 

This is a screendump of the current perk configuration:

 

 

Any help would be greatly appreciated!

Link to comment
Share on other sites

Maybe you should check Savage Strike perk, it should need similar conditions.

 

Good thought, and one I'd considered while bashing my head on the wall. The Savage Strike perk adds a damage multiplier to standing power attacks, rather than checking if the player is still or not.

Link to comment
Share on other sites

Ok, got it kind-of working by checking that "GetMovementDirection" equals zero. Unfortunately it only updates when an object is equipped or unequipped, looks like I need to write a script and that's going to add some overhead by checking regularly if the character is moving.

 

Edit: forgot to add, thanks porroone. your suggestion put me on the path of GetMovementDirection!

Edited by Iamiko
Link to comment
Share on other sites

Ok, got it kind-of working by checking that "GetMovementDirection" equals zero. Unfortunately it only updates when an object is equipped or unequipped, looks like I need to write a script and that's going to add some overhead by checking regularly if the character is moving.

Hmm, did you check if the equipping thing is not the issue with isMoving too?

PS: I'm trying to do something similar at the moment using GetInFaction and http://www.creationkit.com/Talk:Passing_Conditions_to_Papyrus cause it seems we don't have something like onFactionJoined/Leaved in papyrus. I need to check this equipping cause it didn't worked for me till now.

Link to comment
Share on other sites

GetMovementDirection == 0, only works for moving forward, with GetVelocity you can also check if the player is jumping checking the Z velocity, and works for all directions :)

 

Are you sure? I thought "GetMovementDirection == 0" was not moving and the returns of 1 through 4 are for the directions?

 

Hmm, did you check if the equipping thing is not the issue with isMoving too?

 

No, I haven't as I'd abandoned IsMoving by the time I discovered the equipping issue. Worth checking though, will have a look at that.

Edited by Iamiko
Link to comment
Share on other sites

 

Are you sure? I thought "GetMovementDirection == 0" was not moving and the returns of 1 through 4 are for the directions?

 

 

You maybe right, I had in mind GetAnimationVariableFloat("Direction") where 0 is forward, 0.5 is back, 0.25 is right and 0.75 is left.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...