Dominian Naval Ship (#15333)

This commit is contained in:
TheDanseMacabre
2023-01-07 12:38:55 +01:00
committed by GitHub
parent 5dd429c9dd
commit aac628fdeb
14 changed files with 72294 additions and 0 deletions
+3
View File
@@ -2625,6 +2625,7 @@
#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\lammergeier.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\leviathan.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\longbow.dm"
#include "code\modules\overmap\ship_weaponry\weaponry\longbow_ammo.dm"
@@ -3192,6 +3193,8 @@
#include "maps\away\ships\casino\casino_areas.dm"
#include "maps\away\ships\coc_ranger\coc_ship.dm"
#include "maps\away\ships\coc_ranger\coc_ship_ghostroles.dm"
#include "maps\away\ships\dominia\dominian_corvette.dm"
#include "maps\away\ships\dominia\dominian_corvette_ghostroles.dm"
#include "maps\away\ships\einstein\ee_spy_ship.dm"
#include "maps\away\ships\einstein\ee_spy_ship_ghostroles.dm"
#include "maps\away\ships\elyra\elyra_strike_craft.dm"
+1
View File
@@ -5,6 +5,7 @@
#define SHIP_CALIBER_ZTA "zero-point warp beam"
#define SHIP_CALIBER_178MM "178mm"
#define SHIP_CALIBER_COILGUN "tungsten rod"
#define SHIP_CALIBER_200MM "200mm"
#define SHIP_GUN_FIRING_SUCCESSFUL "firing sequence completed"
#define SHIP_GUN_ERROR_NO_AMMO "no ammunition loaded"
+6
View File
@@ -623,7 +623,13 @@ var/const/access_kataphract_knight = 114
id = access_unathi_pirate
access_type = ACCESS_TYPE_CENTCOM
/var/const/access_iac_rescue_ship = 211
/datum/access/access_iac_rescue_ship
id = access_iac_rescue_ship
access_type = ACCESS_TYPE_CENTCOM
/var/const/access_imperial_fleet_voidsman_ship = 212
/datum/access/access_imperial_fleet_voidsman_ship
id = access_imperial_fleet_voidsman_ship
access_type = ACCESS_TYPE_CENTCOM
@@ -129,6 +129,13 @@
item_state = "zhao_capew"
cape_backing_state = "capew_backing"
/obj/item/clothing/accessory/poncho/dominia_cape/mantle
name = "dominian military cape"
desc = "Commonly worn by enlisted soldiers of the Imperial military, this is - despite its name - part of a tent. It is generally used to protect oneself from rain or other forms of inclement weather."
desc_extended = "Imperial Army half-tents have, since prior to the War of Moroz, been designed to be worn as protection against the elements. Many armsmen carry on this trend in order to maintain their Imperial Army roots, and some go as far to drape these half-tents over their voidsuits."
icon_state = "armsman_mantle"
item_state = "armsman_mantle"
/obj/item/clothing/suit/storage/dominia/consular
name = "Dominian consular officer's greatcoat"
desc = "A Dominian greatcoat issued to members of His Majesty's Diplomatic Service, designed in the typical Dominian fashion."
@@ -538,6 +538,12 @@
species_restricted = list(BODYTYPE_HUMAN)
brightness_on = 6
/obj/item/clothing/head/helmet/space/void/dominia/voidsman
name = "dominian voidsman helmet"
desc = "A Dominian voidsuit helmet issued to imperial fleet voidsmen. Not as flashy as most Dominian equipment tends to be."
icon_state = "voidsmanhelm"
item_state = "voidsmanhelm"
/obj/item/clothing/head/helmet/space/void/dominia/unathi
name = "dominian unathi prejoroub combat helmet"
icon_state = "una_dvoidsuithelm"
@@ -568,6 +574,12 @@
siemens_coefficient = 0.35
species_restricted = list(BODYTYPE_HUMAN)
/obj/item/clothing/suit/space/void/dominia/voidsman
name = "dominian voidsman suit"
desc = "A Dominian voidsuit helmet issued to imperial fleet voidsmen. Not as flashy as most Dominian equipment tends to be."
icon_state = "voidsman"
item_state = "voidsman"
/obj/item/clothing/suit/space/void/dominia/unathi
name = "dominian unathi prejoroub combat suit"
desc = "An offshoot of the Coalition's vulture suit design, painted in Dominian colors with portability and maneuverability in mind over its bulkier counterpart. This variant is fit for an Unathi."
@@ -0,0 +1,39 @@
/obj/machinery/ship_weapon/lammergeier
name = "ZA-98/5 200mm typhoon naval gun"
desc = "One of the most common naval guns produced by the Zhurong Imperial Naval Arsenal, the ZA-98/5 is the fifth revision of a gun which has proudly served the Imperial Fleet since 2398. Produced in cooperation with Zavodskoi Interstellar, the ZA-98/5 features and updates reloading mechanism and further improvements to the ballistic profile of its shots. This naval gun is commonly seen on Imperial Fleet corvettes and frigates as their main armament, and is often seen on larger Fleet vessels as a secondary armament to support larger weaponry. It is easily capable of destroying a smaller vessel if the Goddess ensures its shot flies true."
icon = 'icons/obj/machines/ship_guns/lammergeier.dmi'
icon_state = "weapon_base"
projectile_type = /obj/item/projectile/ship_ammo/lammergeier
heavy_firing_sound = 'sound/weapons/railgun.ogg'
firing_effects = FIRING_EFFECT_FLAG_EXTREMELY_LOUD
screenshake_type = SHIP_GUN_SCREENSHAKE_ALL_MOBS
caliber = SHIP_CALIBER_200MM
/obj/item/ship_ammunition/lammergeier
name = "200mm shell"
name_override = "200mm cannon shell"
desc = "A typhoon cannon shell."
icon = 'icons/obj/guns/ship/ship_ammo_lammergeier.dmi'
icon_state = "shell_ap"
caliber = SHIP_CALIBER_200MM
overmap_icon_state = "cannon"
impact_type = SHIP_AMMO_IMPACT_HE
/obj/item/projectile/ship_ammo/lammergeier
name = "typhoon shell"
icon_state = "heavy"
damage = 10000
armor_penetration = 1000
penetrating = 1
/obj/item/projectile/ship_ammo/lammergeier/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, 3, 6, 8)
/obj/machinery/ammunition_loader/lammergeier
name = "typhoon cannon loader"
@@ -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: TheDanseMacabre
# 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 a Dominian naval corvette along with a cannon and voidsuit for it to use."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

@@ -0,0 +1,160 @@
/datum/map_template/ruin/away_site/dominian_corvette
name = "Dominian Corvette"
description = "One of the most common ships in the Imperial Fleet, Lammergeier-class corvettes are often used as the vanguard of battlefleets entering a system marked for annexation into the glorious Empire as it is tasked to find and scout routes for the larger fleet. Though intended for scouting and screening work the Lammergeier is, like its larger counterparts, quite heavily armed and armored for a typical corvette. Any frontier savages who attempt to meet one with force of arms will soon find themselves staring down the barrels of Zhurongs finest weaponry, and the Fleet-trained Mazals entrusted to operate it. The heavy armament and sensors of the Lammergeier-class come at a cost: it lacks a shield generator and is much larger than a typical Solarian corvette, thus requiring a larger crew. Lammergeier-class captains are generally loyal Mazals, such as the citizens of Novi Jadran, and are authorized to take whatever measures are necessary to ensure their crew remains loyal to both Empire and Goddess. This ones transponder marks it as belonging to the Empires First Battlefleet a battle-hardened formation responsible for patrolling the region of the northern Sparring Sea between the Empire, Hegemony, and Republic of dominia."
suffix = "ships/dominia/dominian_corvette.dmm"
sectors = list(SECTOR_BADLANDS)
spawn_weight = 1
ship_cost = 1
id = "dominian_corvette"
shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/dominian_shuttle)
/decl/submap_archetype/dominian_corvette
map = "Dominian Corvette"
descriptor = "One of the most common ships in the Imperial Fleet, Lammergeier-class corvettes are often used as the vanguard of battlefleets entering a system marked for annexation into the glorious Empire as it is tasked to find and scout routes for the larger fleet. Though intended for scouting and screening work the Lammergeier is, like its larger counterparts, quite heavily armed and armored for a typical corvette. Any frontier savages who attempt to meet one with force of arms will soon find themselves staring down the barrels of Zhurongs finest weaponry, and the Fleet-trained Mazals entrusted to operate it. The heavy armament and sensors of the Lammergeier-class come at a cost: it lacks a shield generator and is much larger than a typical Solarian corvette, thus requiring a larger crew. Lammergeier-class captains are generally loyal Mazals, such as the citizens of Novi Jadran, and are authorized to take whatever measures are necessary to ensure their crew remains loyal to both Empire and Goddess. This ones transponder marks it as belonging to the Empires First Battlefleet a battle-hardened formation responsible for patrolling the region of the northern Sparring Sea between the Empire, Hegemony, and Republic of dominia."
//areas
/area/ship/dominian_corvette
name = "Dominian Corvette"
/area/ship/dominian_corvette/hangar
name = "Dominian Corvette Hangar"
/area/ship/dominian_corvette/infirmary
name = "Dominian Corvette Infirmary"
/area/ship/dominian_corvette/quarters
name = "Dominian Corvette Crew Quarters"
/area/ship/dominian_corvette/brig
name = "Dominian Corvette Brig"
/area/ship/dominian_corvette/cic
name = "Dominian Corvette CIC"
/area/ship/dominian_corvette/bridge
name = "Dominian Corvette Bridge"
/area/ship/dominian_corvette/franny
name = "Dominian Corvette Francisca Compartment"
/area/ship/dominian_corvette/officer
name = "Dominian Corvette Officer Compartment"
/area/ship/dominian_corvette/armory
name = "Dominian Corvette Armory"
/area/ship/dominian_corvette/temple
name = "Dominian Corvette Temple"
/area/ship/dominian_corvette/cryo
name = "Dominian Corvette Cryogenics"
/area/ship/dominian_corvette/engineering
name = "Dominian Corvette Engineering"
/area/ship/dominian_corvette/cannon
name = "Dominian Corvette Cannon Compartment"
/area/ship/dominian_corvette/exterior
name = "Dominian Corvette Exterior"
/area/shuttle/dominian_shuttle
name = "Dominian Shuttle"
icon_state = "shuttle2"
//ship stuff
/obj/effect/overmap/visitable/ship/dominian_corvette
name = "Dominian Corvette"
class = "HIMS"
desc = "One of the most common ships in the Imperial Fleet, Lammergeier-class corvettes are often used as the vanguard of battlefleets entering a system marked for annexation into the glorious Empire as it is tasked to find and scout routes for the larger fleet. Though intended for scouting and screening work the Lammergeier is, like its larger counterparts, quite heavily armed and armored for a typical corvette. Any frontier savages who attempt to meet one with force of arms will soon find themselves staring down the barrels of Zhurongs finest weaponry, and the Fleet-trained Mazals entrusted to operate it. The heavy armament and sensors of the Lammergeier-class come at a cost: it lacks a shield generator and is much larger than a typical Solarian corvette, thus requiring a larger crew. Lammergeier-class captains are generally loyal Mazals, such as the citizens of Novi Jadran, and are authorized to take whatever measures are necessary to ensure their crew remains loyal to both Empire and Goddess. This ones transponder marks it as belonging to the Empires First Battlefleet a battle-hardened formation responsible for patrolling the region of the northern Sparring Sea between the Empire, Hegemony, and Republic of dominia."
icon_state = "ship_red"
moving_state = "ship_red_moving"
max_speed = 1/(2 SECONDS)
burn_delay = 1 SECONDS
vessel_mass = 5000
fore_dir = SOUTH
vessel_size = SHIP_SIZE_SMALL
initial_restricted_waypoints = list(
"Dominian Shuttle" = list("nav_hangar_dominia")
)
initial_generic_waypoints = list(
"nav_dominian_corvette_1",
"nav_dominian_corvette_2"
)
/obj/effect/overmap/visitable/ship/dominian_corvette/New()
designation = "[pick("Lammergeier", "Eagle", "Hawk", "Owl", "Vulture", "Sparrowhawk", "Falcon", "Peregrine", "Condor", "Harrier", "Kestrel", "Osprey", "Yastr", "Merlin", "Kite", "Seriema", "Caracaras")]"
..()
/obj/effect/shuttle_landmark/dominian_corvette/nav1
name = "Dominian Corvette - Fore"
landmark_tag = "nav_dominian_corvette_1"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/dominian_corvette/nav2
name = "Dominian Corvette - Aft"
landmark_tag = "nav_dominian_corvette_2"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/dominian_corvette/nav3
name = "Dominian Corvette - Starboard"
landmark_tag = "nav_dominian_corvette_3"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/dominian_corvette/nav4
name = "Dominian Corvette - Port"
landmark_tag = "nav_dominian_corvette_4"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/dominian_corvette/transit
name = "In transit"
landmark_tag = "nav_transit_dominian_corvette"
base_turf = /turf/space/transit/north
//shuttle stuff
/obj/effect/overmap/visitable/ship/landable/dominian_shuttle
name = "Dominian Shuttle"
class = "HIMS"
designation = "Chariot"
desc = "A light shuttle used by the Imperial Fleet to move small amounts of cargo or personnel between vessels, the Yupmi-class shuttle is a dependable utility craft. Like most Dominian vessels it is relatively well armored for its size but is not a combat vessel by any means. A short operational range means a Yupmi should never stray too far from its vessel of origin as it will soon run out of fuel."
shuttle = "Dominian Shuttle"
max_speed = 1/(3 SECONDS)
burn_delay = 2 SECONDS
vessel_mass = 3000 //very inefficient pod
fore_dir = NORTH
vessel_size = SHIP_SIZE_TINY
/obj/machinery/computer/shuttle_control/explore/dominian_shuttle
name = "shuttle control console"
shuttle_tag = "Dominian Shuttle"
req_access = list(access_imperial_fleet_voidsman_ship)
/datum/shuttle/autodock/overmap/dominian_shuttle
name = "Dominian Shuttle"
move_time = 20
shuttle_area = list(/area/shuttle/dominian_shuttle)
current_location = "nav_hangar_dominia"
landmark_transition = "nav_transit_dominian_shuttle"
range = 1
fuel_consumption = 2
logging_home_tag = "nav_hangar_dominia"
defer_initialisation = TRUE
/obj/effect/shuttle_landmark/dominian_shuttle/hangar
name = "Dominian Shuttle Hangar"
landmark_tag = "nav_hangar_dominia"
docking_controller = "dominian_shuttle_dock"
base_area = /area/ship/dominian_corvette
base_turf = /turf/simulated/floor/plating
movable_flags = MOVABLE_FLAG_EFFECTMOVE
/obj/effect/shuttle_landmark/dominian_shuttle/transit
name = "In transit"
landmark_tag = "nav_transit_dominian_shuttle"
base_turf = /turf/space/transit/north
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,105 @@
//elyran naval infantry
/datum/ghostspawner/human/imperial_fleet_voidsman
short_name = "imperial_fleet_voidsman"
name = "Imperial Fleet Voidsman"
desc = "You are an enlisted Mazal voidsman of the Imperial Fleet. Voidsmen are generally recruited from the Imperial Frontier and are eager to pay off their Morizal (“Blood Debt,” the Empires form of taxation) via military service. Few serve more than a few tours of duty due to the lonely and hazardous nature of interstellar military service. You have been trained to obey your superior, and most Primaries, without question or delay. If the Ensign wills it, get it done. (OOC Note: Players should be familiar with Dominian lore and play a character with a background appropriate to a Dominian Ma'zal.)"
tags = list("External")
mob_name_prefix = "VDSMN. " //Voidsman
spawnpoints = list("imperial_fleet_voidsman")
max_count = 3
outfit = /datum/outfit/admin/imperial_fleet_voidsman
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Imperial Fleet Voidsman"
special_role = "Imperial Fleet Voidsman"
respawn_flag = null
/datum/outfit/admin/imperial_fleet_voidsman
name = "Imperial Fleet Voidsman"
uniform = /obj/item/clothing/under/dominia/fleet
head = /obj/item/clothing/head/dominia/fleet
shoes = /obj/item/clothing/shoes/jackboots
back = /obj/item/storage/backpack/satchel
id = /obj/item/card/id/imperial_fleet
l_ear = /obj/item/device/radio/headset/ship
backpack_contents = list(/obj/item/storage/box/survival = 1)
/datum/outfit/admin/imperial_fleet_voidsman/get_id_access()
return list(access_imperial_fleet_voidsman_ship, access_external_airlocks)
/datum/ghostspawner/human/imperial_fleet_voidsman/officer
short_name = "imperial_fleet_voidsman_officer"
name = "Imperial Fleet Officer"
desc = "You are a low-ranking Mazal Ensign of the Imperial Fleet assigned to captain a corvette. You are not a Primary, but you are better than your fellow Mazals. Prove to your Primary sponsor that you are worthy of command and keep your crew, and hull, intact through whatever means are necessary. Goddess protect and keep you. (OOC Note: Players should be familiar with Dominian lore and play a character with a background appropriate to a Dominian Ma'zal.)"
mob_name_prefix = "ENS. "
spawnpoints = list("imperial_fleet_voidsman")
max_count = 1
outfit = /datum/outfit/admin/imperial_fleet_voidsman/officer
assigned_role = "Imperial Fleet Officer"
special_role = "Imperial Fleet Officer"
/datum/outfit/admin/imperial_fleet_voidsman/officer
name = "Imperial Fleet Officer"
head = /obj/item/clothing/head/dominia/fleet/officer
uniform = /obj/item/clothing/under/dominia/fleet/officer
suit = /obj/item/clothing/suit/storage/dominia/fleet
/datum/ghostspawner/human/imperial_fleet_voidsman/armsman
short_name = "imperial_fleet_armsman"
name = "Imperial Fleet Armsman"
desc = "You are a Mazal who serves as an Imperial Fleet armsman, and are expected to defend the ship from boarders. Armsmen are experienced enlisted personnel of the Imperial Fleet who are often recruited from the Imperial Army. While not one of the elite Marines you are well-trained and well-equipped to defend their vessel. Armsmen are often older and more experienced than voidsmen and many have continued to serve in order to pay off the Morizal (“Blood Debt,” the Empires form of taxation) of their relatives. You have been trained to obey your officer, and most Primaries, without question or hesitation. (OOC Note: Players should be familiar with Dominian lore and play a character with a background appropriate to a Dominian Ma'zal.)"
mob_name_prefix = "ARMSN. " //Armsman
max_count = 2
outfit = /datum/outfit/admin/imperial_fleet_voidsman/armsman
assigned_role = "Imperial Fleet Armsman"
special_role = "Imperial Fleet Armsman"
/datum/outfit/admin/imperial_fleet_voidsman/armsman
name = "Imperial Fleet Armsman"
head = /obj/item/clothing/head/dominia/fleet/armsman
uniform = /obj/item/clothing/under/dominia/fleet/armsman
accessory = /obj/item/clothing/accessory/poncho/dominia_cape/mantle
/datum/ghostspawner/human/imperial_fleet_voidsman/priest
short_name = "imperial_fleet_priest"
name = "Imperial Fleet Priest"
desc = "You are a Mazal educated and trained by the Moroz Holy Tribunal to serve as a priest or priestess of the Imperial Military. This is a great honor for most Mazals and an expression of immense trust in you despite your birth. While you are nominally a civilian life on the frontier is harsh and barbaric Coalitioners, such as the murderous “Rangers,” will show you little mercy. As a result you have been trained in basic military tactics and are expected to fight shoulder-to-shoulder with your fellow crew in a boarding action. Priests often have more education than their fellow Mazals and will often also serve as the ships doctor. (OOC Note: Players should be familiar with Dominian lore and play a character with a background appropriate to a Dominian Ma'zal.)"
mob_name_prefix = null
max_count = 1
outfit = /datum/outfit/admin/imperial_fleet_voidsman/priest
assigned_role = "Imperial Fleet Priest"
special_role = "Imperial Fleet Priest"
/datum/outfit/admin/imperial_fleet_voidsman/priest
name = "Imperial Fleet Priest"
head = /obj/item/clothing/head/beret/dominia/priest
uniform = /obj/item/clothing/under/dominia/priest
accessory = /obj/item/clothing/accessory/poncho/dominia/red/surcoat
//items
/obj/item/card/id/imperial_fleet
name = "imperial fleet id"
access = list(access_imperial_fleet_voidsman_ship, access_external_airlocks)