Skip to content

Refactor XP Gamification #19

@Novout

Description

@Novout

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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions