25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

40 lines
772 B

  1. //Imports
  2. const avoid = require('./avoid');
  3. const scale = require('./scale');
  4. const mitigate = require('./mitigate');
  5. //Method
  6. const getDamage = config => {
  7. const { damage, element } = config;
  8. //Add convenience properties
  9. config.srcValues = config.source.stats.values;
  10. config.tgtValues = config.target.stats.values;
  11. if (element)
  12. config.elementName = `element${element[0].toUpperCase()}${element.substr(1)}`;
  13. const result = {
  14. amount: damage,
  15. blocked: false,
  16. dodged: false,
  17. crit: false,
  18. element
  19. };
  20. avoid(config, result);
  21. scale(config, result);
  22. mitigate(config, result);
  23. //Remove convenience properties
  24. delete config.srcValues;
  25. delete config.tgtValues;
  26. delete config.elementName;
  27. return result;
  28. };
  29. //Exports
  30. module.exports = {
  31. getDamage
  32. };