diff --git a/aurorastation.dme b/aurorastation.dme
index 9def7131710..31475ffcfb6 100644
--- a/aurorastation.dme
+++ b/aurorastation.dme
@@ -1258,6 +1258,7 @@
#include "code\game\objects\items\weapons\implants\implants\emp.dm"
#include "code\game\objects\items\weapons\implants\implants\explosive.dm"
#include "code\game\objects\items\weapons\implants\implants\freedom.dm"
+#include "code\game\objects\items\weapons\implants\implants\galatean.dm"
#include "code\game\objects\items\weapons\implants\implants\health_tracker.dm"
#include "code\game\objects\items\weapons\implants\implants\loyalty.dm"
#include "code\game\objects\items\weapons\implants\implants\mindshield.dm"
diff --git a/code/game/objects/items/weapons/implants/implants/galatean.dm b/code/game/objects/items/weapons/implants/implants/galatean.dm
new file mode 100644
index 00000000000..e3e59b21821
--- /dev/null
+++ b/code/game/objects/items/weapons/implants/implants/galatean.dm
@@ -0,0 +1,36 @@
+// GALATEAN BIOAUGMENTATIONS
+// the weird, uncomfortable places where meat meets metal
+
+/obj/item/implant/export_lasgun
+ name = "bioelectrical conduit"
+ desc = "A Galatean bioaugmentation that channels the innate bioelectricity of the human nervous system. Use of this augment against the terms of its packaging are a violation of Galatean law."
+ icon_state = "implant_excel"
+ implant_icon = "excel"
+ implant_color = "#ffd079"
+ origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 2, TECH_ILLEGAL = 3)
+ default_action_type = null
+ known = TRUE
+
+/obj/item/implant/export_lasgun/get_data()
+ . = {"
+Implant Specifications:
+Name: Planetary Weapons Development Bureau Bioelectricity Conduit, Export-Model
+Life: Six years.
+Important Notes: Personnel injected with this device can operate certain approved models of laser weapon without side effects..
+
+Implant Details:
+Function: Conducts the body's electricity into usable forms of electricity for Galatean export-model weaponry.
+Integrity: Implant will last for a period of six standard years, after which it will degrade and require removal."}
+
+/obj/item/implant/export_lasgun/implanted(mob/M)
+ to_chat(M, SPAN_GOOD("Static dances across your skin."))
+ if(ishuman(M))
+ return TRUE
+
+/obj/item/implantcase/export_lasgun
+ name = "glass case - 'bioconduit'"
+ imp = /obj/item/implant/export_lasgun
+
+/obj/item/implanter/export_lasgun
+ name = "implanter-bioconductor"
+ imp = /obj/item/implant/export_lasgun
diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm
index 073ddf3fb7b..77cc9bfd6f0 100644
--- a/code/game/objects/items/weapons/power_cells.dm
+++ b/code/game/objects/items/weapons/power_cells.dm
@@ -211,3 +211,14 @@
. = ..()
charge = 0
update_icon()
+
+/obj/item/cell/hydrogen
+ name = "hydrogen blaster canister"
+ desc = "An industrial-grade hydrogen power cell, used in various blaster weapons- or blaster-adjacent power tools- in place of expensive phoron."
+ icon_state = "hycell"
+ maxcharge = 10000 // hydrogen is actually used today in electric cars
+ matter = list(DEFAULT_WALL_MATERIAL = 700, MATERIAL_GLASS = 70)
+ w_class = ITEMSIZE_SMALL
+ drop_sound = 'sound/items/drop/gascan.ogg'
+ pickup_sound = 'sound/items/pickup/gascan.ogg'
+ origin_tech = list(TECH_POWER = 4)
diff --git a/code/modules/projectiles/guns/energy/blaster.dm b/code/modules/projectiles/guns/energy/blaster.dm
index 130ccf83502..5673d1b3d52 100644
--- a/code/modules/projectiles/guns/energy/blaster.dm
+++ b/code/modules/projectiles/guns/energy/blaster.dm
@@ -136,3 +136,106 @@
list(mode_name="semiauto", burst=1, fire_delay=ROF_INTERMEDIATE),
list(mode_name="3-round bursts", burst=3, burst_accuracy=list(2,1,1), dispersion=list(0, 7.5))
)
+
+/obj/item/gun/energy/blaster/himeo
+ name = "himean assault blaster"
+ desc = "The standard infantry blaster of the Himean Planetary Guard. 'TO RESIST EVIL BY FORCE' is stamped on the side."
+ desc_extended = "Originally developed in 2351, the Type-11 \"Guthrie\" is a descendant of the first Himean-made weapons; haphazardly overcharged mining equipment. If it ain't broke, don't fix it; variants \
+ of this rifle have served in the United Syndicates' arsenal for generations, although none have matched modern improvements 'borrowed' from Zavodskoi Interstellar. Waterproof, spaceproof, idiot-proof; it's here to stay, even as advanced Xanan ballistics \
+ creep their way into the market. Ironically, lend-lease aid to the now-defunct League of Independent Corporate-Free Systems have seen a great deal of these end up in the hands of pirates."
+ icon = 'icons/obj/guns/himeo_blaster.dmi'
+ icon_state = "himeoblaster"
+ item_state = "himeoblaster"
+ projectile_type = /obj/item/projectile/energy/blaster
+ usesound = 'sound/weapons/plasma_cutter.ogg'
+ fire_sound = 'sound/weapons/gunshot/slammer.ogg'
+ cell_type = /obj/item/cell/hydrogen
+ needspin = FALSE // can't remove the cell if it has a pin
+ charge_cost = 500 // 20 mag
+ slot_flags = SLOT_BACK
+ w_class = ITEMSIZE_LARGE
+ is_wieldable = TRUE
+ can_bayonet = FALSE
+ sharp = FALSE
+ edge = FALSE
+ accuracy = -1
+ fire_delay = ROF_RIFLE
+ fire_delay_wielded = 5
+ burst_delay = 4
+ accuracy_wielded = 2
+ origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 3)
+ firemodes = list(
+ list(mode_name="semiauto", burst=1, fire_delay=ROF_INTERMEDIATE),
+ list(mode_name="2-round bursts", burst=2, burst_accuracy=list(2,1,1), dispersion=list(0, 7.5)),
+ list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=5, fire_delay_wielded=2, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25)) //same as the assault rifle
+ )
+
+/obj/item/gun/energy/blaster/himeo/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) //stolen from the plasma cutter
+ . = ..()
+ if(is_adjacent)
+ if(power_supply)
+ . += FONT_SMALL(SPAN_NOTICE("It has a [capitalize_first_letters(power_supply.name)] in the cell mount."))
+ else
+ . += FONT_SMALL(SPAN_WARNING("It has no cell installed."))
+
+/obj/item/gun/energy/blaster/himeo/attackby(obj/item/attacking_item, mob/user)
+ if(attacking_item.isscrewdriver())
+ if(power_supply)
+ playsound(user, 'sound/machines/compbeep1.ogg', 40, FALSE)
+ to_chat(user, SPAN_NOTICE("You uninstall \the [power_supply]."))
+ power_supply.forceMove(get_turf(src))
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ H.put_in_hands(power_supply)
+ power_supply = null
+ update_icon()
+ else
+ to_chat(user, SPAN_WARNING("\The [src] doesn't have a cell installed!"))
+ else if(istype(attacking_item, /obj/item/cell/hydrogen))
+ if(power_supply)
+ to_chat(user, SPAN_WARNING("\The [src] already has a cell in the chamber!"))
+ else
+ playsound(user, 'sound/weapons/kinetic_reload.ogg', 40, FALSE)
+ to_chat(user, SPAN_NOTICE("You install \the [attacking_item] into \the [src]."))
+ user.drop_from_inventory(attacking_item, src)
+ power_supply = attacking_item
+ update_icon()
+ else
+ ..()
+
+/obj/item/gun/energy/blaster/himeo/afterattack(atom/A, mob/living/user) // if the cell is drained, eject it so we're not fumbling for a screwdriver mid-shootout
+ ..()
+ if(power_supply.charge == 0)
+ power_supply.forceMove(get_turf(src.loc))
+ user.visible_message(
+ "[power_supply] pops out of the cell mount!",
+ "[power_supply] pops out of \the [src] and clatters on the floor!"
+ )
+ power_supply.update_icon()
+ power_supply = null
+ playsound(user, 'sound/machines/rig/rig_retract.ogg', 40, FALSE)
+ update_icon()
+
+/obj/item/gun/energy/blaster/himeo/pistol
+ name = "himean heavy blaster pistol"
+ desc = "The standard sidearm of the Himean Planetary Guard. For those revolutions you cannot fight with fists."
+ desc_extended = "A plasma cutter gave its life for the first Type-45 \"Sabo-Tabby\" pistol. Powered by the same hydrogen cells as the Type-11 \"Guthrie\" rifle, this robust model has earned the nickname of \
+ the 'One Big Handgun' in those foreign markets it has cropped up. What was initially seen as a flaw in the power converter led to its 'magnum'-sized blaster bolts."
+ icon = 'icons/obj/guns/himeo_pistol.dmi'
+ icon_state = "himeopistol"
+ item_state = "himeopistol"
+ projectile_type = /obj/item/projectile/energy/blaster/heavy
+ usesound = 'sound/weapons/plasma_cutter.ogg'
+ fire_sound = 'sound/weapons/laserstrong.ogg'
+ charge_cost = 1250 // leaky but lethal
+ slot_flags = SLOT_BELT|SLOT_HOLSTER
+ w_class = ITEMSIZE_SMALL
+ force = 11
+ is_wieldable = FALSE
+ can_bayonet = FALSE
+ sharp = FALSE
+ edge = FALSE
+ origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 3)
+ firemodes = list(
+ list(mode_name="semiauto", burst=1, fire_delay=ROF_INTERMEDIATE)
+ )
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 950aea9806b..e92180ebf0e 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -509,3 +509,166 @@
fire_delay = 20
accuracy = 40
muzzle_flash = 10
+
+/obj/item/laserpack
+ name = "galatean bioelectrical reactor backpack"
+ desc = "An ominously-thrumming backpack-mounted machine, powering an O61 Infantry Laser Rifle."
+ icon = 'icons/obj/guns/galatea_laser.dmi'
+ icon_state = "laserpack_holstered"
+ item_state = "laserpack_holstered"
+ contained_sprite = 1
+ w_class = ITEMSIZE_LARGE
+ slot_flags = SLOT_BACK
+ origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_ILLEGAL = 7)
+ action_button_name = "Deploy the Laser Rifle"
+
+ var/obj/item/gun/energy/galatea/gun
+ var/armed = FALSE
+
+/obj/item/laserpack/update_icon() // all credit to alb for minigun code, which this is
+ ..()
+ if(armed)
+ icon_state = "laserpack"
+ item_state = "laserpack"
+ else
+ icon_state = "laserpack_holstered"
+ item_state = "laserpack_holstered"
+
+/obj/item/laserpack/Initialize() // add a gun to the pack
+ . = ..()
+ gun = make_gun()
+ gun.source = src
+ gun.forceMove(src)
+
+/obj/item/laserpack/proc/make_gun()
+ return new /obj/item/gun/energy/galatea()
+
+/obj/item/laserpack/ui_action_click()
+ if(src in usr)
+ toggle_lasergun()
+
+/obj/item/laserpack/verb/toggle_lasergun() // ui button and a verb
+ set name = "Deploy the Laser Rifle"
+ set category = "Object"
+ var/mob/living/carbon/human/user
+ if(ishuman(user))
+ user = usr
+ else
+ return
+
+ if(!user)
+ return
+
+ if (user.back!= src)
+ to_chat(user, SPAN_WARNING("\The [src] must be worn to deploy \the [gun]!"))
+ return
+
+ if(use_check_and_message(user))
+ return
+
+ if(!gun)
+ to_chat(user, SPAN_WARNING("There is no weapon attached to the \the [src]!"))
+
+ if(armed)
+ to_chat(user, SPAN_WARNING("\The [src] has been already deployed!"))
+
+ else
+ if(!user.put_in_hands(gun))
+ to_chat(user, SPAN_WARNING("You need a free hand to hold \the [gun]!"))
+ return
+
+ armed = TRUE
+ update_icon()
+ user.update_inv_back()
+
+/obj/item/laserpack/equipped(mob/user, slot)
+ ..()
+ if(slot != slot_back) // if we're not wearing it, remove it
+ remove_gun()
+ user.update_inv_back()
+
+/obj/item/laserpack/proc/remove_gun()
+ if(!gun)
+ return
+ if(ismob(gun.loc))
+ var/mob/M = gun.loc
+ if(M.drop_from_inventory(gun, src))
+ update_icon()
+ else
+ gun.forceMove(src)
+ update_icon()
+
+ armed = FALSE
+ return
+
+/obj/item/laserpack/Destroy()
+ if(gun)
+ QDEL_NULL(gun)
+ return ..()
+
+/obj/item/laserpack/attackby(obj/item/attacking_item, mob/user, params) // if you hit the pack with the gun, "stow" it
+ if(use_check_and_message(user) && attacking_item == gun)
+ remove_gun()
+ update_icon()
+ user.update_inv_back()
+ return TRUE
+ else
+ return ..()
+
+/obj/item/gun/energy/galatea
+ name = "galatean laser rifle"
+ desc = "The Galatean O61-B, an export model of their advanced Mark 61 Infantry Rifle."
+ desc_extended = "Galatean soldiers are heavily bioaugmented, combining soldier and weapon into a cohesive unit. The Mark 61 Infantry Rifle is one such example, drawing on the bioelectricity of the human body \
+ through an implant with which to power the gun. Unaugmented users complained of headaches, lethargy, and impossible dreams; The O61B has integrated the bioaugments into the firing mechanism, preventing 'baselines' \
+ from even using it. Luckily, this is an export version, the O61-B, which allows foreign users a taste of advanced Technocracy weaponry for the low price of a single bioaugment."
+ icon = 'icons/obj/guns/galatea_laser.dmi'
+ icon_state = "galatealaser"
+ item_state = "galatealaser"
+ slot_flags = 0
+ has_icon_ratio = FALSE
+ has_item_ratio = FALSE
+ fire_sound = 'sound/weapons/laser3.ogg'
+ needspin = FALSE
+ origin_tech = null
+ charge_meter = FALSE
+ projectile_type = /obj/item/projectile/beam/xray // can't wear a hardsuit, and it's only 15 damage with a lot of AP
+ charge_cost = 100
+ max_shots = 20
+ self_recharge = 1 // bioreactor in the backpack; not entirely defenseless against EMPs
+ fire_delay = 35
+ burst_delay = 2
+ can_turret = 0
+
+ is_wieldable = TRUE
+
+ fire_delay_wielded = 10
+ accuracy_wielded = 0
+
+ var/obj/item/laserpack/source
+
+
+/obj/item/gun/energy/galatea/dropped(mob/user) // the gun is part of the backpack; prevent weirdness
+ ..()
+ if(source)
+ to_chat(user, SPAN_NOTICE("\The [src] snaps back onto \the [source]"))
+ INVOKE_ASYNC(source, TYPE_PROC_REF(/obj/item/laserpack, remove_gun))
+ source.update_icon()
+ user.update_inv_back()
+
+/obj/item/gun/energy/galatea/Move()
+ ..()
+ if(loc != source.loc)
+ INVOKE_ASYNC(source, TYPE_PROC_REF(/obj/item/laserpack, remove_gun)) // prevent even weirder shit
+
+/obj/item/gun/energy/galatea/special_check(var/mob/user) // if you don't have the implant, you get one shot before you get floored (thanks matt)
+ var/obj/item/implant/export_lasgun/E = locate() in user
+ if(E)
+ return TRUE
+ else
+ var/pain_message = pick("All the energy leaves your body with a sickening 'crack'!",
+ "You collapse, like a puppet with its strings cut!",
+ "You're forced to your knees, vision swimming!")
+
+ to_chat(user, SPAN_WARNING("[pain_message]"))
+ user.Weaken(10)
+ return TRUE
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index a696420b548..19e11f5202e 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -211,6 +211,33 @@
w_class = ITEMSIZE_NORMAL
force = 11
+/obj/item/gun/projectile/shotgun/doublebarrel/nitro
+ name = "gauss express rifle"
+ desc = "A Galatean nitro express rifle. Loaded with tungsten slugs."
+ desc_extended = "While Galatea almost universally uses lasers for their weapons, gauss weapons see some use in the hands of expeditionary forces and military specialist units. The Pattern Nine is a single-barrel, double-shot \
+ rifle designed for intermediate range anti-infantry specialists just as much as it is for Tsukuyomian game wardens."
+ icon = 'icons/obj/guns/galatea_nitro.dmi'
+ icon_state = "nitrorifle"
+ item_state = "nitrorifle"
+ //SPEEDLOADER because rapid unloading.
+ //In principle someone could make a speedloader for it, so it makes sense.
+ load_method = SINGLE_CASING|SPEEDLOADER
+ handle_casings = CYCLE_CASINGS
+ max_shells = 2
+ w_class = ITEMSIZE_LARGE
+ force = 10
+ obj_flags = OBJ_FLAG_CONDUCTABLE
+ is_wieldable = TRUE
+ has_wield_state = TRUE
+ slot_flags = SLOT_BACK
+ caliber = "gauss"
+ origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 1)
+ ammo_type = /obj/item/ammo_casing/gauss
+ fire_sound = /singleton/sound_category/gauss_fire_sound
+ fire_delay = ROF_INTERMEDIATE
+
+ can_sawoff = FALSE
+
/obj/item/gun/projectile/shotgun/foldable
name = "foldable shotgun"
desc = "A single-shot shotgun that can be folded for easy concealment."
diff --git a/html/changelogs/crunchypretzels - coalitionguns.yml b/html/changelogs/crunchypretzels - coalitionguns.yml
new file mode 100644
index 00000000000..8999ff798be
--- /dev/null
+++ b/html/changelogs/crunchypretzels - coalitionguns.yml
@@ -0,0 +1,41 @@
+################################
+# 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
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: crunchypretzels
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Added several new Coalition weapons, along with the necessary equipment to use them."
diff --git a/icons/obj/guns/galatea_laser.dmi b/icons/obj/guns/galatea_laser.dmi
new file mode 100644
index 00000000000..14da073141d
Binary files /dev/null and b/icons/obj/guns/galatea_laser.dmi differ
diff --git a/icons/obj/guns/galatea_nitro.dmi b/icons/obj/guns/galatea_nitro.dmi
new file mode 100644
index 00000000000..649e0300676
Binary files /dev/null and b/icons/obj/guns/galatea_nitro.dmi differ
diff --git a/icons/obj/guns/himeo_blaster.dmi b/icons/obj/guns/himeo_blaster.dmi
new file mode 100644
index 00000000000..427d465393e
Binary files /dev/null and b/icons/obj/guns/himeo_blaster.dmi differ
diff --git a/icons/obj/guns/himeo_pistol.dmi b/icons/obj/guns/himeo_pistol.dmi
new file mode 100644
index 00000000000..c65bb043084
Binary files /dev/null and b/icons/obj/guns/himeo_pistol.dmi differ
diff --git a/icons/obj/machinery/cell_charger.dmi b/icons/obj/machinery/cell_charger.dmi
index fdf0f20ba6c..fcc612b4392 100644
Binary files a/icons/obj/machinery/cell_charger.dmi and b/icons/obj/machinery/cell_charger.dmi differ