mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-25 16:45:42 +00:00
Adds Medieval Pirates (and small assault_pod change) (#82392)
## About The Pull Request (short, slightly outdated video compilation of the pirates) https://youtu.be/j9BNFzcUSjc Adds the **MEDIEVAL WARMONGERS** pirate gang, these pirates are focused on causing chaos directly on the station with the use of melee weaponry and swarming tactics. they are not very smart when it comes to using technology, so they crash in the station in an attempt to dock. the pirates spawn with the NOGUN trait as they have never used guns before but have access to dashing and the unbreakable component(small heal burst upon reaching crit). Warlord spawns with a better version of hulk(isnt removed upon crit and can still do stuff while critted) and gigantism mutation by default because ~~Chad Maximus~~ the other pirates require someone to run to when stuff like flashbangs, batons or lasers are present. The warlord spawns with a boarding axe which is a better axe that is good at destroying things and a meat hook. **there's a total of 5 pirates.** the pirate shuttle has: - thermite barrel and 3 large beakers - single weak claymore - 3 extra military spears - 3 kite shields - 3 heavy bolas - 4 regular bolas - a stack of wood - 2 stacks of mourning poultice (15 uses each) - one burn medkit **shuttle was made by striders18, big thanks to him**  things added: - the new pirate gang - a gamberson jumpsuit - crude armor (good melee and wound protection but lacks on the rest) - warlord armor (extreme protection at the cost of slowdown) - a shortsword(bootleg claymore with 30 block chance and goes on belt instead of back) - military spear (better at throwing, better wounding, deals blunt wounds instead of sharp) - axe with better damage and demolition mod for the warlord - a var to specify the name of the landing zone destination for the assaultpod - an assault pod targeting device item for the medieval shuttle - a thermite barrel - kite shields - new hulk variant that doesnt go away when crit and has tenacity ## Why It's Good For The Game I always liked the chaotic nature of the russian bounty hunters that would come from their extra numbers and lack of tools. i thought something of a similar idea on pirates would be good, a very direct and scary militia rushing in with sword and faith would create some awesome scenarios ## Changelog 🆑 add: New heavy weight pirates, medieval warmongers add: Adds military spear, shortsword, boarding axe, kite shields add: Adds warlord and crude armor add: Adds medieval shuttle (made by striders18) /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
@@ -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.)"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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]"
|
||||
|
||||
Reference in New Issue
Block a user