diff --git a/core/src/com/riiablo/engine/client/ClientEntityFactory.java b/core/src/com/riiablo/engine/client/ClientEntityFactory.java index 566b2e92..1e3cde45 100644 --- a/core/src/com/riiablo/engine/client/ClientEntityFactory.java +++ b/core/src/com/riiablo/engine/client/ClientEntityFactory.java @@ -39,6 +39,7 @@ import com.riiablo.engine.server.component.CofReference; import com.riiablo.engine.server.component.CofTransforms; import com.riiablo.engine.server.component.DS1ObjectWrapper; import com.riiablo.engine.server.component.Interactable; +import com.riiablo.engine.server.component.MapWrapper; import com.riiablo.engine.server.component.Missile; import com.riiablo.engine.server.component.Monster; import com.riiablo.engine.server.component.MovementModes; @@ -117,10 +118,7 @@ public class ClientEntityFactory extends EntityFactory { mCofAlphas.create(id); mCofTransforms.create(id); - MovementModes movementModes = mMovementModes.create(id); - movementModes.NU = Engine.Player.MODE_TN; - movementModes.WL = Engine.Player.MODE_TW; - movementModes.RN = Engine.Player.MODE_RN; + mMovementModes.create(id).set(Engine.Player.MODE_TN, Engine.Player.MODE_TW, Engine.Player.MODE_RN); mAnimationWrapper.create(id); mBBoxWrapper.create(id).box = mAnimationWrapper.get(id).animation.getBox(); @@ -132,6 +130,10 @@ public class ClientEntityFactory extends EntityFactory { mNetworked.create(id); mZoneAware.create(id); + MapWrapper mapWrapper = mMapWrapper.create(id); + mapWrapper.map = map; + mapWrapper.zone = zone; + cofs.setMode(id, Engine.Player.MODE_TN, true); cofs.setWClass(id, Engine.WEAPON_HTH, true); return id; @@ -264,10 +266,7 @@ public class ClientEntityFactory extends EntityFactory { mCofAlphas.create(id); mCofTransforms.create(id); - MovementModes movementModes = mMovementModes.create(id); - movementModes.NU = Engine.Monster.MODE_NU; - movementModes.WL = Engine.Monster.MODE_WL; - movementModes.RN = Engine.Monster.MODE_RN; + mMovementModes.create(id).set(Engine.Monster.MODE_NU, Engine.Monster.MODE_WL, Engine.Monster.MODE_RN); mAnimationWrapper.create(id); mBBoxWrapper.create(id).box = mAnimationWrapper.get(id).animation.getBox(); diff --git a/core/src/com/riiablo/engine/server/ServerEntityFactory.java b/core/src/com/riiablo/engine/server/ServerEntityFactory.java index b9ae6a01..11e03471 100644 --- a/core/src/com/riiablo/engine/server/ServerEntityFactory.java +++ b/core/src/com/riiablo/engine/server/ServerEntityFactory.java @@ -19,12 +19,15 @@ import com.riiablo.engine.server.component.CofReference; import com.riiablo.engine.server.component.CofTransforms; import com.riiablo.engine.server.component.DS1ObjectWrapper; import com.riiablo.engine.server.component.MapWrapper; +import com.riiablo.engine.server.component.MovementModes; import com.riiablo.engine.server.component.Networked; import com.riiablo.engine.server.component.Object; import com.riiablo.engine.server.component.Player; import com.riiablo.engine.server.component.Position; import com.riiablo.engine.server.component.Running; +import com.riiablo.engine.server.component.Size; import com.riiablo.engine.server.component.Velocity; +import com.riiablo.engine.server.component.ZoneAware; import com.riiablo.item.Item; import com.riiablo.map.DS1; import com.riiablo.map.Map; @@ -49,6 +52,9 @@ public class ServerEntityFactory extends EntityFactory { protected ComponentMapper mNetworked; protected ComponentMapper mMapWrapper; protected ComponentMapper mDS1ObjectWrapper; + protected ComponentMapper mMovementModes; + protected ComponentMapper mSize; + protected ComponentMapper mZoneAware; protected CofManager cofs; protected ObjectInitializer objectInitializer; @@ -66,8 +72,13 @@ public class ServerEntityFactory extends EntityFactory { mCofAlphas.create(id); mCofTransforms.create(id); + mMovementModes.create(id).set(Engine.Player.MODE_TN, Engine.Player.MODE_TW, Engine.Player.MODE_RN); + + mSize.create(id).size = Size.MEDIUM; + mRunning.create(id); mNetworked.create(id); + mZoneAware.create(id); MapWrapper mapWrapper = mMapWrapper.create(id); mapWrapper.map = map; diff --git a/core/src/com/riiablo/engine/server/component/MovementModes.java b/core/src/com/riiablo/engine/server/component/MovementModes.java index dd5f687d..93d9d218 100644 --- a/core/src/com/riiablo/engine/server/component/MovementModes.java +++ b/core/src/com/riiablo/engine/server/component/MovementModes.java @@ -10,4 +10,11 @@ public class MovementModes extends Component { public byte NU; public byte WL; public byte RN; + + public MovementModes set(byte NU, byte WL, byte RN) { + this.NU = NU; + this.WL = WL; + this.RN = RN; + return this; + } }