12#ifndef TT_INCLUDE__ARMORWARHEADMANAGER_H
13#define TT_INCLUDE__ARMORWARHEADMANAGER_H
15#error cant use this in ddbedit
17#include "engine_string.h"
19typedef unsigned int ArmorType;
20typedef unsigned int WarheadType;
21class SCRIPTS_API ArmorWarheadManager
24 static void Init(
void );
25 static void Shutdown(
void );
26 static bool Is_Armor_Soft( ArmorType armor );
27 static int Get_Num_Armor_Types(
void );
28 static ArmorType Get_Armor_Type(
const char *name );
29 static const char * Get_Armor_Name( ArmorType type );
30 static int Get_Num_Warhead_Types(
void );
31 static WarheadType Get_Warhead_Type(
const char *name );
32 static const char * Get_Warhead_Name( WarheadType type );
33 static int Get_Armor_Save_ID( ArmorType type );
34 static ArmorType Find_Armor_Save_ID(
int id );
35 static int Get_Warhead_Save_ID( WarheadType type );
36 static ArmorType Find_Warhead_Save_ID(
int id );
37 static float Get_Damage_Multiplier( ArmorType armor, WarheadType warhead );
38 static float Get_Shield_Absorbsion( ArmorType armor, WarheadType warhead );
40 SPECIAL_DAMAGE_TYPE_NONE,
41 SPECIAL_DAMAGE_TYPE_FIRE,
42 SPECIAL_DAMAGE_TYPE_CHEM,
43 SPECIAL_DAMAGE_TYPE_ELECTRIC,
44 SPECIAL_DAMAGE_TYPE_CNC_FIRE,
45 SPECIAL_DAMAGE_TYPE_CNC_CHEM,
46 SPECIAL_DAMAGE_TYPE_SUPER_FIRE,
47 NUM_SPECIAL_DAMAGE_TYPES,
49 static SpecialDamageType Get_Special_Damage_Type( WarheadType type );
50 static float Get_Special_Damage_Probability( WarheadType type );
51 static WarheadType Get_Special_Damage_Warhead( SpecialDamageType type );
52 static float Get_Special_Damage_Duration( SpecialDamageType type );
53 static float Get_Special_Damage_Scale( SpecialDamageType type );
54 static const char * Get_Special_Damage_Explosion( SpecialDamageType type );
55 static float Get_Visceroid_Probability( WarheadType type );
56 static bool Is_Skin_Impervious( SpecialDamageType type, ArmorType skin );
57 static safe_float *Multipliers;
58 static safe_float *Absorbsion;