cOMS/models/mob/player/PlayerStats.h
2024-07-12 15:26:57 +02:00

349 lines
11 KiB
C

/**
* Jingga
*
* @copyright Jingga
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
#ifndef TOS_MODELS_MOB_PLAYER_STATS_H
#define TOS_MODELS_MOB_PLAYER_STATS_H
#include "../../../stdlib/Types.h"
#if SERVER
struct SPlayerStats {
byte stat_str; // strength : effects health + base damage
byte stat_int; // inteligence : effects resource + base demage
byte stat_acc; // accuracy : effects critical chance + base damage + miss chance
byte stat_agi; // agility : effects resource + base damage + dodge change
byte stat_def; // defense : effects resource + base defense + dodge change
byte stat_sta; // stamina : effects health regen + resource regen
// Naming conventions
// : total
// _base : character stats (see stat_ above)
// _equip : character equipment
// _item : other item effects (consumables, e.g. potions)
// _effect : external aoe/skill effect
// _skill : own skill
// Damage types
unsigned int dmg;
unsigned int dmg_base;
unsigned int dmg_equip;
unsigned int dmg_item;
unsigned int dmg_effect;
unsigned int dmg_skill;
unsigned int dmg_pircing;
unsigned int dmg_pircing_base;
unsigned int dmg_pircing_equip;
unsigned int dmg_pircing_item;
unsigned int dmg_pircing_effect;
unsigned int dmg_pircing_skill;
unsigned int dmg_slashing;
unsigned int dmg_slashing_base;
unsigned int dmg_slashing_equip;
unsigned int dmg_slashing_item;
unsigned int dmg_slashing_effect;
unsigned int dmg_slashing_skill;
unsigned int dmg_bludgeoning;
unsigned int dmg_bludgeoning_base;
unsigned int dmg_bludgeoning_equip;
unsigned int dmg_bludgeoning_item;
unsigned int dmg_bludgeoning_effect;
unsigned int dmg_bludgeoning_skill;
unsigned int dmg_fire;
unsigned int dmg_fire_base;
unsigned int dmg_fire_equip;
unsigned int dmg_fire_item;
unsigned int dmg_fire_effect;
unsigned int dmg_fire_skill;
unsigned int dmg_water;
unsigned int dmg_water_base;
unsigned int dmg_water_equip;
unsigned int dmg_water_item;
unsigned int dmg_water_effect;
unsigned int dmg_water_skill;
unsigned int dmg_ice;
unsigned int dmg_ice_base;
unsigned int dmg_ice_equip;
unsigned int dmg_ice_item;
unsigned int dmg_ice_effect;
unsigned int dmg_ice_skill;
unsigned int dmg_earth;
unsigned int dmg_earth_base;
unsigned int dmg_earth_equip;
unsigned int dmg_earth_item;
unsigned int dmg_earth_effect;
unsigned int dmg_earth_skill;
unsigned int dmg_wind;
unsigned int dmg_wind_base;
unsigned int dmg_wind_equip;
unsigned int dmg_wind_item;
unsigned int dmg_wind_effect;
unsigned int dmg_wind_skill;
unsigned int dmg_poison;
unsigned int dmg_poison_base;
unsigned int dmg_poison_equip;
unsigned int dmg_poison_item;
unsigned int dmg_poison_effect;
unsigned int dmg_poison_skill;
unsigned int dmg_lightning;
unsigned int dmg_lightning_base;
unsigned int dmg_lightning_equip;
unsigned int dmg_lightning_item;
unsigned int dmg_lightning_effect;
unsigned int dmg_lightning_skill;
unsigned int dmg_holy;
unsigned int dmg_holy_base;
unsigned int dmg_holy_equip;
unsigned int dmg_holy_item;
unsigned int dmg_holy_effect;
unsigned int dmg_holy_skill;
unsigned int dmg_arcane;
unsigned int dmg_arcane_base;
unsigned int dmg_arcane_equip;
unsigned int dmg_arcane_item;
unsigned int dmg_arcane_effect;
unsigned int dmg_arcane_skill;
unsigned int dmg_corrupted;
unsigned int dmg_corrupted_base;
unsigned int dmg_corrupted_equip;
unsigned int dmg_corrupted_item;
unsigned int dmg_corrupted_effect;
unsigned int dmg_corrupted_skill;
unsigned int dmg_crit;
unsigned int dmg_crit_base;
unsigned int dmg_crit_equip;
unsigned int dmg_crit_item;
unsigned int dmg_crit_effect;
unsigned int dmg_crit_skill;
float dmg_crit_chance;
float dmg_crit_chance_base;
float dmg_crit_chance_equip;
float dmg_crit_chance_item;
float dmg_crit_chance_effect;
float dmg_crit_chance_skill;
// Health & Resource
unsigned int health;
unsigned int health_base;
unsigned int health_equip;
unsigned int health_item;
unsigned int health_effect;
unsigned int health_skill;
unsigned int health_regen;
unsigned int health_regen_base;
unsigned int health_regen_equip;
unsigned int health_regen_item;
unsigned int health_regen_effect;
unsigned int health_regen_skill;
unsigned int resource;
unsigned int resource_base;
unsigned int resource_equip;
unsigned int resource_item;
unsigned int resource_effect;
unsigned int resource_skill;
unsigned int resource_regen;
unsigned int resource_regen_base;
unsigned int resource_regen_equip;
unsigned int resource_regen_item;
unsigned int resource_regen_effect;
unsigned int resource_regen_skill;
// Defense types
// think about it as armor and/or resistence if it helps
unsigned int defense;
unsigned int defense_base;
unsigned int defense_equip;
unsigned int defense_item;
unsigned int defense_effect;
unsigned int defense_skill;
unsigned int defense_pircing;
unsigned int defense_pircing_base;
unsigned int defense_pircing_equip;
unsigned int defense_pircing_item;
unsigned int defense_pircing_effect;
unsigned int defense_pircing_skill;
unsigned int defense_slashing;
unsigned int defense_slashing_base;
unsigned int defense_slashing_equip;
unsigned int defense_slashing_item;
unsigned int defense_slashing_effect;
unsigned int defense_slashing_skill;
unsigned int defense_bludgeoning;
unsigned int defense_bludgeoning_base;
unsigned int defense_bludgeoning_equip;
unsigned int defense_bludgeoning_item;
unsigned int defense_bludgeoning_effect;
unsigned int defense_bludgeoning_skill;
unsigned int defense_fire;
unsigned int defense_fire_base;
unsigned int defense_fire_equip;
unsigned int defense_fire_item;
unsigned int defense_fire_effect;
unsigned int defense_fire_skill;
unsigned int defense_water;
unsigned int defense_water_base;
unsigned int defense_water_equip;
unsigned int defense_water_item;
unsigned int defense_water_effect;
unsigned int defense_water_skill;
unsigned int defense_ice;
unsigned int defense_ice_base;
unsigned int defense_ice_equip;
unsigned int defense_ice_item;
unsigned int defense_ice_effect;
unsigned int defense_ice_skill;
unsigned int defense_earth;
unsigned int defense_earth_base;
unsigned int defense_earth_equip;
unsigned int defense_earth_item;
unsigned int defense_earth_effect;
unsigned int defense_earth_skill;
unsigned int defense_wind;
unsigned int defense_wind_base;
unsigned int defense_wind_equip;
unsigned int defense_wind_item;
unsigned int defense_wind_effect;
unsigned int defense_wind_skill;
unsigned int defense_poison;
unsigned int defense_poison_base;
unsigned int defense_poison_equip;
unsigned int defense_poison_item;
unsigned int defense_poison_effect;
unsigned int defense_poison_skill;
unsigned int defense_lightning;
unsigned int defense_lightning_base;
unsigned int defense_lightning_equip;
unsigned int defense_lightning_item;
unsigned int defense_lightning_effect;
unsigned int defense_lightning_skill;
unsigned int defense_holy;
unsigned int defense_holy_base;
unsigned int defense_holy_equip;
unsigned int defense_holy_item;
unsigned int defense_holy_effect;
unsigned int defense_holy_skill;
unsigned int defense_arcane;
unsigned int defense_arcane_base;
unsigned int defense_arcane_equip;
unsigned int defense_arcane_item;
unsigned int defense_arcane_effect;
unsigned int defense_arcane_skill;
unsigned int defense_corrupted;
unsigned int defense_corrupted_base;
unsigned int defense_corrupted_equip;
unsigned int defense_corrupted_item;
unsigned int defense_corrupted_effect;
unsigned int defense_corrupted_skill;
// Accuracy
float dodge_chance;
float dodge_chance_base;
float dodge_chance_equip;
float dodge_chance_item;
float dodge_chance_effect;
float dodge_chance_skill;
float root_protection;
float root_protection_base;
float root_protection_equip;
float root_protection_item;
float root_protection_effect;
float root_protection_skill;
float miss_chance;
float miss_chance_base;
float miss_chance_equip;
float miss_chance_item;
float miss_chance_effect;
float miss_chance_skill;
// Movement
// Additional speeds may be defined for players
float speed_walk1; // normal/fast
float speed_walk1_base;
float speed_walk1_equip;
float speed_walk1_item;
float speed_walk1_effect;
float speed_walk1_skill;
float speed_walk2; // casual/slow
float speed_swim1; // normal/fast
float speed_swim1_base;
float speed_swim1_equip;
float speed_swim1_item;
float speed_swim1_effect;
float speed_swim1_skill;
float speed_swim2; // casual/slow
float speed_fly1; // normal/fast
float speed_fly1_base;
float speed_fly1_equip;
float speed_fly1_item;
float speed_fly1_effect;
float speed_fly1_skill;
float speed_fly2; // casual/slow
float speed_jump;
float speed_dodge;
float speed_turn;
// Fighting speed
float speed_cast;
float speed_cast_base;
float speed_cast_equip;
float speed_cast_item;
float speed_cast_effect;
float speed_cast_skill;
float speed_attack;
float speed_attack_base;
float speed_attack_equip;
float speed_attack_item;
float speed_attack_effect;
float speed_attack_skill;
};
#endif
struct CPlayerStats {
};
#endif