Damage reduction

From Kolmafia
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Function Syntax

int damage_reduction()

Returns the damage that is deducted as a result of damage reduction effects.

Code Samples

The function will calculate the average damage you will take from each monster in a given location, if you are hit.

int damage_calculator (monster opponent) {
   int myMoxie = my_buffedstat($stat[moxie]);
   int monsterAttack = monster_attack(opponent);
   int bonusDamage = monsterAttack-myMoxie;
   if (bonusDamage < 0)
      bonusDamage = 0;
   float totalDamage = bonusDamage + monsterAttack*.225 - damage_reduction();
   totalDamage = totalDamage * (1 - damage_absorption_percent()/100);
   if (totalDamage < 0)
      totalDamage = 0;
   print("For "+opponent+": KoLMafia thinks you will take "+expected_damage(opponent)+" and calculator thinks "+totalDamage, "blue");
return round(totalDamage);
}

void location_damage (location place) {
   print(""+place+" has the following enemies that will deal the following average damage:", "purple");
   foreach mob, freq in appearance_rates(place) //Appearance rates is used to weed out bosses/one time specials/etc
      if (freq > 0) 
         print("The average damage a "+mob+" will deal to you is "+damage_calculator(mob)+".", "blue");
      
}
location_damage($location[The Black Forest]);

The formula used to calculate damage can be found Here Note: The example does not take in account using a shield with the passive Hero of the Half-Shell.

See Also

damage_absorption_percent() | raw_damage_absorption()

Special

Returns 0 when not logged in.