sqwarmed/sdk_src/game/shared/swarm/asw_weapon_parse.h

82 lines
2.9 KiB
C++

#ifndef _INCLUDED_ASW_WEAPON_PARSE_H
#define _INCLUDED_ASW_WEAPON_PARSE_H
#ifdef _WIN32
#pragma once
#endif
#include "weapon_parse.h"
#include "networkvar.h"
enum ASW_Offhand_Order_t
{
ASW_OFFHAND_USE_IMMEDIATELY, // AI marine can just use this item immediately, without caring about facing/position
ASW_OFFHAND_THROW, // AI marine needs to get line of sight to throw this item at the order destination
ASW_OFFHAND_DEPLOY, // AI marine needs to walk up to the deploy spot
};
//--------------------------------------------------------------------------------------------------------
class CASW_WeaponInfo : public FileWeaponInfo_t
{
public:
DECLARE_CLASS_GAMEROOT( CASW_WeaponInfo, FileWeaponInfo_t );
CASW_WeaponInfo();
virtual void Parse( ::KeyValues *pKeyValuesData, const char *szWeaponName );
public:
// asw:
float flReloadTime;
float m_flBaseDamage;
float m_flFireRate;
int m_iNumPellets;
int m_iDisplayClipSize;
float m_flDisplayReloadTime;
int m_iPlayerModelSkin;
int m_iDisplayModelSkin;
char szEquipIcon[64];
char szEquipLongName[64];
char szEquipDescription1[256];
char szAltFireText[64];
char szAttributesText[128];
char szDisplayModel[64]; // the model displayed in the loadout screen
char szDisplayModel2[64]; // the second model shown in addition to the first in the loadout screen
float m_flModelPanelZOffset;
bool m_bExtra; // is this an extra item or not
bool m_bShowCharges; //whether this item shows charges on the left side HUD thing or not
bool m_bShowBatteryCharge; // show a battery charge progress under the icon
bool m_bShowLocalPlayerHotkey;
bool m_bShowMultiplayerHotkey;
bool m_bOffhandActivate; // can you activate this weapon even when it isn't your current
bool m_bHUDPlayerActivate;
bool m_bOffhandSwitch; // should we switch to this weapon when we press our offhand key
ASW_Offhand_Order_t m_nOffhandOrderType;
int m_iHUDIconOffsetX, m_iHUDIconOffsetY;
int m_iHUDNumberOffsetX, m_iHUDNumberOffsetY;
bool m_bZoomHotbarIcon; // zoom this icon on the squad hotbar
// skill reqs
bool m_bTech; // requires tech to use
bool m_bFirstAid; // requires medic to use
bool m_bSpecialWeapons; // requires special weapons to use
bool m_bTracker;
bool m_bSapper; // requires officer to use
bool m_bSarge;
bool m_bUnique; // can only hold 1 of this weapon
float m_fFlinchChance; // chance of this weapon putting the drone into a flinch
float m_fStoppingPowerFlinchBonus; // bonus to the flinch chance per stopping power skill point
int m_iShowBulletsOnHUD;
int m_iShowClipsOnHUD;
int m_iShowGrenadesOnHUD;
float m_bOrientToLaser; // if true, this weapon will orient itself along the laser sight
bool m_bShowClipsInWeaponDetail;
bool m_bShowClipsDoubled;
int m_iSquadEmote;
};
#endif // _INCLUDED_ASW_WEAPON_PARSE_H