Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Solar devils return to the Golden Arrow, Solar devils can now spawn naturally[Feat: The Tripoli and Midway] #8284

Draft
wants to merge 21 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions code/__DEFINES/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@
#define MOBILE_SHUTTLE_ID_ERT2 "ert_pmc_shuttle"
#define MOBILE_SHUTTLE_ID_ERT3 "ert_upp_shuttle"
#define MOBILE_SHUTTLE_ID_ERT4 "ert_twe_shuttle"
#define MOBILE_SHUTTLE_ID_ERT5 "ert_solar_devils_shuttle"
#define MOBILE_SHUTTLE_ID_ERT_SMALL "ert_small_shuttle_north"
#define MOBILE_SHUTTLE_ID_ERT_BIG "ert_shuttle_big"

Expand All @@ -116,6 +117,8 @@
#define DROPSHIP_SAIPAN "dropship_saipan"
#define DROPSHIP_MORANA "dropship_morana"
#define DROPSHIP_DEVANA "dropship_devana"
#define DROPSHIP_MIDWAY "dropship_midway"
#define DROPSHIP_TRIPOLI "dropship_tripoli"

#define ALMAYER_DROPSHIP_LZ1 "almayer-hangar-lz1"
#define ALMAYER_DROPSHIP_LZ2 "almayer-hangar-lz2"
Expand Down Expand Up @@ -148,3 +151,4 @@
#define ADMIN_LANDING_PAD_4 "base-ert4"
#define ADMIN_LANDING_PAD_5 "base-ert5"
#define ADMIN_LANDING_PAD_6 "base-ert6"
#define ADMIN_LANDING_PAD_7 "base-ert7"
3 changes: 3 additions & 0 deletions code/datums/emergency_calls/ert_stations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,6 @@

/datum/lazy_template/fax_response_base
map_name = "fax_responder_base"

/datum/lazy_template/ert/solar_devils_station
map_name = "solar_devils_ert_station"
13 changes: 10 additions & 3 deletions code/datums/emergency_calls/solar_devils.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
name = "USCM Solar Devils (Half Squad)"
arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess."
objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming."
home_base = /datum/lazy_template/ert/uscm_station
home_base = /datum/lazy_template/ert/solar_devils_station
shuttle_id = MOBILE_SHUTTLE_ID_ERT5
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_solar_devils
probability = 0
mob_min = 3
mob_max = 5
Expand Down Expand Up @@ -45,8 +47,10 @@
name = "USCM Solar Devils (Full Squad)"
arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess."
objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming."
home_base = /datum/lazy_template/ert/uscm_station
probability = 0
home_base = /datum/lazy_template/ert/solar_devils_station
shuttle_id = MOBILE_SHUTTLE_ID_ERT5
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_solar_devils
probability = 10
mob_min = 3
mob_max = 10

Expand Down Expand Up @@ -89,3 +93,6 @@

to_chat(mob, SPAN_ROLE_BODY("You are a member of the 3rd Battalion 'Solar Devils', part of the USCM's 2nd Division, 1st Regiment. Unlike most of the USS Almayer's troops, you are well-trained and properly-equipped career marines. Semper Fidelis."))
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives:</b> [objectives]")), 1 SECONDS)

/obj/effect/landmark/ert_spawns/distress_solar_devils
name = "Solar Devils Spawn"
23 changes: 23 additions & 0 deletions code/game/area/Sulaco.dm
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,29 @@
name = "\improper Devana Landing Zone"
icon_state = "away2"

//Solar Devils

/area/shuttle/midway
name = "\improper Dropship Midway"
icon_state = "shuttlered"
base_muffle = MUFFLE_HIGH
soundscape_interval = 30
is_landing_zone = TRUE
ceiling = CEILING_REINFORCED_METAL

/area/shuttle/tripoli
name = "dropship Tripoli"
icon_state = "shuttlered"
base_muffle = MUFFLE_HIGH
soundscape_interval = 30
is_landing_zone = TRUE
ceiling = CEILING_REINFORCED_METAL

/area/shuttle/tripoli/Enter(atom/movable/O, atom/oldloc)
if(istype(O, /obj/structure/barricade))
return FALSE
return TRUE

//DISTRESS SHUTTLES

/area/shuttle/distress
Expand Down
4 changes: 4 additions & 0 deletions code/game/area/admin_level.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,10 @@
soundscape_playlist = SCAPE_PL_ELEVATOR_MUSIC
icon_state = "yellow"

/area/adminlevel/ert_station/soalar_devils_station
name = "USS Golden Arrow"
icon_state = "yellow"

//Fax Responder areas
/area/adminlevel/ert_station/fax_response_station
name = "Sector Comms Relay"
Expand Down
22 changes: 22 additions & 0 deletions code/game/machinery/computer/dropship_weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,28 @@
firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship()
shuttle_tag = DROPSHIP_SAIPAN

/obj/structure/machinery/computer/dropship_weapons/midway
name = "\improper 'Midway' weapons controls"
req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT)
firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship()
shuttle_tag = DROPSHIP_MIDWAY

/obj/structure/machinery/computer/dropship_weapons/midway/small
icon = 'icons/obj/structures/machinery/computer.dmi'
icon_state = "cameras"
density = FALSE

/obj/structure/machinery/computer/dropship_weapons/tripoli
name = "\improper 'Tripoli' weapons controls"
req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT)
firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship()
shuttle_tag = DROPSHIP_TRIPOLI

/obj/structure/machinery/computer/dropship_weapons/tripoli/small
icon = 'icons/obj/structures/machinery/computer.dmi'
icon_state = "cameras"
density = FALSE

/obj/structure/machinery/computer/dropship_weapons/proc/simulate_firemission(mob/living/user)
if(!configuration)
to_chat(user, SPAN_WARNING("Configure a firemission before attempting to run the simulation"))
Expand Down
3 changes: 3 additions & 0 deletions code/game/machinery/doors/airlock_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -947,6 +947,9 @@
/obj/structure/machinery/door/airlock/hatch/cockpit/upp
icon = 'icons/obj/structures/doors/dropship_upp_pilot.dmi'

/obj/structure/machinery/door/airlock/hatch/cockpit/five
icon = 'icons/obj/structures/doors/dropship5_pilot.dmi'

//PRISON AIRLOCKS
/obj/structure/machinery/door/airlock/prison
name = "cell Door"
Expand Down
6 changes: 6 additions & 0 deletions code/game/machinery/doors/multi_tile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,12 @@
name = "\improper Devana cargo door"
icon = 'icons/obj/structures/doors/dropship_upp_cargo.dmi'


/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ds5
name = "\improper Midway cargo door"
icon = 'icons/obj/structures/doors/dropship5_cargo.dmi'


/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside
width = 2

Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/structures/blocker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -171,3 +171,8 @@
desc = "It is a machine that pumps fuel around the ship."
invisibility = 101
mouse_opacity = MOUSE_OPACITY_TRANSPARENT

/obj/structure/blocker/invisible_wall/directional
name = "directional blocker"
icon_state = "invisible_wall_directional"
flags_atom = ON_BORDER
46 changes: 46 additions & 0 deletions code/game/objects/structures/crane_railing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/obj/structure/roof/cargocrane_tracks
name = "cargo crane track"
desc = "A track for a cargo crane to move along."
icon = 'icons/obj/structures/props/cargocrane_tracks.dmi'
icon_state = "vertical"
mouse_opacity = FALSE
layer = INTERIOR_ROOF_LAYER

/obj/structure/roof/cargocrane_tracks/Initialize()
var/image/source_image = image(icon, icon_state = "[icon_state]-s")
source_image.pixel_y = -32
source_image.plane = FLOOR_PLANE
source_image.layer = ANIMAL_HIDING_LAYER
overlays += source_image

return ..()

/obj/structure/roof/cargocrane_tracks/horizontal
icon_state = "horizontal"

/obj/structure/roof/cargocrane_tracks/horizontal/endcap1
icon_state = "horizontal_endcap1"

/obj/structure/roof/cargocrane_tracks/horizontal/endcap2
icon_state = "horizontal_endcap2"

/obj/structure/roof/cargocrane_tracks/vertical
icon_state = "vertical"

/obj/structure/roof/cargocrane_tracks/vertical/endcap2
icon_state = "vertical_endcap2"

/obj/structure/roof/cargocrane_tracks/corner
icon_state = "corner"

/obj/structure/roof/cargocrane_tracks/tjoint
icon_state = "t-joint"

/obj/structure/roof/cargocrane_tracks/tjoint2
icon_state = "t-joint2"

/obj/structure/roof/cargocrane_tracks/tjoint3
icon_state = "t-joint3"

/obj/structure/roof/cargocrane_tracks/cross
icon_state = "cross"
5 changes: 5 additions & 0 deletions code/game/objects/structures/props.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1181,3 +1181,8 @@
if(initial(emote.sound))
playsound(loc, initial(emote.sound), 50, FALSE)
return TRUE

/obj/structure/prop/invuln/joey/normal
name = "Working Joe"
desc = "A Seegson-brand Working Joe, stored in the synthetic maintenance station to be called upon whenever you need. If only you had the keys."
icon_state = "joe"
2 changes: 2 additions & 0 deletions code/game/objects/structures/roof.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@
/obj/effect/roof_node //used for observing if mob is near the roof
name = "roof_node"
anchored = TRUE
icon = 'icons/landmarks.dmi'
icon_state = "roof_node"
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
invisibility = 101
unacidable = TRUE
Expand Down
9 changes: 8 additions & 1 deletion code/game/objects/structures/stool_bed_chair_nest/chairs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,13 @@
/obj/structure/bed/chair/dropship/passenger/shuttle_chair
icon_state = "hotseat"


/obj/structure/bed/chair/dropship/passenger/folded

/obj/structure/bed/chair/dropship/passenger/folded/Initialize()
. = ..()
fold_down()

/obj/structure/bed/chair/dropship/passenger/BlockedPassDirs(atom/movable/mover, target_dir, height = 0, air_group = 0)
if(chair_state == DROPSHIP_CHAIR_UNFOLDED && istype(mover, /obj/vehicle/multitile) && !is_animating)
visible_message(SPAN_DANGER("[mover] slams into [src] and breaks it!"))
Expand Down Expand Up @@ -423,7 +430,7 @@
chair_state = DROPSHIP_CHAIR_BROKEN
else
chair_state = DROPSHIP_CHAIR_FOLDED
addtimer(VARSET_CALLBACK(src, icon_state, "hotseat_new_folded"), 5) // animation length
addtimer(VARSET_CALLBACK(src, icon_state, "hotseat_new_folded"), 22) // animation length

/obj/structure/bed/chair/dropship/passenger/shuttle_chair/fold_down(break_it = 1)
if(chair_state == DROPSHIP_CHAIR_UNFOLDED)
Expand Down
16 changes: 16 additions & 0 deletions code/game/turfs/closed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,14 @@
/turf/closed/shuttle/dropship2/transparent
opacity = FALSE

/turf/closed/shuttle/tripoli
name = "\improper Tripoli"
icon = 'icons/turf/dropship.dmi'
icon_state = "1"

/turf/closed/shuttle/tripoli/transparent
opacity = FALSE

/turf/closed/shuttle/twe_dropship
name = "\improper UD4-UK"
icon = 'icons/turf/twedropship.dmi'
Expand Down Expand Up @@ -312,6 +320,14 @@
/turf/closed/shuttle/upp_dropship2/transparent
opacity = FALSE

/turf/closed/shuttle/midway
name = "\improper Midway"
icon = 'icons/turf/dropship5.dmi'
icon_state = "1"

/turf/closed/shuttle/midway/transparent
opacity = FALSE

/turf/closed/shuttle/escapepod
name = "wall"
icon = 'icons/turf/escapepods.dmi'
Expand Down
Loading
Loading