Files
PlanetFleet/vesselData.h
2021-11-01 11:49:56 +02:00

430 lines
16 KiB
C++
Executable File

#pragma once
#ifndef VESSEL_DATA_H
#define VESSEL_DATA_H
#include "unitData.h"
/*
0:戦艦
1:駆逐艦
2:巡洋艦
3:航空母艦
4:潜水艦
5: 戦闘機
6:巡航ミサイル
*/
namespace battleship{
namespace unitData {
enum InitDir{FORWARD,BACKWARD,LEFT,RIGHT};
const int numberOfTurrets[numberOfUnits]{13, 13, 4, 4, 2, 5};
const int maxNumTurrets=13;
const InitDir initDirs[numberOfUnits][maxNumTurrets]{
{FORWARD,FORWARD,BACKWARD,LEFT,LEFT,LEFT,LEFT,LEFT,RIGHT,RIGHT,RIGHT,RIGHT,RIGHT},
{FORWARD,FORWARD,BACKWARD,LEFT,LEFT,LEFT,LEFT,LEFT,RIGHT,RIGHT,RIGHT,RIGHT,RIGHT},
{FORWARD,FORWARD,BACKWARD,BACKWARD},
{FORWARD,FORWARD,BACKWARD,BACKWARD},
{FORWARD,BACKWARD},
{FORWARD,FORWARD,FORWARD,BACKWARD,BACKWARD},
};
const std::string turretNames[numberOfUnits][maxNumTurrets]{
{
"bigTurret00",
"bigTurret00",
"bigTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00",
"smallTurret00"
},
{
"bigTurret01",
"bigTurret01",
"bigTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01",
"smallTurret01"
},
{"turret00", "turret00", "turret00", "turret00"},
{"turret01", "turret01", "turret01", "turret01"},
{"turret00", "turret00"},
{"turret01", "turret01", "turret01", "turret01", "turret01"}
};
const vb01::Vector3 turretPos[numberOfUnits][maxNumTurrets]{
{
vb01::Vector3(0, .77703, -3.24292),
vb01::Vector3(0, 0.96741, -1.67253),
vb01::Vector3(0, 0.77703, 3.29185),
vb01::Vector3(0.90322, 0.78121, -0.17934),
vb01::Vector3(0.90322, 0.78121, 0.42676),
vb01::Vector3(0.90322, 0.78121, 1.03286),
vb01::Vector3(0.90322, 0.78121, 1.63896),
vb01::Vector3(0.90322, 0.78121, 2.24506),
vb01::Vector3(-0.90322, 0.78121, -0.17934),
vb01::Vector3(-0.90322, 0.78121, 0.42676),
vb01::Vector3(-0.90322, 0.78121, 1.03286),
vb01::Vector3(-0.90322, 0.78121, 1.63896),
vb01::Vector3(-0.90322, 0.78121, 2.24506)
},
{
vb01::Vector3(0, 0.70974, -2.73371),
vb01::Vector3(0, 0.915258, -1.62768),
vb01::Vector3(0, 0.70974, 3.33251),
vb01::Vector3(0.58824, 0.76908, 0.30145),
vb01::Vector3(0.58824, 0.98059, 0.58992),
vb01::Vector3(0.58824, 0.76908, 0.8634),
vb01::Vector3(0.58824, 0.98059, 1.13294),
vb01::Vector3(0.58824, 0.76908, 1.40591),
vb01::Vector3(-0.58824, 0.76908, 0.30145),
vb01::Vector3(-0.58824, 0.98059, 0.58992),
vb01::Vector3(-0.58824, 0.76908, 0.8634),
vb01::Vector3(-0.58824, 0.98059, 1.13294),
vb01::Vector3(-0.58824, 0.76908, 1.40591)
},
{
vb01::Vector3(0, 0.04967, -2.08348),
vb01::Vector3(0, 0.25291, -1.26886),
vb01::Vector3(0, 0.25291, 1.61533),
vb01::Vector3(0, 0.04967, 2.42996)
},
{
vb01::Vector3(0, 0.53012, -2.92538),
vb01::Vector3(0, 0.707, -2.45061),
vb01::Vector3(0, 0.55879, 2.16916),
vb01::Vector3(0, 0.3808, 2.72071)
},
{
vb01::Vector3(0, 0.73788, -2.79825),
vb01::Vector3(0, 0.73788, 2.79825)
},
{
vb01::Vector3(0, 0.52632, -3.64706),
vb01::Vector3(0, 0.71625, -2.81714),
vb01::Vector3(0, 0.86667, -1.92772),
vb01::Vector3(0, 0.7724, 2.53618),
vb01::Vector3(0, 0.52632, 3.41345)
}
};
const float turretAngleOffset[numberOfUnits][maxNumTurrets]{
{0, 0, 180, -90, -90, -90, -90, -90, 90, 90, 90, 90, 90},
{0, 0, 180, -90, -90, -90, -90, -90, 90, 90, 90, 90, 90},
{0, 0, 180, 180},
{0, 0, 180, 180},
{0, 180},
{0, 0, 0, 180, 180}
};
const float turretMaxAngle[numberOfUnits][maxNumTurrets]{
{135, 135, 135, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45},
{135, 135, 135, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45},
{135, 135, 135, 135},
{135, 135, 135, 135},
{135, 135},
{135, 135, 135, 135, 135}
};
const float turretRotationSpeed[numberOfUnits][maxNumTurrets]{
{1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{2, 2, 2, 2},
{2, 2, 2, 2},
{2, 2},
{2, 2, 2, 2, 2}
};
const int turretDamage[numberOfUnits][maxNumTurrets]{
{200, 200, 200, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50},
{200, 200, 200, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50},
{100, 100, 100, 100},
{100, 100, 100, 100},
{90, 90},
{90, 90, 90, 90, 90}
};
const int turretRateOfFire[numberOfUnits][maxNumTurrets]{
{1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000},
{1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000},
{800, 800, 800, 800},
{800, 800, 800, 800},
{500,500},
{700,700,700,700,700}
};
const float turretAxisLength[numberOfUnits][maxNumTurrets]{
{5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{3, 3, 3, 3},
{3, 3, 3, 3},
{3, 3},
{3, 3, 3, 3, 3},
};
const int numberOfMantlets[numberOfUnits][maxNumTurrets]{
{3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{2, 2, 2, 2},
{2, 2, 2, 2},
{1, 1},
{3, 3, 3, 3, 3}
};
const std::string mantletNames[numberOfUnits][maxNumTurrets]{
{
"bigMantlet00",
"bigMantlet00",
"bigMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00",
"smallMantlet00"
},
{
"bigMantlet01",
"bigMantlet01",
"bigMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01",
"smallMantlet01"
},
{"mantlet00", "mantlet00", "mantlet00", "mantlet00"},
{"mantlet01", "mantlet01", "mantlet01", "mantlet01"},
{"mantlet00", "mantlet00"},
{"mantlet01", "mantlet01", "mantlet01", "mantlet01", "mantlet01"}
};
const vb01::Vector3 mantletPos[numberOfUnits][maxNumTurrets]{
{
vb01::Vector3(0, 0.19722f, -0.38441f),
vb01::Vector3(0, 0.183f, -0.38876f),
vb01::Vector3(0, 0.183f, -0.38876f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f),
vb01::Vector3(0, 0.06484f, -0.08587f)
},
{
vb01::Vector3(0, 0.111116, -0.335219),
vb01::Vector3(0, 0.111116, -0.335219),
vb01::Vector3(0, 0.111116, -0.335219),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749),
vb01::Vector3(0, 0.025217, -0.071749)
},
{
vb01::Vector3(0, 0.22782f, -0.12394f),
vb01::Vector3(0, 0.22782f, -0.12394f),
vb01::Vector3(0, 0.22782f, -0.12394f),
vb01::Vector3(0, 0.22782f, -0.12394f)
},
{
vb01::Vector3(0, 0.14613, -0.0217),
vb01::Vector3(0, 0.14613, -0.0217),
vb01::Vector3(0, 0.14613, -0.0217),
vb01::Vector3(0, 0.14613, -0.0217)
},
{
vb01::Vector3(0, 0.2842f, -0.1274f),
vb01::Vector3(0, 0.2842f, -0.1274f)
},
{
vb01::Vector3(0, 0.09455, -0.19379),
vb01::Vector3(0, 0.09455, -0.19379),
vb01::Vector3(0, 0.09455, -0.19379),
vb01::Vector3(0, 0.09455, -0.19379),
vb01::Vector3(0, 0.09455, -0.19379)
}
};
const float mantletPosSideOffset[numberOfUnits][maxNumTurrets]{
{
0.23346f,
0.23346f,
0.23346f,
0.04725f,
0.04725f,
0.04725f,
0.04725f,
0.04725f,
0.04725f,
0.04725f,
0.04725f,
0.04725f,
0.04725f
},
{
0.176833,
0.176833,
0.176833,
0.030001,
0.030001,
0.030001,
0.030001,
0.030001,
0.030001,
0.030001,
0.030001,
0.030001,
0.030001
},
{
0.07673f,
0.07673f,
0.07673f,
0.07673f
},
{
0.08095,
0.08095,
0.08095,
0.08095
},
{0, 0},
{0.11829, 0.11829, 0.11829, 0.11829, 0.11829}
};
const float mantletMaxAngle[numberOfUnits][maxNumTurrets]{
{45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45},
{45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45},
{40, 40, 40, 40},
{40, 40, 40, 40},
{40, 40},
{40, 40, 40, 40, 40}
};
const vb01::Vector3 barrelPos[numberOfUnits][maxNumTurrets]{
{
vb01::Vector3(0, 0, -0.16689f),
vb01::Vector3(0, 0, -0.16689f),
vb01::Vector3(0, 0, -0.16689f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f),
vb01::Vector3(0, 0, -0.1021f)},
{
vb01::Vector3(0, 0, -0.246837),
vb01::Vector3(0, 0, -0.246837),
vb01::Vector3(0, 0, -0.246837),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993),
vb01::Vector3(0, 0, -0.054993)
},
{
vb01::Vector3(0, 0, -0.12806f),
vb01::Vector3(0, 0, -0.12806f),
vb01::Vector3(0, 0, -0.12806f),
vb01::Vector3(0, 0, -0.12806f)},
{
vb01::Vector3(0, 0, -0.11048),
vb01::Vector3(0, 0, -0.11048),
vb01::Vector3(0, 0, -0.11048),
vb01::Vector3(0, 0, -0.11048)
},
{
vb01::Vector3(0, 0, -0.23015f),
vb01::Vector3(0, 0, -0.23015f)
},
{
vb01::Vector3(0, 0, -0.14595),
vb01::Vector3(0, 0, -0.14595),
vb01::Vector3(0, 0, -0.14595),
vb01::Vector3(0, 0, -0.14595),
vb01::Vector3(0, 0, -0.14595)
}
};
const std::string barrelNames[numberOfUnits][maxNumTurrets]{
{
"bigBarrel00",
"bigBarrel00",
"bigBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00",
"smallBarrel00"
},
{
"bigBarrel01",
"bigBarrel01",
"bigBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01",
"smallBarrel01"
},
{"barrel00", "barrel00", "barrel00", "barrel00"},
{"barrel01", "barrel01", "barrel01", "barrel01"},
{"barrel00", "barrel00"},
{"barrel01", "barrel01", "barrel01", "barrel01", "barrel01"}
};
const vb01::Vector3 guidedMissilePos[numberOfUnits][6]{
{},
{},
{},
{},
{
vb01::Vector3(0.24482, 1.14985, 1.32775),
vb01::Vector3(0.24482, 1.14985, 1.62698),
vb01::Vector3(0.24482, 1.14985, 1.88017),
vb01::Vector3(-0.24482, 1.14985, 1.32775),
vb01::Vector3(-0.24482, 1.14985, 1.62698),
vb01::Vector3(-0.24482, 1.14985, 1.88017)
},
{vb01::Vector3(0.17192, 0.57858, 0.64471), vb01::Vector3(-0.17192, 0.57858, 0.64471)}
};
}
}
#endif