Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <<set setup.getValidTargets = function(ability, source) {
- var result = [];
- var abilityData = setup.abilities[ability];
- var party = State.variables.party;
- var enemies = State.variables.enemies;
- if(abilityData) {
- /* for now, just string "targets" property, so a switch will suffice */
- switch(abilityData.targets) {
- case "any_opponent":
- /* If the source is in $enemies, add any $party member that's alive; or vice versa */
- if(enemies.includes(source)) {
- result = result.concat(party.filter(function(m) { return m.HP > 0; }));
- } else {
- result = result.concat(enemies.filter(function(m) { return m.HP > 0; }));
- }
- break;
- case "lowest_hp_friendly":
- /* find the lowest HP non-dead "friendly" person */
- var hurtFriendly = undefined;
- if(enemies.includes(source)) {
- for(var i = 0; i < enemies.length; ++ i) {
- if(enemies[i].HP > 0) {
- if(!hurtFriendly || enemies[i].HP / enemies[i].MaxHP < hurtFriendly.HP / hurtFriendly.MaxHP) {
- hurtFriendly = enemies[i];
- }
- }
- }
- } else {
- for(var i = 0; i < party.length; ++ i) {
- if(party[i].HP > 0) {
- if(!hurtFriendly || party[i].HP / party[i].MaxHP < hurtFriendly.HP / hurtFriendly.MaxHP) {
- hurtFriendly = party[i];
- }
- }
- }
- }
- if(hurtFriendly) {
- /* We found someone hurt, add them to the results */
- result.push(hurtFriendly);
- }
- break;
- /* other types come later */
- }
- }
- return result;
- }>>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement