Spellforce-Spell-framework
Loading...
Searching...
No Matches
sf_figure_functions.h
Go to the documentation of this file.
1#pragma once
3
4// Declare the function pointers for the FigureFunctions group
5
6DECLARE_FUNCTION(uint16_t, getCurrentStat, SF_CGdFigure *figure, uint16_t target, StatisticDataKey key);
7DECLARE_FUNCTION(uint16_t, getMaxStat, SF_CGdFigure *figure, uint16_t target, StatisticDataKey key);
8
9DECLARE_FUNCTION(bool, isAlive, SF_CGdFigure *figure, uint16_t target);
10DECLARE_FUNCTION(bool, setWalkSpeed, SF_CGdFigure *figure, uint16_t target,
11 uint16_t value);
12DECLARE_FUNCTION(bool, addAction, SF_CGdFigure *figure, uint16_t target,
13 void *maybe_action);
15 StatisticDataKey key, uint16_t target, int8_t value);
16DECLARE_FUNCTION(uint8_t, addBonusMult, FigureStatistic *statistic,
17 uint8_t value);
18
19DECLARE_FUNCTION(void, decreaseHealth, SF_CGdFigure *figure, uint16_t figure_id,
20 uint16_t amount);
21
22
23DECLARE_FUNCTION(void, setJobToDoCount, SF_CGdFigure *figure,
24 uint16_t target_index, uint16_t value);
25DECLARE_FUNCTION(uint16_t, getCurrentHealthPercent, SF_CGdFigure *figure,
26 uint16_t figure_id);
27DECLARE_FUNCTION(void, rescaleMana, SF_CGdFigure *figure, uint16_t figure_id,
28 uint16_t max_mana);
29DECLARE_FUNCTION(void, rescaleHealth, SF_CGdFigure *figure, uint16_t figure_id,
30 uint16_t max_health);
31DECLARE_FUNCTION(uint16_t, getJob, SF_CGdFigure *figure, uint16_t figure_id);
32DECLARE_FUNCTION(uint16_t, getAggroValue, SF_CGdFigure * _this,
33 uint16_t figure_id, uint16_t target_index);
34DECLARE_FUNCTION(void, setAggroValue, SF_CGdFigure * _this, uint16_t figure_id,
35 uint16_t target_index, uint16_t aggroValue, uint32_t unkn);
36DECLARE_FUNCTION(void *, getHealersList, SF_CGdFigure * _this, void *autoclass9,
37 uint16_t figure_id);
38DECLARE_FUNCTION(bool, isFlagSet, SF_CGdFigure *figure, uint16_t figure_index,
40DECLARE_FUNCTION(uint16_t, getSpellJobStartNode, SF_CGdFigure *figure,
41 uint16_t figure_index);
42DECLARE_FUNCTION(void, subMana, SF_CGdFigure *_this, uint16_t figure_index, int32_t amount);
43DECLARE_FUNCTION(void, subHealth, SF_CGdFigure *_this, uint16_t figure_index, int32_t amount);
44DECLARE_FUNCTION(SF_Coord, getPosition, SF_CGdFigure *figure,
45 SF_Coord *position, uint16_t figure_id);
47 SF_CGdFigure *figure, SF_CGdFigureWeaponStats *stats_in,
48 uint16_t figure_id);
49DECLARE_FUNCTION(bool, isWarrior, SF_CGdFigure *figure, uint16_t figure_id);
50DECLARE_FUNCTION(void, setTask, SF_CGdFigure *_figure, uint16_t figure_index,
51 CGdFigureTask figureTask);
52
53DECLARE_FUNCTION(bool, isSiegeUnit, SF_CGdFigure *figure, uint16_t figure_id);
54
55// Unknown Functons
56DECLARE_FUNCTION(bool, FUN_006e3a90, SF_CGdFigureJobs *_this, uint16_t figure_id);
57DECLARE_FUNCTION(void, prepareJobTransition, SF_CGdFigureJobs *_this, uint16_t figure_id, uint16_t job_from,
58 uint16_t job_to);
59DECLARE_FUNCTION(void, setJob, SF_CGdFigureJobs *_this,uint16_t figure_id,uint16_t job_id);
60DECLARE_FUNCTION(void, onStartJob, SF_CGdFigureJobs *_this, uint16_t figure_id, uint16_t job_id);
61DECLARE_FUNCTION(void, disposeHealerList, void *healer_list);
62DECLARE_FUNCTION(void, setFigureWalkPos, SF_CGdFigureJobs *_this,uint16_t figure_id,SF_Coord *target_pos,
63 uint8_t walk_mode,uint32_t param_4);
void __thiscall addBonusMultToStatistic(SF_CGdFigure *figure, StatisticDataKey key, uint16_t target, int8_t value)
uint16_t __thiscall getCurrentStat(SF_CGdFigure *_this, uint16_t target, StatisticDataKey key)
bool __thiscall isSiegeUnit(SF_CGdFigure *_this, uint16_t figure_index)
Definition sf_wrappers.c:66
uint16_t __thiscall getMaxStat(SF_CGdFigure *_this, uint16_t target, StatisticDataKey key)
void(__thiscall * prepareJobTransition_ptr)(SF_CGdFigureJobs *_this, uint16_t figure_id, uint16_t job_from, uint16_t job_to)
bool(__thiscall * addAction_ptr)(SF_CGdFigure *figure, uint16_t target, void *maybe_action)
void(__thiscall * rescaleHealth_ptr)(SF_CGdFigure *figure, uint16_t figure_id, uint16_t max_health)
void(__thiscall * subMana_ptr)(SF_CGdFigure *_this, uint16_t figure_index, int32_t amount)
void(__thiscall * setTask_ptr)(SF_CGdFigure *_figure, uint16_t figure_index, CGdFigureTask figureTask)
uint16_t(__thiscall * getAggroValue_ptr)(SF_CGdFigure *_this, uint16_t figure_id, uint16_t target_index)
void *(__thiscall * getHealersList_ptr)(SF_CGdFigure *_this, void *autoclass9, uint16_t figure_id)
uint16_t(__thiscall * getSpellJobStartNode_ptr)(SF_CGdFigure *figure, uint16_t figure_index)
bool(__thiscall * FUN_006e3a90_ptr)(SF_CGdFigureJobs *_this, uint16_t figure_id)
void(__thiscall * decreaseHealth_ptr)(SF_CGdFigure *figure, uint16_t figure_id, uint16_t amount)
bool(__thiscall * isSiegeUnit_ptr)(SF_CGdFigure *figure, uint16_t figure_id)
bool(__thiscall * isAlive_ptr)(SF_CGdFigure *figure, uint16_t target)
bool(__thiscall * setWalkSpeed_ptr)(SF_CGdFigure *figure, uint16_t target, uint16_t value)
uint16_t(__thiscall * getJob_ptr)(SF_CGdFigure *figure, uint16_t figure_id)
SF_CGdFigureWeaponStats *(__thiscall * getWeaponStats_ptr)(SF_CGdFigure *figure, SF_CGdFigureWeaponStats *stats_in, uint16_t figure_id)
void(__thiscall * setJob_ptr)(SF_CGdFigureJobs *_this, uint16_t figure_id, uint16_t job_id)
void(__thiscall * subHealth_ptr)(SF_CGdFigure *_this, uint16_t figure_index, int32_t amount)
void(__thiscall * rescaleMana_ptr)(SF_CGdFigure *figure, uint16_t figure_id, uint16_t max_mana)
void(__thiscall * disposeHealerList_ptr)(void *healer_list)
bool(__thiscall * isWarrior_ptr)(SF_CGdFigure *figure, uint16_t figure_id)
SF_Coord(__thiscall * getPosition_ptr)(SF_CGdFigure *figure, SF_Coord *position, uint16_t figure_id)
bool(__thiscall * isFlagSet_ptr)(SF_CGdFigure *figure, uint16_t figure_index, GdFigureFlags flag)
void(__thiscall * setAggroValue_ptr)(SF_CGdFigure *_this, uint16_t figure_id, uint16_t target_index, uint16_t aggroValue, uint32_t unkn)
uint16_t(__thiscall * getCurrentHealthPercent_ptr)(SF_CGdFigure *figure, uint16_t figure_id)
uint16_t(__thiscall * getMaxStat_ptr)(SF_CGdFigure *figure, uint16_t target, StatisticDataKey key)
void(__thiscall * addBonusMultToStatistic_ptr)(SF_CGdFigure *figure, StatisticDataKey key, uint16_t target, int8_t value)
void(__thiscall * setJobToDoCount_ptr)(SF_CGdFigure *figure, uint16_t target_index, uint16_t value)
uint16_t(__thiscall * getCurrentStat_ptr)(SF_CGdFigure *figure, uint16_t target, StatisticDataKey key)
void(__thiscall * onStartJob_ptr)(SF_CGdFigureJobs *_this, uint16_t figure_id, uint16_t job_id)
uint8_t(__thiscall * addBonusMult_ptr)(FigureStatistic *statistic, uint8_t value)
void(__thiscall * setFigureWalkPos_ptr)(SF_CGdFigureJobs *_this, uint16_t figure_id, SF_Coord *target_pos, uint8_t walk_mode, uint32_t param_4)
#define DECLARE_FUNCTION(type, name,...)
Declares a function with the specified return type, name, and arguments.
void __thiscall getWeaponStats(SF_CGdFigure *_this, uint16_t figure_id, uint8_t slot, SF_CGdFigureWeaponStats *stats)
Group of functions to manipulate the behavior and statistics of the game figures (units).
isWarrior_ptr isWarrior
rescaleHealth_ptr rescaleHealth
disposeHealerList_ptr disposeHealerList
getPosition_ptr getPosition
getMaxStat_ptr getMaxStat
setFigureWalkPos_ptr setFigureWalkPos
addBonusMult_ptr addBonusMult
isSiegeUnit_ptr isSiegeUnit
getCurrentStat_ptr getCurrentStat
setJobToDoCount_ptr setJobToDoCount
setWalkSpeed_ptr setWalkSpeed
addAction_ptr addAction
prepareJobTransition_ptr prepareJobTransition
FUN_006e3a90_ptr FUN_006e3a90
decreaseHealth_ptr decreaseHealth
isFlagSet_ptr isFlagSet
getWeaponStats_ptr getWeaponStats
getHealersList_ptr getHealersList
setAggroValue_ptr setAggroValue
onStartJob_ptr onStartJob
getAggroValue_ptr getAggroValue
rescaleMana_ptr rescaleMana
getSpellJobStartNode_ptr getSpellJobStartNode
getCurrentHealthPercent_ptr getCurrentHealthPercent
addBonusMultToStatistic_ptr addBonusMultToStatistic
subHealth_ptr subHealth
A structure for the global list of figures and related statistics for them.