cOMS/models/item/Equipment.h
Dennis Eichhorn 4f1cbd98f9
Some checks failed
Microsoft C++ Code Analysis / Analyze (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (autobuild, c-cpp) (push) Has been cancelled
started templating
2025-03-21 01:08:09 +00:00

54 lines
1.4 KiB
C

/**
* Jingga
*
* @copyright Jingga
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
#ifndef COMS_MODELS_EQUIPMENT_H
#define COMS_MODELS_EQUIPMENT_H
#include "../../stdlib/Types.h"
#include "../mob/MobStats.h"
#include "../mob/skill/StatsTarget.h"
// @todo when to use points and when to use values?
struct Equipment {
byte type;
char* name;
};
struct SEquipmentStatsPoints {
// Item requirements
PrimaryStatsPoints requirements;
// @todo Find a way to add/multiply stats on conditions
// e.g. x% or x amount of health/resource
// Item stats
// items cannot have stats like str, they can only modify primary stats of chars (see below)
SecondaryStatsPoints secondary_item;
// Modifies the char stats
// @todo A character cannot do for example fire damage (only items and skills can do that)
// This means these stats are unused and just use up memory
PrimaryStatsPoints primary_char_add;
PrimaryStatsPoints primary_char_mul;
SecondaryStatsPoints secondary_char_add;
SecondaryStatsPoints secondary_char_mul;
// Modifies the skills
// only modifies skills that have these stats != 0
// @question is primary for skill necessary?
PrimaryStatsPoints primary_skill_add;
PrimaryStatsPoints primary_skill_mul;
SecondaryStatsPoints secondary_skill_add;
SecondaryStatsPoints secondary_skill_mul;
};
#endif