<commit_before>#include "projectile.h"

#include <GL/glew.h>
#include <maths.h>

#include <renderer/particles.h>

#include <digitanks/digitanksgame.h>
#include <digitanks/dt_camera.h>
#include <digitanks/dt_renderer.h>
#include "ui/instructor.h"
#include "ui/digitankswindow.h"

static float g_aflWeaponEnergies[WEAPON_MAX] =
{
	0.0f,

	2.0f,	// small
	5.0f,	// medium
	8.0f,	// large
	6.0f,	// AoE
	4.0f,	// tractor bomb
	3.0f,	// splooge

	6.0f,	// machine gun
	3.0f,	// torpedo
	8.0f,	// artillery

	0.0f,	// airstrike
	0.0f,	// fireworks
};

static float g_aflWeaponDamages[WEAPON_MAX] =
{
	0.0f,

	2.0f,	// small
	5.0f,	// medium
	8.0f,	// large
	4.0f,	// AoE
	1.0f,	// tractor bomb
	5.0f,	// splooge

	0.12f,	// machine gun
	0.0f,	// torpedo
	1.3f,	// artillery

	5.0f,	// airstrike
	0.0f,	// fireworks
};

static size_t g_aiWeaponShells[WEAPON_MAX] =
{
	0,

	1,	// small
	1,	// medium
	1,	// large
	1,	// AoE
	1,	// tractor bomb
	20,	// splooge

	20,	// machine gun
	1,	// torpedo
	3,	// artillery

	1,	// airstrike
	1,	// fireworks
};

static float g_aflWeaponFireInterval[WEAPON_MAX] =
{
	0,

	0,		// small
	0,		// medium
	0,		// large
	0,		// AoE
	0,		// tractor bomb
	0.01f,	// splooge

	0.1f,	// machine gun
	0,		// torpedo
	0.25f,	// artillery

	0,		// airstrike
	0,		// fireworks
};

static char16_t* g_apszWeaponNames[WEAPON_MAX] =
{
	L"None",

	L"Little Boy",
	L"Fat Man",
	L"Big Mama",
	L"Plasma Charge",
	L"Tractor Bomb",
	L"Splooge Attack",

	L"Flak Cannon",
	L"Torpedo",
	L"Artillery Shell",

	L"Airstrike",
	L"Fireworks",
};

static char16_t* g_apszWeaponDescriptions[WEAPON_MAX] =
{
	L"None",

	L"This light projectile bomb does just enough damage to keep the enemy from regenerating his shields next turn.",
	L"This medium projectile bomb is a good tradeoff between firepower and defense.",
	L"This heavy projectile bomb packs a mean punch at the cost of your defense for the next turn.",
	L"This large area of effect projectile bomb is good for attacking a group of tanks.",
	L"This light projectile bomb does very little damage, but can knock tanks around a great deal.",
	L"This light attack fires a stream of small projectiles at your enemy.",

	L"The infantry's light mounted gun is its main firepower.",
	L"This special attack targets supply lines. It does no damage but it can sever structures from the enemy network and force them to become neutral.",
	L"The artillery fires a salvo of shells which do double damage against shields but half damage against structures.",

	L"Rain fire and brimstone upon your enemies.",
	L"You won! Fireworks are in order.",
};
<commit_msg>I think renaming this is a wise choice. Insert grail knight here.<commit_after>#include "projectile.h"

#include <GL/glew.h>
#include <maths.h>

#include <renderer/particles.h>

#include <digitanks/digitanksgame.h>
#include <digitanks/dt_camera.h>
#include <digitanks/dt_renderer.h>
#include "ui/instructor.h"
#include "ui/digitankswindow.h"

static float g_aflWeaponEnergies[WEAPON_MAX] =
{
	0.0f,

	2.0f,	// small
	5.0f,	// medium
	8.0f,	// large
	6.0f,	// AoE
	4.0f,	// tractor bomb
	3.0f,	// splooge

	6.0f,	// machine gun
	3.0f,	// torpedo
	8.0f,	// artillery

	0.0f,	// airstrike
	0.0f,	// fireworks
};

static float g_aflWeaponDamages[WEAPON_MAX] =
{
	0.0f,

	2.0f,	// small
	5.0f,	// medium
	8.0f,	// large
	4.0f,	// AoE
	1.0f,	// tractor bomb
	7.0f,	// splooge

	0.12f,	// machine gun
	0.0f,	// torpedo
	1.3f,	// artillery

	5.0f,	// airstrike
	0.0f,	// fireworks
};

static size_t g_aiWeaponShells[WEAPON_MAX] =
{
	0,

	1,	// small
	1,	// medium
	1,	// large
	1,	// AoE
	1,	// tractor bomb
	20,	// splooge

	20,	// machine gun
	1,	// torpedo
	3,	// artillery

	1,	// airstrike
	1,	// fireworks
};

static float g_aflWeaponFireInterval[WEAPON_MAX] =
{
	0,

	0,		// small
	0,		// medium
	0,		// large
	0,		// AoE
	0,		// tractor bomb
	0.01f,	// splooge

	0.1f,	// machine gun
	0,		// torpedo
	0.25f,	// artillery

	0,		// airstrike
	0,		// fireworks
};

static char16_t* g_apszWeaponNames[WEAPON_MAX] =
{
	L"None",

	L"Little Boy",
	L"Fat Man",
	L"Big Mama",
	L"Plasma Charge",
	L"Tractor Bomb",
	L"Grapeshot",

	L"Flak Cannon",
	L"Torpedo",
	L"Artillery Shell",

	L"Airstrike",
	L"Fireworks",
};

static char16_t* g_apszWeaponDescriptions[WEAPON_MAX] =
{
	L"None",

	L"This light projectile bomb does just enough damage to keep the enemy from regenerating his shields next turn.",
	L"This medium projectile bomb is a good tradeoff between firepower and defense.",
	L"This heavy projectile bomb packs a mean punch at the cost of your defense for the next turn.",
	L"This large area of effect projectile bomb is good for attacking a group of tanks.",
	L"This light projectile bomb does very little damage, but can knock tanks around a great deal.",
	L"This light attack fires a stream of small projectiles at your enemy. It can be deadly at close range, but loses effectiveness with distance.",

	L"The infantry's light mounted gun is its main firepower.",
	L"This special attack targets supply lines. It does no damage but it can sever structures from the enemy network and force them to become neutral.",
	L"The artillery fires a salvo of shells which do double damage against shields but half damage against structures.",

	L"Rain fire and brimstone upon your enemies.",
	L"You won! Fireworks are in order.",
};

{'fraction_non_alphanumeric': 0.12619718309859154, 'fraction_numerical': 0.031549295774647886, 'mean_word_length': 3.1739811912225706, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '369434', 'n_tokens_mistral': 2224, 'n_tokens_neox': 2106, 'n_words': 648}