Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ext/Server/AirTargets.lua
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ function AirTargets:_CreateTarget(p_Player)
if p_Player.controlledEntryId == 0 then
local s_Vehicle = m_Vehicles:GetVehicle(p_Player, 0)

if m_Vehicles:IsVehicleType(s_Vehicle, VehicleTypes.Chopper) or m_Vehicles:IsVehicleType(s_Vehicle, VehicleTypes.Plane) then
if m_Vehicles:IsAirVehicle(s_Vehicle) then
table.insert(self._Targets, p_Player.name)
end
end
Expand Down
16 changes: 6 additions & 10 deletions ext/Server/Bot.lua
Original file line number Diff line number Diff line change
Expand Up @@ -379,8 +379,7 @@ function Bot:OnUpdatePassPostFrame(p_DeltaTime)

-- Fast code.
if s_Attacking then
if m_Vehicles:IsVehicleType(self.m_ActiveVehicle, VehicleTypes.Chopper) or
m_Vehicles:IsVehicleType(self.m_ActiveVehicle, VehicleTypes.Plane) then
if m_Vehicles:IsAirVehicle(self.m_ActiveVehicle) then
m_VehicleAiming:UpdateAimingVehicleAdvanced(self)
else
if Config.VehicleMoveWhileShooting and m_Vehicles:IsNotVehicleTerrain(self.m_ActiveVehicle, VehicleTerrains.Air) then
Expand Down Expand Up @@ -568,8 +567,7 @@ function Bot:GetAttackDistance(p_ShootBackAfterHit, p_VehicleAttackMode)
end
end
else
if m_Vehicles:IsNotVehicleType(self.m_ActiveVehicle, VehicleTypes.Chopper) and
m_Vehicles:IsNotVehicleType(self.m_ActiveVehicle, VehicleTypes.Plane) and
if not m_Vehicles:IsAirVehicle(self.m_ActiveVehicle) and
m_Vehicles:IsNotVehicleType(self.m_ActiveVehicle, VehicleTypes.MobileArtillery) and
m_Vehicles:IsNotVehicleType(self.m_ActiveVehicle, VehicleTypes.AntiAir) then
if p_ShootBackAfterHit then
Expand Down Expand Up @@ -686,7 +684,7 @@ function Bot:ShootAt(p_Player, p_IgnoreYaw)
local s_PitchHalf = 0

-- If target is air-vehicle and bot is in AA → ignore yaw.
if (s_Type == VehicleTypes.Chopper or s_Type == VehicleTypes.Plane) then
if (s_Type == VehicleTypes.Chopper or s_Type == VehicleTypes.ScoutChopper or s_Type == VehicleTypes.Plane) then
if (self.m_InVehicle and m_Vehicles:IsVehicleType(self.m_ActiveVehicle, VehicleTypes.AntiAir)) or
(s_VehicleAttackMode == VehicleAttackModes.AttackWithMissileAir) then
p_IgnoreYaw = true
Expand Down Expand Up @@ -716,9 +714,8 @@ function Bot:ShootAt(p_Player, p_IgnoreYaw)
if m_Vehicles:IsVehicleType(self.m_ActiveVehicle, VehicleTypes.AntiAir) then
s_FovHalf = Config.FovVehicleAAForShooting / 360 * math.pi
s_PitchHalf = Config.FovVerticleVehicleAAForShooting / 360 * math.pi
elseif (
m_Vehicles:IsVehicleType(self.m_ActiveVehicle, VehicleTypes.Chopper) or
m_Vehicles:IsVehicleType(self.m_ActiveVehicle, VehicleTypes.Plane)) and self.m_Player.controlledEntryId == 0 then -- Chopper as driver.
elseif m_Vehicles:IsAirVehicle(self.m_ActiveVehicle) and
self.m_Player.controlledEntryId == 0 then
s_FovHalf = Config.FovVehicleForShooting / 360 * math.pi
s_PitchHalf = Config.FovVerticleChopperForShooting / 360 * math.pi
else
Expand Down Expand Up @@ -1266,8 +1263,7 @@ function Bot:_EnterVehicleEntity(p_Entity, p_PlayerIsDriver)
return -2
end

if not Config.UseAirVehicles and
(s_VehicleData.Type == VehicleTypes.Plane or s_VehicleData.Type == VehicleTypes.Chopper) then
if not Config.UseAirVehicles and m_Vehicles:IsAirVehicle(s_VehicleData) then
return -3 -- Not allowed to use.
end

Expand Down
17 changes: 9 additions & 8 deletions ext/Server/Bot/VehicleAiming.lua
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,7 @@ function VehicleAiming:UpdateAimingVehicleAdvanced(p_Bot)


-- Abort attacking in chopper or jet if too steep or too low.
if (m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) and p_Bot.m_Player.controlledEntryId == 0) or
m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Plane) then
if m_Vehicles:IsAirVehicle(p_Bot.m_ActiveVehicle) and p_Bot.m_Player.controlledEntryId == 0 then
local s_PitchHalf = Config.FovVerticleChopperForShooting / 360 * math.pi
if math.abs(p_Bot._TargetPitch) > s_PitchHalf then
p_Bot:AbortAttack()
Expand All @@ -112,9 +111,12 @@ function VehicleAiming:UpdateAimingVehicleAdvanced(p_Bot)
s_FullPositionBot:Distance(s_FullPositionTarget) < Registry.VEHICLES.ABORT_ATTACK_AIR_DISTANCE_JET then
p_Bot:AbortAttack()
end
if p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Chopper and p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Plane then
if p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Chopper
and p_Bot._ShootPlayerVehicleType ~= VehicleTypes.ScoutChopper
and p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Plane
then
local s_DiffVertical = s_FullPositionBot.y - s_FullPositionTarget.y
if m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) then
if m_Vehicles:IsChopper(p_Bot.m_ActiveVehicle) then
if s_DiffVertical < Registry.VEHICLES.ABORT_ATTACK_HEIGHT_CHOPPER then -- Too low to the ground.
p_Bot:AbortAttack()
end
Expand Down Expand Up @@ -210,8 +212,7 @@ function VehicleAiming:UpdateAimingVehicle(p_Bot)


-- Abort attacking in chopper or jet if too steep or too low.
if (m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) and p_Bot.m_Player.controlledEntryId == 0) or
m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Plane) then
if m_Vehicles:IsAirVehicle(p_Bot.m_ActiveVehicle) and p_Bot.m_Player.controlledEntryId == 0 then
local s_PitchHalf = Config.FovVerticleChopperForShooting / 360 * math.pi
if math.abs(p_Bot._TargetPitch) > s_PitchHalf then
p_Bot:AbortAttack()
Expand All @@ -221,9 +222,9 @@ function VehicleAiming:UpdateAimingVehicle(p_Bot)
s_FullPositionBot:Distance(s_FullPositionTarget) < Registry.VEHICLES.ABORT_ATTACK_AIR_DISTANCE_JET then
p_Bot:AbortAttack()
end
if p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Chopper and p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Plane then
if p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Chopper and p_Bot._ShootPlayerVehicleType ~= ScoutChopper and p_Bot._ShootPlayerVehicleType ~= VehicleTypes.Plane then
local s_DiffVertical = s_FullPositionBot.y - s_FullPositionTarget.y
if m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) then
if m_Vehicles:IsChopper(p_Bot.m_ActiveVehicle) then
if s_DiffVertical < Registry.VEHICLES.ABORT_ATTACK_HEIGHT_CHOPPER then -- Too low to the ground.
p_Bot:AbortAttack()
end
Expand Down
25 changes: 24 additions & 1 deletion ext/Server/Bot/VehicleAttacking.lua
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,34 @@ function VehicleAttacking:UpdateAttackingVehicle(p_Bot)
-- Chopper on Plane / Chopper → weapon 2 (seaker).
if m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) then
if p_Bot.m_Player.controlledEntryId == 0 and
(p_Bot._ShootPlayerVehicleType == VehicleTypes.Chopper or p_Bot._ShootPlayerVehicleType == VehicleTypes.Plane) then
(p_Bot._ShootPlayerVehicleType == VehicleTypes.Chopper
or p_Bot._ShootPlayerVehicleType == VehicleTypes.ScoutChopper
or p_Bot._ShootPlayerVehicleType == VehicleTypes.Plane)
then
p_Bot._VehicleWeaponSlotToUse = 2
elseif p_Bot.m_Player.controlledEntryId == 1 and
(p_Bot._ShootPlayerVehicleType == VehicleTypes.Tank
or p_Bot._ShootPlayerVehicleType == VehicleTypes.IFV
or p_Bot._ShootPlayerVehicleType == VehicleTypes.MobileArtillery
or p_Bot._ShootPlayerVehicleType == VehicleTypes.AntiAir
or p_Bot._ShootPlayerVehicleType == VehicleTypes.LightVehicle
or p_Bot._ShootPlayerVehicleType == VehicleTypes.NoArmorVehicle
or p_Bot._ShootPlayerVehicleType == VehicleTypes.MavBot)
then
p_Bot._VehicleWeaponSlotToUse = 2
else
p_Bot._VehicleWeaponSlotToUse = 1
end
elseif m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.ScoutChopper) then
if p_Bot.m_Player.controlledEntryId == 0 and
(p_Bot._ShootPlayerVehicleType == VehicleTypes.Chopper
or p_Bot._ShootPlayerVehicleType == VehicleTypes.Plane
or p_Bot._ShootPlayerVehicleType == VehicleTypes.ScoutChopper)
then
p_Bot._VehicleWeaponSlotToUse = 1
else
p_Bot._VehicleWeaponSlotToUse = 2
end
else
p_Bot._VehicleWeaponSlotToUse = 1
end
Expand Down
9 changes: 3 additions & 6 deletions ext/Server/Bot/VehicleMovement.lua
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,7 @@ function VehicleMovement:UpdateNormalMovementVehicle(p_Bot)
p_Bot._NextTargetPoint = s_NextPoint

if math.abs(s_CurrentWayPointDistance - p_Bot._LastWayDistance) < 0.02 or p_Bot._ObstacleSequenceTimer ~= 0 then
if m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) or
m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Plane) then
if m_Vehicles:IsAirVehicle(p_Bot.m_ActiveVehicle) then
p_Bot._ObstacleRetryCounter = 0
p_Bot._ObstacleSequenceTimer = 0
s_DistanceFromTarget = 0
Expand Down Expand Up @@ -465,9 +464,7 @@ function VehicleMovement:UpdateYawVehicle(p_Bot, p_Attacking, p_IsStationaryLaun
else
p_Bot._VehicleDirBackPositive = true
end
elseif (
m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) and p_Bot.m_Player.controlledEntryId == 0) or
m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Plane) then
elseif m_Vehicles:IsAirVehicle(p_Bot.m_ActiveVehicle) and p_Bot.m_Player.controlledEntryId == 0 then
s_Pos = p_Bot.m_Player.controlledControllable.transform.forward
local s_AtanDzDx = math.atan(s_Pos.z, s_Pos.x)
local s_Yaw = (s_AtanDzDx > math.pi / 2) and (s_AtanDzDx - math.pi / 2) or (s_AtanDzDx + 3 * math.pi / 2)
Expand Down Expand Up @@ -503,7 +500,7 @@ function VehicleMovement:UpdateYawVehicle(p_Bot, p_Attacking, p_IsStationaryLaun
end

-- Chopper driver handling here.
if p_Bot.m_Player.controlledEntryId == 0 and m_Vehicles:IsVehicleType(p_Bot.m_ActiveVehicle, VehicleTypes.Chopper) then
if p_Bot.m_Player.controlledEntryId == 0 and m_Vehicles:IsChopper(p_Bot.m_ActiveVehicle) then
if p_Bot._VehicleWaitTimer > 0.0 then
return
end
Expand Down
14 changes: 12 additions & 2 deletions ext/Server/BotSpawner.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1413,25 +1413,35 @@ function BotSpawner:_GetUnlocks(p_Bot, p_TeamId, p_SquadId)
"persistence/unlocks/vehicles/atkhelihellfiremissile",
"persistence/unlocks/vehicles/atkheliheatseekermissile",
"persistence/unlocks/vehicles/atkheliflarelauncher",
"persistence/unlocks/vehicles/atkhelistealth",
"persistence/unlocks/vehicles/atkhelilaserdesignator",
"persistence/unlocks/vehicles/scoutatgmissile",
"persistence/unlocks/vehicles/scoutflares",
"persistence/unlocks/vehicles/scoutstealth",
"persistence/unlocks/vehicles/jetstealth",
"persistence/unlocks/vehicles/jetflarelauncher",
"persistence/unlocks/vehicles/jetheatseekerstance",
"persistence/unlocks/vehicles/ifvtow",
"persistence/unlocks/vehicles/ifvsmokelaunchers",
-- Xp3 perks.
"persistence/unlocks/vehicles/lbtcoaxlmg",
"persistence/unlocks/vehicles/lbtsmokelaunchers",
"persistence/unlocks/vehicles/artilleryreloadupgrade",
"persistence/unlocks/vehicles/artillerysmokelaunchers",
"persistence/unlocks/vehicles/artilleryairburst",
"persistence/unlocks/vehicles/landvehiclefireextinguisher",
}
-- some variation in appearance
if MathUtils:GetRandomInt(1, 100) <= 50 then
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/mbtreactivearmor")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/lbtreactivearmor")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/ifvreloadupgrade")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/mbtsmokelaunchers")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/lbtsmokelaunchers")
else
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/mbtproximityscan")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/lbtproximityscan")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/ifvreactivearmor")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/mbtenvgoptics")
table.insert(s_VehiclePerksToAdd, "persistence/unlocks/vehicles/lbtenvgoptics")
end
end

Expand Down
3 changes: 1 addition & 2 deletions ext/Server/GameDirector.lua
Original file line number Diff line number Diff line change
Expand Up @@ -424,8 +424,7 @@ function GameDirector:OnVehicleSpawnDone(p_Entity)
return -- No vehicle found.
end

if not Config.UseAirVehicles and
(s_VehicleData.Type == VehicleTypes.Plane or s_VehicleData.Type == VehicleTypes.Chopper) then
if not Config.UseAirVehicles and m_Vehicles:IsAirVehicle(s_VehicleData) then
return -- Not allowed to use.
end

Expand Down
20 changes: 15 additions & 5 deletions ext/Server/Vehicles.lua
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,16 @@ function Vehicles:IsVehicleType(p_VehicleData, p_VehicleType)
end
end

function Vehicles:IsChopper(p_VehicleData)
return self:IsVehicleType(p_VehicleData, VehicleTypes.Chopper)
or self:IsVehicleType(p_VehicleData, VehicleTypes.ScoutChopper)
end

function Vehicles:IsAirVehicle(p_VehicleData)
return self:IsChopper(p_VehicleData)
or self:IsVehicleType(p_VehicleData, VehicleTypes.Plane)
end

function Vehicles:IsNotVehicleType(p_VehicleData, p_VehicleType)
if p_VehicleData and p_VehicleData.Type then
return p_VehicleData.Type ~= p_VehicleType
Expand Down Expand Up @@ -201,16 +211,16 @@ function Vehicles:CheckForVehicleAttack(p_VehicleType, p_Distance, p_Gadget, p_I
if p_Gadget.type == WeaponTypes.Rocket then
s_AttackMode = VehicleAttackModes.AttackWithRocket -- Always use rocket if possible.
elseif p_Gadget.type == WeaponTypes.C4 and p_Distance < 25 then
if p_VehicleType ~= VehicleTypes.Chopper and p_VehicleType ~= VehicleTypes.Plane then -- No air vehicles.
if p_VehicleType ~= VehicleTypes.Chopper and p_VehicleType ~= VehicleTypes.ScoutChopper and p_VehicleType ~= VehicleTypes.Plane then -- No air vehicles.
s_AttackMode = VehicleAttackModes.AttackWithC4 -- Always use C4 if possible.
end
elseif p_Gadget.type == WeaponTypes.MissileAir then
if p_VehicleType == VehicleTypes.Chopper or p_VehicleType == VehicleTypes.Plane then -- No air vehicles.
s_AttackMode = VehicleAttackModes.AttackWithMissileAir -- Always use C4 if possible.
if p_VehicleType == VehicleTypes.Chopper or p_VehicleType == VehicleTypes.ScoutChopper or p_VehicleType == VehicleTypes.Plane then -- No air vehicles.
s_AttackMode = VehicleAttackModes.AttackWithMissileAir
end
elseif p_Gadget.type == WeaponTypes.MissileLand then
if p_VehicleType ~= VehicleTypes.Chopper and p_VehicleType ~= VehicleTypes.Plane then -- No air vehicles.
s_AttackMode = VehicleAttackModes.AttackWithMissileLand -- Always use C4 if possible.
if p_VehicleType ~= VehicleTypes.Chopper and p_VehicleType ~= VehicleTypes.ScoutChopper and p_VehicleType ~= VehicleTypes.Plane then -- No air vehicles.
s_AttackMode = VehicleAttackModes.AttackWithMissileLand
end
end
end
Expand Down
40 changes: 20 additions & 20 deletions ext/Shared/Constants/VehicleData.lua

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that the parts for the secondary weapon of the first seat are correct.
But I think I will just merge it and have a look at it afterwards. Thanks a lot for this contribution! I have huge respect of you understanding all the stuff happening there and improve on it!!!

Original file line number Diff line number Diff line change
Expand Up @@ -81,33 +81,33 @@ VehicleData = {
}, -- 24,25
["LAV25"] = {
Name = "[LAV-25]",
Type = VehicleTypes.Tank,
Type = VehicleTypes.IFV,
Terrain = VehicleTerrains.Amphibious,
Parts = { 10, 25, -1, -1, -1, -1 },
Parts = { { 10, 0 }, 25, -1, -1, -1, -1 },
Speed = { 200, 610, 350, 350, 350, 350 },
Drop = { 4.9, 9.81, 9.81, 9.81, 9.81, 9.81 }
}, -- 10,19
["LAV25_AI"] = {
Name = "[LAV-25]",
Type = VehicleTypes.Tank,
Type = VehicleTypes.IFV,
Terrain = VehicleTerrains.Land,
Parts = { 10, 25, -1, -1, -1, -1 },
Parts = { { 10, 0 }, 25, -1, -1, -1, -1 },
Speed = { 200, 610, 350, 350, 350, 350 },
Drop = { 4.9, 9.81, 9.81, 9.81, 9.81, 9.81 }
}, -- 10,19
["LAV25_Paradrop"] = {
Name = "[LAV-25]",
Type = VehicleTypes.Tank,
Type = VehicleTypes.IFV,
Terrain = VehicleTerrains.Land,
Parts = { 10, 25, -1, -1, -1, -1 },
Parts = { { 10, 0 }, 25, -1, -1, -1, -1 },
Speed = { 200, 610, 350, 350, 350, 350 },
Drop = { 4.9, 9.81, 9.81, 9.81, 9.81, 9.81 }
}, -- 10,19
["BTR90"] = {
Name = "[BTR-90]",
Type = VehicleTypes.Tank,
Type = VehicleTypes.IFV,
Terrain = VehicleTerrains.Land,
Parts = { 4, 29, -1, -1, -1, -1 },
Parts = { { 4, 0 }, 29, -1, -1, -1, -1 },
Speed = { 200, 600, 350, 350, 350, 350 },
Drop = { 4.9, 9.81, 9.81, 9.81, 9.81, 9.81 }
},
Expand All @@ -133,15 +133,15 @@ VehicleData = {
Name = "[SPRUT-SD]",
Type = VehicleTypes.Tank,
Terrain = VehicleTerrains.Land,
Parts = { 16, -1, -1, -1, -1 },
Parts = { {16, 1}, -1, -1, -1, -1 },
Speed = { 200, 350, 350, 350, 350 },
Drop = { 4.9, 9.81, 9.81, 9.81, 9.81 }
},
["M1128-Stryker"] = {
Name = "[M1128]",
Type = VehicleTypes.Tank,
Terrain = VehicleTerrains.Land,
Parts = { 26, -1, -1, -1, -1 },
Parts = { {26, 1}, -1, -1, -1, -1 },

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has to be {{26, 26}, ... for this vehicle. I think for most of the others as well the same movable-parts-id...

Speed = { 200, 350, 350, 350, 350 },
Drop = { 4.9, 9.81, 9.81, 9.81, 9.81 }
},
Expand Down Expand Up @@ -344,7 +344,7 @@ VehicleData = {
Name = "[AH-1Z VIPER]",
Type = VehicleTypes.Chopper,
Terrain = VehicleTerrains.Air,
Parts = { { -2, -2 }, 1 }, -- 0,1,14
Parts = { { -2, -2 }, {1, 1} }, -- 0,1,14
Speed = { { 300, 10000 }, 600 },
Drop = { { 0.0, 0.0 }, 0.0 }
},
Expand All @@ -358,17 +358,17 @@ VehicleData = {
},
["AH6_Littlebird"] = {
Name = "[AH-6J LITTLE BIRD]",
Type = VehicleTypes.Chopper,
Type = VehicleTypes.ScoutChopper,
Terrain = VehicleTerrains.Air,
Parts = { { -2, -2 } },
Parts = { { -2, -2 }, -1, -1, {-1, 2} },
Speed = { { 900, 10000 } },
Drop = { { 0.0, 0.0 } }
},
["AH6_Littlebird_EQ"] = {
Name = "[AH-6J LITTLE BIRD]",
Type = VehicleTypes.Chopper,
Type = VehicleTypes.ScoutChopper,
Terrain = VehicleTerrains.Air,
Parts = { { -2, -2 }, -1, -1, -1 },
Parts = { { -2, -2 }, -1, -1, {-1, 2} },
Speed = { { 900, 10000 }, 300, 300, 300 },
Drop = { { 0.0, 0.0 }, 9.81, 9.81, 9.81 }
},
Expand All @@ -384,7 +384,7 @@ VehicleData = {
Name = "[MI-28 HAVOC]",
Type = VehicleTypes.Chopper,
Terrain = VehicleTerrains.Air,
Parts = { { -2, -2 }, 2 }, -- 0,1,14
Parts = { { -2, -2 }, {2, 1} }, -- 0,1,14
Speed = { { 300, 10000 }, 600 },
Drop = { { 0.0, 0.0 }, 0.0 }
},
Expand All @@ -406,17 +406,17 @@ VehicleData = {
},
["Z-11w"] = {
Name = "[Z-11W]",
Type = VehicleTypes.Chopper,
Type = VehicleTypes.ScoutChopper,
Terrain = VehicleTerrains.Air,
Parts = { { -1, -1 }, -1, -1 }, -1,
Parts = { { -1, -1 }, -1, -1, {-1, 2} },
Speed = { { 900, 10000 }, 350, 350, 350 },
Drop = { { 0.0, 0.0 }, 9.81, 9.81, 9.81 }
},
["Wz11_SP_Paris"] = {
Name = "[Z-11W]",
Type = VehicleTypes.Chopper,
Type = VehicleTypes.ScoutChopper,
Terrain = VehicleTerrains.Air,
Parts = { { -1, -1 }, -1, -1 }, -1,
Parts = { { -1, -1 }, -1, -1, {-1, 2} },
Speed = { { 900, 10000 }, 350, 350, 350 },
Drop = { { 0.0, 0.0 }, 9.81, 9.81, 9.81 }
},
Expand Down
4 changes: 3 additions & 1 deletion ext/Shared/Settings/BotEnums.lua
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ VehicleTypes = {
StationaryAA = 8,
StationaryLauncher = 9,
MobileArtillery = 10,
Gadgets = 11
Gadgets = 11,
IFV = 12,
ScoutChopper = 13,
}

---@enum VehicleTerrains
Expand Down