From 1218114401968798b42b481d3f555b256271ab63 Mon Sep 17 00:00:00 2001 From: Bill Freeman Date: Sat, 24 Feb 2024 14:22:12 -0600 Subject: [PATCH] kill files --- .../Untitled-checkpoint.ipynb | 6 - docs/datascience/adx/cs2/csds/Untitled.ipynb | 884 ------------------ docs/datascience/adx/cs2/csds/csds | Bin 4496 -> 0 bytes 3 files changed, 890 deletions(-) delete mode 100644 docs/datascience/adx/cs2/csds/.ipynb_checkpoints/Untitled-checkpoint.ipynb delete mode 100644 docs/datascience/adx/cs2/csds/Untitled.ipynb delete mode 100644 docs/datascience/adx/cs2/csds/csds diff --git a/docs/datascience/adx/cs2/csds/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/docs/datascience/adx/cs2/csds/.ipynb_checkpoints/Untitled-checkpoint.ipynb deleted file mode 100644 index 363fcab..0000000 --- a/docs/datascience/adx/cs2/csds/.ipynb_checkpoints/Untitled-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/datascience/adx/cs2/csds/Untitled.ipynb b/docs/datascience/adx/cs2/csds/Untitled.ipynb deleted file mode 100644 index 0e870b9..0000000 --- a/docs/datascience/adx/cs2/csds/Untitled.ipynb +++ /dev/null @@ -1,884 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "id": "be9002d6-c1a7-4d4e-990d-d8f7f3f5d32b", - "metadata": {}, - "outputs": [], - "source": [ - "from io import BytesIO\n", - "from gzip import GzipFile\n", - "import json\n", - "import gzip" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "52bb848f-690b-4fa5-8ed3-4636cf3cded3", - "metadata": {}, - "outputs": [], - "source": [ - "with gzip.open('csds', 'r') as fin:\n", - " data = json.loads(fin.read().decode('utf-8'))" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "6435382f-41bb-4b87-a971-a6341597a777", - "metadata": {}, - "outputs": [], - "source": [ - "channels = data['channels']" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "4db86556-55fe-40dc-b9d8-63da7027cf81", - "metadata": {}, - "outputs": [], - "source": [ - "def print_row(row):\n", - " data=['']\n", - " data.append(row['name'])\n", - " data.append(row['origin'])\n", - " data.append(', '.join(row.get('dependents',[])))\n", - " data.append(', '.join(row.get('mergeKeys',[])))\n", - " data.append('')\n", - " print('|'.join(data))\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "b93b36fa-d917-4d51-a123-a4d4a2139e6f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "## bomb_action - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|player_id|replay|||\n", - "|player_id_pawn|replay|||\n", - "|site_code|replay|||\n", - "|entity_id|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## bomb_defuse - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|player_id|replay|||\n", - "|has_kit|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## bomb_state - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|player_id|replay|||\n", - "|site_code|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## bot_takeover - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|bot_id|replay|||\n", - "|player_index|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## grenade_state - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|entity_id|replay|||\n", - "|player_id|replay|||\n", - "|x_pos|replay|||\n", - "|y_pos|replay|||\n", - "|z_pos|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|entity_id_fixed|calculated|round, entity_id, event_type, tick||\n", - "|tick_throw|calculated|round, player_id, weapon_name, tick||\n", - "|player_x_pos|merged||tick_throw, player_id|\n", - "|player_y_pos|merged||tick_throw, player_id|\n", - "|player_z_pos|merged||tick_throw, player_id|\n", - "|player_x_vel|merged||tick_throw, player_id|\n", - "|player_y_vel|merged||tick_throw, player_id|\n", - "|player_z_vel|merged||tick_throw, player_id|\n", - "|player_phi_ang|merged||tick_throw, player_id|\n", - "|player_theta_ang|merged||tick_throw, player_id|\n", - "|player_weapon_code|merged||tick_throw, player_id|\n", - "|player_team_code|merged||tick_throw, player_id|\n", - "\n", - "## header - \n", - "\n", - "|magic|replay|||\n", - "|network_protocol|replay|||\n", - "|server_name|replay|||\n", - "|client_name|replay|||\n", - "|map_name|replay|||\n", - "|game_directory|replay|||\n", - "|fullpackets_version|replay|||\n", - "|allow_clientside_entities|replay|||\n", - "|allow_clientside_particles|replay|||\n", - "|addons|replay|||\n", - "|demo_version_name|replay|||\n", - "|demo_version_guid|replay|||\n", - "|build_num|replay|||\n", - "|game|replay|||\n", - "|magic|replay|||\n", - "|protocol|replay|||\n", - "|network_protocol|replay|||\n", - "|server_name|replay|||\n", - "|client_name|replay|||\n", - "|map_name|replay|||\n", - "|game_directory|replay|||\n", - "|playback_time|replay|||\n", - "|playback_ticks|replay|||\n", - "|playback_frames|replay|||\n", - "|signon_length|replay|||\n", - "|tick_rate|calculated|playback_ticks, playback_time||\n", - "|tick_save_rate|calculated|playback_frames, playback_time||\n", - "|rushb_version|calculated|meta:metadata.rushbVersion||\n", - "|ppp_version|calculated|meta:context.version||\n", - "|match_date|calculated|meta:matchDate||\n", - "|demo_id|calculated-redacted|meta:demoId||\n", - "|sharecode|calculated-redacted|meta:sharecode||\n", - "|platform|calculated|meta:platform||\n", - "|match_type|calculated|meta:matchType||\n", - "|game|calculated|meta:game||\n", - "|second|calculated|tick, tick_rate||\n", - "|t_starters_avg_rank|calculated|is_bot, round, rank, steam_id, team_code||\n", - "|t_starters_avg_wins|calculated|is_bot, round, wins, steam_id, team_code||\n", - "|ct_starters_avg_rank|calculated|is_bot, round, rank, steam_id, team_code||\n", - "|ct_starters_avg_wins|calculated|is_bot, round, wins, steam_id, team_code||\n", - "|ct_starters_score_final|calculated|round_state:ct_score||\n", - "|t_starters_score_final|calculated|round_state:t_score||\n", - "|providence|calculated|metademo:providence||\n", - "|number_of_points|calculated|shape of all data frames||\n", - "\n", - "## item_equip - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|item|replay|||\n", - "|def_index|replay|||\n", - "|can_zoom|replay|||\n", - "|has_silencer|replay|||\n", - "|is_silenced|replay|||\n", - "|has_tracers|replay|||\n", - "|weapon_type_code|replay|||\n", - "|is_painted|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## item_pickup - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|item|replay|||\n", - "|def_index|replay|||\n", - "|is_silent|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## molotov_state - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|entity_id|replay|||\n", - "|x_pos|replay|||\n", - "|y_pos|replay|||\n", - "|z_pos|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|entity_id_fixed|calculated|round, entity_id, event_type, tick||\n", - "|burn_duration|calculated|second, entity_id_fixed, event_type||\n", - "|was_extinguished_by_smoke|calculated|second, entity_id_fixed, event_type, burn_duration||\n", - "|extinguisher_id|calculated|second, entity_id_fixed, event_type, x_pos, y_pos, z_pos, player_id||\n", - "|extinguisher_id_fixed|calculated|second, entity_id, entity_id_fixed, event_type, x_pos, y_pos, z_pos, player_id_fixed||\n", - "|smoke_entity_id|calculated|second, entity_id, entity_id_fixed, event_type, x_pos, y_pos, z_pos||\n", - "|was_extinguished_by_thrown_smoke|calculated|second, entity_id, entity_id_fixed, event_type, x_pos, y_pos, z_pos||\n", - "|player_id|calculated|event_type, second, round||\n", - "|player_id_fixed|calculated|event_type, second, round||\n", - "|tick_throw|calculated|event_type, second, round||\n", - "|player_x_pos|merged||tick_throw, player_id|\n", - "|player_y_pos|merged||tick_throw, player_id|\n", - "|player_z_pos|merged||tick_throw, player_id|\n", - "|player_x_vel|merged||tick_throw, player_id|\n", - "|player_y_vel|merged||tick_throw, player_id|\n", - "|player_z_vel|merged||tick_throw, player_id|\n", - "|player_phi_ang|merged||tick_throw, player_id|\n", - "|player_theta_ang|merged||tick_throw, player_id|\n", - "|player_weapon_code|merged||tick_throw, player_id|\n", - "|player_team_code|merged||tick_throw, player_id|\n", - "\n", - "## other_death - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|other_type|replay|||\n", - "|attacker_id|replay|||\n", - "|weapon_name|replay|||\n", - "|is_headshot|replay|||\n", - "|penetration_amount|replay|||\n", - "|is_through_smoke|replay|||\n", - "|is_attacker_blind|replay|||\n", - "|is_noscope|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|attacker_id_fixed|merged||attacker_id, round, steam_id|\n", - "|attacker_x_pos|merged||attacker_id, tick|\n", - "|attacker_y_pos|merged||attacker_id, tick|\n", - "|attacker_z_pos|merged||attacker_id, tick|\n", - "|attacker_x_vel|merged||attacker_id, tick|\n", - "|attacker_y_vel|merged||attacker_id, tick|\n", - "|attacker_z_vel|merged||attacker_id, tick|\n", - "|attacker_phi_ang|merged||attacker_id, tick|\n", - "|attacker_theta_ang|merged||attacker_id, tick|\n", - "|attacker_weapon_code|merged||attacker_id, tick|\n", - "|attacker_team_code|merged||attacker_id, tick|\n", - "|attacker_tick|merged||attacker_id, tick|\n", - "|attacker_player_id|merged||attacker_id, tick|\n", - "\n", - "## player_action - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|player_id|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## player_blind - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|entity_id|replay|||\n", - "|attacker_id|replay|||\n", - "|blind_duration|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|attacker_id_fixed|merged||attacker_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "|attacker_x_pos|merged||attacker_id, tick|\n", - "|attacker_y_pos|merged||attacker_id, tick|\n", - "|attacker_z_pos|merged||attacker_id, tick|\n", - "|attacker_x_vel|merged||attacker_id, tick|\n", - "|attacker_y_vel|merged||attacker_id, tick|\n", - "|attacker_z_vel|merged||attacker_id, tick|\n", - "|attacker_phi_ang|merged||attacker_id, tick|\n", - "|attacker_theta_ang|merged||attacker_id, tick|\n", - "|attacker_weapon_code|merged||attacker_id, tick|\n", - "|attacker_team_code|merged||attacker_id, tick|\n", - "|attacker_tick|merged||attacker_id, tick|\n", - "|attacker_player_id|merged||attacker_id, tick|\n", - "\n", - "## player_death - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|attacker_id|replay|||\n", - "|assister_id|replay|||\n", - "|weapon_name|replay|||\n", - "|is_headshot|replay|||\n", - "|penetration_amount|replay|||\n", - "|has_replay|replay|||\n", - "|is_flash_assist|replay|||\n", - "|is_through_smoke|replay|||\n", - "|is_attacker_blind|replay|||\n", - "|is_noscope|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|attacker_id_fixed|merged||attacker_id, round, steam_id|\n", - "|assister_id_fixed|merged||assister_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "|attacker_x_pos|merged||attacker_id, tick|\n", - "|attacker_y_pos|merged||attacker_id, tick|\n", - "|attacker_z_pos|merged||attacker_id, tick|\n", - "|attacker_x_vel|merged||attacker_id, tick|\n", - "|attacker_y_vel|merged||attacker_id, tick|\n", - "|attacker_z_vel|merged||attacker_id, tick|\n", - "|attacker_phi_ang|merged||attacker_id, tick|\n", - "|attacker_theta_ang|merged||attacker_id, tick|\n", - "|attacker_weapon_code|merged||attacker_id, tick|\n", - "|attacker_team_code|merged||attacker_id, tick|\n", - "|attacker_tick|merged||attacker_id, tick|\n", - "|attacker_player_id|merged||attacker_id, tick|\n", - "|assister_x_pos|merged||assister_id, tick|\n", - "|assister_y_pos|merged||assister_id, tick|\n", - "|assister_z_pos|merged||assister_id, tick|\n", - "|assister_x_vel|merged||assister_id, tick|\n", - "|assister_y_vel|merged||assister_id, tick|\n", - "|assister_z_vel|merged||assister_id, tick|\n", - "|assister_phi_ang|merged||assister_id, tick|\n", - "|assister_theta_ang|merged||assister_id, tick|\n", - "|assister_weapon_code|merged||assister_id, tick|\n", - "|assister_team_code|merged||assister_id, tick|\n", - "|assister_tick|merged||assister_id, tick|\n", - "|assister_player_id|merged||assister_id, tick|\n", - "\n", - "## player_disconnect - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|disconnect_reason|replay|||\n", - "|is_bot|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "\n", - "## player_footstep - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "\n", - "## player_hurt - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|attacker_id|replay|||\n", - "|health|replay|||\n", - "|armor|replay|||\n", - "|weapon_name|replay|||\n", - "|health_removed|replay|||\n", - "|armor_removed|replay|||\n", - "|hit_box_code|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|attacker_id_fixed|merged||attacker_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "|attacker_x_pos|merged||attacker_id, tick|\n", - "|attacker_y_pos|merged||attacker_id, tick|\n", - "|attacker_z_pos|merged||attacker_id, tick|\n", - "|attacker_x_vel|merged||attacker_id, tick|\n", - "|attacker_y_vel|merged||attacker_id, tick|\n", - "|attacker_z_vel|merged||attacker_id, tick|\n", - "|attacker_phi_ang|merged||attacker_id, tick|\n", - "|attacker_theta_ang|merged||attacker_id, tick|\n", - "|attacker_weapon_code|merged||attacker_id, tick|\n", - "|attacker_team_code|merged||attacker_id, tick|\n", - "|attacker_tick|merged||attacker_id, tick|\n", - "|attacker_player_id|merged||attacker_id, tick|\n", - "|effective_health_removed|calculated|player_id, round, health||\n", - "\n", - "## player_info - \n", - "\n", - "|round|replay|||\n", - "|tick|replay-deleted|||\n", - "|player_id|replay|||\n", - "|team_code|replay|||\n", - "|wins|replay-capped|||\n", - "|rank|replay|||\n", - "|radar_color_code|replay|||\n", - "|second|calculated-deleted|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|rank_raw|calculated|player_info:rank||\n", - "|rank_platform|calculated|player_personal:rank||\n", - "\n", - "## player_name - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|name_new|replay-redacted|||\n", - "|name_old|replay-redacted|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "\n", - "## player_personal - \n", - "\n", - "|round|replay|||\n", - "|tick|replay-deleted|||\n", - "|player_id|replay|||\n", - "|player_controller_id|replay|||\n", - "|player_id_pawn|replay|||\n", - "|name|replay-redacted|||\n", - "|clan_tag|replay-redacted|||\n", - "|steam_id|replay-redacted|||\n", - "|second|calculated-deleted|tick, tick_rate||\n", - "|is_bot|calculated|steam_id||\n", - "|player_id_fixed|calculated|steam_id, is_bot||\n", - "\n", - "## player_spawn - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## player_status - \n", - "\n", - "|tick|replay|||\n", - "|round|replay|||\n", - "|player_id|replay|||\n", - "|player_controller_id|replay|||\n", - "|armor|replay|||\n", - "|health|replay|||\n", - "|place_name|replay|||\n", - "|inv_primary|replay|||\n", - "|inv_secondary|replay|||\n", - "|inv_flashbang|replay|||\n", - "|inv_taser|replay|||\n", - "|inv_hegrenade|replay|||\n", - "|inv_smokegrenade|replay|||\n", - "|inv_molotov|replay|||\n", - "|inv_decoy|replay|||\n", - "|inv_incgrenade|replay|||\n", - "|inv_c4|replay|||\n", - "|current_equipment_cost|replay|||\n", - "|freezetime_end_equipment_cost|replay|||\n", - "|money|replay|||\n", - "|ping|replay-redacted|||\n", - "|round_start_equipment_cost|replay|||\n", - "|zoom_level|replay|||\n", - "|iron_sight_mode|replay|||\n", - "|burst_mode|replay|||\n", - "|is_silenced|replay|||\n", - "|reload_visually_complete|replay|||\n", - "|weapon_mode|replay|||\n", - "|flash_duration|replay|||\n", - "|flash_max_alpha|replay|||\n", - "|has_c4|replay|||\n", - "|has_defuser|replay|||\n", - "|has_helmet|replay|||\n", - "|is_defusing|replay|||\n", - "|is_fake_player|replay|||\n", - "|is_in_bomb_zone|replay|||\n", - "|is_in_buy_zone|replay|||\n", - "|is_scoped|replay|||\n", - "|is_spotted|replay|||\n", - "|is_walking|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|equipment_value_calc|calculated|inv_flashbang, inv_taser, inv_hegrenade, inv_smokegrenade, inv_molotov, inv_decoy, inv_incgrenade, inv_c4, armor, has_defuser, has_helmet, inv_primary, inv_secondary||\n", - "\n", - "## player_vector - \n", - "\n", - "|tick|replay|||\n", - "|round|replay|||\n", - "|player_id|replay|||\n", - "|x_pos|replay|||\n", - "|y_pos|replay|||\n", - "|z_pos|replay|||\n", - "|x_aimpunch|replay|||\n", - "|y_aimpunch|replay|||\n", - "|current_ammo|replay|||\n", - "|weapon_code|replay|||\n", - "|inaccuracy|replay|||\n", - "|last_shot_time|replay|||\n", - "|recoil_index|replay|||\n", - "|phi_ang|replay|||\n", - "|theta_ang|replay|||\n", - "|is_ducked|replay|||\n", - "|is_ducking|replay|||\n", - "|duck_amount|replay|||\n", - "|duck_speed|replay|||\n", - "|fall_velocity|replay|||\n", - "|view_punch_angle_tick|replay|||\n", - "|aim_punch_angle_vel_x|replay|||\n", - "|aim_punch_angle_vel_y|replay|||\n", - "|aim_punch_angle_vel_z|replay|||\n", - "|is_rescuing|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|team_code|merged||round, player_id|\n", - "|theta_vel|calculated|second, player_id, theta||\n", - "|phi_vel|calculated|second, player_id, phi||\n", - "|ang_vel|calculated|phi_vel, theta_vel||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|x_vel|calculated|second, x_pos||\n", - "|y_vel|calculated|second, y_pos||\n", - "|z_vel|calculated|second, z_pos||\n", - "|speed_2d|calculated|x_vel, y_vel||\n", - "|movement_angle|calculated|second, x_vel, y_vel||\n", - "|movement_angle_diff|calculated|second, speed_2d, theta_ang, movement_angle||\n", - "\n", - "## round_end - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|winner_team_code|replay|||\n", - "|win_reason_code|replay|||\n", - "|win_reason_message|replay|||\n", - "|legacy_code|replay|||\n", - "|player_count|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "\n", - "## round_mvp - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|mvp_reason_code|replay|||\n", - "|music_kit_mvps|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "\n", - "## round_start - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|time_limit|replay|||\n", - "|frag_limit|replay|||\n", - "|objective|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "\n", - "## round_state - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|t_score|replay_fixed|||\n", - "|ct_score|replay_fixed|||\n", - "|t_score_raw|replay|||\n", - "|ct_score_raw|replay|||\n", - "|phase|replay|||\n", - "|is_warmup|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "\n", - "## tick - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|previous_phase|calculated|event_type, second||\n", - "|second_since_previous_phase|calculated|second||\n", - "\n", - "## weapon_action - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|event_type|replay|||\n", - "|player_id|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n", - "## weapon_fire - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|player_id_pawn|replay|||\n", - "|weapon_name|replay|||\n", - "|is_silenced|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "|missed_molotov|calculated|event_type-molotov_state, second-molotov_state||\n", - "\n", - "## item_remove - \n", - "\n", - "|round|replay|||\n", - "|tick|replay|||\n", - "|player_id|replay|||\n", - "|item|replay|||\n", - "|def_index|replay|||\n", - "|second|calculated|tick, tick_rate||\n", - "|player_id_fixed|merged||player_id, round, steam_id|\n", - "|player_x_pos|merged||player_id, tick|\n", - "|player_y_pos|merged||player_id, tick|\n", - "|player_z_pos|merged||player_id, tick|\n", - "|player_x_vel|merged||player_id, tick|\n", - "|player_y_vel|merged||player_id, tick|\n", - "|player_z_vel|merged||player_id, tick|\n", - "|player_phi_ang|merged||player_id, tick|\n", - "|player_theta_ang|merged||player_id, tick|\n", - "|player_weapon_code|merged||player_id, tick|\n", - "|player_team_code|merged||player_id, tick|\n", - "|player_tick|merged||player_id, tick|\n", - "|player_player_id|merged||player_id, tick|\n", - "\n" - ] - } - ], - "source": [ - "for channel in channels:\n", - " print(\"## \"+channel['channel']+' - ')\n", - " print()\n", - " for column in channel['columns']:\n", - " print_row(column)\n", - " print()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "7ee5100b-8432-4e23-956c-60e9270e2a68", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "'.'.join([])\n", - "# Events that trigger this channel: bomb_abort_plant, bomb_begin_plant, bomb_dropped, bomb_pickup, player_given_c4\n", - "\n", - "# | Col Name | Origin | Dependents | Merge Keys |\n", - "# | ------------------ | ---------- | --------------- | -------------------------- |\n", - "# | round | replay | none | none |\n", - "# | tick | replay | none | none |\n", - "# | event_type | replay | none | none |\n", - "# | player_id | replay | none | none |\n", - "# | site_code | replay | none | none |\n", - "# | entity_id | replay | none | none |\n", - "# | second | calculated | tick, tick_rate | none |\n", - "# | player_id_fixed | merged | none | player_id, round, steam_id |\n", - "# | player_x_pos | merged | none | player_id, tick |\n", - "# | player_y_pos | merged | none | player_id, tick |\n", - "# | player_z_pos | merged | none | player_id, tick |\n", - "# | player_x_vel | merged | none | player_id, tick |\n", - "# | player_y_vel | merged | none | player_id, tick |\n", - "# | player_z_vel | merged | none | player_id, tick |\n", - "# | player_phi_ang | merged | none | player_id, tick |\n", - "# | player_theta_ang | merged | none | player_id, tick |\n", - "# | player_weapon_code | merged | none | player_id, tick |\n", - "# | player_team_code | merged | none | player_id, tick |\n", - "# | player_tick | merged | none | player_id, tick |\n", - "# | player_player_id | merged | none | player_id, tick |" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cf351e7d-32bc-4899-a8b5-ffd04d589844", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/datascience/adx/cs2/csds/csds b/docs/datascience/adx/cs2/csds/csds deleted file mode 100644 index 91ec364d2691ec80b9e5b694f7347d28fef0ac1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4496 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 ivOBku2fBqkjMc~J6LjeG{2ibW5