public void CheckQuest() { if (isQuest) { QuestsSystem.ProgressQuests(quest); } }
public void RemoveNewFlag() { if (this.QuestEntry.IsNew) { QuestsSystem.ClientMarkAsNotNew(this.QuestEntry.Quest); } }
public string Execute(IProtoQuest quest, [CurrentCharacterIfNull] ICharacter player = null) { var quests = player.SharedGetQuests(); QuestsSystem.ServerCompleteQuest(quests, quest, ignoreRequirements: true); return(null); }
private bool ServerRemote_RestoreCharacterData(CharacterProgressData data) { var character = ServerRemoteContext.Character; if (!Server.Core.IsLocalServer || !Server.Core.IsLocalServerHoster(character)) { throw new Exception("The player is not the local server hoster: " + character); } Logger.Important("New Game +: Restoring old character progress"); // restore style CharacterStyleSystem.ServerSetStyle(character, data.FaceStyle, data.IsMale); CharacterCreationSystem.ServerSetOrigin(character, data.ProtoCharacterOrigin); // ensure character spawned CharacterCreationSystem.ServerSpawnIfReady(character); // restore finished quests var quests = character.SharedGetQuests(); quests.ServerReset(); foreach (var quest in data.FinishedQuests) { QuestsSystem.ServerCompleteQuest(quests, quest, ignoreRequirements: true, provideReward: false); } // restore technologies var technologies = character.SharedGetTechnologies(); technologies.ServerSetLearningPoints(data.LearningPoints); foreach (var techGroup in data.TechGroups) { technologies.ServerAddGroup(techGroup); } foreach (var techNode in data.TechNodes) { technologies.ServerAddNode(techNode); } // restore skills var skills = character.SharedGetSkills(); skills.ServerReset(); foreach (var(skill, experience) in data.Skills) { skills.ServerDebugSetSkill(skill, experience); } Logger.Important("New Game +: Finished restoring old character data"); return(true); }
private static string ElfHuntReward(PlayerMain player) { TieredQuest quest = QuestsSystem.GetTieredQuest(Quests.ElfsHunt); float tierMulti = Mathf.Pow(2, quest.Tier - 1); int expGain = Mathf.FloorToInt(100 * tierMulti); int goldGain = Mathf.FloorToInt(150 * tierMulti); player.ExpSystem.GainExp(expGain); player.Currency.Gold += goldGain; QuestsSystem.TieredQuests.Remove(quest); return($"You are rewarded: {expGain}Exp and {goldGain}gold"); }
public string Execute([CurrentCharacterIfNull] ICharacter player = null) { var quests = player.SharedGetQuests(); foreach (var questEntry in quests.Quests.ToList()) { if (!questEntry.IsCompleted) { QuestsSystem.ServerCompleteQuest(quests, questEntry.Quest, ignoreRequirements: true); } } return(null); }
private void OnEnable() { if (basicQuest != null) { if (QuestsSystem.HasQuest(basicQuest.Type)) { PrintQuest(basicQuest); } else { basicQuest = null; ClearQuest(); } } }
public string Execute([CurrentCharacterIfNull] ICharacter player = null) { var quests = player.SharedGetQuests(); foreach (var quest in QuestsSystem.AllQuests) { quests.ServerTryAddQuest(quest, isUnlocked: true); if (!quests.SharedHasCompletedQuest(quest)) { QuestsSystem.ServerCompleteQuest(quests, quest, ignoreRequirements: true); } } return(null); }
private static string BanditLordReward(PlayerMain player) { BasicQuest quest = QuestsSystem.GetBasicQuest(Quests.Bandit); player.ExpSystem.GainExp(300); player.Currency.Gold += 500; QuestsSystem.BasicQuests.Remove(quest); if (PlayerFlags.BeatBanditLord.Cleared) { return("You are rewared: 300Exp and 500gold"); } else { PlayerFlags.BeatBanditLord.Clear(); return($"We can not thank you enough, as an token of our gratitude we have transfered you the rights of the propery around your home. \n\nYou are rewared: 300Exp and 500gold"); } }
public void LoadData(string json) { FullSave fullSave = JsonUtility.FromJson <FullSave>(json); // Singleton static // Reference JsonUtility.FromJsonOverwrite(fullSave.PlayerPart.Who, Player); StartHomeStats.Load(fullSave.HomePart); dorm.Load(fullSave.DormPart); voreChar.Load(fullSave.VoreSaves, Player); // Pure static DateSystem.Load(fullSave.DatePart); QuestsSystem.Load(fullSave.QuestSave); PlayerFlags.Load(fullSave.PlayerFlagsSave); MapEvents.GetMapEvents.Load(fullSave.PosPart, fullSave.TeleportSaves); GameManager.Load(fullSave.GameManagerSave); EventLog.ClearLog(); LoadEvent?.Invoke(); }
private void ExecuteCommandClaimReward() { QuestsSystem.ClientClaimReward(this.QuestEntry.Quest); }
private void AcceptQuest() { QuestsSystem.AddQuest(quest); callBtn.gameObject.SetActive(false); Destroy(gameObject); }
private void OnEnable() { banditQuest.SetActive(QuestsSystem.HasQuest(Quests.Bandit)); elfQuest.SetActive(QuestsSystem.HasQuest(Quests.ElfsHunt)); buyHouse.SetActive(PlayerFlags.BeatBanditLord.Cleared); }
public List <QuestRewardButton> CompletedQuests() => RewardButtons.FindAll(q => QuestsSystem.QuestIsCompleted(q.Quest));
public void AlreadyHasQuest() => questButtons.ForEach(qg => qg.Btn.gameObject.SetActive(!QuestsSystem.HasQuest(qg.Quest)));
private void HadQuest() => spriteRenderer.enabled = QuestsSystem.HasQuest(Quest);