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"