3#include <eosio/eosio.hpp>
4#include <eosio/asset.hpp>
6#include "../../entities/global_state.hpp"
7#include "../../entities/segments.hpp"
Definition: gamification.cpp:4
double calculate_energy_gain(eosio::asset contribution_amount, uint32_t current_level, const Capital::config &config)
Рассчитывает прирост энергии от вклада
Definition: gamification.cpp:43
void update_energy_with_decay(eosio::name coopname, uint64_t contributor_id)
Обновляет энергию участника с учетом естественного снижения (decay)
Definition: gamification.cpp:130
void update_gamification_from_segment(eosio::name coopname, uint64_t contributor_id, const Capital::Segments::segment &segment)
Обновляет геймификацию (уровень и энергию) на основе вкладов из сегмента
Definition: gamification.cpp:201
void add_contribution_and_check_levelup(eosio::name coopname, uint64_t contributor_id, double amount_minor)
Начисляет вклад участнику, разнося его по уровням.
Definition: gamification.cpp:163
LevelProgress apply_contribution_to_levels(double amount_minor, uint32_t start_level, double start_energy, const Capital::config &config)
Разносит вклад по уровням, СПИСЫВАЯ требование каждого пройденного.
Definition: gamification.cpp:83
uint64_t calculate_level_requirement(uint32_t level, const Capital::config &config)
Рассчитывает требуемую сумму вкладов для достижения указанного уровня
Definition: gamification.cpp:14
Definition: gamification.hpp:36
double energy
остаток энергии на достигнутом уровне (0..100)
Definition: gamification.hpp:38
uint32_t level
уровень после начисления
Definition: gamification.hpp:37
Таблица сегментов хранит данные о вкладах участника в проект.
Definition: segments.hpp:34
Конфигурация контракта, управляемая пользователем.
Definition: global_state.hpp:18