Skip to content

Commit

Permalink
Merge (#1867)
Browse files Browse the repository at this point in the history
Co-authored-by: KandJX <[email protected]>
Co-authored-by: Sierra Helper <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sbotkin <[email protected]>
Co-authored-by: emmanuelbassil <[email protected]>
Co-authored-by: SuhEugene <[email protected]>
Co-authored-by: cdbrunow <[email protected]>
Co-authored-by: MuckerMayhem <[email protected]>
Co-authored-by: Nyvrem <[email protected]>
Co-authored-by: ddorou <[email protected]>
Co-authored-by: Spookerton <[email protected]>
  • Loading branch information
12 people authored Feb 8, 2024
1 parent cac94a2 commit 7c2d32a
Show file tree
Hide file tree
Showing 100 changed files with 2,213 additions and 631 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cancel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 3
steps:
- uses: styfle/cancel-workflow-action@01ce38bf961b4e243a6342cbade0dbc8ba3f0432
- uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa
with:
workflow_id: 3545321
access_token: ${{ github.token }}
2 changes: 1 addition & 1 deletion .github/workflows/generate_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: paths-filter
uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50
uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd
id: filter
with:
filters: .github/workflow-config/preflight-filters.yml
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: paths-filter
uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50
uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd
id: filter
with:
filters: .github/workflow-config/preflight-filters.yml
Expand Down
3 changes: 2 additions & 1 deletion baystation12.dme
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@
#include "code\__defines\xenoarcheaology.dm"
#include "code\__defines\ZAS.dm"
#include "code\__defines\zmimic.dm"
#include "code\__defines\~mods\rust_g.dm"
#include "code\__defines\~mods\expanded_culture_descriptor.dm"
#include "code\__defines\~mods\rust_g.dm"
#include "code\__defines\~mods\~master_defines.dm"
#include "code\_global_vars\edible.dm"
#include "code\_global_vars\logging.dm"
Expand Down Expand Up @@ -3366,6 +3366,7 @@
#include "mods\_master_files\code\modules\events\gravity.dm"
#include "mods\_master_files\code\modules\mob\new_player\new_player.dm"
#include "mods\_master_files\code\modules\power\gravitygenerator.dm"
#include "mods\_master_files\code\modules\projectiles\projectile\bullets.dm"
#include "mods\_master_files\maps\mapsystem\maps.dm"
#include "mods\_master_files\maps\sierra\sierra_ranks.dm"
#include "mods\_master_files\maps\sierra\items\rigs.dm"
Expand Down
3 changes: 3 additions & 0 deletions code/__defines/~mods/~master_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
// UTF8 - End

// DON_LOADOUT - Start
// Не открывать до Рождества
/*
#define DONATION_TIER_NONE null
#define DONATION_TIER_ONE "Tier 1"
#define DONATION_TIER_TWO "Tier 2"
Expand All @@ -41,6 +43,7 @@
DONATION_TIER_NONE, DONATION_TIER_ONE, \
DONATION_TIER_TWO, DONATION_TIER_THREE, \
DONATION_TIER_FOUR, DONATION_TIER_ADMIN)
*/
// DON_LOADOUT - End

// GLIDING - Start
Expand Down
2 changes: 2 additions & 0 deletions code/_onclick/hud/radial.dm
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,8 @@ var/global/list/radial_menus = list()
/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE, no_repeat_close = FALSE, list/check_locs, use_labels = FALSE)
if(!user || !anchor || !length(choices))
return
if (istype(user.loc, /mob/living/exosuit))
anchor = user.loc
if(!uniqueid)
uniqueid = "defmenu_[any2ref(user)]_[any2ref(anchor)]"

Expand Down
3 changes: 3 additions & 0 deletions code/controllers/subsystems/initialization/robots.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ SUBSYSTEM_DEF(robots)
)

var/list/mmi_types_by_title = list(
// [SIERRA-ADD] - Allow to join as cyborg,
"cyborg" = /obj/item/device/mmi,
// [/SIERRA-ADD] ,
"robot" = /obj/item/organ/internal/posibrain,
"drone" = /obj/item/device/mmi/digital/robot,
"robot, flying" = /obj/item/organ/internal/posibrain,
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystems/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ SUBSYSTEM_DEF(jobs)
for(var/required in G.allowed_skills)
if(!H.skill_check(required,G.allowed_skills[required]))
permitted = 0

// [SIERRA-ADD] - LOADOUT_ITEMS - Поддержка фракционных предметов в лодауте
if(permitted && G.allowed_factions)
var/singleton/cultural_info/faction = H.get_cultural_value(TAG_FACTION)
Expand Down
8 changes: 5 additions & 3 deletions code/datums/communication/ooc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,16 @@
var/ooc_color = C.prefs.ooccolor

// [SIERRA-ADD] - DON_LOADOUT
var/ckey_prefix = C.donator_info.get_decorated_message(C, "<EM>[C.key]:</EM>")
// Не открывать до Рождества
// var/ckey_prefix = C.donator_info.get_decorated_message(C, "<EM>[C.key]:</EM>")
// [/SIERRA-ADD]
for(var/client/target in GLOB.clients)
if(target.is_key_ignored(C.key)) // If we're ignored by this person, then do nothing.
continue
// [SIERRA-EDIT] - DON_LOADOUT
// var/sent_message = "[create_text_tag("ooc", "OOC:", target)] <EM>[C.key]:</EM> [SPAN_CLASS("message linkify", "[message]")]" // SIERRA-EDIT - ORIGINAL
var/sent_message = "[create_text_tag("ooc", "OOC:", target)] [ckey_prefix] [SPAN_CLASS("message linkify", "[message]")]"
// Не открывать до Рождества
var/sent_message = "[create_text_tag("ooc", "OOC:", target)] <EM>[C.key]:</EM> [SPAN_CLASS("message linkify", "[message]")]" // SIERRA-EDIT - ORIGINAL
// var/sent_message = "[create_text_tag("ooc", "OOC:", target)] [ckey_prefix] [SPAN_CLASS("message linkify", "[message]")]"
// [/SIERRA-EDIT]
if(can_badmin)
receive_communication(C, target, SPAN_COLOR(ooc_color, SPAN_CLASS("ooc", sent_message)))
Expand Down
10 changes: 5 additions & 5 deletions code/datums/vote/transfer.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#define CHOICE_TRANSFER "Initiate crew transfer"
#define CHOICE_EXTEND "Extend the round ([config.vote_autotransfer_interval / 600] minutes)"
#define CHOICE_TRANSFER "Initiate bluespace jump"
#define CHOICE_EXTEND "Extend the round ([config.vote_autotransfer_interval] minutes)"
#define CHOICE_ADD_ANTAG "Add antagonist"

/datum/vote/transfer
Expand All @@ -17,10 +17,10 @@
return //Mods bypass further checks.
var/singleton/security_state/security_state = GET_SINGLETON(GLOB.using_map.security_state)
if (!automatic && security_state.current_security_level_is_same_or_higher_than(security_state.high_security_level))
to_chat(creator, "The current alert status is too high to call for a crew transfer!")
to_chat(creator, "The current alert status is too high to call for a bluespace jump!")
return FALSE
if(GAME_STATE <= RUNLEVEL_SETUP)
to_chat(creator, "The crew transfer button has been disabled!")
to_chat(creator, "The bluespace jump button has been disabled!")
return FALSE

/datum/vote/transfer/setup_vote(mob/creator, automatic)
Expand All @@ -45,7 +45,7 @@
else
factor = 1.4
choices[CHOICE_TRANSFER] = round(choices[CHOICE_TRANSFER] * factor)
to_world(SPAN_COLOR("purple", "Crew Transfer Factor: [factor]"))
to_world(SPAN_COLOR("purple", "Bluespace Jump Factor: [factor]"))

/datum/vote/transfer/report_result()
if(..())
Expand Down
2 changes: 0 additions & 2 deletions code/game/antagonist/outsider/vox.dm
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ GLOBAL_LIST_EMPTY(vox_artifact_spawners)
desc = "A pulsating mass of flesh and steel."
icon = 'maps/antag_spawn/vox/vox.dmi'
icon_state = "printer"
breakable = FALSE
anchored = TRUE
density = TRUE
var/favors = 0
Expand Down Expand Up @@ -269,7 +268,6 @@ GLOBAL_LIST_EMPTY(vox_artifact_spawners)
desc = "An old, dusty machine meant to analyze various bluespace anomalies and send research data directly to SCGEC Observatory."
icon = 'icons/obj/machines/research/xenoarcheology_scanner.dmi'
icon_state = "scanner"
breakable = FALSE
anchored = FALSE
density = TRUE
var/points = 0
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/_machines_base/machinery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@
// If you don't call parent in this proc, you must make all appropriate checks yourself.
// If you do, you must respect the return value.
/obj/machinery/attack_hand(mob/user)
if((. = ..())) // Buckling, climbers, punching on harm; unlikely to return true.
if((. = ..())) // Buckling, climbers; unlikely to return true unless on harm intent and damage is dealt.
return
if(!CanPhysicallyInteract(user))
return FALSE // The interactions below all assume physical access to the machine. If this is not the case, we let the machine take further action.
Expand Down
11 changes: 9 additions & 2 deletions code/game/machinery/bluespace_drive.dm
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,15 @@
continue

if (GLOB.using_map.use_bluespace_interlude && prob(interlude_teleport_chance))
addtimer(new Callback(GLOBAL_PROC, /proc/do_unstable_teleport_safe, mob, GetConnectedZlevels(mob.z)), rand(1, 2) MINUTES)
GLOB.using_map.do_interlude_teleport(mob, duration = rand(1, 2.5) MINUTES)
if (istype(mob, /mob/living/simple_animal) && prob(80))
return
var/turf/T = pick_area_turf_in_connected_z_levels(
list(/proc/is_not_space_area),
list(/proc/not_turf_contains_dense_objects, /proc/IsTurfAtmosSafe),
zlevels[1])
if (!T)
return
GLOB.using_map.do_interlude_teleport(mob, T, rand(1, 2.5) MINUTES)
return
if (mob != being)
var/source_position = being.loc
Expand Down
4 changes: 3 additions & 1 deletion code/game/objects/objs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,9 @@


/obj/attack_hand(mob/living/user)
. = ..()
if (.)
return
if (Adjacent(user))
add_fingerprint(user)

Expand Down Expand Up @@ -276,7 +279,6 @@
)
damage_health(damage, attack.get_damage_type(), attack.damage_flags())
return TRUE
..()

/obj/is_fluid_pushable(amt)
return ..() && w_class <= round(amt/20)
Expand Down
13 changes: 11 additions & 2 deletions code/game/objects/structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
w_class = ITEM_SIZE_NO_CONTAINER
layer = STRUCTURE_LAYER

var/breakable
var/fragile
var/parts
var/list/connections = list("0", "0", "0", "0")
var/list/other_connections = list("0", "0", "0", "0")
Expand All @@ -16,7 +16,7 @@

/obj/structure/damage_health(damage, damage_type, damage_flags, severity, skip_can_damage_check)
if (damage && HAS_FLAGS(damage_flags, DAMAGE_FLAG_TURF_BREAKER))
if (breakable)
if (fragile)
return kill_health()
damage = max(damage, 10)
..()
Expand Down Expand Up @@ -117,6 +117,15 @@

return ..()

/obj/structure/proc/dump_contents()
for(var/mob/M in src)
M.dropInto(loc)
if(M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE

for(var/atom/movable/AM in src)
AM.dropInto(loc)

/obj/structure/proc/can_visually_connect()
return anchored
Expand Down
25 changes: 13 additions & 12 deletions code/game/objects/structures/crates_lockers/closets/__closet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
density = TRUE
w_class = ITEM_SIZE_NO_CONTAINER
health_max = 100
health_min_damage = 3

var/welded = 0
var/large = 1
Expand Down Expand Up @@ -71,6 +72,14 @@
else
to_chat(user, "It is full.")

/obj/structure/closet/damage_health(damage, damage_type, damage_flags, severity, skip_can_damage_check)
. = ..()
if (!length(contents))
return
var/content_damage = damage / length(contents)
for (var/atom/victim as anything in contents)
victim.damage_health(content_damage, damage_type, damage_flags, severity, skip_can_damage_check)

/obj/structure/closet/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group || (height==0 || wall_mounted)) return 1
return (!density)
Expand All @@ -92,16 +101,6 @@
return FALSE
return TRUE

/obj/structure/closet/proc/dump_contents()
for(var/mob/M in src)
M.dropInto(loc)
if(M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE

for(var/atom/movable/AM in src)
AM.dropInto(loc)

/obj/structure/closet/proc/store_contents()
var/stored_units = 0

Expand Down Expand Up @@ -402,8 +401,10 @@
to_chat(user, SPAN_NOTICE("It won't budge!"))

/obj/structure/closet/attack_hand(mob/user as mob)
src.add_fingerprint(user)
src.toggle(user)
if (user.a_intent == I_HURT)
return ..()
add_fingerprint(user)
toggle(user)

/obj/structure/closet/attack_ghost(mob/ghost)
if(ghost.client && ghost.client.inquisitive_ghost)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
setup = CLOSET_HAS_LOCK | CLOSET_CAN_BE_WELDED
locked = TRUE
health_max = 200
health_min_damage = 5

/obj/structure/closet/secure_closet/slice_into_parts(obj/item/weldingtool/WT, mob/user)
to_chat(user, SPAN_NOTICE("\The [src] is too strong to be taken apart."))
2 changes: 2 additions & 0 deletions code/game/objects/structures/crates_lockers/crates.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@
closet_appearance = /singleton/closet_appearance/crate/secure
setup = CLOSET_HAS_LOCK
locked = TRUE
health_max = 200
health_min_damage = 5

/obj/structure/closet/crate/secure/Initialize()
. = ..()
Expand Down
14 changes: 10 additions & 4 deletions code/game/objects/structures/crates_lockers/largecrate.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
icon_state = "densecrate"
density = TRUE
atom_flags = ATOM_FLAG_NO_TEMP_CHANGE | ATOM_FLAG_CLIMBABLE
health_max = 100
health_min_damage = 4

/obj/structure/largecrate/Initialize()
. = ..()
Expand All @@ -14,17 +16,16 @@
I.forceMove(src)

/obj/structure/largecrate/attack_hand(mob/user as mob)
if (user.a_intent == I_HURT)
return ..()
to_chat(user, SPAN_NOTICE("You need a crowbar to pry this open!"))
return


/obj/structure/largecrate/use_tool(obj/item/tool, mob/user, list/click_params)
// Crowbar - Open crate
if (isCrowbar(tool))
var/obj/item/stack/material/wood/A = new(loc)
transfer_fingerprints_to(A)
for (var/atom/movable/item as anything in contents)
item.dropInto(loc)
dump_contents()
user.visible_message(
SPAN_NOTICE("\The [user] pries \the [src] open with \a [tool]."),
SPAN_NOTICE("You pry \the [src] open with \the [tool]."),
Expand All @@ -35,6 +36,11 @@

return ..()

/obj/structure/largecrate/on_death()
var/obj/item/stack/material/wood/A = new(loc)
transfer_fingerprints_to(A)
dump_contents()
qdel_self()

/obj/structure/largecrate/mule
name = "MULE crate"
Expand Down
Loading

0 comments on commit 7c2d32a

Please sign in to comment.