Games:  Legacy Online | Legacy Dev Hunted Cow Studios 



Difference between revisions of "Fighting"

To Login to the wiki, use your username for Legacy and then go here to get your temporary password. - Will (talk)

From Legacy Wiki

Jump to: navigation, search
m
Line 9: Line 9:
 
Player vs Player fights and Player vs NPC fights are determined by a comparison of stats, some random numbers and some equations. When you attempt to hit your enemy the process runs something like this.
 
Player vs Player fights and Player vs NPC fights are determined by a comparison of stats, some random numbers and some equations. When you attempt to hit your enemy the process runs something like this.
  
<span class="boxtitle">1. Stat Totals</span>
+
==Stat Totals==
  
 
The current value for each of your respective stats is calculated in the order shown below for both yourself and your opponent.
 
The current value for each of your respective stats is calculated in the order shown below for both yourself and your opponent.
Line 24: Line 24:
  
  
<span class="boxtitle">1. Percentages Calculated</span>
+
==Percentages Calculated==
  
 
The game then takes the above information and determines your percentage chance to hit and damage. This percentage is not used further by the script it is only displayed to players so they may understand what is going on more clearly. The scripted algorithm used to determine a percentage chance to hit or damage is shown below.
 
The game then takes the above information and determines your percentage chance to hit and damage. This percentage is not used further by the script it is only displayed to players so they may understand what is going on more clearly. The scripted algorithm used to determine a percentage chance to hit or damage is shown below.
Line 41: Line 41:
 
}
 
}
  
 
+
== Determine First Hit==
<span class="boxtitle">2. Determine First Hit</span>
+
  
 
This is a basic comparison of the attacker and defenders Speed stat. The player with the highest speed gets the first hit, if both speeds are equal the attacker hits first.
 
This is a basic comparison of the attacker and defenders Speed stat. The player with the highest speed gets the first hit, if both speeds are equal the attacker hits first.
  
 +
== Determine Hit==
  
<span class="boxtitle">3. Determine Hit</span>
+
To determine if a player hits or misses an opponent their Accuracy stat is compared to their opponents Dodge stat with a degree of randomness using the following calculation:
  
To determine if a player hits or misses an opponent their Accuracy stat is compared to their opponents Dodge stat with a degree of randomness. The basic equation used for this comparison is.
+
<font color="#9999FF">x</font> = random(<font color="#FF5555">accuracy</font>/4, <font color="#FF5555">accuracy</font>) - random(<font color="#55FF55">dodge</font>/4, <font color="#55FF55">dodge</font>)<br>
 
+
<font color="#FF5555">a</font> = Offensive Stat (Accuracy or Weapon Hit Skill)<br>
+
<font color="#55FF55">d</font> = Defensive Stat (Dodge or Defense Skill)
+
 
+
<font color="#9999FF">x</font> = random ( ( <font color="#FF5555">a</font> / 4 ), <font color="#FF5555">a</font> ) - random ( ( <font color="#55FF55">d</font> / 4 ), <font color="#55FF55">d</font> )
+
 
if ( <font color="#9999FF">x</font> > 0 ) Hit Scored
 
if ( <font color="#9999FF">x</font> > 0 ) Hit Scored
  
In basic terms your Accuracy is turned in to a random number from 25% its value up to 100% its value and compared with the opponents Dodge which is randomized in the same way. So if you have 100 as a stat this random number could be anywhere between 25 and 100.
+
The game calculates a random number between 25% of the attacker's Accuracy and 100% of the attacker's Accuracy e.g. if your Accuracy was 100 it would return a random number between 25 and 100. The game then calculates a random number between 25% of the defender's Dodge and 100% of the defender's Dodge e.g. if their Dodge was 100 it would return a random number between 25 and 100. The game then compares these values, and if the Accuracy value is higher than the Dodge value, a hit is scored.
  
 
If a hit is scored, the same is then done for Weapon Skill vs Defense skill. This determines if you do damage or not, if successful a hit will be scored and damage calculated. Failure at this stage results in a "You hit but did no damage." message.
 
If a hit is scored, the same is then done for Weapon Skill vs Defense skill. This determines if you do damage or not, if successful a hit will be scored and damage calculated. Failure at this stage results in a "You hit but did no damage." message.
  
 
+
==Determine Damage==
<span class="boxtitle">4. Determine Damage</span>
+
  
 
If you won both the above rolls you scored a damaging hit on your opponent, the amount of Damage done is determined by your Weapon Damage compared to your opponents Armor.
 
If you won both the above rolls you scored a damaging hit on your opponent, the amount of Damage done is determined by your Weapon Damage compared to your opponents Armor.
Line 82: Line 76:
 
The round function rounds to the nearest whole number, the floor function always rounds down. The point of this is even if your opponents armor is far superior to your weapons, a damaging hit will still do 40% of your weapons damage at least.
 
The round function rounds to the nearest whole number, the floor function always rounds down. The point of this is even if your opponents armor is far superior to your weapons, a damaging hit will still do 40% of your weapons damage at least.
  
 
+
==Double Hits==
<span class="boxtitle">5. Double Hits</span>
+
  
 
This whole process is done twice (once for each weapon), the total stats from all equipped items are added up apart from Armor which only comes from your current armor item and weapon damage which only comes from the attacking weapon. If both hit and damage you score a double hit. The end damage is then deducted from your opponents hit points, if they're still alive they will hit back (if they have the second attack).
 
This whole process is done twice (once for each weapon), the total stats from all equipped items are added up apart from Armor which only comes from your current armor item and weapon damage which only comes from the attacking weapon. If both hit and damage you score a double hit. The end damage is then deducted from your opponents hit points, if they're still alive they will hit back (if they have the second attack).

Revision as of 08:13, 15 October 2021

Character2.gifFighting.gifCommunity.gifSettings.gifQuicklinks.gif

Screenshot of Fighting drop-down menu.

The Fighting drop-down menu contains links to many combative aspects of Legacy. It is the second drop-down menu from the left and is located at the top of the screen, right below the combat log. It provides links to:


Player vs Player fights and Player vs NPC fights are determined by a comparison of stats, some random numbers and some equations. When you attempt to hit your enemy the process runs something like this.

Stat Totals

The current value for each of your respective stats is calculated in the order shown below for both yourself and your opponent.

  • Base Character Stats.
  • Adjustments made based on chosen attack type. (Quick Attack, Aimed Attack, Take Cover)
  • + Stats from all equipped Items.
  • + Stats from trained Abilities that grant bonuses.
  • + Stat bonus from any friendly Warfare Structures in your location.
  • + Bonus stats granted from any staff favor you have.
  • - Any penalty from a staff disfavor you may have.
  • - Any penalty to stats from warfare fatigue.
  • + Bonus from any friendly effect like Alien Artifact armor bonus.


Percentages Calculated

The game then takes the above information and determines your percentage chance to hit and damage. This percentage is not used further by the script it is only displayed to players so they may understand what is going on more clearly. The scripted algorithm used to determine a percentage chance to hit or damage is shown below.

a = Offensive Stat (Accuracy or Weapon Hit Skill)
d = Defensive Stat (Dodge or Defense Skill)

if (d > a) {
  x = ( a + 1 ) - ( d / 4 )
  if ( x < 0 ) x = 0
  percentage = ( ( ( x ) * ( x / 2 ) ) / ( ( ( d + 1 ) - ( d / 4 ) ) * ( ( a + 1 ) - ( a / 4 ) ) ) ) * 100
} else {
  x = ( d + 1 ) - ( a / 4 )
  if ( x < 0 ) x = 0
  percentage = ( ( ( ( ( d + 1 ) - ( d / 4 ) ) * ( ( a + 1 ) - ( a / 4 ) ) ) - ( ( x ) * ( x / 2 ) ) ) / ( ( ( d + 1 ) - ( d / 4 ) ) * ( ( a + 1 ) - ( a / 4 ) ) ) ) * 100
}

Determine First Hit

This is a basic comparison of the attacker and defenders Speed stat. The player with the highest speed gets the first hit, if both speeds are equal the attacker hits first.

Determine Hit

To determine if a player hits or misses an opponent their Accuracy stat is compared to their opponents Dodge stat with a degree of randomness using the following calculation:

x = random(accuracy/4, accuracy) - random(dodge/4, dodge)
if ( x > 0 ) Hit Scored

The game calculates a random number between 25% of the attacker's Accuracy and 100% of the attacker's Accuracy e.g. if your Accuracy was 100 it would return a random number between 25 and 100. The game then calculates a random number between 25% of the defender's Dodge and 100% of the defender's Dodge e.g. if their Dodge was 100 it would return a random number between 25 and 100. The game then compares these values, and if the Accuracy value is higher than the Dodge value, a hit is scored.

If a hit is scored, the same is then done for Weapon Skill vs Defense skill. This determines if you do damage or not, if successful a hit will be scored and damage calculated. Failure at this stage results in a "You hit but did no damage." message.

Determine Damage

If you won both the above rolls you scored a damaging hit on your opponent, the amount of Damage done is determined by your Weapon Damage compared to your opponents Armor.

The weapon damage is randomized between the minimum and maximum damage value of your current weapon. (Each attack pageconsists of 2 attacks, 1 with each weapon). The damage done is then decreased to match the amount absorbed by your opponents armor.

Armor absorbs damage equal to its value but cannot absorb more than 60% of the damage done. The scripting that determines absorbtion is shown below.

min = Current weapons mininum damage
max = Current weapons maximum damage
armor = Opponents armor value

damage = round ( random ( min, max) );
if ( ( damage* 0.6 ) < armor) absorb = floor ( damage* 0.6 )
else absorb= armor

damage = damage - absorb

The round function rounds to the nearest whole number, the floor function always rounds down. The point of this is even if your opponents armor is far superior to your weapons, a damaging hit will still do 40% of your weapons damage at least.

Double Hits

This whole process is done twice (once for each weapon), the total stats from all equipped items are added up apart from Armor which only comes from your current armor item and weapon damage which only comes from the attacking weapon. If both hit and damage you score a double hit. The end damage is then deducted from your opponents hit points, if they're still alive they will hit back (if they have the second attack).