|
|
(7 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| 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:
| | To edit a power definition ("powerset_name".powers) and apply those edits to a server environment, you need the definition files themselves found in faptastic.7z or the Volume 2 binning setup ([[Magnet Links]]) and (https://git.ourodev.com/CoX/i2401-bin-server) respectively, and a server to test the changes on. OuroDev primarily focuses only on Volume 2 servers, though i25p2 data files can be found here: https://git.ourodev.com/score/i25p2-bin-server. |
|
| |
|
| <nowiki>
| | ==Basic Power Modification:== |
| 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
| | #Open serverdata/Defs/powers |
| {
| | #Find the appropriate power definitions you want to change .e. (Blaster_Ranged_Archery.powers) |
| Name "Effect Name"
| | #Open in Notepad++ |
| Table "Table Name"
| | #CTRL+F for the power you are looking to change |
| Aspect text
| | #Scroll down to the attribute(s) that you wish to change. |
| 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
| |
| }</nowiki>
| |
|
| |
|
| ==Block 1: Power Facets==
| | *Range, Endurance cost, Recharge, etc. are found in the top block with the power name. |
|
| |
|
| ;Category
| | <nowiki> |
| :The category file that this power is linked with. It typically includes an archetype name followed by the primary function of the set.
| | Name "Dark_Blast" |
| | DisplayName "P369601562" |
| | ModesDisallowed kDisable_All, kSynergist_Transform_Mode |
| | Type kClick |
| | Accuracy 1 |
| | AttackTypes kRanged_Attack, kNegative_Energy_Attack |
| | EntsAffected kFoe |
| | EntsAutoHit kNone |
| | Target kFoe |
| | Range 80 |
| | EnduranceCost 5.2 |
| | IdeaCost 0 |
| | TravelSuppression 3 |
| | InterruptTime 0 |
| | TimeToActivate 1 |
| | RechargeTime 4 |
| | ActivatePeriod 0 |
| | EffectArea kCharacter |
| | Radius 0 |
| | Arc 0 |
| | BoostsAllowed kAccuracy_Boost, kDamage_Boost, kRecharge_Boost, kEnduranceDiscount_Boost, kRange_Boost, kDebuff_ToHit_Boost |
| | VisualFX "menu\Powers\AnimFX\PlayerPowers\DominatorAssault_DarknessAssault_DarkBlast.PFX" |
| | include menu\Powers\AnimFX\PlayerPowers\DominatorAssault_DarknessAssault_DarkBlast.PFX |
| | DisplayShortHelp "P4219235673" |
| | DisplayHelp "P2499574216" |
| | IconName "DarknessAssault_DarkBlast.tga" |
| | TimeToConfirm 0 |
| | DisplayTargetShortHelp "P2190949330" |
| | DisplayTargetHelp "P2735666026" |
| | </nowiki> |
|
| |
|
| ;Powerset
| | *Damage, secondary effects, heals, defense, resistances etc. are located in "AttribMod" blocks for those specific effects. |
| :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
| | <nowiki> |
| :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.|}
| | AttribMod |
| | { |
| | Name "Damage" |
| | Table "Ranged_Damage" |
| | Aspect kAbs |
| | Attrib knegative_Energy |
| | Target kTarget |
| | Scale 1 |
| | Type kMagnitude |
| | AllowStrength kTrue |
| | AllowResistance kTrue |
| | Delay 0 |
| | Duration 0 |
| | Magnitude 1 |
| | Period 0 |
| | Chance 1.00 |
| | NearGround kFalse |
| | CancelOnMiss kFalse |
| | DisplayAttackerHit "P1568870839" |
| | DisplayVictimHit "P4203961982" |
| | StackType kStack |
| | Requires enttype target> critter eq |
| | } |
| | </nowiki> |
|
| |
|
| ;DisplayName
| | :6. Find the aspect that you wish to change and edit the integer or string to the desired value. |
| :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). | | :7. Save the file. |
| | :8. Run mapserver.exe. As long as you have not changed any geos, the executable should recognize the change in the definition file and re-bin powers.bin. |
| | :9. Test your change--preferably using a different server--by copying your new powers.bin to data/bin and data/server/bin. |
|
| |
|
| ;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
| | ===Notes:=== |
| :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]. | |
|
| |
|
| {| class="wikitable" style="width: 85%;"
| | *All times (Duration, Recharge, Activation, Period, etc.) are in seconds. |
| | rowspan="4" | '''Common Modes'''
| | *Damage and Heal are scale values that get multiplied by archetype-specific modifiers and a generic base damage that scales with level. |
| | ''kDisable_All''
| | *Resistance, Defense, and other buffs/debuffs are percentages in decimal format (50% = 0.50). |
| | 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.
| |
| |-
| |
| | rowspan="9" | '''Transformation Modes'''
| |
| | ''kPeacebringer_Blaster_Mode''
| |
| | rowspan="4" | Kheldian-specific modes that control power availability while transformed.
| |
| |-
| |
| | ''kPeacebringer_Tanker_Mode''
| |
| |-
| |
| | ''kWarshade_Blaster_Mode''
| |
| |-
| |
| | ''kWarshade_Tanker_Mode''
| |
| |-
| |
| | ''kProwlerMode''
| |
| | rowspan="2" | Primalist-specific modes that control power availability while shapeshifted.
| |
| |-
| |
| | ''kHunterMode''
| |
| |-
| |
| | ''kHAC_Offense''
| |
| | rowspan="3" | Modes specific to Hyper-Advanced Clockwork that control power availability while in each combat mode.
| |
| |-
| |
| | ''kHAC_Defense''
| |
| |-
| |
| | ''kDisable_Juggernaut''
| |
| |}
| |
|
| |
|
| ;ModesRequired
| | ==Advanced Power Modification and Creation:== |
| : 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''.
| | The world of COH is now your sandbox, but if you desire to maintain a similar balance philosophy as the original developers used, the guidelines below will help to do so. |
|
| |
|
| ;Type
| | ===Modifying Accuracy and ToHit=== |
| :How the power is activated. May only be one of the following:
| |
| *''kAuto''
| |
| *''kToggle''
| |
| *''kClick''
| |
| *''kBoost (enhancement)''
| |
| *''kInspiration''
| |
|
| |
|
| ;Accuracy
| | Accuracy is the multiplier to the ToHit attribute in the equation to determine final hit chance. You may place any integer here, but are limited to a final result of min 0.05, max 0.95 as the result is clamped to those values. |
| :This is the multiplier to the ToHit attribute in the equation to determine final hit chance.
| |
|
| |
|
| ;AttackTypes
| | Hit chance equation for players: |
| :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).
| | <nowiki> |
| | (minmax((kCur.Accuracy char>*(1+kStr.Accuracy char>))*minmax((kCur.ToHit char> + kStr.ToHit char> - (kCur.Defense target> + kStr.Defense target>)) 0.05, 0.95) 0.05, 0.95) |
| | </nowiki> |
| | Where: |
|
| |
|
| *''kAOE_Attack'' | | *kCur.Accuracy = Power accuracy |
| *''kMelee_Attack'' | | *kStr.Accuracy = accuracy mods from (de)buffs |
| *''kRanged_Attack'' | | **For critters this includes bonuses from rank and level adjustments |
| *''kSmashing_Attack''
| | *kCur.ToHit = base ToHit for the entity type |
| *''kLethal_Attack''
| | **Critter v. Player = 0.50 |
| *''kFire_Attack'' | | **Player v Player = 0.50 |
| *''kCold_Attack'' | | **Player v. Critter = 0.75 |
| *''kEnergy_Attack'' | | *kStr.ToHit = ToHit mods from (de)buffs |
| *''kNegative_Energy_Attack'' | | *kCur.Defense = target defense |
| *''kPsionic_Attack'' | | *kStr.Defense = defense mods from (de)buffs |
| *''kToxic_Attack'' | |
| *''kSpecial_Attack'' | |
| *''kRadiation_Attack''
| |
| *''kElectrical_Attack'' | |
| *''kUnique1_Attack'' | |
| *''kUnique2_Attack'' | |
| *''kUnique3_Attack'' | |
|
| |
|
| ;GroupMembership
| | ===Modifying Endurance Costs=== |
| :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
| | Endurance cost is how much absolute Endurance is drained when the power is cast. It is a function of Damage and Area (for damage powers) or a function of Control Effect and Duration: |
| :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
| | :Endurance Cost for Damage powers |
| :What or who the power will affect. Multiple Targets may be listed here. Most values are shared between '''Target, EntsAutoHit''' and '''EntsAffected'''. | |
| {| class="wikitable" style="width: 85%;"
| |
| | ''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
| | <nowiki> |
| :See '''EntsAffected'''.
| | (Scale*10*((1+(Radius*0.15))-(((Radius/6)*0.011)/5)*(360-Arc)))*0.8</nowiki> |
|
| |
|
| ;Target
| | :<nowiki>*Rule of thumb: Double endurance cost or halve damage for each 20 points of Radius.</nowiki> |
| See '''EntsAffected'''.
| |
|
| |
|
| ;TargetVisibilty
| | :Endurance Cost for Control powers |
| Specify what kind of visibility between the caster and the target is required for successful execution of the power.
| |
| {| class="wikitable" style="width: 85%;"
| |
| | ''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
| | <nowiki> |
| :Maximum distance the caster can be from the target. Zero (0) for powers cast on self.
| | Duration*Strength(%)*Multiplier</nowiki> |
| | | {| class="wikitable" |
| ;EnduranceCost
| | !Effect |
| :How much absolute Endurance is drained when the power is cast. (0) for Auto powers.
| | !Dur |
| | | !% |
| ;TravelSuppression
| | !End |
| :Disables Movement attributes for travel powers.
| | !Multiplier |
| | |
| ;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:
| |
| {| class="wikitable" style="width: 85%;" | |
| | ''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'' | | |Snare |
| | The power affects all valid targets within a cone area. Area of the cone is determined by the Radius, Arc and Range. | | |10 |
| | |0.50 |
| | |7.5 |
| | |1.50 |
| |- | | |- |
| | ''Location'' | | |Slow |
| | The power affects a targeted Location in the world. Used often for summoning/dropping pets, and Teleporting among other things. | | |10 |
| | |0.50 |
| | |8.5 |
| | |1.75 |
| |- | | |- |
| | ''Volume'' | | |Immobilize (100% Snare) |
| | For Volume Geometry only. The power will fill the geometry the level designers build. Must be an Auto Power. (I.e. Dayjobs). | | |10 |
| | |1.00 |
| | |15 |
| | |1.50 |
| |- | | |- |
| | ''Map'' | | |Sleep |
| | The power affects a given map. Typically activated via a script in a different file. | | |10 |
| | |1.00 |
| | |10 |
| | |1.00 |
| |- | | |- |
| | ''Room'' | | |Stun (100% Slow) |
| | The power affects a specific room on a map. Typically activated via a script in a different file. | | |10 |
| | |1.00 |
| | |17.5 |
| | |1.75 |
| |- | | |- |
| | ''Touch'' | | |Hold |
| | unknown purpose. | | |10 |
| |- | | |1.00 |
| | ''Box'' | | |25 |
| | A specific area defined by offset and size values found in '''AdditionalPowerFacets'''. | | |2.50 |
| |} | | |} |
| | ===Modifying Recharge Time=== |
|
| |
|
| ;Radius
| | RechargeTime is the time it takes before a power can be activated again. It can either be a variable in a function of '''Damage''' and '''AreaFactor''' where '''Scale''' is calculated based on it, or vice versa. |
| :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
| | :''Recharge calculation'' |
| :If EffectArea is Cone, then this is the degrees of the Arc. | |
|
| |
|
| ;BoostsAllowed
| | <nowiki> |
| :What Enhancements (aka Boosts, Specializations) can be placed on this power. For Enhancements themselves, this colon dictates what kind of Boost it is.
| | ((((Scale*10)/2)-1.8)/0.8)*((1+(Radius*0.15))-(((Radius/6)*0.011)/5)*(360-Arc))</nowiki> |
| *''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=== | | ===Modifying Damage for PVE=== |
|
| |
|
| ;StrengthsDisallowed
| | Damage is an attribute modification that modifies the '''HitPoints''' attribute. It is applied by the game engine as a negative number, however the number that is seen onscreen is the resulting value after a series of calculations that originate with a generic HitPoints table. [Link to modifying HitPoints]. |
| :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
| | :''Damage Equation'' |
| ;If true, this power will point to another power(s) instead. Commonly used for sniped, assassin strikes, and Primalist powers.
| |
| *''kTrue''
| |
| *''kFalse''
| |
|
| |
|
| ;VisualFX
| | <nowiki> |
| :The PFX file called for the Power. Commonly found in "menu\Powers\AnimFX\PlayerPowers".
| | @StdResult*Scale</nowiki> |
|
| |
|
| ;DisplayShortHelp
| | @StdResult = value of the corresponding archetype-specific damage table (Melee_Damage, Melee_TempDamage, Ranged_Damage, or Ranged_TempDamage) at a given level. |
| :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
| | https://docs.google.com/spreadsheets/d/1MayhxCH_n0F396ad_cFz2dvqmEydpGUWHKHfeeXKO8A/edit?usp=drivesdk |
| :Long help strings. Description of power and what it does. | |
|
| |
|
| ;IconName
| | Scale = the modifier for a given damage type. May be set manually or determined as a result of the '''RechargeTime equation''': |
| :Name of the Icon File.
| |
|
| |
|
| ;MaxTargetsHit
| | <nowiki> |
| :Max number of targets will be affected (not the max number hit) by an AoE power.
| | (((RechargeTime*0.8+1.8)*2)/((1+(Radius*0.15))-(((Radius/6)*0.011)/5)*(360-Arc)))/10</nowiki> |
|
| |
|
| ;MaxBoosts
| | ===Modifying Damage for PVP=== |
| :Maximum number of Enhancement Slots that can be put in this power (default is 6).
| |
|
| |
|
| ;AIReport
| | Design philosophy for PVP damage is a bit different than for PVE. Rather than basing damage around Recharge and AreaFactor, PVP damage is calculated based on Cast Time and Recharge, then modified by a PVP-specific table. |
| :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
| | :''Damage scale equation for PVP'' |
| :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''
| |
|
| |
|
| | <nowiki> |
| | (CastTime*0.7+RechargeTime*0.04+0.4)*AdjustedATDamageMod*DamageType%*(1/3.25)</nowiki> |
|
| |
|
| ;CastThroughStun
| | *Note: DamageType% is used for powers that deal multiple types of Damage and simply multiplies the total Scale by the percentage that the given type accounts for. |
| :This power can be cast even is the target is Stunned. Default is False. | |
| *''kTrue''
| |
| *''kFalse''
| |
|
| |
|
| | | {| class="wikitable" |
| ;CastThroughTerrorize
| | !PVP Damage Modifiers |
| :This power can be cast even is the target is Terrorized. Default is False.
| | !Normal damage offset |
| *''kTrue''
| | !Activation Time damage adjustment |
| *''kFalse''
| | !Recharge damage adjustment |
| | | !AT Mod damage adjustment |
| | |
| ;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:
| |
| {| class="wikitable" style="width: 85%;" | |
| | ''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:
| |
| {| class="wikitable" style="width: 85%;"
| |
| | ''ToggleIgnoreHold''
| |
| | rowspan="3" | These booleans determine if the power is detoggled when held, slept or stunned. Assume false if missing. '''Toggles only'''.
| |
| |-
| |
| | ''ToggleIgnoreSleep''
| |
| |-
| |
| | ''ToggleIgnoreStun''
| |
| |-
| |
| | ''BoxOffset''
| |
| | rowspan="2" | 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.
| |
| |-
| |
| | rowspan="5" | ToggleDroppable
| |
| | rowspan="5" | 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''
| |
| | rowspan="3" | 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''
| |
| | rowspan="4" | Controls for a camera effect.
| |
| |-
| |
| | ''PositionDistance''
| |
| |-
| |
| | ''PositionHeight''
| |
| |-
| |
| | ''PositionYaw''
| |
| |- | | |- |
| | ''FaceTarget'' | | |Tanker |
| | Boolean to face the target when firing. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.267988141 |
| |- | | |- |
| | ''FloatRewarded'' | | |Scrapper |
| | Message floated on screen when this power is granted as reward. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.147593307 |
| |- | | |- |
| | ''DisplayPowerDefenseFloat'' | | |Blaster |
| | Message to float when this power is the defensive cause of a missed attack if attribmod doesn't specify its own float. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.229564258 |
| |- | | |- |
| | ''ActivateRequires'' | | |Defender |
| | A requirement check for activation. Follows the same rules as '''BuyRequires'''. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.560600789 |
| |- | | |- |
| | ''TargetRequires'' | | |Controller |
| |An evaluator for a target to be valid. If empty, there are no requirements. Most commonly used for Inherent abilities. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.676678533 |
| |- | | |- |
| | ''RewardRequires'' | | |Brute |
| | Requirement to be awarded the power through the reward system. If blank, there are no requirements. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.352520684 |
| |- | | |- |
| | ''RewardFallback'' | | |Stalker |
| | The power that will be awarded if this power's requirements aren't met. If blank, none will be awarded. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.014390513 |
| |- | | |- |
| | ''SelfConfirm'' | | |Corrupter |
| | If 1, will ask the caster for confirmation. Default behavior excludes caster. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.352520684 |
| |- | | |- |
| | ''ConfirmRequires'' | | |Dominator |
| | If the target fails this requirement, they auto-confirm. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.4 |
| |- | | |- |
| | ''ProcMainTargetOnly'' | | |Mastermind |
| | Boolean to set if only main target is hit by attached procs. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.50901068 |
| |- | | |- |
| | ''PreferenceMultiplier'' | | |Kheld |
| | Seems to be used for weighting preference for AI. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.2 |
| |- | | |- |
| | ''DontSetStance'' | | |Veat |
| | May have something to do with AI or Mastermind pet stance? Default 1. | | |0.4 |
| | |0.7 |
| | |0.04 |
| | |1.014390513 |
| |- | | |- |
| | ''PointValue'' | | |Pet |
| | rowspan="2" | Value of power. Point value/multiplier is only used in AE. | | |0.4 |
| |-
| | |0.7 |
| | ''PointMultiplier''
| | |0.04 |
| |-
| | |1 |
| | ''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''
| |
| | Seems to be tied to the popup tray for temp powers that are in some missions.
| |
| |-
| |
| | ''AbusiveBuff''
| |
| | If true, attrib mods applied by this power will be cleared whenever entering a map that uses eRAT_ClearAbusiveBuffs
| |
| |} | | |} |
| | | ===Modifying Armor=== |
| ===Example Power Definition=== | | ===Modifying (De)Buffs=== |
| | | ===Modifying HitPoints=== |
| <nowiki>
| |
| 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
| |
| }
| |
| }
| |
| </nowiki>
| |
| | |
| 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).
| |
To edit a power definition ("powerset_name".powers) and apply those edits to a server environment, you need the definition files themselves found in faptastic.7z or the Volume 2 binning setup (Magnet Links) and (https://git.ourodev.com/CoX/i2401-bin-server) respectively, and a server to test the changes on. OuroDev primarily focuses only on Volume 2 servers, though i25p2 data files can be found here: https://git.ourodev.com/score/i25p2-bin-server.
Basic Power Modification:
- Open serverdata/Defs/powers
- Find the appropriate power definitions you want to change .e. (Blaster_Ranged_Archery.powers)
- Open in Notepad++
- CTRL+F for the power you are looking to change
- Scroll down to the attribute(s) that you wish to change.
- Range, Endurance cost, Recharge, etc. are found in the top block with the power name.
Name "Dark_Blast"
DisplayName "P369601562"
ModesDisallowed kDisable_All, kSynergist_Transform_Mode
Type kClick
Accuracy 1
AttackTypes kRanged_Attack, kNegative_Energy_Attack
EntsAffected kFoe
EntsAutoHit kNone
Target kFoe
Range 80
EnduranceCost 5.2
IdeaCost 0
TravelSuppression 3
InterruptTime 0
TimeToActivate 1
RechargeTime 4
ActivatePeriod 0
EffectArea kCharacter
Radius 0
Arc 0
BoostsAllowed kAccuracy_Boost, kDamage_Boost, kRecharge_Boost, kEnduranceDiscount_Boost, kRange_Boost, kDebuff_ToHit_Boost
VisualFX "menu\Powers\AnimFX\PlayerPowers\DominatorAssault_DarknessAssault_DarkBlast.PFX"
include menu\Powers\AnimFX\PlayerPowers\DominatorAssault_DarknessAssault_DarkBlast.PFX
DisplayShortHelp "P4219235673"
DisplayHelp "P2499574216"
IconName "DarknessAssault_DarkBlast.tga"
TimeToConfirm 0
DisplayTargetShortHelp "P2190949330"
DisplayTargetHelp "P2735666026"
- Damage, secondary effects, heals, defense, resistances etc. are located in "AttribMod" blocks for those specific effects.
AttribMod
{
Name "Damage"
Table "Ranged_Damage"
Aspect kAbs
Attrib knegative_Energy
Target kTarget
Scale 1
Type kMagnitude
AllowStrength kTrue
AllowResistance kTrue
Delay 0
Duration 0
Magnitude 1
Period 0
Chance 1.00
NearGround kFalse
CancelOnMiss kFalse
DisplayAttackerHit "P1568870839"
DisplayVictimHit "P4203961982"
StackType kStack
Requires enttype target> critter eq
}
- 6. Find the aspect that you wish to change and edit the integer or string to the desired value.
- 7. Save the file.
- 8. Run mapserver.exe. As long as you have not changed any geos, the executable should recognize the change in the definition file and re-bin powers.bin.
- 9. Test your change--preferably using a different server--by copying your new powers.bin to data/bin and data/server/bin.
Notes:
- All times (Duration, Recharge, Activation, Period, etc.) are in seconds.
- Damage and Heal are scale values that get multiplied by archetype-specific modifiers and a generic base damage that scales with level.
- Resistance, Defense, and other buffs/debuffs are percentages in decimal format (50% = 0.50).
Advanced Power Modification and Creation:
The world of COH is now your sandbox, but if you desire to maintain a similar balance philosophy as the original developers used, the guidelines below will help to do so.
Modifying Accuracy and ToHit
Accuracy is the multiplier to the ToHit attribute in the equation to determine final hit chance. You may place any integer here, but are limited to a final result of min 0.05, max 0.95 as the result is clamped to those values.
Hit chance equation for players:
(minmax((kCur.Accuracy char>*(1+kStr.Accuracy char>))*minmax((kCur.ToHit char> + kStr.ToHit char> - (kCur.Defense target> + kStr.Defense target>)) 0.05, 0.95) 0.05, 0.95)
Where:
- kCur.Accuracy = Power accuracy
- kStr.Accuracy = accuracy mods from (de)buffs
- For critters this includes bonuses from rank and level adjustments
- kCur.ToHit = base ToHit for the entity type
- Critter v. Player = 0.50
- Player v Player = 0.50
- Player v. Critter = 0.75
- kStr.ToHit = ToHit mods from (de)buffs
- kCur.Defense = target defense
- kStr.Defense = defense mods from (de)buffs
Modifying Endurance Costs
Endurance cost is how much absolute Endurance is drained when the power is cast. It is a function of Damage and Area (for damage powers) or a function of Control Effect and Duration:
- Endurance Cost for Damage powers
(Scale*10*((1+(Radius*0.15))-(((Radius/6)*0.011)/5)*(360-Arc)))*0.8
- *Rule of thumb: Double endurance cost or halve damage for each 20 points of Radius.
- Endurance Cost for Control powers
Duration*Strength(%)*Multiplier
Effect
|
Dur
|
%
|
End
|
Multiplier
|
Snare
|
10
|
0.50
|
7.5
|
1.50
|
Slow
|
10
|
0.50
|
8.5
|
1.75
|
Immobilize (100% Snare)
|
10
|
1.00
|
15
|
1.50
|
Sleep
|
10
|
1.00
|
10
|
1.00
|
Stun (100% Slow)
|
10
|
1.00
|
17.5
|
1.75
|
Hold
|
10
|
1.00
|
25
|
2.50
|
Modifying Recharge Time
RechargeTime is the time it takes before a power can be activated again. It can either be a variable in a function of Damage and AreaFactor where Scale is calculated based on it, or vice versa.
- Recharge calculation
((((Scale*10)/2)-1.8)/0.8)*((1+(Radius*0.15))-(((Radius/6)*0.011)/5)*(360-Arc))
Modifying Damage for PVE
Damage is an attribute modification that modifies the HitPoints attribute. It is applied by the game engine as a negative number, however the number that is seen onscreen is the resulting value after a series of calculations that originate with a generic HitPoints table. [Link to modifying HitPoints].
- Damage Equation
@StdResult*Scale
@StdResult = value of the corresponding archetype-specific damage table (Melee_Damage, Melee_TempDamage, Ranged_Damage, or Ranged_TempDamage) at a given level.
https://docs.google.com/spreadsheets/d/1MayhxCH_n0F396ad_cFz2dvqmEydpGUWHKHfeeXKO8A/edit?usp=drivesdk
Scale = the modifier for a given damage type. May be set manually or determined as a result of the RechargeTime equation:
(((RechargeTime*0.8+1.8)*2)/((1+(Radius*0.15))-(((Radius/6)*0.011)/5)*(360-Arc)))/10
Modifying Damage for PVP
Design philosophy for PVP damage is a bit different than for PVE. Rather than basing damage around Recharge and AreaFactor, PVP damage is calculated based on Cast Time and Recharge, then modified by a PVP-specific table.
- Damage scale equation for PVP
(CastTime*0.7+RechargeTime*0.04+0.4)*AdjustedATDamageMod*DamageType%*(1/3.25)
- Note: DamageType% is used for powers that deal multiple types of Damage and simply multiplies the total Scale by the percentage that the given type accounts for.
PVP Damage Modifiers
|
Normal damage offset
|
Activation Time damage adjustment
|
Recharge damage adjustment
|
AT Mod damage adjustment
|
Tanker
|
0.4
|
0.7
|
0.04
|
1.267988141
|
Scrapper
|
0.4
|
0.7
|
0.04
|
1.147593307
|
Blaster
|
0.4
|
0.7
|
0.04
|
1.229564258
|
Defender
|
0.4
|
0.7
|
0.04
|
1.560600789
|
Controller
|
0.4
|
0.7
|
0.04
|
1.676678533
|
Brute
|
0.4
|
0.7
|
0.04
|
1.352520684
|
Stalker
|
0.4
|
0.7
|
0.04
|
1.014390513
|
Corrupter
|
0.4
|
0.7
|
0.04
|
1.352520684
|
Dominator
|
0.4
|
0.7
|
0.04
|
1.4
|
Mastermind
|
0.4
|
0.7
|
0.04
|
1.50901068
|
Kheld
|
0.4
|
0.7
|
0.04
|
1.2
|
Veat
|
0.4
|
0.7
|
0.04
|
1.014390513
|
Pet
|
0.4
|
0.7
|
0.04
|
1
|
Modifying Armor
Modifying (De)Buffs
Modifying HitPoints