Difference between revisions of "FF7/DamageFormula"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>Akari
(Damage Formula's description)
my_wiki>Akari
(Damage Formula's description)
Line 4: Line 4:
 
0x11:
 
0x11:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
Damage Function 0x1
 
Damage Function 0x1
 
  
  
 
0xA0:
 
0xA0:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
Damage Function 0x1
 
Damage Function 0x1
Line 30: Line 29:
 
0xA1:
 
0xA1:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
Damage Function 0x1
 
Damage Function 0x1
Line 44: Line 43:
 
0xA2:
 
0xA2:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
Damage Function 0x1
 
Damage Function 0x1
Line 56: Line 55:
 
0xA3:
 
0xA3:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
power_modifier = total_level_of_all_enemy_target / number_of_enemy_target.
 
power_modifier = total_level_of_all_enemy_target / number_of_enemy_target.
Line 70: Line 69:
 
0xA4:
 
0xA4:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
power_modifier = 1 + (((current_hp * 3) / max_hp) * power_modifier).
 
power_modifier = 1 + (((current_hp * 3) / max_hp) * power_modifier).
Line 82: Line 81:
 
0xA5:
 
0xA5:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
power_modifier = 1 + (((current_mp * 3) / max_mp) * power_modifier).
 
power_modifier = 1 + (((current_mp * 3) / max_mp) * power_modifier).
Line 94: Line 93:
 
0xA6:
 
0xA6:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
power_modifier = 1 + (((total_ap / 10000) * power_modifier) / 16).
 
power_modifier = 1 + (((total_ap / 10000) * power_modifier) / 16).
Line 109: Line 108:
 
0xA7:
 
0xA7:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
power_modifier = 10 + (((number_of_kills / 128) * power_modifier) / 16).
 
power_modifier = 10 + (((number_of_kills / 128) * power_modifier) / 16).
Line 121: Line 120:
 
0xA8:
 
0xA8:
  
Prepare Function 0x0
+
Prepare Function 0x0 (calculate physical hit chance)
  
Prepare Function 0x2
+
Prepare Function 0x2 (calculate critical chance)
  
 
power_modifier = 1 + (((limit_bar_value * (limit_level + 1) / 16) * power_modifier) / 16).
 
power_modifier = 1 + (((limit_bar_value * (limit_level + 1) / 16) * power_modifier) / 16).
  
 
Damage Function 0x1
 
Damage Function 0x1

Revision as of 20:47, 21 December 2008

Damage Formula's description

0x11:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

Damage Function 0x1


0xA0:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

Damage Function 0x1

damage = damage * (1 + number_of_status1 + 2 * number_of_status2).

number_of_status1 are calculated as sum of attacker statuses darkness, slow, silence, sadness, poison, near death.

number_of_status2 are calculated as sum of attacker statuses death sentence, slow-numb.


0xA1:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

Damage Function 0x1

if current hp less then max hp / 4 then damage = damage * 2.

if attacker in death sentence then damage = damage * 4.


0xA2:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

Damage Function 0x1

damage = damage * (1 + number_of_dead_player_units).


0xA3:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

power_modifier = total_level_of_all_enemy_target / number_of_enemy_target.

(this only use enemy units from 4 to 10 that includes in target mask after all preparation)

Damage Function 0x1


0xA4:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

power_modifier = 1 + (((current_hp * 3) / max_hp) * power_modifier).

Damage Function 0x1


0xA5:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

power_modifier = 1 + (((current_mp * 3) / max_mp) * power_modifier).

Damage Function 0x1


0xA6:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

power_modifier = 1 + (((total_ap / 10000) * power_modifier) / 16).

(total_ap is no more than ap needed for max star, so underwater materia won't work)

Damage Function 0x1



0xA7:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

power_modifier = 10 + (((number_of_kills / 128) * power_modifier) / 16).

Damage Function 0x1


0xA8:

Prepare Function 0x0 (calculate physical hit chance)

Prepare Function 0x2 (calculate critical chance)

power_modifier = 1 + (((limit_bar_value * (limit_level + 1) / 16) * power_modifier) / 16).

Damage Function 0x1