Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. <<set setup.getValidTargets = function(ability, source) {
  2. var result = [];
  3. var abilityData = setup.abilities[ability];
  4. var party = State.variables.party;
  5. var enemies = State.variables.enemies;
  6. if(abilityData) {
  7. /* for now, just string "targets" property, so a switch will suffice */
  8. switch(abilityData.targets) {
  9. case "any_opponent":
  10. /* If the source is in $enemies, add any $party member that's alive; or vice versa */
  11. if(enemies.includes(source)) {
  12. result = result.concat(party.filter(function(m) { return m.HP > 0; }));
  13. } else {
  14. result = result.concat(enemies.filter(function(m) { return m.HP > 0; }));
  15. }
  16. break;
  17. case "lowest_hp_friendly":
  18. /* find the lowest HP non-dead "friendly" person */
  19. var hurtFriendly = undefined;
  20. if(enemies.includes(source)) {
  21. for(var i = 0; i < enemies.length; ++ i) {
  22. if(enemies[i].HP > 0) {
  23. if(!hurtFriendly || enemies[i].HP / enemies[i].MaxHP < hurtFriendly.HP / hurtFriendly.MaxHP) {
  24. hurtFriendly = enemies[i];
  25. }
  26. }
  27. }
  28. } else {
  29. for(var i = 0; i < party.length; ++ i) {
  30. if(party[i].HP > 0) {
  31. if(!hurtFriendly || party[i].HP / party[i].MaxHP < hurtFriendly.HP / hurtFriendly.MaxHP) {
  32. hurtFriendly = party[i];
  33. }
  34. }
  35. }
  36. }
  37. if(hurtFriendly) {
  38. /* We found someone hurt, add them to the results */
  39. result.push(hurtFriendly);
  40. }
  41. break;
  42. /* other types come later */
  43. }
  44. }
  45. return result;
  46. }>>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement