Primum Non Nocere: The IAC Rescue Ship (#15302)

This commit is contained in:
LoreCoder
2022-12-20 17:07:20 +01:00
committed by GitHub
parent e93277f6be
commit fbbaea5acb
8 changed files with 69735 additions and 2 deletions
+2
View File
@@ -3216,6 +3216,8 @@
#include "maps\away\ships\einstein\ee_spy_ship_ghostroles.dm"
#include "maps\away\ships\elyra\elyra_strike_craft.dm"
#include "maps\away\ships\elyra\elyra_strike_craft_ghostroles.dm"
#include "maps\away\ships\iac\iac_rescue_ship.dm"
#include "maps\away\ships\iac\iac_rescue_ship_ghostroles.dm"
#include "maps\away\ships\kataphracts\kataphract_areas.dm"
#include "maps\away\ships\kataphracts\kataphract_ship.dm"
#include "maps\away\ships\kataphracts\kataphract_ship_ghostroles.dm"
+5
View File
@@ -622,3 +622,8 @@ var/const/access_kataphract_knight = 114
/datum/access/access_unathi_pirate
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
+12 -1
View File
@@ -730,4 +730,15 @@
info = "<font face=\"Verdana\"><center>SCCV Horizon Command Bunker<br>Evacuation Route Instructions</center><font size=\"2\"><ol><li>Put on the emergency \
welding goggles.</li><li>Grasp the emergency welding tool firmly in your hands, turn it on, and start cutting a hole in the floor.</li><li>Wait for \
the newly created hole to cool.<li>Use the emergency crowbar to pry away the metal.</li><li>Deploy the emergency ladder.</li><li>Dispose of the used \
equipment, if necessary.</li></ol></font></font>"
equipment, if necessary.</li></ol></font></font>"
// Used on the IAC ship, meant for distribution.
/obj/item/paper/fluff/iac
name = "interstellar aid corps info pamphlet"
desc = "A paper. It has an IAC logo stamped right on front of it."
info = "<font face=\"Verdana\"><center><b>The Interstellar Aid Corps Needs YOUR Help!</b></center><br>With the crisis in the Wildlands still affecting billions \
of people, now more than ever the IAC needs your help to provide relief to those worst affected by Phoron shortages, Warlord attacks, and even a lack of \
basic necessities, such as food and water.<br>The IAC and its personnel have been able to provide relief to hundreds of colonies, but this can only happen \
with your support. As such, local IAC vessels and stations are accepting donations of non-perishable foods and water, as well as medical supplies of any type. \
Additionally, at the behest of the IAC coordinator in your area of space, you can join for a blood drive or apply to volunteer in the IAC. <br> \
<center><i>Remember - it's up to all of us to look after our galaxy!</i></center></font>"
+41
View File
@@ -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: Nope63
# 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 an Interstellar Aid Corps third party ship and an IAC info pamphlet."
+171
View File
@@ -0,0 +1,171 @@
/datum/map_template/ruin/away_site/iac_rescue_ship
name = "IAC Rescue Ship"
description = "The Sanctuary-class rescue ship is a fast response medical vessel, based in large part off of the Asclepius-class medical transport, a much older and more widespread clinic ship, designed to operate mainly between planets rather than in open space. Most Sanctuary-class hulls are heavily refitted to accomodate for the new conditions in the Wildlands, sporting additional thrusters and a hangar bay, created from what was originally a waiting room. However, it is still limited by its origins, having only the bare minimum of crew and atmospherics facilities, as well as being rather obviously unarmed, often needing to return to port for repairs or supplies."
suffix = "ships/iac/iac_rescue_ship.dmm"
sectors = list(SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, SECTOR_SRANDMARR, SECTOR_NRRAHRAHUL)
spawn_weight = 1
spawn_cost = 1
id = "iac_rescue_ship"
shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/iac_shuttle)
/decl/submap_archetype/iac_rescue_ship
map = "IAC Rescue Ship"
descriptor = "The Sanctuary-class rescue ship is a fast response medical vessel, based in large part off of the Asclepius-class medical transport, a much older and more widespread clinic ship, designed to operate mainly between planets rather than in open space. Most Sanctuary-class hulls are heavily refitted to accomodate for the new conditions in the Wildlands, sporting additional thrusters and a hangar bay, created from what was originally a waiting room. However, it is still limited by its origins, having only the bare minimum of crew and atmospherics facilities, as well as being rather obviously unarmed, often needing to return to port for repairs or supplies."
//areas
/area/ship/iac_rescue_ship
name = "IAC Rescue Ship"
requires_power = TRUE
/area/ship/iac_rescue_ship/bridge
name = "IAC Rescue Ship Bridge"
/area/ship/iac_rescue_ship/hangar
name = "IAC Rescue Ship Hangar"
/area/ship/iac_rescue_ship/starboardengine
name = "IAC Rescue Ship Starboard Engine"
/area/ship/iac_rescue_ship/portengine
name = "IAC Rescue Ship Port Engine"
/area/ship/iac_rescue_ship/bathroom
name = "IAC Rescue Ship Bathroom"
/area/ship/iac_rescue_ship/mainstorage
name = "IAC Rescue Ship Main Storage"
/area/ship/iac_rescue_ship/medical
name = "IAC Rescue Ship Medical"
/area/ship/iac_rescue_ship/surgery
name = "IAC Rescue Ship Surgery Room"
/area/ship/iac_rescue_ship/pharmacy
name = "IAC Rescue Ship Pharmacy"
/area/ship/iac_rescue_ship/dorms
name = "IAC Rescue Ship Dorms"
/area/ship/iac_rescue_ship/coord
name = "IAC Rescue Ship Coordinator's Office"
/area/ship/iac_rescue_ship/hallway
name = "IAC Rescue Ship Hallway"
/area/shuttle/iac_shuttle
name = "IAC Ambulance Shuttle"
icon_state = "shuttle2"
//ship stuff
/obj/effect/overmap/visitable/ship/iac_rescue_ship
name = "IAC Rescue Ship"
class = "IAV"
desc = "The Sanctuary-class rescue ship is a fast response medical vessel, based in large part off of the Asclepius-class medical transport, a widespread clinic ship, designed to operate mainly between planets rather than in open space. Most Sanctuary-class hulls are heavily refitted to accomodate for the new conditions in the Wildlands, sporting additional thrusters and a hangar bay, created from what was originally a waiting room. However, it is still limited by its origins, having only the bare minimum of crew and atmospherics facilities, as well as being rather obviously unarmed, often needing to return to port for repairs or supplies."
icon_state = "ship"
moving_state = "ship_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(
"IAC Ambulance Shuttle" = list("nav_hangar_iac")
)
initial_generic_waypoints = list(
"nav_iac_rescue_ship_1",
"nav_iac_rescue_ship_2",
"nav_iac_rescue_ship_3",
"nav_iac_rescue_ship_4",
"nav_iac_rescue_ship_5"
)
/obj/effect/overmap/visitable/ship/iac_rescue_ship/New()
designation = "[pick("Angitia", "Eir", "Vejovis", "Dharti", "Serket", "He Xiangu", "Sirona", "Ixtlilton", "Boris Yegorov", "Simi", "Aleksandra Hro'makar", "Assistance", "Helping Hand", "Free Aid", "Safe Haven", "Grace", "Compassion", "Relief")]"
..()
/obj/effect/shuttle_landmark/iac_rescue_ship/nav1
name = "IAC Rescue Ship - Port Side"
landmark_tag = "nav_iac_rescue_ship_1"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/iac_rescue_ship/nav2
name = "IAC Rescue Ship - Port Airlock"
landmark_tag = "nav_iac_rescue_ship_2"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/iac_rescue_ship/nav3
name = "IAC Rescue Ship - Starboard Side"
landmark_tag = "nav_iac_rescue_ship_3"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/iac_rescue_ship/nav4
name = "IAC Rescue Ship - Aft Side"
landmark_tag = "nav_iac_rescue_ship_4"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/iac_rescue_ship/nav5
name = "IAC Rescue Ship - Fore Side"
landmark_tag = "nav_iac_rescue_ship_5"
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/iac_rescue_ship/transit
name = "In transit"
landmark_tag = "nav_transit_iac_rescue_ship"
base_turf = /turf/space/transit/north
//shuttle stuff
/obj/effect/overmap/visitable/ship/landable/iac_shuttle
name = "IAC Ambulance Shuttle"
class = "IAV"
designation = "Heka"
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 one's transponder identifies it as belonging to a Interstellar Aid Corps vessel."
shuttle = "IAC Ambulance 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/iac_shuttle
name = "shuttle control console"
shuttle_tag = "IAC Ambulance Shuttle"
req_access = list(access_iac_rescue_ship)
/datum/shuttle/autodock/overmap/iac_shuttle
name = "IAC Ambulance Shuttle"
move_time = 20
shuttle_area = list(/area/shuttle/iac_shuttle)
current_location = "nav_hangar_iac"
landmark_transition = "nav_transit_iac_shuttle"
range = 1
fuel_consumption = 2
logging_home_tag = "nav_hangar_iac"
defer_initialisation = TRUE
/obj/effect/shuttle_landmark/iac_shuttle/hangar
name = "IAC Ambulance Shuttle Hangar"
landmark_tag = "nav_hangar_iac"
docking_controller = "iac_shuttle_dock"
base_area = /area/ship/iac_rescue_ship/hangar
base_turf = /turf/simulated/floor/plating
movable_flags = MOVABLE_FLAG_EFFECTMOVE
/obj/effect/shuttle_landmark/iac_shuttle/transit
name = "In transit"
landmark_tag = "nav_transit_iac_shuttle"
base_turf = /turf/space/transit/north
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,115 @@
//iac volunteers
/datum/ghostspawner/human/iac_volunteer
short_name = "iac_volunteer"
name = "IAC Volunteer"
desc = "Crew the IAC Rescue Ship. Help those in need and respond to medical emergencies or distress calls. Try to raise funds and donations while staying out of trouble."
tags = list("External")
spawnpoints = list("iac_volunteer")
max_count = 2
outfit = /datum/outfit/admin/freighter_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "IAC Volunteer"
special_role = "IAC Volunteer"
respawn_flag = null
/datum/outfit/admin/iac_volunteer
name = "IAC Volunteer"
uniform = /obj/item/clothing/under/rank/iacjumpsuit
shoes = /obj/item/clothing/shoes/iac
back = /obj/item/storage/backpack/satchel
accessory = /obj/item/clothing/accessory/armband/iac
id = /obj/item/card/id/iac_rescue_ship
l_ear = /obj/item/device/radio/headset/ship
backpack_contents = list(/obj/item/storage/box/survival = 1)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_VAURCA_WARRIOR = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/workboots/toeless
)
/datum/outfit/admin/iac_volunteer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath/vaurca/filter(H), slot_wear_mask)
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
H.internals.icon_state = "internal1"
H.equip_or_collect(new /obj/item/reagent_containers/food/snacks/koisbar, slot_in_backpack)
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
/datum/outfit/admin/iac_volunteer/get_id_access()
return list(access_iac_rescue_ship, access_external_airlocks)
/datum/ghostspawner/human/iac_volunteer/technician
short_name = "iac_technician"
name = "IAC Technician"
desc = "Crew the IAC Rescue Ship. Act as one of the ship's engineering or medical personnel. Help those in need and respond to medical emergencies or distress calls. Try to raise funds and donations while staying out of trouble."
spawnpoints = list("iac_coordinator")
max_count = 2
outfit = /datum/outfit/admin/iac_volunteer/technician
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "IAC Coordinator"
special_role = "IAC Coordinator"
/datum/outfit/admin/iac_volunteer/technician
name = "IAC Coordinator"
suit= /obj/item/clothing/suit/storage/hazardvest/iac
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/workboots/toeless/grey,
SPECIES_TAJARA = /obj/item/clothing/shoes/workboots/toeless/grey,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/workboots/toeless/grey,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/toeless/grey
)
/datum/ghostspawner/human/iac_volunteer/coordinator
short_name = "iac_coordinator"
name = "IAC Coordinator"
desc = "Captain the IAC Rescue Ship. Act as the ship's chief doctor. Train your volunteers. Help those in need and respond to medical emergencies or distress calls. Try to raise funds and donations while staying out of trouble."
spawnpoints = list("iac_coordinator")
max_count = 1
outfit = /datum/outfit/admin/iac_volunteer/coordinator
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "IAC Coordinator"
special_role = "IAC Coordinator"
/datum/outfit/admin/iac_volunteer/coordinator
name = "IAC Coordinator"
suit= /obj/item/clothing/suit/storage/toggle/labcoat/iac
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/workboots/toeless/grey,
SPECIES_TAJARA = /obj/item/clothing/shoes/workboots/toeless/grey,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/workboots/toeless/grey,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/toeless/grey
)
/obj/item/card/id/iac_rescue_ship
name = "iac ship id"
access = list(access_iac_rescue_ship, access_external_airlocks)
+2 -1
View File
@@ -117,7 +117,8 @@
/datum/shuttle/autodock/overmap/ee_shuttle,
/datum/shuttle/autodock/overmap/fsf_shuttle,
/datum/shuttle/autodock/overmap/freighter_shuttle,
/datum/shuttle/autodock/overmap/kataphract_transport
/datum/shuttle/autodock/overmap/kataphract_transport,
/datum/shuttle/autodock/overmap/iac_shuttle
)
evac_controller_type = /datum/evacuation_controller/starship