/* * Copyright (C) 2012 Sebastian Straub <sebastian-straub@gmx.net> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package de.nx42.wotcrawler.ext; /** * This class contains some more or less arbitrary collections of fields. * * @author Sebastian Straub <sebastian-straub@gmx.net> */ public class FieldDef { /** * All basic fields (tank and modules) */ public final static Field[] complete = { // tank (base) Field.T_Name, Field.T_Type, Field.T_Nation, Field.T_Tier, Field.T_BattleTier_Min, Field.T_BattleTier_Max, Field.T_CrewMembers, Field.T_TopSpeed, Field.T_Hull_Front, Field.T_Hull_Side, Field.T_Hull_Rear, Field.T_Cost, Field.T_Currency, Field.T_Gift, Field.T_GunArc_Left, Field.T_GunArc_Right, Field.T_Children, Field.T_Parents, Field.EMPTY, // tank (depending) Field.TE_Development, Field.TE_Elevation_Low, Field.TE_Elevation_High, Field.TE_Hitpoints, Field.TE_ViewRange, Field.TE_Weight, Field.TE_WeightLimit, Field.EMPTY, // module: engine Field.ME_Name, Field.ME_Tier, Field.ME_Nation, Field.ME_Cost, Field.ME_Currency, Field.ME_Weight, Field.ME_Compatibility, // specifics Field.ME_Firechance, Field.ME_Gas, Field.ME_Power, Field.EMPTY, // module: gun Field.MG_Name, Field.MG_Tier, Field.MG_Nation, Field.MG_Cost, Field.MG_Currency, Field.MG_Weight, Field.MG_Compatibility, // specifics Field.MG_Accuracy_Min, Field.MG_Accuracy_Max, Field.MG_AimTime_Min, Field.MG_AimTime_Max, Field.MG_AmmoCapacity_Min, Field.MG_AmmoCapacity_Max, Field.MG_Dmg_AP, Field.MG_Dmg_APCR, Field.MG_Dmg_HE, Field.MG_Dmg_HEAT, Field.MG_FireRate_Min, Field.MG_FireRate_Max, Field.MG_Penetration_AP, Field.MG_Penetration_APCR, Field.MG_Penetration_HE, Field.MG_Penetration_HEAT, Field.EMPTY, // module: radio Field.MR_Name, Field.MR_Tier, Field.MR_Nation, Field.MR_Cost, Field.MR_Currency, Field.MR_Weight, Field.MR_Compatibility, // specifics Field.MR_Range, Field.EMPTY, // module: suspension Field.MS_Name, Field.MS_Tier, Field.MS_Nation, Field.MS_Cost, Field.MS_Currency, Field.MS_Weight, Field.MS_Compatibility, // specifics Field.MS_Load, Field.MS_Traverse, Field.EMPTY, // module: turret Field.MT_Name, Field.MT_Tier, Field.MT_Nation, Field.MT_Cost, Field.MT_Currency, Field.MT_Weight, Field.MT_Compatibility, // specifics Field.MT_Armor_Front, Field.MT_Armor_Side, Field.MT_Armor_Rear, Field.MT_Traverse, Field.MT_ViewRange }; /** * All basic fields, reordered and with less redundancy */ public final static Field[] complete_irredundant = { // tank (base) Field.TE_Development, Field.T_Name, Field.T_Type, Field.T_Nation, Field.T_CrewMembers, Field.T_Tier, Field.T_BattleTier_Min, Field.T_BattleTier_Max, Field.TE_Hitpoints, Field.T_Hull_Front, Field.T_Hull_Side, Field.T_Hull_Rear, Field.T_TopSpeed, Field.TE_ViewRange, Field.T_Cost, Field.T_Currency, Field.T_Gift, Field.TE_Weight, Field.TE_WeightLimit, Field.T_GunArc_Left, Field.T_GunArc_Right, Field.TE_Elevation_Low, Field.TE_Elevation_High, Field.T_Children, Field.T_Parents, Field.EMPTY, // module: engine Field.ME_Name, Field.ME_Tier, Field.ME_Cost, Field.ME_Currency, Field.ME_Weight, Field.ME_Power, Field.ME_Gas, Field.ME_Firechance, Field.EMPTY, // module: gun Field.MG_Name, Field.MG_Tier, Field.MG_Cost, Field.MG_Currency, Field.MG_Weight, Field.MG_Dmg_AP, Field.MG_Dmg_APCR, Field.MG_Dmg_HE, Field.MG_Dmg_HEAT, Field.MG_Penetration_AP, Field.MG_Penetration_APCR, Field.MG_Penetration_HE, Field.MG_FireRate_Min, Field.MG_FireRate_Max, Field.MG_AimTime_Min, Field.MG_AimTime_Max, Field.MG_Accuracy_Min, Field.MG_Accuracy_Max, Field.MG_AmmoCapacity_Min, Field.MG_AmmoCapacity_Max, Field.EMPTY, // module: radio Field.MR_Name, Field.MR_Tier, Field.MR_Cost, Field.MR_Currency, Field.MR_Weight, Field.MR_Range, Field.EMPTY, // module: suspension Field.MS_Name, Field.MS_Tier, Field.MS_Cost, Field.MS_Currency, Field.MS_Weight, Field.MS_Load, Field.MS_Traverse, Field.EMPTY, // module: turret Field.MT_Name, Field.MT_Tier, Field.MT_Cost, Field.MT_Currency, Field.MT_Weight, Field.MT_Armor_Front, Field.MT_Armor_Side, Field.MT_Armor_Rear, Field.MT_Traverse, Field.MT_ViewRange }; /** * Detailed subset of fields, with separate module values */ public final static Field[] detailed_ModulesApart = { // tank (base) Field.TE_Development, Field.T_Name, Field.T_Type, Field.T_Nation, Field.T_CrewMembers, Field.T_Tier, Field.T_BattleTier_Min, Field.T_BattleTier_Max, Field.TE_Hitpoints, Field.T_Hull_Front, Field.T_Hull_Side, Field.T_Hull_Rear, Field.T_TopSpeed, Field.TE_ViewRange, Field.T_Cost, Field.T_Currency, Field.T_Gift, Field.TE_Weight, Field.TE_WeightLimit, Field.T_GunArc_Left, Field.T_GunArc_Right, Field.TE_Elevation_Low, Field.TE_Elevation_High, Field.T_Children, Field.T_Parents, Field.EMPTY, // module: engine Field.ME_Power, Field.ME_Firechance, Field.ME_Weight, Field.ME_Cost, Field.ME_Currency, Field.EMPTY, // module: gun Field.MG_Dmg_AP, Field.MG_Dmg_APCR, Field.MG_Dmg_HE, Field.MG_Dmg_HEAT, Field.MG_Penetration_AP, Field.MG_Penetration_APCR, Field.MG_Penetration_HE, Field.MG_Penetration_HEAT, Field.MG_FireRate_Min, Field.MG_FireRate_Max, Field.MG_AimTime_Min, Field.MG_AimTime_Max, Field.MG_Accuracy_Min, Field.MG_Accuracy_Max, Field.MG_AmmoCapacity_Min, Field.MG_AmmoCapacity_Max, Field.MG_Cost, Field.MG_Currency, Field.MG_Weight, Field.EMPTY, // module: radio Field.MR_Range, Field.MR_Weight, Field.MR_Cost, Field.MR_Currency, Field.EMPTY, // module: suspension Field.MS_Load, Field.MS_Traverse, Field.MS_Weight, Field.MS_Cost, Field.MS_Currency, Field.EMPTY, // module: turret Field.MT_Armor_Front, Field.MT_Armor_Side, Field.MT_Armor_Rear, Field.MT_Traverse, Field.MT_ViewRange, Field.MT_Weight, Field.MT_Cost, Field.MT_Currency, }; /** * Detailed subset of fields, fields mixed (grouped by topic) */ public final static Field[] detailed_Combined = { // tank (base) Field.TE_Development, Field.T_Name, Field.T_Type, Field.T_Nation, Field.T_CrewMembers, // tier Field.T_Tier, Field.T_BattleTier_Min, Field.T_BattleTier_Max, // cost Field.T_Cost, Field.T_Currency, Field.T_Gift, // hp + weight Field.TE_Hitpoints, Field.TE_Weight, Field.TE_WeightLimit, // mobility Field.ME_Power, Field.DP_HPperTon, Field.T_TopSpeed, Field.MS_Traverse, // armor Field.T_Hull_Front, Field.T_Hull_Side, Field.T_Hull_Rear, Field.MT_Armor_Front, Field.MT_Armor_Side, Field.MT_Armor_Rear, // armament Field.MG_Dmg_AP, Field.MG_Dmg_APCR, Field.MG_Dmg_HE, Field.MG_Dmg_HEAT, Field.MG_Penetration_AP, Field.MG_Penetration_APCR, Field.MG_Penetration_HE, Field.MG_Penetration_HEAT, Field.MG_FireRate_Min, Field.MG_FireRate_Max, Field.MG_AimTime_Min, Field.MG_AimTime_Max, Field.MG_Accuracy_Min, Field.MG_Accuracy_Max, Field.MG_AmmoCapacity_Min, Field.MG_AmmoCapacity_Max, Field.MT_Traverse, Field.T_GunArc_Left, Field.T_GunArc_Right, Field.TE_Elevation_Low, Field.TE_Elevation_High, // general Field.TE_ViewRange, Field.MR_Range, Field.ME_Firechance, // Field.T_Parents, // Field.T_Children, }; /** * All Engine Fields */ public final static Field[] mod_engine = { Field.ME_Nation, Field.ME_Tier, Field.ME_Name, Field.ME_Power, Field.ME_Firechance, Field.ME_Gas, Field.ME_Cost, Field.ME_Currency, Field.ME_Weight, Field.ME_Compatibility }; /** * All Gun Fields */ public final static Field[] mod_gun = { Field.MG_Nation, Field.MG_Tier, Field.MG_Name, Field.MG_AmmoCapacity_Min, Field.MG_AmmoCapacity_Max, Field.MG_Dmg_AP, Field.MG_Dmg_APCR, Field.MG_Dmg_HE, Field.MG_Dmg_HEAT, Field.MG_Penetration_AP, Field.MG_Penetration_APCR, Field.MG_Penetration_HE, Field.MG_Penetration_HEAT, Field.MG_FireRate_Min, Field.MG_FireRate_Max, Field.MG_Accuracy_Min, Field.MG_Accuracy_Max, Field.MG_AimTime_Min, Field.MG_AimTime_Max, Field.MG_Cost, Field.MG_Currency, Field.MG_Weight, Field.MG_Compatibility }; /** * All Radio Fields */ public final static Field[] mod_radio = { Field.MR_Nation, Field.MR_Tier, Field.MR_Name, Field.MR_Range, Field.MR_Cost, Field.MR_Currency, Field.MR_Weight, Field.MR_Compatibility }; /** * All Suspension Fields */ public final static Field[] mod_suspension = { Field.MS_Nation, Field.MS_Tier, Field.MS_Name, Field.MS_Load, Field.MS_Traverse, Field.MS_Cost, Field.MS_Currency, Field.MS_Weight, Field.MS_Compatibility }; /** * All Turret Fields */ public final static Field[] mod_turret = { Field.MT_Nation, Field.MT_Tier, Field.MT_Name, Field.MT_Armor_Front, Field.MT_Armor_Side, Field.MT_Armor_Rear, Field.MT_Traverse, Field.MT_ViewRange, Field.MT_Cost, Field.MT_Currency, Field.MT_Weight, Field.MT_Compatibility }; /** * tank specifics without modules */ public final static Field[] tank_base = { // tank (base) Field.T_Name, Field.T_Type, Field.T_Nation, Field.T_Tier, Field.T_BattleTier_Min, Field.T_BattleTier_Max, Field.T_CrewMembers, Field.T_TopSpeed, Field.T_Hull_Front, Field.T_Hull_Side, Field.T_Hull_Rear, Field.T_Cost, Field.T_Currency, Field.T_Gift, Field.T_GunArc_Left, Field.T_GunArc_Right, Field.T_Children, Field.T_Parents, // tank (depending) Field.TE_Development, Field.TE_Elevation_Low, Field.TE_Elevation_High, Field.TE_Hitpoints, Field.TE_ViewRange, Field.TE_Weight, Field.TE_WeightLimit, // module lists Field.REL_Engines, Field.REL_Guns, Field.REL_Radios, Field.REL_Suspensions, Field.REL_Turrets }; /** * Short and arbitrary list of fields... */ public final static Field[] simple = { // tank (base) Field.TE_Development, Field.T_Name, Field.T_Type, Field.T_Nation, Field.T_Tier, // hp + armor Field.TE_Hitpoints, Field.T_Hull_Front, Field.T_Hull_Side, Field.T_Hull_Rear, Field.MT_Armor_Front, Field.MT_Armor_Side, Field.MT_Armor_Rear, // armament Field.MG_Dmg_AP, Field.MG_Dmg_APCR, Field.MG_Dmg_HE, Field.MG_Penetration_AP, Field.MG_Penetration_APCR, Field.MG_Penetration_HE, Field.MG_FireRate_Max, Field.MG_AimTime_Max, Field.MG_Accuracy_Max, Field.MG_AmmoCapacity_Max, Field.MT_Traverse, // mobility Field.ME_Power, Field.T_TopSpeed, Field.MS_Traverse, // else Field.TE_ViewRange, Field.MR_Range, Field.TE_Weight, Field.T_Cost, Field.T_Currency, }; /** * All Rating fields and some base tank properties */ public final static Field[] rating = { // base properties Field.TE_Development, Field.T_Name, Field.T_Type, Field.T_Nation, Field.T_Tier, Field.EMPTY, // overall rating Field.RT2_OverallRating, Field.EMPTY, // main categories Field.RT2_Attack, Field.RT2_Defense, Field.RT2_Mobility, Field.RT2_Recon, Field.RT2_CostBenefit, Field.EMPTY, // single ratings Field.RT_Damage, Field.RT_Penetration, Field.RT_Accuracy, Field.RT_AimTime, Field.RT_AmmoCapacity, Field.RT_Hitpoints, Field.RT_HullArmor, Field.RT_TurretArmor, Field.RT_GunArc, Field.RT_GunElevation, Field.RT_TopSpeed, Field.RT_PowerWeightRatio, Field.RT_TraverseSuspension, Field.RT_TraverseTurret, Field.RT_RadioRange, Field.RT_ViewRange, Field.RT_Weight, Field.RT_EnginePower, Field.RT_Firechance, }; }