diff --git a/_maps/shuttles/pirate_medieval.dmm b/_maps/shuttles/pirate_medieval.dmm
new file mode 100644
index 00000000000..03441b8a652
--- /dev/null
+++ b/_maps/shuttles/pirate_medieval.dmm
@@ -0,0 +1,535 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/template_noop)
+"b" = (
+/obj/structure/table/wood,
+/obj/item/stack/sheet/mineral/wood/fifty{
+ pixel_y = 4
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"c" = (
+/obj/structure/fake_stairs/wood/directional/east,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"d" = (
+/obj/structure/fake_stairs/wood/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/obj/structure/mineral_door/gold,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"e" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/trash/botanical_waste,
+/obj/effect/spawner/random/trash/garbage,
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"f" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/trash/garbage,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"g" = (
+/obj/structure/fans/tiny,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/structure/mineral_door/iron,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"h" = (
+/obj/structure/table/wood,
+/obj/item/spear/military{
+ pixel_y = 8;
+ pixel_x = -7
+ },
+/obj/item/spear/military{
+ pixel_y = 1;
+ pixel_x = -6
+ },
+/obj/item/spear/military{
+ pixel_y = -2;
+ pixel_x = 1
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"j" = (
+/obj/item/flashlight/lantern{
+ light_on = 1
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"k" = (
+/obj/structure/table/wood,
+/obj/item/restraints/legcuffs/bola/tactical,
+/obj/item/restraints/legcuffs/bola/tactical,
+/obj/item/restraints/legcuffs/bola/tactical,
+/obj/item/restraints/legcuffs/bola,
+/obj/item/restraints/legcuffs/bola,
+/obj/item/restraints/legcuffs/bola,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"l" = (
+/obj/structure/fans/tiny,
+/obj/structure/mineral_door/iron,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"m" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/arrows{
+ dir = 8
+ },
+/obj/effect/spawner/random/trash/cigbutt,
+/obj/effect/spawner/random/trash/botanical_waste,
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval,
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"n" = (
+/obj/effect/decal/cleanable/vomit/old,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"o" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/arrows{
+ dir = 4
+ },
+/obj/effect/spawner/random/trash/mess,
+/obj/effect/spawner/random/trash/garbage,
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval,
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"p" = (
+/turf/closed/wall/mineral/wood,
+/area/shuttle/pirate)
+"q" = (
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval/warlord,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"r" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/trash/garbage,
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"s" = (
+/obj/structure/fans/tiny,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/docking_port/mobile/pirate{
+ launch_status = 0;
+ movement_force = list("KNOCKDOWN"=0,"THROW"=0);
+ name = "Pirate Ship";
+ port_direction = 2
+ },
+/obj/docking_port/stationary{
+ dwidth = 11;
+ height = 16;
+ shuttle_id = "pirate_home";
+ name = "Deep Space";
+ width = 17
+ },
+/obj/structure/mineral_door/iron,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"u" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/blood/gibs/limb,
+/obj/effect/decal/cleanable/blood/gibs/body,
+/obj/item/food/meat/slab/human/mutant/zombie,
+/obj/item/kitchen/fork,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"v" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/trash/garbage,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"w" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"x" = (
+/obj/structure/fake_stairs/wood/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/obj/structure/mineral_door/gold,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"y" = (
+/obj/machinery/shuttle_scrambler,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"z" = (
+/obj/structure/fans/tiny,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/mineral_door/iron,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"A" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/reagent_containers/cup/glass/bottle/vodka,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"C" = (
+/obj/machinery/airalarm/directional/west,
+/obj/effect/mapping_helpers/airalarm/all_access,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"D" = (
+/obj/machinery/piratepad,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"E" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/structure/barricade/wooden/crude,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"F" = (
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"G" = (
+/obj/machinery/computer/piratepad_control,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"H" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/chair/wood/wings,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"I" = (
+/obj/structure/fake_stairs/wood/directional/west,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"J" = (
+/obj/effect/decal/cleanable/blood/gibs/old,
+/obj/item/food/burger/human,
+/obj/structure/table/wood,
+/obj/item/reagent_containers/cup/glass/bottle/rum{
+ pixel_y = 15;
+ pixel_x = -4
+ },
+/obj/item/reagent_containers/cup/glass/bottle/rum{
+ pixel_y = 8;
+ pixel_x = 8
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"K" = (
+/obj/structure/table/wood,
+/obj/item/stack/medical/poultice{
+ pixel_y = 6;
+ pixel_x = -3
+ },
+/obj/item/stack/medical/poultice{
+ pixel_y = -3;
+ pixel_x = 5
+ },
+/obj/item/storage/medkit/fire,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"L" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"M" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/effect/spawner/random/trash/graffiti,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/spawner/random/trash/garbage,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"N" = (
+/obj/machinery/computer/shuttle/pirate/drop_pod,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"O" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/fermenting_barrel/thermite,
+/obj/item/reagent_containers/cup/beaker/large,
+/obj/item/reagent_containers/cup/beaker/large,
+/obj/item/reagent_containers/cup/beaker/large,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"P" = (
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"Q" = (
+/obj/structure/closet/cabinet,
+/obj/item/claymore,
+/obj/item/shield/kite,
+/obj/item/shield/kite,
+/obj/item/shield/kite,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"R" = (
+/obj/machinery/atmospherics/components/tank/air{
+ dir = 1
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"S" = (
+/obj/structure/frame/computer{
+ anchored = 1
+ },
+/obj/item/assault_pod/medieval,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"T" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"U" = (
+/obj/machinery/loot_locator,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"V" = (
+/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium,
+/obj/structure/barricade/wooden/crude,
+/turf/open/floor/plating,
+/area/shuttle/pirate)
+"W" = (
+/obj/structure/table/wood,
+/obj/item/radio/intercom{
+ pixel_y = 5
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"X" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
+ dir = 4
+ },
+/obj/structure/table/wood,
+/obj/item/bodypart/head/skeleton{
+ pixel_x = -6
+ },
+/obj/item/bodypart/head/skeleton{
+ pixel_y = -2;
+ pixel_x = 5
+ },
+/obj/item/bodypart/head/skeleton{
+ pixel_x = 1;
+ pixel_y = 8
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"Y" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+"Z" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/flashlight/lantern{
+ light_on = 1
+ },
+/turf/open/floor/stone,
+/area/shuttle/pirate)
+
+(1,1,1) = {"
+a
+a
+p
+p
+l
+p
+p
+p
+a
+"}
+(2,1,1) = {"
+a
+a
+g
+f
+o
+r
+A
+s
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+I
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+p
+p
+p
+p
+x
+p
+E
+p
+a
+"}
+(5,1,1) = {"
+a
+E
+R
+X
+T
+C
+Q
+p
+p
+"}
+(6,1,1) = {"
+p
+p
+W
+F
+T
+j
+Y
+h
+E
+"}
+(7,1,1) = {"
+a
+E
+N
+Y
+T
+Y
+F
+k
+p
+"}
+(8,1,1) = {"
+V
+V
+S
+P
+q
+L
+F
+F
+l
+"}
+(9,1,1) = {"
+a
+E
+y
+F
+w
+n
+H
+b
+p
+"}
+(10,1,1) = {"
+p
+p
+U
+F
+w
+Z
+u
+K
+E
+"}
+(11,1,1) = {"
+a
+E
+G
+D
+T
+O
+J
+p
+p
+"}
+(12,1,1) = {"
+p
+p
+p
+p
+d
+p
+E
+p
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+c
+a
+a
+a
+a
+"}
+(14,1,1) = {"
+a
+a
+z
+M
+m
+e
+v
+z
+a
+"}
+(15,1,1) = {"
+a
+a
+p
+p
+l
+p
+p
+p
+a
+"}
diff --git a/code/datums/components/crafting/entertainment.dm b/code/datums/components/crafting/entertainment.dm
index 370a98a7bfb..7bc2222b142 100644
--- a/code/datums/components/crafting/entertainment.dm
+++ b/code/datums/components/crafting/entertainment.dm
@@ -112,6 +112,7 @@
/obj/item/spear/explosive,
/obj/item/spear/bonespear,
/obj/item/spear/bamboospear,
+ /obj/item/spear/military,
)
result = /obj/structure/headpike
category = CAT_ENTERTAINMENT
@@ -144,6 +145,20 @@
result = /obj/structure/headpike/bamboo
category = CAT_ENTERTAINMENT
+/datum/crafting_recipe/headpikemilitary
+ name = "Spike Head (Military)"
+ time = 6.5 SECONDS
+ reqs = list(
+ /obj/item/spear/military = 1,
+ /obj/item/bodypart/head = 1,
+ )
+ parts = list(
+ /obj/item/bodypart/head = 1,
+ /obj/item/spear/military = 1,
+ )
+ result = /obj/structure/headpike/military
+ category = CAT_ENTERTAINMENT
+
/datum/crafting_recipe/guillotine
name = "Guillotine"
result = /obj/structure/guillotine
diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm
index 5db06560964..63e0abc22a3 100644
--- a/code/datums/mutations/hulk.dm
+++ b/code/datums/mutations/hulk.dm
@@ -277,4 +277,22 @@
TRAIT_STUNIMMUNE,
) // no chunk
+/datum/mutation/human/hulk/superhuman
+ health_req = 0
+ instability = 0
+ /// List of traits to add/remove when someone gets this mutation.
+ mutation_traits = list(
+ TRAIT_CHUNKYFINGERS,
+ TRAIT_HULK,
+ TRAIT_IGNOREDAMAGESLOWDOWN,
+ TRAIT_NOSOFTCRIT,
+ TRAIT_NOHARDCRIT,
+ TRAIT_PUSHIMMUNE,
+ TRAIT_STUNIMMUNE,
+ TRAIT_ANALGESIA,
+ ) // fight till your last breath
+
+/datum/mutation/human/hulk/superhuman/on_life(seconds_per_tick, times_fired)
+ return
+
#undef HULK_TAILTHROW_STEPS
diff --git a/code/datums/shuttles/pirate.dm b/code/datums/shuttles/pirate.dm
index c6f94b5684b..99f866d23fc 100644
--- a/code/datums/shuttles/pirate.dm
+++ b/code/datums/shuttles/pirate.dm
@@ -29,3 +29,7 @@
/datum/map_template/shuttle/pirate/geode
suffix = "geode"
name = "pirate ship (Lustrous Geode)"
+
+/datum/map_template/shuttle/pirate/medieval
+ suffix = "medieval"
+ name = "pirate ship (Siege Pod)"
diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm
index 901e506194e..2859b4d3b2c 100644
--- a/code/game/objects/items/fireaxe.dm
+++ b/code/game/objects/items/fireaxe.dm
@@ -86,3 +86,13 @@
tool_behaviour = TOOL_CROWBAR
toolspeed = 1
usesound = 'sound/items/crowbar.ogg'
+
+//boarding axe
+/obj/item/fireaxe/boardingaxe
+ icon_state = "boarding_axe0"
+ base_icon_state = "boarding_axe"
+ name = "boarding axe"
+ desc = "A hulking cleaver that feels like a burden just looking at it. Seems excellent at halving obstacles like windows, airlocks, barricades and people."
+ force_unwielded = 5
+ force_wielded = 30
+ demolition_mod = 3
diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm
index 66dd5a34b6a..2cc41b5d9f2 100644
--- a/code/game/objects/items/shields.dm
+++ b/code/game/objects/items/shields.dm
@@ -99,6 +99,15 @@
max_integrity = 55
w_class = WEIGHT_CLASS_NORMAL
+/obj/item/shield/kite
+ name = "kite shield"
+ desc = "Protect your internal organs with this almond shaped shield."
+ icon_state = "kite"
+ inhand_icon_state = "kite"
+ custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 15)
+ shield_break_sound = 'sound/effects/grillehit.ogg'
+ max_integrity = 60
+
/obj/item/shield/roman
name = "\improper Roman shield"
desc = "Bears an inscription on the inside: \"Romanes venio domus\"."
diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm
index 401ffd46934..f4c0b58a11b 100644
--- a/code/game/objects/items/spear.dm
+++ b/code/game/objects/items/spear.dm
@@ -216,6 +216,31 @@
M.Copy_Parent(user, 100, user.health/2.5, 12, 30)
M.GiveTarget(L)
+//MILITARY
+/obj/item/spear/military
+ icon_state = "military_spear0"
+ base_icon_state = "military_spear0"
+ icon_prefix = "military_spear"
+ name = "military Javelin"
+ desc = "A stick with a seemingly blunt spearhead on its end. Looks like it might break bones easily."
+ attack_verb_continuous = list("attacks", "pokes", "jabs")
+ attack_verb_simple = list("attack", "poke", "jab")
+ throwforce = 30
+ demolition_mod = 1
+ wound_bonus = 5
+ bare_wound_bonus = 25
+ throw_range = 9
+ throw_speed = 5
+ sharpness = NONE // we break bones instead of cutting flesh
+
+/obj/item/spear/military/add_headpike_component()
+ var/static/list/slapcraft_recipe_list = list(/datum/crafting_recipe/headpikemilitary)
+
+ AddComponent(
+ /datum/component/slapcrafting,\
+ slapcraft_recipes = slapcraft_recipe_list,\
+ )
+
/*
* Bone Spear
*/
diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index 2aa649844e5..f7717da19e7 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -175,6 +175,18 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
block_chance = 10
resistance_flags = NONE
+//bootleg claymore
+/obj/item/claymore/shortsword
+ name = "shortsword"
+ desc = "A mercenary's sword, chipped and worn from battles long gone. You could say it is a swordsman's shortsword short sword."
+ icon_state = "shortsword"
+ inhand_icon_state = "shortsword"
+ worn_icon_state = "shortsword"
+ slot_flags = ITEM_SLOT_BELT
+ force = 20
+ demolition_mod = 0.75
+ block_chance = 30
+
/obj/item/claymore/highlander //ALL COMMENTS MADE REGARDING THIS SWORD MUST BE MADE IN ALL CAPS
desc = "THERE CAN BE ONLY ONE, AND IT WILL BE YOU!!!\nActivate it in your hand to point to the nearest victim."
obj_flags = CONDUCTS_ELECTRICITY
diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm
index 0c29d92d53b..b4cffdb654d 100644
--- a/code/game/objects/structures/headpike.dm
+++ b/code/game/objects/structures/headpike.dm
@@ -17,6 +17,10 @@
icon_state = "headpike-bamboo"
speartype = /obj/item/spear/bamboospear
+/obj/structure/headpike/military //for military spears
+ icon_state = "headpike-military"
+ speartype = /obj/item/spear/military
+
/obj/structure/headpike/Initialize(mapload)
. = ..()
if(mapload)
diff --git a/code/modules/antagonists/pirate/pirate_gangs.dm b/code/modules/antagonists/pirate/pirate_gangs.dm
index 5016683c5ea..aef8222a993 100644
--- a/code/modules/antagonists/pirate/pirate_gangs.dm
+++ b/code/modules/antagonists/pirate/pirate_gangs.dm
@@ -205,3 +205,25 @@ GLOBAL_LIST_INIT(heavy_pirate_gangs, init_pirate_gangs(is_heavy = TRUE))
response_too_late = "You were not ready then, and now that time has passed. We can only go forward, never back."
response_not_enough = "You have insulted us, but there shall be no feud, only swift justice!"
announcement_color = "purple"
+
+//medieval militia, from OUTER SPACE!
+/datum/pirate_gang/medieval
+ name = "Medieval Warmongers"
+
+ is_heavy_threat = TRUE
+ ship_template_id = "medieval"
+ ship_name_pool = "medieval_names"
+
+ threat_title = "HOMAGE PAYMENT REQUEST"
+ threat_content = "SALUTATIONS, THIS IS %SHIPNAME AND WE ARE COLLECTING MONEY \
+ FROM THE VASSALS IN OUR TERRITORY, YOU JUST SO HAPPEN TO BE IN IT TOO!! NORMALLY \
+ WE SLAUGHTER WEAKLINGS LIKE YOU FOR TRESPASING ON OUR LAND, BUT WE ARE WILLING \
+ TO WELCOME YOU INTO OUR SPACE IF YOU PAY %PAYOFF AS HOMAGE TO OUR LAW. BE WISE ON YOUR CHOICE!! \
+ (send message. send message. why message not sent?)."
+ arrival_announcement = "I FIGURED OUT HOW TO FLY MY SHIP, WE WILL BE DOCKING NEXT TO YOU IN A MINUTE!!"
+ possible_answers = list("Please don't hurt me.","You are dumb, go larp somewhere else.")
+
+ response_received = "THIS WILL SUFFICE, REMEMBER WHO OWNS YOU!!"
+ response_rejected = "FOOLISH DECISION, I'LL MAKE AN EXAMPLE OUT OF YOUR CARCASS!! (does anyone remember how to pilot our ship?)"
+ response_too_late = "YOU ARE ALREADY UNDER SIEGE YOU BUFFON, ARE YOU BRAINSICK OR IGNORANT?!!"
+ response_not_enough = "DO THINK OF ME AS A JESTER? YOU ARE DEAD MEAT!! (i forgot how to fly the ship, tarnation.)"
diff --git a/code/modules/antagonists/pirate/pirate_outfits.dm b/code/modules/antagonists/pirate/pirate_outfits.dm
index 4c73cac107f..15a3d4fe2dc 100644
--- a/code/modules/antagonists/pirate/pirate_outfits.dm
+++ b/code/modules/antagonists/pirate/pirate_outfits.dm
@@ -148,3 +148,34 @@
glasses = null
suit = /obj/item/clothing/suit/jacket/oversized
head = /obj/item/clothing/head/costume/crown
+
+/datum/outfit/pirate/medieval
+ name = "Medieval Warmonger"
+
+ id = null
+ glasses = null
+ uniform = /obj/item/clothing/under/costume/gamberson/military
+ suit = /obj/item/clothing/suit/armor/vest/military
+ suit_store = /obj/item/spear/military
+ back = /obj/item/storage/backpack/satchel/leather
+ gloves = /obj/item/clothing/gloves/color/brown
+ head = /obj/item/clothing/head/helmet/military
+ mask = /obj/item/clothing/mask/balaclava
+ shoes = /obj/item/clothing/shoes/workboots
+ belt = /obj/item/claymore/shortsword
+ l_pocket = /obj/item/flashlight/flare/torch
+
+/datum/outfit/pirate/medieval/warlord
+ name = "Medieval Warlord"
+
+ neck = /obj/item/bedsheet/pirate
+ suit = /obj/item/clothing/suit/armor/riot/knight/warlord
+ suit_store = null
+ back = /obj/item/fireaxe/boardingaxe
+ gloves = /obj/item/clothing/gloves/combat
+ head = /obj/item/clothing/head/helmet/knight/warlord
+ mask = /obj/item/clothing/mask/breath
+ shoes = /obj/item/clothing/shoes/bronze
+ belt = /obj/item/gun/magic/hook
+ l_pocket = /obj/item/tank/internals/emergency_oxygen
+ r_pocket = /obj/item/flashlight/lantern
diff --git a/code/modules/antagonists/pirate/pirate_roles.dm b/code/modules/antagonists/pirate/pirate_roles.dm
index 64baa724db1..78a3d3fd12a 100644
--- a/code/modules/antagonists/pirate/pirate_roles.dm
+++ b/code/modules/antagonists/pirate/pirate_roles.dm
@@ -191,3 +191,33 @@
/obj/effect/mob_spawn/ghost_role/human/pirate/lustrous/gunner
rank = "Coruscant"
+
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval
+ name = "\improper Improvised sleeper"
+ desc = "A body bag poked with holes, currently being used as a sleeping bag. Someone seems to be sleeping inside of it."
+ density = FALSE
+ you_are_text = "You were a nobody before, until you were given a sword and the opportunity to rise up in ranks. If you put some effort, you can make it big!"
+ flavour_text = "Raiding some cretins while engaging in bloodsport and violence? what a deal. Stay together and pillage everything!"
+ icon = 'icons/obj/medical/bodybag.dmi'
+ icon_state = "bodybag"
+ fluff_spawn = null
+ prompt_name = "a medieval warmonger"
+ outfit = /datum/outfit/pirate/medieval
+ rank = "Footsoldier"
+
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval/special(mob/living/carbon/spawned_mob)
+ . = ..()
+ if(rank == "Footsoldier")
+ ADD_TRAIT(spawned_mob, TRAIT_NOGUNS, INNATE_TRAIT)
+ spawned_mob.AddComponent(/datum/component/unbreakable)
+ var/datum/action/cooldown/mob_cooldown/dash/dodge = new(spawned_mob)
+ dodge.Grant(spawned_mob)
+
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval/warlord
+ rank = "Warlord"
+ outfit = /datum/outfit/pirate/medieval/warlord
+
+/obj/effect/mob_spawn/ghost_role/human/pirate/medieval/warlord/special(mob/living/carbon/spawned_mob)
+ . = ..()
+ spawned_mob.dna.add_mutation(/datum/mutation/human/hulk/superhuman)
+ spawned_mob.dna.add_mutation(/datum/mutation/human/gigantism)
diff --git a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
index 04ebab73cbd..eaa1de48b58 100644
--- a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
+++ b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
@@ -96,6 +96,9 @@
light_color = COLOR_SOFT_RED
possible_destinations = "pirate_away;pirate_home;pirate_custom"
+/obj/machinery/computer/shuttle/pirate/drop_pod
+ possible_destinations = "null"
+
/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate
name = "pirate shuttle navigation computer"
desc = "Used to designate a precise transit location for the pirate shuttle."
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index 61bfa3dfe04..0122cda3978 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -524,3 +524,48 @@
fire = 65
acid = 40
wound = 15
+
+/obj/item/clothing/head/helmet/military
+ name = "Crude Helmet"
+ desc = "A cheaply made kettle helmet with an added faceplate to protect your eyes and mouth."
+ icon_state = "military"
+ inhand_icon_state = "knight_helmet"
+ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT
+ flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF
+ strip_delay = 80
+ dog_fashion = null
+ armor_type = /datum/armor/helmet_military
+
+/datum/armor/helmet_military
+ melee = 45
+ bullet = 25
+ laser = 25
+ energy = 25
+ bomb = 25
+ fire = 10
+ acid = 50
+ wound = 20
+
+/obj/item/clothing/head/helmet/military/Initialize(mapload)
+ . = ..()
+ AddComponent(/datum/component/clothing_fov_visor, FOV_90_DEGREES)
+
+/obj/item/clothing/head/helmet/knight/warlord
+ name = "golden barbute helmet"
+ desc = "There is no man behind the helmet, only a terrible thought."
+ icon_state = "warlord"
+ inhand_icon_state = null
+ armor_type = /datum/armor/helmet_warlord
+ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
+ flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF
+ slowdown = 0.2
+
+/datum/armor/helmet_warlord
+ melee = 70
+ bullet = 60
+ laser = 70
+ energy = 70
+ bomb = 40
+ fire = 50
+ acid = 50
+ wound = 30
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 32bf993cf9b..b12a220c2f0 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -688,3 +688,48 @@
fire = 40
acid = 50
wound = 30
+
+/obj/item/clothing/suit/armor/vest/military
+ name = "Crude chestplate"
+ desc = "It may look rough, rusty and battered, but it's also made out of junk and uncomfortable to wear."
+ icon_state = "military"
+ inhand_icon_state = "armor"
+ dog_fashion = null
+ armor_type = /datum/armor/military
+ allowed = list(
+ /obj/item/banner,
+ /obj/item/claymore/shortsword,
+ /obj/item/nullrod,
+ /obj/item/spear,
+ /obj/item/gun/ballistic/bow
+ )
+
+/datum/armor/military
+ melee = 45
+ bullet = 25
+ laser = 25
+ energy = 25
+ bomb = 25
+ fire = 10
+ acid = 50
+ wound = 20
+
+/obj/item/clothing/suit/armor/riot/knight/warlord
+ name = "golden plate armor"
+ desc = "This bulky set of armor is coated with a shiny layer of gold. It seems to almost reflect all light sources."
+ icon_state = "warlord"
+ inhand_icon_state = null
+ armor_type = /datum/armor/armor_warlord
+ w_class = WEIGHT_CLASS_BULKY
+ clothing_flags = THICKMATERIAL
+ slowdown = 0.8
+
+/datum/armor/armor_warlord
+ melee = 70
+ bullet = 60
+ laser = 70
+ energy = 70
+ bomb = 40
+ fire = 50
+ acid = 50
+ wound = 30
diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm
index 9259bc78c96..080d1afe70a 100644
--- a/code/modules/clothing/under/costume.dm
+++ b/code/modules/clothing/under/costume.dm
@@ -428,3 +428,17 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS|HEAD
flags_inv = HIDEGLOVES|HIDESHOES|HIDEEARS|HIDEEYES|HIDEHAIR
+/obj/item/clothing/under/costume/gamberson
+ name = "re-enactor's Gamberson"
+ desc = "A colorful set of clothes made to look like a medieval gamberson."
+ icon_state = "gamberson"
+ inhand_icon_state = null
+ female_sprite_flags = NO_FEMALE_UNIFORM
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/gamberson/military
+ name = "swordsman's Gamberson"
+ desc = "A padded medieval gamberson. Has enough woolen layers to dull a strike from any small weapon."
+ armor_type = /datum/armor/clothing_under/rank_security
+ has_sensor = NO_SENSORS
+
diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm
index a971b2b6a74..676c0cec7bb 100644
--- a/code/modules/hydroponics/fermenting_barrel.dm
+++ b/code/modules/hydroponics/fermenting_barrel.dm
@@ -163,3 +163,13 @@
/obj/structure/fermenting_barrel/gunpowder/Initialize(mapload)
. = ..()
reagents.add_reagent(/datum/reagent/gunpowder, 500)
+
+/// Medieval pirates can have a barrel as a treat
+/obj/structure/fermenting_barrel/thermite
+ name = "thermite barrel"
+ desc = "A large wooden barrel for holding thermite. Use this to make a big flipping hole on walls."
+ can_open = FALSE
+
+/obj/structure/fermenting_barrel/thermite/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent(/datum/reagent/thermite, 500)
diff --git a/code/modules/shuttle/assault_pod.dm b/code/modules/shuttle/assault_pod.dm
index b628d7c5d84..d9a21cf5e23 100644
--- a/code/modules/shuttle/assault_pod.dm
+++ b/code/modules/shuttle/assault_pod.dm
@@ -28,6 +28,7 @@
var/width = 7
var/height = 7
var/lz_dir = 1
+ var/lzname = "assault_pod"
/obj/item/assault_pod/attack_self(mob/living/user)
@@ -45,8 +46,8 @@
return
var/turf/T = pick(turfs)
var/obj/docking_port/stationary/landing_zone = new /obj/docking_port/stationary(T)
- landing_zone.shuttle_id = "assault_pod([REF(src)])"
- landing_zone.port_destinations = "assault_pod([REF(src)])"
+ landing_zone.shuttle_id = "[lzname]([REF(src)])"
+ landing_zone.port_destinations = "[lzname]([REF(src)])"
landing_zone.name = "Landing Zone"
landing_zone.dwidth = dwidth
landing_zone.dheight = dheight
@@ -61,3 +62,23 @@
to_chat(user, span_notice("Landing zone set."))
qdel(src)
+
+/obj/item/assault_pod/medieval //for the medieval pirates
+ name = "Shuttle placement designator"
+ icon = 'icons/obj/scrolls.dmi'
+ icon_state = "blueprints"
+ inhand_icon_state = null
+ desc = "A map of the station used to select where you want to land your shuttle."
+ shuttle_id = "pirate"
+ dwidth = 1
+ dheight = 1
+ width = 15
+ height = 9
+ lzname = "pirate"
+
+/obj/item/assault_pod/medieval/Initialize(mapload)
+ . = ..()
+ var/counter = length(SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/computer/shuttle/pirate))
+ if(counter != 1)
+ shuttle_id = "[shuttle_id]_[counter]"
+ lzname = "[lzname] [counter]"
diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi
index 1b597f0d33d..30469c85dae 100644
Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ
diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi
index f21f3ad3dbb..b0e74178ce1 100644
Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ
diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi
index 4f7f64db8c6..37658b154db 100644
Binary files a/icons/mob/clothing/belt_mirror.dmi and b/icons/mob/clothing/belt_mirror.dmi differ
diff --git a/icons/mob/clothing/head/helmet.dmi b/icons/mob/clothing/head/helmet.dmi
index 27215178912..74df620a572 100644
Binary files a/icons/mob/clothing/head/helmet.dmi and b/icons/mob/clothing/head/helmet.dmi differ
diff --git a/icons/mob/clothing/suits/armor.dmi b/icons/mob/clothing/suits/armor.dmi
index 90be12b694a..3f51d089d9b 100644
Binary files a/icons/mob/clothing/suits/armor.dmi and b/icons/mob/clothing/suits/armor.dmi differ
diff --git a/icons/mob/clothing/under/costume.dmi b/icons/mob/clothing/under/costume.dmi
index a3b6c7e5050..34703c07058 100644
Binary files a/icons/mob/clothing/under/costume.dmi and b/icons/mob/clothing/under/costume.dmi differ
diff --git a/icons/mob/inhands/equipment/shields_lefthand.dmi b/icons/mob/inhands/equipment/shields_lefthand.dmi
index ce99a16d476..1aa27021b9e 100644
Binary files a/icons/mob/inhands/equipment/shields_lefthand.dmi and b/icons/mob/inhands/equipment/shields_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/shields_righthand.dmi b/icons/mob/inhands/equipment/shields_righthand.dmi
index 1c9c990b43d..4227ba00792 100644
Binary files a/icons/mob/inhands/equipment/shields_righthand.dmi and b/icons/mob/inhands/equipment/shields_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/axes_lefthand.dmi b/icons/mob/inhands/weapons/axes_lefthand.dmi
index 7a0f4fdd592..8352626ce27 100644
Binary files a/icons/mob/inhands/weapons/axes_lefthand.dmi and b/icons/mob/inhands/weapons/axes_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/axes_righthand.dmi b/icons/mob/inhands/weapons/axes_righthand.dmi
index 42cb6350746..7c026e12b66 100644
Binary files a/icons/mob/inhands/weapons/axes_righthand.dmi and b/icons/mob/inhands/weapons/axes_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/polearms_lefthand.dmi b/icons/mob/inhands/weapons/polearms_lefthand.dmi
index f9b43790df7..a1355ed9c40 100644
Binary files a/icons/mob/inhands/weapons/polearms_lefthand.dmi and b/icons/mob/inhands/weapons/polearms_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/polearms_righthand.dmi b/icons/mob/inhands/weapons/polearms_righthand.dmi
index 9f7e6239895..05665fbaf95 100644
Binary files a/icons/mob/inhands/weapons/polearms_righthand.dmi and b/icons/mob/inhands/weapons/polearms_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi
index e0a33fbcee3..6a0520ac9da 100644
Binary files a/icons/mob/inhands/weapons/swords_lefthand.dmi and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi
index fcdac64bdca..29db3057a2a 100644
Binary files a/icons/mob/inhands/weapons/swords_righthand.dmi and b/icons/mob/inhands/weapons/swords_righthand.dmi differ
diff --git a/icons/obj/clothing/head/helmet.dmi b/icons/obj/clothing/head/helmet.dmi
index 3bea00dcdc3..02281abe6a3 100644
Binary files a/icons/obj/clothing/head/helmet.dmi and b/icons/obj/clothing/head/helmet.dmi differ
diff --git a/icons/obj/clothing/suits/armor.dmi b/icons/obj/clothing/suits/armor.dmi
index 4fb7248dbd8..480d6d9102c 100644
Binary files a/icons/obj/clothing/suits/armor.dmi and b/icons/obj/clothing/suits/armor.dmi differ
diff --git a/icons/obj/clothing/under/costume.dmi b/icons/obj/clothing/under/costume.dmi
index 90bdc205d52..85a49d1b330 100644
Binary files a/icons/obj/clothing/under/costume.dmi and b/icons/obj/clothing/under/costume.dmi differ
diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi
index 1bb6689becf..cf6cdbdf0d8 100644
Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ
diff --git a/icons/obj/weapons/fireaxe.dmi b/icons/obj/weapons/fireaxe.dmi
index c89ea533cbe..a4743f680ad 100644
Binary files a/icons/obj/weapons/fireaxe.dmi and b/icons/obj/weapons/fireaxe.dmi differ
diff --git a/icons/obj/weapons/shields.dmi b/icons/obj/weapons/shields.dmi
index 7c4be107566..99e9b06aa40 100644
Binary files a/icons/obj/weapons/shields.dmi and b/icons/obj/weapons/shields.dmi differ
diff --git a/icons/obj/weapons/spear.dmi b/icons/obj/weapons/spear.dmi
index 7262da01c45..7c044d362a7 100644
Binary files a/icons/obj/weapons/spear.dmi and b/icons/obj/weapons/spear.dmi differ
diff --git a/icons/obj/weapons/sword.dmi b/icons/obj/weapons/sword.dmi
index 255c3b0cffd..5dca921bd5b 100644
Binary files a/icons/obj/weapons/sword.dmi and b/icons/obj/weapons/sword.dmi differ
diff --git a/strings/pirates.json b/strings/pirates.json
index 62da040c6be..8eec25a3535 100644
--- a/strings/pirates.json
+++ b/strings/pirates.json
@@ -237,5 +237,22 @@
"Mass of Fermenting Dregs",
"Bloody Valentine",
"Wild Nothing"
+ ],
+ "medieval_names":[
+ "Head Reaper",
+ "The Lords Judgement",
+ "The Judgement",
+ "Peasant Smiter",
+ "Wicked Ravager",
+ "Sheep Reaver",
+ "Never-ending Crusade",
+ "Locus Invicta",
+ "Memento Morieris",
+ "God Conqueror",
+ "Omnium Contra Omnes",
+ "Aries Duo",
+ "Dark Ages Bringer",
+ "Merciless Barricade",
+ "Murder Mcmurderface"
]
}