Power: Difference between revisions
pc>Brw316 No edit summary |
m 2 revisions imported: Importing Portal Corps Wiki pages and history - Feb 6, 2020 |
||
(No difference)
|
Latest revision as of 10:02, 6 February 2020
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 ==
- If BuyRequires is a power:
- -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