-
Notifications
You must be signed in to change notification settings - Fork 0
/
MWRandCom.h
130 lines (107 loc) · 3.82 KB
/
MWRandCom.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*===========================================================================
*
* File: Mwrandcom.H
* Author: Dave Humphrey ([email protected])
* Created On: May 22, 2003
*
* Description
*
*=========================================================================*/
#ifndef __MWRANDCOM_H
#define __MWRANDCOM_H
/*===========================================================================
*
* Begin Required Includes
*
*=========================================================================*/
#include "EsmFile.h"
/*===========================================================================
* End of Required Includes
*=========================================================================*/
/*===========================================================================
*
* Begin Definitions
*
*=========================================================================*/
/* Arbitrary line length when inputting files */
#define MWRI_MAX_LINELENGTH 255
/* Types of IDs */
#define MWRID_IDTYPE_LONG 0
#define MWRID_IDTYPE_SHORT8 1
#define MWRID_IDTYPE_SHORT4 2
/* Default file names */
#define MWRIG_DEFAULTFILE_ITEM _T("baseitems.dat")
#define MWRIG_DEFAULTFILE_EFFECT _T("effects.dat")
#define MWRIG_DEFAULTFILE_UNIQUE _T("uniques.dat")
#define MWRIG_DEFAULTFILE_LEVELLIST _T("levellists.dat")
/*===========================================================================
* End of Definitions
*=========================================================================*/
/*===========================================================================
*
* Begin Type Definitions
*
*=========================================================================*/
typedef struct {
float IgnoreChance;
float EnchantChance;
int Number;
float Reach1;
float Reach2;
float Speed1;
float Speed2;
int Condition1;
int Condition2;
float Enchant1;
float Enchant2;
float Weight1;
float Weight2;
int ThrustMin1;
int ThrustMin2;
int SlashMin1;
int SlashMin2;
int ChopMin1;
int ChopMin2;
int ThrustMax1;
int ThrustMax2;
int SlashMax1;
int SlashMax2;
int ChopMax1;
int ChopMax2;
float DamageFactor;
float EnchantFactor;
float WeightFactor;
float ReachFactor;
float SpeedFactor;
float HealthFactor;
float ChanceNone;
TCHAR Prefix[32];
bool OutputList;
bool UseShortNumberID;
} mwri_weapondata_t;
/*===========================================================================
* End of Type Definitions
*=========================================================================*/
/*===========================================================================
*
* Begin Function Prototypes
*
*=========================================================================*/
/* General random number generator */
float MakeRandItemNumber (const float FromValue, const float ToValue);
float MakeRandItemNumber (const float FromValue, const float ToValue, const float BellValue);
/* Splits values according to a ratio (0-1.0) */
float SplitValue (const float FromValue, const float ToValue, const float Ratio);
/* Generate random item IDs */
const TCHAR* MakeRandomItemId (const TCHAR* pPrefix);
const TCHAR* MakeNumberItemId8 (const TCHAR* pPrefix);
const TCHAR* MakeNumberItemId4 (const TCHAR* pPrefix);
/* Default structure initialization */
void DefaultWeaponData (mwri_weapondata_t& WeaponData);
/*===========================================================================
* End of Function Prototypes
*=========================================================================*/
#endif
/*===========================================================================
* End of File Mwrandcom.H
*=========================================================================*/