diff options
Diffstat (limited to 'sourcemod/scripting/include/gokz/jumpstats.inc')
| -rw-r--r-- | sourcemod/scripting/include/gokz/jumpstats.inc | 442 |
1 files changed, 0 insertions, 442 deletions
diff --git a/sourcemod/scripting/include/gokz/jumpstats.inc b/sourcemod/scripting/include/gokz/jumpstats.inc deleted file mode 100644 index 452ae28..0000000 --- a/sourcemod/scripting/include/gokz/jumpstats.inc +++ /dev/null @@ -1,442 +0,0 @@ -/* - gokz-jumpstats Plugin Include - - Website: https://bitbucket.org/kztimerglobalteam/gokz -*/ - -#if defined _gokz_jumpstats_included_ -#endinput -#endif -#define _gokz_jumpstats_included_ - - - -// =====[ ENUMS ]===== - -enum -{ - JumpType_FullInvalid = -1, - JumpType_LongJump, - JumpType_Bhop, - JumpType_MultiBhop, - JumpType_WeirdJump, - JumpType_LadderJump, - JumpType_Ladderhop, - JumpType_Jumpbug, - JumpType_LowpreBhop, - JumpType_LowpreWeirdJump, - JumpType_Fall, - JumpType_Other, - JumpType_Invalid, - JUMPTYPE_COUNT -}; - -enum -{ - StrafeDirection_None, - StrafeDirection_Left, - StrafeDirection_Right -}; - -enum -{ - DistanceTier_None = 0, - DistanceTier_Meh, - DistanceTier_Impressive, - DistanceTier_Perfect, - DistanceTier_Godlike, - DistanceTier_Ownage, - DistanceTier_Wrecker, - DISTANCETIER_COUNT -}; - -enum JSOption: -{ - JSOPTION_INVALID = -1, - JSOption_JumpstatsMaster, - JSOption_MinChatTier, - JSOption_MinConsoleTier, - JSOption_MinSoundTier, - JSOption_FailstatsConsole, - JSOption_FailstatsChat, - JSOption_JumpstatsAlways, - JSOption_ExtendedChatReport, - JSOption_MinChatBroadcastTier, - JSOption_MinSoundBroadcastTier, - JSOPTION_COUNT -}; - -enum -{ - JSToggleOption_Disabled = 0, - JSToggleOption_Enabled, - JSTOGGLEOPTION_COUNT -}; - - - -// =====[ CONSTANTS ]===== - -#define JS_CFG_TIERS "cfg/sourcemod/gokz/gokz-jumpstats-tiers.cfg" -#define JS_CFG_SOUNDS "cfg/sourcemod/gokz/gokz-jumpstats-sounds.cfg" -#define JS_CFG_BROADCAST "cfg/sourcemod/gokz/gokz-jumpstats-broadcast.cfg" -#define JS_OPTION_CATEGORY "Jumpstats" -#define JS_MAX_LADDERJUMP_OFFSET 2.0 -#define JS_MAX_BHOP_GROUND_TICKS 5 -#define JS_MAX_DUCKBUG_RESET_TICKS 6 -#define JS_MAX_WEIRDJUMP_FALL_OFFSET 64.0 -#define JS_TOUCH_GRACE_TICKS 3 -#define JS_MAX_TRACKED_STRAFES 48 -#define JS_MIN_BLOCK_DISTANCE 186 -#define JS_MIN_LAJ_BLOCK_DISTANCE 50 -#define JS_MAX_LAJ_FAILSTAT_DISTANCE 250 -#define JS_TOP_RECORD_COUNT 20 -#define JS_MAX_JUMP_DISTANCE 500 -#define JS_FAILSTATS_MAX_TRACKED_TICKS 128 -#define JS_MIN_TELEPORT_DELAY 5 -#define JS_SPEED_MODIFICATION_TOLERANCE 0.1 -#define JS_OFFSET_EPSILON 0.03125 - -stock char gC_JumpTypes[JUMPTYPE_COUNT][] = -{ - "Long Jump", - "Bunnyhop", - "Multi Bunnyhop", - "Weird Jump", - "Ladder Jump", - "Ladderhop", - "Jumpbug", - "Lowpre Bunnyhop", - "Lowpre Weird Jump", - "Fall", - "Unknown Jump", - "Invalid Jump" -}; - -stock char gC_JumpTypesShort[JUMPTYPE_COUNT][] = -{ - "LJ", - "BH", - "MBH", - "WJ", - "LAJ", - "LAH", - "JB", - "LBH", - "LWJ", - "FL", - "UNK", - "INV" -}; - -stock char gC_JumpTypeKeys[JUMPTYPE_COUNT][] = -{ - "longjump", - "bhop", - "multibhop", - "weirdjump", - "ladderjump", - "ladderhop", - "jumpbug", - "lowprebhop", - "lowpreweirdjump", - "fall", - "unknown", - "invalid" -}; - -stock char gC_DistanceTiers[DISTANCETIER_COUNT][] = -{ - "None", - "Meh", - "Impressive", - "Perfect", - "Godlike", - "Ownage", - "Wrecker" -}; - -stock char gC_DistanceTierKeys[DISTANCETIER_COUNT][] = -{ - "none", - "meh", - "impressive", - "perfect", - "godlike", - "ownage", - "wrecker" -}; - -stock char gC_DistanceTierChatColours[DISTANCETIER_COUNT][] = -{ - "{grey}", - "{grey}", - "{blue}", - "{green}", - "{darkred}", - "{gold}", - "{orchid}" -}; - -stock char gC_JSOptionNames[JSOPTION_COUNT][] = -{ - "GOKZ JS - Master Switch", - "GOKZ JS - Chat Report", - "GOKZ JS - Console Report", - "GOKZ JS - Sounds", - "GOKZ JS - Failstats Console", - "GOKZ JS - Failstats Chat", - "GOKZ JS - Jumpstats Always", - "GOKZ JS - Ext Chat Report", - "GOKZ JS - Min Chat Broadcast", - "GOKZ JS - Min Sound Broadcast" -}; - -stock char gC_JSOptionDescriptions[JSOPTION_COUNT][] = -{ - "Master Switch for All Jumpstats Functionality - 0 = Disabled, 1 = Enabled", - "Minimum Tier for Jumpstats Chat Report - 0 = Disabled, 1 = Meh+, 2 = Impressive+, 3 = Perfect+, 4 = Godlike+, 5 = Ownage+, 6 = Wrecker", - "Minimum Tier for Jumpstats Console report - 0 = Disabled, 1 = Meh+, 2 = Impressive+, 3 = Perfect+, 4 = Godlike+, 5 = Ownage+, 6 = Wrecker", - "Minimum Tier for Jumpstats Sounds - 0 = Disabled, 2 = Impressive+, 3 = Perfect+, 4 = Godlike+, 5 = Ownage+, 6 = Wrecker", - "Print Failstats To Console - 0 = Disabled, 1 = Enabled", - "Print Failstats To Chat - 0 = Disabled, 1 = Enabled", - "Always show jumpstats, even for invalid jumps - 0 = Disabled, 1 = Enabled", - "Extended Chat Report - 0 = Disabled, 1 = Enabled", - "Minimum Jump Tier for Jumpstat Chat Broadcast - 0 = Disabled, 1 = Meh+, 2 = Impressive+, 3 = Perfect+, 4 = Godlike+, 5 = Ownage+, 6 = Wrecker", - "Minimum Jump Tier for Jumpstat Sound Broadcast - 0 = Disabled, 1 = Meh+, 2 = Impressive+, 3 = Perfect+, 4 = Godlike+, 5 = Ownage+, 6 = Wrecker" -}; - -stock char gI_JSOptionPhrases[JSOPTION_COUNT][] = -{ - "Options Menu - Jumpstats Master Switch", - "Options Menu - Jumpstats Chat Report", - "Options Menu - Jumpstats Console Report", - "Options Menu - Jumpstats Sounds", - "Options Menu - Failstats Console Report", - "Options Menu - Failstats Chat Report", - "Options Menu - Jumpstats Always", - "Options Menu - Extended Jump Chat Report", - "Options Menu - Minimal Jump Chat Broadcast Tier", - "Options Menu - Minimal Jump Sound Broadcast Tier" -}; - -stock int gI_JSOptionDefaults[JSOPTION_COUNT] = -{ - JSToggleOption_Enabled, - DistanceTier_Meh, - DistanceTier_Meh, - DistanceTier_Impressive, - JSToggleOption_Enabled, - JSToggleOption_Disabled, - JSToggleOption_Disabled, - JSToggleOption_Disabled, - DistanceTier_Ownage, - DistanceTier_None -}; - -stock int gI_JSOptionCounts[JSOPTION_COUNT] = -{ - JSTOGGLEOPTION_COUNT, - DISTANCETIER_COUNT, - DISTANCETIER_COUNT, - DISTANCETIER_COUNT, - JSTOGGLEOPTION_COUNT, - JSTOGGLEOPTION_COUNT, - JSTOGGLEOPTION_COUNT, - JSTOGGLEOPTION_COUNT, - DISTANCETIER_COUNT, - DISTANCETIER_COUNT -}; - - - -// =====[ STRUCTS ]===== - -enum struct Jump -{ - int jumper; - int block; - int crouchRelease; - int crouchTicks; - int deadair; - int duration; - int originalType; - int overlap; - int releaseW; - int strafes; - int type; - float deviation; - float distance; - float edge; - float height; - float maxSpeed; - float offset; - float preSpeed; - float sync; - float width; - - // For the 'always' stats - float miss; - - // We can't make a separate enum struct for that cause it won't let us - // index an array of enum structs. - int strafes_gainTicks[JS_MAX_TRACKED_STRAFES]; - int strafes_deadair[JS_MAX_TRACKED_STRAFES]; - int strafes_overlap[JS_MAX_TRACKED_STRAFES]; - int strafes_ticks[JS_MAX_TRACKED_STRAFES]; - float strafes_gain[JS_MAX_TRACKED_STRAFES]; - float strafes_loss[JS_MAX_TRACKED_STRAFES]; - float strafes_sync[JS_MAX_TRACKED_STRAFES]; - float strafes_width[JS_MAX_TRACKED_STRAFES]; -} - - - -// =====[ FORWARDS ]===== - -/** - * Called when a player begins their jump. - * - * @param client Client index. - * @param jumpType Type of jump. - */ -forward void GOKZ_JS_OnTakeoff(int client, int jumpType); - -/** - * Called when a player lands their jump. - * - * @param jump The jumpstats. - */ -forward void GOKZ_JS_OnLanding(Jump jump); - -/** - * Called when player's current jump has been declared an invalid jumpstat. - * - * @param client Client index. - */ -forward void GOKZ_JS_OnJumpInvalidated(int client); - -/** - * Called when a player fails a blockjump. - * - * @param jump The jumpstats. - */ -forward void GOKZ_JS_OnFailstat(Jump jump); - -/** - * Called when a player lands a jump and has always-on jumpstats enabled. - * - * @param jump The jumpstats. - */ -forward void GOKZ_JS_OnJumpstatAlways(Jump jump); - -/** - * Called when a player fails a jump and has always-on failstats enabled. - * - * @param jump The failstats. - */ -forward void GOKZ_JS_OnFailstatAlways(Jump jump); - - - -// =====[ NATIVES ]===== - -/** - * Gets the default jumpstats option value as set by a config file. - * - * @param option GOKZ Jumpstats option. - * @return Default option value. - */ -native int GOKZ_JS_GetDefaultOption(JSOption option); - -/** - * Declare a player's current jump an invalid jumpstat. - * - * @param client Client index. - */ -native void GOKZ_JS_InvalidateJump(int client); - - - -// =====[ STOCKS ]===== - -/** - * Returns whether an option is a gokz-jumpstats option. - * - * @param option Option name. - * @param optionEnum Variable to store enumerated gokz-jumpstats option (if it is one). - * @return Whether option is a gokz-jumpstats option. - */ -stock bool GOKZ_JS_IsJSOption(const char[] option, JSOption &optionEnum = JSOPTION_INVALID) -{ - for (JSOption i; i < JSOPTION_COUNT; i++) - { - if (StrEqual(option, gC_JSOptionNames[i])) - { - optionEnum = i; - return true; - } - } - return false; -} - -/** - * Gets the current value of a player's gokz-jumpstats option. - * - * @param client Client index. - * @param option gokz-jumpstats option. - * @return Current value of option. - */ -stock any GOKZ_JS_GetOption(int client, JSOption option) -{ - return GOKZ_GetOption(client, gC_JSOptionNames[option]); -} - -/** - * Sets a player's gokz-jumpstats option's value. - * - * @param client Client index. - * @param option gokz-jumpstats option. - * @param value New option value. - * @return Whether option was successfully set. - */ -stock bool GOKZ_JS_SetOption(int client, JSOption option, any value) -{ - return GOKZ_SetOption(client, gC_JSOptionNames[option], value); -} - -/** - * Increment an integer-type gokz-jumpstats option's value. - * Loops back to '0' if max value is exceeded. - * - * @param client Client index. - * @param option gokz-jumpstats option. - * @return Whether option was successfully set. - */ -stock bool GOKZ_JS_CycleOption(int client, JSOption option) -{ - return GOKZ_CycleOption(client, gC_JSOptionNames[option]); -} - - - -// =====[ DEPENDENCY ]===== - -public SharedPlugin __pl_gokz_jumpstats = -{ - name = "gokz-jumpstats", - file = "gokz-jumpstats.smx", - #if defined REQUIRE_PLUGIN - required = 1, - #else - required = 0, - #endif -}; - -#if !defined REQUIRE_PLUGIN -public void __pl_gokz_jumpstats_SetNTVOptional() -{ - MarkNativeAsOptional("GOKZ_JS_GetDefaultOption"); - MarkNativeAsOptional("GOKZ_JS_InvalidateJump"); -} -#endif |
