Skip to content

Commit 1504657

Browse files
committed
done?
1 parent e45a422 commit 1504657

File tree

9 files changed

+137
-36
lines changed

9 files changed

+137
-36
lines changed

code/modules/shuttles/escape_pods.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ var/global/list/escape_pods_by_name = list()
163163
var/command = href_list["command"]
164164
if(command == "manual_arm")
165165
pod.arming_controller.arm()
166+
pod.get_possible_destination()
166167
return TOPIC_REFRESH
167168

168169
if(command == "force_launch")
169-
pod.get_possible_destination()
170170
if (pod.can_launch())
171171
pod.toggle_bds()
172172
pod.launch(src)

maps/sierra/sierra_shuttles.dm

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818
name = "Escaped"
1919

2020
//Pods
21+
22+
/area/shuttle/escape_pod
23+
name = "Escape Pod"
24+
base_turf = /turf/simulated/floor/plating
25+
2126
#define SIERRA_ESCAPE_POD(NUMBER) \
2227
/datum/shuttle/autodock/ferry/escape_pod/sierrapod/escape_pod##NUMBER { \
2328
shuttle_area = /area/shuttle/escape_pod/escape_pod##NUMBER/station; \

maps/sierra/z1-z4_sierra.dmm

Lines changed: 26 additions & 26 deletions
Large diffs are not rendered by default.

mods/RnD/code/designs_autolathe/designs_arms_ammo.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
build_path = /obj/item/ammo_magazine/pistol/double
6868

6969
/datum/design/autolathe/arms_ammo/hidden/magazine_pistol_double_rubber
70-
name = "ammunition (pistol doublestack. rubber)"
70+
name = "ammunition (pistol doublestack rubber)"
7171
build_path = /obj/item/ammo_magazine/pistol/double/rubber
7272

7373
/datum/design/autolathe/arms_ammo/hidden/magazine_small

mods/RnD/code/machinery/rdconsole.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
481481
))
482482

483483
// This calculates how much research points we missed because we already researched items with such orig_tech levels
484-
var/tech_points_mod = files.experiments.get_object_research_value(linked_destroy.loaded_item) / files.experiments.get_object_research_value(linked_destroy.loaded_item, ignoreRepeat = TRUE)
484+
var/tech_points_mod = files.experiments.get_object_research_value(linked_destroy.loaded_item) / (1 + files.experiments.get_object_research_value(linked_destroy.loaded_item, ignoreRepeat = TRUE))
485485

486486
var/list/destroy_list = list(
487487
"has_item" = TRUE,

mods/RnD/code/misc.dm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
icon_state = pick("yellow", "blue", "green", "red", "purple", "black")
3333
max_capacity = 128
3434

35+
/obj/item/stock_parts/computer/hard_drive/portable/design/printable/install_default_programs()
36+
return
37+
3538

3639
/obj/item/stock_parts/computer/hard_drive/portable/LateInitialize(mapload)
3740
install_default_programs()

mods/RnD/code/xenoarch/swap.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717

1818
/datum/artifact_effect/swap/proc/swap(mob/user)
19+
if(!user)
20+
return
1921
if(world.time - last_swap > cooldown)
2022
last_swap = world.time
2123
var/weakness = GetAnomalySusceptibility(user)

mods/utility_items/code/shuttles/pods_landing.dm

Lines changed: 85 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,22 @@
3737
SIGNAL_HANDLER
3838
for(var/A in turfs)
3939
var/turf/T = get_turf(A)
40-
if(prob(50)) // 50% chance to explode
41-
explosion(T, rand(1, 5))
40+
if(istype(T, /turf/simulated/wall))
41+
if(prob(70))
42+
T.damage_health(rand(100, 300), DAMAGE_BRUTE) // 70% chance to damage wall on collision
43+
if(prob(40)) // 40% chance to explode
44+
explosion(T, rand(1, 4))
45+
4246

4347
///////////////////////////////////////////////////////
44-
/area/shuttle/escape_pod
45-
name = "Escape Pod"
46-
base_turf = /turf/simulated/floor/plating
4748

4849
/obj/shuttle_landmark/escape_pod/out
4950
name = "Escape Pod Landing Site"
51+
base_turf = /turf/simulated/floor/plating
52+
53+
/obj/shuttle_landmark/escape_pod/out/New()
54+
.=..()
55+
landmark_tag = "Nav_[name] - [rand(1, 1000)]"
5056

5157

5258
//////////////////////////ESCAPE POD////////////////////////////
@@ -74,15 +80,20 @@
7480
var/obj/shuttle_landmark/escape_pod/out/escape_pod_landmark
7581

7682
/datum/shuttle/autodock/ferry/escape_pod
77-
move_time = 30 SECONDS
7883
var/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/pod_controller
84+
var/destination_chosen
7985

8086
/datum/shuttle/autodock/ferry/escape_pod/New()
8187
.=..()
8288
var/datum/computer/file/embedded_program/docking/simple/prog = SSshuttle.docking_registry[dock_target]
8389
pod_controller = prog.master
8490

91+
8592
/datum/shuttle/autodock/ferry/escape_pod/proc/get_possible_destination()
93+
if(destination_chosen)
94+
return
95+
if(current_location != waypoint_station)
96+
return
8697
var/list/possible_visits
8798
var/obj/overmap/visitable/we = map_sectors["[pod_controller.z]"]
8899
if(!we)
@@ -102,6 +113,8 @@
102113
escape_pod_landmark = new (mark, src)
103114
escape_pod_landmark.landmark_tag = "nav_[name] - site"
104115
next_location = escape_pod_landmark
116+
if(!mark)
117+
next_location = waypoint_offsite
105118

106119
/obj/shuttle_landmark/shuttle_arrived(datum/shuttle/shuttle)
107120
if(istype(shuttle, /datum/shuttle/autodock/ferry/escape_pod))
@@ -110,3 +123,69 @@
110123
if(shuttle.current_location == pod.escape_pod_landmark)
111124
SEND_SIGNAL(src, COMSIG_POD_LANDED, explosion_locations)
112125
return
126+
127+
128+
129+
/obj/machinery/computer/pod_set_destination
130+
name = "Escape Pod Navigation Computer"
131+
desc = "A computer terminal used to set the destination of the escape pod."
132+
icon_state = "tele_nav"
133+
density = FALSE
134+
135+
var/list/possible_visits
136+
var/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/linked
137+
138+
/obj/machinery/computer/pod_set_destination/New()
139+
.=..()
140+
if(!linked)
141+
for(var/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/A in range(2, src))
142+
linked = A
143+
break
144+
145+
/obj/machinery/computer/pod_set_destination/Destroy()
146+
if (linked)
147+
linked = null
148+
. = ..()
149+
150+
/obj/machinery/computer/pod_set_destination/Click()
151+
. = ..()
152+
if(!linked)
153+
for(var/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/A in range(2, src))
154+
linked = A
155+
if(!linked)
156+
to_chat(usr, SPAN_WARNING("No escape pod controller found nearby."))
157+
return
158+
else
159+
get_possible_destinations()
160+
161+
/obj/machinery/computer/pod_set_destination/proc/get_possible_destinations()
162+
if(linked.pod.current_location != linked.pod.waypoint_station)
163+
state("Pod is not docked, cannot set destination.")
164+
return
165+
possible_visits = list()
166+
var/obj/overmap/visitable/destination_pod
167+
var/obj/overmap/visitable/we = map_sectors["[src.z]"]
168+
if(!we)
169+
CRASH("Escape pod [name] could not find it's overmap sector!")
170+
for(var/obj/overmap/visitable/visit in oview(we, 8))
171+
if(visit == we)
172+
continue
173+
if(visit.map_z != we.map_z)
174+
if(visit.map_z in possible_visits)
175+
continue
176+
possible_visits += visit
177+
if(length(possible_visits))
178+
destination_pod = input("Choose pod destination", "Pod Destination") as null|anything in possible_visits
179+
else
180+
linked.pod.next_location = linked.pod.waypoint_offsite
181+
state("Pod destination set to outer space.")
182+
return
183+
var/x_destination = pick(rand(40, 160))
184+
var/y_destination = pick(rand(40, 160))
185+
var/z_destination = pick(destination_pod.map_z)
186+
var/turf/mark = locate(x_destination, y_destination, z_destination)
187+
if(mark)
188+
linked.pod.escape_pod_landmark = new (mark, src)
189+
linked.pod.next_location = linked.pod.escape_pod_landmark
190+
linked.pod.destination_chosen = TRUE
191+
state("Pod destination set to [destination_pod.name].")

mods/vision_cone/code/planes.dm

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
. = ..()
2323
plane = GAME_PLANE_ABOVE_FOV
2424

25-
/obj/structure/bed/chair
25+
/obj/structure/bed
2626
plane = GAME_PLANE_FOV_HIDDEN
2727

2828
/obj/structure/curtain
@@ -33,3 +33,15 @@
3333

3434
/obj/structure/iv_stand
3535
plane = GAME_PLANE_FOV_HIDDEN
36+
37+
/obj/aiming_overlay
38+
plane = GAME_PLANE_FOV_HIDDEN
39+
40+
/obj/fluid
41+
plane = GAME_PLANE_FOV_HIDDEN
42+
43+
/obj/machinery/light
44+
plane = GAME_PLANE_FOV_HIDDEN
45+
46+
/image/hud_overlay
47+
plane = GAME_PLANE_FOV_HIDDEN

0 commit comments

Comments
 (0)