18typedef enum ShipStatsType_ {
30 SS_TYPE_D_FUEL_USAGE_MOD,
32 SS_TYPE_D_ARMOUR_REGEN_MOD,
34 SS_TYPE_D_SHIELD_REGEN_MOD,
36 SS_TYPE_D_ENERGY_REGEN_MOD,
38 SS_TYPE_D_COOLDOWN_MOD,
39 SS_TYPE_D_SHIELDDOWN_MOD,
45 SS_TYPE_D_CARGO_INERTIA,
50 SS_TYPE_D_EW_SIGNATURE,
56 SS_TYPE_D_EW_JUMPDETECT,
58 SS_TYPE_D_EW_STEALTH_TIMER,
60 SS_TYPE_D_EW_SCANNED_TIME,
64 SS_TYPE_D_WEAPON_RANGE,
65 SS_TYPE_D_WEAPON_DAMAGE,
66 SS_TYPE_D_WEAPON_FIRERATE,
67 SS_TYPE_D_WEAPON_ENERGY,
70 SS_TYPE_D_LAUNCH_RATE,
71 SS_TYPE_D_LAUNCH_RANGE,
72 SS_TYPE_D_LAUNCH_DAMAGE,
73 SS_TYPE_D_LAUNCH_ENERGY,
74 SS_TYPE_D_AMMO_CAPACITY,
75 SS_TYPE_D_LAUNCH_LOCKON,
76 SS_TYPE_D_LAUNCH_CALIBRATION,
77 SS_TYPE_D_LAUNCH_RELOAD,
78 SS_TYPE_D_LAUNCH_ACCEL,
79 SS_TYPE_D_LAUNCH_SPEED,
80 SS_TYPE_D_LAUNCH_TURN,
83 SS_TYPE_D_FBAY_DAMAGE,
85 SS_TYPE_D_FBAY_HEALTH,
87 SS_TYPE_D_FBAY_MOVEMENT,
89 SS_TYPE_D_FBAY_CAPACITY,
91 SS_TYPE_D_FBAY_RELOAD,
94 SS_TYPE_D_FORWARD_HEAT,
95 SS_TYPE_D_FORWARD_DAMAGE,
96 SS_TYPE_D_FORWARD_FIRERATE,
97 SS_TYPE_D_FORWARD_ENERGY,
98 SS_TYPE_D_FORWARD_DAMAGE_AS_DISABLE,
99 SS_TYPE_D_FORWARD_RANGE,
102 SS_TYPE_D_TURRET_HEAT,
103 SS_TYPE_D_TURRET_DAMAGE,
104 SS_TYPE_D_TURRET_TRACKING,
105 SS_TYPE_D_TURRET_FIRERATE,
106 SS_TYPE_D_TURRET_ENERGY,
107 SS_TYPE_D_TURRET_DAMAGE_AS_DISABLE,
108 SS_TYPE_D_TURRET_RANGE,
111 SS_TYPE_D_HEAT_DISSIPATION,
112 SS_TYPE_D_STRESS_DISSIPATION,
115 SS_TYPE_D_ENGINE_LIMIT_REL,
118 SS_TYPE_D_TIME_SPEEDUP,
119 SS_TYPE_D_COOLDOWN_TIME,
120 SS_TYPE_D_JUMP_DISTANCE,
122 SS_TYPE_D_JUMP_WARMUP,
123 SS_TYPE_D_MINING_BONUS,
134 SS_TYPE_A_ENERGY_REGEN,
135 SS_TYPE_A_ENERGY_REGEN_MALUS,
138 SS_TYPE_A_SHIELD_REGEN,
139 SS_TYPE_A_SHIELD_REGEN_MALUS,
142 SS_TYPE_A_ARMOUR_REGEN,
143 SS_TYPE_A_ARMOUR_REGEN_MALUS,
151 SS_TYPE_A_ENGINE_LIMIT,
152 SS_TYPE_A_FUEL_REGEN,
153 SS_TYPE_A_ASTEROID_SCAN,
155 SS_TYPE_A_NEBULA_VISIBILITY,
162 SS_TYPE_P_NEBULA_ABSORB,
163 SS_TYPE_P_JAMMING_CHANCE,
175 SS_TYPE_B_HIDDEN_JUMP_DETECT,
176 SS_TYPE_B_INSTANT_JUMP,
177 SS_TYPE_B_REVERSE_THRUST,
198typedef struct ShipStatList_ {
229typedef struct ShipStats_ {
403 double value,
int overwrite,
int raw );
int ss_statsListDesc(const ShipStatList *ll, char *buf, int len, int newline)
Writes the ship statistics description.
void ss_free(ShipStatList *ll)
Frees a list of ship stats.
int ss_statsMerge(ShipStats *dest, const ShipStats *src)
Merges two different ship stats.
int ss_statsMergeFromList(ShipStats *stats, const ShipStatList *list)
Updates a stat structure from a stat list.
int ss_statsGetLua(lua_State *L, const ShipStats *s, const char *name, int internal)
Gets a ship stat value by name and pushes it to Lua.
const char * ss_nameFromType(ShipStatsType type)
Gets the name from type.
int ss_statsMergeFromListScale(ShipStats *stats, const ShipStatList *list, double scale)
Updates a stat structure from a stat list.
int ss_statsMergeSingleScale(ShipStats *stats, const ShipStatList *list, double scale)
Modifies a stat structure using a single element.
int ss_statsDesc(const ShipStats *s, char *buf, int len, int newline)
Writes the ship statistics description.
int ss_statsMergeSingle(ShipStats *stats, const ShipStatList *list)
Modifies a stat structure using a single element.
size_t ss_offsetFromType(ShipStatsType type)
Gets the offset from type.
ShipStatsType ss_typeFromName(const char *name)
Gets the type from the name.
int ss_listToXML(xmlTextWriterPtr writer, const ShipStatList *ll)
Creatse a shipstat list element from an xml node.
int ss_statsGetLuaTableList(lua_State *L, const ShipStatList *list, int internal)
Converts ship stats to a Lua table, which is pushed on the Lua stack.
double ss_statsGet(const ShipStats *s, const char *name)
Gets a ship stat value by name.
int ss_statsInit(ShipStats *stats)
Initializes a stat structure.
int ss_statsSet(ShipStats *s, const char *name, double value, int overwrite)
Sets a ship stat by name.
int ss_statsGetLuaTable(lua_State *L, const ShipStats *s, int internal)
Converts ship stats to a Lua table, which is pushed on the Lua stack.
int ss_check(void)
Checks for validity.
double ss_statsGetRaw(const ShipStats *s, ShipStatsType type)
Gets a ship stat value by name.
ShipStatList * ss_listFromXML(xmlNodePtr node)
Creates a shipstat list element from an xml node.
int ss_sort(ShipStatList **ll)
Sorts the ship stats, useful if doing saving stuff.
Represents relative ship statistics as a linked list.
struct ShipStatList_ * next
Represents ship statistics, properties ship can use.
double shield_regen_malus
double energy_regen_malus
double launch_calibration
double armour_regen_malus
int misc_hidden_jump_detect
double stress_dissipation