Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor XP Gamification #19

Open
Novout opened this issue Jan 9, 2023 · 0 comments
Open

Refactor XP Gamification #19

Novout opened this issue Jan 9, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@Novout
Copy link
Member

Novout commented Jan 9, 2023

Esta issue descreve o novo funcionamento do XP, considerado para o novo nivelamento de cargos recompensados no servidor (Beginner, Intermediate, Advanced, Supreme, He4rt)

O cargo He4rt não é unicamente para este sistema, podendo ser ganho por meios externos.

Os outros cargos poderão ter suas nomenclaturas renomeadas para português.

Sketch

Disponível aqui

Tabela:

Atenção: Agora o bot irá usar uma tabela própria de XP, não mais se baseando na tabela do MapleStory

Nível Valor Modificador Cargo Ganho
1- 10 89+ 178+ 267+ 356+ 445+ 534+ 623+ 712+ 801+ 890 = 4895 1.5 Beginner -> 10
11- 20 726+ 792+ 858+ 924+ 990+ 1056+ 1122+ 1188+ 1254+ 1320 = 10230 1.4 Intermediate -> 20
21- 20 1029+ 1078+ 1127+ 1176+ 1225+ 1274+ 1323+ 1372+ 1421+ 1470 = 12495 1.3 Advanced -> 30
31- 40 2046+ 2112+ 2178+ 2244+ 2310+ 2376+ 2442+ 2508+ 2574+ 2640 = 23430 1.4 Supreme -> 40
41- 50 3649+ 3738+ 3827+ 3916+ 4005+ 4094+ 4183+ 4272+ 4361+ 4450 = 40495 1.5 He4rt -> 50
51+ Level * (xp ^ 2) 2.0

Cada valor somado é designado ao seu nível de XP e resetado a cada novo nível, por exemplo: 89 (nvl 1) + 178 (nv1 2) + ...n

Estimativa: Mensagens Por Dia * Total de XP * 30 (dias no mês)

Tabela de Estimativa de Tempo

Como os cargos serão resetados anualmente, terá uma quebra de expectativa aproximadamente no nível 30

XP

Fórmula: (Estado de Voz do Usuário / (Nível Atual * Apoiador) * Modificador de XP Base)

Por Chat

Não-Apoiador (((tamanho da msg / 25) / (10 * 0.3) * 20) * 1.5) = 30*

Apoiador (((tamanho da msg / 25) / (10 * 0.2) * 20) * 1.5) = 45*

Por Voz (Tick de 10 Minutos)

Não-Apoiador ((Enum / (10* 0.5) * 20) * 1.5) = 18*

Apoiador ((Enum / (10* 0.3) * 20) * 1.5) = 30*

Enum - Estado de Voz do Usuário:
Desmutado = 5;
Mutado = 3;
Não-Escutando = 0;

Modificador Fixo de Peso

A API terá que aceitar no body a opção modifier_xp por conta que certos chat's recompensarão mais, como o ME AJUDA!, Fórum, Eventos Especias e Podomoro (* 1.5 de Experiência).

Além do modificador fixo de peso, ocorrerá um modificador global (um de eventos e um do decaimento de ganho) para ajustar a fórmula e chegar no gráfico proposto

Estimativa Final

Caso Máximo

Level 1 até 50
20 (XP Em 10 min) * 6 (Tempo em Horas) * 24 ( Horas por Dia) * 30 (No Mês) = 86.400 XP Por mês ou 720 Horas Conectado
Level 1 até 29
20 (XP Em 10 min) * 6 (Tempo em Horas) * 24 ( Horas por Dia) * 7 (Na Semana) = 20.160 XP Por Semana or 168 Horas Conectado
Level 30+ ~ (1.5 é o Modificador de XP e as horas continuam o mesmo)
((20*6*24*30)/1.5) = 57.300 e ((20*6*24*30)/1.5) = 13440 

Caso Comum

Level 1 até 29
20 (Mensagens por Dia) * 20 (Média de XP Por Mensagem) * 30 (Dias no Mês) = 12.000 XP por mês
Level 30+
20 (Mensagens por Dia) * 20 (Média de XP Por Mensagem) * 30 (Dias no Mês) / 1.5 (Modificador de XP) = 8.000 XP por mês

IMPORTANTE!: Alguns usuários provavelmente irão abusar do sistema e tem muitas situações para cobrir por enquanto, então vamos ter em mente, talvez tenhamos que fazer algo com o usuário ou o sistema.

É Esperado

  • Que um usuário muito ativo no discord receba a tag He4rt aproximadamente em 7 meses;
  • Que um usuário mediano não consiga receber a tag He4rt, mas alcance pelo menos o Advanced em 6 meses;
  • Que um usuário pouco ativo consiga receber a tag Beginner em 4 meses.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants