Fakeduck always when holding space

This commit is contained in:
Wizzard 2023-09-20 23:58:54 -04:00
parent 0b0664e4cf
commit 17b4e4e3a3
1 changed files with 25 additions and 4 deletions

View File

@ -1,6 +1,8 @@
#include <math.h> #include <math.h>
#include <stdlib.h> #include <stdlib.h>
#include <time.h> #include <time.h>
#include <X11/Xlib.h>
#include <X11/keysym.h>
#include "features.h" #include "features.h"
#include "../include/sdk.h" #include "../include/sdk.h"
@ -11,6 +13,22 @@ float random_float(float min, float max) {
return (max - min) * ((float)rand() / (float)RAND_MAX) + min; return (max - min) * ((float)rand() / (float)RAND_MAX) + min;
} }
bool isSpacebarPressed() {
Display* display = XOpenDisplay(NULL);
if (!display) {
return false; // Could not open the display, assume not pressed
}
char keys_return[32];
XQueryKeymap(display, keys_return);
KeyCode kc = XKeysymToKeycode(display, XK_space);
bool pressed = (keys_return[kc >> 3] & (1 << (kc & 7))) != 0;
XCloseDisplay(display);
return pressed;
}
void anti_aim(usercmd_t* cmd) { void anti_aim(usercmd_t* cmd) {
if (cmd->buttons & IN_ATTACK || cmd->buttons & IN_USE) { if (cmd->buttons & IN_ATTACK || cmd->buttons & IN_USE) {
if (cmd->buttons & IN_ATTACK) { if (cmd->buttons & IN_ATTACK) {
@ -47,13 +65,16 @@ void anti_aim(usercmd_t* cmd) {
flipPitch = !flipPitch; flipPitch = !flipPitch;
view_angles.y += 30.0f; view_angles.y += 30.0f;
bool isBunnyHopping = cmd->buttons & IN_JUMP;
bool isStationary = (cmd->forwardmove == 0.0f && cmd->sidemove == 0.0f);
// This shit busted right now // This shit busted right now
if (CVAR_ON(movement_fakeduck) && cmd->forwardmove == 0.0f && cmd->sidemove == 0.0f) { if (CVAR_ON(movement_fakeduck) && (isStationary || isBunnyHopping || isSpacebarPressed())) {
static int duckCounter = 0; static int duckCounter = 0;
if (duckCounter < 5) { if (duckCounter < 2) {
cmd->buttons |= IN_DUCK; cmd->buttons |= IN_DUCK;
} else if (duckCounter < 10) { } else if (duckCounter < 4) {
cmd->buttons &= ~IN_DUCK; cmd->buttons &= ~IN_DUCK;
} else { } else {
duckCounter = 0; duckCounter = 0;