From a5132f315334dfa2399cc28250ae39bb419b917f Mon Sep 17 00:00:00 2001 From: Matt Atlas Date: Thu, 8 Dec 2022 17:11:40 +0100 Subject: [PATCH] Adds a solarian coilgun. (#15255) --- aurorastation.dme | 1 + code/__defines/ship_weapons.dm | 1 + .../overmap/ship_weaponry/weaponry/coilgun.dm | 43 ++++++++++++++++++ .../ship_guns/ship_weapon_attachments.dmi | Bin 1308 -> 2024 bytes icons/obj/machines/ship_guns/sol_coilgun.dmi | Bin 0 -> 8153 bytes 5 files changed, 45 insertions(+) create mode 100644 code/modules/overmap/ship_weaponry/weaponry/coilgun.dm create mode 100644 icons/obj/machines/ship_guns/sol_coilgun.dmi diff --git a/aurorastation.dme b/aurorastation.dme index c516cc6620d..dd4a2b0cd9b 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -2624,6 +2624,7 @@ #include "code\modules\overmap\ship_weaponry\_ship_gun.dm" #include "code\modules\overmap\ship_weaponry\projectiles\_overmap_projectiles.dm" #include "code\modules\overmap\ship_weaponry\weaponry\bruiser.dm" +#include "code\modules\overmap\ship_weaponry\weaponry\coilgun.dm" #include "code\modules\overmap\ship_weaponry\weaponry\francisca.dm" #include "code\modules\overmap\ship_weaponry\weaponry\grauwolf.dm" #include "code\modules\overmap\ship_weaponry\weaponry\leviathan.dm" diff --git a/code/__defines/ship_weapons.dm b/code/__defines/ship_weapons.dm index 3ad321b2840..dc5d32c5daf 100644 --- a/code/__defines/ship_weapons.dm +++ b/code/__defines/ship_weapons.dm @@ -4,6 +4,7 @@ #define SHIP_CALIBER_90MM "90mm" #define SHIP_CALIBER_ZTA "zero-point warp beam" #define SHIP_CALIBER_178MM "178mm" +#define SHIP_CALIBER_COILGUN "tungsten rod" #define SHIP_GUN_FIRING_SUCCESSFUL "firing sequence completed" #define SHIP_GUN_ERROR_NO_AMMO "no ammunition loaded" diff --git a/code/modules/overmap/ship_weaponry/weaponry/coilgun.dm b/code/modules/overmap/ship_weaponry/weaponry/coilgun.dm new file mode 100644 index 00000000000..b14028bdf16 --- /dev/null +++ b/code/modules/overmap/ship_weaponry/weaponry/coilgun.dm @@ -0,0 +1,43 @@ +/obj/machinery/ship_weapon/coilgun + name = "type 21 nadziak solarian coilgun" + desc = "The venerable Nadziak-class line of coilguns was born in the fires of the Interstellar War, where its ability to shred shields and low-class hulls have ensured its immortality in the infrastructure of the Solarian Navy." + desc_extended = "Although originally an expensive blunder made by over-worked Kumar Arms designers, the Nadziak later preformed to an outstanding degree following numerous improvements. Its fame among post-War Admirals was such that its name and purpose has largely remained the same, with a new 'Type' iteration commissioned every decade or so. With the expulsion of Zavodskoi and its subsidiary from Solarian space, this aging giant and symbol of military might is under threat of being consumed by the resulting arms manufacturing vacuum." + icon = 'icons/obj/machines/ship_guns/sol_coilgun.dmi' + icon_state = "weapon_base" + projectile_type = /obj/item/projectile/ship_ammo/coilgun + + heavy_firing_sound = 'sound/weapons/railgun.ogg' + firing_effects = FIRING_EFFECT_FLAG_EXTREMELY_LOUD + screenshake_type = SHIP_GUN_SCREENSHAKE_ALL_MOBS + caliber = SHIP_CALIBER_COILGUN + +/obj/item/ship_ammunition/coilgun + name = "tungsten rod pack" + name_override = "tungsten rod" + desc = "A pack of rods used as ammunition for a coilgun." + icon = 'icons/obj/ammo.dmi' + icon_state = "trodpack-2" + caliber = SHIP_CALIBER_COILGUN + overmap_icon_state = "cannon" + impact_type = SHIP_AMMO_IMPACT_HE + +/obj/item/projectile/ship_ammo/coilgun + name = "high-power tungsten rod" + icon_state = "heavy" + damage = 10000 + armor_penetration = 1000 + penetrating = 1 + +/obj/item/projectile/ship_ammo/coilgun/on_hit(atom/target, blocked, def_zone, is_landmark_hit) + . = ..() + if(ismob(target)) + var/mob/M = target + M.visible_message(SPAN_DANGER("\The [src] blows [M]'s chest apart and punches straight through!")) + if(isturf(target) || isobj(target)) + explosion(target, 6, 8, 10) + +/obj/machinery/ammunition_loader/sol + icon_state = "ammo_loader_sol" + +/obj/structure/viewport/sol + icon_state = "viewport_sol" \ No newline at end of file diff --git a/icons/obj/machines/ship_guns/ship_weapon_attachments.dmi b/icons/obj/machines/ship_guns/ship_weapon_attachments.dmi index d7d5005dd82f03371d3f05bbab78cf229e20aa71..4f59eb070a30cde55cff0d0b2e6fcb57c61f6d29 100644 GIT binary patch delta 1903 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 literal 0 HcmV?d00001