Game mechanics: Difference between revisions

From Ephinea PSO Wiki
(Cleanup, restructuring and reformatting of ATP formulas)
Line 6: Line 6:
1. Begin by calculating the equipment [[ATP]] (EA):
1. Begin by calculating the equipment [[ATP]] (EA):


<code>EA = [MinWA + (Grind x 2) + FA + BaA] x [ATR + 1.0]</code>
<code>EA = [WA<sub>min</sub> + (Grind * 2) + FA + BaA] x [ATR + 1]</code>
* MinWA = Minimum possible weapon ATP
* WA<sub>min</sub> = Minimum possible weapon ATP
* FA = [[Frames|Frame]] ATP
* FA = [[Frames|Frame]] ATP
* BaA = [[Barriers|Barrier]] ATP
* BaA = [[Barriers|Barrier]] ATP
* ATR = Weapon [[Weapon attributes|attribute %]]
* ATR = Weapon [[Weapon attributes|attribute %]]


2. Next, calculate the bonuses from {{Shifta}} (SA) and ATP variance:
2. Next, calculate the Base ATP (BA):


<code>SA = [BA x Shifta] + [(Random Float) x (MWA - MinWA) x Shifta]</code>
<code>BA = BA<sub>max</sub> - CV</code>
* BA = [[Stats#Total_stats_and_base_stats|Base ATP]]
* BA<sub>max</sub> = ATP value displayed ingame in the Menu in brackets ([[Class_comparison#Stat comparison tables|see here for stat tables]])
* Random Float = A random value in range [0, 1) for the ATP variance per attack.
* CV = Class Variance, a random number between
* Shifta = {{Shifta|n}} [[Shifta#Level_progression|base power in %]]
**0 to 5 for [[Hunters]]
* MWA = Maximum possible weapon ATP
**0 to 3 for [[Rangers]]
**0 to 2 for [[Forces]]


3. Then, determine the minimum and maximum Variance (V):
3. Next, determine your final ATP by applying the {{Shifta}} (SA) bonus to BA and adding EA:


<code>V(min) = -CV</code>
<code>ATP = [BA + V * (WA<sub>max</sub> - WA<sub>min</sub>)] * (1 + SA) + EA</code>
* CV = [[Class_comparison#Maximum_stats|Class Variance]]
* SA = {{Shifta|n}} [[Shifta#Level_progression|base power in %]]
**5 for [[Hunters]]
* V = A random decimal between 0 and 1 for the weapon ATP variance per attack.
**3 for [[Rangers]]
* WA<sub>max</sub> = Maximum possible weapon ATP
**2 for [[Forces]]
<code>V(max) = MWA - MinWA</code>


4. To determine your final ATP, add your BA, EA, SA and V together:
4. Finally, to calculate your damage on an [[Monsters|enemy]]:
 
<code>ATP = BA + EA + SA + V</code>
* V is a random value between V(min) and V(max)
 
5. Finally, to calculate your damage on an [[Monsters|enemy]]:


<code>Damage = [(ATP - Enemy DFP)/5] x Attack modifier</code>
<code>Damage = [(ATP - Enemy DFP)/5] x Attack modifier</code>
Line 55: Line 49:


''Note: the formulas above show that a weapons attribute percentages are only applied to its minimum possible weapon ATP. E.g. if a weapon has 300-400 ATP and 100% in an attribute, the ATP is increased to 600-700 (not 600-800). The variable spread remains a fixed value.
''Note: the formulas above show that a weapons attribute percentages are only applied to its minimum possible weapon ATP. E.g. if a weapon has 300-400 ATP and 100% in an attribute, the ATP is increased to 600-700 (not 600-800). The variable spread remains a fixed value.
''Note: the ATP values shown ingame are always the maximum ATP values. E.g. for a [[HUcast]] with max ATP, a BA value of 1639 is shown in the menu in golden font. In reality, the value is randomly picked between [[Class_comparison#Maximum_stats|1634 to 1639]]. The same applies to weapons: a weapon with 900-950 ATP adds 950 to the total stats in the menu (the formulas above take all of this into consideration).


==Knockdown==
==Knockdown==

Revision as of 16:05, 19 December 2024

Compilation of formulas and other mechanics.

Physical damage

To calculate physical damage (i.e. any damage not resulting from a fire/electric special attack or a Technique):

1. Begin by calculating the equipment ATP (EA):

EA = [WAmin + (Grind * 2) + FA + BaA] x [ATR + 1]

2. Next, calculate the Base ATP (BA):

BA = BAmax - CV

3. Next, determine your final ATP by applying the Shifta.pngShifta (SA) bonus to BA and adding EA:

ATP = [BA + V * (WAmax - WAmin)] * (1 + SA) + EA

  • SA = Shifta.pngShifta base power in %
  • V = A random decimal between 0 and 1 for the weapon ATP variance per attack.
  • WAmax = Maximum possible weapon ATP

4. Finally, to calculate your damage on an enemy:

Damage = [(ATP - Enemy DFP)/5] x Attack modifier

  • Attack modifier is:

5a. If the attack is a critical hit, calculate critical damage:

Critical damage = Damage x 1.5

  • The chance for an attack to be a critical hit is calculated with the following formula:

Critical hit rate = [LCK / 5]%

Note: the game doesn't round up damage values and instead truncates them. E.g. if the final calculated damage is 100.92, the real damage output is 100.

Note: the formulas above show that a weapons attribute percentages are only applied to its minimum possible weapon ATP. E.g. if a weapon has 300-400 ATP and 100% in an attribute, the ATP is increased to 600-700 (not 600-800). The variable spread remains a fixed value.

Knockdown

Characters will be knocked down if a single attack does more than 25% of their max HP.

Accuracy

To calculate accuracy:

1. Begin by calculating "Effective" ATA:

Effective ATA = (Total ATA) * (Attack Type modifier) * (Combo Step modifier)

  • Attack Type modifier is:
    • Normal: 1.0
    • Heavy: 0.7
    • Special: 0.5
  • Combo Step modifier is:
    • First attack: 1.0
    • Second attack: 1.3
    • Third attack: 1.69

2. Next, calculate the enemy's "Effective" EVP:

Effective EVP = (Enemy EVP) * (Status Effect modifier)

3. Finally, calculate accuracy using the appropriate melee or ranged accuracy formula:

Melee Attack Accuracy = (Effective ATA) - ((Effective EVP) * 0.2)
Ranged Attack Accuracy = (Effective ATA) - ((Effective EVP) * 0.2) - (Distance Penalty)

  • The calculated numbers are percentages. For accuracy values above 100, the given attack hits 100%. For negative values, the attack always misses (0%).
  • Distance Penalty is Distance * 0.33 if the character is a Hunter or Force without Unit icon.pngSmartlink (see Smartlink page for more detail), and 0 otherwise.

The accuracy check does not occur for certain projectiles if the target has moved too far when the projectile reaches the target's hitbox. This distance is 8 units for bullets. If the target has moved towards the player when manual evasion occurs, the "MISS" text is displayed. Certain weapons create attacks with launcher projectiles that do not have a manual evasion check.

Slicer projectiles follow different rules for collision. The projectile must come within 10 units of its intended target's original position for any collision check to occur. When this condition is met, the projectile connects with the target if the distance between the target's hitbox and the slicer's original position is less than the weapon's max distance. Due to consideration of the target's hitbox, slicers rarely experience manual evasion on most enemies.

Projectiles that are both subject to manual evasion and specifically fired at a target will have a lifetime calculated by (Distance to Target) / Speed. It is possible for the game to destroy the projectile before it physically collides with the target's hitbox if the target was pushed back. There will be no "MISS" text in this case. This is commonly seen when using Heavy Attacks with weapons such as Gun icon.pngL&K38 Combat and Gun icon.pngYasminkov 9000M at a distance.

Techniques

Technique damage formula

[(MST + TBP)/5] x (1.0 + CB + WB + FB + MB) x (1 - RES)

Resta power

Amount healed by Resta.pngResta (including Leilla.pngLeilla Photon Blast):

MST * 0.5 + TBP

Technique Base Power

  • TLv = Technique level
Technique Base Power Formula TP Cost Formula
Foie.pngFoie

Lv. 1-15: [50 * (TLv - 1)] + 110
Lv. 16-30: [65 * (TLv - 1)] - 85

[1.3 * (TLv - 1)] + 5
Gifoie.pngGifoie

Lv. 1-15: [26 * (TLv - 1)] + 260
Lv. 16-30: [42 * (TLv - 1)] + 30

[0.37 x (TLv - 1)] + 20
Rafoie.pngRafoie

Lv. 1-15: [22 * (TLv - 1)] + 350
Lv. 16-30: [21 * (TLv - 1)] + 370

[0.25 * (TLv - 1)] + 30
Barta.pngBarta

Lv. 1-15: [50 * (TLv - 1)] + 50
Lv. 16-30: [63 * (TLv - 1)] - 125

[1.2 * (TLv - 1)] + 4
Gibarta.pngGibarta

Lv. 1-15: [24 * (TLv - 1)] + 230
Lv. 16-30: [40 * (TLv - 1)]

[0.5 * (TLv - 1)] + 25
Rabarta.pngRabarta

Lv. 1-15: [19 * (TLv - 1)] + 400
Lv. 16-30: [15 * (TLv - 1)] + 470

[0.2 * (TLv - 1)] + 35
Zonde.pngZonde

Lv. 1-15: [50 * (TLv - 1)] + 80
Lv. 16-30: [55 * (TLv - 1)] + 5

[1.1 * (TLv - 1)] + 6
Gizonde.pngGizonde

Lv. 1-15: [22 * (TLv - 1)] + 200
Lv. 16-30: [38 * (TLv - 1)] - 30

[0.6 * (TLv - 1)] + 25
Razonde.pngRazonde

Lv. 1-15: [16 * (TLv - 1)] + 450
Lv. 16-30: [8 * (TLv - 1)] + 565

[0.3 * (TLv - 1)] + 35
Grants.pngGrants

Lv. 1-15: [75 * (TLv - 1)] + 1180
Lv. 16-30: [60 * (TLv - 1)] + 1400

[1.1 * (TLv - 1)] + 45
Megid.pngMegid

Lv. 1-15: [3 * (TLv - 1)] + 27
Lv. 16-30: [2 * (TLv - 1)] + 42

[1.05 * (TLv - 1)] + 30
Resta.pngResta

Lv. 1-30: [5 * (TLv - 1)] + 50

[1.2 * (TLv - 1)] + 15
Anti.pngAnti - [0.5 * (TLv - 1)] + 10
Reverser.pngReverser - 20
Shifta.pngShifta

Lv. 1-30: [1.3 * (TLv - 1)] + 10
Duration: [10 * (TLv - 1)] + 30

[1.2 * (TLv - 1)] + 15
Deband.pngDeband

Lv. 1-30: [1.3 * (TLv - 1)] + 10
Duration: [10 * (TLv - 1)] + 30

[(TLv - 1)] + 10
Jellen.pngJellen

Lv. 1-30: [1.3 * (TLv - 1)] + 10
Duration: [10 * (TLv - 1)] + 30

[(TLv - 1)] + 10
Zalure.pngZalure

Lv. 1-30: [1.3 * (TLv - 1)] + 10
Duration: [10 * (TLv - 1)] + 30

[0.5 * (TLv - 1)] + 10
Ryuker.pngRyuker - 10

Special attacks

Main article: Special attacks

(See also: List of weapons with reduced specials)

Frame data

  • Phantasy Star Online Blue Burst runs at 30 frames per second ("FPS")
  • See Game mechanics/Frame data for individual weapon/technique frame data