diff --git a/client/src/scenes/combat.skills.js b/client/src/scenes/combat.skills.js index 18805249..912dfbbd 100644 --- a/client/src/scenes/combat.skills.js +++ b/client/src/scenes/combat.skills.js @@ -234,8 +234,10 @@ class CombatSkills extends Phaser.Scene { const skillPos = targetTextPosition(iter, team); const skillObj = new CrypSkill(this, skillPos[0], skillPos[1], skill, cryp); this.add.existing(skillObj); + // Don't add interaction for self_target skills - if (skill.self_targeting) { + const crypSkill = cryp.skills.find(s => s.skill === skill.skill); + if (crypSkill.self_targeting) { skillObj.skillBox.setFillStyle(0x9d9ea0); } else { this.input.setDraggable(skillObj); diff --git a/server/src/skill.rs b/server/src/skill.rs index 0cf2f011..402ae3cd 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -640,7 +640,7 @@ impl Skill { Skill::Strangle => panic!("nyi"), // no physical moves Skill::Stun => stun(cryp, target, resolution), - Skill::Evasion => panic!("nyi"), // additional layer of dmg avoidance + Skill::Evasion => evade(cryp, target, resolution), // additional layer of dmg avoidance // ----------------- // Technology @@ -733,6 +733,8 @@ impl Skill { pub fn self_targeting(&self) -> bool { match self { Skill::Block => true, + Skill::Evasion => true, + Skill::Parry => true, Skill::TestBlock => true, _ => false, }