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

Project ARES - Apollo Controller #3783

Merged
merged 49 commits into from
Jul 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
02b9ae8
Code quality
realforest2001 Jun 28, 2023
14276e8
Started work on reports
realforest2001 Jun 28, 2023
455ec58
ID and ARES size
realforest2001 Jul 1, 2023
271d2c5
12.8.3
realforest2001 Jul 2, 2023
263e889
Merge branch 'master' into project/apollo_controller
realforest2001 Jul 2, 2023
506254e
ARES punctuation & Fixes
realforest2001 Jul 2, 2023
0713611
ui icons
realforest2001 Jul 3, 2023
708a9df
Apollo Follow
realforest2001 Jul 4, 2023
c4269d6
red
realforest2001 Jul 4, 2023
689faea
Proc creation
Ben10083 Jul 11, 2023
9812da5
Implement proc to various admin functions
Ben10083 Jul 11, 2023
23dadb8
Add ares log proc
Ben10083 Jul 11, 2023
21a1f4e
Implement proc
Ben10083 Jul 11, 2023
4e533a9
Log bioscan only if ares can log
Ben10083 Jul 11, 2023
9d35a04
Beagle Request: Allow messages to send even without working processor…
Ben10083 Jul 11, 2023
185c8a6
Nit Picks
Ben10083 Jul 11, 2023
9e9ef12
Bioscan Failure Announcement
Ben10083 Jul 12, 2023
495c132
Rename of bioscan proc
Ben10083 Jul 12, 2023
e6823fa
Log failure into Bioscan Logs
Ben10083 Jul 12, 2023
d5e7054
oops need to move variable
Ben10083 Jul 12, 2023
01a2f5d
forced exception
Ben10083 Jul 12, 2023
eaa1e7f
istype link checks for procs
Ben10083 Jul 12, 2023
65328b6
Edit to Bioscan logging proc
Ben10083 Jul 12, 2023
643a85f
Adjustment: bioscan will log if interface down
Ben10083 Jul 12, 2023
9bb1e38
Change of format for failure message
Ben10083 Jul 12, 2023
2bce20f
forgot to check if interface subsystem also goes down for bioscan fai…
Ben10083 Jul 12, 2023
895867e
Proper procs used
Ben10083 Jul 12, 2023
c2f8cbd
Inform admins if bioscan occurred but not announced/logged
Ben10083 Jul 12, 2023
a67c63d
Remove admin msgs (made a mistake, fixing)
Ben10083 Jul 12, 2023
a2769a2
Restore old msg
Ben10083 Jul 12, 2023
032bfdf
Admin message for no announcement (for real this time)
Ben10083 Jul 12, 2023
b66be49
indents
Ben10083 Jul 12, 2023
37f84ae
Update code/game/machinery/ARES/ARES_procs.dm
Ben10083 Jul 13, 2023
ed926c2
Update code/game/machinery/ARES/ARES_procs.dm
Ben10083 Jul 13, 2023
a4ff6b0
beginning on access
realforest2001 Jul 15, 2023
0133fb2
Vent Gas
realforest2001 Jul 15, 2023
e1acb04
Merge pull request #8 from Ben10083/project/apollo_controller
realforest2001 Jul 15, 2023
6c57a38
Merge remote-tracking branch 'cmss13-devs/master' into project/apollo…
realforest2001 Jul 15, 2023
c40aada
General Quarters
Ben10083 Jul 15, 2023
852ca03
Modification to chat warning
Ben10083 Jul 15, 2023
64c2cd6
Icon for button
Ben10083 Jul 15, 2023
0c6722c
Gas Mask
realforest2001 Jul 15, 2023
d05b56a
Working Joe new Categories, Fire priority, Unclaim tickets, mark uncl…
Ben10083 Jul 15, 2023
a93ea71
Merge pull request #10 from Ben10083/Working_Joe_Tickets
realforest2001 Jul 20, 2023
7af6ca7
Merge pull request #9 from Ben10083/project/apollo_controller
realforest2001 Jul 20, 2023
bbe9dee
Apply suggestions from code review
realforest2001 Jul 20, 2023
e864623
Merge remote-tracking branch 'cmss13-devs/master' into project/apollo…
realforest2001 Jul 20, 2023
2390908
requested changes
realforest2001 Jul 20, 2023
78f1e33
Nitpicky Harry
realforest2001 Jul 24, 2023
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
13 changes: 11 additions & 2 deletions code/__DEFINES/ARES.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,20 @@
#define APOLLO_ACCESS_DEBUG 5

/// Ticket statuses, both for Access and Maintenance
/// Pending assignment/rejection
#define TICKET_PENDING "pending"
/// Assigned to a WJ
#define TICKET_ASSIGNED "assigned"
#define TICKET_REJECTED "rejected"
/// Cancelled by reporter
#define TICKET_CANCELLED "cancelled"
#define TICKET_COMPLETED "complete"
/// Rejected by WJs
#define TICKET_REJECTED "rejected"
/// Completed by WJs
#define TICKET_COMPLETED "completed"

/// Checks for if buttons can be used, these may yet be removed and internalised to the UI programming
#define TICKET_OPEN "OPEN"
#define TICKET_CLOSED "CLOSED"

/// Cooldowns
#define COOLDOWN_ARES_SENSOR 60 SECONDS
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/atmospherics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,7 @@

/// This was a define, but I changed it to a variable so it can be changed in-game.(kept the all-caps definition because... code...) -Errorage
var/MAX_EXPLOSION_RANGE = 14

/// Used in /obj/structure/pipes/vents/proc/create_gas
#define VENT_GAS_SMOKE "Smoke"
#define VENT_GAS_CN20 "CN20 Nerve Gas"
1 change: 1 addition & 0 deletions code/__DEFINES/typecheck/mobs_generic.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#define isAI(A) (istype(A, /mob/living/silicon/ai))
#define isARES(A) (istype(A, /mob/living/silicon/decoy/ship_ai))
#define isSilicon(A) (istype(A, /mob/living/silicon))
#define isRemoteControlling(M) (M && M.client && M.client.remote_control)
#define isRemoteControllingOrAI(M) ((M && M.client && M.client.remote_control) || (istype(M, /mob/living/silicon/ai)))
Expand Down
6 changes: 3 additions & 3 deletions code/defines/procs/announcement.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
targets.Remove(H)

var/datum/ares_link/link = GLOB.ares_link
if(link.interface && !(link.interface.inoperable()))
if(ares_can_log())
switch(logging)
if(ARES_LOG_MAIN)
link.log_ares_announcement(title, message)
Expand Down Expand Up @@ -99,7 +99,7 @@
INVOKE_ASYNC(AI, TYPE_PROC_REF(/mob/living/silicon/decoy/ship_ai, say), message)

var/datum/ares_link/link = GLOB.ares_link
if(link.interface && !(link.interface.inoperable()))
if(ares_can_log())
switch(logging)
if(ARES_LOG_MAIN)
link.log_ares_announcement("[MAIN_AI_SYSTEM] Comms Update", message)
Expand Down Expand Up @@ -151,7 +151,7 @@
targets.Remove(T)

var/datum/ares_link/link = GLOB.ares_link
if(link.interface && !(link.interface.inoperable()))
if(ares_can_log())
link.log_ares_announcement("[title] Shipwide Update", message)

announcement_helper(message, title, targets, sound_to_play)
Expand Down
21 changes: 15 additions & 6 deletions code/game/bioscans.dm
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new)


/// This will do something after Project ARES.
/datum/bioscan_data/proc/can_ares_bioscan()
/datum/bioscan_data/proc/ares_can_bioscan()
var/datum/ares_link/link = GLOB.ares_link
if(!istype(link))
return FALSE
Expand All @@ -120,8 +120,15 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new)

/// The announcement to all Humans. Slightly off for the planet and elsewhere, accurate for the ship.
/datum/bioscan_data/proc/ares_bioscan(forced = FALSE, variance = 2)
if(!forced && !can_ares_bioscan())
message_admins("BIOSCAN: An ARES bioscan has failed.")
var/datum/ares_link/link = GLOB.ares_link
if(!forced && !ares_can_bioscan())
message_admins("An ARES Bioscan has failed.")
var/name = "[MAIN_AI_SYSTEM] Bioscan Status"
var/input = "Bioscan failed. \n\nInvestigation into Bioscan subsystem recommended."
if(ares_can_log())
link.log_ares_bioscan(name, input)
if(ares_can_interface())
marine_announcement(input, name, 'sound/misc/interference.ogg', logging = ARES_LOG_NONE)
return
//Adjust the randomness there so everyone gets the same thing
var/fake_xenos_on_planet = max(0, xenos_on_planet + rand(-variance, variance))
Expand All @@ -130,10 +137,12 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new)

log_game("BIOSCAN: ARES bioscan completed. [input]")

var/datum/ares_link/link = GLOB.ares_link
link.log_ares_bioscan(name, input)
if(forced || (link.p_interface && !link.p_interface.inoperable()))
if(forced || ares_can_log())
link.log_ares_bioscan(name, input) //if interface is down, bioscan still logged, just have to go read it.
if(forced || ares_can_interface())
marine_announcement(input, name, 'sound/AI/bioscan.ogg', logging = ARES_LOG_NONE)
else
message_admins("An ARES Bioscan has succeeded, but was not announced.")

/// The announcement to all Xenos. Slightly off for the human ship, accurate otherwise.
/datum/bioscan_data/proc/qm_bioscan(variance = 2)
Expand Down
Loading
Loading