Пример #1
0
        public override AbstractSkill Create(Entity caster, Entity target, AuthoryServer server)
        {
            base.Create(caster, target, server);
            Position = Caster.Position;

            return(this);
        }
Пример #2
0
        public override AbstractSkill Create(Entity caster, Vector3 targetPosition, AuthoryServer server)
        {
            base.Create(caster, targetPosition, server);
            TargetPosition = targetPosition;

            return(this);
        }
Пример #3
0
        public TeleportEntity(AuthoryServer server, int teleportToMapIndex, Vector3 position, float teleportSize)
        {
            this.Name   = string.Format($"Teleport Map{TeleportToMapIndex}");
            this.Server = server;

            this.TeleportToMapIndex = teleportToMapIndex;
            this.Position           = position;
            this.TeleportSize       = teleportSize;
            this.ModelType          = ModelType.TeleportResource;
        }
Пример #4
0
 public void SpawnAll(AuthoryServer server)
 {
     for (int i = 0; i < MaxCount; i++)
     {
         MobEntity mob = new MobEntity(NPCFactory.Instance.GetNpcValuesOf((new Random().Next(0, 20) > 10 ? ModelType.WizardNPC : ModelType.MeleeNPC)), Center + Vector3.RandomRangeSquare(-(int)Radius, (int)Radius), server);
         MobEntities.Add(mob);
         server.Data.Add(mob);
         Count++;
     }
 }
Пример #5
0
        /// <summary>
        /// Creates a thread for reading the messages.
        /// </summary>
        /// <param name="server"></param>
        public IncomingMessageHandler(AuthoryServer server)
        {
            Server = server;

            readerThread = new Thread(new ThreadStart(ReadLoop))
            {
                IsBackground = true
            };

            readerThread.Start();
        }
Пример #6
0
        public virtual AbstractSkill Create(Entity caster, Vector3 targetPosition, AuthoryServer server)
        {
            Caster   = caster;
            Server   = server;
            TickRate = (caster.EntityType == Enums.EntityType.Player ? server.PlayerTickRate : server.MobTickRate);

            CastDuration *= TickRate;
            Cooldown     *= TickRate;

            return(this);
        }
Пример #7
0
        public MobEntity(MobEntity entity, Vector3 position, AuthoryServer server)
        {
            Health = new Resource();
            Mana   = new Resource();

            this.MobSkill = entity.MobSkill;
            this.Server   = server;

            this.ACTION_TICK += (ushort)(new Random().Next(0, 40));

            this.Attributes = new int[entity.Attributes.Length];

            this.Buffs  = new List <Buff>(20);
            this.Skills = new List <AbstractSkill>(20);

            this.EntityTick = 0;

            this.SetPosition(position);

            this.SpawnPosition     = position;
            this.MovementDirection = new Vector3();


            Target = null;

            ModelType = entity.ModelType;
            Name      = entity.Name;

            Level = entity.Level;

            entity.Attributes.CopyTo(Attributes, 0);

            CalculateResources();

            Health.MaxValue   = entity.Health.MaxValue;
            Health.RegenValue = entity.Health.RegenValue;

            Respawn();
        }