package NewPerks
using RTDB

NoviceNewPerkTier : NewPerkTier
{
	CName enumName = "NoviceNewPerkTier";
	string enumComment = "First, the lowest level";
	requiredAttributePoints = 4;
}

AdeptNewPerkTier : NewPerkTier
{
	CName enumName = "AdeptNewPerkTier";
	string enumComment = "Second level";
	requiredAttributePoints = 9;
}

ExpertNewPerkTier : NewPerkTier
{
	CName enumName = "ExpertNewPerkTier";
	string enumComment = "Third level";
	requiredAttributePoints = 15;
}

MasterNewPerkTier : NewPerkTier
{
	CName enumName = "MasterNewPerkTier";
	string enumComment = "Forth, top level";
	requiredAttributePoints = 20;
}

EspionageNewPerkTier : NewPerkTier
{
	CName enumName = "EspionageNewPerkTier";
	string enumComment = "All spy perks";
	requiredAttributePoints = 0;
}

SimpleNewPerkCategory : NewPerkCategory
{
	enumName = "SimpleNewPerkCategory";
	enumComment = "Common, less powerfull perk";
}

MilestoneNewPerkCategory : NewPerkCategory
{
	enumName = "MilestoneNewPerkCategory";
	enumComment = "More powerfull branching perk which unlocks other perks";
}

MasterNewPerkCategory : NewPerkCategory
{
	enumName = "MasterNewPerkCategory";
	enumComment = "The most powerfull perk at the top of the tree";
}

BladesPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "BladesPerkWeaponGroup";
	enumComment = "Blades Perk Weapon Group for UI tooltips";
}

BluntsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "BluntsPerkWeaponGroup";
	enumComment = "Blunts Perk Weapon Group for UI tooltips";
}

ThrowablePerkWeaponGroup : PerkWeaponGroup
{
	enumName = "ThrowablePerkWeaponGroup";
	enumComment = "Throwable Perk Weapon Group for UI tooltips";
}

BodyGunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "BodyGunsPerkWeaponGroup";
	enumComment = "Body Guns Weapon Group for UI tooltips";
}

ReflexesGunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "ReflexesGunsPerkWeaponGroup";
	enumComment = "Reflexes Guns Weapon Group for UI tooltips";
}

CoolGunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "CoolGunsPerkWeaponGroup";
	enumComment = "Cool Guns Weapon Group for UI tooltips";
}

SmartGunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "SmartGunsPerkWeaponGroup";
	enumComment = "Smart Guns Weapon Group for UI tooltips";
}

TechGunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "TechGunsPerkWeaponGroup";
	enumComment = "Tech Guns Weapon Group for UI tooltips";
}

AssaultRiflesPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "AssaultRiflesPerkWeaponGroup";
	enumComment = "Assault Rifles Weapon Group for UI tooltips";
}

SMGsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "SMGsPerkWeaponGroup";
	enumComment = "SMGs Weapon Group for UI tooltips";
}

ShotgunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "ShotgunsPerkWeaponGroup";
	enumComment = "Shotguns Weapon Group for UI tooltips";
}

LMGsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "LMGsPerkWeaponGroup";
	enumComment = "LMGs Weapon Group for UI tooltips";
}

PrecisionGunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "PrecisionGunsPerkWeaponGroup";
	enumComment = "PrecisionGuns Weapon Group for UI tooltips";
}

HandgunsPerkWeaponGroup : PerkWeaponGroup
{
	enumName = "HandgunsPerkWeaponGroup";
	enumComment = "Handguns Weapon Group for UI tooltips";
}

BodyAttributeData : AttributeData
{
	enumName = "BodyAttributeData";
	enumComment = "body attr data";
	attribute = "BaseStats.Strength";
	perks = 
	[
		"NewPerks.Body_Central_Milestone_1", "NewPerks.Body_Central_Perk_1_1", "NewPerks.Body_Central_Perk_1_2", "NewPerks.Body_Central_Perk_1_3", "NewPerks.Body_Central_Perk_1_4", "NewPerks.Body_Right_Milestone_1", "NewPerks.Body_Left_Milestone_2", "NewPerks.Body_Left_Perk_2_1", "NewPerks.Body_Left_Perk_2_3", "NewPerks.Body_Left_Perk_2_4", "NewPerks.Body_Right_Milestone_2", "NewPerks.Body_Right_Perk_2_1", "NewPerks.Body_Right_Perk_2_2", "NewPerks.Body_Right_Perk_2_3", "NewPerks.Body_Right_Perk_2_4", "NewPerks.Body_Left_Milestone_3", "NewPerks.Body_Left_Perk_3_1", "NewPerks.Body_Left_Perk_3_2", "NewPerks.Body_Left_Perk_3_3", "NewPerks.Body_Left_Perk_3_4", "NewPerks.Body_Inbetween_Left_3", "NewPerks.Body_Central_Milestone_3", "NewPerks.Body_Central_Perk_3_1", "NewPerks.Body_Central_Perk_3_2", "NewPerks.Body_Central_Perk_3_4", "NewPerks.Body_Inbetween_Right_3", "NewPerks.Body_Right_Milestone_3", "NewPerks.Body_Right_Perk_3_1", "NewPerks.Body_Right_Perk_3_2", "NewPerks.Body_Master_Perk_1", "NewPerks.Body_Master_Perk_2", "NewPerks.Body_Master_Perk_3", "NewPerks.Body_Master_Perk_5"
	];
}

ReflexesAttributeData : AttributeData
{
	enumName = "ReflexesAttributeData";
	enumComment = "reflexes attr data";
	attribute = "BaseStats.Reflexes";
	perks = 
	[
		"NewPerks.Reflexes_Left_Milestone_1", "NewPerks.Reflexes_Central_Milestone_1", "NewPerks.Reflexes_Central_Perk_1_1", "NewPerks.Reflexes_Central_Perk_1_2", "NewPerks.Reflexes_Central_Perk_1_3", "NewPerks.Reflexes_Central_Perk_1_4", "NewPerks.Reflexes_Left_Milestone_2", "NewPerks.Reflexes_Left_Perk_2_2", "NewPerks.Reflexes_Left_Perk_2_3", "NewPerks.Reflexes_Left_Perk_2_4", "NewPerks.Reflexes_Central_Milestone_2", "NewPerks.Reflexes_Central_Perk_2_1", "NewPerks.Reflexes_Central_Perk_2_2", "NewPerks.Reflexes_Central_Perk_2_3", "NewPerks.Reflexes_Central_Perk_2_4", "NewPerks.Reflexes_Inbetween_Right_2", "NewPerks.Reflexes_Right_Milestone_2", "NewPerks.Reflexes_Right_Perk_2_1", "NewPerks.Reflexes_Right_Perk_2_2", "NewPerks.Reflexes_Right_Perk_2_3", "NewPerks.Reflexes_Left_Milestone_3", "NewPerks.Reflexes_Left_Perk_3_1", "NewPerks.Reflexes_Left_Perk_3_2", "NewPerks.Reflexes_Left_Perk_3_3", "NewPerks.Reflexes_Left_Perk_3_4", "NewPerks.Reflexes_Inbetween_Left_3", "NewPerks.Reflexes_Central_Milestone_3", "NewPerks.Reflexes_Central_Perk_3_2", "NewPerks.Reflexes_Central_Perk_3_3", "NewPerks.Reflexes_Right_Milestone_3", "NewPerks.Reflexes_Right_Perk_3_1", "NewPerks.Reflexes_Right_Perk_3_3", "NewPerks.Reflexes_Right_Perk_3_4", "NewPerks.Reflexes_Master_Perk_1", "NewPerks.Reflexes_Master_Perk_2", "NewPerks.Reflexes_Master_Perk_3", "NewPerks.Reflexes_Master_Perk_5"
	];
}

IntelligenceAttributeData : AttributeData
{
	enumName = "IntelligenceAttributeData";
	enumComment = "intelligence attr data";
	attribute = "BaseStats.Intelligence";
	perks = 
	[
		"NewPerks.Intelligence_Left_Milestone_1", "NewPerks.Intelligence_Left_Perk_1_1", "NewPerks.Intelligence_Left_Perk_1_2", "NewPerks.Intelligence_Central_Milestone_1", "NewPerks.Intelligence_Central_Perk_1_1", "NewPerks.Intelligence_Central_Perk_1_2", "NewPerks.Intelligence_Central_Perk_1_3", "NewPerks.Intelligence_Right_Milestone_1", "NewPerks.Intelligence_Left_Milestone_2", "NewPerks.Intelligence_Left_Perk_2_1", "NewPerks.Intelligence_Left_Perk_2_2", "NewPerks.Intelligence_Left_Perk_2_3", "NewPerks.Intelligence_Left_Perk_2_4", "NewPerks.Intelligence_Central_Milestone_2", "NewPerks.Intelligence_Central_Perk_2_1", "NewPerks.Intelligence_Central_Perk_2_2", "NewPerks.Intelligence_Central_Perk_2_3", "NewPerks.Intelligence_Central_Perk_2_4", "NewPerks.Intelligence_Inbetween_Right_2", "NewPerks.Intelligence_Inbetween_Left_2", "NewPerks.Intelligence_Right_Milestone_2", "NewPerks.Intelligence_Right_Perk_2_1", "NewPerks.Intelligence_Right_Perk_2_2", "NewPerks.Intelligence_Left_Milestone_3", "NewPerks.Intelligence_Left_Perk_3_1", "NewPerks.Intelligence_Left_Perk_3_2", "NewPerks.Intelligence_Left_Perk_3_4", "NewPerks.Intelligence_Inbetween_Left_3", "NewPerks.Intelligence_Central_Milestone_3", "NewPerks.Intelligence_Central_Perk_3_1", "NewPerks.Intelligence_Central_Perk_3_2", "NewPerks.Intelligence_Central_Perk_3_3", "NewPerks.Intelligence_Right_Milestone_3", "NewPerks.Intelligence_Right_Perk_3_1", "NewPerks.Intelligence_Right_Perk_3_2", "NewPerks.Intelligence_Master_Perk_1", "NewPerks.Intelligence_Master_Perk_3", "NewPerks.Intelligence_Master_Perk_4"
	];
}

TechnicalAbilityAttributeData : AttributeData
{
	enumName = "TechnicalAbilityAttributeData";
	enumComment = "tech attr data";
	attribute = "BaseStats.TechnicalAbility";
	perks = 
	[
		"NewPerks.Tech_Left_Milestone_1", "NewPerks.Tech_Left_Perk_1_1", "NewPerks.Tech_Left_Perk_1_2", "NewPerks.Tech_Right_Milestone_1", "NewPerks.Tech_Central_Milestone_2", "NewPerks.Tech_Central_Perk_2_1", "NewPerks.Tech_Central_Perk_2_2", "NewPerks.Tech_Central_Perk_2_3", "NewPerks.Tech_Central_Perk_2_4", "NewPerks.Tech_Inbetween_Right_2", "NewPerks.Tech_Left_Milestone_2", "NewPerks.Tech_Left_Perk_2_1", "NewPerks.Tech_Left_Perk_2_2", "NewPerks.Tech_Left_Perk_2_3", "NewPerks.Tech_Left_Perk_2_4", "NewPerks.Tech_Central_Milestone_3", "NewPerks.Tech_Central_Perk_3_1", "NewPerks.Tech_Central_Perk_3_2", "NewPerks.Tech_Central_Perk_3_3", "NewPerks.Tech_Central_Perk_3_4", "NewPerks.Tech_Inbetween_Left_3", "NewPerks.Tech_Left_Milestone_3", "NewPerks.Tech_Left_Perk_3_01", "NewPerks.Tech_Left_Perk_3_2", "NewPerks.Tech_Left_Perk_3_3", "NewPerks.Tech_Left_Perk_3_4", "NewPerks.Tech_Right_Milestone_3", "NewPerks.Tech_Right_Perk_3_1", "NewPerks.Tech_Right_Perk_3_2", "NewPerks.Tech_Right_Perk_3_3", "NewPerks.Tech_Right_Perk_3_4", "NewPerks.Tech_Master_Perk_2", "NewPerks.Tech_Master_Perk_3", "NewPerks.Tech_Master_Perk_5"
	];
}

CoolAttributeData : AttributeData
{
	enumName = "CoolAttributeData";
	enumComment = "cool attr data";
	attribute = "BaseStats.Cool";
	perks = 
	[
		"NewPerks.Cool_Left_Milestone_1", "NewPerks.Cool_Central_Milestone_1", "NewPerks.Cool_Central_Perk_1_1", "NewPerks.Cool_Central_Perk_1_2", "NewPerks.Cool_Central_Perk_1_4", "NewPerks.Cool_Right_Milestone_1", "NewPerks.Cool_Right_Perk_1_1", "NewPerks.Cool_Right_Perk_1_2", "NewPerks.Cool_Left_Milestone_2", "NewPerks.Cool_Left_Perk_2_1", "NewPerks.Cool_Left_Perk_2_2", "NewPerks.Cool_Left_Perk_2_3", "NewPerks.Cool_Left_Perk_2_4", "NewPerks.Cool_Inbetween_Left_2", "NewPerks.Cool_Right_Milestone_2", "NewPerks.Cool_Right_Perk_2_1", "NewPerks.Cool_Right_Perk_2_2", "NewPerks.Cool_Right_Perk_2_3", "NewPerks.Cool_Right_Perk_2_4", "NewPerks.Cool_Left_Milestone_3", "NewPerks.Cool_Left_Perk_3_1", "NewPerks.Cool_Left_Perk_3_2", "NewPerks.Cool_Left_Perk_3_3", "NewPerks.Cool_Left_Perk_3_4", "NewPerks.Cool_Central_Milestone_3", "NewPerks.Cool_Central_Perk_3_1", "NewPerks.Cool_Central_Perk_3_2", "NewPerks.Cool_Central_Perk_3_4", "NewPerks.Cool_Inbetween_Left_3", "NewPerks.Cool_Inbetween_Right_3", "NewPerks.Cool_Right_Milestone_3", "NewPerks.Cool_Right_Perk_3_1", "NewPerks.Cool_Right_Perk_3_2", "NewPerks.Cool_Right_Perk_3_4", "NewPerks.Cool_Master_Perk_1", "NewPerks.Cool_Master_Perk_2", "NewPerks.Cool_Master_Perk_4"
	];
}

EspionageAttributeData : AttributeData
{
	enumName = "EspionageAttributeData";
	enumComment = "espionage attr data";
	attribute = "BaseStats.Espionage";
	perks = 
	[
		"NewPerks.Espionage_Central_Milestone_1", "NewPerks.Espionage_Central_Perk_1_1", "NewPerks.Espionage_Central_Perk_1_2", "NewPerks.Espionage_Central_Perk_1_3", "NewPerks.Espionage_Central_Perk_1_4", "NewPerks.Espionage_Left_Milestone_Perk", "NewPerks.Espionage_Left_Perk_1_2", "NewPerks.Espionage_Right_Milestone_1", "NewPerks.Espionage_Right_Perk_1_1"
	];
}

Left_Perk_1_1 : NewPerkSlot
{
	CName enumName = "Left_Perk_1_1";
	string enumComment = "";
}

Left_Perk_1_2 : NewPerkSlot
{
	CName enumName = "Left_Perk_1_2";
	string enumComment = "";
}

Left_Perk_1_3 : NewPerkSlot
{
	CName enumName = "Left_Perk_1_3";
	string enumComment = "";
}

Left_Perk_1_4 : NewPerkSlot
{
	CName enumName = "Left_Perk_1_4";
	string enumComment = "";
}

Left_Perk_2_1 : NewPerkSlot
{
	CName enumName = "Left_Perk_2_1";
	string enumComment = "";
}

Left_Perk_2_2 : NewPerkSlot
{
	CName enumName = "Left_Perk_2_2";
	string enumComment = "";
}

Left_Perk_2_3 : NewPerkSlot
{
	CName enumName = "Left_Perk_2_3";
	string enumComment = "";
}

Left_Perk_2_4 : NewPerkSlot
{
	CName enumName = "Left_Perk_2_4";
	string enumComment = "";
}

Left_Perk_3_1 : NewPerkSlot
{
	CName enumName = "Left_Perk_3_1";
	string enumComment = "";
}

Left_Perk_3_2 : NewPerkSlot
{
	CName enumName = "Left_Perk_3_2";
	string enumComment = "";
}

Left_Perk_3_3 : NewPerkSlot
{
	CName enumName = "Left_Perk_3_3";
	string enumComment = "";
}

Left_Perk_3_4 : NewPerkSlot
{
	CName enumName = "Left_Perk_3_4";
	string enumComment = "";
}

Left_Milestone_1 : NewPerkSlot
{
	CName enumName = "Left_Milestone_1";
	string enumComment = "";
}

Left_Milestone_2 : NewPerkSlot
{
	CName enumName = "Left_Milestone_2";
	string enumComment = "";
}

Left_Milestone_3 : NewPerkSlot
{
	CName enumName = "Left_Milestone_3";
	string enumComment = "";
}

Inbetween_Left_2 : NewPerkSlot
{
	CName enumName = "Inbetween_Left_2";
	string enumComment = "";
}

Inbetween_Left_3 : NewPerkSlot
{
	CName enumName = "Inbetween_Left_3";
	string enumComment = "";
}

Central_Perk_1_1 : NewPerkSlot
{
	CName enumName = "Central_Perk_1_1";
	string enumComment = "";
}

Central_Perk_1_2 : NewPerkSlot
{
	CName enumName = "Central_Perk_1_2";
	string enumComment = "";
}

Central_Perk_1_3 : NewPerkSlot
{
	CName enumName = "Central_Perk_1_3";
	string enumComment = "";
}

Central_Perk_1_4 : NewPerkSlot
{
	CName enumName = "Central_Perk_1_4";
	string enumComment = "";
}

Central_Perk_2_1 : NewPerkSlot
{
	CName enumName = "Central_Perk_2_1";
	string enumComment = "";
}

Central_Perk_2_2 : NewPerkSlot
{
	CName enumName = "Central_Perk_2_2";
	string enumComment = "";
}

Central_Perk_2_3 : NewPerkSlot
{
	CName enumName = "Central_Perk_2_3";
	string enumComment = "";
}

Central_Perk_2_4 : NewPerkSlot
{
	CName enumName = "Central_Perk_2_4";
	string enumComment = "";
}

Central_Perk_3_1 : NewPerkSlot
{
	CName enumName = "Central_Perk_3_1";
	string enumComment = "";
}

Central_Perk_3_2 : NewPerkSlot
{
	CName enumName = "Central_Perk_3_2";
	string enumComment = "";
}

Central_Perk_3_3 : NewPerkSlot
{
	CName enumName = "Central_Perk_3_3";
	string enumComment = "";
}

Central_Perk_3_4 : NewPerkSlot
{
	CName enumName = "Central_Perk_3_4";
	string enumComment = "";
}

Central_Milestone_1 : NewPerkSlot
{
	CName enumName = "Central_Milestone_1";
	string enumComment = "";
}

Central_Milestone_2 : NewPerkSlot
{
	CName enumName = "Central_Milestone_2";
	string enumComment = "";
}

Central_Milestone_3 : NewPerkSlot
{
	CName enumName = "Central_Milestone_3";
	string enumComment = "";
}

Inbetween_Right_2 : NewPerkSlot
{
	CName enumName = "Inbetween_Right_2";
	string enumComment = "";
}

Inbetween_Right_3 : NewPerkSlot
{
	CName enumName = "Inbetween_Right_3";
	string enumComment = "";
}

Right_Perk_1_1 : NewPerkSlot
{
	CName enumName = "Right_Perk_1_1";
	string enumComment = "";
}

Right_Perk_1_2 : NewPerkSlot
{
	CName enumName = "Right_Perk_1_2";
	string enumComment = "";
}

Right_Perk_1_3 : NewPerkSlot
{
	CName enumName = "Right_Perk_1_3";
	string enumComment = "";
}

Right_Perk_1_4 : NewPerkSlot
{
	CName enumName = "Right_Perk_1_4";
	string enumComment = "";
}

Right_Perk_2_1 : NewPerkSlot
{
	CName enumName = "Right_Perk_2_1";
	string enumComment = "";
}

Right_Perk_2_2 : NewPerkSlot
{
	CName enumName = "Right_Perk_2_2";
	string enumComment = "";
}

Right_Perk_2_3 : NewPerkSlot
{
	CName enumName = "Right_Perk_2_3";
	string enumComment = "";
}

Right_Perk_2_4 : NewPerkSlot
{
	CName enumName = "Right_Perk_2_4";
	string enumComment = "";
}

Right_Perk_3_1 : NewPerkSlot
{
	CName enumName = "Right_Perk_3_1";
	string enumComment = "";
}

Right_Perk_3_2 : NewPerkSlot
{
	CName enumName = "Right_Perk_3_2";
	string enumComment = "";
}

Right_Perk_3_3 : NewPerkSlot
{
	CName enumName = "Right_Perk_3_3";
	string enumComment = "";
}

Right_Perk_3_4 : NewPerkSlot
{
	CName enumName = "Right_Perk_3_4";
	string enumComment = "";
}

Right_Milestone_1 : NewPerkSlot
{
	CName enumName = "Right_Milestone_1";
	string enumComment = "";
}

Right_Milestone_2 : NewPerkSlot
{
	CName enumName = "Right_Milestone_2";
	string enumComment = "";
}

Right_Milestone_3 : NewPerkSlot
{
	CName enumName = "Right_Milestone_3";
	string enumComment = "";
}

Master_Perk_1 : NewPerkSlot
{
	CName enumName = "Master_Perk_1";
	string enumComment = "";
}

Master_Perk_2 : NewPerkSlot
{
	CName enumName = "Master_Perk_2";
	string enumComment = "";
}

Master_Perk_3 : NewPerkSlot
{
	CName enumName = "Master_Perk_3";
	string enumComment = "";
}

Master_Perk_4 : NewPerkSlot
{
	CName enumName = "Master_Perk_4";
	string enumComment = "";
}

Master_Perk_5 : NewPerkSlot
{
	CName enumName = "Master_Perk_5";
	string enumComment = "";
}

Espionage_Main_Perk_1 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_1";
	string enumComment = "";
}

Espionage_Main_Perk_1_Side_1 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_1_Side_1";
	string enumComment = "";
}

Espionage_Main_Perk_1_Side_2 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_1_Side_2";
	string enumComment = "";
}

Espionage_Main_Perk_1_Side_3 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_1_Side_3";
	string enumComment = "";
}

Espionage_Main_Perk_1_Side_4 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_1_Side_4";
	string enumComment = "";
}

Espionage_Main_Perk_2 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_2";
	string enumComment = "";
}

Espionage_Main_Perk_2_Side_1 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_2_Side_1";
	string enumComment = "";
}

Espionage_Main_Perk_3 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_3";
	string enumComment = "";
}

Espionage_Main_Perk_3_Side_1 : NewPerkSlot
{
	CName enumName = "Espionage_Main_Perk_3_Side_1";
	string enumComment = "";
}

