Power

From OuroDev
Revision as of 08:39, 9 December 2019 by pc>Brw316

Editing or creating power data requires at least a rudimentary knowledge of the power definition file format. No matter the set or type of power, the format is the same:

Power category.powerset.power_name
{
Name                 "Power Name"                  
DisplayName          "text"
BuyRequires          text
ModesDisallowed      text
Type                 text
Accuracy             integer
AttackTypes          text
EntsAffected         text
EntsAutoHit          text
Target               text
Range                integer
EnduranceCost        integer
IdeaCost             integer
TravelSuppression    integer
InterruptTime        integer
TimeToActivate       integer
RechargeTime         integer
ActivatePeriod       integer
EffectArea           text
Radius               integer
Arc                  integer
BoostsAllowed        text
// Additional Power Factors
StrengthsDisallowed  text
PowerRedirector      text
VisualFX             "menu\Powers\AnimFX\PlayerPowers\YourPowerAnimation.PFX"
include              menu\Powers\AnimFX\PlayerPowers\YourPowerAnimation.PFX
DisplayShortHelp     "text"
DisplayHelp          "text"
IconName             "YourPowerIcon.tga"
TimeToConfirm        integer
MaxTargetsHit        integer

AttribMod
{
Name                 "Effect Name"                        
Table                "Table Name"                  
Aspect               text 
Attrib               text
Target               text
Scale                integer
Type                 text
AllowStrength        text
AllowResistance      text
Delay                integer
Duration             integer
Magnitude            integer
Period               integer
Chance               integer
NearGround           text
CancelOnMiss         text
StackType            text
Requires             text
// Additional Power Attribs
"Attribute"    text
AllowCombatMods      text
}

Block 1: Power Facets

Category
The category file that this power is linked with. It typically includes an archetype name followed by the primary function of the set.
Powerset
The name of the powerset. It must be unique per powerset definition. DO NOT CHANGE IF MODIFYING A SET THAT HAS ALREADY BEEN CREATED.
Power Name
The name of the powerset. It must be unique per powers definition. DO NOT CHANGE IF MODIFYING A POWER THAT HAS ALREADY BEEN CREATED. This name is entered into the database on compile and will break boosts (enhancements) if renamed here.|}
DisplayName
This can be used to override the existing name of a power if you wish to change it. (Best practice is to generate pstrings so that non-English speaking persons may have a translated version in their native tongue).
BuyRequires
This is the requirement for power eligibility. If empty, only level is required. Else, it's a postfix expressions: arguments, then operator. This is what is required to have access to select this power (an archetype, a prerequisite power, or other limiters). Valid Operators are ||(or), &&(and), and !(not).
  • Formats
    • If BuyRequires is a power:
      • Category.PowerSet.Power1 Category.PowerSet.Power2 ||
      - Ex. Feral_Might.Feral_Might.Hunter_Form
    • If BuyRequires is access level (GM):
      -Ex. accesslevel char> 0 >=
    • If BuyRequires is an archetype:
      -$archetype @Class_Primalist ==
-Ex: BuyRequires Feral_Might.Feral_Might.Hunter_Form accesslevel char> 0 >= &&
This means that the power being looked at requires Feral Might's Hunter Form power and (&&) the character has GM access greater than or equal to 0.
ModesDisallowed
What "Mode" the caster cannot be in to have access to activate this power. A "Mode" can be set by another power. Modes are defined in Defs\attrib_names.def [link to file].
Common Modes kDisable_All All powers disabled.
kDisable_Pool All pool powers disabled.
kDisable_Epic All epic/ancillary pools disabled.
kDisable_Inspiration Disables inspirations. Can append additional flags to specify type.
Transformation Modes kPeacebringer_Blaster_Mode Kheldian-specific modes that control power availability while transformed.
kPeacebringer_Tanker_Mode
kWarshade_Blaster_Mode
kWarshade_Tanker_Mode
kProwlerMode Primalist-specific modes that control power availability while shapeshifted.
kHunterMode
kHAC_Offense Modes specific to Hyper-Advanced Clockwork that control power availability while in each combat mode.
kHAC_Defense
kDisable_Juggernaut
ModesRequired
What "Mode" the caster must be in to have access to activate this power. A "Mode" can be set by another power. Modes are defined in Defs\attrib_names.def [link to file]. See table above.
Type
How the power is activated. May only be one of the following:
  • kAuto
  • kToggle
  • kClick
  • kBoost (enhancement)
  • kInspiration
Accuracy
This is the multiplier to the ToHit attribute in the equation to determine final hit chance.
AttackTypes
The type of attack as far as specialized Defense is concerned. The corresponding class attribute will defend against the AttackType of the power. More than one AttackType can be assigned to a power, and Defense for a power is additive. Default for this field is nothing, which is ok. It's only a Melee attack if you have to touch the guy, It's only Ranged if you send a projectile. It's AoE if the target is not Caster (Cone is AoE).
  • kAOE_Attack
  • kMelee_Attack
  • kRanged_Attack
  • kSmashing_Attack
  • kLethal_Attack
  • kFire_Attack
  • kCold_Attack
  • kEnergy_Attack
  • kNegative_Energy_Attack
  • kPsionic_Attack
  • kToxic_Attack
  • kSpecial_Attack
  • kRadiation_Attack
  • kElectrical_Attack
  • kUnique1_Attack
  • kUnique2_Attack
  • kUnique3_Attack
GroupMembership
Specifies the various power groups which exist. A power group is a set of powers which are mutually exclusive. If you execute a power which is a member of group, then all the active toggle powers in that group are shut off. (Click and Auto powers are not shut off; their use shuts off Toggles. The group(s) which a power is a member of is defined in the GroupMembership field of the power definition. This can be a list.
  • kFlying_Group
  • kSpeed_Group
  • kSprint_Group
  • kLeap_Group
  • kFlyingRoot_Group
  • kSpeedRoot_Group
  • kSprintRoot_Group
  • kLeapRoot_Group
  • kRock_Armor_Group
  • kBrimstone_Armor_Group
  • kCrystal_Armor_Group
  • kMineral_Armor_Group
  • kStealth_Group
  • kHide_Group
  • kRest_Group
  • kKheldian_Group
  • kAscendant_Group
  • kDarkness_Group
  • kAmmo_Group
  • kHAC_Group
  • kVanityPet_Group
  • kCombatPet_Group
  • kPrimalist_Group
  • kBio_Group
  • kCombatPet_Group
AIGroups
For NPC-Villains (AI controlled entities) Powers only (or pets). Flags the power so that it is used by the AI in a specific way.
  • kJump
  • SecondaryTarget
  • HeavyGroup
  • Summon
    - Used in conjunction with kEntCreate Attribute
  • Buff
  • Debuff
  • MidBattle
  • Root
  • HealAlly
  • HealSelf
  • PostDeath
    - Always accompanied by kCastableAfterDeath in Misc.
EntsAffected
What or who the power will affect. Multiple Targets may be listed here. Most values are shared between Target, EntsAutoHit and EntsAffected.
kNone No target.
kCaster The caster, living or dead
kPlayer Any living player except the caster
kPlayerHero Any living player of type Hero except the caster
kPlayerVillain Any living player of type Villain except the caster
kDeadPlayer Any dead player INCLUDING caster
kDeadPlayerFriend Any dead friendly players except the caster
kDeadPlayerFoe Any dead hostile players except the caster
kTeammate Any teammate or teammate's pet except the caster
kDeadTeammate Any dead teammate or teammate's dead pet except the caster
kDeadOrAliveTeammate Any teammate or teammate's pet except the caster, dead or alive
kVillain Any living critter on team "evil" except the caster
kDeadVillain Any dead critter on team "evil" INCLUDING the caster
kNPC Any NPC but villains
kDeadOrAliveFriend For teamX, anyone dead or alive on teamX except the caster. (X = good or evil)
kDeadFriend For teamX, anyone dead on teamX except the caster. (X = good or evil)
kFriend For teamX, anyone alive on teamX except the caster. (X = good or evil)
kDeadOrAliveFoe For teamX, anyone dead or alive on teamY except the caster. (X,Y = good or evil)
kDeadFoe For teamX, anyone dead on teamY except the caster. (X,Y = good or evil)
kFoe For teamX, anyone alive on teamY except the caster. (X,Y = good or evil)
kLocation A specific location
kTeleport A specific location with constraints for teleporting
kAny Any living entity.
kDeadOrAliveMyPet Any target where the source is the owner (i.e. the caster's pets, or any of their pets, and so on, alive or dead)
kDeadMyPet Any dead target where the source is the owner (i.e. the caster's dead pets, or any of their pets' dead pets, and so on)
kMyPet Any living target where the source is the owner (i.e. the caster's living pets, or any of their pets' living pets, and so on)
kMyOwner The caster's master's master's master's... up to the top level.
kMyCreator The caster's immediate master, ignoring levels above.
kMyCreation The source's living pets, but not any of their pets' pets
kDeadMyCreation The source's dead pets, but not any of their pets' dead pets
kDeadOrAliveMyCreation The source's pets, alive or dead, but not any of their pets' pets
kLeaguemate Any living leaguemate and their pets except the caster
kDeadLeaguemate Any dead leaguemate and all leaguemate's dead pets except the caster
kDeadOrAliveLeaguemate All leaguemates and their pets, dead or alive except the caster
kPosition A position relative to an entity specified by the designer
EntsAutoHit
See EntsAffected.
Target

See EntsAffected.

TargetVisibilty

Specify what kind of visibility between the caster and the target is required for successful execution of the power.

kLineOfSite Means that the caster must be able to see the target to use the power.
kNone Means no visibility is required to use the power.
Range
Maximum distance the caster can be from the target. Zero (0) for powers cast on self.
EnduranceCost
How much absolute Endurance is drained when the power is cast. (0) for Auto powers.
TravelSuppression
Disables Movement attributes for travel powers.
InterruptTime
The duration of time before the power is activated when it can be interrupted and cancelled. Should be restricted to powers outside of combat. Sometimes referred to as Wind Up.
TimeToActivate
Time in seconds it takes for the animation of the entity. Should match the seconds converted from frames in the animation file (frames/30).
RechargeTime
Time it takes before this power can be activated again.
ActivatePeriod
Essential for Auto or Toggle powers. This dictates when, or how often Power is activated. Should be equal to Duration if the desired effect is constant. Time is in seconds. Must be at least 0.125. An ActivatePeriod of <.125 (e.g. 0), will be set to 0.125.
EffectArea
The area of effect of the power. Default is Character. Valid options are:
Character The power affects a single target entity (e.g. a Villain or a Hero)
Sphere The power affects all valid targets within a sphere. Size of the Sphere is determined by the Radius.
Cone The power affects all valid targets within a cone area. Area of the cone is determined by the Radius, Arc and Range.
Location The power affects a targeted Location in the world. Used often for summoning/dropping pets, and Teleporting among other things.
Volume For Volume Geometry only. The power will fill the geometry the level designers build. Must be an Auto Power. (I.e. Dayjobs).
Map The power affects a given map. Typically activated via a script in a different file.
Room The power affects a specific room on a map. Typically activated via a script in a different file.
Touch unknown purpose.
Box A specific area defined by offset and size values found in AdditionalPowerFacets.
Radius
If EffectArea is Sphere, then this is the radius of that sphere. If EffectArea is Cone, then this should be equal to the Range and Range should not be modifiable by Specializations (enhancements).
Arc
If EffectArea is Cone, then this is the degrees of the Arc.
BoostsAllowed
What Enhancements (aka Boosts, Specializations) can be placed on this power. For Enhancements themselves, this colon dictates what kind of Boost it is.
  • kAccuracy_Boost
  • kDamage_Boost
  • kEnduranceDiscount_Boost
  • kRange_Boost
  • kRecharge_Boost
  • kDebuff_Defense_Boost
  • kStunned_Boost
  • kImmobilized_Boost
  • kKnockback_Boost
  • kBuff_ToHit_Boost
  • kTaunt_Boost
  • kHeal_Boost
  • kSlow_Boost
  • kDebuff_ToHit_Boost
  • kInterrupt_Boost
  • kHold_Boost
  • kRecovery_Boost
  • kSleep_Boost
  • kFear_Boost
  • kBuff_Defense_Boost
  • kConfuse_Boost
  • kRes_Damage_Boost
  • kSpeedrunning_Boost
  • kJump_Boost
  • kSpeedFlying_Boost
  • kIntangible_Boost
  • kSpeedRunning_Boost
  • kDeBuff_ToHit_Boost
  • kDeBuff_Defense_Boost

Additional Power Factors

StrengthsDisallowed
If IgnoreStrength is true, then when the player uses the power ALL attribmods which change any Strength aspect are ignored. Enhancements on this power are NOT ignored. Individual AttribMods on this power can still specify StrAllowed. If strength is allowed, only the Enhancement strength is used. If IgnoreStrength is false (the default), then the power will pass on STR values to all AttribMods, unless individual AttribMods have AllowStrength (see below) set to False.
  • kTrue
  • kFalse
PowerRedirector
If true, this power will point to another power(s) instead. Commonly used for sniped, assassin strikes, and Primalist powers.
  • kTrue
  • kFalse
VisualFX
The PFX file called for the Power. Commonly found in "menu\Powers\AnimFX\PlayerPowers".
DisplayShortHelp
Short help strings. The power name displayed in tool tips. Set equal to Power Name above. If they aren't defined for the target, it'll use the regular ones.
DisplayHelp
Long help strings. Description of power and what it does.
IconName
Name of the Icon File.
MaxTargetsHit
Max number of targets will be affected (not the max number hit) by an AoE power.
MaxBoosts
Maximum number of Enhancement Slots that can be put in this power (default is 6).
AIReport
Determines whether or not the targeted AI is alerted to the casters presence when the power is cast on them. Does nothing for powers cast on Players.
  • kAlways
  • kNever
  • kMiss_Only
  • kHit_Only
AnimMainTargetOnly
Animations and f/xs will only play on the targeted entity. This is useful if we want to do an AoE power, and affect multiple targets, but not play any anims or f/x on the surrounding affected targets.
  • kTrue
  • kFalse
CastThroughHold
This power can be cast even is the target is Held. Default is False.
  • kTrue
  • kFalse


CastThroughSleep
This power can be cast even is the target is Asleep. Default is False.
  • kTrue
  • kFalse


CastThroughStun
This power can be cast even is the target is Stunned. Default is False.
  • kTrue
  • kFalse


CastThroughTerrorize
This power can be cast even is the target is Terrorized. Default is False.
  • kTrue
  • kFalse


ShowInManage
Set to False if you don’t want this power to show in the Enhancement management UI. Default is True
  • kTrue
  • kFalse


ShowInInventory
Set to kNever if you don’t want this Power to show in the players Powers Inventory UI.
  • kNever
  • kDefault
  • kAlways
  • kIfUsable
  • kIfOwned
ShowBuffIcon
Set to False if you don’t want this Power to show in the players Buff list. Default is True
  • kTrue
  • kFalse
Misc
Leave blank, or choose one of the options below:
kCastableAfterDeath CastableAfterDeath powers can only be cast by the entity that is dead.
kNearGround NearGround powers can only be activated when the entity is touching the ground.
kTargetNearGround TargetNearGround powers can only be activated when the target is touching the ground.

Niche Facets

TimeToConfirm
For Teleport and Resurrect powers, the time the target has to accept the teleport or resurrection.
DisplayConfirm
The text displayed in the pop-up dialog box to accept a teleport or resurrect.
TargetSecondary
Currently for Teleport powers only. To Teleport "Others", this value is always "kLocation".
RangeSecondary
Currently for Teleport powers only. To Teleport "Others", this value is the distance you can teleport them.
NumCharges
For Temporary Powers. Sets the number of charges the power has initially. Each time the power is successfully made current (i.e. endurance is spent), the number of charges decreases by one. If the character gets interrupted during windup, or the power misses, or the target dies in the interim, the number of charges is still dropped by one. Once this value is zero, using the power has no effect. This is mainly used for click and inspiration powers, but can be used on toggle powers as well.
UsageTime
For Temporary Powers. Used for toggle powers only, this sets the number of seconds of use the power has total. While the toggle power is active, a timer is reduced until either it runs to zero or the power is toggled off. If it runs to zero, the toggle power automatically shuts off and cannot be turned on again. If the toggle power is shut off before the timer runs out, it may be activated again. This can be done over and over until the time runs out.
LifeTime
For Temporary Powers. Sets the number of real-world seconds the power will function, regardless of its usage. Attempting to use the power after this time has no effect. Toggle powers shut off when they reach the lifetime. This time passes even if the character is not online. This is useful for click, toggle, and auto powers

.

NumAllowed
For Temporary Powers. Sets the max number of this power you can have at one time.
MaxUsageTime
For Temporary Powers. Maximum use time the power can be extended to in seconds.
MaxLifetime
For Temporary Powers. The max number of real-world seconds extended that the power will function, regardless of its usage.
MaxLifetimeInGame
For Temporary Powers. The max number of in-game seconds extended that the power will function, regardless of its usage.
DoNotSave
If True, this power will not save to the database. If the player logs out or crosses zones, the power will be removed.

kTrue kFalse

AdditionalPowerFactors

The following is a list of additional flags that affect how a particular power behaves:
ToggleIgnoreHold These booleans determine if the power is detoggled when held, slept or stunned. Assume false if missing. Toggles only.
ToggleIgnoreSleep
ToggleIgnoreStun
BoxOffset These are used to define a box offset relative to target and size. Used for the kBox EffectArea.
BoxSize
ShootThroughUntouchable A boolean that determines if the Power ignores untouchability.
InterruptLikeSleep A boolean to determine if this power is only interrupted by things that interrupt sleep: Damage, Healing, KB/KD/KU, Repel.
TargetsThroughVisionPhase Boolean to determine if the power can target, affect, or autohit things in different vision phases. Default to false.
ToggleDroppable How often is this toggle power be dropped by a kDropToggle AttribMod? Default is kSometimes. kSometimes
kAlways
kFirst
kLast
kNever
Deletable A boolean to allow a Temporary power to be deleted.
Tradeable Sets a power to be tradeable to other players. Used for Boosts (enhancements).
IgnoreStrengths Strengths on this power that simply cannot be modified. Different from StrengthsDisallowed because it also ignores enhancements.
HighlightEval An evaluator that looks for a certain criteria, then highlights an icon or creates a ring around the Power. Commonly used on Fast-snipes.
HighlightIcon
HighlightRing
DestroyOnLimit Boolean to revoke the power if it reaches the usage limit.
StackingUsage Boolean to extend existing powers when granted multiple times.
PositionCenter Controls for a camera effect.
PositionDistance
PositionHeight
PositionYaw
FaceTarget Boolean to face the target when firing.
FloatRewarded Message floated on screen when this power is granted as reward.
DisplayPowerDefenseFloat Message to float when this power is the defensive cause of a missed attack if attribmod doesn't specify its own float.
ActivateRequires A requirement check for activation. Follows the same rules as BuyRequires.
TargetRequires An evaluator for a target to be valid. If empty, there are no requirements. Most commonly used for Inherent abilities.
RewardRequires Requirement to be awarded the power through the reward system. If blank, there are no requirements.
RewardFallback The power that will be awarded if this power's requirements aren't met. If blank, none will be awarded.
SelfConfirm If 1, will ask the caster for confirmation. Default behavior excludes caster.
ConfirmRequires If the target fails this requirement, they auto-confirm.
ProcMainTargetOnly Boolean to set if only main target is hit by attached procs.
PreferenceMultiplier Seems to be used for weighting preference for AI.
DontSetStance May have something to do with AI or Mastermind pet stance? Default 1.
PointValue Value of power. Point value/multiplier is only used in AE.
PointMultiplier
ChainIntoPower Immediately forces the user to activate the note power. Mostly used for critters with wind-up powers like War Walkers.
InstanceLocked Seems to determine if the power is only active in a specific instance.
IsEnvironmentHit Not exactly sure what it does, but it seems to be attached to emanator powers.
ShuffleTargets Seems to randomly shuffle targets of the power.
ForceLevelBought If greater than -1, forces the power to be counted as the level shown plus 1 for exemplaring. (Mostly just there to disable incarnate powers when exemplared below 45).
RefreshesOnActivePlayerChange Refreshes the power if the active player on the team changes. Used for Visionphase.
Cancelable Not sure what it does, not well documented. May have to do with cancelling powers during activation.
IgnoreToggleMaxDistance Boolean to ignore the normal maximum distance between toggle source and target.
ServerTrayPriority Sets the tray position for the power when used in a popup tray.
AbusiveBuff If true, attrib mods applied by this power will be cleared whenever entering a map that uses eRAT_ClearAbusiveBuffs

Example Power Definition

Power Feral_Might.Feral_Might.Feral_Blow
{
    Name                 "Feral_Blow"                  
    DisplayName          "P1196284902"
    BuyRequires          accesslevel char> 0 >=
    ModesDisallowed      kDisable_All
    Type                 kClick
    Accuracy             1
    AttackTypes          kMelee_Attack, kSmashing_Attack
    EntsAffected         kFoe
    EntsAutoHit          kNone
    Target               kFoe
    Range                7
    EnduranceCost        4.368
    IdeaCost             0
    TravelSuppression    1
    InterruptTime        0
    TimeToActivate       1.2
    RechargeTime         3
    ActivatePeriod       0
    EffectArea           kCharacter
    Radius               0
    Arc                  0
    BoostsAllowed        kAccuracy_Boost, kDamage_Boost, kRecharge_Boost, kEnduranceDiscount_Boost, kHeal_Boost, kDebuff_Defense_boost, kStunned_Boost
    // Additional Power Factors
    StrengthsDisallowed  kRange
    PowerRedirector      kTrue
    VisualFX             "menu\Powers\AnimFX\PlayerPowers\TankerMelee_SuperStrength_Punch.PFX"
    include              menu\Powers\AnimFX\PlayerPowers\TankerMelee_SuperStrength_Punch.PFX
    DisplayShortHelp     "P2165549301"
    DisplayHelp          "P1031847805"
    IconName             "FeralMight_FeralBlow.tga"
    TimeToConfirm        0
    MaxTargetsHit        1

    AttribMod
    {
        Name                 "Ones"                        
        Table                "Melee_Ones"                  
        Aspect               kCur
        Attrib               kPowerRedirect
        Target               kSelf
        Scale                1
        Type                 kConstant
        AllowStrength        kFalse
        AllowResistance      kFalse
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               1
        NearGround           kFalse
        CancelOnMiss         kFalse
        StackType            kStack
        Requires             kHunterMode source.Mode?
        // Additional Power Attribs
        PrimaryStringList    Primalist_Misc.Hunter_Form_Powers.Feral_Blow_Hunter
        AllowCombatMods      kFalse
    }

    AttribMod
    {
        Name                 "Ones"                        
        Table                "Melee_Ones"                  
        Aspect               kCur
        Attrib               kPowerRedirect
        Target               kSelf
        Scale                1
        Type                 kConstant
        AllowStrength        kFalse
        AllowResistance      kFalse
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               1
        NearGround           kFalse
        CancelOnMiss         kFalse
        StackType            kStack
        Requires             kProwlerMode source.Mode?
        // Additional Power Attribs
        PrimaryStringList    Primalist_Misc.Prowler_Form_Powers.Feral_Blow_Prowler
        AllowCombatMods      kFalse
    }

    AttribMod
    {
        Name                 "Ones"                        
        Table                "Melee_Ones"                  
        Aspect               kCur
        Attrib               kPowerRedirect
        Target               kSelf
        Scale                1
        Type                 kConstant
        AllowStrength        kFalse
        AllowResistance      kFalse
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               1
        NearGround           kFalse
        CancelOnMiss         kFalse
        StackType            kStack
        Requires             1
        // Additional Power Attribs
        PrimaryStringList    Primalist_Misc.Primal_Form_Powers.Feral_Blow_Primal
        AllowCombatMods      kFalse
    }

    AttribMod
    {
        Name                 "Damage"                      
        Table                "Melee_Damage"                
        Aspect               kAbs
        Attrib               kSmashing
        Target               kTarget
        Scale                0.84
        Type                 kMagnitude
        AllowStrength        kTrue
        AllowResistance      kTrue
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               1
        NearGround           kFalse
        CancelOnMiss         kFalse
        DisplayAttackerHit   "P2658325911"
        DisplayVictimHit     "P4237552787"
        StackType            kStack
        Requires             enttype target> critter eq
    }

    AttribMod
    {
        Name                 "Damage"                      
        Table                "Melee_Damage"                
        Aspect               kAbs
        Attrib               kSmashing
        Target               kTarget
        Scale                1.632
        Type                 kMagnitude
        AllowStrength        kTrue
        AllowResistance      kTrue
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               1.000
        NearGround           kFalse
        CancelOnMiss         kFalse
        DisplayAttackerHit   "P2658325911"
        DisplayVictimHit     "P4237552787"
        StackType            kStack
        Requires             enttype target> player eq
    }

    AttribMod
    {
        Name                 "Ones"                        
        Table                "Melee_Ones"                  
        Aspect               kCur
        Attrib               kRage
        Target               kSelf
        Scale                0.1
        Type                 kMagnitude
        AllowStrength        kFalse
        AllowResistance      kTrue
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               1
        NearGround           kFalse
        CancelOnMiss         kFalse
        StackType            kStack
    }

    AttribMod
    {
        Name                 "NBInactive"                  
        Table                "Melee_Ones"                  
        Aspect               kCur
        Attrib               kEntCreate
        Target               kTarget
        Scale                -1
        Type                 kMagnitude
        AllowStrength        kFalse
        AllowResistance      kFalse
        Delay                0
        Duration             1
        Magnitude            1
        Period               0
        Chance               1.0
        NearGround           kFalse
        CancelOnMiss         kFalse
        StackType            kStack
        EntityDef            Pets_FeralBlow_Heal
        PriorityList         PL_StaticObject
        // Additional Power Attribs
        KeepThroughDeath     kTrue
        AllowCombatMods      kFalse
    }

    AttribMod
    {
        Name                 "NBActive"                    
        Table                "Melee_Ones"                  
        Aspect               kCur
        Attrib               kEntCreate
        Target               kTarget
        Scale                -1
        Type                 kMagnitude
        AllowStrength        kFalse
        AllowResistance      kFalse
        Delay                0
        Duration             1
        Magnitude            1
        Period               0
        Chance               0.0
        NearGround           kFalse
        CancelOnMiss         kFalse
        StackType            kStack
        EntityDef            Pets_FeralBlow_Heal_NBActive
        PriorityList         PL_StaticObject
        // Additional Power Attribs
        KeepThroughDeath     kTrue
        AllowCombatMods      kFalse
    }

    AttribMod
    {
        Name                 "NBInactive"                  
        Table                "Melee_HealSelf"              
        Aspect               kAbs
        Attrib               kHeal
        Target               kSelf
        Scale                0.084
        Type                 kMagnitude
        AllowStrength        kTrue
        AllowResistance      kFalse
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               1
        NearGround           kFalse
        CancelOnMiss         kFalse
        DisplayAttackerHit   "P777377190"
        StackType            kStack
    }

    AttribMod
    {
        Name                 "NBActive"                    
        Table                "Melee_HealSelf"              
        Aspect               kAbs
        Attrib               kHeal
        Target               kSelf
        Scale                0.168
        Type                 kMagnitude
        AllowStrength        kTrue
        AllowResistance      kFalse
        Delay                0
        Duration             0
        Magnitude            1
        Period               0
        Chance               0
        NearGround           kFalse
        CancelOnMiss         kFalse
        DisplayAttackerHit   "P777377190"
        StackType            kStack
    }
}

This is the default definition file for the Primalist's Feral Blow power from the Feral Might primary powerset. It is a single target melee click attack. It is a fairly standard set-up, with the notable inclusion that it redirects to other powers (a version of the power for each form: Primal, Hunter, and Prowler).

Block 2: AttribMod

AttribMods, or Attribute Mods, are the nuts and bolts of the powers system. These mods link directly to tables in an archetype's class definition file and uses those modifiers to calculate the effectiveness of a particular attribute in the game environment.

Categories

Name
The second half of the name of the table the effects will use (referring to the tables in the individual class definition)
Table
The full table name of the table the effects will use (referring to the tables in the individual class definition)
Aspect
How this effect will modify the Attribute. May only be one of the following options:
  • Cur
    Modifies a percentage of the Current Attribute value. Sets the initial value or adds to an existing value.
Consider:
-An archetype has no innate defense to an AttackType. PowerA applies a Cur.kMelee_Attack of 0.20. The archetype now has a 20% defense to melee attacks.
-If PowerB applies a Cur.kMelee_Attack of 0.05 to the same AttackType, the archetype would then have a 25% defense to melee attacks.
  • Str
    Modifies a percentage of the Current Attribute Strength. It represents how much to amplify the modifer that this power casts that affects a given attribute. Be sure to set AllowStrength to FALSE if you are modifying Strength.
Consider:
-An archetype has a Cur.kMelee_Attack of 0.20. PowerA applies a Str.kMelee_Attack of 0.10. The archetype now has a 22% defense to melee attacks.
-If PowerB applies a Str.kMelee_Attack of -0.50, the archetype would then have a 10% defense to melee attacks.
  • Abs
    Adds the value to the Attribute
    • Heals
    • Damage
    • Endurance
  • Max
    Modifies a percentage of the Current Attribute Max
    • HitPoints
    • Endurance
  • Res
    Modifies a percentage of the Current Attribute Resistance. This is a measure of how much this attribute will resist attempts to change any aspect of the attribute.
    When applying Res to an attribute like Damage type, the attribute will both resist the damage type and resist resistible resistance debuffs.
Consider
-An archetype has a Cur.kMelee_Attack of 0.20. PowerA applies a Res.kDefense of 0.10. The archetype now has a 20% defense to melee attacks AND a 10% resistance to buff and debuff effects that modify Defense.
Attrib
The particular effect being applied to a target of the power.

See Google Sheet https://docs.google.com/spreadsheets/d/1-M0krQPyjBcM1Aa7x-CmLfaOWAL7VEtvbSCWljiuctk/edit?usp=drivesdk

Target
The target of an attribute that is being applied. Can be used to have some effects of a power modify a foe, while another effect modify the caster.
  • kSelf
  • kSelfsOwnerandAllPets
  • kTarget
  • kTargetsOwnerandAllPets
  • kFocus
    Test effect. Unknown application.
Scale
How much the table (specified by Power Type and Effect) will be multiplied by. May be an absolute value, scale multiplier, or percentage. Further modified by class tables found in the class definition files.
Absolute Value attributes kEndurance attribute Abs and Max aspect
<ControlType> attributes Cur aspect for <ControlType>
Taunt/Placate attribute Abs aspect
StealthRadius Max aspect
Boolean-type attributes Cur aspect
Scale Multiplier attributes kHitPoints attribute Res and Max aspects
kEndurance attribute Max aspect
<AttackType> attributes (damage) Cur and Abs aspects
<AttackType>_Attack attributes (defense) Cur aspects
<MovementType> attributes Cur and Max aspects
Percentage attributes All attributes (non-boolean) Str and Res aspects
Cur aspect HitPoints
Heal
Regeneration
Absorb
Endurance
Recovery
EnduranceDiscount
ToHit
Type
Establishes the type of value the scale corresponds to. Most effects will be Magnitude. Use Duration for Boolean effects like Stun, Immobilize, or Sleep if you want the duration to be resistible and scalable by level of caster. For Duration Toggle powers that effect targets other than caster, the duration should be set to 3 times the ActivatePeriod (to prevent hiccupping when using that power against targets much higher level than the caster - also, in this case, StackType should be kReplace).
Constant Commonly used with kSetMode and kSetCostume attributes to keep these attributes active while the power is active.
Duration Used primarily for <ControlType> and <PhaseType> attributes to establish the duration of the effect and make it modifiable.
Expression Commonly used for powers and effects that require additional Scale evaluators that are dependent on other attributes. kRage
kMeter
Scourge
Blood Frenzy
Magnitude Most commonly used type. If an attribute does not fall into a category above, its Scale is assumed to be a Magnitude.
AllowStrength
Should the power be improved by the casters Strength. Set to FALSE for any powers that modify Strength in ASPECT.
AllowResistance
Should the power be resistible. Set to false for most beneficial effects on self of friends.
Suppress
Sets when and for how long the power is temporarily suppressed. Commonly used for travel, stealth, and control suppression.
Syntax is:
<Event> <duration in seconds> <frequency>
Commonly used events
  • Knocked 10 WhenInactive
  • Held 15 WhenInactive
  • Sleep 15 WhenInactive
  • Stunned 15 WhenInactive
  • Immobilized 15 WhenInactive
  • Terrorized 15 WhenInactive
  • ActivateAttackClick 4 Always
  • Attacked 10 Always
  • HitByFoe 10 Always
  • MissionObjectClick 10 Always
CancelEvents
Sets when a power is cancelled.
  • Damaged
  • Attacked
  • MissionObjectClick
  • Held
  • Stunned
  • Sleep
AllowCombatMods
Set to True if you want this attribmod to not get passed though the Combat Mods. Default is False.
CostumeName
This is the costume file name the target will change into.
EntityDef
For summoning pet powers only. The villain def name of the pet to be spawned.
PriorityList
For summoning pet powers only. The AI of the summoned pet.
  • PL_FightPreferMelee
  • PL_FightPreferRanged
  • PL_Untargetable_FightPreferRanged
  • PL_StaticObject
  • Pet
  • PL_Cured
Used for various instances that result in enemies getting transformed into another NPC type.
  • PL_UseAIConfig
  • PL_Neutral_Actor
  • "AlwaysHit(1),DoNotMove(1), CombatOverride(Aggressive)"
Only used in proposed Tower Defense instances for turret behavior control.
  • Combat
Delay
Time in seconds before the effect goes off.
Duration
For Magnitude Type Attrib Mods, How long the effect will last. For the Power, the Duration starts every ActivatePeriod; For the AttribMod, the Duration starts every Period (after any Delay). If set to 0, the effect will happen once for click powers. For toggle or auto powers, if both activate period and duration are set to 0, the effect will happen every tick (this is bad). Must be at least 0.125. A Dur of <.125 (e.g. 0), will be auto set to 0.125. For Duration Type Attrib Mode, Ignore This!
Magnitude
For Duration Type Attrib Mods. The amount a targets base value will increase by. For example, for Boolean effects, this number will increase the targets Base Value by this much. For Magnitude Type Attrib Mods, Ignore This!
StackType
How Duration effects will stack.
Stack Stacks up. Allow multiples effects to overlap. Default.
Ignore Ignore the new duplicate (no AttribMod added).
Extend Update the parameters in and extend the existing AttribMod.
Replace Update the parameters and replace the existing AttribMod.
Period
This dictates when, or how often Effect is activated. Time is in seconds.
Chance
The chance an effect will occur. 1=100%
NearGround
Set to True if you want the target to be on the ground to be effected. If all Attrib mods are set to NearGround=True, then the target of the power must also be on the ground in order for the power to activate.
CancelOnMiss
Mostly used in conjunction with Period and Duration and Chance: The effect will continue to activated every period for the life of the duration. If the effect fails Chance one period, the effect is cancelled if CancelonMiss is True.
RadiusInner/RadiusOuter
If the entity is in the power's overall effect area, and is between RadiusInner and RadiusOuter, then the AttribMod will be attached to the entity. Otherwise, it will not.

If you leave out the inner or outer radius, then the attribmod is not limited by the one left out. For example, if you have a RadiusInner but no RadiusOuter, then anyone inside RadiusInner won't get hit. Every outside the RadiusInner to infinity (or the edge of the Power's radius, actually) will get hit.

Attrib Requires
What is required for this attribmod to be applied to the target (an archetype, a villain group, class, or other limiters). Valid Operators are ||(or), &&(and), and !(not).
DisplayFloat
Optional text that will float over the affected targets head.
Effect AttackerHit Message
Caster gets this message when the Effect occurs - {PlayerSource} {PlayerDest} {Damage}
Effect VictimHit Message
Target gets this message when the Effect occurs - {PlayerSource} {PlayerDest} {Damage}
ContinuingBits
The animation file called for attribmods with a duration. Used for effects indicated by an animation like HOLD Animations. Currently, only used for resurrect powers. There are no animations that support this.
ContinuingFX
The FX file called for attribmods with a duration. Used for effects indicated by an FX like Stun or Burning.
ConditionalBits
For Boolean attrib mods. The animation file that will play when the targets Boolean level >1.
ConditionalFX
For Boolean attrib mods. The FX file that will play when the targets Boolean level >1