public virtual void LoadModel(QuestModel questModel) { CallDeferred(nameof(UpdateControls)); }
public void Populate(QuestModel questModel) { questName.text = questModel.name; //TODO Rewards definition is needed here }
private void OnQuestRemoved(string questId, QuestModel quest) { view?.RemoveEntry(questId); }
public override void OnAddonLoaded(AddonLoadData data) { FactionModel.LoadFromAddon(data); InventoryModel.LoadFromAddon(data); QuestModel.LoadFromAddon(data); }
public override void LoadModel(QuestModel questModel) { base.LoadModel(questModel); Model = (QuestStageModel)questModel; }
public void AddQuest(int id, QuestModel item) { _database._questMap.Add(id, item); }
private void OnQuestRemoved(string questId, QuestModel questModel) { view.RemoveQuest(questId); }
public override void LoadModel(QuestModel questModel) { base.LoadModel(questModel); Model = (QuestCompleteModel)questModel; }
public void Populate(QuestModel questModel) { questName.text = questModel.name; }
public void RemoveQuest(QuestModel quest) { quests.Remove(quest.id); }
/// <summary> /// Update progress in a quest /// </summary> /// <param name="progressedQuest"></param> public void UpdateQuestProgress(QuestModel progressedQuest) { if (!progressedQuest.canBePinned) { pinnedQuests.Remove(progressedQuest.id); } //Alex: Edge case. Quests has no sections/tasks, we ignore the UpdateQuestProgress and remove the cached one. if (progressedQuest.sections == null || progressedQuest.sections.Length == 0) { quests.Remove(progressedQuest.id); return; } //Alex: Edge case. Progressed quest was not included in the initialization. We dont invoke quests events if (!quests.TryGetValue(progressedQuest.id, out QuestModel oldQuest)) { RestoreProgressFlags(progressedQuest); quests.Add(progressedQuest.id, progressedQuest); if (!progressedQuest.isCompleted) { OnNewQuest?.Invoke(progressedQuest.id); } return; } quests[progressedQuest.id] = progressedQuest; progressedQuest.oldProgress = oldQuest.progress; for (int index = 0; index < progressedQuest.sections.Length; index++) { QuestSection newQuestSection = progressedQuest.sections[index]; bool oldQuestSectionFound = oldQuest.TryGetSection(newQuestSection.id, out QuestSection oldQuestSection); for (int index2 = 0; index2 < newQuestSection.tasks.Length; index2++) { QuestTask currentTask = newQuestSection.tasks[index2]; if (oldQuestSectionFound) { bool oldTaskFound = oldQuestSection.TryGetTask(currentTask.id, out QuestTask oldTask); currentTask.justProgressed = !oldTaskFound || currentTask.progress != oldTask.progress; currentTask.justUnlocked = !oldTaskFound || (currentTask.status != QuestsLiterals.Status.BLOCKED && oldTask.status == QuestsLiterals.Status.BLOCKED); currentTask.oldProgress = oldTaskFound ? oldTask.progress : 0; } else { currentTask.justProgressed = false; currentTask.justUnlocked = false; currentTask.oldProgress = 0; } } } // If quest is not blocked anymore or being secret has been just started, we call NewQuest event. if (!progressedQuest.isCompleted && ((oldQuest.status == QuestsLiterals.Status.BLOCKED && progressedQuest.status != QuestsLiterals.Status.BLOCKED) || (progressedQuest.visibility == QuestsLiterals.Visibility.SECRET && oldQuest.status == QuestsLiterals.Status.NOT_STARTED && progressedQuest.status != QuestsLiterals.Status.NOT_STARTED))) { OnNewQuest?.Invoke(progressedQuest.id); } OnQuestUpdated?.Invoke(progressedQuest.id, HasProgressed(progressedQuest, oldQuest)); if (!oldQuest.isCompleted && progressedQuest.isCompleted) { OnQuestCompleted?.Invoke(progressedQuest.id); } if (progressedQuest.rewards == null) { progressedQuest.rewards = new QuestReward[0]; } for (int index = 0; index < progressedQuest.rewards.Length; index++) { QuestReward newReward = progressedQuest.rewards[index]; //Alex: Edge case. New quest reported contains a reward that was previously not contained. // If it's completed, we call the RewardObtained event bool oldRewardFound = oldQuest.TryGetReward(newReward.id, out QuestReward oldReward); bool rewardObtained = (!oldRewardFound && newReward.status == QuestsLiterals.RewardStatus.OK) || (newReward.status != oldReward.status && newReward.status == QuestsLiterals.RewardStatus.OK); if (rewardObtained) { OnRewardObtained?.Invoke(progressedQuest.id, newReward.id); } } RestoreProgressFlags(progressedQuest); }
public static void Handle(Packet packet) { var questRewardPacket = new QuestRewardPacket(packet); var quest = QuestModel.RetrieveOne(GameServer.Instance.Database.Connection, 0, packet.Sender.User.ActiveCharacterId, questRewardPacket.TableIndex); QuestModel.Update(GameServer.Instance.Database.Connection, 0, packet.Sender.User.ActiveCharacterId, questRewardPacket.TableIndex, 2); if (quest == null) { packet.Sender.SendError("Quest was not started!"); return; } if (quest.State != 1) { packet.Sender.SendError("Quest not finished!"); return; } var questReward = ServerMain.Quests.Find(quest1 => quest1.TableIndex == questRewardPacket.TableIndex); if (questReward == null) { packet.Sender.SendError("Quest reward not found."); return; } var itemReward = questReward.GetRewards(); var character = packet.Sender.User.ActiveCharacter; bool levelUp; const bool useBonus = false; // TODO: Determine boni const bool useBonus500Mita = false; character.CalculateExp(questReward.Experience, out levelUp, useBonus, useBonus500Mita); character.MitoMoney += questReward.Mito; CharacterModel.Update(GameServer.Instance.Database.Connection, character); var item01 = 0; var item02 = 0; var item03 = 0; if (itemReward.Length > 0) { if (itemReward.Length >= 1) { item01 = ServerMain.Items.FindIndex(item => item.Id == itemReward[0]); if (item01 == -1 || character.GiveItem(GameServer.Instance.Database.Connection, item01, 1) == null) { item01 = 0; } } if (itemReward.Length >= 2) { item02 = ServerMain.Items.FindIndex(item => item.Id == itemReward[1]); if (item01 == -1 || character.GiveItem(GameServer.Instance.Database.Connection, item02, 1) == null) { item02 = 0; } } if (itemReward.Length == 3) { item03 = ServerMain.Items.FindIndex(item => item.Id == itemReward[2]); if (item01 == -1 || character.GiveItem(GameServer.Instance.Database.Connection, item03, 1) == null) { item03 = 0; } } } var ack = new QuestRewardAnswer { TableIndex = (uint)questReward.TableIndex, GetExp = (uint)questReward.Experience, GetMoney = (uint)questReward.Mito, CurrentExp = (ulong)character.ExperienceInfo.CurExp, NextExp = (ulong)character.ExperienceInfo.NextExp, BaseExp = (ulong)character.ExperienceInfo.BaseExp, Level = character.Level, ItemNum = (ushort)itemReward.Length, RewardItem1 = (uint)item01, RewardItem2 = (uint)item02, RewardItem3 = (uint)item03 }; packet.Sender.Send(ack.CreatePacket()); if (item01 != 0 || item02 != 0 || item03 != 0) { character.FlushItemModBuffer(packet.Sender); } }
private void Awake() { model = new QuestModel(); }
private void CheckGameEvents(EventVisitModel evVisit) { long num = long.Parse(DateTime.Now.ToString("yyMMddHHmm")); PlayerEvent pE = this.c._event; if (pE != null) { QuestModel runningEvent1 = EventQuestSyncer.getRunningEvent(); if (runningEvent1 != null) { long lastQuestDate = (long)pE.LastQuestDate; long lastQuestFinish = (long)pE.LastQuestFinish; if (pE.LastQuestDate < runningEvent1.startDate) { pE.LastQuestDate = 0U; pE.LastQuestFinish = 0; this.c.SendPacket((SendPacket) new SERVER_MESSAGE_EVENT_QUEST_PAK()); } if (pE.LastQuestFinish == 0) { this.c._mission.mission4 = 13; if (pE.LastQuestDate == 0U) { pE.LastQuestDate = (uint)num; } } if ((long)pE.LastQuestDate != lastQuestDate || (long)pE.LastQuestFinish != lastQuestFinish) { EventQuestSyncer.ResetPlayerEvent(this.c.player_id, pE); } } EventLoginModel runningEvent2 = EventLoginSyncer.getRunningEvent(); if (runningEvent2 != null && (runningEvent2.startDate >= pE.LastLoginDate || pE.LastLoginDate >= runningEvent2.endDate)) { ItemsModel modelo = new ItemsModel(runningEvent2._rewardId, runningEvent2._category, "Login event", 1, (uint)runningEvent2._count, 0L); PlayerManager.tryCreateItem(modelo, this.c._inventory, this.c.player_id); this.c.SendPacket((SendPacket) new SERVER_MESSAGE_ITEM_RECEIVE_PAK(0U)); if (modelo._category == 1) { this.weapons.Add(modelo); } else if (modelo._category == 2) { this.charas.Add(modelo); } else if (modelo._category == 3) { this.cupons.Add(modelo); } ComDiv.updateDB("player_events", "last_login_date", (object)num, "player_id", (object)this.c.player_id); } if (evVisit != null && pE.LastVisitEventId != evVisit.id) { pE.LastVisitEventId = evVisit.id; pE.LastVisitSequence1 = 0; pE.LastVisitSequence2 = 0; pE.NextVisitDate = 0; EventVisitSyncer.ResetPlayerEvent(this.c.player_id, evVisit.id); } EventXmasModel runningEvent3 = EventXmasSyncer.getRunningEvent(); if (runningEvent3 != null) { if (pE.LastXmasRewardDate < runningEvent3.startDate) { pE.LastXmasRewardDate = 0U; ComDiv.updateDB("player_events", "last_xmas_reward_date", (object)0, "player_id", (object)this.c.player_id); } if (pE.LastXmasRewardDate <= runningEvent3.startDate || pE.LastXmasRewardDate > runningEvent3.endDate) { this._xmas = true; } } } ComDiv.updateDB("accounts", "last_login", (object)num, "player_id", (object)this.c.player_id); }
private void CheckGameEvents(EventVisitModel eventVisit) { PlayerEvent playerEvent = player.events; if (playerEvent != null) { QuestModel eventQuest = EventQuestSyncer.GetRunningEvent(); if (eventQuest != null) { long lastDate = playerEvent.LastQuestDate; int finish = playerEvent.LastQuestFinish; if (playerEvent.LastQuestDate < eventQuest.startDate) { playerEvent.LastQuestDate = 0; playerEvent.LastQuestFinish = 0; player.SendCompletePacket(PackageDataManager.SERVER_MESSAGE_EVENT_QUEST_PAK); } if (playerEvent.LastQuestFinish == 0) { player.missions.mission4 = 13; //13 = MissionId Event if (playerEvent.LastQuestDate == 0) { playerEvent.LastQuestDate = date; } } if (playerEvent.LastQuestDate != lastDate || playerEvent.LastQuestFinish != finish) { player.ExecuteQuery($"UPDATE player_events SET last_quest_date='{playerEvent.LastQuestDate}', last_quest_finish='{playerEvent.LastQuestFinish}' WHERE player_id='{player.playerId}'"); } } EventLoginModel eventLogin = EventLoginSyncer.GetRunningEvent(); if (eventLogin != null && !(eventLogin.startDate < playerEvent.LastLoginDate && playerEvent.LastLoginDate < eventLogin.endDate)) { ItemsModel item = new ItemsModel(eventLogin.rewardId, eventLogin.category, "Login event", 1, eventLogin.count); player.TryCreateItem(item); player.SendCompletePacket(PackageDataManager.AUTH_SERVER_MESSAGE_ITEM_RECEIVE_PAK); if (item.category == 1) { weapons.Add(item); } else if (item.category == 2) { charas.Add(item); } else if (item.category == 3) { cupons.Add(item); } long dateNow = long.Parse(DateTime.Now.ToString("yyMMddHHmm")); player.ExecuteQuery($"UPDATE player_events SET last_login_date='{dateNow}' WHERE player_id='{player.playerId}'"); } if (eventVisit != null && playerEvent.LastVisitEventId != eventVisit.id) { playerEvent.LastVisitEventId = eventVisit.id; playerEvent.LastVisitSequence1 = 0; playerEvent.LastVisitSequence2 = 0; playerEvent.NextVisitDate = 0; player.ExecuteQuery($"UPDATE player_events SET last_visit_event_id='{eventVisit.id}', last_visit_sequence1='0', last_visit_sequence2='0', next_visit_date='0' WHERE player_id='{player.playerId}'"); } EventXmasModel eventXMAS = EventXmasSyncer.GetRunningEvent(); if (eventXMAS != null) { if (playerEvent.LastXmasRewardDate < eventXMAS.startDate) { playerEvent.LastXmasRewardDate = 0; player.ExecuteQuery($"UPDATE player_events SET last_xmas_reward_date='0' WHERE player_id='{player.playerId}'"); } if (!(playerEvent.LastXmasRewardDate > eventXMAS.startDate && playerEvent.LastXmasRewardDate <= eventXMAS.endDate)) { xmas = true; } } } }
public void Populate(QuestModel newQuest) { StopSequence(); quest = newQuest; SetIcon(quest.thumbnail_entry); QuestTask[] allTasks = quest.sections.SelectMany(x => x.tasks).ToArray(); int completedTasksAmount = allTasks.Count(x => x.progress >= 1); questTitle.text = $"{quest.name}"; questProgressText.text = $"{completedTasksAmount}/{allTasks.Length}"; progress.fillAmount = quest.oldProgress; progressTarget = quest.progress; hasProgressedThisUpdate = newQuest.sections.Any(x => x.tasks.Any(y => y.justProgressed)); List <string> entriesToRemove = sectionEntries.Keys.ToList(); List <QuestsTrackerSection> visibleSectionEntries = new List <QuestsTrackerSection>(); List <QuestsTrackerSection> newSectionEntries = new List <QuestsTrackerSection>(); for (var i = 0; i < quest.sections.Length; i++) { QuestSection section = quest.sections[i]; bool hasTasks = section.tasks.Any(x => x.status != QuestsLiterals.Status.BLOCKED && (x.progress < 1 || x.justProgressed)); if (!hasTasks) { continue; } bool isVisible = section.tasks.Any(x => x.status != QuestsLiterals.Status.BLOCKED && ((x.progress < 1 && !x.justUnlocked) || (x.progress >= 1 && x.justProgressed))); entriesToRemove.Remove(section.id); if (!sectionEntries.TryGetValue(section.id, out QuestsTrackerSection sectionEntry)) { sectionEntry = CreateSection(); //New tasks are invisible sectionEntries.Add(section.id, sectionEntry); } sectionEntry.gameObject.SetActive(isVisible); sectionEntry.Populate(section); sectionEntry.transform.SetAsLastSibling(); if (sectionEntry.gameObject.activeSelf) { visibleSectionEntries.Add(sectionEntry); } else { newSectionEntries.Add(sectionEntry); } } for (int index = 0; index < entriesToRemove.Count; index++) { DestroySectionEntry(entriesToRemove[index]); } expandCollapseButton.gameObject.SetActive(sectionEntries.Count > 0); SetExpandCollapseState(true); OnLayoutRebuildRequested?.Invoke(); sequenceRoutine = StartCoroutine(Sequence(visibleSectionEntries, newSectionEntries)); }
void PopulateObjects() { qLocs = GameObject.FindObjectsOfType(typeof(QLocation)) as QLocation[]; qNpcs = GameObject.FindObjectsOfType(typeof(QNpc)) as QNpc[]; typeBoxes = new Dictionary<QuestNode, ComboBox>(); npcBoxes = new Dictionary<QuestNode, ComboBox>(); locationBoxes = new Dictionary<QuestNode, ComboBox>(); selNode = new ComboBox(); setUpComboBox(); first = new QuestNode("FirstNode", qNpcs[0] as MonoBehaviour, 0,0); currentQuest = new QuestModel(first); typeBoxes.Add(first,new ComboBox()); npcBoxes.Add(first, new ComboBox()); locationBoxes.Add(first, new ComboBox()); }
public void UpdateQuestProgressUpdateQuest_Completed() { quests.Add("0", new QuestModel { id = "0", status = QuestsLiterals.Status.NOT_STARTED, sections = new [] { new QuestSection { id = "0_0", tasks = new [] { new QuestTask { id = "0_0_0" } } } }, rewards = new [] { new QuestReward { id = "reward0", status = QuestsLiterals.RewardStatus.NOT_GIVEN } } }); QuestModel progressedQuest = new QuestModel { id = "0", status = QuestsLiterals.Status.COMPLETED, sections = new [] { new QuestSection { id = "0_0", progress = 1f, tasks = new [] { new QuestTask { id = "0_0_0", progress = 1f, status = QuestsLiterals.Status.COMPLETED } } } }, rewards = new [] { new QuestReward { id = "reward0", status = QuestsLiterals.RewardStatus.OK } } }; bool newQuestReceived = false; bool questUpdatedReceived = false; bool rewardObtainedReceived = false; questsController.OnNewQuest += (questId) => newQuestReceived = true; questsController.OnQuestUpdated += (questId, hasProgressed) => { questUpdatedReceived = true; //Check the progress flags are set propperly Assert.AreEqual(0, quests["0"].oldProgress); Assert.AreEqual(1f, quests["0"].progress); Assert.AreEqual(0, quests["0"].sections[0].tasks[0].oldProgress); Assert.AreEqual(1f, quests["0"].sections[0].tasks[0].progress); }; questsController.OnRewardObtained += (questId, rewardId) => { rewardObtainedReceived = true; // Check reward Assert.AreEqual(questId, "0"); Assert.AreEqual(rewardId, "reward0"); }; questsController.UpdateQuestProgress(progressedQuest); Assert.IsFalse(newQuestReceived); Assert.IsTrue(questUpdatedReceived); Assert.IsTrue(rewardObtainedReceived); //Check progress flags are reverted Assert.AreEqual(quests["0"].oldProgress, quests["0"].progress); Assert.AreEqual(quests["0"].sections[0].tasks[0].oldProgress, quests["0"].sections[0].tasks[0].progress); Assert.IsFalse(quests["0"].justProgressed); Assert.IsFalse(quests["0"].sections[0].tasks[0].justProgressed); Assert.IsFalse(quests["0"].sections[0].tasks[0].justUnlocked); }
public int GetMaxHealth() { QuestModel quest = _questLogic.GetCurrentQuest(); return(quest.Health); }
public InGameSceneParameter(CharacterModel character, QuestGroupModel questGroup, QuestModel quest) { this.Character = character; this.QuestGroup = questGroup; this.Quest = quest; }
private void LoadQuestModels() { QuestModel.Load(); }
public void Load() { foreach (var item in _content.AmmunitionObsoleteList) { if (!item.Disabled && !_database._ammunitionObsoleteMap.ContainsKey(item.Id)) { AmmunitionObsolete.Create(item, this); } } foreach (var item in _content.ComponentList) { if (!item.Disabled && !_database._componentMap.ContainsKey(item.Id)) { Component.Create(item, this); } } foreach (var item in _content.ComponentModList) { if (!item.Disabled && !_database._componentModMap.ContainsKey(item.Id)) { ComponentMod.Create(item, this); } } foreach (var item in _content.ComponentStatsList) { if (!item.Disabled && !_database._componentStatsMap.ContainsKey(item.Id)) { ComponentStats.Create(item, this); } } foreach (var item in _content.DeviceList) { if (!item.Disabled && !_database._deviceMap.ContainsKey(item.Id)) { Device.Create(item, this); } } foreach (var item in _content.DroneBayList) { if (!item.Disabled && !_database._droneBayMap.ContainsKey(item.Id)) { DroneBay.Create(item, this); } } foreach (var item in _content.FactionList) { if (!item.Disabled && !_database._factionMap.ContainsKey(item.Id)) { Faction.Create(item, this); } } foreach (var item in _content.SatelliteList) { if (!item.Disabled && !_database._satelliteMap.ContainsKey(item.Id)) { Satellite.Create(item, this); } } foreach (var item in _content.SatelliteBuildList) { if (!item.Disabled && !_database._satelliteBuildMap.ContainsKey(item.Id)) { SatelliteBuild.Create(item, this); } } foreach (var item in _content.ShipList) { if (!item.Disabled && !_database._shipMap.ContainsKey(item.Id)) { Ship.Create(item, this); } } foreach (var item in _content.ShipBuildList) { if (!item.Disabled && !_database._shipBuildMap.ContainsKey(item.Id)) { ShipBuild.Create(item, this); } } foreach (var item in _content.SkillList) { if (!item.Disabled && !_database._skillMap.ContainsKey(item.Id)) { Skill.Create(item, this); } } foreach (var item in _content.TechnologyList) { if (!item.Disabled && !_database._technologyMap.ContainsKey(item.Id)) { Technology.Create(item, this); } } foreach (var item in _content.CharacterList) { if (!item.Disabled && !_database._characterMap.ContainsKey(item.Id)) { Character.Create(item, this); } } foreach (var item in _content.FleetList) { if (!item.Disabled && !_database._fleetMap.ContainsKey(item.Id)) { Fleet.Create(item, this); } } foreach (var item in _content.LootList) { if (!item.Disabled && !_database._lootMap.ContainsKey(item.Id)) { LootModel.Create(item, this); } } foreach (var item in _content.QuestList) { if (!item.Disabled && !_database._questMap.ContainsKey(item.Id)) { QuestModel.Create(item, this); } } foreach (var item in _content.QuestItemList) { if (!item.Disabled && !_database._questItemMap.ContainsKey(item.Id)) { QuestItem.Create(item, this); } } foreach (var item in _content.AmmunitionList) { if (!item.Disabled && !_database._ammunitionMap.ContainsKey(item.Id)) { Ammunition.Create(item, this); } } foreach (var item in _content.BulletPrefabList) { if (!item.Disabled && !_database._bulletPrefabMap.ContainsKey(item.Id)) { BulletPrefab.Create(item, this); } } foreach (var item in _content.VisualEffectList) { if (!item.Disabled && !_database._visualEffectMap.ContainsKey(item.Id)) { VisualEffect.Create(item, this); } } foreach (var item in _content.WeaponList) { if (!item.Disabled && !_database._weaponMap.ContainsKey(item.Id)) { Weapon.Create(item, this); } } foreach (var item in _content.Images) { if (!_database._images.ContainsKey(item.Key)) { _database._images.Add(item.Key, item.Value); } } foreach (var item in _content.AudioClips) { if (!_database._audioClips.ContainsKey(item.Key)) { _database._audioClips.Add(item.Key, item.Value); } } foreach (var item in _content.Localizations) { if (!_database._localizations.ContainsKey(item.Key)) { _database._localizations.Add(item.Key, item.Value); } } if (_database.DatabaseSettings == null) { _database.DatabaseSettings = DatabaseSettings.Create(_content.DatabaseSettings ?? new Serializable.DatabaseSettingsSerializable { ItemType = Enums.ItemType.DatabaseSettings }, this); } if (_database.ExplorationSettings == null) { _database.ExplorationSettings = ExplorationSettings.Create(_content.ExplorationSettings ?? new Serializable.ExplorationSettingsSerializable { ItemType = Enums.ItemType.ExplorationSettings }, this); } if (_database.GalaxySettings == null) { _database.GalaxySettings = GalaxySettings.Create(_content.GalaxySettings ?? new Serializable.GalaxySettingsSerializable { ItemType = Enums.ItemType.GalaxySettings }, this); } if (_database.ShipSettings == null) { _database.ShipSettings = ShipSettings.Create(_content.ShipSettings ?? new Serializable.ShipSettingsSerializable { ItemType = Enums.ItemType.ShipSettings }, this); } }
private void CheckGameEvents(EventVisitModel evVisit) { uint dateNow = uint.Parse(DateTime.Now.ToString("yyMMddHHmm")); PlayerEvent pev = c._event; if (pev != null) { QuestModel evQuest = EventQuestSyncer.getRunningEvent(); if (evQuest != null) { long date = pev.LastQuestDate, finish = pev.LastQuestFinish; if (pev.LastQuestDate < evQuest.startDate) { pev.LastQuestDate = 0; pev.LastQuestFinish = 0; c.SendPacket(new SERVER_MESSAGE_EVENT_QUEST_PAK()); } if (pev.LastQuestFinish == 0) { c._mission.mission4 = 13; //MissionId if (pev.LastQuestDate == 0) { pev.LastQuestDate = (uint)dateNow; } } if (pev.LastQuestDate != date || pev.LastQuestFinish != finish) { EventQuestSyncer.ResetPlayerEvent(c.player_id, pev); } } EventLoginModel evLogin = EventLoginSyncer.getRunningEvent(); if (evLogin != null && !(evLogin.startDate < pev.LastLoginDate && pev.LastLoginDate < evLogin.endDate)) { ItemsModel item = new ItemsModel(evLogin._rewardId, evLogin._category, "Login event", 1, (uint)evLogin._count); PlayerManager.tryCreateItem(item, c._inventory, c.player_id); c.SendPacket(new SERVER_MESSAGE_ITEM_RECEIVE_PAK(0)); if (item._category == 1) { weapons.Add(item); } else if (item._category == 2) { charas.Add(item); } else if (item._category == 3) { cupons.Add(item); } ComDiv.updateDB("player_events", "last_login_date", dateNow, "player_id", c.player_id); } if (evVisit != null && pev.LastVisitEventId != evVisit.id) { pev.LastVisitEventId = evVisit.id; pev.LastVisitSequence1 = 0; pev.LastVisitSequence2 = 0; pev.NextVisitDate = 0; EventVisitSyncer.ResetPlayerEvent(c.player_id, evVisit.id); } EventXmasModel evXmas = EventXmasSyncer.getRunningEvent(); if (evXmas != null) { if (pev.LastXmasRewardDate < evXmas.startDate) { pev.LastXmasRewardDate = 0; ComDiv.updateDB("player_events", "last_xmas_reward_date", 0, "player_id", c.player_id); } if (!(pev.LastXmasRewardDate > evXmas.startDate && pev.LastXmasRewardDate <= evXmas.endDate)) { _xmas = true; } } } //ComDiv.updateDB("contas", "last_login", dateNow, "player_id", c.player_id); }