VoltMod
C++23 framework for CS2 server plugins
Loading...
Searching...
No Matches
MovementFreeze.cpp
Go to the documentation of this file.
1
#include <
VoltMod/Entities/MovementFreeze.hpp
>
2
3
namespace
VoltMod
4
{
5
6
void
MovementFreeze::Hold
(
const
Pawn
&
pawn
)
7
{
8
// Holding twice would capture MOVETYPE_NONE as the type to give back.
9
if
(_pawn || !
pawn
|| !
pawn
.IsAlive())
10
{
11
return
;
12
}
13
14
_prev =
pawn
.MoveType();
15
_pawn =
pawn
.Ref();
16
pawn
.SetMoveType(
Schema::MoveType_t::MOVETYPE_NONE
);
17
}
18
19
void
MovementFreeze::Release
(
const
Pawn
&
pawn
)
20
{
21
if
(!_pawn)
22
{
23
return
;
24
}
25
26
if
(
pawn
&&
pawn
.Ref() == _pawn)
27
{
28
pawn
.SetMoveType(_prev);
29
}
30
_pawn = {};
31
}
32
33
void
MovementFreeze::Sync
(
const
Pawn
&
pawn
)
34
{
35
if
(_pawn && (!
pawn
|| !
pawn
.IsAlive() ||
pawn
.Ref() != _pawn))
36
{
37
_pawn = {};
38
}
39
40
Hold
(
pawn
);
41
}
42
43
}
// namespace VoltMod
MovementFreeze.hpp
VoltMod::MovementFreeze::Sync
void Sync(const Pawn &pawn)
Definition
MovementFreeze.cpp:33
VoltMod::MovementFreeze::Hold
void Hold(const Pawn &pawn)
Definition
MovementFreeze.cpp:6
VoltMod::MovementFreeze::Release
void Release(const Pawn &pawn)
Definition
MovementFreeze.cpp:19
VoltMod::Pawn
A player's body: health, armor, movement, aim, weapons. The engine replaces it on every spawn; the Co...
Definition
Pawn.hpp:19
VoltMod::Schema::MoveType_t::MOVETYPE_NONE
@ MOVETYPE_NONE
VoltMod
Definition
Options.hpp:13
VoltMod::ReadFile
static std::string ReadFile(const std::filesystem::path &path)
Definition
Loader.cpp:56
src
Entities
MovementFreeze.cpp
Generated by
1.9.8