diff --git a/src/game/server/neo/bot/behavior/neo_bot_behavior.cpp b/src/game/server/neo/bot/behavior/neo_bot_behavior.cpp index d180c58cc..0ddadbd6f 100644 --- a/src/game/server/neo/bot/behavior/neo_bot_behavior.cpp +++ b/src/game/server/neo/bot/behavior/neo_bot_behavior.cpp @@ -827,7 +827,7 @@ void CNEOBotMainAction::FireWeaponAtEnemy( CNEOBot *me ) if (myWeapon && (myWeapon->GetNeoWepBits() & (NEO_WEP_MILSO | NEO_WEP_TACHI | NEO_WEP_KYLA | NEO_WEP_KNIFE | NEO_WEP_THROWABLE))) { auto *primaryWeapon = static_cast(me->Weapon_GetSlot(0)); - if (primaryWeapon && (primaryWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7))) + if (primaryWeapon && (primaryWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN)) { const bool bClearForShotgun = me->IsLineOfFireClear(vShootablePos, CNEOBot::LINE_OF_FIRE_FLAGS_SHOTGUN); if (bClearForShotgun) @@ -839,7 +839,7 @@ void CNEOBotMainAction::FireWeaponAtEnemy( CNEOBot *me ) bShotgunSituationHandled = true; } } - else if (myWeapon && (myWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7))) + else if (myWeapon && (myWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN)) { const bool bClearForShotgun = me->IsLineOfFireClear(vShootablePos, CNEOBot::LINE_OF_FIRE_FLAGS_SHOTGUN); if (!bClearForShotgun) @@ -849,7 +849,7 @@ void CNEOBotMainAction::FireWeaponAtEnemy( CNEOBot *me ) me->EquipBestWeaponForThreat(threat, bNotPrimary); myWeapon = static_cast(me->GetActiveWeapon()); // If it's still Supa7, then it should try to dodge the threat instead - if (myWeapon && (myWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7))) + if (myWeapon && (myWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN)) { return; } diff --git a/src/game/server/neo/bot/neo_bot.cpp b/src/game/server/neo/bot/neo_bot.cpp index 91d06de78..f681bf8d2 100644 --- a/src/game/server/neo/bot/neo_bot.cpp +++ b/src/game/server/neo/bot/neo_bot.cpp @@ -1331,7 +1331,7 @@ float CNEOBot::GetThreatDanger(CBaseCombatCharacter* who) const #if 1 CNEOBaseCombatWeapon *whoWeapon = static_cast(player->GetActiveWeapon()); - if (whoWeapon && (whoWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7))) // NEO TODO (Adam) NEO_WEP_SHOTGUN + if (whoWeapon && (whoWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN)) { // Shotgunners are scary at close range if (IsRangeLessThan(player, neo_bot_shotgunner_range.GetFloat())) @@ -1405,12 +1405,12 @@ float CNEOBot::GetDesiredAttackRange(void) const return 32.0f; } - if (myWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7)) + if (myWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN) { return 100.0f; } - if (myWeapon->GetNeoWepBits() & (NEO_WEP_JITTE | NEO_WEP_JITTE_S | NEO_WEP_KYLA | NEO_WEP_MILSO | NEO_WEP_MPN | NEO_WEP_MPN_S | NEO_WEP_SRM | NEO_WEP_SRM_S | NEO_WEP_TACHI)) + if (myWeapon->GetNeoWepBits() & (NEO_WEP_PISTOL | NEO_WEP_SMG)) { return 250.0f; } @@ -1556,7 +1556,7 @@ void CNEOBot::EquipBestWeaponForThreat(const CKnownEntity* threat, const bool bN // passthrough } else if (secondaryWeapon - && primaryWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7) + && primaryWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN && IsRangeGreaterThan(threat->GetLastKnownPosition(), 1000.0f)) { // passthrough @@ -2209,7 +2209,7 @@ bool CNEOBot::FindSplashTarget(CBaseEntity* target, float maxSplashRadius, Vecto NextBotTraceFilterIgnoreActors filter(NULL, COLLISION_GROUP_NONE); auto *myWeapon = static_cast(GetActiveWeapon()); - const bool bIsShotgun = (myWeapon && (myWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7))); + const bool bIsShotgun = (myWeapon && (myWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN)); const LineOfFireFlags flags = bIsShotgun ? LINE_OF_FIRE_FLAGS_SHOTGUN : LINE_OF_FIRE_FLAGS_DEFAULT; UTIL_TraceLine(target->WorldSpaceCenter(), probe, LineOfFireMask(flags), &filter, &trace); if (trace.DidHitWorld()) @@ -2630,7 +2630,7 @@ CNEOBaseCombatWeapon* CNEOBot::GetBludgeonWeapon(void) if (!pWeapon) return false; - return (pWeapon->IsMeleeWeapon() || pWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7)); + return (pWeapon->IsMeleeWeapon() || pWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN); } /*static*/ bool CNEOBot::IsBludgeon(CNEOBaseCombatWeapon* pWeapon) diff --git a/src/game/server/neo/bot/neo_bot_path_cost.cpp b/src/game/server/neo/bot/neo_bot_path_cost.cpp index 99b6db67a..e8089ead4 100644 --- a/src/game/server/neo/bot/neo_bot_path_cost.cpp +++ b/src/game/server/neo/bot/neo_bot_path_cost.cpp @@ -151,24 +151,19 @@ float CNEOBotPathCost::operator()(CNavArea* baseArea, CNavArea* fromArea, const const int visibleAreaCount = area->GetPotentiallyVisibleAreaCount(); if (visibleAreaCount > 0) { - constexpr int nShotgunBits = NEO_WEP_AA13 | NEO_WEP_SUPA7; - constexpr int nBattleRifleBits = NEO_WEP_M41 | NEO_WEP_M41_S; - constexpr int nPistolCaliberBits = NEO_WEP_MILSO | NEO_WEP_TACHI | NEO_WEP_KYLA - | NEO_WEP_MPN | NEO_WEP_MPN_S | NEO_WEP_JITTE | NEO_WEP_JITTE_S | NEO_WEP_SRM | NEO_WEP_SRM_S; - - if (nWeaponBits & nPistolCaliberBits) + if (nWeaponBits & (NEO_WEP_PISTOL | NEO_WEP_SMG)) { // Weapons that don't have max first shot accuracy const float exposurePenalty = neo_bot_path_penalty_exposure_pistol.GetFloat(); cost += visibleAreaCount * exposurePenalty; } - else if (nWeaponBits & nShotgunBits) + else if (nWeaponBits & NEO_WEP_SHOTGUN) { // Weapons that have spread that can't hit long range targets const float exposurePenalty = neo_bot_path_penalty_exposure_shotgun.GetFloat(); cost += visibleAreaCount * exposurePenalty; } - else if (nWeaponBits & nBattleRifleBits) + else if (nWeaponBits & NEO_WEP_BATTLERIFLE) { // Weapons that benefit from medium sightlines that can see many NavAreas const float baseline_penalty = neo_bot_path_penalty_exposure_inverse_base_battle_rifle.GetFloat(); diff --git a/src/game/shared/basecombatweapon_shared.cpp b/src/game/shared/basecombatweapon_shared.cpp index e72e024be..6e6518665 100644 --- a/src/game/shared/basecombatweapon_shared.cpp +++ b/src/game/shared/basecombatweapon_shared.cpp @@ -2935,7 +2935,7 @@ void RecvProxy_m_iClip(const CRecvProxyData* pData, void* pStruct, void* pOut) return; } - const float bulletHeatCost = pNeoWeapon->GetNeoWepBits() & (NEO_WEP_SUPA7 | NEO_WEP_AA13) ? 0.5f : 0.1f; // NEO TODO (Adam) store this in weapon info text file? + const float bulletHeatCost = pNeoWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN ? 0.5f : 0.1f; // NEO TODO (Adam) store this in weapon info text file? pNeoWeapon->m_flTemperature = Min(THERMALS_OBJECT_MAX_TEMPERATURE , pNeoWeapon->m_flTemperature + (bulletsFired * bulletHeatCost)); } #endif //CLIENT_DLL diff --git a/src/game/shared/neo/neo_shot_manipulator.h b/src/game/shared/neo/neo_shot_manipulator.h index c5ea5e642..4768f8722 100644 --- a/src/game/shared/neo/neo_shot_manipulator.h +++ b/src/game/shared/neo/neo_shot_manipulator.h @@ -54,7 +54,7 @@ extern ConVar sv_neo_recoil_viewfollow_scale; inline const Vector &CNEOShotManipulator::ApplySpread(const Vector& vecSpread, float bias) { - if (m_pWeapon && (m_pWeapon->GetNeoWepBits() & (NEO_WEP_AA13 | NEO_WEP_SUPA7))) + if (m_pWeapon && (m_pWeapon->GetNeoWepBits() & NEO_WEP_SHOTGUN)) return CShotManipulator::ApplySpread(vecSpread, bias); m_vecShotDirection = ApplyRecoil(vecSpread, bias); return CShotManipulator::ApplySpread(vecSpread, bias); diff --git a/src/game/shared/neo/weapons/weapon_aa13.h b/src/game/shared/neo/weapons/weapon_aa13.h index 6dfd92101..4fb3740e5 100644 --- a/src/game/shared/neo/weapons/weapon_aa13.h +++ b/src/game/shared/neo/weapons/weapon_aa13.h @@ -26,7 +26,7 @@ class CWeaponAA13 : public CNEOBaseCombatWeapon virtual void PrimaryAttack(void) OVERRIDE; NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_AA13; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_AA13 | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_AA13 | NEO_WEP_SHOTGUN | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const OVERRIDE { return 20; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.725f; } diff --git a/src/game/shared/neo/weapons/weapon_bits.h b/src/game/shared/neo/weapons/weapon_bits.h index 91f33d86b..7eaf3541f 100644 --- a/src/game/shared/neo/weapons/weapon_bits.h +++ b/src/game/shared/neo/weapons/weapon_bits.h @@ -36,6 +36,10 @@ X(SCOPEDWEAPON, scopedwep, "", WEP_TYPE_NIL) \ X(THROWABLE, throwable, "", WEP_TYPE_NIL) \ X(SUPPRESSED, suppressed, "", WEP_TYPE_NIL) \ + X(PISTOL, pistol, "", WEP_TYPE_NIL) \ + X(SMG, smg, "", WEP_TYPE_NIL) \ + X(SHOTGUN, shotgun, "", WEP_TYPE_NIL) \ + X(BATTLERIFLE, battlerifle, "", WEP_TYPE_NIL) \ X(FIREARM, firearm, "", WEP_TYPE_NIL) \ X(EXPLOSIVE, explosive, "", WEP_TYPE_NIL) @@ -43,6 +47,11 @@ // THROWABLE - Generic for grenades // SUPPRESSED - Suppressed weapons // EXPLOSIVE - Generic for weapons that count as explosive kills on killfeed. +// SHOTGUN - Weapons with shotgun spread +// BATTLERIFLE - Semi-auto rifles +// PISTOL - Sidearms without first shot accuracy +// SMG - Primary without first shot accuracy +// FIREARM - Generic for all guns #define NEO_WEP_BITS_UNDERLYING_TYPE long long int diff --git a/src/game/shared/neo/weapons/weapon_jitte.h b/src/game/shared/neo/weapons/weapon_jitte.h index aa61a70b7..45a4a23f4 100644 --- a/src/game/shared/neo/weapons/weapon_jitte.h +++ b/src/game/shared/neo/weapons/weapon_jitte.h @@ -34,7 +34,7 @@ class CWeaponJitte : public CNEOBaseCombatWeapon CWeaponJitte(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_JITTE; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_JITTE | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_JITTE | NEO_WEP_SMG | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const OVERRIDE { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.8f; } diff --git a/src/game/shared/neo/weapons/weapon_jittes.h b/src/game/shared/neo/weapons/weapon_jittes.h index aa39c00de..4fd580b57 100644 --- a/src/game/shared/neo/weapons/weapon_jittes.h +++ b/src/game/shared/neo/weapons/weapon_jittes.h @@ -34,7 +34,7 @@ class CWeaponJitteS : public CNEOBaseCombatWeapon CWeaponJitteS(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_JITTE_S; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_JITTE | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_JITTE_S | NEO_WEP_SMG | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const OVERRIDE { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.8f; } diff --git a/src/game/shared/neo/weapons/weapon_kyla.h b/src/game/shared/neo/weapons/weapon_kyla.h index c73aab9a0..b321344a6 100644 --- a/src/game/shared/neo/weapons/weapon_kyla.h +++ b/src/game/shared/neo/weapons/weapon_kyla.h @@ -24,7 +24,7 @@ class CWeaponKyla : public CNEOBaseCombatWeapon CWeaponKyla(void); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_KYLA; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_KYLA | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_KYLA | NEO_WEP_PISTOL | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const override { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.85f; } diff --git a/src/game/shared/neo/weapons/weapon_m41.h b/src/game/shared/neo/weapons/weapon_m41.h index 611d29448..979f92891 100644 --- a/src/game/shared/neo/weapons/weapon_m41.h +++ b/src/game/shared/neo/weapons/weapon_m41.h @@ -34,7 +34,7 @@ class CWeaponM41 : public CNEOBaseCombatWeapon CWeaponM41(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_M41; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_M41 | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_M41 | NEO_WEP_BATTLERIFLE | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const override { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.725f; } diff --git a/src/game/shared/neo/weapons/weapon_m41s.h b/src/game/shared/neo/weapons/weapon_m41s.h index d21c239fd..14c89a0af 100644 --- a/src/game/shared/neo/weapons/weapon_m41s.h +++ b/src/game/shared/neo/weapons/weapon_m41s.h @@ -34,7 +34,7 @@ class CWeaponM41S : public CNEOBaseCombatWeapon CWeaponM41S(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_M41_S; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_M41_S | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_M41_S | NEO_WEP_BATTLERIFLE | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const OVERRIDE { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.725f; } diff --git a/src/game/shared/neo/weapons/weapon_milso.h b/src/game/shared/neo/weapons/weapon_milso.h index a001beb23..0c8f37bfd 100644 --- a/src/game/shared/neo/weapons/weapon_milso.h +++ b/src/game/shared/neo/weapons/weapon_milso.h @@ -34,7 +34,7 @@ class CWeaponMilso : public CNEOBaseCombatWeapon CWeaponMilso(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_MILSO; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_MILSO | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_MILSO | NEO_WEP_PISTOL | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const override { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.85f; } diff --git a/src/game/shared/neo/weapons/weapon_mpn.h b/src/game/shared/neo/weapons/weapon_mpn.h index 899f2c109..d39a7b9cd 100644 --- a/src/game/shared/neo/weapons/weapon_mpn.h +++ b/src/game/shared/neo/weapons/weapon_mpn.h @@ -34,7 +34,7 @@ class CWeaponMPN : public CNEOBaseCombatWeapon CWeaponMPN(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_MPN; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_MPN | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_MPN | NEO_WEP_SMG | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const OVERRIDE { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.85f; } diff --git a/src/game/shared/neo/weapons/weapon_mpns.h b/src/game/shared/neo/weapons/weapon_mpns.h index 2dbb0ee02..51a7ec14f 100644 --- a/src/game/shared/neo/weapons/weapon_mpns.h +++ b/src/game/shared/neo/weapons/weapon_mpns.h @@ -34,7 +34,7 @@ class CWeaponMPN_S : public CNEOBaseCombatWeapon CWeaponMPN_S(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_MPN_S; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_MPN_S | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_MPN_S | NEO_WEP_SMG | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const override { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.85f; } diff --git a/src/game/shared/neo/weapons/weapon_srm.h b/src/game/shared/neo/weapons/weapon_srm.h index 6ccd24ae9..8a99aeced 100644 --- a/src/game/shared/neo/weapons/weapon_srm.h +++ b/src/game/shared/neo/weapons/weapon_srm.h @@ -34,7 +34,7 @@ class CWeaponSRM : public CNEOBaseCombatWeapon CWeaponSRM(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_SRM; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_SRM | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_SRM | NEO_WEP_SMG | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const override { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.85f; } diff --git a/src/game/shared/neo/weapons/weapon_srms.h b/src/game/shared/neo/weapons/weapon_srms.h index d7f5bc846..bf4139384 100644 --- a/src/game/shared/neo/weapons/weapon_srms.h +++ b/src/game/shared/neo/weapons/weapon_srms.h @@ -34,7 +34,7 @@ class CWeaponSRM_S : public CNEOBaseCombatWeapon CWeaponSRM_S(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_SRM_S; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_SRM_S | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_SRM_S | NEO_WEP_SMG | NEO_WEP_SUPPRESSED | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const override { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.85f; } diff --git a/src/game/shared/neo/weapons/weapon_supa7.h b/src/game/shared/neo/weapons/weapon_supa7.h index f585f1580..e40c781b3 100644 --- a/src/game/shared/neo/weapons/weapon_supa7.h +++ b/src/game/shared/neo/weapons/weapon_supa7.h @@ -35,7 +35,7 @@ class CWeaponSupa7 : public CNEOBaseCombatWeapon CWeaponSupa7(); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_SUPA7; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_SUPA7 | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const OVERRIDE { return NEO_WEP_SUPA7 | NEO_WEP_SHOTGUN | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const OVERRIDE { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.7f; } diff --git a/src/game/shared/neo/weapons/weapon_tachi.h b/src/game/shared/neo/weapons/weapon_tachi.h index 3e8cf4e4d..266c28211 100644 --- a/src/game/shared/neo/weapons/weapon_tachi.h +++ b/src/game/shared/neo/weapons/weapon_tachi.h @@ -48,7 +48,7 @@ class CWeaponTachi : public CNEOBaseCombatWeapon bool bPlaySound = false, float flSoonestSwitch = 0.0f ); NEO_WEP_BITS_UNDERLYING_TYPE WeaponIndex() const override { return NEO_WIDX_TACHI; } - virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_TACHI | NEO_WEP_FIREARM; } + virtual NEO_WEP_BITS_UNDERLYING_TYPE GetNeoWepBits(void) const override { return NEO_WEP_TACHI | NEO_WEP_PISTOL | NEO_WEP_FIREARM; } virtual int GetNeoWepXPCost(const int neoClass) const override { return 0; } virtual float GetSpeedScale(void) const OVERRIDE { return 0.85f; }