#pragma once #include #include float autocvar_sv_accuracy_data_share = 1; .bool cvar_cl_accuracy_data_share; REPLICATE(cvar_cl_accuracy_data_share, bool, "cl_accuracy_data_share"); .bool cvar_cl_accuracy_data_receive; REPLICATE(cvar_cl_accuracy_data_receive, bool, "cl_accuracy_data_receive"); .entity accuracy; .entity roundaccuracy; .float accuracy_frags[REGISTRY_MAX(Weapons)]; .float accuracy_hit[REGISTRY_MAX(Weapons)]; .float accuracy_fired[REGISTRY_MAX(Weapons)]; .float accuracy_cnt_hit[REGISTRY_MAX(Weapons)]; .float accuracy_cnt_fired[REGISTRY_MAX(Weapons)]; // init/free void accuracy_init(entity e); void accuracy_free(entity e); // force a resend of a player's accuracy stats void accuracy_resend(entity e); // update accuracy stats void accuracy_add(entity e, Weapon w, float fired, float hit); void roundaccuracy_clear(entity this); // helper bool accuracy_isgooddamage(entity attacker, entity targ); bool accuracy_canbegooddamage(entity attacker);