Skip to content

Commit

Permalink
push (#553)
Browse files Browse the repository at this point in the history
Co-authored-by: shel <2@shelru.ru>
  • Loading branch information
afwn90cj93201nixr2e1re and shel committed Jun 10, 2020
1 parent bffb373 commit 8142303
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 12 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
@@ -1,3 +1,3 @@
majorVersion=5
minorVersion=17
minorVersion=18
maintenanceVersion=0
23 changes: 18 additions & 5 deletions regamedll/dlls/weapons.h
Expand Up @@ -1130,10 +1130,15 @@ class CHEGrenade: public CBasePlayerWeapon
};


const float KNIFE_BODYHIT_VOLUME = 128.0f;
const float KNIFE_WALLHIT_VOLUME = 512.0f;
const float KNIFE_MAX_SPEED = 250.0f;
const float KNIFE_MAX_SPEED_SHIELD = 180.0f;
const float KNIFE_BODYHIT_VOLUME = 128.0f;
const float KNIFE_WALLHIT_VOLUME = 512.0f;
const float KNIFE_MAX_SPEED = 250.0f;
const float KNIFE_MAX_SPEED_SHIELD = 180.0f;
const float KNIFE_STAB_DAMAGE = 65.0f;
const float KNIFE_SWING_DAMAGE = 15.0f;
const float KNIFE_SWING_DAMAGE_FAST = 20.0f;
const float KNIFE_STAB_DISTANCE = 32.0f;
const float KNIFE_SWING_DISTANCE = 48.0f;

enum knife_e
{
Expand Down Expand Up @@ -1194,9 +1199,17 @@ class CKnife: public CBasePlayerWeapon
void SetPlayerShieldAnim();
void ResetPlayerShieldAnim();

public:
private:
TraceResult m_trHit;
unsigned short m_usKnife;

// Extra RegameDLL features
float m_flStabBaseDamage;
float m_flSwingBaseDamage;
float m_flSwingBaseDamage_Fast;

float m_flStabDistance;
float m_flSwingDistance;
};


Expand Down
24 changes: 19 additions & 5 deletions regamedll/dlls/wpn_shared/wpn_knife.cpp
Expand Up @@ -12,6 +12,13 @@ void CKnife::Spawn()
m_iWeaponState &= ~WPNSTATE_SHIELD_DRAWN;
m_iClip = WEAPON_NOCLIP;

m_flStabBaseDamage = KNIFE_STAB_DAMAGE;
m_flSwingBaseDamage = KNIFE_SWING_DAMAGE;
m_flSwingBaseDamage_Fast = KNIFE_SWING_DAMAGE_FAST;

m_flStabDistance = KNIFE_STAB_DISTANCE;
m_flSwingDistance = KNIFE_SWING_DISTANCE;

// Get ready to fall down
FallInit();

Expand All @@ -36,6 +43,13 @@ void CKnife::Precache()
PRECACHE_SOUND("weapons/knife_hitwall1.wav");

m_usKnife = PRECACHE_EVENT(1, "events/knife.sc");

m_flStabBaseDamage = KNIFE_STAB_DAMAGE;
m_flSwingBaseDamage = KNIFE_SWING_DAMAGE;
m_flSwingBaseDamage_Fast = KNIFE_SWING_DAMAGE_FAST;

m_flStabDistance = KNIFE_STAB_DISTANCE;
m_flSwingDistance = KNIFE_SWING_DISTANCE;
}

int CKnife::GetItemInfo(ItemInfo *p)
Expand Down Expand Up @@ -257,7 +271,7 @@ BOOL CKnife::Swing(BOOL fFirst)
UTIL_MakeVectors(m_pPlayer->pev->v_angle);

vecSrc = m_pPlayer->GetGunPosition();
vecEnd = vecSrc + gpGlobals->v_forward * 48.0f;
vecEnd = vecSrc + gpGlobals->v_forward * m_flSwingDistance;

UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, m_pPlayer->edict(), &tr);

Expand Down Expand Up @@ -355,9 +369,9 @@ BOOL CKnife::Swing(BOOL fFirst)
ClearMultiDamage();

if (m_flNextPrimaryAttack + 0.4f < UTIL_WeaponTimeBase())
pEntity->TraceAttack(m_pPlayer->pev, 20, gpGlobals->v_forward, &tr, (DMG_NEVERGIB | DMG_BULLET));
pEntity->TraceAttack(m_pPlayer->pev, m_flSwingBaseDamage_Fast, gpGlobals->v_forward, &tr, (DMG_NEVERGIB | DMG_BULLET));
else
pEntity->TraceAttack(m_pPlayer->pev, 15, gpGlobals->v_forward, &tr, (DMG_NEVERGIB | DMG_BULLET));
pEntity->TraceAttack(m_pPlayer->pev, m_flSwingBaseDamage, gpGlobals->v_forward, &tr, (DMG_NEVERGIB | DMG_BULLET));

ApplyMultiDamage(m_pPlayer->pev, m_pPlayer->pev);

Expand Down Expand Up @@ -435,7 +449,7 @@ BOOL CKnife::Stab(BOOL fFirst)
UTIL_MakeVectors(m_pPlayer->pev->v_angle);

vecSrc = m_pPlayer->GetGunPosition();
vecEnd = vecSrc + gpGlobals->v_forward * 32.0f;
vecEnd = vecSrc + gpGlobals->v_forward * m_flStabDistance;

UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, m_pPlayer->edict(), &tr);

Expand Down Expand Up @@ -503,7 +517,7 @@ BOOL CKnife::Stab(BOOL fFirst)
// player "shoot" animation
m_pPlayer->SetAnimation(PLAYER_ATTACK1);

float flDamage = 65.0f;
float flDamage = m_flStabBaseDamage;

if (pEntity && pEntity->IsPlayer())
{
Expand Down
2 changes: 1 addition & 1 deletion regamedll/public/regamedll/regamedll_api.h
Expand Up @@ -38,7 +38,7 @@
#include <API/CSInterfaces.h>

#define REGAMEDLL_API_VERSION_MAJOR 5
#define REGAMEDLL_API_VERSION_MINOR 17
#define REGAMEDLL_API_VERSION_MINOR 18

// CBasePlayer::Spawn hook
typedef IHookChainClass<void, class CBasePlayer> IReGameHook_CBasePlayer_Spawn;
Expand Down

0 comments on commit 8142303

Please sign in to comment.