internal static void Write(Stream output, ItemReward instance, Endian endian) { output.WriteValueU32(instance.Item, endian); output.WriteValueS32(instance.Permanent, endian); output.WriteValueS32(instance.Duration, endian); output.WriteValueS32(instance.Quantity, endian); output.WriteValueS32(instance.Delivery, endian); }
public void GiveReward() { if (ItemReward != null) { ItemReward.SetActive(true); } skillTree.skillPoints += SkillPointReward; }
public QuestSaving(List <Goal> goals, string questName, string description, ItemReward reward, bool completed) { this.Goals = goals; this.QuestName = questName; this.Description = description; this.Reward = reward; this.Completed = completed; }
internal static ItemReward Read(Stream input, Endian endian) { var instance = new ItemReward(); instance.Item = input.ReadValueU32(endian); instance.Permanent = input.ReadValueS32(endian); instance.Duration = input.ReadValueS32(endian); instance.Quantity = input.ReadValueS32(endian); instance.Delivery = input.ReadValueS32(endian); return(instance); }
void Start() { // Name of the quest has to be the same as the class name QuestName = "IceSnapQuestEasy"; // InGame description Description = "Snap 40 ice blocks"; Reward = new ItemReward(150); // Add the goals to the list Goals.Add(new IceSnapGoal("Snap 40 ice blocks", false, 0, 40)); Goals.ForEach(g => g.Init()); }
void Start() { // Name of the quest has to be the same as the class name QuestName = "CollectSnowflakeQuestEasy"; // InGame description Description = "Collect 3 snowflakes"; Reward = new ItemReward(100); // Add the goals to the list Goals.Add(new CollectGoal(1, "Collect 3 snowflakes", false, 0, 3)); Goals.ForEach(g => g.Init()); }
void Start() { // Name of the quest has to be the same as the class name QuestName = "TotalDistanceQuestHard"; // InGame description Description = "Reach a total distance of 1600 blocks"; Reward = new ItemReward(800); // Add the goals to the list Goals.Add(new TotalDistanceGoal("Reach a total distance of 1600 blocks", false, 0, 1600)); Goals.ForEach(g => g.Init()); }
void Start() { // Name of the quest has to be the same as the class name QuestName = "DistanceQuestEasy"; // InGame description Description = "Reach a distance of 60 blocks"; Reward = new ItemReward(100); // Add the goals to the list Goals.Add(new DistanceGoal("Reach a distance of 60 blocks", false, 0, 60)); Goals.ForEach(g => g.Init()); }
void Start() { // Name of the quest has to be the same as the class name QuestName = "CollectFishQuestEasy"; // InGame description Description = "Collect 25 fish"; Reward = new ItemReward(100); // Add the goals to the list Goals.Add(new CollectGoal(0, "Collect 25 fish", false, 0, 25)); Goals.ForEach(g => g.Init()); }
void Start() { // Name of the quest has to be the same as the class name QuestName = "PlayGamesQuestHard"; // InGame description Description = "Play 5 game"; Reward = new ItemReward(500); // Add the goals to the list Goals.Add(new GamePlayedGoal("Play 5 Game", false, 0, 5)); Goals.ForEach(g => g.Init()); }
public override async Task <RiftMessage> ApplyAsync(RiftMessage message, FormatData data) { var rewardString = data.Reward switch { ItemReward itemReward => data.RewardService.Format(itemReward), RoleReward roleReward => await data.RewardService.FormatAsync(roleReward), BackgroundReward backgroundReward => await data.RewardService.FormatAsync(backgroundReward), _ => "Пусто :(" }; return(await ReplaceDataAsync(message, rewardString)); } }
public override Reward Copy() { List <string> items = new List <string>(); foreach (string i in itemRewards) { items.Add(i); } ItemReward ir = new ItemReward(items); return(ir); }
async Task GiveAsync(IUser user, ItemReward reward) { if (!(user is SocketGuildUser sgUser)) { return; } await rewardService.DeliverToAsync(sgUser.Id, reward); await messageService.SendMessageAsync("admin-give", Settings.ChannelId.Commands, new FormatData(sgUser.Id) { Reward = reward }); }
public override void Write() { _worldPacket.WriteUInt32(QuestID); _worldPacket.WriteUInt32(XPReward); _worldPacket.WriteInt64(MoneyReward); _worldPacket.WriteUInt32(SkillLineIDReward); _worldPacket.WriteUInt32(NumSkillUpsReward); _worldPacket.WriteBit(UseQuestReward); _worldPacket.WriteBit(LaunchGossip); _worldPacket.WriteBit(LaunchQuest); _worldPacket.WriteBit(HideChatMessage); ItemReward.Write(_worldPacket); }
async Task TakeAsync(IUser user, ItemReward reward) { if (!(user is SocketGuildUser sgUser)) { return; } var invData = reward.ToInventoryData(); await DB.Inventory.RemoveAsync(sgUser.Id, invData); await messageService.SendMessageAsync("admin-take", Settings.ChannelId.Commands, new FormatData(sgUser.Id) { Reward = reward }); }
public string ToPlainString(ItemReward reward) { var sb = new StringBuilder(); if (reward.Coins.HasValue) { sb.Append($"{nameof(reward.Coins)} {reward.Coins.Value.ToString()} "); } if (reward.Tokens.HasValue) { sb.Append($"{nameof(reward.Tokens)} {reward.Tokens.Value.ToString()} "); } if (reward.Chests.HasValue) { sb.Append($"{nameof(reward.Chests)} {reward.Chests.Value.ToString()} "); } if (reward.Spheres.HasValue) { sb.Append($"{nameof(reward.Spheres)} {reward.Spheres.Value.ToString()} "); } if (reward.Capsules.HasValue) { sb.Append($"{nameof(reward.Capsules)} {reward.Capsules.Value.ToString()} "); } if (reward.Tickets.HasValue) { sb.Append($"{nameof(reward.Tickets)} {reward.Tickets.Value.ToString()} "); } if (reward.DoubleExps.HasValue) { sb.Append($"{nameof(reward.DoubleExps)} {reward.DoubleExps.Value.ToString()} "); } if (reward.BotRespects.HasValue) { sb.Append($"{nameof(reward.BotRespects)} {reward.BotRespects.Value.ToString()} "); } if (reward.Rewinds.HasValue) { sb.Append($"{nameof(reward.Rewinds)} {reward.Rewinds.Value.ToString()} "); } return(sb.ToString().TrimEnd()); }
public string Format(ItemReward reward) { var sb = new StringBuilder(); if (reward.Coins.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emotecoins")} {reward.Coins.Value.ToString()} "); } if (reward.Tokens.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emotetokens")} {reward.Tokens.Value.ToString()} "); } if (reward.Chests.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emotechest")} {reward.Chests.Value.ToString()} "); } if (reward.Spheres.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emotesphere")} {reward.Spheres.Value.ToString()} "); } if (reward.Capsules.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emotecapsule")} {reward.Capsules.Value.ToString()} "); } if (reward.Tickets.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emoteticket")} {reward.Tickets.Value.ToString()} "); } if (reward.DoubleExps.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emote2exp")} {reward.DoubleExps.Value.ToString()} "); } if (reward.BotRespects.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emoterespect")} {reward.BotRespects.Value.ToString()} "); } if (reward.Rewinds.HasValue) { sb.Append($"{emoteService.GetEmoteString("$emoterewind")} {reward.Rewinds.Value.ToString()} "); } return(sb.ToString().TrimEnd()); }
protected override void OnAwake() { Transform pivot = transform.Find("Pivot"); btnReturn = pivot.Find("Top/Btn_Return").gameObject; btnReceive = pivot.Find("Content/Pivot/Btn_Receive").gameObject; btnGoto = pivot.Find("Content/Pivot/Btn_Goto").gameObject; mTaskListView = pivot.Find("List/View").GetComponent <UIScrollView>(); for (int i = 1; i <= 3; i++) { mGrids[(ETaskType)i] = pivot.Find("List/View/Grid" + i).GetComponent <UIGrid>(); } mTemp = pivot.Find("List/Temp").gameObject; mTemp.GetComponent <UIToggle>().group = GTWindowManager.Instance.GetToggleGroupId(); mTemp.SetActive(false); mTaskTargetTitle = pivot.Find("Content/Pivot/TaskTargetTitle").GetComponent <UILabel>(); mTaskDesc = pivot.Find("Content/Pivot/TaskDesc").GetComponent <UILabel>(); mTaskPlan = pivot.Find("Content/Pivot/TaskPlan").GetComponent <UILabel>(); for (int i = 1; i <= 6; i++) { Transform trans = pivot.Find("Content/Pivot/Rewards/" + i); ItemReward tab = new ItemReward(); tab.itemBtn = trans.gameObject; tab.itemTexture = trans.Find("Texture").GetComponent <UITexture>(); tab.itemQuality = trans.Find("Quality").GetComponent <UISprite>(); tab.itemNum = trans.Find("Num").GetComponent <UILabel>(); tab.itemChip = trans.Find("Chip").gameObject; mTaskRewards.Add(tab); } int group = GTWindowManager.Instance.GetToggleGroupId(); for (int i = 1; i <= 3; i++) { UIToggle toggle = pivot.Find("Left/Menus/Menu_" + i).GetComponent <UIToggle>(); toggle.group = group; mMenus.Add((ETaskType)i, toggle); } }
private void ShowTaskReward(List <KStruct> list) { for (int i = 0; i < mTaskRewards.Count; i++) { ItemReward tab = mTaskRewards[i]; if (list != null && i < list.Count) { tab.itemBtn.gameObject.SetActive(true); KStruct itemData = list[i]; GTItemHelper.ShowItemTexture(tab.itemTexture, itemData.Id); GTItemHelper.ShowItemQuality(tab.itemQuality, itemData.Id); GTItemHelper.ShowItemNum(tab.itemNum, itemData.Num); GTItemHelper.ShowItemChip(tab.itemChip, itemData.Id); } else { tab.itemBtn.gameObject.SetActive(false); } } }
public override void DrawWindow(BaseNode b) { var list = b.dialogEvents; b.eventListSize = EditorGUILayout.IntField("size", list.Count); if (!b.collapse) { while (b.eventListSize < list.Count) { list.RemoveAt(list.Count - 1); b.addItems.RemoveAt(b.addItems.Count - 1); b.WindowRect.height = b.drawNode.Height; } while (b.eventListSize > list.Count) { list.Add(EDialogEvents.AddItemToPlayersInventory); b.addItems.Add(new ItemReward()); } for (int i = 0; i < list.Count; i++) { list[i] = (EDialogEvents)EditorGUILayout.EnumPopup(list[i]); switch (list[i]) { case EDialogEvents.AddItemToPlayersInventory: EditorGUILayout.LabelField("Item: "); ItemReward it = b.addItems[i]; // it.Item = EditorGUILayout.ObjectField(it.Item, typeof(Item), false) as Item; EditorGUILayout.LabelField("count: "); it.Count = EditorGUILayout.IntField(it.Count); b.addItems[i] = it; break; } EditorGUILayout.LabelField(""); } b.WindowRect.height = b.drawNode.Height + (list.Count * 90); } }
public async Task NitroRewards() { var reward = new ItemReward().AddTokens(10u); var role = await DB.Roles.GetAsync(91); if (!IonicHelper.GetRole(Settings.App.MainGuildId, role.RoleId, out var gr)) { return; } if (!(gr is SocketRole sr)) { return; } foreach (var sgUser in sr.Members) { await rewardService.DeliverToAsync(sgUser.Id, reward); } await messageService.SendMessageAsync("nitro-booster-reward", Settings.ChannelId.Chat, null); }
public async Task Capsules(uint amount, IUser user) { var reward = new ItemReward().AddCapsules(amount); await GiveAsync(user, reward); }
public void Update(ItemReward itemReward) { _repository.Update(Mapping.Mapped.Map <Domain.Entities.ItemReward>(itemReward)); }
async Task GiveRewardsForLevelAsync(ulong userId, uint fromLevel, uint toLevel) { if (!IonicHelper.GetGuildUserById(Settings.App.MainGuildId, userId, out var sgUser)) { return; } var reward = new ItemReward(); for (var level = fromLevel + 1; level <= toLevel; level++) { if (level == 100u) { reward.AddCapsules(1u).AddCoins(2_000u); } else if (level == 50u) { reward.AddSpheres(1u).AddCoins(2_000u); } else if (level % 25u == 0u) { reward.AddSpheres(1u).AddCoins(2_000u); } else if (level % 10u == 0u) { reward.AddTokens(2u).AddCoins(2_000u); } else if (level % 5u == 0u) { reward.AddTickets(1u).AddCoins(2_000u); } else { reward.AddChests(1u).AddCoins(2_000u); } var nitroBooster = await DB.Roles.GetAsync(91); if (IonicHelper.HasRolesAny(sgUser, nitroBooster.RoleId)) { reward.AddChests(2u); } var rankGold = await DB.Roles.GetAsync(3); if (IonicHelper.HasRolesAny(sgUser, rankGold.RoleId)) { reward.AddCoins(250u); } var rankPlatinum = await DB.Roles.GetAsync(11); if (IonicHelper.HasRolesAny(sgUser, rankPlatinum.RoleId)) { reward.AddCoins(500u); } var rankDiamond = await DB.Roles.GetAsync(8); if (IonicHelper.HasRolesAny(sgUser, rankDiamond.RoleId)) { reward.AddCoins(750u); } var rankMaster = await DB.Roles.GetAsync(79); if (IonicHelper.HasRolesAny(sgUser, rankMaster.RoleId)) { reward.AddCoins(1000u); } var rankGrandmaster = await DB.Roles.GetAsync(71); if (IonicHelper.HasRolesAny(sgUser, rankGrandmaster.RoleId)) { reward.AddCoins(1250u); } var rankChallenger = await DB.Roles.GetAsync(23); if (IonicHelper.HasRolesAny(sgUser, rankChallenger.RoleId)) { reward.AddCoins(1500u); } } await rewardService.DeliverToAsync(userId, reward); await messageService.SendMessageAsync("levelup", Settings.ChannelId.Chat, new FormatData(userId) { Reward = reward }); }
async Task <IonicMessage> PurchaseItemInternalAsync(ulong userId, uint itemId) { var item = GetItemById(itemId); if (item is null) { return(await messageService.GetMessageAsync("store-wrongnumber", new FormatData(userId))); } if (!await CanBuyItemAsync(userId)) { return(await messageService.GetMessageAsync("itemstore-cooldown", new FormatData(userId))); } ItemReward reward; switch (item.Type) { case StoreItemType.Chest: reward = new ItemReward().AddChests(item.Amount); break; case StoreItemType.BotRespect: reward = new ItemReward().AddBotRespects(1u); break; case StoreItemType.Sphere: reward = new ItemReward().AddSpheres(1u); break; default: RiftBot.Log.Error($"Wrong type in item store: {item.Type.ToString()}!"); return(MessageService.Error); } if (!await TryWithdrawAsync(userId, item)) { switch (item.Currency) { case Currency.Coins: return(await messageService.GetMessageAsync("store-nocoins", new FormatData(userId))); case Currency.Tokens: return(await messageService.GetMessageAsync("store-notokens", new FormatData(userId))); } } if (item.Type == StoreItemType.Chest) { BoughtChests?.Invoke(null, new BoughtChestsEventArgs(userId, item.Amount)); } await rewardService.DeliverToAsync(userId, reward); await DB.Cooldowns.SetLastItemStoreTimeAsync(userId, DateTime.UtcNow); await DB.Statistics.AddAsync(userId, new StatisticData { PurchasedItems = item.Amount }); RiftBot.Log.Information($"Item purchased: #{item.Id.ToString()} by {userId.ToString()}."); return(await messageService.GetMessageAsync("store-success", new FormatData(userId) { Reward = reward })); }
public async Task CustomTickets(uint amount, IUser user) { var reward = new ItemReward().AddTickets(amount); await TakeAsync(user, reward); }
public async Task BotRespects(uint amount, IUser user) { var reward = new ItemReward().AddBotRespects(amount); await TakeAsync(user, reward); }
public async Task Spheres(uint amount, IUser user) { var reward = new ItemReward().AddSpheres(amount); await TakeAsync(user, reward); }
public async Task Level(uint amount, IUser user) { var reward = new ItemReward().AddDoubleExps(amount); await TakeAsync(user, reward); }
public void MergeFrom(LootReward other) { if (other == null) { return; } if (other.bonusMetadata_ != null) { if (bonusMetadata_ == null) { BonusMetadata = new global::WUProtos.Data.BonusMetadata(); } BonusMetadata.MergeFrom(other.BonusMetadata); } switch (other.RewardDataCase) { case RewardDataOneofCase.ItemReward: if (ItemReward == null) { ItemReward = new global::WUProtos.Data.VaultItemLootReward(); } ItemReward.MergeFrom(other.ItemReward); break; case RewardDataOneofCase.CollectionFamilyReward: if (CollectionFamilyReward == null) { CollectionFamilyReward = new global::WUProtos.Data.Collection.CollectionFamilyLootReward(); } CollectionFamilyReward.MergeFrom(other.CollectionFamilyReward); break; case RewardDataOneofCase.CollectionReward: if (CollectionReward == null) { CollectionReward = new global::WUProtos.Data.Collection.CollectionItemReward(); } CollectionReward.MergeFrom(other.CollectionReward); break; case RewardDataOneofCase.WalkboxReward: if (WalkboxReward == null) { WalkboxReward = new global::WUProtos.Data.WalkboxReward(); } WalkboxReward.MergeFrom(other.WalkboxReward); break; case RewardDataOneofCase.PortkeyReward: if (PortkeyReward == null) { PortkeyReward = new global::WUProtos.Data.PortkeyReward(); } PortkeyReward.MergeFrom(other.PortkeyReward); break; case RewardDataOneofCase.LootTableReward: if (LootTableReward == null) { LootTableReward = new global::WUProtos.Data.Loot.LootTableReward(); } LootTableReward.MergeFrom(other.LootTableReward); break; case RewardDataOneofCase.VaultCapacityReward: if (VaultCapacityReward == null) { VaultCapacityReward = new global::WUProtos.Data.VaultCapacityLootReward(); } VaultCapacityReward.MergeFrom(other.VaultCapacityReward); break; case RewardDataOneofCase.GenericRunestone: if (GenericRunestone == null) { GenericRunestone = new global::WUProtos.Data.GenericRunestoneReward(); } GenericRunestone.MergeFrom(other.GenericRunestone); break; case RewardDataOneofCase.PotionReward: if (PotionReward == null) { PotionReward = new global::WUProtos.Data.Potion.PotionReward(); } PotionReward.MergeFrom(other.PotionReward); break; case RewardDataOneofCase.PortkeyCollectible: if (PortkeyCollectible == null) { PortkeyCollectible = new global::WUProtos.Data.PortkeyCollectibleReward(); } PortkeyCollectible.MergeFrom(other.PortkeyCollectible); break; case RewardDataOneofCase.GenericCollectionFamilyReward: if (GenericCollectionFamilyReward == null) { GenericCollectionFamilyReward = new global::WUProtos.Data.GenericCollectionFamilyLootReward(); } GenericCollectionFamilyReward.MergeFrom(other.GenericCollectionFamilyReward); break; case RewardDataOneofCase.CauldronReward: if (CauldronReward == null) { CauldronReward = new global::WUProtos.Data.CauldronReward(); } CauldronReward.MergeFrom(other.CauldronReward); break; case RewardDataOneofCase.CurrencyReward: if (CurrencyReward == null) { CurrencyReward = new global::WUProtos.Data.CurrencyReward(); } CurrencyReward.MergeFrom(other.CurrencyReward); break; case RewardDataOneofCase.QuestReward: if (QuestReward == null) { QuestReward = new global::WUProtos.Data.QuestReward(); } QuestReward.MergeFrom(other.QuestReward); break; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); }