public void SendDatacubeVolume(Datacube datacube) { player.Session.EnqueueMessageEncrypted(new ServerDatacubeVolumeUpdate { DatacubeVolumeData = BuildNetworkDatacube(datacube) }); }
private NetworkDatacube BuildNetworkDatacube(Datacube datacube) { return(new NetworkDatacube { DatacubeId = datacube.Id, Progress = datacube.Progress }); }
/// <summary> /// Create a new <see cref="DatacubeManager"/> from an existing database model. /// </summary> public DatacubeManager(Player owner, CharacterModel characterModel) { player = owner; foreach (CharacterDatacubeModel model in characterModel.Datacube) { var datacube = new Datacube(model); uint hash = DatacubeHash(datacube.Id, datacube.Type); datacubes.Add(hash, datacube); } }
/// <summary> /// Create a new <see cref="Datacube"/> of type <see cref="DatacubeType.Journal"/> with supplied id and progress. /// </summary> public void AddDatacubeVolume(ushort id, uint progress) { if (GameTableManager.Instance.DatacubeVolume.GetEntry(id) == null) { throw new ArgumentException(); } var datacube = new Datacube(id, DatacubeType.Journal, progress); datacubes.Add(DatacubeHash(id, DatacubeType.Journal), datacube); SendDatacubeVolume(datacube); }
public override void OnActivateCast(Player activator) { uint progress = (uint)(1 << QuestChecklistIdx); Creature2Entry entry = GameTableManager.Creature2.GetEntry(CreatureId); if (entry.DatacubeId != 0u) { Datacube datacube = activator.DatacubeManager.GetDatacube((ushort)entry.DatacubeId, DatacubeType.Datacube); if (datacube == null) { activator.DatacubeManager.AddDatacube((ushort)entry.DatacubeId, progress); } else { datacube.Progress |= progress; activator.DatacubeManager.SendDatacube(datacube); } } if (entry.DatacubeVolumeId != 0u) { Datacube datacube = activator.DatacubeManager.GetDatacube((ushort)entry.DatacubeVolumeId, DatacubeType.Journal); if (datacube == null) { activator.DatacubeManager.AddDatacubeVolume((ushort)entry.DatacubeVolumeId, progress); } else { datacube.Progress |= progress; activator.DatacubeManager.SendDatacubeVolume(datacube); } } //TODO: cast "116,Generic Quest Spell - Activating - Activate - Tier 1" by 0x07FD }