Jump to content

Perks


srayesmanll

Recommended Posts

Posted

Quick question: Is there any way to determine the current level of a players perk? GECK info doesn't seem to have any command to get that info - HasPerk just returns a 1 or 0.

Posted

Nothing in the way of GetPerkLevel or something.

 

Some of vanilla's multi-level perks (eg animal friend or intense training) seem to trigger what it is they do through a quest stage in the "Generic" quest. You might be able to detect the level of those by performing a "GetStageDone" (not getstage).

For those that simply change a specific setting or actor value, like demolition expert, you'll have to check for the value of the setting or AV itself. (GetGameSetting, GetActorValue)

& then there's some that add an ability, so you can check for those with IsSpellTarget.

Posted

"Nothing in the way of GetPerkLevel or something." - I thought as much. See, if I had written the HasPerk function, it would return the Perk level (0=not added, >0 is the perk level). Damn them for not asking me...:D

 

Well, I'm not tied to the Perk level for what I'm doing. I wanted to have a single perk with 2 levels as a reward for 2 (small) quests I am adding to my Rapist mod. Completing 1 or the other would give level 1, completing the 2nd one would bump it a level. However, since the effect in the 1st level was minor (EN+1), I may just do it the simple way and just check for both quests being completed before awarding, and including the minor EN bump with the effects that were going to be in the second level. I wanted to check the perk level because the second level would cause some different NPC reactions with the Perk.

Posted

The best solution generally is what DoctaSax suggested last, i.e. IsSpellTarget. Assign the perk's effects as an ability with a name like MySpecialPerkLevel1 and MySpecialPerkLevel2. Then use IsSpellTarget to see if the player has the right ability. AFAIK IsSpellTarget is also one of the dialogue condition functions.

Posted

Thanks for the suggestion guys. I'm still working out what effects the perk will contain, but right now it's 2 things - and EN bump (+1 or +2) and basically an "existence" effect. The "existence" effect would be used as a dialog filter:

 

"if player.HasPerk MSP == 1"

OR

"if player.isSpellTarget MSPLevel2 == 1"

Archived

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

  • Recently Browsing   0 members

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