Skip to content

Commit c152759

Browse files
authored
Merge pull request #1631 from sgtmind/sgtmind
Gantry
2 parents 25d756d + 3653cb8 commit c152759

9 files changed

+52974
-2
lines changed

maps/away/scavver/scavver_gantry-1.dmm

+25,196
Large diffs are not rendered by default.

maps/away/scavver/scavver_gantry-2.dmm

+27,300
Large diffs are not rendered by default.

maps/away/scavver/scavver_gantry.dm

+152
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
#include "scavver_gantry_shuttles.dm"
2+
#include "scavver_gantry_jobs.dm"
3+
4+
/datum/map_template/ruin/away_site/scavver_gantry
5+
name = "Salvage Gantry"
6+
id = "awaysite_gantry"
7+
description = "Salvage Gantry turned Ship."
8+
suffixes = list("scavver/scavver_gantry-1.dmm","scavver/scavver_gantry-2.dmm")
9+
cost = 1
10+
accessibility_weight = 10
11+
area_usage_test_exempted_root_areas = list(/area/scavver)
12+
apc_test_exempt_areas = list(
13+
/area/scavver/yachtdown = NO_SCRUBBER,
14+
/area/scavver/gantry/down1 = NO_SCRUBBER|NO_VENT,
15+
/area/scavver/gantry/down2 = NO_SCRUBBER|NO_VENT,
16+
/area/scavver/gantry/lift = NO_SCRUBBER|NO_VENT|NO_APC,
17+
/area/scavver/calypso = NO_SCRUBBER,
18+
/area/scavver/gantry/up1 = NO_SCRUBBER|NO_VENT,
19+
/area/scavver/escapepod = NO_SCRUBBER,
20+
/area/scavver/yachtup = NO_SCRUBBER,
21+
/area/scavver/gantry/up2 = NO_SCRUBBER|NO_VENT
22+
)
23+
24+
shuttles_to_initialise = list(
25+
/datum/shuttle/autodock/overmap/scavver_gantry,
26+
/datum/shuttle/autodock/overmap/scavver_gantry/two,
27+
/datum/shuttle/autodock/ferry/gantry
28+
)
29+
30+
/obj/effect/submap_landmark/joinable_submap/scavver_gantry
31+
name = "Salvage Gantry"
32+
archetype = /decl/submap_archetype/derelict/scavver_gantry
33+
34+
/decl/submap_archetype/derelict/scavver_gantry
35+
descriptor = "Salvage Gantry turned Ship."
36+
map = "Salvage Gantry"
37+
crew_jobs = list(
38+
/datum/job/submap/scavver_pilot,
39+
/datum/job/submap/scavver_doctor,
40+
/datum/job/submap/scavver_engineer
41+
)
42+
43+
/obj/effect/overmap/visitable/ship/scavver_gantry
44+
name = "Unknown Vessel"
45+
desc = "Sensor array detects a medium-sized vessel of irregular shape. Vessel origin is unidentifiable."
46+
vessel_mass = 1200
47+
fore_dir = NORTH
48+
max_speed = 1/(10 SECONDS)
49+
burn_delay = 10 SECONDS
50+
hide_from_reports = TRUE
51+
known = 0
52+
initial_generic_waypoints = list(
53+
"nav_gantry_one",
54+
"nav_gantry_two",
55+
"nav_gantry_three",
56+
"nav_gantry_four",
57+
"nav_gantry_five"
58+
)
59+
initial_restricted_waypoints = list(
60+
"ITV The Reclaimer" = list("nav_hangar_gantry_one"),
61+
"ITV Vulcan" = list("nav_hangar_gantry_two")
62+
)
63+
64+
/obj/item/mech_component/sensors/light/salvage/prebuild()
65+
..()
66+
software.installed_software = list(MECH_SOFTWARE_UTILITY, MECH_SOFTWARE_ENGINEERING)
67+
68+
/mob/living/exosuit/premade/salvage_gantry
69+
name = "\improper Carrion Crawler"
70+
desc = "An outdated mech designed to strip and repair ships by crawling along their hull. This one won't be doing many repairs anymore."
71+
72+
/mob/living/exosuit/premade/salvage_gantry/Initialize()
73+
if(!body)
74+
body = new /obj/item/mech_component/chassis/pod(src)
75+
body.color = COLOR_ORANGE
76+
if(!legs)
77+
legs = new /obj/item/mech_component/propulsion/spider(src)
78+
legs.color = COLOR_GUNMETAL
79+
if(!arms)
80+
arms = new /obj/item/mech_component/manipulators/powerloader(src)
81+
arms.color = COLOR_GUNMETAL
82+
if(!head)
83+
head = new /obj/item/mech_component/sensors/light/salvage(src)
84+
head.color = COLOR_GUNMETAL
85+
86+
. = ..()
87+
88+
/mob/living/exosuit/premade/salvage_gantry/spawn_mech_equipment()
89+
install_system(new /obj/item/mech_equipment/light(src), HARDPOINT_HEAD)
90+
install_system(new /obj/item/mech_equipment/clamp(src), HARDPOINT_RIGHT_HAND)
91+
install_system(new /obj/item/mech_equipment/mounted_system/taser/plasma(src), HARDPOINT_LEFT_HAND)
92+
93+
/area/scavver/
94+
icon = 'maps/away/scavver/scavver_gantry_sprites.dmi'
95+
96+
/area/scavver/gantry/up1
97+
name = "\improper Upper Salvage Gantry Arm"
98+
icon_state = "gantry_up_1"
99+
100+
/area/scavver/gantry/up2
101+
name = "\improper Upper Salvage Gantry Spine"
102+
icon_state = "gantry_up_2"
103+
104+
/area/scavver/gantry/down1
105+
name = "\improper Lower Salvage Gantry Arm"
106+
icon_state = "gantry_down_1"
107+
108+
/area/scavver/gantry/down2
109+
name = "\improper Lower Salvage Gantry Spine"
110+
icon_state = "gantry_down_2"
111+
112+
/area/scavver/gantry/lift
113+
name = "\improper Salvage Gantry Lift"
114+
icon_state = "gantry_lift"
115+
requires_power = 0
116+
117+
/area/scavver/yachtup
118+
name = "\improper Private Yacht Upper Deck"
119+
icon_state = "gantry_yacht_up"
120+
121+
/area/scavver/yachtdown
122+
name = "\improper Private Yacht Lower Deck"
123+
icon_state = "gantry_yacht_down"
124+
125+
/area/scavver/hab
126+
name = "\improper Habitation Module"
127+
icon_state = "gantry_hab"
128+
area_flags = AREA_FLAG_RAD_SHIELDED
129+
130+
/area/scavver/calypso
131+
name = "\improper ITV Calypso"
132+
icon_state = "gantry_calypso"
133+
area_flags = AREA_FLAG_RAD_SHIELDED
134+
135+
/area/scavver/lifepod
136+
name = "\improper ITV The Reclaimer"
137+
icon_state = "gantry_lifepod"
138+
area_flags = AREA_FLAG_RAD_SHIELDED
139+
140+
/area/scavver/escapepod
141+
name = "\improper ITV Vulcan"
142+
icon_state = "gantry_pod"
143+
area_flags = AREA_FLAG_RAD_SHIELDED
144+
145+
//smes
146+
/obj/machinery/power/smes/buildable/preset/scavver/smes
147+
uncreated_component_parts = list(/obj/item/weapon/stock_parts/smes_coil = 1)
148+
_input_maxed = TRUE
149+
_output_maxed = TRUE
150+
_input_on = TRUE
151+
_output_on = TRUE
152+
+180
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
/datum/job/submap/scavver_pilot
2+
title = "Salvage Pilot"
3+
total_positions = 1
4+
outfit_type = /decl/hierarchy/outfit/job/scavver/pilot
5+
supervisors = "The trust of your fellow crew."
6+
info = "You are the pilot of your meagre Scavenger Crew. Keep your crew safe, and seek supplies for your rig. \
7+
Your weapons are limited; trade, salvage, but avoid conflict as a matter of course."
8+
whitelisted_species = list(SPECIES_HUMAN,SPECIES_IPC)
9+
is_semi_antagonist = TRUE
10+
min_skill = list(
11+
SKILL_HAULING = SKILL_BASIC,
12+
SKILL_EVA = SKILL_EXPERT,
13+
SKILL_MECH = SKILL_MAX,
14+
SKILL_SCIENCE = SKILL_ADEPT,
15+
SKILL_PILOT = SKILL_ADEPT,
16+
SKILL_COMBAT = SKILL_ADEPT,
17+
SKILL_WEAPONS = SKILL_ADEPT
18+
)
19+
20+
max_skill = list(
21+
SKILL_BUREAUCRACY = SKILL_MAX,
22+
SKILL_FINANCE = SKILL_MAX,
23+
SKILL_EVA = SKILL_MAX,
24+
SKILL_PILOT = SKILL_MAX,
25+
SKILL_HAULING = SKILL_MAX,
26+
SKILL_COMPUTER = SKILL_MAX,
27+
SKILL_BOTANY = SKILL_MAX,
28+
SKILL_COOKING = SKILL_MAX,
29+
SKILL_COMBAT = SKILL_MAX,
30+
SKILL_WEAPONS = SKILL_MAX,
31+
SKILL_FORENSICS = SKILL_MAX,
32+
SKILL_CONSTRUCTION = SKILL_MAX,
33+
SKILL_ELECTRICAL = SKILL_EXPERT,
34+
SKILL_ATMOS = SKILL_EXPERT,
35+
SKILL_ENGINES = SKILL_EXPERT,
36+
SKILL_DEVICES = SKILL_MAX,
37+
SKILL_SCIENCE = SKILL_MAX,
38+
SKILL_MEDICAL = SKILL_EXPERT,
39+
SKILL_ANATOMY = SKILL_EXPERT,
40+
SKILL_CHEMISTRY = SKILL_EXPERT
41+
)
42+
skill_points = 20
43+
44+
/datum/job/submap/scavver_doctor
45+
title = "Salvage Doctor"
46+
total_positions = 1
47+
outfit_type = /decl/hierarchy/outfit/job/scavver/doctor
48+
supervisors = "The trust of those you heal."
49+
info = "You are the doctor aboard your meagre Salvage team. Keep everyone alive. Your weapons are limited; trade, salvage, but avoid conflict as a matter of course."
50+
whitelisted_species = list(SPECIES_HUMAN,SPECIES_IPC)
51+
is_semi_antagonist = TRUE
52+
min_skill = list(
53+
SKILL_HAULING = SKILL_BASIC,
54+
SKILL_EVA = SKILL_EXPERT,
55+
SKILL_MEDICAL = SKILL_EXPERT,
56+
SKILL_ANATOMY = SKILL_EXPERT,
57+
SKILL_CHEMISTRY = SKILL_BASIC,
58+
SKILL_DEVICES = SKILL_ADEPT
59+
)
60+
61+
max_skill = list(
62+
SKILL_BUREAUCRACY = SKILL_MAX,
63+
SKILL_FINANCE = SKILL_MAX,
64+
SKILL_EVA = SKILL_MAX,
65+
SKILL_MECH = SKILL_MAX,
66+
SKILL_PILOT = SKILL_MAX,
67+
SKILL_HAULING = SKILL_MAX,
68+
SKILL_COMPUTER = SKILL_MAX,
69+
SKILL_BOTANY = SKILL_MAX,
70+
SKILL_COOKING = SKILL_MAX,
71+
SKILL_COMBAT = SKILL_MAX,
72+
SKILL_WEAPONS = SKILL_MAX,
73+
SKILL_FORENSICS = SKILL_MAX,
74+
SKILL_CONSTRUCTION = SKILL_ADEPT,
75+
SKILL_ELECTRICAL = SKILL_ADEPT,
76+
SKILL_ATMOS = SKILL_ADEPT,
77+
SKILL_ENGINES = SKILL_ADEPT,
78+
SKILL_DEVICES = SKILL_MAX,
79+
SKILL_SCIENCE = SKILL_MAX,
80+
SKILL_MEDICAL = SKILL_MAX,
81+
SKILL_ANATOMY = SKILL_MAX,
82+
SKILL_CHEMISTRY = SKILL_MAX
83+
)
84+
skill_points = 20
85+
86+
/datum/job/submap/scavver_engineer
87+
title = "Salvage Engineer"
88+
total_positions = 2
89+
outfit_type = /decl/hierarchy/outfit/job/scavver/engineer
90+
supervisors = "The trust of your fellow crew."
91+
info = "You are an Engineer aboard your meagre Salvage team. Keep your rig in functional order, upgrade what systems you can, and don't space yourself. \
92+
Your weapons are limited; trade, salvage, but avoid conflict as a matter of course."
93+
whitelisted_species = list(SPECIES_HUMAN,SPECIES_IPC)
94+
is_semi_antagonist = TRUE
95+
min_skill = list(
96+
SKILL_HAULING = SKILL_BASIC,
97+
SKILL_COMPUTER = SKILL_BASIC,
98+
SKILL_EVA = SKILL_EXPERT,
99+
SKILL_CONSTRUCTION = SKILL_ADEPT,
100+
SKILL_ELECTRICAL = SKILL_BASIC,
101+
SKILL_ATMOS = SKILL_BASIC,
102+
SKILL_ENGINES = SKILL_BASIC
103+
)
104+
105+
max_skill = list(
106+
SKILL_BUREAUCRACY = SKILL_MAX,
107+
SKILL_FINANCE = SKILL_MAX,
108+
SKILL_EVA = SKILL_MAX,
109+
SKILL_MECH = SKILL_MAX,
110+
SKILL_PILOT = SKILL_MAX,
111+
SKILL_HAULING = SKILL_MAX,
112+
SKILL_COMPUTER = SKILL_MAX,
113+
SKILL_BOTANY = SKILL_MAX,
114+
SKILL_COOKING = SKILL_MAX,
115+
SKILL_COMBAT = SKILL_MAX,
116+
SKILL_WEAPONS = SKILL_MAX,
117+
SKILL_FORENSICS = SKILL_MAX,
118+
SKILL_CONSTRUCTION = SKILL_MAX,
119+
SKILL_ELECTRICAL = SKILL_MAX,
120+
SKILL_ATMOS = SKILL_MAX,
121+
SKILL_ENGINES = SKILL_MAX,
122+
SKILL_DEVICES = SKILL_MAX,
123+
SKILL_SCIENCE = SKILL_MAX,
124+
SKILL_MEDICAL = SKILL_ADEPT,
125+
SKILL_ANATOMY = SKILL_ADEPT,
126+
SKILL_CHEMISTRY = SKILL_ADEPT
127+
)
128+
skill_points = 20
129+
130+
/obj/effect/submap_landmark/spawnpoint/scavver_pilot
131+
name = "Salvage Pilot"
132+
133+
/obj/effect/submap_landmark/spawnpoint/scavver_doctor
134+
name = "Salvage Doctor"
135+
136+
/obj/effect/submap_landmark/spawnpoint/scavver_engineer
137+
name = "Salvage Engineer"
138+
139+
/decl/hierarchy/outfit/job/scavver
140+
name = "Salvager"
141+
l_ear = null
142+
r_ear = null
143+
uniform = /obj/item/clothing/under/frontier
144+
r_pocket = /obj/item/device/radio
145+
l_pocket = /obj/item/weapon/crowbar/prybar
146+
shoes = /obj/item/clothing/shoes/workboots
147+
gloves = /obj/item/clothing/gloves/thick
148+
belt = /obj/item/weapon/gun/energy/gun/small
149+
hierarchy_type = /decl/hierarchy/outfit/job/scavver
150+
id_type = null
151+
pda_type = null
152+
153+
/decl/hierarchy/outfit/job/scavver/engineer
154+
name = "Salvage Engineer"
155+
uniform = /obj/item/clothing/under/hazard
156+
r_pocket = /obj/item/device/radio
157+
l_pocket = /obj/item/weapon/crowbar/prybar
158+
shoes = /obj/item/clothing/shoes/workboots
159+
gloves = /obj/item/clothing/gloves/thick/duty
160+
glasses = /obj/item/clothing/glasses/meson
161+
belt = null
162+
163+
/decl/hierarchy/outfit/job/scavver/pilot
164+
name = "Salvage Pilot"
165+
uniform = /obj/item/clothing/under/rank/dispatch
166+
suit = /obj/item/clothing/suit/armor/pcarrier/light
167+
r_pocket = /obj/item/device/radio
168+
l_pocket = /obj/item/weapon/crowbar/prybar
169+
shoes = /obj/item/clothing/shoes/jackboots
170+
belt = null
171+
172+
/decl/hierarchy/outfit/job/scavver/doctor
173+
name = "Salvage Doctor"
174+
uniform = /obj/item/clothing/under/caretaker
175+
r_pocket = /obj/item/device/radio
176+
l_pocket = /obj/item/weapon/crowbar/prybar
177+
suit = /obj/item/clothing/suit/storage/toggle/labcoat
178+
shoes = /obj/item/clothing/shoes/white
179+
gloves = /obj/item/clothing/gloves/latex
180+
belt = null

0 commit comments

Comments
 (0)