Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

48 righe
969 B

  1. define([
  2. ], function (
  3. ) {
  4. return {
  5. events: {
  6. onGetText: function (item) {
  7. var rolls = item.effects.find(e => (e.type == 'healOnCrit')).rolls;
  8. var chance = rolls.chance || 100;
  9. var amount = rolls.amount;
  10. var percentage = rolls.percentage;
  11. var text = '';
  12. if (chance < 100)
  13. text = `${chance}% chance to heal on crit for `;
  14. else
  15. text = `critical hits heal you for `;
  16. if (percentage)
  17. text += `${percentage}% of damage dealt`;
  18. else
  19. text += `${amount || '?'} health`;
  20. return text;
  21. },
  22. afterDealDamage: function (item, damage, target) {
  23. if (!damage.crit)
  24. return;
  25. var rolls = item.effects.find(e => (e.type == 'healOnCrit')).rolls;
  26. var chanceRoll = Math.random() * 100;
  27. if (chanceRoll >= (rolls.chance || 100))
  28. return;
  29. var amount = rolls.amount || ((damage.dealt / 100) * rolls.percentage);
  30. this.stats.getHp({
  31. amount: amount
  32. }, this);
  33. }
  34. }
  35. };
  36. });