From 8032b65077699919e87794eaade2cfc384bc690d Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Sun, 23 Aug 2020 13:13:35 -0700 Subject: [PATCH] Casting a spell will make caster look at target --- core/src/com/riiablo/engine/server/Actioneer.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/com/riiablo/engine/server/Actioneer.java b/core/src/com/riiablo/engine/server/Actioneer.java index 9a98a78f..815168fa 100644 --- a/core/src/com/riiablo/engine/server/Actioneer.java +++ b/core/src/com/riiablo/engine/server/Actioneer.java @@ -12,6 +12,7 @@ import com.badlogic.gdx.math.Vector2; import com.riiablo.Riiablo; import com.riiablo.codec.excel.Skills; import com.riiablo.engine.Engine; +import com.riiablo.engine.server.component.Angle; import com.riiablo.engine.server.component.Box2DBody; import com.riiablo.engine.server.component.Casting; import com.riiablo.engine.server.component.Class; @@ -30,6 +31,7 @@ public class Actioneer extends PassiveSystem { protected ComponentMapper mSequence; protected ComponentMapper mMovementModes; protected ComponentMapper mCasting; + protected ComponentMapper mAngle; // teleport-specific components protected ComponentMapper mPosition; @@ -52,6 +54,9 @@ public class Actioneer extends PassiveSystem { log.trace("mode changed to {} because it was invalid", mode); } + Vector2 entityPos = mPosition.get(entityId).position; + mAngle.get(entityId).target.set(target).sub(entityPos).nor(); + mSequence.create(entityId).sequence(mode, mMovementModes.get(entityId).NU); mCasting.create(entityId).set(skillId, target); events.dispatch(SkillCastEvent.obtain(entityId, skillId));