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

New "Bulky" computers, small bug fixes also related to computers, addition of altitude controller to the CIC #6783

Draft
wants to merge 33 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
7a7c03b
R.T.S.1
LC4492 Apr 10, 2024
184b45b
Merge branch 'master' of https://github.com/LC4492/CM-Space-Station-13
LC4492 May 23, 2024
ae3caa1
Merge branch 'cmss13-devs:master' into master
LC4492 Jun 13, 2024
066478e
Merge branch 'cmss13-devs:master' into master
LC4492 Jun 27, 2024
5ddbf4a
Merge branch 'cmss13-devs:master' into master
LC4492 Jul 12, 2024
31e22ad
Merge branch 'cmss13-devs:master' into master
LC4492 Jul 20, 2024
e7db6c6
New CIC Bulky Computers
LC4492 Jul 23, 2024
564ecb5
Small fix
LC4492 Jul 23, 2024
e7b3865
Small fix 2x
LC4492 Jul 23, 2024
36349d5
Small Fix 3x
LC4492 Jul 23, 2024
7c67fd1
Merge branch 'master' into New-Computers-and-bug-fixes
LC4492 Jul 23, 2024
1be0bf5
Small Fix 4x
LC4492 Jul 23, 2024
adc830f
Merge branch 'New-Computers-and-bug-fixes' of https://github.com/LC44…
LC4492 Jul 23, 2024
9196473
Small fix 5x
LC4492 Jul 23, 2024
0d6828d
Recommended Fixes
LC4492 Jul 23, 2024
7af5153
Improvements to Altitude Control
LC4492 Jul 23, 2024
da8df33
Extra update
LC4492 Jul 23, 2024
cd0f67d
Commended Changes and etc
LC4492 Jul 24, 2024
4e3f548
Update code/modules/cm_marines/altitude_control_console.dm
LC4492 Jul 28, 2024
8f023f3
Update code/modules/cm_marines/altitude_control_console.dm
LC4492 Jul 28, 2024
796b30b
Commended Changes
LC4492 Jul 28, 2024
9613651
Small fix
LC4492 Jul 28, 2024
82201a0
Merge branch 'cmss13-devs:master' into master
LC4492 Jul 29, 2024
dd0d63b
Commended Fixes
LC4492 Jul 29, 2024
d4b1c2c
Merge branch 'master' into New-Computers-and-bug-fixes
LC4492 Jul 29, 2024
c0356ce
Commended Fixes
LC4492 Jul 30, 2024
0b1beae
Commended fixes 2x
LC4492 Aug 1, 2024
8a5a4ce
Important fixes
LC4492 Aug 1, 2024
c20034c
Extra update
LC4492 Aug 1, 2024
d75ae05
Actually applies boost to dropships / ai_announce bug fix
LC4492 Aug 2, 2024
fc4f670
Small fix
LC4492 Aug 2, 2024
6cd392e
Another small fix
LC4492 Aug 2, 2024
71f595f
Apply duration if optimized and remove recharge change
Drulikar Aug 2, 2024
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
8 changes: 7 additions & 1 deletion code/game/machinery/ARES/ARES_interface_apollo.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// #################### Working Joe Ticket Console #####################
/obj/structure/machinery/computer/working_joe
name = "APOLLO Maintenance Controller"
name = "\improper APOLLO Maintenance Controller"
desc = "A console built to facilitate Working Joes and their operation, allowing for simple allocation of resources."
icon = 'icons/obj/structures/machinery/ares.dmi'
icon_state = "console"
Expand Down Expand Up @@ -473,3 +473,9 @@
to_chat(id_owner, SPAN_HELPFUL("AI visitation access granted."))
playsound_client(id_owner?.client, 'sound/machines/pda_ping.ogg', src, 25, 0)
return TRUE

/obj/structure/machinery/computer/working_joe/bulky
Drulikar marked this conversation as resolved.
Show resolved Hide resolved
desc = "The IBM series 10 computer retrofitted to work as a console to facilitate Working Joes and their operation, allowing for easy allocation of resources. While somewhat dated it still serves its purpose."
icon = 'icons/obj/structures/machinery/ares.dmi'
icon_state = "console_bulky"
density = TRUE
8 changes: 7 additions & 1 deletion code/game/machinery/computer/camera_console.dm
Original file line number Diff line number Diff line change
Expand Up @@ -315,12 +315,18 @@
network = list("NUKE")
circuit = null


/obj/structure/machinery/computer/cameras/almayer
density = FALSE
icon_state = "security_cam"
network = list(CAMERA_NET_ALMAYER)

/obj/structure/machinery/computer/cameras/almayer/bulky
icon = 'icons/obj/structures/machinery/computer.dmi'
desc = "The IBM series 10 computer retrofitted to work as a security cameras console for the ship. While somewhat dated it still serves its purpose."
icon_state = "cameras_bulky"
density = TRUE
circuit = null

/obj/structure/machinery/computer/cameras/almayer/containment
name = "Containment Cameras"
network = list(CAMERA_NET_CONTAINMENT)
Expand Down
9 changes: 9 additions & 0 deletions code/game/machinery/computer/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -507,3 +507,12 @@
desc = "Cheap Weyland-Yutani Laptop."
icon_state = "medlaptop"
density = FALSE

/obj/structure/machinery/computer/med_data/bulky
name = "medical records computer"
desc = "The IBM series 10 computer retrofitted to be used to check the medical records of all crew. While somewhat dated it still serves its purpose."
icon_state = "medcomp_bulky"
deconstructible = FALSE
unslashable = TRUE
unacidable = TRUE
breakable = FALSE
11 changes: 10 additions & 1 deletion code/game/supplyshuttle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new())
computer.black_market_lockout = TRUE

/obj/structure/machinery/computer/ordercomp
name = "Supply ordering console"
name = "supply ordering console"
icon = 'icons/obj/structures/machinery/computer.dmi'
icon_state = "request"
density = TRUE
Expand All @@ -158,6 +158,15 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new())
var/reqtime = 0 //Cooldown for requisitions - Quarxink
var/last_viewed_group = "categories"

/obj/structure/machinery/computer/ordercomp/bulky
Drulikar marked this conversation as resolved.
Show resolved Hide resolved
desc = "The IBM series 10 computer retrofitted to be used as a console for the Automated Storage Retrieval System. While somewhat dated it still serves its purpose."
icon = 'icons/obj/structures/machinery/computer.dmi'
icon_state = "request_bulky"
deconstructible = FALSE
unslashable = TRUE
unacidable = TRUE
breakable = FALSE

/obj/structure/machinery/computer/supply_drop_console
name = "Supply Drop Console"
desc = "An old-fashioned computer hooked into the nearby Supply Drop system."
Expand Down
109 changes: 67 additions & 42 deletions code/modules/cm_marines/altitude_control_console.dm
Drulikar marked this conversation as resolved.
Show resolved Hide resolved
Drulikar marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,27 @@ GLOBAL_VAR_INIT(alt_ctrl_disabled, FALSE)
#define COOLING -10
#define OVERHEAT_COOLING -5
#define HEATING 10
#define B_HEATING 20
#define OVERHEAT 100

//Has the ships temperature set to 0 on startup, sets the global default var to med
GLOBAL_VAR_INIT(ship_temp, 0)
GLOBAL_VAR_INIT(ship_alt, SHIP_ALT_MED)

/obj/structure/machinery/computer/altitude_control_console
Drulikar marked this conversation as resolved.
Show resolved Hide resolved
icon_state = "overwatch"
name = "Altitude Control Console"
desc = "The A.C.C console monitors, regulates, and updates the ships attitude and altitude in relation to the AO. It's not rocket science."
icon_state = "almayer_altitude"
name = "\improper Altitude Control Console"
desc = "The A.C.C console monitors, regulates, and updates the ships attitude and altitude in relation to the AO. It's not rocket science... or maybe it is."
density = TRUE
unslashable = TRUE
unacidable = TRUE
breakable = FALSE

/obj/structure/machinery/computer/altitude_control_console/ex_act()
return

/obj/structure/machinery/computer/altitude_control_console/bullet_act()
return

/obj/structure/machinery/computer/altitude_control_console/attack_hand()
. = ..()
Expand All @@ -44,34 +55,50 @@ GLOBAL_VAR_INIT(ship_alt, SHIP_ALT_MED)

/obj/structure/machinery/computer/altitude_control_console/process()
. = ..()
//Updating temperature
var/temperature_change
if(GLOB.ship_temp >= OVERHEAT)
ai_silent_announcement("Attention: orbital correction no longer sustainable, moving to geo-synchronous orbit until engine cooloff.", ";", TRUE)
switch(GLOB.ship_alt)
if(SHIP_ALT_LOW)
if(prob(50))
temperature_change = HEATING
else
temperature_change = B_HEATING
if(SHIP_ALT_MED)
temperature_change = COOLING
if(SHIP_ALT_HIGH)
if(prob(75))
temperature_change = OVERHEAT_COOLING
else
temperature_change = COOLING
GLOB.ship_temp = clamp(GLOB.ship_temp += temperature_change, 0, OVERHEAT)

//Override orbit, announce low orbit
if(GLOB.ship_alt == SHIP_ALT_HIGH && GLOB.ship_temp == 0)
ai_silent_announcement("Attention: Engine cooloff completed, automatic stabilization to most optimal geo-synchronous orbit undergoing.", ";", TRUE)
GLOB.ship_alt = SHIP_ALT_MED
TIMER_COOLDOWN_START(src, COOLDOWN_ALTITUDE_CHANGE, 20 SECONDS)
for(var/mob/living/carbon/current_mob in GLOB.living_mob_list)
if(!is_mainship_level(current_mob.z))
continue
current_mob.apply_effect(3, SLOW)
return
if(GLOB.ship_alt == SHIP_ALT_LOW && GLOB.ship_temp >= OVERHEAT)
ai_silent_announcement("Attention: Low altitude orbital maneuver no longer sustainable, moving to furthest geo-synchronous orbit until engine cooloff.", ";", TRUE)
GLOB.ship_alt = SHIP_ALT_HIGH
temperature_change = OVERHEAT_COOLING
TIMER_COOLDOWN_START(src, COOLDOWN_ALTITUDE_CHANGE, 20 SECONDS)
for(var/mob/living/carbon/current_mob in GLOB.living_mob_list)
if(!is_mainship_level(current_mob.z))
continue
current_mob.apply_effect(3, WEAKEN)
shake_camera(current_mob, 10, 2)
ai_silent_announcement("Attention performing high-G maneuverer", ";", TRUE)
if(!temperature_change)
switch(GLOB.ship_alt)
if(SHIP_ALT_LOW)
temperature_change = HEATING
if(SHIP_ALT_MED)
temperature_change = COOLING
if(SHIP_ALT_HIGH)
temperature_change = COOLING
GLOB.ship_temp = clamp(GLOB.ship_temp += temperature_change, 0, 120)
current_mob.apply_effect(3, SLOW)
shake_camera(current_mob, 2, 2)
return
if(prob(50))
return
if(GLOB.ship_alt == SHIP_ALT_LOW)
else if(GLOB.ship_alt == SHIP_ALT_LOW)
ai_silent_announcement("Low altitude maneuver currently under performance, full stabilization of the altitude unable to be achieved, maintaining procedures until overheat.", ";", TRUE)
for(var/mob/living/carbon/current_mob in GLOB.living_mob_list)
if(!is_mainship_level(current_mob.z))
continue
shake_camera(current_mob, 10, 1)
ai_silent_announcement("Performing Attitude Control", ";", TRUE)

//TGUI.... fun... years have gone by, I am dying of old age
/obj/structure/machinery/computer/altitude_control_console/tgui_interact(mob/user, datum/tgui/ui)
Expand Down Expand Up @@ -100,35 +127,33 @@ GLOBAL_VAR_INIT(ship_alt, SHIP_ALT_MED)

if(.)
return
var/mob/user = usr
switch(action)
if("low_alt")
change_altitude(user, SHIP_ALT_LOW)
. = TRUE
if("med_alt")
change_altitude(user, SHIP_ALT_MED)
. = TRUE
if("high_alt")
change_altitude(user, SHIP_ALT_HIGH)
. = TRUE
message_admins("[key_name(user)] has changed the ship's altitude to [action].")

add_fingerprint(usr)
var/mob/user = ui.user
if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_ALTITUDE_CHANGE))
message_admins("[key_name(user)] tried to change the ship's altitude, but it is still on cooldown.")
to_chat(user, SPAN_WARNING("Engines pending recalibration to burn again, stand by."))
else
switch(action)
if("low_alt")
change_altitude(user, SHIP_ALT_LOW)
. = TRUE
if("med_alt")
change_altitude(user, SHIP_ALT_MED)
. = TRUE
message_admins("[key_name(user)] has changed the ship's altitude to [action].")

add_fingerprint(user)

/obj/structure/machinery/computer/altitude_control_console/proc/change_altitude(mob/user, new_altitude)
if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_ALTITUDE_CHANGE))
to_chat(user, SPAN_WARNING("The engines are not ready to burn yet."))
return
if(GLOB.ship_alt == new_altitude)
return
GLOB.ship_alt = new_altitude
TIMER_COOLDOWN_START(src, COOLDOWN_ALTITUDE_CHANGE, 90 SECONDS)
TIMER_COOLDOWN_START(src, COOLDOWN_ALTITUDE_CHANGE, 40 SECONDS)
ai_silent_announcement("Attention: Altitude control protocols initialized, currently performing high-g orbital maneuver.", ";", TRUE)
for(var/mob/living/carbon/current_mob in GLOB.living_mob_list)
if(!is_mainship_level(current_mob.z))
continue
current_mob.apply_effect(3, WEAKEN)
shake_camera(current_mob, 10, 2)
ai_silent_announcement("Attention: Performing high-G manoeuvre", ";", TRUE)
current_mob.apply_effect(3, SLOW)
to_chat(user, SPAN_WARNING("You have some difficulty on maintaining balance!"))

#undef COOLING
#undef OVERHEAT_COOLING
Expand Down
30 changes: 30 additions & 0 deletions code/modules/cm_marines/marines_consoles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,36 @@
icon_state = "cmonitor"
density = FALSE

/obj/structure/machinery/computer/crew/alt/update_icon()
if(stat & BROKEN)
icon_state = "cmonitorb"
else
if(stat & NOPOWER)
icon_state = "cmonitor0"
stat |= NOPOWER
else
icon_state = initial(icon_state)
stat &= ~NOPOWER

/obj/structure/machinery/computer/crew/bulky
desc = "The IBM series 10 computer retrofitted to be used to monitor active health sensors built into the wearer's uniform. While somewhat dated it still serves its purpose."
icon_state = "crew_bulky"
deconstructible = FALSE
unslashable = TRUE
unacidable = TRUE
breakable = FALSE

/obj/structure/machinery/computer/crew/bulky/update_icon()
if(stat & BROKEN)
icon_state = "crew_bulkyb"
else
if(stat & NOPOWER)
icon_state = "crew_bulky0"
stat |= NOPOWER
else
icon_state = initial(icon_state)
stat &= ~NOPOWER

/obj/structure/machinery/computer/crew/alt/yautja
name = "\improper Yautja health monitor"
desc = "Used to monitor active health sensors of all Yautja in the system. You can see that the console highlights the human's ship areas with BLUE and the hunting locations with RED."
Expand Down
2 changes: 1 addition & 1 deletion code/modules/cm_tech/trees/marine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ GLOBAL_LIST_EMPTY(tech_controls_marine)
/obj/structure/machinery/computer/view_objectives
name = "Intel Database Computer"
desc = "An USCM Intel Computer for consulting the current Intel database."
icon_state = "terminal1_old"
icon_state = "comm"
unslashable = TRUE
unacidable = TRUE

Expand Down
4 changes: 2 additions & 2 deletions code/modules/objectives/objective_memory_storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ GLOBAL_DATUM_INIT(intel_system, /datum/intel_system, new())
name = "Intel Computer"
var/label = ""
desc = "An USCM Intel Computer for data cataloguing and distribution."
icon_state = "terminal1_old"
icon_state = "comm"
unslashable = TRUE
unacidable = TRUE
var/typing_time = 20
Expand Down Expand Up @@ -235,7 +235,7 @@ GLOBAL_DATUM_INIT(intel_system, /datum/intel_system, new())
/obj/structure/machinery/computer/view_objectives
name = "Intel Database Computer"
desc = "An USCM Intel Database Computer used for consulting the current intel database."
icon_state = "terminal1_old"
icon_state = "comm"
unslashable = TRUE
unacidable = TRUE

Expand Down
6 changes: 3 additions & 3 deletions code/modules/shuttle/computers/dropship_computer.dm
Drulikar marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,12 @@
return

// initial flight time
var/flight_duration = is_flyby ? DROPSHIP_TRANSIT_DURATION : DROPSHIP_TRANSIT_DURATION * GLOB.ship_alt
var/flight_duration = is_flyby ? DROPSHIP_TRANSIT_DURATION / GLOB.ship_alt : DROPSHIP_TRANSIT_DURATION * GLOB.ship_alt
if(optimised)
if(is_flyby)
flight_duration = DROPSHIP_TRANSIT_DURATION * 1.5
flight_duration *= 1.5
else
flight_duration = DROPSHIP_TRANSIT_DURATION * SHUTTLE_OPTIMIZE_FACTOR_TRAVEL
flight_duration *= SHUTTLE_OPTIMIZE_FACTOR_TRAVEL

// recharge time before dropship can take off
var/recharge_duration = SHUTTLE_RECHARGE
Expand Down
2 changes: 1 addition & 1 deletion code/modules/shuttle/dropship_hijack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
/datum/dropship_hijack/almayer/proc/fire()
if(!shuttle || !crash_site)
return FALSE
shuttle.callTime = DROPSHIP_CRASH_TRANSIT_DURATION * GLOB.ship_alt
shuttle.callTime = DROPSHIP_CRASH_TRANSIT_DURATION
SSshuttle.moveShuttle(shuttle.id, crash_site.id, TRUE)
if(GLOB.round_statistics)
GLOB.round_statistics.track_hijack()
Expand Down
Binary file modified icons/obj/structures/machinery/ares.dmi
Binary file not shown.
Binary file modified icons/obj/structures/machinery/computer.dmi
Binary file not shown.
Loading
Loading