The following commit is included in this release:$(APPVEYOR_REPO_COMMIT_MESSAGE)$(APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED)
automated release build - $(APPVEYOR_REPO_COMMIT_TIMESTAMP) 31 | auth_token: 32 | secure: lGLpqex+Weod6ZiPw34RwTv999QvoSZ+imTcmYhiJWQL6XkfkVUYcqOO6pJDuAYt 33 | artifact: /.*\.zip/ 34 | draft: false 35 | force_update: true 36 | -------------------------------------------------------------------------------- /ACViewer/Physics/Ray.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Numerics; 3 | 4 | namespace ACE.Server.Physics 5 | { 6 | public class Ray 7 | { 8 | public Vector3 Point; 9 | public Vector3 Dir; 10 | public float Length; 11 | 12 | public Ray() 13 | { 14 | 15 | } 16 | 17 | public Ray(Vector3 point, Vector3 dir, float length) 18 | { 19 | Point = point; 20 | Dir = dir; 21 | Length = length; 22 | } 23 | 24 | public Ray(Vector3 startPoint, Vector3 offset) 25 | { 26 | if (Math.Abs(offset.X - startPoint.X) > PhysicsGlobals.EPSILON || 27 | Math.Abs(offset.Y - startPoint.Y) > PhysicsGlobals.EPSILON || 28 | Math.Abs(offset.Z - startPoint.Z) > PhysicsGlobals.EPSILON) 29 | { 30 | Length = (float)Math.Sqrt(offset.X * offset.X + offset.Y * offset.Y + offset.Z * offset.Z); 31 | 32 | var invLength = 1.0f / Length; 33 | 34 | Point = startPoint; 35 | Dir = new Vector3(offset.X * invLength, offset.Y * invLength, offset.Z * invLength); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /ACViewer/Model/VertexInstance.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Xna.Framework; 2 | using Microsoft.Xna.Framework.Graphics; 3 | 4 | namespace ACViewer.Model 5 | { 6 | public struct VertexInstance : IVertexType 7 | { 8 | public Vector3 Position { get; set; } 9 | public Vector4 Orientation; 10 | public Vector3 Scale; 11 | 12 | 13 | public readonly static VertexDeclaration VertexDeclaration = new VertexDeclaration 14 | ( 15 | new VertexElement(0, VertexElementFormat.Vector3, VertexElementUsage.Position, 1), 16 | new VertexElement(sizeof(float) * 3, VertexElementFormat.Vector4, VertexElementUsage.TextureCoordinate, 1), 17 | new VertexElement(sizeof(float) * 7, VertexElementFormat.Vector3, VertexElementUsage.TextureCoordinate, 2) 18 | ); 19 | 20 | public VertexInstance(Vector3 position, Quaternion orientation, Vector3 scale) 21 | { 22 | Position = position; 23 | Orientation = new Vector4(orientation.X, orientation.Y, orientation.Z, orientation.W); 24 | Scale = scale; 25 | } 26 | 27 | VertexDeclaration IVertexType.VertexDeclaration => VertexDeclaration; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ACViewer/ACE.Server/WorldObjects/Monster_Awareness.cs: -------------------------------------------------------------------------------- 1 | using ACE.Entity.Enum; 2 | using ACE.Entity.Enum.Properties; 3 | 4 | namespace ACE.Server.WorldObjects 5 | { 6 | ///
7 | /// Determines when a monster wakes up from idle state 8 | /// 9 | partial class Creature 10 | { 11 | ///12 | /// Monsters wake up when players are in visual range 13 | /// 14 | public bool IsAwake = false; 15 | 16 | public Tolerance Tolerance 17 | { 18 | get => (Tolerance)(GetProperty(PropertyInt.Tolerance) ?? 0); 19 | set { if (value == 0) RemoveProperty(PropertyInt.Tolerance); else SetProperty(PropertyInt.Tolerance, (int)value); } 20 | } 21 | 22 | ///23 | /// This list of possible targeting tactics for this monster 24 | /// 25 | public TargetingTactic TargetingTactic 26 | { 27 | get => (TargetingTactic)(GetProperty(PropertyInt.TargetingTactic) ?? 0); 28 | set { if (value == 0) RemoveProperty(PropertyInt.TargetingTactic); else SetProperty(PropertyInt.TargetingTactic, (int)TargetingTactic); } 29 | } 30 | } 31 | } 32 | --------------------------------------------------------------------------------