Add some params
- start jump charge - building limit - movement params
This commit is contained in:
@@ -15,5 +15,6 @@ data class JumpDto(
|
|||||||
val jumpTimeMax: Double?,
|
val jumpTimeMax: Double?,
|
||||||
val jumpTimeMin: Double?,
|
val jumpTimeMin: Double?,
|
||||||
val jumpMinHeight: Double?,
|
val jumpMinHeight: Double?,
|
||||||
|
val chargeStartingFraction: Double?,
|
||||||
val requirements: RequirementDto?,
|
val requirements: RequirementDto?,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -39,6 +39,9 @@ data class UnitFullDto(
|
|||||||
val mass: Int?,
|
val mass: Int?,
|
||||||
val upTime: Double?,
|
val upTime: Double?,
|
||||||
val moveSpeed: Int?,
|
val moveSpeed: Int?,
|
||||||
|
val accelerationTime: Double?,
|
||||||
|
val decelerationTime: Double?,
|
||||||
|
val rotationRate: Double?,
|
||||||
val sightRadius: Int?,
|
val sightRadius: Int?,
|
||||||
val detectRadius: Int?,
|
val detectRadius: Int?,
|
||||||
val reinforceCostRequisition: Double?,
|
val reinforceCostRequisition: Double?,
|
||||||
|
|||||||
@@ -41,4 +41,5 @@ data class BuildingFullDto(
|
|||||||
val requirements: RequirementDto?,
|
val requirements: RequirementDto?,
|
||||||
val affectedResearches: Set<ResearchShortDto>,
|
val affectedResearches: Set<ResearchShortDto>,
|
||||||
val hotkey: String?,
|
val hotkey: String?,
|
||||||
|
var buildingLimit: Int?,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -212,6 +212,7 @@ class Building {
|
|||||||
requirement,
|
requirement,
|
||||||
affectedResearches.map { it.toResearchShortDto() }.toSet(),
|
affectedResearches.map { it.toResearchShortDto() }.toSet(),
|
||||||
uiHotkeyName,
|
uiHotkeyName,
|
||||||
|
buildingLimit,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,9 @@ class DowUnit {
|
|||||||
var mass: Int? = null
|
var mass: Int? = null
|
||||||
var upTime: Double? = null
|
var upTime: Double? = null
|
||||||
var moveSpeed: Int? = null
|
var moveSpeed: Int? = null
|
||||||
|
var accelerationTime: Double? = null
|
||||||
|
var decelerationTime: Double? = null
|
||||||
|
var rotationRate: Double? = null
|
||||||
var sightRadius: Int? = null
|
var sightRadius: Int? = null
|
||||||
var detectRadius: Int? = null
|
var detectRadius: Int? = null
|
||||||
var reinforceCostRequisition: Double? = null
|
var reinforceCostRequisition: Double? = null
|
||||||
@@ -214,6 +217,9 @@ class DowUnit {
|
|||||||
mass,
|
mass,
|
||||||
upTime,
|
upTime,
|
||||||
moveSpeed,
|
moveSpeed,
|
||||||
|
accelerationTime,
|
||||||
|
decelerationTime,
|
||||||
|
rotationRate,
|
||||||
sightRadius,
|
sightRadius,
|
||||||
detectRadius,
|
detectRadius,
|
||||||
reinforceCostRequisition,
|
reinforceCostRequisition,
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ class Jump {
|
|||||||
var jumpTimeMax: Double? = null
|
var jumpTimeMax: Double? = null
|
||||||
var jumpTimeMin: Double? = null
|
var jumpTimeMin: Double? = null
|
||||||
var jumpMinHeight: Double? = null
|
var jumpMinHeight: Double? = null
|
||||||
|
var chargeStartingFraction: Double? = null
|
||||||
|
|
||||||
@OneToMany(mappedBy = "jump", cascade = [CascadeType.ALL])
|
@OneToMany(mappedBy = "jump", cascade = [CascadeType.ALL])
|
||||||
var jumpRequirements: MutableSet<JumpRequirements> = mutableSetOf()
|
var jumpRequirements: MutableSet<JumpRequirements> = mutableSetOf()
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ class DowUnitMappingService @Autowired constructor(
|
|||||||
jump.jumpTimeMax,
|
jump.jumpTimeMax,
|
||||||
jump.jumpTimeMin,
|
jump.jumpTimeMin,
|
||||||
jump.jumpMinHeight,
|
jump.jumpMinHeight,
|
||||||
|
jump.chargeStartingFraction,
|
||||||
requirementsMappingComponent.getRequirements(jump.jumpRequirements.toList(), unit.modId!!)
|
requirementsMappingComponent.getRequirements(jump.jumpRequirements.toList(), unit.modId!!)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -111,7 +111,7 @@ class WeaponResearchEffectMappingComponent(
|
|||||||
* e.g. modifiers/max_damage_weapon_modifier.lua -> max_damage_weapon_modifier
|
* e.g. modifiers/max_damage_weapon_modifier.lua -> max_damage_weapon_modifier
|
||||||
*/
|
*/
|
||||||
private fun extractRefName(reference: String): String =
|
private fun extractRefName(reference: String): String =
|
||||||
reference.split("\\").first()
|
reference.split("\\").last()
|
||||||
.replace(".lua", "")
|
.replace(".lua", "")
|
||||||
.replace(".rgd", "")
|
.replace(".rgd", "")
|
||||||
}
|
}
|
||||||
@@ -65,6 +65,12 @@ class UnitRgdExtractService @Autowired constructor(
|
|||||||
val upTime: Double?,
|
val upTime: Double?,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
data class MovementParams(
|
||||||
|
val accelerationTime: Double?,
|
||||||
|
val decelerationTime: Double?,
|
||||||
|
val rotationRate: Double?,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
fun extractToUnitEntity(
|
fun extractToUnitEntity(
|
||||||
fileNameSquad: String,
|
fileNameSquad: String,
|
||||||
@@ -141,6 +147,10 @@ class UnitRgdExtractService @Autowired constructor(
|
|||||||
unit.unitMoraleBrakeModifiers = moraleData.unitMoraleBrakeModifiers.toMutableSet()
|
unit.unitMoraleBrakeModifiers = moraleData.unitMoraleBrakeModifiers.toMutableSet()
|
||||||
|
|
||||||
unit.moveSpeed = getUnitSpeed(unitData)?.toInt()
|
unit.moveSpeed = getUnitSpeed(unitData)?.toInt()
|
||||||
|
val movementParams = getMovementParams(unitData)
|
||||||
|
unit.accelerationTime = movementParams.accelerationTime
|
||||||
|
unit.decelerationTime = movementParams.decelerationTime
|
||||||
|
unit.rotationRate = movementParams.rotationRate
|
||||||
unit.sightRadius = getSightRadius(unitData)?.toInt()
|
unit.sightRadius = getSightRadius(unitData)?.toInt()
|
||||||
unit.detectRadius = getDetectRadius(unitData)?.toInt()
|
unit.detectRadius = getDetectRadius(unitData)?.toInt()
|
||||||
|
|
||||||
@@ -318,6 +328,19 @@ class UnitRgdExtractService @Autowired constructor(
|
|||||||
.getRgdTableByName("moving_ext")
|
.getRgdTableByName("moving_ext")
|
||||||
?.getDoubleByName("speed_max")
|
?.getDoubleByName("speed_max")
|
||||||
|
|
||||||
|
private fun getMovementParams(unitData: List<RgdData>): MovementParams {
|
||||||
|
val movingExt = unitData.getRgdTableByName("moving_ext")
|
||||||
|
val turningBehaviorTemplate = movingExt?.getStringByName("turning_behavior_template")
|
||||||
|
if (turningBehaviorTemplate == null || turningBehaviorTemplate == "default" || turningBehaviorTemplate == "infantry") {
|
||||||
|
return MovementParams(null, null, null)
|
||||||
|
}
|
||||||
|
return MovementParams(
|
||||||
|
movingExt.getDoubleByName("acceleration_time"),
|
||||||
|
movingExt.getDoubleByName("deceleration_time"),
|
||||||
|
movingExt.getDoubleByName("rotation_rate"),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
private fun getSightRadius(unitData: List<RgdData>): Double? = unitData
|
private fun getSightRadius(unitData: List<RgdData>): Double? = unitData
|
||||||
.getRgdTableByName("sight_ext")
|
.getRgdTableByName("sight_ext")
|
||||||
?.getDoubleByName("sight_radius")
|
?.getDoubleByName("sight_radius")
|
||||||
@@ -470,6 +493,7 @@ class UnitRgdExtractService @Autowired constructor(
|
|||||||
jump.jumpTimeMax = squadJumpExt.getDoubleByName("jump_time_max")
|
jump.jumpTimeMax = squadJumpExt.getDoubleByName("jump_time_max")
|
||||||
jump.jumpTimeMin = squadJumpExt.getDoubleByName("jump_time_min")
|
jump.jumpTimeMin = squadJumpExt.getDoubleByName("jump_time_min")
|
||||||
jump.jumpMinHeight = squadJumpExt.getDoubleByName("jump_min_height")
|
jump.jumpMinHeight = squadJumpExt.getDoubleByName("jump_min_height")
|
||||||
|
jump.chargeStartingFraction = squadJumpExt.getDoubleByName("charge_starting_fraction")
|
||||||
|
|
||||||
// Parse jump requirements
|
// Parse jump requirements
|
||||||
val requirements = squadJumpExt.getRgdTableByName("requirements")
|
val requirements = squadJumpExt.getRgdTableByName("requirements")
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"databaseChangeLog": [
|
||||||
|
{
|
||||||
|
"changeSet": {
|
||||||
|
"id": "Add charge_starting_fraction to jumps table",
|
||||||
|
"author": "anibus",
|
||||||
|
"changes": [
|
||||||
|
{
|
||||||
|
"addColumn": {
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"column": {
|
||||||
|
"name": "charge_starting_fraction",
|
||||||
|
"type": "float"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tableName": "jumps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"databaseChangeLog": [
|
||||||
|
{
|
||||||
|
"changeSet": {
|
||||||
|
"id": "Add movement params to units table",
|
||||||
|
"author": "anibus",
|
||||||
|
"changes": [
|
||||||
|
{
|
||||||
|
"addColumn": {
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"column": {
|
||||||
|
"name": "acceleration_time",
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"column": {
|
||||||
|
"name": "deceleration_time",
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"column": {
|
||||||
|
"name": "rotation_rate",
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tableName": "units"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -481,6 +481,16 @@
|
|||||||
"include": {
|
"include": {
|
||||||
"file": "db/0.0.6/schema/add_index_to_researches.json"
|
"file": "db/0.0.6/schema/add_index_to_researches.json"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"include": {
|
||||||
|
"file": "db/0.0.6/schema/add_charge_starting_fraction_to_jumps.json"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"include": {
|
||||||
|
"file": "db/0.0.6/schema/add_movement_params_to_units.json"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user