Procgen Fixes 12/5 (#38659)

* moar fixes

* debug
This commit is contained in:
west3436
2025-12-08 19:00:06 -05:00
committed by GitHub
parent e7dd595af8
commit 234015d455
7 changed files with 39 additions and 44 deletions

View File

@@ -370,6 +370,21 @@
return
for(var/atom/movable/AA in linked_area)
INVOKE_EVENT(AA, /event/z_transition, "user" = AA, "to_z" = D.z, "from_z" = linked_port.z)
if(istype(AA, /mob/living))
var/mob/living/LL = AA
if(istype(D,/obj/docking_port/destination/planet_surface))
if(istype(linked_port,/obj/docking_port/destination/planet_surface))
INVOKE_EVENT(LL, /event/planet_entered, LL, D.planet)
INVOKE_EVENT(LL, /event/planet_exited, LL, linked_port.planet)
continue
LL.register_event(/event/planet_entered, D.planet, "on_mob_entered")
LL.register_event(/event/planet_exited, D.planet, "on_mob_exited")
INVOKE_EVENT(LL, /event/planet_entered, LL, D.planet)
else if(istype(linked_port,/obj/docking_port/destination/planet_surface))
INVOKE_EVENT(LL, /event/planet_exited, LL, linked_port.planet)
LL.unregister_event(/event/planet_entered, linked_port.planet, "on_mob_entered")
LL.unregister_event(/event/planet_exited, linked_port.planet, "on_mob_exited")
if(transit_port && get_transit_delay())
if(broadcast)
@@ -391,14 +406,19 @@
return
if(transit_port && get_transit_delay())
if(use_transit == TRANSIT_ALWAYS || (use_transit == TRANSIT_ACROSS_Z_LEVELS && (linked_area.z != destination_port.z)))
if(use_transit == TRANSIT_ALWAYS || (use_transit == TRANSIT_ACROSS_Z_LEVELS && (linked_area.z != destination_port.z)) || (istype(destination_port,/obj/docking_port/destination/planet_surface) || istype(linked_port,/obj/docking_port/destination/planet_surface)))
close_all_doors()
move_to_dock(transit_port)
spawn(max(1,get_transit_delay()-5))
for(var/obj/structure/shuttle/engine/propulsion/P in linked_area)
spawn()
P.shoot_exhaust()
animate_transit()
for(var/atom/A in linked_area.contents)
animate(A)
A.pixel_y = initial(A.pixel_y)
if(istype(A,/mob/living))
var/mob/living/M = A
M << sound("sound/machines/hyperspace_progress.ogg", repeat = 0, wait = 1, channel = CHANNEL_AMBIENCE, volume = 75)
sleep(get_transit_delay())
if(destination_port)
@@ -415,9 +435,9 @@
if(istype(A,/obj/structure/shuttle/engine/heater))
var/obj/structure/shuttle/engine/heater/H = A
H.activate()
if(istype(A,/mob))
var/mob/M = A
M << sound("sound/machines/hyperspace_begin.ogg", repeat = 0, wait = 0, channel = CHANNEL_AMBIENCE, volume = 75)
if(istype(A,/mob/living))
var/mob/living/M = A
M << sound("sound/machines/hyperspace_begin.ogg", repeat = 0, wait = 0, channel = CHANNEL_AMBIENCE, volume = 50)
if(istype(A,/turf))
var/turf/T = A
for(var/obj/O in T.contents)
@@ -431,33 +451,12 @@
animate(pixel_y = base_y + variation, time = 10, easing = SINE_EASING, loop = -1)
animate(pixel_y = base_y - variation, time = 10, easing = SINE_EASING)
/datum/shuttle/proc/animate_transit()
var/variation = rand(1,2)
for(var/atom/A in linked_area.contents)
var/skip = FALSE
A.pixel_y = initial(A.pixel_y)
if(istype(A,/mob))
var/mob/M = A
M << sound("sound/machines/hyperspace_progress.ogg", repeat = 0, wait = 1, channel = CHANNEL_AMBIENCE, volume = 75)
if(istype(A,/turf))
var/turf/T = A
for(var/obj/O in T.contents)
if(istype(O,/obj/structure/shuttle/diag_wall))
skip = TRUE
break
if(skip)
continue
var/base_y = initial(A.pixel_y)
animate(A, pixel_y = base_y , time = 10, easing = SINE_EASING|EASE_OUT, loop = -1)
animate(pixel_y = base_y - variation, time = 10, easing = SINE_EASING)
animate(pixel_y = base_y + variation, time = 10, easing = SINE_EASING)
/datum/shuttle/proc/animate_landing()
for(var/atom/A in linked_area.contents)
var/skip = FALSE
if(istype(A,/mob))
var/mob/M = A
M << sound("sound/machines/hyperspace_end.ogg", repeat = 0, wait = 0, channel = CHANNEL_AMBIENCE, volume = 75)
if(istype(A,/mob/living))
var/mob/living/M = A
M << sound("sound/machines/hyperspace_end.ogg", repeat = 0, wait = 0, channel = CHANNEL_AMBIENCE, volume = 50)
if(istype(A,/turf))
var/turf/T = A
for(var/obj/O in T.contents)
@@ -1222,6 +1221,7 @@
docking_port = new(port_turf)
docking_port.dir = port_dir
docking_port.areaname = "[planet.planet_name] surface"
docking_port.planet = planet
if(planet.default_baseturf)
docking_port.base_turf_type = planet.default_baseturf
@@ -1289,7 +1289,7 @@
for(var/rel_x = safe_x_min; rel_x <= safe_x_max; rel_x++)
for(var/rel_y = safe_y_min; rel_y <= safe_y_max; rel_y++)
var/turf/T = turf_matrix[rel_x][rel_y]
if(T && !iswall(T) && !istype(T, /turf/unsimulated/mineral))
if(T && !iswall(T) && !istype(T, /turf/unsimulated/mineral) && istype(T.loc, /area/planet) && !istype(T, /turf/unsimulated/beach/water) && !istype(T,/turf/unsimulated/floor/planetary/lava))
search_positions += T
// Shuffle the search positions for randomization

View File

@@ -202,6 +202,7 @@ var/global/list/adminbusteleportlocs = list()
/area/shuttle/Exited(atom/movable/Obj)
..()
animate(Obj)
Obj.pixel_y = initial(Obj.pixel_y)
/area/shuttle/arrival

View File

@@ -136,7 +136,8 @@
break
if(climate_added)
break
var/datum/climate/Cnew = SSweather.get_climate(T.z)
var/datum/allocation/A = SSmapping.get_allocation(trf = T)
var/datum/climate/Cnew = SSweather.get_climate(T.z,A)
if(climate_added && Cnew)
Cnew.register_weather_turf(T, TRUE)
plane = EFFECTS_PLANE

View File

@@ -1,7 +1,6 @@
/turf/unsimulated/beach
name = "Beach"
icon = 'icons/misc/beach.dmi'
plane = PLATING_PLANE
/turf/unsimulated/beach/New()
..()

View File

@@ -296,18 +296,12 @@ var/global/datum/shuttle/exploration/exploration_shuttle = new(starting_area = /
can_link_to_computer = LINK_PASSWORD_ONLY
password = TRUE
stable = 1 //Don't stun everyone and don't throw anything when moving
can_rotate = 0 //Sleepers, body scanners and multi-tile airlocks aren't rotated properly
can_rotate = 1
/datum/shuttle/exploration/initialize()
.=..()
add_dock(/obj/docking_port/destination/exploration/station)
add_dock(/obj/docking_port/destination/salvage/arrivals)
add_dock(/obj/docking_port/destination/salvage/north)
add_dock(/obj/docking_port/destination/salvage/east)
add_dock(/obj/docking_port/destination/salvage/south)
add_dock(/obj/docking_port/destination/salvage/mining)
add_dock(/obj/docking_port/destination/salvage/trading_post)
add_dock(/obj/docking_port/destination/salvage/derelict)
add_dock(/obj/docking_port/destination/salvage/dj)
/datum/shuttle/exploration/after_flight()
..()

View File

@@ -116,7 +116,7 @@ export const PlanetScanner = (props) => {
</Stack.Item>
)}
{!powered && anchored && (
{!powered && !!anchored && (
<Stack.Item>
<Section>
<Box color="bad">No power</Box>
@@ -124,7 +124,7 @@ export const PlanetScanner = (props) => {
</Stack.Item>
)}
{scanning_disabled && powered && anchored && (
{!!scanning_disabled && !!powered && !!anchored && (
<Stack.Item grow>
<Section fill>
<Stack fill vertical justify="center" align="center">
@@ -180,7 +180,7 @@ export const PlanetScanner = (props) => {
</Stack.Item>
)}
{!!powered && anchored && !scanning_disabled && (
{!!powered && !!anchored && !scanning_disabled && (
<>
<Stack.Item>
<Section title="Scanner Status">

File diff suppressed because one or more lines are too long