Beispiel #1
0
    private static void ProvideReward(TrophyGradeMetadata grade, GameSession session)
    {
        switch (grade.RewardType)
        {
        // this cases don't require any handling.
        case RewardType.None:
        case RewardType.itemcoloring:
        case RewardType.beauty_hair:
        case RewardType.skillPoint:
        case RewardType.beauty_makeup:
        case RewardType.shop_build:
        case RewardType.shop_weapon:
        case RewardType.dynamicaction:
        case RewardType.etc:
        case RewardType.beauty_skin:
        case RewardType.statPoint:
        case RewardType.shop_ride:
        default:
            break;

        case RewardType.item:
            session.Player.Inventory.AddItem(session, new(grade.RewardCode, grade.RewardValue), true);
            break;

        case RewardType.title:
            session.Player.Titles.Add(grade.RewardCode);
            session.Send(UserEnvPacket.AddTitle(grade.RewardCode));
            break;
        }
    }
Beispiel #2
0
    public override void Execute(GameCommandTrigger trigger)
    {
        Player player = trigger.Session.Player;

        player.Levels.SetLevel(90);
        player.Levels.SetPrestigeLevel(100);
        player.Wallet.Meso.SetAmount(10000000000);   // 10B
        player.Account.Meret.SetAmount(10000000000); // 10B

        // Stickers
        for (int i = 1; i < 7; i++)
        {
            if (player.ChatSticker.Any(x => x.GroupId == i))
            {
                continue;
            }

            trigger.Session.Send(ChatStickerPacket.AddSticker(21100000 + i, i));
            player.ChatSticker.Add(new((byte)i, 9223372036854775807));
        }

        List <int> emotes = SkillMetadataStorage.GetEmotes();

        foreach (int emoteId in emotes)
        {
            // Broken emotes
            if (emoteId is >= 90200032 and <= 90200036)
            {
                continue;
            }

            if (player.Emotes.Contains(emoteId))
            {
                continue;
            }

            player.Emotes.Add(emoteId);

            trigger.Session.Send(EmotePacket.LearnEmote(emoteId));
        }

        List <TitleMetadata> titles = TitleMetadataStorage.GetAll();

        foreach (TitleMetadata title in titles)
        {
            int titleId = title.Id;
            if (player.Titles.Contains(titleId))
            {
                continue;
            }

            player.Titles.Add(titleId);

            trigger.Session.Send(UserEnvPacket.AddTitle(titleId));
        }

        DatabaseManager.Characters.Update(player);
        trigger.Session.Send(NoticePacket.Notice("Done!", NoticeType.Chat));
    }
        private static void HandleTitleScroll(GameSession session, Item item)
        {
            if (session.Player.Titles.Contains(item.Function.Id))
            {
                return;
            }

            session.Player.Titles.Add(item.Function.Id);

            session.Send(UserEnvPacket.AddTitle(item.Function.Id));

            InventoryController.Consume(session, item.Uid, 1);
        }
Beispiel #4
0
        public override void Execute(GameCommandTrigger trigger)
        {
            Player player = trigger.Session.Player;

            // Stickers
            for (int i = 1; i < 7; i++)
            {
                if (player.ChatSticker.Any(x => x.GroupId == i))
                {
                    continue;
                }
                trigger.Session.Send(ChatStickerPacket.AddSticker(21100000 + i, i, 9223372036854775807));
                player.ChatSticker.Add(new ChatSticker((byte)i, 9223372036854775807));
            }

            // Emotes
            for (int i = 1; i < 146; i++)
            {
                int emoteId = 90200000 + i;
                if (player.Emotes.Contains(emoteId))
                {
                    continue;
                }
                player.Emotes.Add(emoteId);

                trigger.Session.Send(EmotePacket.LearnEmote(emoteId));
            }

            // Titles
            for (int i = 1; i < 854; i++)
            {
                int titleId = 10000000 + i;
                if (player.Titles.Contains(titleId))
                {
                    continue;
                }
                player.Titles.Add(titleId);

                trigger.Session.Send(UserEnvPacket.AddTitle(titleId));
            }

            DatabaseManager.Characters.Update(player);
            trigger.Session.Send(NoticePacket.Notice("Done!", NoticeType.Chat));
        }
    public override void Execute(GameCommandTrigger trigger)
    {
        Player player = trigger.Session.Player;

        // Reset stats to default
        player.Stats = new(player.Job);
        player.Stats.AddBaseStats(player, 90);

        trigger.Session.Send(StatPacket.SetStats(player.FieldPlayer));
        trigger.Session.FieldManager.BroadcastPacket(StatPacket.SetStats(player.FieldPlayer), trigger.Session);

        player.Levels.SetLevel(90);
        player.Levels.SetPrestigeLevel(100);
        player.Wallet.Meso.SetAmount(10_000_000_000);                 // 10B
        player.Account.Meret.SetAmount(10_000_000_000);               // 10B

        PremiumClubHandler.ActivatePremium(trigger.Session, 2592000); // 30 days in seconds

        // Stickers
        for (int i = 1; i < 7; i++)
        {
            if (player.ChatSticker.Any(x => x.GroupId == i))
            {
                continue;
            }

            trigger.Session.Send(ChatStickerPacket.AddSticker(21100000 + i, i, long.MaxValue));
            player.ChatSticker.Add(new((byte)i, long.MaxValue));
        }

        List <int> emotes = SkillMetadataStorage.GetEmotes();

        foreach (int emoteId in emotes)
        {
            // Broken emotes
            if (emoteId is >= 90200032 and <= 90200036)
            {
                continue;
            }

            if (player.Emotes.Contains(emoteId))
            {
                continue;
            }

            player.Emotes.Add(emoteId);

            trigger.Session.Send(EmotePacket.LearnEmote(emoteId));
        }

        List <TitleMetadata> titles = TitleMetadataStorage.GetAll();

        foreach (TitleMetadata title in titles)
        {
            int titleId = title.Id;
            if (player.Titles.Contains(titleId))
            {
                continue;
            }

            player.Titles.Add(titleId);

            trigger.Session.Send(UserEnvPacket.AddTitle(titleId));
        }

        DatabaseManager.Characters.Update(player);
        trigger.Session.Send(NoticePacket.Notice("Done!", NoticeType.Chat));
    }