public GetOrPlaceholder ( ushort huntingZoneId, int templateId ) : |
||
huntingZoneId | ushort | |
templateId | int | |
return |
public void Update(SpawnNpcServerMessage m) { var newEntity = new NpcEntity(m.Id, m.OwnerId, GetOrPlaceholder(m.OwnerId), _npcDatabase.GetOrPlaceholder(m.NpcArea, m.NpcId), m.Position, m.Heading); Register(newEntity); }
public void Update(ParsedMessage message) { Entity newEntity = null; message.On <SpawnUserServerMessage>(m => newEntity = new UserEntity(m)); message.On <LoginServerMessage>(m => newEntity = new UserEntity(m)); message.On <SpawnNpcServerMessage>( m => newEntity = new NpcEntity(m.Id, m.OwnerId, GetOrPlaceholder(m.OwnerId), _npcDatabase.GetOrPlaceholder(m.NpcArea, m.NpcId))); message.On <SpawnProjectileServerMessage>( m => newEntity = new ProjectileEntity(m.Id, m.OwnerId, GetOrPlaceholder(m.OwnerId))); message.On <StartUserProjectileServerMessage>( m => newEntity = new ProjectileEntity(m.Id, m.OwnerId, GetOrPlaceholder(m.OwnerId))); if (newEntity != null) { _dictionary[newEntity.Id] = newEntity; OnEntityUpdated(newEntity); } }
public PetSkillDatabase(string folder, string language, NpcDatabase npcDatabase) { StreamReader reader; try { reader = new StreamReader(File.OpenRead(Path.Combine(folder, $"skills\\pets-skills-{language}.tsv"))); } catch { return; } while (!reader.EndOfStream) { var line = reader.ReadLine(); if (line == null) { continue; } var values = line.Split('\t'); ushort huntingZoneId = ushort.Parse(values[0]); uint templateId = uint.Parse(values[1]); var petName = values[2]; var skillId = (huntingZoneId << 16) + ushort.Parse(values[3]); var skillName = values[4]; var icon = values[5]; var npcinfo = npcDatabase.GetOrPlaceholder(huntingZoneId, templateId); var skill = new UserSkill(skillId, new RaceGenderClass(Race.Common, Gender.Common, PlayerClass.Common), skillName, null, string.IsNullOrWhiteSpace(petName) ? npcinfo.Name : petName, icon, npcinfo); var lookup = Tuple.Create(huntingZoneId, templateId); if (!_petSkilldata.ContainsKey(lookup)) { _petSkilldata[lookup] = new List <UserSkill>(); } _petSkilldata[lookup].Add(skill); } }