Added a new weapon info table field for the upcoming damage system

Added cvar con_color from the old CS days that changes the HUD color (takes RGB)
This commit is contained in:
Marco Hladik 2016-12-13 23:09:49 +01:00
parent 122fbe10ef
commit 2fa81cc594
28 changed files with 207 additions and 159 deletions

View file

@ -24,6 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define DRAWFLAG_MODULATE 2
#define DRAWFLAG_2XMODULATE 3
vector vHUDColor; // Defined in HUD_Draw (HUD.c)
float fVGUI_Display; // The VGUI menu currently being drawn
vector vVideoResolution; // Updated every frame

View file

@ -108,8 +108,8 @@ void HUD_DrawHealth( void ) {
}
vector vHealthPos = [ 16, vVideoResolution_y - 42 ];
drawsubpic( vHealthPos, '24 24 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 2, NUMSIZE_Y], [ NUMSIZE_X, NUMSIZE_X ], VGUI_WINDOW_FGCOLOR, HUD_ALPHA, DRAWFLAG_ADDITIVE );
HUD_DrawNums( getstatf( STAT_HEALTH ), vHealthPos + '72 0', HUD_ALPHA, VGUI_WINDOW_FGCOLOR );
drawsubpic( vHealthPos, '24 24 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 2, NUMSIZE_Y], [ NUMSIZE_X, NUMSIZE_X ], vHUDColor, HUD_ALPHA, DRAWFLAG_ADDITIVE );
HUD_DrawNums( getstatf( STAT_HEALTH ), vHealthPos + '72 0', HUD_ALPHA, vHUDColor );
fOldHealth = getstatf( STAT_HEALTH );
}
@ -134,8 +134,8 @@ void HUD_DrawArmor( void ) {
}
vector vArmorPos = [ 112, vVideoResolution_y - 42 ];
drawsubpic( vArmorPos, '24 24 0', HUD_NUMFILE_LAYER, [ 0, NUMSIZE_Y], [ NUMSIZE_X, NUMSIZE_X ], VGUI_WINDOW_FGCOLOR, fArmorAlpha, DRAWFLAG_ADDITIVE );
HUD_DrawNums( getstatf( STAT_ARMOR ), vArmorPos + '72 0', fArmorAlpha, VGUI_WINDOW_FGCOLOR);
drawsubpic( vArmorPos, '24 24 0', HUD_NUMFILE_LAYER, [ 0, NUMSIZE_Y], [ NUMSIZE_X, NUMSIZE_X ], vHUDColor, fArmorAlpha, DRAWFLAG_ADDITIVE );
HUD_DrawNums( getstatf( STAT_ARMOR ), vArmorPos + '72 0', fArmorAlpha, vHUDColor);
fOldArmor = getstatf( STAT_ARMOR );
}
@ -217,18 +217,18 @@ void HUD_DrawTimer( void ) {
HUD_DrawNumber( iMinutes, vTimePos + '48 0 0', fAlpha, '1 0 0' );
HUD_DrawNumber( iTens, vTimePos + '75 0 0', fAlpha, '1 0 0' );
HUD_DrawNumber( iUnits, vTimePos + '99 0 0',fAlpha, '1 0 0' );
HUD_DrawNumber( iMinutes, vTimePos + '48 0 0', 1 - fAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNumber( iTens, vTimePos + '75 0 0', 1 - fAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNumber( iUnits, vTimePos + '99 0 0',1 - fAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNumber( iMinutes, vTimePos + '48 0 0', 1 - fAlpha, vHUDColor );
HUD_DrawNumber( iTens, vTimePos + '75 0 0', 1 - fAlpha, vHUDColor );
HUD_DrawNumber( iUnits, vTimePos + '99 0 0',1 - fAlpha, vHUDColor );
// : symbol
drawsubpic( vTimePos + '70 6 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], '1 0 0', fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 16 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], '1 0 0', fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 6 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], VGUI_WINDOW_FGCOLOR, 1 - fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 16 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], VGUI_WINDOW_FGCOLOR, 1 - fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 6 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], vHUDColor, 1 - fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 16 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], vHUDColor, 1 - fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos, '24 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 6, NUMSIZE_Y * 3], [ NUMSIZE_X, NUMSIZE_Y ], '1 0 0', fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos, '24 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 6, NUMSIZE_Y * 3], [ NUMSIZE_X, NUMSIZE_Y ], VGUI_WINDOW_FGCOLOR, 1 - fAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos, '24 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 6, NUMSIZE_Y * 3], [ NUMSIZE_X, NUMSIZE_Y ], vHUDColor, 1 - fAlpha, DRAWFLAG_ADDITIVE );
} else {
if ( iUnits != iOldUnits ) {
fTimerAlpha = 1.0;
@ -239,14 +239,14 @@ void HUD_DrawTimer( void ) {
} else {
fTimerAlpha = HUD_ALPHA;
}
HUD_DrawNumber( iMinutes, vTimePos + '48 0 0', fTimerAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNumber( iTens, vTimePos + '75 0 0', fTimerAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNumber( iUnits, vTimePos + '99 0 0', fTimerAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNumber( iMinutes, vTimePos + '48 0 0', fTimerAlpha, vHUDColor );
HUD_DrawNumber( iTens, vTimePos + '75 0 0', fTimerAlpha, vHUDColor );
HUD_DrawNumber( iUnits, vTimePos + '99 0 0', fTimerAlpha, vHUDColor );
drawsubpic( vTimePos + '70 6 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], VGUI_WINDOW_FGCOLOR, fTimerAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 16 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], VGUI_WINDOW_FGCOLOR, fTimerAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 6 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], vHUDColor, fTimerAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos + '70 16 0', '3 3 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.01171875 ], vHUDColor, fTimerAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos, '24 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 6, NUMSIZE_Y * 3], [ NUMSIZE_X, NUMSIZE_Y ], VGUI_WINDOW_FGCOLOR, fTimerAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vTimePos, '24 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 6, NUMSIZE_Y * 3], [ NUMSIZE_X, NUMSIZE_Y ], vHUDColor, fTimerAlpha, DRAWFLAG_ADDITIVE );
iOldUnits = iUnits;
}
}
@ -265,11 +265,22 @@ float fMoneyDifference;
void HUD_DrawMoney( void ) {
// If the money differs from last frame, paint it appropriately
if ( getstatf( STAT_MONEY ) > fOldMoneyValue ) {
// Effect already in progress from something else, go add on top of it!
if ( fMoneyAlphaEffect > 0 ) {
fMoneyDifference += ( fOldMoneyValue - getstatf( STAT_MONEY ) );
} else {
fMoneyDifference = fOldMoneyValue - getstatf( STAT_MONEY );
}
// Make it green for a short time
vMoneyColorEffect = '0 1 0';
fMoneyAlphaEffect = 1.0;
fMoneyDifference = fOldMoneyValue - getstatf( STAT_MONEY );
} else if ( getstatf( STAT_MONEY ) < fOldMoneyValue ) {
// Same one as above
if ( fMoneyAlphaEffect > 0 ) {
fMoneyDifference += ( fOldMoneyValue - getstatf( STAT_MONEY ) );
} else {
fMoneyDifference = fOldMoneyValue - getstatf( STAT_MONEY );
}
// Make it red
vMoneyColorEffect = '1 0 0';
fMoneyAlphaEffect = 1.0;
@ -282,7 +293,7 @@ void HUD_DrawMoney( void ) {
if ( fMoneyAlphaEffect > 0 ) {
fMoneyAlphaEffect -= frametime * 0.5;
drawsubpic( vMoneyPos, '18 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], vMoneyColorEffect, fMoneyAlphaEffect, DRAWFLAG_ADDITIVE );
drawsubpic( vMoneyPos, '18 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], VGUI_WINDOW_FGCOLOR, HUD_ALPHA - ( fMoneyAlphaEffect * 0.5 ), DRAWFLAG_ADDITIVE );
drawsubpic( vMoneyPos, '18 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], vHUDColor, HUD_ALPHA - ( fMoneyAlphaEffect * 0.5 ), DRAWFLAG_ADDITIVE );
// Draw the +/- symbols depending on whether or not we made or lost money
if ( fMoneyDifference < 0 ) {
@ -296,14 +307,14 @@ void HUD_DrawMoney( void ) {
// Draw the regular numbers at their normal positions
HUD_DrawNums( getstatf( STAT_MONEY ), vMoneyPos, fMoneyAlphaEffect, vMoneyColorEffect );
HUD_DrawNums( getstatf( STAT_MONEY ), vMoneyPos, HUD_ALPHA - ( fMoneyAlphaEffect * 0.5 ), VGUI_WINDOW_FGCOLOR );
HUD_DrawNums( getstatf( STAT_MONEY ), vMoneyPos, HUD_ALPHA - ( fMoneyAlphaEffect * 0.5 ), vHUDColor );
// Draw above how much money we've gotten from all this
HUD_DrawNums( fabs( fMoneyDifference ), vMoneyPos + '0 -32 0', fMoneyAlphaEffect, vMoneyColorEffect );
} else {
drawsubpic( vMoneyPos, '18 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], VGUI_WINDOW_FGCOLOR, HUD_ALPHA, DRAWFLAG_ADDITIVE );
drawsubpic( vMoneyPos, '18 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], vHUDColor, HUD_ALPHA, DRAWFLAG_ADDITIVE );
vMoneyPos_x += ( 24 * 5 );
HUD_DrawNums( getstatf( STAT_MONEY ), vMoneyPos, HUD_ALPHA, VGUI_WINDOW_FGCOLOR );
HUD_DrawNums( getstatf( STAT_MONEY ), vMoneyPos, HUD_ALPHA, vHUDColor );
}
fOldMoneyValue = getstatf( STAT_MONEY );
@ -334,15 +345,15 @@ void HUD_DrawAmmo( void ) {
}
vector vAmmoMagPos = [ vVideoResolution_x - 142, vVideoResolution_y - 42 ];
HUD_DrawNums( getstatf( STAT_CURRENT_MAG ), vAmmoMagPos, fAmmoAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNums( getstatf( STAT_CURRENT_MAG ), vAmmoMagPos, fAmmoAlpha, vHUDColor );
drawsubpic( [vVideoResolution_x - 118, vVideoResolution_y - 42], '3 25 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.09765625 ], VGUI_WINDOW_FGCOLOR, fAmmoAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( [vVideoResolution_x - 118, vVideoResolution_y - 42], '3 25 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.09765625 ], vHUDColor, fAmmoAlpha, DRAWFLAG_ADDITIVE );
vector vAmmoCalPos = [ vVideoResolution_x - 64, vVideoResolution_y - 42 ];
HUD_DrawNums( getstatf( STAT_CURRENT_CALIBER ), vAmmoCalPos, fAmmoAlpha, VGUI_WINDOW_FGCOLOR );
HUD_DrawNums( getstatf( STAT_CURRENT_CALIBER ), vAmmoCalPos, fAmmoAlpha, vHUDColor );
// Caliber icon
drawsubpic( vVideoResolution - '42 42 0', '24 24 0', HUD_NUMFILE_LAYER, vHUDCalPos[ wptTable[ getstatf( STAT_ACTIVEWEAPON ) ].iCaliber ], [ NUMSIZE_X, NUMSIZE_X ], VGUI_WINDOW_FGCOLOR, fAmmoAlpha, DRAWFLAG_ADDITIVE );
drawsubpic( vVideoResolution - '42 42 0', '24 24 0', HUD_NUMFILE_LAYER, vHUDCalPos[ wptTable[ getstatf( STAT_ACTIVEWEAPON ) ].iCaliber ], [ NUMSIZE_X, NUMSIZE_X ], vHUDColor, fAmmoAlpha, DRAWFLAG_ADDITIVE );
fOldMag = getstatf( STAT_CURRENT_MAG );
fOldCal = getstatf( STAT_CURRENT_CALIBER );
}
@ -360,20 +371,20 @@ void HUD_DrawProgressBar( void ) {
vector vBar = vSize;
vBar_x = 536 * getstatf( STAT_PROGRESS );
vBar_y = 13;
drawfill( vMainPos + '1 1 0', vBar, VGUI_WINDOW_FGCOLOR, 1, DRAWFLAG_ADDITIVE );
drawfill( vMainPos + '1 1 0', vBar, vHUDColor, 1, DRAWFLAG_ADDITIVE );
// Draw the outline START
v1_x = vMainPos_x + vSize_x;
v1_y = vMainPos_y;
drawline( 1.0, vMainPos - '1 0 0', v1, VGUI_WINDOW_FGCOLOR, 1, DRAWFLAG_ADDITIVE );
drawline( 1.0, vMainPos - '1 0 0', v1, vHUDColor, 1, DRAWFLAG_ADDITIVE );
v2_x = vMainPos_x;
v2_y = vMainPos_y + vSize_y;
drawline( 1.0, vMainPos, v2, VGUI_WINDOW_FGCOLOR, 1, DRAWFLAG_ADDITIVE );
drawline( 1.0, vMainPos, v2, vHUDColor, 1, DRAWFLAG_ADDITIVE );
v3 = vMainPos + vSize;
drawline( 1.0, v1, v3, VGUI_WINDOW_FGCOLOR, 1, DRAWFLAG_ADDITIVE );
drawline( 1.0, v2, v3, VGUI_WINDOW_FGCOLOR, 1, DRAWFLAG_ADDITIVE );
drawline( 1.0, v1, v3, vHUDColor, 1, DRAWFLAG_ADDITIVE );
drawline( 1.0, v2, v3, vHUDColor, 1, DRAWFLAG_ADDITIVE );
// Draw the outline END
}
}
@ -385,7 +396,20 @@ HUD_Draw
Called every frame in Draw.c
=================
*/
string sOldConColor;
void HUD_Draw( void ) {
// Only recalculate the color when it's changed.
if ( cvar_string( "con_color" ) != sOldConColor ) {
sOldConColor = cvar_string( "con_color" );
tokenize( sOldConColor );
vHUDColor_x = stof( argv( 0 ) ) / 255;
vHUDColor_y = stof( argv( 1 ) ) / 255;
vHUDColor_z = stof( argv( 2 ) ) / 255;
} else if ( cvar_string( "con_color" ) == "" ){
vHUDColor_x = 1;
vHUDColor_y = 0.5;
vHUDColor_z = 0;
}
HUD_DrawTimer();

View file

@ -205,7 +205,7 @@ Draws the numbers 1-4 on the selection display
=================
*/
void HUD_DrawWeaponSelect_Num( vector vPos, float fValue ) {
drawsubpic( vPos, '20 20', "sprites/640hud7.spr_0.tga", vHUDSlotNumPos[ fValue ], [ 0.078125, 0.078125 ], VGUI_WINDOW_FGCOLOR, 1, DRAWFLAG_ADDITIVE );
drawsubpic( vPos, '20 20', "sprites/640hud7.spr_0.tga", vHUDSlotNumPos[ fValue ], [ 0.078125, 0.078125 ], vHUDColor, 1, DRAWFLAG_ADDITIVE );
}
/*
@ -230,7 +230,7 @@ void HUD_DrawWeaponSelect( void ) {
HUD_DrawWeaponSelect_Num( vSelectPos, i );
if ( wptTable[ fHUDWeaponSelected ].iSlot == i ) {
drawsubpic( vSelectPos + '0 20', '170 45', wpSymbolTable[ fHUDWeaponSelected ].sSprite, wpSymbolTable[ fHUDWeaponSelected ].vOrigin, [ 0.6640625, 0.17578125 ], VGUI_WINDOW_FGCOLOR, 1, DRAWFLAG_ADDITIVE );
drawsubpic( vSelectPos + '0 20', '170 45', wpSymbolTable[ fHUDWeaponSelected ].sSprite, wpSymbolTable[ fHUDWeaponSelected ].vOrigin, [ 0.6640625, 0.17578125 ], vHUDColor, 1, DRAWFLAG_ADDITIVE );
vSelectPos_x += 170;
} else {
vSelectPos_x += 20;

View file

@ -139,7 +139,7 @@ enum {
SLOT_GRENADE
};
// These values are taken from CS:S' .ctx script files
// These variables are taken from CS:S' .ctx script files, usually and interpreted as I go along...
typedef struct {
int iWeaponID; // Identifier
int iSlot;
@ -167,8 +167,9 @@ typedef struct {
float fAccuracyOffset;
float fMaxInaccuracy;
int iCrosshairMinDistance;
int iCrosshairDeltaDistance;
int iCrosshairMinDistance; // Some weapons just are inaccurate by design...
int iCrosshairDeltaDistance; // Scale factor of sorts
float fWeaponArmorRatio; // Some weapons seem to do more damage to the kevlar than others I guess
} weaponinfo_t;
typedef struct {

View file

@ -46,7 +46,7 @@ void StartFrame( void ) {
}
if ( iInGamePlayers > iOldInGamePlayers ) {
bprint( "Game commencing...\n" );
dprint( "Game commencing...\n" );
Timer_Begin( 2, GAME_COMMENCING );
iOldInGamePlayers = iInGamePlayers;
} else if ( iInGamePlayers == 0 ) {
@ -285,4 +285,3 @@ void worldspawn( void ) {
pointerstat( STAT_WON_T, EV_INTEGER, &iWon_T );
pointerstat( STAT_WON_CT, EV_INTEGER, &iWon_CT );
}

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptAK47 = {
WEAPON_AK47, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
2500, // Price
CALIBER_762MM, // Caliber ID
0.88, // Max Player Speed
@ -33,16 +33,17 @@ weaponinfo_t wptAK47 = {
2, // Penetration Multiplier
8192, // Bullet Range
0.98, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.1, // Attack-Delay
2.4, // Reload-Delay
iAmmo_762MM, // Caliber Pointer
iMag_AK47, // Clip Pointer
iMag_AK47, // Clip Pointer
200, // Accuracy Divisor
0.35, // Accuracy Offset
1.25, // Max Inaccuracy
4,
4
4, // Minimum Crosshair Distance
4, // Crosshair Movement Delta
1.55 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptAUG = {
WEAPON_AUG, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
3500, // Price
CALIBER_762MM, // Caliber ID
0.96, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptAUG = {
2, // Penetration Multiplier
8192, // Bullet Range
0.96, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.09, // Attack-Delay
3.3, // Reload-Delay
iAmmo_762MM, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptAUG = {
215, // Accuracy Divisor
0.3, // Accuracy Offset
1.0, // Max Inaccuracy
3,
3
3, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.4 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptAWP = {
WEAPON_AWP, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
4750, // Price
CALIBER_338MAG, // Caliber ID
0.84, // Max Player Speed
@ -33,16 +33,17 @@ weaponinfo_t wptAWP = {
3, // Penetration Multiplier
8192, // Bullet Range
0.99, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
1.2, // Attack-Delay
2.9, // Reload-Delay
iAmmo_338MAG, // Caliber Pointer
iMag_AWP, // Clip Pointer
-1, // Accuracy Divisor
0, // Accuracy Offset
0, // Max Inaccuracy
8,
3
0, // Max Inaccuracy
8, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.95 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptDEAGLE = {
WEAPON_DEAGLE, // Identifier
SLOT_SECONDARY,
SLOT_SECONDARY, // Slot
650, // Price
CALIBER_50AE, // Caliber ID
1.0, // Max Player Speed
@ -33,16 +33,17 @@ weaponinfo_t wptDEAGLE = {
2, // Penetration Multiplier
4096, // Bullet Range
0.81, // Range Modifier
TYPE_SEMI,
TYPE_SEMI, // Firing Type
0.15, // Attack-Delay
2.1, // Reload-Delay
iAmmo_50AE, // Caliber Pointer
iMag_DEAGLE, // Clip Pointer
iMag_DEAGLE, // Clip Pointer
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
8,
3
8, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.5 // Armor penetration ratio
};
// Anim Table

View file

@ -29,7 +29,7 @@ int iWeaponMode_ELITES;
// Weapon Info
weaponinfo_t wptELITES = {
WEAPON_ELITES, // Identifier
SLOT_SECONDARY,
SLOT_SECONDARY, // Slot
800, // Price
CALIBER_9MM, // Caliber ID
1.0, // Max Player Speed
@ -39,16 +39,17 @@ weaponinfo_t wptELITES = {
1, // Penetration Multiplier
4096, // Bullet Range
0.75, // Range Modifier
TYPE_SEMI,
TYPE_SEMI, // Firing Type
0.15, // Attack-Delay
4.6, // Reload-Delay
iAmmo_9MM, // Caliber Pointer
iMag_ELITES, // Clip Pointer
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
4,
3
1.4, // Max Inaccuracy
4, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.05 // Armor penetration ratio
};
// Anim Table

View file

@ -22,8 +22,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptFIVESEVEN = {
WEAPON_FIVESEVEN, // Identifier
SLOT_SECONDARY,
WEAPON_FIVESEVEN, // Identifier
SLOT_SECONDARY, // Slot
750, // Price
CALIBER_57MM, // Caliber ID
1.0, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptFIVESEVEN = {
1, // Penetration Multiplier
4096, // Bullet Range
0.885, // Range Modifier
TYPE_SEMI,
TYPE_SEMI, // Firing Type
0.15, // Attack-Delay
3.1, // Reload-Delay
iAmmo_57MM, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptFIVESEVEN = {
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
8,
3
8, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.5 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptG3SG1 = {
WEAPON_G3SG1, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
5000, // Price
CALIBER_762MM, // Caliber ID
0.84, // Max Player Speed
@ -33,16 +33,17 @@ weaponinfo_t wptG3SG1 = {
3, // Penetration Multiplier
8192, // Bullet Range
0.98, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.25, // Attack-Delay
4.6, // Reload-Delay
iAmmo_762MM, // Caliber Pointer
iMag_G3SG1, // Clip Pointer
iMag_G3SG1, // Clip Pointer
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
6,
4
6, // Minimum Crosshair Distance
4, // Crosshair Movement Delta
1.65 // Armor penetration ratio
};
// Anim Table

View file

@ -29,7 +29,7 @@ int iWeaponMode_GLOCK18;
// Weapon Info
weaponinfo_t wptGLOCK18 = {
WEAPON_GLOCK18, // Identifier
SLOT_SECONDARY,
SLOT_SECONDARY, // Slot
400, // Price
CALIBER_9MM, // Caliber ID
1.0, // Max Player Speed
@ -39,16 +39,17 @@ weaponinfo_t wptGLOCK18 = {
1, // Penetration Multiplier
4096, // Bullet Range
0.75, // Range Modifier
TYPE_SEMI,
TYPE_SEMI, // Firing Type
0.15, // Attack-Delay
2.1, // Reload-Delay
iAmmo_9MM, // Caliber Pointer
iMag_GLOCK18, // Clip Pointer
iMag_GLOCK18, // Clip Pointer
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracyy
8,
3
8, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.05 // Armor penetration ratio
};
// Anim Table

View file

@ -21,26 +21,27 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptKNIFE = {
WEAPON_KNIFE, // Identifier
SLOT_MELEE,
0, // Price
0, // Caliber ID
1.0, // Max Player Speed
1, // Bullets Per Shot
1, // Clip/MagSize
15, // Damage Per Bullet
1, // Penetration Multiplier
64, // Bullet Range
0.75, // Range Modifier
TYPE_SEMI,
0.15, // Attack-Delay
1.0, // Reload-Delay
iAmmo_9MM, // Caliber Pointer
iMag_GLOCK18, // Clip Pointer
1, // Accuracy Divisor
1.0, // Accuracy Offset
1.0, // Max Inaccuracy
7,
3
SLOT_MELEE, // Slot
0, // Price
0, // Caliber ID
1.0, // Max Player Speed
1, // Bullets Per Shot
1, // Clip/MagSize
50, // Damage Per Bullet
1, // Penetration Multiplier
64, // Bullet Range
0.75, // Range Modifier
TYPE_SEMI, // Firing Type
0.15, // Attack-Delay
1.0, // Reload-Delay
iAmmo_9MM, // Caliber Pointer
iMag_GLOCK18, // Clip Pointer
1, // Accuracy Divisor
1.0, // Accuracy Offset
1.0, // Max Inaccuracy
7, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.7 // Armor penetration ratio
};
// Anim Table

View file

@ -29,7 +29,7 @@ int iWeaponMode_M3;
// Weapon Info
weaponinfo_t wptM3 = {
WEAPON_M3, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
1700, // Price
CALIBER_BUCKSHOT, // Caliber ID
0.92, // Max Player Speed
@ -39,16 +39,17 @@ weaponinfo_t wptM3 = {
1, // Penetration Multiplier
3000, // Bullet Range
0.7, // Range Modifier
TYPE_SEMI,
TYPE_SEMI, // Firing Type
1.0, // Attack-Delay
3.0, // Reload-Delay
iAmmo_BUCKSHOT, // Caliber Pointer
iMag_M3, // Clip Pointer
iMag_M3, // Clip Pointer
200, // Accuracy Divisor
0.35, // Accuracy Offset
1.25, // Max Inaccuracy
8,
6
8, // Minimum Crosshair Distance
6, // Crosshair Movement Delta
1.0 // Armor penetration ratio
};
// Anim Table

View file

@ -29,7 +29,7 @@ int iWeaponMode_M4A1;
// Weapon Info
weaponinfo_t wptM4A1 = {
WEAPON_M4A1, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
3100, // Price
CALIBER_556MM, // Caliber ID
0.92, // Max Player Speed
@ -39,16 +39,17 @@ weaponinfo_t wptM4A1 = {
1, // Penetration Multiplier
8192, // Bullet Range
0.97, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.09, // Attack-Delay
3.1, // Reload-Delay
iAmmo_556MM, // Caliber Pointer
iMag_M4A1, // Clip Pointer
iMag_M4A1, // Clip Pointer
220, // Accuracy Divisor
0.3, // Accuracy Offset
1.0, // Max Inaccuracy
4,
3
4, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.4 // Armor penetration ratio
};
enum {

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptMP5 = {
WEAPON_MP5, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
1500, // Price
CALIBER_9MM, // Caliber ID
1.0, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptMP5 = {
1, // Penetration Multiplier
4096, // Bullet Range
0.84, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.08, // Attack-Delay
2.6, // Reload-Delay
iAmmo_9MM, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptMP5 = {
220, // Accuracy Divisor
0.45, // Accuracy Offset
0.75, // Max Inaccuracy
6,
2
6, // Minimum Crosshair Distance
2, // Crosshair Movement Delta
1.0 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptMAC10 = {
WEAPON_MAC10, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
1400, // Price
CALIBER_45ACP, // Caliber ID
1.0, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptMAC10 = {
1, // Penetration Multiplier
4096, // Bullet Range
0.82, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.075, // Attack-Delay
3.2, // Reload-Delay
iAmmo_45ACP, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptMAC10 = {
200, // Accuracy Divisor
0.6, // Accuracy Offset
1.65, // Max Inaccuracy
9,
3
9, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
0.95 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptP228 = {
WEAPON_P228, // Identifier
SLOT_SECONDARY,
SLOT_SECONDARY, // Slot
600, // Price
CALIBER_357SIG, // Caliber ID
1.0, // Max Player Speed
@ -33,16 +33,17 @@ weaponinfo_t wptP228 = {
1, // Penetration Multiplier
4096, // Bullet Range
0.8, // Range Modifier
TYPE_SEMI,
TYPE_SEMI, // Firing Type
0.15, // Attack-Delay
2.7, // Reload-Delay
iAmmo_357SIG, // Caliber Pointer
iMag_P228, // Clip Pointer
iMag_P228, // Clip Pointer
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
8,
3
8, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.25 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptP90 = {
WEAPON_P90, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
2350, // Price
CALIBER_57MM, // Caliber ID
0.98, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptP90 = {
1, // Penetration Multiplier
4096, // Bullet Range
0.84, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.07, // Attack-Delay
3.3, // Reload-Delay
iAmmo_57MM, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptP90 = {
175, // Accuracy Divisor
0.45, // Accuracy Offset
1.0, // Max Inaccuracy
7,
3
7, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.5 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptPARA = {
WEAPON_PARA, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
5750, // Price
CALIBER_556MMBOX, // Caliber ID
0.88, // Max Player Speed
@ -33,16 +33,17 @@ weaponinfo_t wptPARA = {
2, // Penetration Multiplier
8192, // Bullet Range
0.97, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.08, // Attack-Delay
3.0, // Reload-Delay
iAmmo_556MMBOX, // Caliber Pointer
iMag_PARA, // Clip Pointer
iMag_PARA, // Clip Pointer
175, // Accuracy Divisor
0.4, // Accuracy Offset
0.9, // Max Inaccuracy
6,
3
0.9, // Max Inaccuracy
6, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.6 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptSG550 = {
WEAPON_SG550, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
4200, // Price
CALIBER_556MM, // Caliber ID
0.84, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptSG550 = {
2, // Penetration Multiplier
8192, // Bullet Range
0.98, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.25, // Attack-Delay
3.8, // Reload-Delay
iAmmo_556MM, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptSG550 = {
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
5,
3
5, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.45 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptSG552 = {
WEAPON_SG552, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
3500, // Price
CALIBER_556MM, // Caliber ID
0.94, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptSG552 = {
2, // Penetration Multiplier
8192, // Bullet Range
0.955, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.09, // Attack-Delay
3.2, // Reload-Delay
iAmmo_556MM, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptSG552 = {
220, // Accuracy Divisor
0.3, // Accuracy Offset
1.0, // Max Inaccuracy
5,
3
5, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.4 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptSCOUT = {
WEAPON_SCOUT, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
2750, // Price
CALIBER_762MM, // Caliber ID
1.04, // Max Player Speed
@ -33,16 +33,17 @@ weaponinfo_t wptSCOUT = {
3, // Penetration Multiplier
8192, // Bullet Range
0.98, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
1.25, // Attack-Delay
2.0, // Reload-Delay
iAmmo_762MM, // Caliber Pointer
iMag_SCOUT, // Clip Pointer
iMag_SCOUT, // Clip Pointer
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
5,
3
5, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.7 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptTMP = {
WEAPON_TMP, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
1250, // Price
CALIBER_9MM, // Caliber ID
1.0, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptTMP = {
1, // Penetration Multiplier
4096, // Bullet Range
0.84, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.07, // Attack-Delay
2.1, // Reload-Delay
iAmmo_9MM, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptTMP = {
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
7,
3
7, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.0 // Armor penetration ratio
};
// Anim Table

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Weapon Info
weaponinfo_t wptUMP45 = {
WEAPON_UMP45, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
1700, // Price
CALIBER_45ACP, // Caliber ID
1.0, // Max Player Speed
@ -33,7 +33,7 @@ weaponinfo_t wptUMP45 = {
1, // Penetration Multiplier
4096, // Bullet Range
0.82, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.105, // Attack-Delay
3.5, // Reload-Delay
iAmmo_45ACP, // Caliber Pointer
@ -41,8 +41,9 @@ weaponinfo_t wptUMP45 = {
210, // Accuracy Divisor
0.5, // Accuracy Offset
1, // Max Inaccuracy
6,
3
6, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.0 // Armor penetration ratio
};
// Anim Table

View file

@ -29,7 +29,7 @@ int iWeaponMode_USP45;
// Weapon Info
weaponinfo_t wptUSP45 = {
WEAPON_USP45, // Identifier
SLOT_SECONDARY,
SLOT_SECONDARY, // Slot
500, // Price
CALIBER_45ACP, // Caliber ID
1.0, // Max Player Speed
@ -39,7 +39,7 @@ weaponinfo_t wptUSP45 = {
1, // Penetration Multiplier
4096, // Bullet Range
0.79, // Range Modifier
TYPE_SEMI,
TYPE_SEMI, // Firing Type
0.15, // Attack-Delay
2.5, // Reload-Delay
iAmmo_45ACP, // Caliber Pointer
@ -47,8 +47,9 @@ weaponinfo_t wptUSP45 = {
200, // Accuracy Divisor
0.55, // Accuracy Offset
1.4, // Max Inaccuracy
8,
3
8, // Minimum Crosshair Distance
3, // Crosshair Movement Delta
1.0 // Armor penetration ratio
};
enum {

View file

@ -29,9 +29,9 @@ int iWeaponMode_XM1014;
// Weapon Info
weaponinfo_t wptXM1014 = {
WEAPON_XM1014, // Identifier
SLOT_PRIMARY,
SLOT_PRIMARY, // Slot
3000, // Price
CALIBER_BUCKSHOT, // Caliber ID
CALIBER_BUCKSHOT, // Caliber ID
0.96, // Max Player Speed
6, // Bullets Per Shot
7, // Clip/MagSize
@ -39,7 +39,7 @@ weaponinfo_t wptXM1014 = {
1, // Penetration Multiplier
3000, // Bullet Range
0.7, // Range Modifier
TYPE_AUTO,
TYPE_AUTO, // Firing Type
0.25, // Attack-Delay
3.0, // Reload-Delay
iAmmo_BUCKSHOT, // Caliber Pointer
@ -47,8 +47,9 @@ weaponinfo_t wptXM1014 = {
200, // Accuracy Divisor
0.35, // Accuracy Offset
1.25, // Max Inaccuracy
9,
4
9, // Minimum Crosshair Distance
4, // Crosshair Movement Delta
1.0 // Armor penetration ratio
};
// Anim Table