diff --git a/ext/Server/AirTargets.lua b/ext/Server/AirTargets.lua index 5c08f2ba..111d7249 100644 --- a/ext/Server/AirTargets.lua +++ b/ext/Server/AirTargets.lua @@ -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 diff --git a/ext/Server/Bot.lua b/ext/Server/Bot.lua index 5441a39a..0dabd52e 100644 --- a/ext/Server/Bot.lua +++ b/ext/Server/Bot.lua @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/ext/Server/Bot/VehicleAiming.lua b/ext/Server/Bot/VehicleAiming.lua index 4e946503..ef4fc4ce 100644 --- a/ext/Server/Bot/VehicleAiming.lua +++ b/ext/Server/Bot/VehicleAiming.lua @@ -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() @@ -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 @@ -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() @@ -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 diff --git a/ext/Server/Bot/VehicleAttacking.lua b/ext/Server/Bot/VehicleAttacking.lua index d1087b60..b47fab7b 100644 --- a/ext/Server/Bot/VehicleAttacking.lua +++ b/ext/Server/Bot/VehicleAttacking.lua @@ -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 diff --git a/ext/Server/Bot/VehicleMovement.lua b/ext/Server/Bot/VehicleMovement.lua index 87c562b3..64b85f30 100644 --- a/ext/Server/Bot/VehicleMovement.lua +++ b/ext/Server/Bot/VehicleMovement.lua @@ -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 @@ -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) @@ -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 diff --git a/ext/Server/BotSpawner.lua b/ext/Server/BotSpawner.lua index dc5a0e27..76d7d64b 100644 --- a/ext/Server/BotSpawner.lua +++ b/ext/Server/BotSpawner.lua @@ -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 diff --git a/ext/Server/GameDirector.lua b/ext/Server/GameDirector.lua index d523f234..589157b3 100644 --- a/ext/Server/GameDirector.lua +++ b/ext/Server/GameDirector.lua @@ -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 diff --git a/ext/Server/Vehicles.lua b/ext/Server/Vehicles.lua index 26c7f776..00bd2bce 100644 --- a/ext/Server/Vehicles.lua +++ b/ext/Server/Vehicles.lua @@ -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 @@ -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 diff --git a/ext/Shared/Constants/VehicleData.lua b/ext/Shared/Constants/VehicleData.lua index 2dec8601..d829622a 100644 --- a/ext/Shared/Constants/VehicleData.lua +++ b/ext/Shared/Constants/VehicleData.lua @@ -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 } }, @@ -133,7 +133,7 @@ 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 } }, @@ -141,7 +141,7 @@ VehicleData = { Name = "[M1128]", Type = VehicleTypes.Tank, Terrain = VehicleTerrains.Land, - Parts = { 26, -1, -1, -1, -1 }, + Parts = { {26, 1}, -1, -1, -1, -1 }, Speed = { 200, 350, 350, 350, 350 }, Drop = { 4.9, 9.81, 9.81, 9.81, 9.81 } }, @@ -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 } }, @@ -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 } }, @@ -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 } }, @@ -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 } }, diff --git a/ext/Shared/Settings/BotEnums.lua b/ext/Shared/Settings/BotEnums.lua index a94e6adc..9bb8dbd9 100644 --- a/ext/Shared/Settings/BotEnums.lua +++ b/ext/Shared/Settings/BotEnums.lua @@ -51,7 +51,9 @@ VehicleTypes = { StationaryAA = 8, StationaryLauncher = 9, MobileArtillery = 10, - Gadgets = 11 + Gadgets = 11, + IFV = 12, + ScoutChopper = 13, } ---@enum VehicleTerrains