Merge pull request #32 from Aurorastation/ship_windows_and_more

Moves robotics, fixes announcements, and more
This commit is contained in:
Alberyk
2022-01-31 02:36:48 -03:00
committed by GitHub
19 changed files with 2295 additions and 2805 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
extended_round_description = "We are on an unavoidable collision course with an asteroid field. You have only a moment to prepare before you are barraged by dust and meteors. As if it was not enough, all kinds of negative events seem to happen more frequently. Good Luck."
config_tag = "meteor"
required_players = 15 // Definitely not good for low-pop
votable = 0
votable = 1
shuttle_delay = 2
var/next_wave = INFINITY // Set in post_setup() correctly to take into account potential longer pre-start times.
var/alert_sent = 0
@@ -318,4 +318,22 @@
/obj/item/device/mass_spectrometer,
/obj/item/reagent_containers/glass/beaker/vial,
/obj/item/reagent_containers/syringe
)
/obj/item/storage/box/fancy/tray/robotics
starts_with = list(
/obj/item/surgery/circular_saw = 1,
/obj/item/surgery/hemostat = 1,
/obj/item/surgery/retractor = 1,
/obj/item/surgery/scalpel = 1,
/obj/item/surgery/surgicaldrill = 1
)
can_hold = list(
/obj/item/surgery/circular_saw,
/obj/item/surgery/circular_saw,
/obj/item/surgery/hemostat,
/obj/item/surgery/retractor,
/obj/item/surgery/scalpel,
/obj/item/surgery/surgicaldrill
)
+1 -11
View File
@@ -480,13 +480,6 @@
/obj/structure/window/shuttle/skrell
)
/obj/structure/window/shuttle/scc
icon = 'icons/turf/shuttles_unique/scc_shuttle_pieces.dmi'
icon_state = "scc_window"
basestate = "scc_window"
health = 160
maxhealth = 160
smooth = 0
/obj/structure/window/shuttle/scc_space_ship
name = "window"
@@ -504,12 +497,9 @@
smooth = SMOOTH_MORE
/obj/structure/window/shuttle/scc
icon = 'icons/turf/shuttles_unique/scc_shuttle_pieces.dmi'
icon_state = "scc_window"
basestate = "scc_window"
icon = 'icons/obj/smooth/scc_shuttle_window.dmi'
health = 160
maxhealth = 160
smooth = 0
/obj/structure/window/shuttle/crescent
desc = "It looks rather strong."
@@ -179,12 +179,6 @@
icon_state = "necro_sec_alt"
worn_state = "necro_sec_alt"
/obj/item/clothing/under/rank/security/idris
name = "Idris Incorporated security uniform"
desc = "A uniform worn by Idris Incorporated employees and contractors."
icon_state = "idris_sec"
worn_state = "idris_sec"
/obj/item/clothing/under/rank/security/eridani
name = "Eridani PMC uniform"
desc = "A uniform worn by contracted Eridani security forces."
+15 -11
View File
@@ -20,15 +20,17 @@
despawn_turfs = typecacheof(despawn_turfs)
/datum/event/carp_migration/announce()
if(affecting_z in current_map.station_levels)
var/announcement = ""
var/soundfile = 'sound/AI/spacecarp.ogg'
if(severity == EVENT_LEVEL_MAJOR && deploy_drones)
announcement = "Massive migration of unknown biological entities has been detected near [location_name()], please stand-by. The NDV Icarus has dispatched combat drones to assist."
soundfile = 'sound/AI/massivespacecarp.ogg'
else
announcement = "Unknown biological [length(spawned_carp) == 1 ? "entity has" : "entities have"] been detected near [location_name()], please stand-by.[severity == EVENT_LEVEL_MODERATE ? " The NDV Icarus has dispatched combat drones to assist." : ""]"
command_announcement.Announce(announcement, "Lifesign Alert", new_sound = soundfile)
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
var/announcement = ""
var/soundfile = 'sound/AI/spacecarp.ogg'
if(severity == EVENT_LEVEL_MAJOR && deploy_drones)
announcement = "Massive migration of unknown biological entities has been detected near [location_name()], please stand-by. The NDV Icarus has dispatched combat drones to assist."
soundfile = 'sound/AI/massivespacecarp.ogg'
else
announcement = "Unknown biological [length(spawned_carp) == 1 ? "entity has" : "entities have"] been detected near [location_name()], please stand-by.[severity == EVENT_LEVEL_MODERATE ? " The NDV Icarus has dispatched combat drones to assist." : ""]"
command_announcement.Announce(announcement, "Lifesign Alert", new_sound = soundfile)
break
/datum/event/carp_migration/start()
if(severity == EVENT_LEVEL_MAJOR)
@@ -103,8 +105,10 @@
spawn_fish(7, 3, 5)
/datum/event/carp_migration/cozmo/announce()
if(affecting_z in current_map.station_levels)
command_announcement.Announce("A migration of non-hostile entities has been detected outside.", "Lifesign Alert", 'sound/AI/cozmo_migration.ogg')
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
command_announcement.Announce("A migration of non-hostile entities has been detected outside.", "Lifesign Alert", 'sound/AI/cozmo_migration.ogg')
break
/datum/event/carp_migration/cozmo/spawn_fish(var/num_groups, var/group_size_min = 3, var/group_size_max = 5, var/spawn_drones = FALSE)
set waitfor = FALSE
+14 -11
View File
@@ -7,15 +7,16 @@
/datum/event/electrical_storm/announce()
..()
if(affecting_z in current_map.station_levels)
switch(severity)
if(EVENT_LEVEL_MUNDANE)
command_announcement.Announce("A minor electrical storm has been detected near the [location_name()]. Please watch out for possible electrical discharges.", "[location_name()] Sensor Array", new_sound = 'sound/AI/electronicoverload.ogg')
if(EVENT_LEVEL_MODERATE)
command_announcement.Announce("The [location_name()] is about to pass through an electrical storm. Please secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array", new_sound = 'sound/AI/electronicoverload.ogg')
if(EVENT_LEVEL_MAJOR)
command_announcement.Announce("Alert. A strong electrical storm has been detected in proximity of the [location_name()]. It is recommended to immediately secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array", new_sound = 'sound/AI/electronicoverload.ogg')
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
switch(severity)
if(EVENT_LEVEL_MUNDANE)
command_announcement.Announce("A minor electrical storm has been detected near the [location_name()]. Please watch out for possible electrical discharges.", "[location_name()] Sensor Array", new_sound = 'sound/AI/electronicoverload.ogg')
if(EVENT_LEVEL_MODERATE)
command_announcement.Announce("The [location_name()] is about to pass through an electrical storm. Please secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array", new_sound = 'sound/AI/electronicoverload.ogg')
if(EVENT_LEVEL_MAJOR)
command_announcement.Announce("Alert. A strong electrical storm has been detected in proximity of the [location_name()]. It is recommended to immediately secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array", new_sound = 'sound/AI/electronicoverload.ogg')
break
/datum/event/electrical_storm/start()
..()
@@ -67,5 +68,7 @@
/datum/event/electrical_storm/end()
..()
if(affecting_z in current_map.station_levels)
command_announcement.Announce("The [location_name()] has cleared the electrical storm. Please repair any electrical overloads.", "Electrical Storm Alert")
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
command_announcement.Announce("The [location_name()] has cleared the electrical storm. Please repair any electrical overloads.", "Electrical Storm Alert")
break
+4 -2
View File
@@ -7,8 +7,10 @@
endWhen = rand(15, 60)
/datum/event/gravity/announce()
if(affecting_z in current_map.station_levels)
command_announcement.Announce("Feedback surge detected in the gravity generation systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes.", "Gravity Failure")
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
command_announcement.Announce("Feedback surge detected in the gravity generation systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes.", "Gravity Failure")
break
/datum/event/gravity/start()
gravity_is_on = 0
+16 -6
View File
@@ -19,12 +19,16 @@
endWhen = worst_case_end()
/datum/event/meteor_wave/announce()
if(affecting_z in current_map.station_levels)
command_announcement.Announce(current_map.meteors_detected_message, "Meteor Alert", new_sound = 'sound/AI/meteors.ogg')
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
command_announcement.Announce(current_map.meteors_detected_message, "Meteor Alert", new_sound = 'sound/AI/meteors.ogg')
break
/datum/event/meteor_wave/start()
if(affecting_z in current_map.station_levels)
command_announcement.Announce(current_map.meteor_contact_message, "Meteor Alert")
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
command_announcement.Announce(current_map.meteor_contact_message, "Meteor Alert")
break
/datum/event/meteor_wave/end(var/faked)
if(faked)
@@ -104,7 +108,10 @@
return downed_ship_meteors
/datum/event/meteor_wave/downed_ship/announce()
command_announcement.Announce(current_map.ship_meteor_end_message, "Ship Debris Alert", new_sound = 'sound/AI/unknownvesseldowned.ogg')
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
command_announcement.Announce(current_map.ship_meteor_end_message, "Ship Debris Alert", new_sound = 'sound/AI/unknownvesseldowned.ogg')
break
/datum/event/meteor_wave/downed_ship/start()
command_announcement.Announce(current_map.ship_meteor_contact_message, "Ship Debris Alert")
@@ -127,7 +134,10 @@
ic_name = "a dust belt"
/datum/event/meteor_wave/dust/announce()
command_announcement.Announce(current_map.dust_detected_message, "Dust Belt Alert")
for (var/zlevel in affecting_z)
if(zlevel in current_map.station_levels)
command_announcement.Announce(current_map.dust_detected_message, "Dust Belt Alert")
break
/datum/event/meteor_wave/dust/start()
command_announcement.Announce(current_map.dust_contact_message, "Dust Belt Alert")
@@ -321,7 +321,7 @@
/mob/living/silicon/robot/proc/process_level_restrictions()
//Abort if they should not get blown
if(lock_charge || scrambled_codes || emagged)
if(lock_charge || scrambled_codes || emagged || current_map.allow_borgs_to_leave)
return FALSE
//Check if they are on a player level -> abort
var/turf/T = get_turf(src)
@@ -295,7 +295,9 @@
max_stack = 2
/obj/item/ammo_casing/gauss/carbine
name = "compact tungsten slug"
desc = "A heavy tungsten gauss slug. This one has a casing adapated for carbine models."
projectile_type = /obj/item/projectile/bullet/gauss/carbine
/obj/item/ammo_casing/gauss/emp
name = "ion slug"
@@ -352,6 +352,10 @@
muzzle_type = /obj/effect/projectile/muzzle/gauss
embed = 0
/obj/item/projectile/bullet/gauss/carbine
name = "compact slug"
damage = 20
/obj/item/projectile/bullet/gauss/highex
name = "high-ex shell"
damage = 10
Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

+4 -3
View File
@@ -87,8 +87,8 @@
var/meteor_contact_message = "Contact with meteor wave imminent, all hands brace for impact."
var/meteor_end_message = "The station has cleared the meteor shower, please return to your stations."
var/ship_detected_end_message = "The NDV Icarus reports that it has downed an unknown vessel that was approaching your station. Prepare for debris impact - please evacuate the surface level if needed."
var/ship_meteor_contact_message = "Ship debris colliding now, all hands brace for impact."
var/ship_meteor_contact_message = "The NDV Icarus reports that it has downed an unknown vessel that was approaching your station. Prepare for debris impact - please evacuate the surface level if needed."
var/ship_detected_end_message = "Ship debris colliding now, all hands brace for impact."
var/ship_meteor_end_message = "The last of the ship debris has hit or passed by the station, it is now safe to commence repairs."
var/dust_detected_message = "A belt of space dust is approaching the station."
@@ -104,9 +104,10 @@
"Unidentified hackers have targetted a combat drone wing deployed from the NDV Icarus. If any are sighted in the area, approach with caution.")
var/rogue_drone_end_message = "Icarus drone control reports the malfunctioning wing has been recovered safely."
var/rogue_drone_destroyed_message = "Icarus drone control registers disappointment at the loss of the drones, but the survivors have been recovered."
var/num_exoplanets = 0
var/list/planet_size //dimensions of planet zlevel, defaults to world size. Due to how maps are generated, must be (2^n+1) e.g. 17,33,65,129 etc. Map will just round up to those if set to anything other.
var/allow_borgs_to_leave = FALSE //this controls if borgs can leave the station or ship without exploding
/datum/map/New()
if(!map_levels)
+25 -1
View File
@@ -22,7 +22,7 @@
station_name = "SCCV Horizon"
station_short = "Horizon"
dock_name = "The Shipyard"
dock_name = "SCC Shipyard"
dock_short = "Shipyard"
boss_name = "Stellar Corporate Conglomerate"
boss_short = "SCC"
@@ -64,6 +64,28 @@
emergency_shuttle_recall_message = "The emergency evacuation has been canceled."
emergency_shuttle_called_message = "An emergency evacuation has been called. It will start in approximately %ETA%."
meteors_detected_message = "A meteor storm has been detected on collision course with the ship. Estimated three minutes until impact, please activate station shields, and seek shelter in the central areas."
meteor_contact_message = "Contact with meteor wave imminent, all hands brace for impact."
meteor_end_message = "The ship has cleared the meteor shower, please return to your stations."
ship_meteor_contact_message = "Debris from a nearby derelict are on collision course with the ship. Prepare for impact."
ship_detected_end_message = "Ship debris colliding now, all hands brace for impact."
ship_meteor_end_message = "The last of the ship debris has hit or passed by the ship, it is now safe to commence repairs."
dust_detected_message = "A belt of space dust is approaching the ship."
dust_contact_message = "The ship is now passing through a belt of space dust."
dust_end_message = "The ship has now passed through the belt of space dust."
radiation_detected_message = "High levels of radiation detected near the ship. Please evacuate into one of the shielded maintenance tunnels."
radiation_contact_message = "The ship has entered the radiation belt. Please remain in a sheltered area until we have passed the radiation belt."
radiation_end_message = "The ship has passed the radiation belt. Please report to medbay if you experience any unusual symptoms. Maintenance will lose all-access again shortly."
rogue_drone_detected_messages = list("Combat drone swarm from a nearby facility have engaged the ship. If any are sighted in the area, approach with caution.",
"Malfunctioning combat drones have been detected close to the ship. If any are sighted in the area, approach with caution.")
rogue_drone_end_message = "The hostile drone swarm has left the ship's proximity."
rogue_drone_destroyed_message = "Sensors indicate the unidentified drone swarm has left the immediate proximity of the ship."
map_shuttles = list(
/datum/shuttle/autodock/ferry/lift/scc_ship/cargo,
/datum/shuttle/autodock/ferry/lift/scc_ship/morgue,
@@ -90,6 +112,8 @@
spawn_types = list(/datum/spawnpoint/living_quarters_lift, /datum/spawnpoint/cryo)
default_spawn = "Living Quarters Lift"
allow_borgs_to_leave = TRUE
/datum/map/sccv_horizon/finalize_load()
// generate an empty space Z
world.maxz++
@@ -154,6 +154,9 @@
name = "Operations Equipment Storage"
icon_state = "dark160"
/area/operations/lower/machinist
name = "Machinist Workshop"
//Wings
/area/maintenance/substation/wing_starboard
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+13 -100
View File
@@ -4758,15 +4758,6 @@
icon_state = "lino_grey"
},
/area/centcom/bar)
"akr" = (
/obj/effect/ghostspawpoint{
identifier = "OdinChef";
name = "igs - OdinChef"
},
/turf/unsimulated/floor{
icon_state = "lino_grey"
},
/area/centcom/bar)
"aks" = (
/obj/machinery/appliance/cooker/fryer{
stat = 0
@@ -5818,15 +5809,6 @@
icon_state = "lino_grey"
},
/area/centcom/bar)
"amr" = (
/obj/effect/ghostspawpoint{
identifier = "OdinBartender";
name = "igs - OdinBartender"
},
/turf/unsimulated/floor{
icon_state = "lino_grey"
},
/area/centcom/bar)
"ams" = (
/obj/effect/floor_decal/spline/fancy/wood/corner{
dir = 1
@@ -12262,15 +12244,6 @@
icon_state = "dark2"
},
/area/centcom/holding)
"aBV" = (
/obj/effect/ghostspawpoint{
identifier = "OdinCheckpoint";
name = "igs - OdinCheckpoint"
},
/turf/unsimulated/floor{
icon_state = "dark2"
},
/area/centcom/holding)
"aBW" = (
/obj/structure/table/rack,
/obj/item/clothing/mask/gas/half,
@@ -12835,10 +12808,6 @@
},
/area/centcom/holding)
"aDo" = (
/obj/effect/ghostspawpoint{
identifier = "OdinCheckpoint";
name = "igs - OdinCheckpoint"
},
/obj/structure/bed/stool/chair/office/dark{
dir = 8
},
@@ -14738,20 +14707,8 @@
},
/turf/unsimulated/floor,
/area/centcom/ferry)
"aIX" = (
/obj/effect/landmark{
name = "LateJoinCorporate Liaison"
},
/obj/structure/bed/stool/chair/padded/blue,
/turf/unsimulated/floor{
icon_state = "wood_light"
},
/area/centcom/ferry)
"aIY" = (
/obj/structure/bed/stool/chair/padded/blue,
/obj/effect/landmark{
name = "LateJoinCorporate Liaison"
},
/turf/unsimulated/floor{
icon_state = "wood_light"
},
@@ -14932,17 +14889,6 @@
icon_state = "wood_light"
},
/area/centcom/ferry)
"aJA" = (
/obj/structure/bed/stool/chair/padded/blue{
dir = 8
},
/obj/effect/landmark{
name = "LateJoinConsular Officer"
},
/turf/unsimulated/floor{
icon_state = "wood_light"
},
/area/centcom/ferry)
"aJB" = (
/obj/effect/floor_decal/corner/paleblue{
dir = 9
@@ -15155,9 +15101,6 @@
},
/area/centcom/ferry)
"aKg" = (
/obj/effect/landmark{
name = "LateJoinConsular Officer"
},
/obj/structure/bed/stool/chair/padded/blue{
dir = 8
},
@@ -17855,22 +17798,10 @@
"aRt" = (
/turf/simulated/floor,
/area/tdome/tdome1)
"aRw" = (
/obj/structure/window/shuttle/scc{
icon_state = "c4"
},
/turf/simulated/floor/plating,
/area/supply/dock)
"aRx" = (
/obj/structure/computerframe,
/turf/simulated/floor/shuttle/black,
/area/supply/dock)
"aRy" = (
/obj/structure/window/shuttle/scc{
icon_state = "c5"
},
/turf/simulated/floor/plating,
/area/supply/dock)
"aRz" = (
/turf/simulated/wall/shuttle/scc/cardinal,
/area/supply/dock)
@@ -17906,24 +17837,6 @@
icon_state = "floor"
},
/area/tdome/tdome1)
"aRH" = (
/obj/structure/window/shuttle/scc{
icon_state = "c1"
},
/turf/simulated/floor/plating,
/area/supply/dock)
"aRI" = (
/obj/structure/window/shuttle/scc{
icon_state = "c2"
},
/turf/simulated/floor/plating,
/area/supply/dock)
"aRJ" = (
/obj/structure/window/shuttle/scc{
icon_state = "c3"
},
/turf/simulated/floor/plating,
/area/supply/dock)
"aRL" = (
/turf/simulated/floor/plating,
/area/centcom/suppy)
@@ -54841,8 +54754,8 @@ anf
ani
aRz
ank
aRw
aRH
aQY
aQY
aOi
aOi
aNR
@@ -55099,7 +55012,7 @@ anf
anj
anl
aRx
aRI
aQY
aOi
aSm
aNR
@@ -55355,8 +55268,8 @@ anf
ani
aRz
anO
aRy
aRJ
aQY
aQY
aOi
aOi
aNR
@@ -57391,7 +57304,7 @@ aHs
aHK
aIj
aIw
aIX
aIY
aJz
aJz
aKL
@@ -57906,7 +57819,7 @@ aHM
alR
aIw
aIZ
aJA
aKg
aKg
aKL
aLy
@@ -61747,7 +61660,7 @@ awx
azF
aug
aAZ
aBV
ayK
ayK
aDo
aDQ
@@ -62261,9 +62174,9 @@ ayE
azH
aug
aBb
aBV
ayK
aBV
ayK
ayK
aDQ
aum
aFh
@@ -64043,7 +63956,7 @@ akk
adV
alv
ajp
amr
ajp
ajp
ajp
aoF
@@ -67123,7 +67036,7 @@ aik
adV
ajn
ajp
akr
ajp
ajp
ajp
ajp
@@ -67894,7 +67807,7 @@ aik
aht
ajq
ajp
akr
ajp
ajp
ajp
ajp