Spellforce-Spell-framework
Loading...
Searching...
No Matches
sf_figure_functions.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include "sf_general_structures.h"
Include dependency graph for sf_figure_functions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  FigureFunctions
 Group of functions to manipulate the behavior and statistics of the game figures (units) More...
 

Typedefs

typedef bool(__thiscall * isAlive_ptr) (SF_CGdFigure *figure, uint16_t target)
 
typedef bool(__thiscall * setWalkSpeed_ptr) (SF_CGdFigure *figure, uint16_t target, uint16_t value)
 
typedef bool(__thiscall * addAction_ptr) (SF_CGdFigure *figure, uint16_t target, void *maybe_action)
 
typedef void(__thiscall * addBonusMultToStatistic_ptr) (SF_CGdFigure *figure, StatisticDataKey key, uint16_t target, int8_t value)
 
typedef uint8_t(__thiscall * addBonusMult_ptr) (FigureStatistic *statistic, uint8_t value)
 
typedef uint16_t(__thiscall * getCurrentHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id)
 
typedef void(__thiscall * decreaseHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id, uint16_t amount)
 
typedef uint16_t(__thiscall * getCurrentMaxMana_ptr) (SF_CGdFigure *figure, uint16_t figure_id)
 
typedef uint16_t(__thiscall * getCurrentMaxHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id)
 
typedef void(__thiscall * setJobToDoCount_ptr) (SF_CGdFigure *figure, uint16_t target_index, uint16_t value)
 
typedef uint16_t(__thiscall * getCurrentHealthPercent_ptr) (SF_CGdFigure *figure, uint16_t figure_id)
 
typedef void(__thiscall * rescaleMana_ptr) (SF_CGdFigure *figure, uint16_t figure_id, uint16_t max_mana)
 
typedef void(__thiscall * rescaleHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id, uint16_t max_health)
 
typedef uint16_t(__thiscall * getJob_ptr) (SF_CGdFigure *figure, uint16_t figure_id)
 
typedef uint16_t(__thiscall * getAggroValue_ptr) (SF_CGdFigure *_this, uint16_t figure_id, uint16_t target_index)
 
typedef void(__thiscall * setAggroValue_ptr) (SF_CGdFigure *_this, uint16_t figure_id, uint16_t target_index, uint16_t aggroValue, uint32_t unkn)
 
typedef void *(__thiscall * getHealersList_ptr) (SF_CGdFigure *_this, void *autoclass9, uint16_t figure_id)
 
typedef bool(__thiscall * isFlagSet_ptr) (SF_CGdFigure *figure, uint16_t figure_index, GdFigureFlags flag)
 
typedef uint16_t(__thiscall * getSpellJobStartNode_ptr) (SF_CGdFigure *figure, uint16_t figure_index)
 
typedef void(__thiscall * subMana_ptr) (SF_CGdFigure *_this, uint16_t param_1, uint32_t param_2)
 
typedef uint16_t(__thiscall * getCurrentMana_ptr) (SF_CGdFigure *figure, uint16_t figure_id)
 
typedef SF_Coord(__thiscall * getPosition_ptr) (SF_CGdFigure *figure, SF_Coord *position, uint16_t figure_id)
 
typedef SF_CGdFigureWeaponStats *(__thiscall * getWeaponStats_ptr) (SF_CGdFigure *figure, SF_CGdFigureWeaponStats *stats_in, uint16_t figure_id)
 
typedef bool(__thiscall * isWarrior_ptr) (SF_CGdFigure *figure, uint16_t figure_id)
 
typedef void(__thiscall * setTask_ptr) (SF_CGdFigure *_figure, uint16_t figure_index, CGdFigureTask figureTask)
 
typedef bool(__thiscall * FUN_006e3a90_ptr) (uint32_t *CGdFigureJobs, uint16_t figure_id)
 
typedef void(__thiscall * disposeHealerList_ptr) (void *healer_list)
 

Enumerations

enum  StatisticDataKey {
  ARMOR , AGILITY , CHARISMA , DEXTERITY ,
  HEALTH , INTELLIGENCE , MANA_STUFF , STAMINA ,
  STRENGTH , WISDOM , RESISTANCE_FIRE , RESISTANCE_ICE ,
  RESISTANCE_MENTAL , RESISTANCE_BLACK , WALK_SPEED , FIGHT_SPEED ,
  CAST_SPEED
}
 
enum  FigureJobs {
  kGdJobDefault = 0 , kGdJobNone = 0 , kGdJobGroupNothing = 1 , kGdJobNothing = 1 ,
  kGdJobStepAside = 2 , kGdJobGroupWalk = 2 , kGdJobOfferMe = 3 , kGdJobShrineWorkerCheckDrop = 4 ,
  kGdJobCarpenterWork = 5 , kGdJobWalkToBasePoint = 6 , kGdJobCastPreResolve = 7 , kGdJobWalkToAttackMonument = 8 ,
  kGdJobCattleBreederWalkToDeliverGood = 9 , kGdJobWoodCutterStoopToDropLog = 10 , kGdJobCattleBreederCheckDrop = 11 , kGdJobWoodCutterCheckDrop = 12 ,
  kGdJobGotoBuildingForWork = 13 , kGdJobStartWorkAtBuilding = 14 , kGdJobCattleBreederWalkHome = 15 , kGdJobCorpseCollectorWalkToCorpse = 16 ,
  kGdJobBuilderWalkToBuildPos = 17 , kGdJobBuilderBuild = 18 , kGdJobCorpseCollectorSearchForWork = 19 , kGdJobStoneMinerCheckDrop = 20 ,
  kGdJobMinerCheckResource = 21 , kGdJobFarmerWalkToDeliverGood = 22 , kGdJobWoodCutterSearchTree = 23 , kGdJobWoodCutterWalkToTree = 24 ,
  kGdJobWoodCutterCheckTree = 25 , kGdJobWoodCutterCutTree = 26 , kGdJobWoodCutterWalkHome = 27 , kGdJobClubMakerSearchForWork = 28 ,
  kGdJobMinerWalkToWork = 29 , kGdJobStoneMinerStoopToDropStone = 30 , kGdJobCorpseCollectorCheckCorpse = 31 , kGdJobStoneMinerSearchStone = 32 ,
  kGdJobStoneMinerWalkToStone = 33 , kGdJobStoneMinerCheckStone = 34 , kGdJobStoneMinerCrushStone = 35 , kGdJobStoneMinerWalkHome = 36 ,
  kGdJobClubMakerWork = 37 , kGdJobGoto = 38 , kGdJobWalkToTarget = 39 , kGdJobHitTarget = 40 ,
  kGdJobDie = 41 , kGdJobWarriorNothing = 42 , kGdJobCast = 43 , kGdJobCarpenterSearchForWork = 44 ,
  kGdJobMinerWalkHome = 45 , kGdJobMinerCheckDrop = 46 , kGdJobSmelterSearchForWork = 47 , kGdJobSmelterWork = 48 ,
  kGdJobMinerWalkToDeliverGood = 49 , kGdJobCarrierCheckDrop = 50 , kGdJobGathererSearchResource = 51 , kGdJobShrineWorkerSearchForWork = 52 ,
  kGdJobShrineWorkerWalkToMana = 53 , kGdJobShrineWorkerTakeMana = 54 , kGdJobShrineWorkerWalkHome = 55 , kGdJobFoodWorkerSearchForWork = 56 ,
  kGdJobFoodWorkerWork = 57 , kGdJobGathererWalkToResource = 58 , kGdJobGathererCheckResource = 59 , kGdJobGathererWork = 60 ,
  kGdJobGathererWalkHome = 61 , kGdJobPriestSearchForWork = 62 , kGdJobPriestWork = 63 , kGdJobFarmerCheckDrop = 64 ,
  kGdJobFarmerCheckHarvest = 65 , kGdJobGathererWalkToDeliverGood = 66 , kGdJobGathererCheckDrop = 67 , kGdJobEnterBuilding = 68 ,
  kGdJobExitBuilding = 69 , kGdJobHunterCheckTarget = 70 , kGdJobHitTargetRange1 = 71 , kGdJobStoneMinerWalkToDeliverGood = 72 ,
  kGdJobWalkToObject = 73 , kGdJobHitTargetRange2 = 74 , kGdJobForesterCheckPlant = 75 , kGdJobForesterSearchForWork = 76 ,
  kGdJobForesterWalkToWork = 77 , kGdJobForesterPlant = 78 , kGdJobForesterWalkHome = 79 , kGdJobCorpseCollectorWalkHome = 80 ,
  kGdJobMeleeAbility = 81 , kGdJobFarmerWaitForWork = 82 , kGdJobOrcRegenerate = 83 , kGdJobFarmerWalkToSow = 84 ,
  kGdJobFarmerSow = 85 , kGdJobFarmerWalkHomeSow = 86 , kGdJobCorpseCollectorCutCorpse = 87 , kGdJobCorpseCollectorWalkToDeliverGood = 88 ,
  kGdJobFarmerWalkToHarvest = 89 , kGdJobFarmerHarvest = 90 , kGdJobFarmerWalkHomeHarvest = 91 , kGdJobCorpseCollectorCheckDrop = 92 ,
  kGdJobWoodCutterWalkToDeliverGood = 93 , kGdJobShrineWorkerCheckMana = 94 , kGdJobFisherSearchForWork = 95 , kGdJobFisherWalkToWork = 96 ,
  kGdJobFisherCheckResource = 97 , kGdJobFisherWork = 98 , kGdJobFisherWalkHome = 99 , kGdJobFisherWalkToDeliverGood = 100 ,
  kGdJobFisherCheckDrop = 101 , kGdJobWalkToPortal = 102 , kGdJobPreCast = 103 , kGdJobBuilderSearchForWork = 104 ,
  kGdJobReleaseDelay = 105 , kGdJobPetIdle = 106 , kGdJobPetWalkToMaster = 107 , kGdJobAnimalIdle = 108 ,
  kGdJobAnimalWalkToNewPlace = 109 , kGdJobWalkToNPC = 110 , kGdJobCriticalHit = 111 , kGdJobMinerSearchResource = 112 ,
  kGdJobMinerWork = 113 , kGdJobMinerStoopToDropGood = 114 , kGdJobFeignDeath = 115 , kGdJob116 = 116 ,
  kGdJob117 = 117 , kGdJob118 = 118 , kGdJobSmithSearchForWork = 119 , kGdJobSmithWork = 120 ,
  kGdJobHunterCheckCorpse = 121 , kGdJobHunterCutCorpse = 122 , kGdJobHunterCheckDrop = 123 , kGdJobCorpseRot = 124 ,
  kGdJobManualWalkToTarget = 125 , kGdJobHunterSearchForWork = 126 , kGdJobHunterWalkToTarget = 127 , kGdJobHunterHitTarget = 128 ,
  kGdJobHunterWalkToCorpse = 129 , kGdJob130 = 130 , kGdJob131 = 131 , kGdJobHunterWalkHome = 132 ,
  kGdJobHunterWalkToDeliverGood = 133 , kGdJobCattleBreederSearchForWork = 134 , kGdJobCattleBreederFeed = 135 , kGdJob136 = 136 ,
  kGdJobCorpseRotWithLoot = 137 , kGdJobCastResolve = 138 , kGdJobWalkToMaster = 139 , kGdJobCheckBattleSleep = 140 ,
  kGdJobWalkToAttackBuilding = 141 , kGdJobWarTowerIdle = 142 , kGdJobGotHit = 143 , kGdJobWalkBack = 144 ,
  kGdJobStrafeLeft = 145 , kGdJobStrafeRight = 146 , kGdJobStoop = 147 , kGdJobStandup = 148 ,
  kGdJobStrike = 149 , kGdJobStab = 150 , kGdJobPunch = 151
}
 

Typedef Documentation

◆ addAction_ptr

typedef bool(__thiscall * addAction_ptr) (SF_CGdFigure *figure, uint16_t target, void *maybe_action)

Definition at line 191 of file sf_figure_functions.h.

◆ addBonusMult_ptr

typedef uint8_t(__thiscall * addBonusMult_ptr) (FigureStatistic *statistic, uint8_t value)

Definition at line 195 of file sf_figure_functions.h.

◆ addBonusMultToStatistic_ptr

typedef void(__thiscall * addBonusMultToStatistic_ptr) (SF_CGdFigure *figure, StatisticDataKey key, uint16_t target, int8_t value)

Definition at line 193 of file sf_figure_functions.h.

◆ decreaseHealth_ptr

typedef void(__thiscall * decreaseHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id, uint16_t amount)

Definition at line 199 of file sf_figure_functions.h.

◆ disposeHealerList_ptr

typedef void(__thiscall * disposeHealerList_ptr) (void *healer_list)

Definition at line 238 of file sf_figure_functions.h.

◆ FUN_006e3a90_ptr

typedef bool(__thiscall * FUN_006e3a90_ptr) (uint32_t *CGdFigureJobs, uint16_t figure_id)

Definition at line 237 of file sf_figure_functions.h.

◆ getAggroValue_ptr

typedef uint16_t(__thiscall * getAggroValue_ptr) (SF_CGdFigure *_this, uint16_t figure_id, uint16_t target_index)

Definition at line 214 of file sf_figure_functions.h.

◆ getCurrentHealth_ptr

typedef uint16_t(__thiscall * getCurrentHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id)

Definition at line 197 of file sf_figure_functions.h.

◆ getCurrentHealthPercent_ptr

typedef uint16_t(__thiscall * getCurrentHealthPercent_ptr) (SF_CGdFigure *figure, uint16_t figure_id)

Definition at line 207 of file sf_figure_functions.h.

◆ getCurrentMana_ptr

typedef uint16_t(__thiscall * getCurrentMana_ptr) (SF_CGdFigure *figure, uint16_t figure_id)

Definition at line 226 of file sf_figure_functions.h.

◆ getCurrentMaxHealth_ptr

typedef uint16_t(__thiscall * getCurrentMaxHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id)

Definition at line 203 of file sf_figure_functions.h.

◆ getCurrentMaxMana_ptr

typedef uint16_t(__thiscall * getCurrentMaxMana_ptr) (SF_CGdFigure *figure, uint16_t figure_id)

Definition at line 201 of file sf_figure_functions.h.

◆ getHealersList_ptr

typedef void *(__thiscall * getHealersList_ptr) (SF_CGdFigure *_this, void *autoclass9, uint16_t figure_id)

Definition at line 218 of file sf_figure_functions.h.

◆ getJob_ptr

typedef uint16_t(__thiscall * getJob_ptr) (SF_CGdFigure *figure, uint16_t figure_id)

Definition at line 212 of file sf_figure_functions.h.

◆ getPosition_ptr

typedef SF_Coord(__thiscall * getPosition_ptr) (SF_CGdFigure *figure, SF_Coord *position, uint16_t figure_id)

Definition at line 228 of file sf_figure_functions.h.

◆ getSpellJobStartNode_ptr

typedef uint16_t(__thiscall * getSpellJobStartNode_ptr) (SF_CGdFigure *figure, uint16_t figure_index)

Definition at line 222 of file sf_figure_functions.h.

◆ getWeaponStats_ptr

typedef SF_CGdFigureWeaponStats *(__thiscall * getWeaponStats_ptr) (SF_CGdFigure *figure, SF_CGdFigureWeaponStats *stats_in, uint16_t figure_id)

Definition at line 231 of file sf_figure_functions.h.

◆ isAlive_ptr

typedef bool(__thiscall * isAlive_ptr) (SF_CGdFigure *figure, uint16_t target)

Definition at line 187 of file sf_figure_functions.h.

◆ isFlagSet_ptr

typedef bool(__thiscall * isFlagSet_ptr) (SF_CGdFigure *figure, uint16_t figure_index, GdFigureFlags flag)

Definition at line 220 of file sf_figure_functions.h.

◆ isWarrior_ptr

typedef bool(__thiscall * isWarrior_ptr) (SF_CGdFigure *figure, uint16_t figure_id)

Definition at line 232 of file sf_figure_functions.h.

◆ rescaleHealth_ptr

typedef void(__thiscall * rescaleHealth_ptr) (SF_CGdFigure *figure, uint16_t figure_id, uint16_t max_health)

Definition at line 211 of file sf_figure_functions.h.

◆ rescaleMana_ptr

typedef void(__thiscall * rescaleMana_ptr) (SF_CGdFigure *figure, uint16_t figure_id, uint16_t max_mana)

Definition at line 209 of file sf_figure_functions.h.

◆ setAggroValue_ptr

typedef void(__thiscall * setAggroValue_ptr) (SF_CGdFigure *_this, uint16_t figure_id, uint16_t target_index, uint16_t aggroValue, uint32_t unkn)

Definition at line 216 of file sf_figure_functions.h.

◆ setJobToDoCount_ptr

typedef void(__thiscall * setJobToDoCount_ptr) (SF_CGdFigure *figure, uint16_t target_index, uint16_t value)

Definition at line 205 of file sf_figure_functions.h.

◆ setTask_ptr

typedef void(__thiscall * setTask_ptr) (SF_CGdFigure *_figure, uint16_t figure_index, CGdFigureTask figureTask)

Definition at line 234 of file sf_figure_functions.h.

◆ setWalkSpeed_ptr

typedef bool(__thiscall * setWalkSpeed_ptr) (SF_CGdFigure *figure, uint16_t target, uint16_t value)

Definition at line 189 of file sf_figure_functions.h.

◆ subMana_ptr

typedef void(__thiscall * subMana_ptr) (SF_CGdFigure *_this, uint16_t param_1, uint32_t param_2)

Definition at line 224 of file sf_figure_functions.h.

Enumeration Type Documentation

◆ FigureJobs

enum FigureJobs
Enumerator
kGdJobDefault 
kGdJobNone 
kGdJobGroupNothing 
kGdJobNothing 
kGdJobStepAside 
kGdJobGroupWalk 
kGdJobOfferMe 
kGdJobShrineWorkerCheckDrop 
kGdJobCarpenterWork 
kGdJobWalkToBasePoint 
kGdJobCastPreResolve 
kGdJobWalkToAttackMonument 
kGdJobCattleBreederWalkToDeliverGood 
kGdJobWoodCutterStoopToDropLog 
kGdJobCattleBreederCheckDrop 
kGdJobWoodCutterCheckDrop 
kGdJobGotoBuildingForWork 
kGdJobStartWorkAtBuilding 
kGdJobCattleBreederWalkHome 
kGdJobCorpseCollectorWalkToCorpse 
kGdJobBuilderWalkToBuildPos 
kGdJobBuilderBuild 
kGdJobCorpseCollectorSearchForWork 
kGdJobStoneMinerCheckDrop 
kGdJobMinerCheckResource 
kGdJobFarmerWalkToDeliverGood 
kGdJobWoodCutterSearchTree 
kGdJobWoodCutterWalkToTree 
kGdJobWoodCutterCheckTree 
kGdJobWoodCutterCutTree 
kGdJobWoodCutterWalkHome 
kGdJobClubMakerSearchForWork 
kGdJobMinerWalkToWork 
kGdJobStoneMinerStoopToDropStone 
kGdJobCorpseCollectorCheckCorpse 
kGdJobStoneMinerSearchStone 
kGdJobStoneMinerWalkToStone 
kGdJobStoneMinerCheckStone 
kGdJobStoneMinerCrushStone 
kGdJobStoneMinerWalkHome 
kGdJobClubMakerWork 
kGdJobGoto 
kGdJobWalkToTarget 
kGdJobHitTarget 
kGdJobDie 
kGdJobWarriorNothing 
kGdJobCast 
kGdJobCarpenterSearchForWork 
kGdJobMinerWalkHome 
kGdJobMinerCheckDrop 
kGdJobSmelterSearchForWork 
kGdJobSmelterWork 
kGdJobMinerWalkToDeliverGood 
kGdJobCarrierCheckDrop 
kGdJobGathererSearchResource 
kGdJobShrineWorkerSearchForWork 
kGdJobShrineWorkerWalkToMana 
kGdJobShrineWorkerTakeMana 
kGdJobShrineWorkerWalkHome 
kGdJobFoodWorkerSearchForWork 
kGdJobFoodWorkerWork 
kGdJobGathererWalkToResource 
kGdJobGathererCheckResource 
kGdJobGathererWork 
kGdJobGathererWalkHome 
kGdJobPriestSearchForWork 
kGdJobPriestWork 
kGdJobFarmerCheckDrop 
kGdJobFarmerCheckHarvest 
kGdJobGathererWalkToDeliverGood 
kGdJobGathererCheckDrop 
kGdJobEnterBuilding 
kGdJobExitBuilding 
kGdJobHunterCheckTarget 
kGdJobHitTargetRange1 
kGdJobStoneMinerWalkToDeliverGood 
kGdJobWalkToObject 
kGdJobHitTargetRange2 
kGdJobForesterCheckPlant 
kGdJobForesterSearchForWork 
kGdJobForesterWalkToWork 
kGdJobForesterPlant 
kGdJobForesterWalkHome 
kGdJobCorpseCollectorWalkHome 
kGdJobMeleeAbility 
kGdJobFarmerWaitForWork 
kGdJobOrcRegenerate 
kGdJobFarmerWalkToSow 
kGdJobFarmerSow 
kGdJobFarmerWalkHomeSow 
kGdJobCorpseCollectorCutCorpse 
kGdJobCorpseCollectorWalkToDeliverGood 
kGdJobFarmerWalkToHarvest 
kGdJobFarmerHarvest 
kGdJobFarmerWalkHomeHarvest 
kGdJobCorpseCollectorCheckDrop 
kGdJobWoodCutterWalkToDeliverGood 
kGdJobShrineWorkerCheckMana 
kGdJobFisherSearchForWork 
kGdJobFisherWalkToWork 
kGdJobFisherCheckResource 
kGdJobFisherWork 
kGdJobFisherWalkHome 
kGdJobFisherWalkToDeliverGood 
kGdJobFisherCheckDrop 
kGdJobWalkToPortal 
kGdJobPreCast 
kGdJobBuilderSearchForWork 
kGdJobReleaseDelay 
kGdJobPetIdle 
kGdJobPetWalkToMaster 
kGdJobAnimalIdle 
kGdJobAnimalWalkToNewPlace 
kGdJobWalkToNPC 
kGdJobCriticalHit 
kGdJobMinerSearchResource 
kGdJobMinerWork 
kGdJobMinerStoopToDropGood 
kGdJobFeignDeath 
kGdJob116 
kGdJob117 
kGdJob118 
kGdJobSmithSearchForWork 
kGdJobSmithWork 
kGdJobHunterCheckCorpse 
kGdJobHunterCutCorpse 
kGdJobHunterCheckDrop 
kGdJobCorpseRot 
kGdJobManualWalkToTarget 
kGdJobHunterSearchForWork 
kGdJobHunterWalkToTarget 
kGdJobHunterHitTarget 
kGdJobHunterWalkToCorpse 
kGdJob130 
kGdJob131 
kGdJobHunterWalkHome 
kGdJobHunterWalkToDeliverGood 
kGdJobCattleBreederSearchForWork 
kGdJobCattleBreederFeed 
kGdJob136 
kGdJobCorpseRotWithLoot 
kGdJobCastResolve 
kGdJobWalkToMaster 
kGdJobCheckBattleSleep 
kGdJobWalkToAttackBuilding 
kGdJobWarTowerIdle 
kGdJobGotHit 
kGdJobWalkBack 
kGdJobStrafeLeft 
kGdJobStrafeRight 
kGdJobStoop 
kGdJobStandup 
kGdJobStrike 
kGdJobStab 
kGdJobPunch 

Definition at line 27 of file sf_figure_functions.h.

◆ StatisticDataKey

Enumerator
ARMOR 
AGILITY 
CHARISMA 
DEXTERITY 
HEALTH 
INTELLIGENCE 
MANA_STUFF 
STAMINA 
STRENGTH 
WISDOM 
RESISTANCE_FIRE 
RESISTANCE_ICE 
RESISTANCE_MENTAL 
RESISTANCE_BLACK 
WALK_SPEED 
FIGHT_SPEED 
CAST_SPEED 

Definition at line 6 of file sf_figure_functions.h.