public override AbstractSkill Create(Entity caster, Entity target, AuthoryServer server) { base.Create(caster, target, server); Position = Caster.Position; return(this); }
public override AbstractSkill Create(Entity caster, Vector3 targetPosition, AuthoryServer server) { base.Create(caster, targetPosition, server); TargetPosition = targetPosition; return(this); }
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; }
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++; } }
/// <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(); }
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); }
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(); }