Skip to content

Commit

Permalink
Merge branch 'master' into QUEEN-BUG
Browse files Browse the repository at this point in the history
  • Loading branch information
vero5123 authored Apr 3, 2024
2 parents ef65261 + 058d0ae commit bd3d04e
Show file tree
Hide file tree
Showing 65 changed files with 4,226 additions and 4,077 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/ARES.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#define ARES_RECORD_MAINTENANCE "Maintenance Ticket"
#define ARES_RECORD_ACCESS "Access Ticket"
#define ARES_RECORD_FLIGHT "Flight Record"
#define ARES_RECORD_TECH "Tech Control Record"

/// Not by ARES logged through marine_announcement()
#define ARES_LOG_NONE 0
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#define STATUS_HUD_XENO_CULTIST "24" // Whether they are a xeno cultist or not
#define HUNTER_CLAN "25" //Displays a colored icon to represent ingame Hunter Clans
#define HUNTER_HUD "26" //Displays various statuses on mobs for Hunters to identify targets
#define HOLOCARD_HUD "27" //Displays the holocards set by medical personnel

//data HUD (medhud, sechud) defines
#define MOB_HUD_SECURITY_BASIC 1
Expand Down
1 change: 1 addition & 0 deletions code/controllers/subsystem/objectives_controller.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ SUBSYSTEM_DEF(objectives)

ai_silent_announcement(message, ":v", TRUE)
ai_silent_announcement(message, ":t", TRUE)
log_ares_tech(MAIN_AI_SYSTEM, FALSE, "TECH REPORT", "[round(tree.points, 0.1)] points available.", 0)
tree.total_points_last_sitrep = tree.total_points

next_sitrep = world.time + SITREP_INTERVAL
Expand Down
13 changes: 10 additions & 3 deletions code/datums/keybinding/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,18 @@
if(.)
return

// Get the user's marine helmet (if they're wearing one)
var/mob/living/carbon/human/human_user = user.mob
var/obj/item/clothing/head/helmet/marine/marine_helmet = human_user?.head
var/cycled_hud = marine_helmet?.cycle_huds(human_user)
var/obj/item/clothing/head/helmet/marine/marine_helmet = human_user.head
if(!istype(marine_helmet))
// If their hat isn't a marine helmet, or is null, return.
return

// Cycle the HUD on the helmet.
var/cycled_hud = marine_helmet.cycle_huds(human_user)

// Update the helmet's 'cycle hud' action button
var/datum/action/item_action/cycle_helmet_huds/cycle_action = locate() in marine_helmet.actions
cycle_action.set_action_overlay(cycled_hud)
cycle_action?.set_action_overlay(cycled_hud)

return TRUE
10 changes: 8 additions & 2 deletions code/datums/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list(

//Factions
/datum/mob_hud/faction
hud_icons = list(FACTION_HUD, ORDER_HUD)
hud_icons = list(FACTION_HUD, ORDER_HUD, HOLOCARD_HUD)
var/faction_to_check = FACTION_MARINE

/datum/mob_hud/faction/add_to_single_hud(mob/user, mob/target)
Expand All @@ -209,7 +209,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list(
faction_to_check = FACTION_PMC

/datum/mob_hud/faction/observer
hud_icons = list(FACTION_HUD, ORDER_HUD, HUNTER_CLAN)
hud_icons = list(FACTION_HUD, ORDER_HUD, HUNTER_CLAN, HOLOCARD_HUD)

///////// MOB PROCS //////////////////////////////:

Expand Down Expand Up @@ -753,7 +753,13 @@ GLOBAL_DATUM(hud_icon_hudfocus, /image)
holder.overlays += GLOB.hud_icon_hudfocus
hud_list[ORDER_HUD] = holder

/mob/proc/hud_set_holocard()
return

// HOLOCARD HUD
/mob/living/carbon/human/hud_set_holocard()
var/image/holder = hud_list[HOLOCARD_HUD]
holder.icon_state = holo_card_color ? "holo_card_[holo_card_color]" : "hudblank"

// Xeno "hostile" HUD
/mob/living/carbon/human/proc/update_xeno_hostile_hud()
Expand Down
107 changes: 38 additions & 69 deletions code/game/area/BigRed.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//Areas for BigRed - Minijar
// old icon state no longer in use. ("hydro","heads_quarters")
/area/bigred
can_build_special = TRUE
powernet_name = "ground"
Expand Down Expand Up @@ -251,44 +252,50 @@
name = "\improper Corporate Saferoom"
icon_state = "vault"

/area/bigred/uground/lambda_labs/
minimap_color = MINIMAP_AREA_RESEARCH_CAVE
/area/bigred/uground/lambda_labs/airlock
name = "\improper Lambda Labs Airlock"
icon_state = "decontamination"

/area/bigred/uground/lambda_labs/lobby
name = "\improper Lambda Labs Reception"
icon_state = "bluenew"

/area/bigred/uground/lambda_labs/office
name = "\improper Lambda Labs Administration"
icon_state = "heads_quarters"
// Lambda areas below:

/area/bigred/uground/lambda_labs/laser_lab
name = "\improper Lambda Laser Laboratory"
icon_state = "toxmisc"
// Laboratory proper
/area/bigredv2/caves/lambda
ceiling = CEILING_UNDERGROUND_METAL_BLOCK_CAS
ceiling_muffle = FALSE
ambience_exterior = AMBIENCE_ALMAYER
sound_environment = SOUND_ENVIRONMENT_ROOM
soundscape_playlist = list()
minimap_color = MINIMAP_AREA_RESEARCH

/area/bigred/uground/lambda_labs/hydro_office
name = "\improper Lambda Labs Bio-Dome"
icon_state = "hydro"
/area/bigredv2/caves/lambda/virology
name = "\improper Lambda Virology"
icon_state = "lam_virology"

/area/bigred/uground/lambda_labs/hydro_lab
name = "\improper Lambda Labs Hydrophonics"
icon_state = "garden"
/area/bigredv2/caves/lambda/research
name = "\improper Lambda Research"
icon_state = "lam_research"

/area/bigred/uground/lambda_labs/fridge
name = "\improper Lambda Labs Refrigeration"
icon_state = "kitchen"
/area/bigredv2/caves/lambda/breakroom
name = "\improper Lambda Breakroom"
icon_state = "lam_break"

/area/bigred/uground/lambda_labs/maintenance
name = "\improper Unknown Area"
icon_state = "yellow"
/area/bigredv2/caves/lambda/xenobiology
name = "\improper Lambda Xenobiology"
icon_state = "lam_xeno"

/area/bigred/uground/lambda_labs/maintenance2
name = "\improper Unknown Area"
icon_state = "blue"
// cave around the laboratory.
/area/bigredv2/caves_lambda
name = "\improper Lambda Lab Caves"
icon_state = "caves_lambda"
ceiling = CEILING_UNDERGROUND_BLOCK_CAS
sound_environment = SOUND_ENVIRONMENT_AUDITORIUM
ceiling_muffle = FALSE
ambience_exterior = AMBIENCE_CAVE
soundscape_playlist = SCAPE_PL_CAVE
base_muffle = MUFFLE_HIGH

// serve for the security checkpoint.
/area/bigredv2/outside/lambda_cave_cas
name = "\improper Lambda Lockdown Caves Entrance"
icon_state = "decontamination"
ceiling = CEILING_UNDERGROUND_ALLOW_CAS
minimap_color = MINIMAP_AREA_SEC

//Big Red V2
/area/bigredv2
Expand Down Expand Up @@ -551,29 +558,6 @@
icon_state = "party"
ceiling = CEILING_METAL

/area/bigredv2/caves/lambda
ceiling = CEILING_UNDERGROUND_METAL_BLOCK_CAS
ceiling_muffle = FALSE
ambience_exterior = AMBIENCE_ALMAYER
sound_environment = SOUND_ENVIRONMENT_ROOM
soundscape_playlist = list()

/area/bigredv2/caves/lambda/virology
name = "\improper Lambda Virology"
icon_state = "lam_virology"

/area/bigredv2/caves/lambda/research
name = "\improper Lambda Research"
icon_state = "lam_research"

/area/bigredv2/caves/lambda/breakroom
name = "\improper Lambda Breakroom"
icon_state = "lam_break"

/area/bigredv2/caves/lambda/xenobiology
name = "\improper Lambda Xenobiology"
icon_state = "lam_xeno"

/area/bigredv2/outside/general_offices
name = "\improper General Offices"
icon_state = "storage"
Expand Down Expand Up @@ -630,16 +614,6 @@
soundscape_playlist = SCAPE_PL_CAVE
base_muffle = MUFFLE_HIGH

/area/bigredv2/caves_lambda
name = "\improper Lambda Lab Caves"
icon_state = "caves_lambda"
ceiling = CEILING_UNDERGROUND_BLOCK_CAS
sound_environment = SOUND_ENVIRONMENT_AUDITORIUM
ceiling_muffle = FALSE
ambience_exterior = AMBIENCE_CAVE
soundscape_playlist = SCAPE_PL_CAVE
base_muffle = MUFFLE_HIGH

/area/bigredv2/caves_north
name = "\improper Northern Caves"
icon_state = "caves_north"
Expand Down Expand Up @@ -688,8 +662,3 @@
name = "\improper Filtration Lockdown Caves Entrance"
icon_state = "garden"
ceiling = CEILING_UNDERGROUND_ALLOW_CAS

/area/bigredv2/outside/lambda_cave_cas
name = "\improper Lambda Lockdown Caves Entrance"
icon_state = "garden"
ceiling = CEILING_UNDERGROUND_ALLOW_CAS
1 change: 1 addition & 0 deletions code/game/area/LV624.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
name ="\improper Western Jungle"
icon_state = "west"
//ambience = list('sound/ambience/jungle_amb1.ogg')
is_resin_allowed = FALSE

/area/lv624/ground/jungle/west_jungle/ceiling
ceiling = CEILING_GLASS
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/colonialmarines/colonialmarines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@
if(HS.living_xeno_queen && !should_block_game_interaction(HS.living_xeno_queen.loc))
//Some Queen is alive, we shouldn't end the game yet
return
if (HS.totalXenos <= 3)
if(length(HS.totalXenos) <= 3)
round_finished = MODE_INFESTATION_M_MAJOR
else
round_finished = MODE_INFESTATION_M_MINOR
Expand Down
18 changes: 18 additions & 0 deletions code/game/machinery/ARES/ARES_interface.dm
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,17 @@
logged_orders += list(current_order)
data["records_requisition"] = logged_orders

var/list/logged_techs = list()
for(var/datum/ares_record/tech/tech_unlock as anything in datacore.records_tech)
var/list/current_tech = list()
current_tech["time"] = tech_unlock.time
current_tech["details"] = tech_unlock.details
current_tech["user"] = tech_unlock.user
current_tech["tier_changer"] = tech_unlock.is_tier
current_tech["ref"] = "\ref[tech_unlock]"
logged_techs += list(current_tech)
data["records_tech"] = logged_techs

var/list/logged_convos = list()
var/list/active_convo = list()
var/active_ref
Expand Down Expand Up @@ -317,6 +328,9 @@
if("page_deleted_1to1")
last_menu = current_menu
current_menu = "deleted_talks"
if("page_tech")
last_menu = current_menu
current_menu = "tech_log"

// -- Delete Button -- //
if("delete_record")
Expand Down Expand Up @@ -345,6 +359,10 @@
new_title = "[record.title] at [record.time]"
new_details = "[record.details] Launched by [record.user]."
datacore.records_bombardment -= record
if(ARES_RECORD_TECH)
new_title = "[record.title] at [record.time]"
new_details = record.details
datacore.records_tech -= record

new_delete.details = new_details
new_delete.user = last_login
Expand Down
14 changes: 14 additions & 0 deletions code/game/machinery/ARES/ARES_interface_admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,17 @@
logged_orders += list(current_order)
data["records_requisition"] = logged_orders

var/list/logged_techs = list()
for(var/datum/ares_record/tech/tech_unlock as anything in datacore.records_tech)
var/list/current_tech = list()
current_tech["time"] = tech_unlock.time
current_tech["details"] = tech_unlock.details
current_tech["user"] = tech_unlock.user
current_tech["tier_changer"] = tech_unlock.is_tier
current_tech["ref"] = "\ref[tech_unlock]"
logged_techs += list(current_tech)
data["records_tech"] = logged_techs

var/list/logged_convos = list()
var/list/active_convo = list()
var/active_ref
Expand Down Expand Up @@ -307,6 +318,9 @@
if("page_deleted_1to1")
admin_interface.last_menu = admin_interface.current_menu
admin_interface.current_menu = "deleted_talks"
if("page_tech")
admin_interface.last_menu = admin_interface.current_menu
admin_interface.current_menu = "tech_log"
if("page_access_management")
admin_interface.last_menu = admin_interface.current_menu
admin_interface.current_menu = "access_management"
Expand Down
12 changes: 12 additions & 0 deletions code/game/machinery/ARES/ARES_procs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
var/list/records_security = list()
/// Holds all (/datum/ares_record/flight)s
var/list/records_flight = list()
/// Holds all (/datum/ares_record/tech)s
var/list/records_tech = list()
/// Is nuke request usable or not?
var/nuke_available = TRUE

Expand Down Expand Up @@ -177,6 +179,16 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
return FALSE
var/datum/ares_datacore/datacore = GLOB.ares_datacore
datacore.records_flight.Add(new /datum/ares_record/flight(details, user_name))

/proc/log_ares_tech(user_name, tier_tech = FALSE, title, details, point_cost, current_points)
if(!ares_can_log())
return FALSE
var/new_details = "[title] - [details]"
if(point_cost)
new_details += " - Used [point_cost] INT of [current_points]."
var/datum/ares_datacore/datacore = GLOB.ares_datacore
datacore.records_tech.Add(new /datum/ares_record/tech(title, new_details, user_name, tier_tech))

// ------ End ARES Logging Procs ------ //

// ------ ARES Interface Procs ------ //
Expand Down
12 changes: 12 additions & 0 deletions code/game/machinery/ARES/ARES_records.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,18 @@
src.details = details
src.user = user

/datum/ares_record/tech
record_name = ARES_RECORD_TECH
/// If this tech unlock changed the tier.
var/is_tier = FALSE

/datum/ares_record/tech/New(title, details, user, tier_tech)
time = worldtime2text()
src.title = title
src.details = details
src.user = user
is_tier = tier_tech

/datum/ares_record/deletion
record_name = ARES_RECORD_DELETED

Expand Down
4 changes: 2 additions & 2 deletions code/game/machinery/bots/bots.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@
if(hasvar(W,"force") && hasvar(W,"damtype"))
switch(W.damtype)
if("fire")
src.health -= W.force * fire_dam_coeff
health -= W.force * W.demolition_mod * fire_dam_coeff
if("brute")
src.health -= W.force * brute_dam_coeff
health -= W.force * W.demolition_mod * brute_dam_coeff
..()
healthcheck()
else
Expand Down
1 change: 0 additions & 1 deletion code/game/machinery/camera/camera.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

var/list/network = list(CAMERA_NET_MILITARY)
var/c_tag = null
var/c_tag_order = 999
var/status = 1
anchored = TRUE
var/panel_open = FALSE // 0 = Closed / 1 = Open
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/camera/presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@

/obj/structure/machinery/camera/autoname/almayer/containment/ares
name = "ares core camera"
network = list(CAMERA_NET_ALMAYER, CAMERA_NET_ARES)
network = list(CAMERA_NET_ARES)

//used by the landing camera dropship equipment. Do not place them right under where the dropship lands.
//Should place them near each corner of your LZs.
Expand Down
8 changes: 4 additions & 4 deletions code/game/machinery/deployable.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@
else
switch(W.damtype)
if("fire")
src.health -= W.force * 0.75
health -= W.force * W.demolition_mod * 0.75
if("brute")
src.health -= W.force * 0.5
if (src.health <= 0)
src.explode()
health -= W.force * W.demolition_mod * 0.5
if (health <= 0)
explode()
..()

/obj/structure/machinery/deployable/barrier/ex_act(severity)
Expand Down
Loading

0 comments on commit bd3d04e

Please sign in to comment.