Perk Entry
Perk Entries define what happens if the player has the Perk. A rank is associated with a perk entry, indicating which rank it applies to. If a specific perk entry is applicable at multiple ranks, it must be specified multiple times, once for each rank. Each perk entry has several different options to define what the perk entry does.
For an example, the Adamantium Skeleton optional trait reduces how much limb damage you get when attacked, and also decreases the total amount of weight you can carry. So it has two "Perk Entries" (one for the resistance to limb damage, one for the decrease in carry weight). The above sounds like some pre-release version of that perk as a trait (the carry weight stuff), but you get the idea.
Perk Entry Dialog
- Rank: Number rank. Lower ranks are granted first.
- Priority: Used to control order of operations when two perk entries affect the same values. Entries with a higher priority are computed before those with a lower one. All perk entries use priority 0 in the default game.
- Quest: A Quest Perk Entry will start a specified quest and set it to a specified stage. The quest can be checked for in conditions, or its quest script can be used to affect various things in the game world.
- Stage: The stage to set.
- Ability: With an Ability Perk Entry, you select from a list of Abilities. When the player chooses a perk or trait with an Ability perk entry, the Ability is added to the player's "spell list".
- Entry Point: Entry Points are specific places in the code that are pre-defined. When you create a Perk Entry that refers to an Entry Point, you select from a list of these pre-defined Entry Points. Each one will also have a number of arguments that are relevant to that entry point.
- Condition Filter: What is affected: Examples include the Perk Owner (most common), the target, the weapon, item, attacker, attacker weapon, attackee, etc.
- Function: How it is affected: Plus, minus, multiply, set, etc. Some entry points use their own specific feature instead of an operation on a calculated value, like Cannibal adding an activation option to corpses.
- Function Data: How much it is affected.
- Conditions: The certain conditions in which something is affected. For example, for a perk that modifies weapon damage only when the weapon is an energy weapon, the conditions for the weapon argument would include an IsWeaponSkillType EnergyWeapons condition check.
Perk Function
Function | Description |
---|---|
Absolute Value | Sets an absolute value. Unused in the default game, unknown. |
Add Actor Value Mult | Adds the amount of the perk owner's actor value multiplied by the factor to the value. Broken, the GECK does not allow changing the actor value to use and defaults to Aggression, and even if it did the code is bugged. See this tutorial to use it as intended with JIP LN. |
Add Range to Value | Adds a random value between a defined min and max to the value. Unused in the default game. |
Add Value | Adds (or subtracts if negative) to the value. |
Multiply Value | Multiplies the value. |
Negative Absolute Value | Sets an absolute negative value. Unused in the default game, unknown. |
Set Value | Sets the value, overriding the default and other entry point alterations with equal or higher priority. See notes for special behavior in specific entry points. |
CAUTION
The following applies version 1.4 or older of Fallout 3, this issue was fixed in version 1.5 and won't be a problem in newer versions of Fallout 3: If a plugin or master module contains a Perk currently on the player and is removed from the load list, the game will crash while attempting to load any save where the player possesses that perk. It is strongly recommended to either advise users to upgrade to newest version of Fallout 3, or put some means to remove the perk from the player character should they want to uninstall the mod while keeping an older version of Fallout 3.
Note for Fallout: New Vegas
Regarding the behavior of the Set Value perk function: Among the new Entry Point types introduced by Fallout: New Vegas, for a while it was believed that Obsidian had changed the Set Value operation on the Modify Damage Threshold (attacker) and Modify Weapon Strength Req entry points to be Subtract Value internally.
This has been proven false, the total perk entry value is what is subtracted from these numbers (with a floor of 0), so using the Set Value operation with Modify Damage Threshold (attacker) with set the DT ignored with attacks, while using the Add Value operation will increase the DT ignored with attacks.
However the Multiply Value don't work as one would expect as the entry point is based on the number to be subtracted, i.e. it's still not possible to halve a weapon's STR requirement by using the entry point to multiply it by 0.5.