* CSPlayer new members
* API refactory in pm_shared.cpp
* Cached CSPlayer pointer in a global variable
* Changed PM_JumpHeight from lambda function to an inline function
* Changed m_flDuckSpeedMultiplier data type to double
* Added few newest API Hookchains
* Added hookchain for PM_CheckWaterJump
* Added hookchain for PM_Jump
* Added hookchain for PM_Duck
* Added hookchain for PM_UnDuck
* Added hookchain for ClearMultiDamage
* Added hookchain for AddMultiDamage
* Added hookchain for ApplyMultiDamage
* Added hookchain for CSGameRules::TeamFull
* Added hookchain for CSGameRules::TeamStacked
* Added hookchain for CSGameRules::PlayerGotWeapon
* Added hookchain for CBotManager::OnEvent
* Added hookchain for CBasePlayer::EntSelectSpawnPoint
* Added hookchain for CBasePlayerWeapon::KickBack
* Added hookchain for CBasePlayerWeapon::SendWeaponAnim
* Added new PM_* Hookchains
* Added PM_WaterJump
* Added PM_PlayStepSound
* Added PM_AirAccelerate
* Added CBasePlayer::CheckTimeBasedDamage
* Added CBasePlayerWeapon::ItemPostFrame
* Added BuyItem and CSGameRules::Think
* AddAmmoNameToAmmoRegistry refactory
* Bump minor version in an API bump up to 23
- Member name changed to m_iStateSecondaryAttack
- Member type changed to uint8_t which has same size of bool but allows more values than true or false (this wont break API compatibility)
- Moved logic inside HasSecondaryAttack to correctly alter function return based on m_iStateSecondaryAttack, which can be (0) no value / null (1) set (2) block
-Removed logic in CBasePlayerWeapon::Spawn that caches the return value of HasSecondaryAttack, as this can only be overridden when set, rather than always
* Improve API compatibility
Fix forcing 1-person view for players when `mp_fadetoblack = 2`;
Fix player blackout on server entry when `mp_fadetoblack = 2`;
Fix observer not being blinded when `mp_fadetoblack = 2`;
Fix fadetoblack message timings using new CVar `mp_dying_time`.
fix#501fix#506
Co-authored-by: s1lentq <s1lentsk@yandex.ru>
- Add Backstab multiplier CKnife member with default value
- Adding REGAMEDLL_API macros correctly to extended members of CKnife
- Added inline functions for specific values, considering original and new behaviour
* Init
* Implementation
* Add `trigger_bomb_reset` to `.fgd`
* Set CC4 position on CC4::AttachToPlayer()
* move to `addons/trigger_bomb_reset`
* rename method & member
* CTriggerBombReset: Add `SetUse()`
* Fix 'fast fire glitch' at AUG/SG552
Bug is caused because of not checking his FOV in some conditions.
* refactoring
Co-authored-by: Sergey Shorokhov <wopox1337@ya.ru>
* Unexpected behavior with mp_forcerespawn leading to a possible exploit
Basically there is an exploit (or bug?) where depending on mp_forcerespawn if his value is higher to 0 and lower than 1, when you respawn you have a brief window to change your team, if you succesfully manage to change your team between the mp_forcerespawn value and WITHOUT closing the change appearance menu, you won't die due to "m_fNextSuicideTime", that will trigger the change team but without actually changing your skin model, you will keep the enemy one but the team change will success.
Thanks https://github.com/metita for helping me with this
Co-Authored-By: metita <33007491+metita@users.noreply.github.com>
* Revert "Unexpected behavior with mp_forcerespawn leading to a possible exploit"
This reverts commit 73d1c16706.
* fix: nullify `m_fNextSuicideTime` before call `ClientKill()`
* ClientKill: refactoring
* add forgotten if-statement
* remove macros
Co-authored-by: metita <33007491+metita@users.noreply.github.com>
Co-authored-by: Sergey Shorokhov <wopox1337@ya.ru>
* weapons.cpp fix compile warning
`warning C4715: 'GetBaseAccuracy': not all control paths return a value`
* vihicle.cpp: use PlayerRelationship()
thanks to cf8deb9cac (r92242848)
Co-authored-by: Vaqtincha <51029683+Vaqtincha@users.noreply.github.com>