Local militia third party ship. (#14385)

This commit is contained in:
TheDanseMacabre
2022-07-11 12:34:10 +02:00
committed by GitHub
parent 08c709937d
commit 0c378e53c2
4 changed files with 67253 additions and 0 deletions
@@ -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 local militia third party ship. They're neutral towards Biesel and the SCC, and mostly focus on protecting their region of space from pirates. They can also double as mercenaries."
File diff suppressed because it is too large Load Diff
+106
View File
@@ -101,3 +101,109 @@
name = "In transit"
landmark_tag = "nav_transit_freighter_shuttle"
base_turf = /turf/space/transit/south
//militia
/datum/map_template/ruin/away_site/militia_ship
name = "Militia Ship"
description = "An unarmed and extremely prolific design of large, self-sufficient shuttle, prized for its modularity. Found all throughout the spur, the Yak-class shuttle can be configured to conceivably serve in any role, though it is only rarely armed with ship-to-ship weapons. Manufactured by Hephaestus. This ones transponder identifies it as a local militia vessel."
suffix = "ships/militia_ship.dmm"
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE)
spawn_weight = 1
spawn_cost = 1
id = "militia_ship"
shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/militia_shuttle)
/decl/submap_archetype/militia_ship
map = "Militia Ship"
descriptor = "An unarmed and extremely prolific design of large, self-sufficient shuttle, prized for its modularity. Found all throughout the spur, the Yak-class shuttle can be configured to conceivably serve in any role, though it is only rarely armed with ship-to-ship weapons. Manufactured by Hephaestus. This ones transponder identifies it as a local militia vessel."
//areas
/area/ship/militia_ship
name = "Militia Ship"
/area/shuttle/militia_shuttle
name = "Militia Ship"
icon_state = "shuttle2"
//ship stuff
/obj/effect/overmap/visitable/ship/militia_ship
name = "Militia Ship"
desc = "An unarmed and extremely prolific design of large, self-sufficient shuttle, prized for its modularity. Found all throughout the spur, the Yak-class shuttle can be configured to conceivably serve in any role, though it is only rarely armed with ship-to-ship weapons. Manufactured by Hephaestus. This ones transponder identifies it as a local militia vessel."
icon_state = "shuttle"
moving_state = "shuttle_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(
"Militia Ship" = list("nav_hangar_militia")
)
initial_generic_waypoints = list(
"nav_militia_ship_1",
"nav_militia_ship_2"
)
/obj/effect/overmap/visitable/ship/militia_ship/New()
name = "IPV [pick("Volunteer", "Part-Timer", "Last Line", "Fearless", "Protector", "Minuteman", "Watchdog", "Family Man", "Guardian", "Hoplite", "Home Guard", "Defender")]"
..()
/obj/effect/shuttle_landmark/militia_ship/nav1
name = "Militia Ship - Port Side"
landmark_tag = "nav_militia_ship_1"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/militia_ship/nav2
name = "Militia Ship - Port Airlock"
landmark_tag = "nav_militia_ship_2"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/militia_ship/transit
name = "In transit"
landmark_tag = "nav_transit_militia_ship"
base_turf = /turf/space/transit/south
//shuttle stuff
/obj/effect/overmap/visitable/ship/landable/militia_shuttle
name = "Militia Ship"
desc = "An inefficient design of ultra-light shuttle known as the Wisp-class. Its only redeeming features are the extreme cheapness of the design and the ease of finding replacement parts. Manufactured by Hephaestus. This ones transponder identifies it as belonging to an independent militia."
shuttle = "Militia Ship"
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/militia_shuttle
name = "shuttle control console"
shuttle_tag = "Militia Ship"
/datum/shuttle/autodock/overmap/militia_shuttle
name = "Militia Ship"
move_time = 20
shuttle_area = list(/area/shuttle/militia_shuttle)
current_location = "nav_hangar_militia"
landmark_transition = "nav_transit_militia_shuttle"
range = 1
fuel_consumption = 2
logging_home_tag = "nav_hangar_militia"
defer_initialisation = TRUE
/obj/effect/shuttle_landmark/militia_shuttle/hangar
name = "Militia Ship Hangar"
landmark_tag = "nav_hangar_militia"
docking_controller = "militia_shuttle_dock"
base_area = /area/ship/militia_ship
base_turf = /turf/simulated/floor/plating
movable_flags = MOVABLE_FLAG_EFFECTMOVE
/obj/effect/shuttle_landmark/militia_shuttle/transit
name = "In transit"
landmark_tag = "nav_transit_militia_shuttle"
base_turf = /turf/space/transit/south
@@ -77,3 +77,69 @@
/obj/item/card/id/freighter_crew_ship
name = "freight ship id"
access = list(access_external_airlocks)
//militia ship crew
/datum/ghostspawner/human/militia_crew
short_name = "militia_crew"
name = "Militiaman"
desc = "Crew the militia ship. Help those that need it, try to keep your slice of space clean and safe of anyone the TCFL and SCC miss - there are people counting on you. Double as a hired gun, to make a few bucks."
tags = list("External")
spawnpoints = list("militiaman")
max_count = 3
outfit = /datum/outfit/admin/militia_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Militiaman"
special_role = "Militiaman"
respawn_flag = null
/datum/outfit/admin/militia_crew
name = "Militiaman"
uniform = /obj/item/clothing/under/tactical
shoes = /obj/item/clothing/shoes/workboots/dark
back = /obj/item/storage/backpack/satchel_norm
id = /obj/item/card/id/militia_ship
l_ear = /obj/item/device/radio/headset/ship
backpack_contents = list(/obj/item/storage/box/survival = 1)
/datum/outfit/admin/militia_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
/datum/outfit/admin/militia_crew/get_id_access()
return list(access_external_airlocks)
/datum/ghostspawner/human/militia_crew/captain
short_name = "militia_crew_captain"
name = "Militia Captain"
desc = "Captain the militia ship. Help those that need it, try to keep your slice of space clean and safe of anyone the TCFL and SCC miss - there are people counting on you. Double as a hired gun, to make a few bucks."
spawnpoints = list("militia_crew_captain")
max_count = 1
outfit = /datum/outfit/admin/militia_crew/captain
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Militia Captain"
special_role = "Militia Captain"
/datum/outfit/admin/militia_crew/captain
name = "Militia Captain"
accessory = /obj/item/clothing/accessory/sash/red
/obj/item/card/id/militia_ship
name = "militia ship id"
access = list(access_external_airlocks)