diff options
| author | troido <troido@protonmail.com> | 2020-03-02 12:02:54 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-03-02 12:02:54 +0100 |
| commit | 27c0795fb70739ce5609a0f424d80491d4a8c5a1 (patch) | |
| tree | 1a6ab802edb717a42ca67a8d997cf960d7f4f5ed /src/systems/fight.rs | |
| parent | d246537a28a7a71dfb2487d31d6fac3ccab5053d (diff) | |
added monster ai
Diffstat (limited to 'src/systems/fight.rs')
| -rw-r--r-- | src/systems/fight.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/systems/fight.rs b/src/systems/fight.rs index 182dba6..703ea4a 100644 --- a/src/systems/fight.rs +++ b/src/systems/fight.rs @@ -52,7 +52,17 @@ impl <'a> System<'a> for Fight { } } } - Control::AttackTarget(t) => {target = Some(*t);} + Control::AttackTarget(t) => { + if *t == entity { // don't knock yourself out + if let Some(autofighter) = autofighters.get_mut(entity){ + autofighter.target = None; + } + } else if let Some(target_position) = positions.get(*t){ + if position.pos.distance_to(target_position.pos) <= fighter.range { + target = Some(*t); + } + } + } _ => {} } if let Some(ent) = target { |
