Small gun go blam blam blam: The Light Coilgun revive + SSRM Corvette Tweaks (#21699)

This PR aims to revive the Solarian Light coilgun from #20094 and
replaces the SSRM Corvette's Grauwolf with said Coilgun. Credit goes to
TheDanseMacabre for the sprites and code.
This commit is contained in:
mynameasjeff
2026-01-14 19:29:45 +00:00
committed by GitHub
parent ccbfbdc50a
commit ecd33388dd
6 changed files with 193 additions and 83 deletions
+1
View File
@@ -3274,6 +3274,7 @@
#include "code\modules\overmap\ship_weaponry\weaponry\grauwolf_probe.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\lammergeier.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\leviathan.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\light_coilgun.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\longbow.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\longbow_ammo.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\nephilim.dm"
@@ -0,0 +1,38 @@
/obj/machinery/ship_weapon/coilgun/light
name = "M302A7 piledriver light coilgun"
desc = "A miniaturized version of the Solarian Navys coilgun platform, the M302A7 is the latest version of a weapon class that has served with honor since the Interstellar War. A semiautomatic, magazine-loaded design, it excels at applying pressure to enemy shields and hulls."
desc_extended = "Pressed for a smaller version of a coilgun to fit onto escort craft, the Alliance contracted what was then Necropolis Industries to design and manufacture the Navys first coilgun for corvette use in the mid-2200s. The M2307 is a post-Interstellar War modernization of earlier models that had been steadily improved upon over time. Though phased out of use in some battlegroups in favor of the M455A1 light coilgun, it remains a common sight in many fleets."
icon = 'icons/obj/machinery/ship_guns/sol_light_coilgun.dmi'
icon_state = "weapon_base"
max_ammo = 3
projectile_type = /obj/projectile/ship_ammo/coilgun/light
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/light
name = "light tungsten rod pack"
name_override = "light tungsten rod"
desc = "A pack of rods used as ammunition for a light coilgun."
icon = 'icons/obj/ammo.dmi'
icon_state = "trodpack-2"
caliber = SHIP_CALIBER_COILGUN
overmap_icon_state = "light_pulse"
impact_type = SHIP_AMMO_IMPACT_AP
/obj/projectile/ship_ammo/coilgun/light
name = "low-power tungsten rod"
icon_state = "heavy"
damage = 10000
armor_penetration = 1000
penetrating = 1
/obj/projectile/ship_ammo/coilgun/light/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
if(ismob(target))
var/mob/M = target
M.visible_message(SPAN_DANGER("<font size=5>\The [src] blows [M]'s chest apart and punches straight through!</font>"))
if(isturf(target) || isobj(target))
explosion(target, 2, 3, 4)
@@ -0,0 +1,61 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: Mynameasjeff
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Revives the long-lost Solarian Light Coilgun (credit goes to @TheDanseMacabre for the assets and code)"
- rscadd: "Replaces the SSRM Recon Corvette's Grauwolf with said coilgun."
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

+89 -83
View File
@@ -45,8 +45,11 @@
/turf/simulated/floor/tiled/white,
/area/ship/ssrm_corvette/canteen)
"ajL" = (
/obj/structure/lattice/catwalk,
/turf/space,
/obj/machinery/ammunition_loader/sol{
weapon_id = "SSRM Light Coilgun";
dir = 4
},
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_battery)
"ako" = (
/obj/effect/landmark/entry_point/fore{
@@ -1178,7 +1181,7 @@
/obj/machinery/atmospherics/unary/outlet_injector{
dir = 8
},
/turf/simulated/floor/reinforced,
/turf/simulated/floor/reinforced/carbon_dioxide,
/area/ship/ssrm_corvette/atmospherics)
"cIL" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
@@ -1851,6 +1854,9 @@
pixel_x = 4;
pixel_y = 6
},
/obj/machinery/light{
dir = 8
},
/turf/simulated/floor/carpet/darkblue,
/area/ship/ssrm_corvette/captain_cabin)
"dUR" = (
@@ -2458,7 +2464,7 @@
/obj/machinery/atmospherics/unary/vent_pump/siphon/atmos{
dir = 8
},
/turf/simulated/floor/reinforced,
/turf/simulated/floor/reinforced/carbon_dioxide,
/area/ship/ssrm_corvette/atmospherics)
"eWz" = (
/obj/structure/railing/mapped,
@@ -2609,7 +2615,7 @@
name = "ssrm_co2_port";
master_tag = "ssrm_co2_port"
},
/turf/simulated/floor/reinforced,
/turf/simulated/floor/reinforced/carbon_dioxide,
/area/ship/ssrm_corvette/engineering)
"fnM" = (
/obj/effect/map_effect/window_spawner/full/shuttle/raider,
@@ -2900,9 +2906,6 @@
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
/obj/effect/floor_decal/industrial/loading/red{
dir = 8
},
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_battery)
"fVv" = (
@@ -2966,6 +2969,9 @@
/obj/structure/sign/flag/visegrad{
pixel_y = -32
},
/obj/machinery/light{
dir = 4
},
/turf/simulated/floor/tiled/dark,
/area/ship/ssrm_corvette/captain_cabin)
"fZK" = (
@@ -3111,10 +3117,12 @@
/turf/simulated/floor/tiled/white,
/area/ship/ssrm_corvette/head)
"gqH" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
/obj/structure/ship_weapon_dummy,
/obj/machinery/ship_weapon/coilgun/light{
pixel_x = -32;
pixel_y = -319;
weapon_id = "SSRM Light Coilgun"
},
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_battery)
"gqK" = (
@@ -3745,11 +3753,8 @@
/turf/simulated/floor/tiled/dark,
/area/ship/ssrm_corvette/docking_port)
"hNE" = (
/obj/effect/floor_decal/industrial/warning{
dir = 10
},
/obj/structure/ship_weapon_dummy,
/turf/simulated/floor/reinforced,
/turf/template_noop,
/area/ship/ssrm_corvette/starboard_battery)
"hOn" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -3776,6 +3781,13 @@
},
/turf/simulated/floor/plating,
/area/ship/ssrm_corvette/starboard_thrusters)
"hRg" = (
/obj/effect/ghostspawpoint{
identifier = "ssrm_navy_chief_petty_officer";
name = "igs - ssrm_navy_chief_petty_officer"
},
/turf/simulated/floor/carpet/darkblue,
/area/ship/ssrm_corvette/cpo_cabin)
"hSW" = (
/obj/structure/closet/crate/secure{
name = "damage control equipment";
@@ -3808,6 +3820,9 @@
/area/ship/ssrm_corvette/docking_port)
"hTa" = (
/obj/effect/floor_decal/industrial/warning/corner,
/obj/effect/floor_decal/industrial/loading/red{
dir = 8
},
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_battery)
"hVy" = (
@@ -3927,6 +3942,9 @@
/obj/structure/bed/stool/chair/sofa/right/black{
dir = 8
},
/obj/machinery/light{
dir = 4
},
/turf/simulated/floor/carpet/darkblue,
/area/ship/ssrm_corvette/captain_office)
"iiZ" = (
@@ -4637,15 +4655,6 @@
/obj/machinery/light/small/emergency,
/turf/simulated/floor/plating,
/area/ship/ssrm_corvette/atmospherics)
"jLw" = (
/obj/machinery/ship_weapon/grauwolf{
pixel_x = -32;
pixel_y = -192;
weapon_id = "SSRM Grauwolf Flak Battery"
},
/obj/structure/ship_weapon_dummy,
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_battery)
"jMS" = (
/obj/effect/floor_decal/corner/grey/diagonal,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -5623,9 +5632,9 @@
/obj/structure/table/rack,
/obj/effect/floor_decal/industrial/outline/red,
/obj/machinery/light/colored/red,
/obj/item/ship_ammunition/grauwolf_bundle/ap,
/obj/item/ship_ammunition/grauwolf_bundle/ap,
/obj/item/ship_ammunition/grauwolf_bundle/ap,
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_gunnery)
"mqW" = (
@@ -5935,6 +5944,9 @@
/obj/effect/floor_decal/corner/dark_blue/full{
dir = 8
},
/obj/machinery/light{
dir = 1
},
/turf/simulated/floor/tiled/dark,
/area/ship/ssrm_corvette/safe_room)
"mNu" = (
@@ -6029,6 +6041,11 @@
d2 = 8;
icon_state = "4-8"
},
/obj/structure/cable{
icon_state = "1-8";
d1 = 1;
d2 = 8
},
/turf/simulated/floor,
/area/ship/ssrm_corvette)
"nbp" = (
@@ -6148,6 +6165,9 @@
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/teacup{
pixel_y = 13
},
/obj/machinery/light{
dir = 8
},
/turf/simulated/floor/tiled/dark,
/area/ship/ssrm_corvette/captain_cabin)
"nty" = (
@@ -6445,14 +6465,11 @@
/turf/simulated/floor/airless,
/area/ship/ssrm_corvette/port_battery)
"nWf" = (
/obj/structure/viewport,
/obj/effect/floor_decal/industrial/warning{
dir = 6
},
/obj/machinery/door/blast/regular/open{
dir = 4;
id = "ssrm_windows_exterior"
},
/obj/structure/viewport/sol,
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_battery)
"nWO" = (
@@ -6507,7 +6524,7 @@
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
/turf/simulated/floor/reinforced,
/turf/simulated/wall/shuttle/raider,
/area/ship/ssrm_corvette/starboard_battery)
"odO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -6972,14 +6989,14 @@
"prd" = (
/obj/structure/table/rack,
/obj/effect/floor_decal/industrial/outline/red,
/obj/item/ship_ammunition/grauwolf_bundle,
/obj/item/ship_ammunition/grauwolf_bundle,
/obj/item/ship_ammunition/grauwolf_bundle,
/obj/machinery/atmospherics/unary/vent_scrubber/on,
/obj/machinery/alarm/north{
req_one_access = null;
req_access = list(203)
},
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_gunnery)
"pxj" = (
@@ -7384,12 +7401,12 @@
"qvC" = (
/obj/structure/table/rack,
/obj/effect/floor_decal/industrial/outline/red,
/obj/item/ship_ammunition/grauwolf_bundle/ap,
/obj/item/ship_ammunition/grauwolf_bundle/ap,
/obj/item/ship_ammunition/grauwolf_bundle/ap,
/obj/machinery/light/colored/red{
dir = 1
},
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_gunnery)
"qvF" = (
@@ -7422,10 +7439,8 @@
/turf/simulated/wall/shuttle/raider,
/area/ship/ssrm_corvette/eva_preperation)
"qDa" = (
/obj/machinery/ammunition_loader/grauwolf{
weapon_id = "SSRM Grauwolf Flak Battery"
},
/turf/simulated/floor/reinforced,
/obj/structure/ship_weapon_dummy/barrel,
/turf/template_noop,
/area/ship/ssrm_corvette/starboard_battery)
"qFW" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
@@ -7592,13 +7607,6 @@
},
/turf/simulated/floor/plating,
/area/ship/ssrm_corvette/atmospherics)
"qYT" = (
/obj/effect/floor_decal/industrial/warning/cee{
dir = 4
},
/obj/item/hullbeacon/red,
/turf/simulated/floor/airless,
/area/ship/ssrm_corvette/starboard_battery)
"qZm" = (
/obj/structure/cable{
icon_state = "1-4";
@@ -7707,7 +7715,7 @@
name = "ssrm_co2_port";
master_tag = "ssrm_co2_port"
},
/turf/simulated/floor/reinforced,
/turf/simulated/floor/reinforced/carbon_dioxide,
/area/ship/ssrm_corvette/engineering)
"roP" = (
/obj/structure/cable{
@@ -7895,17 +7903,12 @@
/turf/simulated/floor/tiled/dark,
/area/ship/ssrm_corvette/port_battery)
"rMT" = (
/obj/item/hullbeacon/red,
/obj/effect/floor_decal/industrial/warning/cee{
dir = 8
},
/obj/structure/ship_weapon_dummy,
/turf/simulated/floor/airless,
/area/ship/ssrm_corvette/starboard_battery)
"rNp" = (
/obj/structure/lattice/catwalk,
/obj/structure/ship_weapon_dummy/barrel,
/turf/space,
/area/ship/ssrm_corvette/starboard_battery)
"rOW" = (
/obj/machinery/shower{
dir = 8
@@ -8574,13 +8577,13 @@
"ucw" = (
/obj/structure/table/rack,
/obj/effect/floor_decal/industrial/outline/red,
/obj/item/ship_ammunition/grauwolf_bundle,
/obj/item/ship_ammunition/grauwolf_bundle,
/obj/item/ship_ammunition/grauwolf_bundle,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1;
level = 2
},
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/obj/item/ship_ammunition/coilgun/light,
/turf/simulated/floor/reinforced,
/area/ship/ssrm_corvette/starboard_gunnery)
"udR" = (
@@ -9006,10 +9009,6 @@
},
/obj/structure/bed/padded,
/obj/item/bedsheet/black,
/obj/effect/ghostspawpoint{
identifier = "ssrm_navy_chief_petty_officer";
name = "igs - ssrm_navy_chief_petty_officer"
},
/obj/structure/sign/flag/sol{
pixel_x = -32
},
@@ -9399,6 +9398,13 @@
dir = 1
},
/obj/effect/floor_decal/industrial/warning,
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
/obj/effect/floor_decal/industrial/warning{
dir = 5
},
/obj/structure/ship_weapon_dummy,
/turf/simulated/floor/airless,
/area/ship/ssrm_corvette/starboard_battery)
"vMq" = (
@@ -38265,13 +38271,13 @@ pOd
suy
odL
gqH
hNE
csf
hqY
hqY
rNp
rMT
xRX
xRX
xRX
hNE
hNE
qDa
xRX
xRX
xRX
@@ -38520,15 +38526,15 @@ qvF
sru
qhH
sDo
jLw
cvf
csf
cJU
hqY
rNp
hqY
vLo
xRX
xRX
xRX
hNE
hNE
qDa
xRX
xRX
xRX
@@ -38777,12 +38783,12 @@ wTT
ikt
qhH
sDo
csf
csf
cJU
hqY
rNp
qYT
cvf
ajL
cvf
xRX
xRX
xRX
xRX
xRX
xRX
@@ -39034,11 +39040,11 @@ bKC
sgw
xni
sDo
qDa
sDo
hTa
nWf
ajL
ajL
xRX
xRX
xRX
xRX
xRX
@@ -44148,7 +44154,7 @@ xRX
xRX
wUJ
eiF
eiF
hRg
eiF
vYZ
dKs
@@ -80,6 +80,10 @@
spawnpoints = list("ssrm_navy_chief_petty_officer")
max_count = 1
outfit = /obj/outfit/admin/ssrm_navy_chief_petty_officer
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Sol Navy Recon Chief Petty Officer"
special_role = "Sol Navy Recon Chief Petty Officer"