@@ -767,9 +767,15 @@ void CBasePlayerWeapon::FireRemaining(int &shotsFired, float &shootTime, BOOL bI
767767 flag = 0 ;
768768#endif
769769
770+ #ifdef REGAMEDLL_API
771+ float flBaseDamage = CSPlayerWeapon ()->m_flBaseDamage ;
772+ #else
773+ float flBaseDamage = bIsGlock ? GLOCK18_DAMAGE : FAMAS_DAMAGE;
774+ #endif
775+
770776 if (bIsGlock)
771777 {
772- vecDir = m_pPlayer->FireBullets3 (vecSrc, gpGlobals->v_forward , 0.05 , 8192 , 1 , BULLET_PLAYER_9MM, 18 , 0.9 , m_pPlayer->pev , true , m_pPlayer->random_seed );
778+ vecDir = m_pPlayer->FireBullets3 (vecSrc, gpGlobals->v_forward , 0.05 , 8192 , 1 , BULLET_PLAYER_9MM, flBaseDamage , 0.9 , m_pPlayer->pev , true , m_pPlayer->random_seed );
773779#ifndef REGAMEDLL_FIXES
774780 --m_pPlayer->ammo_9mm ;
775781#endif
@@ -778,8 +784,7 @@ void CBasePlayerWeapon::FireRemaining(int &shotsFired, float &shootTime, BOOL bI
778784 }
779785 else
780786 {
781-
782- vecDir = m_pPlayer->FireBullets3 (vecSrc, gpGlobals->v_forward , m_fBurstSpread, 8192 , 2 , BULLET_PLAYER_556MM, 30 , 0.96 , m_pPlayer->pev , false , m_pPlayer->random_seed );
787+ vecDir = m_pPlayer->FireBullets3 (vecSrc, gpGlobals->v_forward , m_fBurstSpread, 8192 , 2 , BULLET_PLAYER_556MM, flBaseDamage, 0.96 , m_pPlayer->pev , false , m_pPlayer->random_seed );
783788#ifndef REGAMEDLL_FIXES
784789 --m_pPlayer->ammo_556nato ;
785790#endif
@@ -1856,11 +1861,11 @@ void CWeaponBox::Touch(CBaseEntity *pOther)
18561861
18571862 bool bRemove = true ;
18581863
1859- #ifdef REGAMEDLL_FIXES
1864+ #ifdef REGAMEDLL_FIXES
18601865 CBasePlayerItem *givenItem = nullptr ;
18611866#else
18621867 bool givenItem = false ;
1863- #endif
1868+ #endif
18641869
18651870 // go through my weapons and try to give the usable ones to the player.
18661871 // it's important the the player be given ammo first, so the weapons code doesn't refuse
@@ -2055,7 +2060,7 @@ void CWeaponBox::Touch(CBaseEntity *pOther)
20552060 pItem->AttachToPlayer (pPlayer);
20562061#ifdef REGAMEDLL_FIXES
20572062 givenItem = pItem;
2058- #else
2063+ #else
20592064 givenItem = true ;
20602065#endif
20612066 }
@@ -2095,13 +2100,13 @@ void CWeaponBox::Touch(CBaseEntity *pOther)
20952100 {
20962101 EMIT_SOUND (ENT (pPlayer->pev ), CHAN_ITEM, " items/gunpickup2.wav" , VOL_NORM, ATTN_NORM);
20972102
2098- #ifdef REGAMEDLL_FIXES
2103+ #ifdef REGAMEDLL_FIXES
20992104 // BUGBUG: weaponbox links gun to player, then ammo is given
21002105 // so FShouldSwitchWeapon's CanHolster (which checks ammo) check inside AddPlayerItem
21012106 // return FALSE, causing an unarmed player to not deploy any weaponbox grenade
21022107 if (pPlayer->m_pActiveItem != givenItem && CSGameRules ()->FShouldSwitchWeapon (pPlayer, givenItem))
21032108 {
2104- // This re-check is done after ammo is given
2109+ // This re-check is done after ammo is given
21052110 // so it ensures player properly deploys grenade from floor
21062111 pPlayer->SwitchWeapon (givenItem);
21072112 }
0 commit comments