Powers: Difference between revisions

From OuroDev
pc>Brw316
No edit summary
pc>Brw316
No edit summary
Line 78: Line 78:


==Advanced Power Modification and Creation:==
==Advanced Power Modification and Creation:==
'''TODO'''
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.
 
===Attributes===
 
;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:
<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:
*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
<nowiki>
(Scale*10*((1+(Radius*0.15))-(((Radius/6)*0.011)/5)*(360-Arc)))*0.8</nowiki>
 
: *Rule of thumb: Double endurance cost or halve damage for each 20 points of Radius.
 
: Endurance Cost for Control powers
<nowiki>
Duration*Strength(%)*Multiplier</nowiki>
{| class="wikitable"
! 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
|}

Revision as of 02:06, 23 November 2019

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 (https://ourowiki.ouro-comdev.com/index.php?title=Magnet_Links), a binning setup (https://corps.ouro-comdev.com/index.php?title=Server_Setup_for_Making_Bins), and a server to test the changes on. Unfortunately, only servers running an Issue 24 setup can make such changes as the definition files for Issue 25 and 26 are unavailable for public use.

Basic Power Modification:

  1. Open serverdata/Defs/powers
  2. Find the appropriate power definitions you want to change .e. (Blaster_Ranged_Archery.powers)
  3. Open in Notepad++
  4. CTRL+F for the power you are looking to change
  5. 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.

Attributes

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