public static string GetReward(this QuestRewardType type, int pokemonId, int amount, ItemId item, bool isDitto = false, bool isShiny = false) { var rewardKey = "quest_reward_" + Convert.ToInt32(type); switch (type) { case QuestRewardType.AvatarClothing: case QuestRewardType.Quest: return(Translator.Instance.Translate(rewardKey)); case QuestRewardType.Candy: return(Translator.Instance.Translate(rewardKey, amount)); case QuestRewardType.Experience: return(Translator.Instance.Translate(rewardKey, amount)); case QuestRewardType.Item: var itemName = Translator.Instance.GetItem(item); return(Translator.Instance.Translate(rewardKey, amount, itemName)); case QuestRewardType.PokemonEncounter: return((isShiny ? $"**SHINY** " : "") + Translator.Instance.GetPokemonName(isDitto ? 132 : pokemonId)); case QuestRewardType.Stardust: return(Translator.Instance.Translate(rewardKey, amount)); } return("Unknown"); }
public static string GetReward(this QuestRewardType type, int pokemonId, int amount, ItemId item, bool isDitto = false, bool isShiny = false) { switch (type) { case QuestRewardType.AvatarClothing: return("Avatar Clothing"); case QuestRewardType.Candy: return($"{amount.ToString("N0")} Rare Candy"); case QuestRewardType.Experience: return($"{amount.ToString("N0")} XP"); case QuestRewardType.Item: return($"{amount.ToString("N0")} {item.ToString().Replace("_", " ")}"); case QuestRewardType.PokemonEncounter: return((isShiny ? $"**SHINY** " : "") + Database.Instance.Pokemon[isDitto ? 132 : pokemonId].Name); case QuestRewardType.Quest: return("Quest"); case QuestRewardType.Stardust: return($"{amount.ToString("N0")} Stardust"); } return("Unknown"); }
/// <summary> /// Converts the specified quest reward type. /// </summary> /// <param name="questRewardType">Type of the quest reward.</param> /// <returns>The converted value.</returns> public static RewardType Convert(this QuestRewardType questRewardType) { return(questRewardType switch { QuestRewardType.Item => RewardType.Item, QuestRewardType.Experience => RewardType.Experience, QuestRewardType.Money => RewardType.Money, QuestRewardType.GensAttribution => RewardType.GensContribution, QuestRewardType.Undefined => RewardType.None, _ => throw new ArgumentException($"Unknown reward type {questRewardType}.") });
public Quest(QuestType questType, int target, QuestRewardType rewardType, int reward, string rewardImagePath) { this.questType = questType; this.target = target; this.rewardAmount = reward; this.rewardType = rewardType; this.rewardImagePath = rewardImagePath; switch (questType) { case QuestType.GATHERING_BUILDING_MATERIALS: this.title = "Piling up!"; this.description = "Gather building materials"; break; case QuestType.GATHERING_COINS: this.title = "Coinspiration theory!"; this.description = "Gather a number of coins."; break; case QuestType.FEED_FOOD: this.title = "Gluttony!"; this.description = "Feed your pet a number of food items."; break; case QuestType.FIND_SEEDS: this.title = "Need for seed!"; this.description = "Gather seeds of any type."; break; case QuestType.GAIN_EXPERIENCE: this.title = "Leveling up!"; this.description = "Gain a number of experience points."; break; case QuestType.WALK: this.title = "Walk in the park!"; this.description = "Take a number of steps."; break; case QuestType.HARVEST: this.title = "Farm plot hot shot!"; this.description = "Harvest produce from your farm plots a number of times."; break; case QuestType.MARKERS: this.title = "Mark my world!"; this.description = "Find and activate a number of markers in the world."; break; } initQuestListener(); }
private QuestReward LoadReward(XElement element) { QuestRewardType rewardType = element.GetEnum <QuestRewardType>("type"); switch (rewardType) { case QuestRewardType.credits: { QuestReward creditsReward = new QuestReward(); creditsReward.Load(element); return(creditsReward); } case QuestRewardType.exp: { QuestReward expReward = new QuestReward(); expReward.Load(element); return(expReward); } case QuestRewardType.nebula_credits: { QuestReward nebCreditsReward = new QuestReward(); nebCreditsReward.Load(element); return(nebCreditsReward); } case QuestRewardType.item: { InventoryObjectType inventoryObjectType = element.GetEnum <InventoryObjectType>("inventory_type"); switch (inventoryObjectType) { case InventoryObjectType.Scheme: { SchemeItemQuestReward schemeReward = new SchemeItemQuestReward(); schemeReward.Load(element); return(schemeReward); } case InventoryObjectType.Material: { MaterialItemQuestReward materialReward = new MaterialItemQuestReward(); materialReward.Load(element); return(materialReward); } case InventoryObjectType.Weapon: { WeaponItemQuestReward weaponReward = new WeaponItemQuestReward(); weaponReward.Load(element); return(weaponReward); } } break; } } return(null); }
public void SelectQuestReward(int _reward, QuestRewardType _type) { if (!rewardTypes[_reward].HasFlag(_type)) { Debug.LogError("Wrong selection for this quest reward!"); return; } //Bitwise And Not(_type) operation with clear flag to ignore previous Primary/Secondary flag. if (selectedRewardTypes[_reward].HasFlag(_type)) { selectedRewardTypes[_reward] &= ~(QuestRewardType.Clear_Flag); } selectedRewardTypes[_reward] |= _type; }
public static int getRewardTypeConversionRate(QuestRewardType rewardType) { switch (rewardType) { case QuestRewardType.BUILDING_MATERIALS: return(1); case QuestRewardType.COINS: return(2); case QuestRewardType.EXPERIENCE: return(5); } return(1); }
public static string getRewardTypeImagePath(QuestRewardType rewardType) { switch (rewardType) { case QuestRewardType.BUILDING_MATERIALS: return("Augotchi/Image/Reward/Icon_BM"); case QuestRewardType.COINS: return("Augotchi/Image/Reward/Icon_Coin"); case QuestRewardType.EXPERIENCE: return("Augotchi/Image/Reward/Icon_XP"); case QuestRewardType.GARDEN_DECOR: return("Augotchi/Image/Reward/Icon_Decor"); } return("Augotchi/Image/Whiskers"); }
/// <inheritdoc /> public void Show(Player receiver, QuestRewardType reward, int value, AttributeDefinition?attributeReward) { var receiverId = receiver.GetId(this.player); switch (reward) { case QuestRewardType.LevelUpPoints: this.player.Connection?.SendLegacyQuestReward(receiverId, LegacyQuestReward.QuestRewardType.LevelUpPoints, (byte)value); break; case QuestRewardType.CharacterEvolutionFirstToSecond: this.player.Connection?.SendLegacyQuestReward(receiverId, LegacyQuestReward.QuestRewardType.CharacterEvolutionFirstToSecond, (byte)(this.player.SelectedCharacter !.CharacterClass !.Number << 3)); break; case QuestRewardType.CharacterEvolutionSecondToThird: this.player.Connection?.SendLegacyQuestReward(receiverId, LegacyQuestReward.QuestRewardType.CharacterEvolutionSecondToThird, (byte)(this.player.SelectedCharacter !.CharacterClass !.Number << 3)); break; case QuestRewardType.Attribute: if (attributeReward == Stats.IsSkillComboAvailable) { this.player.Connection?.SendLegacyQuestReward(receiverId, LegacyQuestReward.QuestRewardType.ComboSkill, 0); } if (attributeReward == Stats.PointsPerLevelUp) { var questLevel = this.player.GetQuestState(QuestConstants.LegacyQuestGroup)?.ActiveQuest?.MinimumCharacterLevel ?? 220; var points = (this.player.Level - questLevel) * value; this.player.Connection?.SendLegacyQuestReward(receiverId, LegacyQuestReward.QuestRewardType.LevelUpPointsPerLevelIncrease, (byte)points); } break; default: this.player.Logger.LogDebug("Unknown quest reward: {0}", reward); break; } }
public QuestReward(GS.Data.ObjectData _data = null, QuestRewardType _type = QuestRewardType.Primary, int _rewardSize = 1) { data = _data; type = _type; rewardSize = _rewardSize; }
public void GetSelected(out QuestLink _link, out QuestRewardType _types) { _link = quests[selectedQuest]; _types = selectedRewardTypes[selectedQuest]; }
public QuestReward(byte atObjective, int id, int amount, QuestRewardType type) { AtObjective = atObjective; Type = type; Amount = amount; ID = id; }
public static Quest generateQuest() { QuestRewardType rewardType = (QuestRewardType)UnityEngine.Random.Range(0, Enum.GetNames(typeof(QuestRewardType)).Length); QuestType questType = 0; bool questAlreadyInLog = false; do { questAlreadyInLog = false; questType = (QuestType)UnityEngine.Random.Range(0, Enum.GetNames(typeof(QuestType)).Length); foreach (Quest q in PetKeeper.pet.questLog) { if (q.questType == questType) { questAlreadyInLog = true; } } } while (questAlreadyInLog); Quest toReturn = null; switch (questType) { case QuestType.FEED_FOOD: int rnd = UnityEngine.Random.Range(1, 4); toReturn = new Quest( QuestType.FEED_FOOD, rnd * 5, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 20 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; case QuestType.FIND_SEEDS: rnd = UnityEngine.Random.Range(3, 7); toReturn = new Quest( QuestType.FIND_SEEDS, rnd * 4, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 10 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; case QuestType.GAIN_EXPERIENCE: rnd = UnityEngine.Random.Range(2, 11); toReturn = new Quest( QuestType.GAIN_EXPERIENCE, rnd * 500, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 10 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; case QuestType.GATHERING_BUILDING_MATERIALS: rnd = UnityEngine.Random.Range(1, 5); toReturn = new Quest( QuestType.GATHERING_BUILDING_MATERIALS, rnd * 25, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 10 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; case QuestType.GATHERING_COINS: rnd = UnityEngine.Random.Range(1, 11); toReturn = new Quest( QuestType.GATHERING_COINS, rnd * 50, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 10 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; case QuestType.WALK: rnd = UnityEngine.Random.Range(1, 7); toReturn = new Quest( QuestType.WALK, rnd * 500, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 10 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; case QuestType.HARVEST: rnd = UnityEngine.Random.Range(3, 10); toReturn = new Quest( QuestType.HARVEST, rnd, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 25 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; case QuestType.MARKERS: rnd = UnityEngine.Random.Range(3, 7); toReturn = new Quest( QuestType.MARKERS, rnd * 5, rewardType, rewardType == QuestRewardType.GARDEN_DECOR ? 1 : rnd * 5 * getRewardTypeConversionRate(rewardType), getRewardTypeImagePath(rewardType) ); break; } return(toReturn); }