diff --git a/code/datums/ammo/rocket.dm b/code/datums/ammo/rocket.dm
index 78dac2b39e16..f6ac3afc97dc 100644
--- a/code/datums/ammo/rocket.dm
+++ b/code/datums/ammo/rocket.dm
@@ -159,20 +159,20 @@
shell_speed = AMMO_SPEED_TIER_3
/datum/ammo/rocket/ltb/on_hit_mob(mob/mob, obj/projectile/projectile)
- cell_explosion(get_turf(mob), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
- cell_explosion(get_turf(mob), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
+ cell_explosion(get_turf(mob), 160, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
+ cell_explosion(get_turf(mob), 130, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
/datum/ammo/rocket/ltb/on_hit_obj(obj/object, obj/projectile/projectile)
- cell_explosion(get_turf(object), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
- cell_explosion(get_turf(object), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
+ cell_explosion(get_turf(object), 160, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
+ cell_explosion(get_turf(object), 130, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
/datum/ammo/rocket/ltb/on_hit_turf(turf/turf, obj/projectile/projectile)
- cell_explosion(get_turf(turf), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
- cell_explosion(get_turf(turf), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
+ cell_explosion(get_turf(turf), 160, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
+ cell_explosion(get_turf(turf), 130, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
/datum/ammo/rocket/ltb/do_at_max_range(obj/projectile/projectile)
- cell_explosion(get_turf(projectile), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
- cell_explosion(get_turf(projectile), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data)
+ cell_explosion(get_turf(projectile), 160, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
+ cell_explosion(get_turf(projectile), 130, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, projectile.weapon_cause_data) //BANDAMARINES EDIT
/datum/ammo/rocket/wp
name = "white phosphorous rocket"
diff --git a/code/datums/supply_packs/vehicle_ammo.dm b/code/datums/supply_packs/vehicle_ammo.dm
index 43ce36ec2b64..7dec7926bd8a 100644
--- a/code/datums/supply_packs/vehicle_ammo.dm
+++ b/code/datums/supply_packs/vehicle_ammo.dm
@@ -3,14 +3,16 @@
//*******************************************************************************/
/datum/supply_packs/ammo_ltb_cannon
- name = "LTB Cannon magazines (x6)"
+ name = "LTB Cannon magazines (x3)" //BANDAMARINES EDIT
contains = list(
/obj/item/ammo_magazine/hardpoint/ltb_cannon,
/obj/item/ammo_magazine/hardpoint/ltb_cannon,
/obj/item/ammo_magazine/hardpoint/ltb_cannon,
+ /* BANDAMARINES REMOVAL BEGINS
/obj/item/ammo_magazine/hardpoint/ltb_cannon,
/obj/item/ammo_magazine/hardpoint/ltb_cannon,
/obj/item/ammo_magazine/hardpoint/ltb_cannon,
+ BANDAMARINES REMOVAL ENDS */
)
cost = 30
containertype = /obj/structure/closet/crate/ammo
diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm
index 4eacb0d2dbc2..fc2d6ced0a48 100644
--- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm
+++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm
@@ -137,7 +137,8 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_tank, list(
list("M34A2-A Multipurpose Turret", 0, /obj/effect/essentials_set/tank/turret, VEHICLE_INTEGRAL_AVAILABLE, VENDOR_ITEM_MANDATORY),
list("PRIMARY WEAPON", 0, null, null, null),
- list("AC3-E Autocannon", 0, /obj/effect/essentials_set/tank/autocannon, VEHICLE_PRIMARY_AVAILABLE, VENDOR_ITEM_RECOMMENDED),
+ list("LTB Canon 86mm", 0, /obj/effect/essentials_set/tank/ltb, VEHICLE_PRIMARY_AVAILABLE, VENDOR_ITEM_RECOMMENDED), //BANDAMARINES EDIT
+ list("AC3-E Autocannon", 0, /obj/effect/essentials_set/tank/autocannon, VEHICLE_PRIMARY_AVAILABLE, VENDOR_ITEM_REGULAR),
list("DRG-N Offensive Flamer Unit", 0, /obj/effect/essentials_set/tank/dragonflamer, VEHICLE_PRIMARY_AVAILABLE, VENDOR_ITEM_REGULAR),
list("LTAA-AP Minigun", 0, /obj/effect/essentials_set/tank/gatling, VEHICLE_PRIMARY_AVAILABLE, VENDOR_ITEM_REGULAR),
diff --git a/code/modules/vehicles/hardpoints/primary/ltb.dm b/code/modules/vehicles/hardpoints/primary/ltb.dm
index 7ccbc18a2853..52addd16cf64 100644
--- a/code/modules/vehicles/hardpoints/primary/ltb.dm
+++ b/code/modules/vehicles/hardpoints/primary/ltb.dm
@@ -29,3 +29,4 @@
scatter = 2
fire_delay = 20.0 SECONDS
+
diff --git a/icons/effects/beam.dmi b/icons/effects/beam.dmi
index d6ee40cf7fe8..d63d68127b18 100644
Binary files a/icons/effects/beam.dmi and b/icons/effects/beam.dmi differ
diff --git a/modular/ltb_rework/_ltb_rework.dm b/modular/ltb_rework/_ltb_rework.dm
new file mode 100644
index 000000000000..61dbd88c50c7
--- /dev/null
+++ b/modular/ltb_rework/_ltb_rework.dm
@@ -0,0 +1,4 @@
+/datum/modpack/ltb_rework
+ name = "LTB canon rework"
+ desc = "Makes LTB canon artillery more fair"
+ author = "artfish"
diff --git a/modular/ltb_rework/_ltb_rework.dme b/modular/ltb_rework/_ltb_rework.dme
new file mode 100644
index 000000000000..b8a214af0878
--- /dev/null
+++ b/modular/ltb_rework/_ltb_rework.dme
@@ -0,0 +1,3 @@
+#include "_ltb_rework.dm"
+
+#include "code/ltb_try_fire.dm"
diff --git a/modular/ltb_rework/code/ltb_try_fire.dm b/modular/ltb_rework/code/ltb_try_fire.dm
new file mode 100644
index 000000000000..0b8c396c03a2
--- /dev/null
+++ b/modular/ltb_rework/code/ltb_try_fire.dm
@@ -0,0 +1,39 @@
+/obj/item/hardpoint/primary/cannon
+ var/making_shot = 0
+
+/obj/item/hardpoint/primary/cannon/try_fire(atom/target, mob/living/user, params)
+
+ var/obj/item/hardpoint/support/artillery_module/module = owner.find_hardpoint("\improper Artillery Module")
+ if(module.is_active && !making_shot && get_dist(owner, target) > 8)
+ if(health <= 0)
+ to_chat(user, SPAN_WARNING("\The [name] is broken!"))
+ return NONE
+
+ if(ammo && ammo.current_rounds <= 0)
+ click_empty(user)
+ return NONE
+
+ if(!in_firing_arc(target))
+ to_chat(user, SPAN_WARNING("The target is not within your firing arc!"))
+ return NONE
+
+ var/target_turf = get_turf(target)
+ making_shot = TRUE
+
+ var/datum/beam/laser_beam = owner.beam(target_turf, "laser_green", 'icons/effects/beam.dmi', 1 SECONDS, beam_type = /obj/effect/ebeam)
+ laser_beam.visuals.alpha = 50
+
+ var/obj/effect/overlay/temp/laser_coordinate/marker = new(target_turf, "laser_marker_green")
+ spawn(10)
+ qdel(marker)
+
+ to_chat(user, SPAN_WARNING("Наводим орудие на цель"))
+ playsound(owner,'modular/ltb_rework/sound/turret.ogg', 80, TRUE, 8)
+ spawn(10)
+ playsound(target_turf, 'modular/ltb_rework/sound/shell.ogg', 70, FALSE, 5)
+ spawn(20)
+ making_shot = FALSE
+ handle_fire(target_turf, user, params)
+ return NONE
+ else if(!making_shot)
+ return ..()
diff --git a/modular/ltb_rework/sound/shell.ogg b/modular/ltb_rework/sound/shell.ogg
new file mode 100644
index 000000000000..af0b96d31022
Binary files /dev/null and b/modular/ltb_rework/sound/shell.ogg differ
diff --git a/modular/ltb_rework/sound/turret.ogg b/modular/ltb_rework/sound/turret.ogg
new file mode 100644
index 000000000000..d68f1fd4bf5f
Binary files /dev/null and b/modular/ltb_rework/sound/turret.ogg differ
diff --git a/modular/modular.dme b/modular/modular.dme
index b8e71f76acf5..bec5948fda6f 100644
--- a/modular/modular.dme
+++ b/modular/modular.dme
@@ -16,3 +16,4 @@
#include "speech_filter/_speech_filter.dme"
#include "text_to_speech/_tts.dme"
#include "attachments/_attachments.dme"
+#include "ltb_rework/_ltb_rework.dme"