Skip to content

Commit

Permalink
Merge branch 'master' into hihihiohi_fixingyoursshitty_bugs_upstream_…
Browse files Browse the repository at this point in the history
…hihihih_when_merge_of_statistic!_uhhh_question_mark
  • Loading branch information
blackcrystall authored Dec 28, 2024
2 parents 0be9fb4 + 75dfa63 commit 5eef44e
Show file tree
Hide file tree
Showing 2,903 changed files with 350,332 additions and 75,892 deletions.
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@
/tools/docker/ @Fira
/Dockerfile @Fira

# Forest2001

/code/game/machinery/ARES @realforest2001
/tgui/packages/tgui/interfaces/AresAdmin.jsx @realforest2001
/tgui/packages/tgui/interfaces/AresInterface.jsx @realforest2001
/tgui/packages/tgui/interfaces/WorkingJoe.jsx @realforest2001

# Nanu

/maps @Nanu308
Expand Down
24 changes: 13 additions & 11 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,31 @@ on:
merge_group:
jobs:
run_linters:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Run Linters
runs-on: ubuntu-latest
concurrency:
group: run_linters-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Restore SpacemanDMM cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/SpacemanDMM
key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }}
- name: Restore Yarn cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: tgui/.yarn/cache
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-
${{ runner.os }}-
- name: Restore Rust cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo
key: ${{ runner.os }}-rust
Expand Down Expand Up @@ -75,7 +77,7 @@ jobs:
- run: ./DMCompiler_linux-x64/DMCompiler --suppress-unimplemented colonialmarines.dme

compile_all_maps:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Compile Maps
runs-on: ubuntu-latest
steps:
Expand All @@ -92,7 +94,7 @@ jobs:
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS
find_all_maps:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Find Maps to Test
runs-on: ubuntu-latest
outputs:
Expand All @@ -117,7 +119,7 @@ jobs:
ALTERNATE_TESTS_JSON=$(jq -nRc '[inputs | capture("^(?<major>[0-9]+)\\.(?<minor>[0-9]+): (?<map>.+)$")]' .github/alternate_byond_versions.txt)
echo "alternate_tests=$ALTERNATE_TESTS_JSON" >> $GITHUB_OUTPUT
run_all_tests:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Unit Tests
needs: [find_all_maps]
strategy:
Expand All @@ -132,7 +134,7 @@ jobs:
map: ${{ matrix.map }}

run_alternate_tests:
if: "!contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]'"
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]' )
name: Alternate Tests
needs: [find_all_maps]
strategy:
Expand All @@ -149,15 +151,15 @@ jobs:
minor: ${{ matrix.setup.minor }}

check_alternate_tests:
if: "!contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]'"
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]' )
name: Check Alternate Tests
needs: [run_alternate_tests]
runs-on: ubuntu-latest
steps:
- run: echo Alternate tests passed.

test_windows:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Windows Build
runs-on: windows-latest
concurrency:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
- master
jobs:
generate_documentation:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
runs-on: ubuntu-latest
concurrency: gen-docs
steps:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ sound/music/walkman/*/*.ogg
sound/music/walkman/*.txt
icons/custom/*
maps/**/backup
maps/templates.dm
*.before
__pycache__
test_environment.txt
Expand Down
15 changes: 15 additions & 0 deletions code/__DEFINES/__game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#define MAP_ICE_COLONY_V3 "Shivas Snowball" //Ice Rework, low pop enabled.
#define MAP_RUNTIME "USS Runtime"
#define MAP_LV522_CHANCES_CLAIM "LV-522 Chance's Claim"
#define MAP_LV759_HYBRISA_PROSPERA "LV-759 Hybrisa Prospera" // Highpop Only
#define MAP_NEW_VARADERO "New Varadero"//ice colony underground but as its own map
#define MAP_CHINOOK "Chinook 91 GSO" //admin level

Expand Down Expand Up @@ -147,6 +148,14 @@
#define PLAY_SYNTH (1<<5)
#define PLAY_MISC (1<<6)

//toggles_hunting_grounds
#define PLAY_MERC (1<<0)
#define PLAY_TWE (1<<1)
#define PLAY_UPP (1<<2)
#define PLAY_CLF (1<<3)
#define PLAY_XENO_T2 (1<<4)
#define PLAY_XENO_T3 (1<<5)

//toggles_admin
/// Splits admin tabs in Statpanel
#define SPLIT_ADMIN_TABS (1<<0)
Expand All @@ -167,6 +176,8 @@

#define TOGGLES_ERT_DEFAULT (PLAY_LEADER|PLAY_MEDIC|PLAY_ENGINEER|PLAY_HEAVY|PLAY_SMARTGUNNER|PLAY_SYNTH|PLAY_MISC)

#define TOGGLES_ERT_GROUNDS (PLAY_MERC|PLAY_TWE|PLAY_UPP|PLAY_CLF|PLAY_XENO_T2|PLAY_XENO_T3)

#define TOGGLES_ADMIN_DEFAULT (ADMIN_AFK_SAFE)

// Game Intents
Expand All @@ -187,6 +198,7 @@
#define DOCK_ATTEMPT_TIMEOUT 20 SECONDS
#define DROPSHIP_WARMUP_TIME 10 SECONDS
#define DROPSHIP_DROP_MSG_DELAY 30 SECONDS
#define DROPSHIP_DROP_FIRE_DELAY 20 SECONDS
#define DROPSHIP_TRANSIT_DURATION 100 SECONDS
#define DROPSHIP_CORSAT_DURATION 30 SECONDS
#define ELEVATOR_TRANSIT_DURATION 5 SECONDS
Expand Down Expand Up @@ -555,3 +567,6 @@
#define PERF_TOGGLE_SHUTTLES (1<<3)
/// Disables loading Techwebs and additional Z-Levels
#define PERF_TOGGLE_TECHWEBS (1<<4)

/// Maptext styles
#define MAP_STYLESHEET ".maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .center { text-align: center; } .langchat { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; } .langchat_small { font-size: 6px; } .langchat_yell { font-weight: bold; font-size: 10px; } .langchat_bolded { font-weight: bold; font-size: 8px; } .langchat_announce { font-weight: bold; font-size: 12px; } .langchat_bolditalicbig {font-weight: bold; font-size: 24px; font-style: italic; } .langchat_italic {font-style: italic; }"
9 changes: 7 additions & 2 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ most of them are tied into map-placed objects. This should be reworked in the fu
///The generic "I'm a bad guy" access
#define ACCESS_ILLEGAL_PIRATE 120

//CIA-locked covert items
#define ACCESS_CIA 125

//=================================================

//Weyland Yutani access levels (200-229)
Expand Down Expand Up @@ -147,10 +150,12 @@ most of them are tied into map-placed objects. This should be reworked in the fu
// Yautja Access Levels
/// Requires a visible ID chip to open
#define ACCESS_YAUTJA_SECURE 390
/// Elites+ only
#define ACCESS_YAUTJA_ELITE 391
/// Elders+ only
#define ACCESS_YAUTJA_ELDER 391
#define ACCESS_YAUTJA_ELDER 392
/// Ancients only
#define ACCESS_YAUTJA_ANCIENT 392
#define ACCESS_YAUTJA_ANCIENT 393

/// Anything in a tutorial sequence that shouldn't be accessed
#define ACCESS_TUTORIAL_LOCKED 998
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/camera.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
#define CAMERA_NET_ALAMO "Alamo"
#define CAMERA_NET_NORMANDY "Normandy"
#define CAMERA_NET_SAIPAN "Saipan"
#define CAMERA_NET_MORANA "Morana"
#define CAMERA_NET_DEVANA "Devana"
#define CAMERA_NET_COLONY "Colony"
#define CAMERA_NET_ARES "ARES"

Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/client_prefs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
#define TOGGLE_LATE_JOIN_CURRENT_SLOT (1<<17) //Whether joining during the round ignores assigned character slot for the job and uses currently selected slot.
#define TOGGLE_ABILITY_DEACTIVATION_OFF (1<<18) // This toggles whether selecting the same ability again can toggle it off
#define TOGGLE_AMMO_DISPLAY_TYPE (1<<19)/// limit how often the ammo is displayed when using semi-automatic fire
#define TOGGLE_AUTO_SHOVE_OFF (1<<20) /// Toggles between automatically shoving xenomorphs in the way as Queen.

#define JOB_SLOT_RANDOMISED_SLOT -1
#define JOB_SLOT_CURRENT_SLOT 0
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/conflict.dm
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@
//Health of various items
#define HEALTH_WALL 3000
#define HEALTH_WALL_REINFORCED 9000
#define HEALTH_WALL_ULTRA_REINFORCED 12000
#define HEALTH_WALL_XENO 900
#define HEALTH_WALL_XENO_WEAK 100
#define HEALTH_WALL_XENO_THICK 1350
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/cooldowns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
#define COOLDOWN_ITEM_HOOD_SOUND "item_hood_sound"
#define COOLDOWN_LIGHT "cooldown_light"

#define COOLDOWN_PRINTER_ERROR "cooldown_printer_error"

//Define for ship alt
#define COOLDOWN_ALTITUDE_CHANGE "altitude_change"

Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/living/signals_living.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,8 @@

/// from base of /mob/living/apply_status_effect(): (datum/status_effect/new_effect)
#define COMSIG_LIVING_APPLY_EFFECT "living_apply_effect"

/// from /datum/component/shimmy_around/proc/on_mob_move to determine if layer should be reset
#define COMSIG_LIVING_SHIMMY_LAYER "structure_shimmy_layer"
/// Sent when a shimmy component is currently overriding the layer
#define COMSIG_LIVING_SHIMMY_LAYER_CANCEL (1<<0)
10 changes: 10 additions & 0 deletions code/__DEFINES/dcs/signals/atom/mob/living/signals_xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,13 @@

/// used in /datum/component/status_effect/cleanse()
#define COMSIG_XENO_DEBUFF_CLEANSE "xeno_debuff_cleanse"

/// From /mob/living/carbon/xenomorph/verb/Deevolve()
#define COMSIG_XENO_DEEVOLVE "xeno_deevolve"

/// From /mob/living/carbon/xenomorph/proc/do_evolve(): (castepick)
#define COMSIG_XENO_TRY_EVOLVE "xeno_try_evolve"
#define COMPONENT_OVERRIDE_EVOLVE (1<<0)

/// From /mob/living/carbon/xenomorph/proc/do_evolve()
#define COMSIG_XENO_EVOLVE_TO_NEW_CASTE "xeno_evolve_to_new_caste"
2 changes: 2 additions & 0 deletions code/__DEFINES/dcs/signals/atom/signals_area.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/// From /area/proc/purge_weeds()
#define COMSIG_AREA_RESIN_DISALLOWED "area_weeds_disallowed"
2 changes: 1 addition & 1 deletion code/__DEFINES/dcs/signals/atom/signals_item.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

#define COMSIG_ITEM_PICKUP "item_pickup"

///from /obj/item/device/camera/broadcasting
///from /obj/item/device/broadcasting
#define COMSIG_BROADCAST_GO_LIVE "broadcast_live"
#define COMSIG_BROADCAST_HEAR_TALK "broadcast_hear_talk"
#define COMSIG_BROADCAST_SEE_EMOTE "broadcast_see_emote"
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals/atom/signals_obj.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@

#define COMSIG_STRUCTURE_WRENCHED "structure_wrenched"
#define COMSIG_STRUCTURE_UNWRENCHED "structure_unwrenched"
/// from /obj/structure/Collided() if not overriden for /datum/component/shimmy_around
#define COMSIG_STRUCTURE_COLLIDED "structure_collided"

#define COMSIG_TENT_COLLAPSING "tent_collapsing"

/// from /obj/proc/afterbuckle()
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/dcs/signals/signals_global.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@
/// From
#define COMSIG_GLOB_YAUTJA_ARMORY_OPENED "!yautja_armory_opened"

/// For opening hunting grounds shutters
#define COMSIG_GLOB_YAUTJA_PRESERVE_OPENED "!yautja_preserve_opened"

/// For closing hunting grounds shutters
#define COMSIG_GLOB_YAUTJA_PRESERVE_CLOSED "!yautja_preserve_closed"

/// From /proc/biohazard_lockdown()
#define COMSIG_GLOB_RESEARCH_LOCKDOWN "!research_lockdown_closed"
#define COMSIG_GLOB_RESEARCH_LIFT "!research_lockdown_opened"
Expand Down
57 changes: 41 additions & 16 deletions code/__DEFINES/equipment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
#define ITEM_UNCATCHABLE (1<<9)
/// Used for nonstandard marine clothing to ignore 'specialty' var.
#define NO_NAME_OVERRIDE (1<<10)
/// Used for armors or uniforms that don't have a snow/desert/etc icon state set via select_gamemode_skin (not all item types currently perform this test though).
#define NO_SNOW_TYPE (1<<11)
/// Used for armors or uniforms that don't have a snow/desert/etc icon state set via select_gamemode_skin.
#define NO_GAMEMODE_SKIN (1<<11)

#define INVULNERABLE (1<<12)

Expand All @@ -48,6 +48,8 @@
#define USES_SEEING (1<<19)
// Can be quick drawn
#define QUICK_DRAWABLE (1<<20)
// If object should utilize icon state indexes for map colors (s_ d_ etc) in select_gamemode_skin
#define MAP_COLOR_INDEX (1<<21)

//==========================================================================================

Expand Down Expand Up @@ -178,7 +180,9 @@
/// 2 tiles of full and 2 of partial impairment
#define VISION_IMPAIR_STRONG 5
/// 3 tiles of full and 2 of partial impairment (original one)
#define VISION_IMPAIR_MAX 6
#define VISION_IMPAIR_ULTRA 6
/// Full blindness, 1 tile visibility
#define VISION_IMPAIR_MAX 7

//VISION IMPAIRMENT LEVELS===========================================================================

Expand Down Expand Up @@ -245,6 +249,11 @@
#define SLOT_BLOCK_SUIT_STORE (1<<16)
//=================================================

//garb overrides
#define NO_GARB_OVERRIDE null
#define PREFIX_HAT_GARB_OVERRIDE "%PREFIX_HAT_GARB_OVERRIDE%"
#define PREFIX_HELMET_GARB_OVERRIDE "%PREFIX_HELMET_GARB_OVERRIDE%"

//slots
//Text strings so that the slots can be associated when doing inventory lists.
#define WEAR_ID "id"
Expand Down Expand Up @@ -277,6 +286,7 @@
#define WEAR_IN_L_STORE "in_l_store"
#define WEAR_IN_R_STORE "in_r_store"
#define WEAR_IN_SHOES "in_shoes"
#define WEAR_AS_GARB "as_garb"

// Contained Sprites
#define WORN_LHAND "_lh"
Expand Down Expand Up @@ -467,6 +477,8 @@ GLOBAL_LIST_INIT(slot_to_contained_sprite_shorthand, list(
#define ACCESSORY_SLOT_DECOR "Decor"
#define ACCESSORY_SLOT_MEDAL "Medal"
#define ACCESSORY_SLOT_PONCHO "Ponchos"
#define ACCESSORY_SLOT_TROPHY "Trophy"
#define ACCESSORY_SLOT_MASK "Mask"

/// Used for uniform armor inserts.
#define ACCESSORY_SLOT_ARMOR_C "Chest armor"
Expand Down Expand Up @@ -526,19 +538,32 @@ GLOBAL_LIST_INIT(uniform_categories, list(


// Storage flags
#define STORAGE_ALLOW_EMPTY (1<<0) // Whether the storage object has the 'empty' verb, which dumps all the contents on the floor
#define STORAGE_QUICK_EMPTY (1<<1) // Whether the storage object can quickly be emptied (no delay)
#define STORAGE_QUICK_GATHER (1<<2) // Whether the storage object can quickly collect all items from a tile via the 'toggle mode' verb
#define STORAGE_ALLOW_DRAWING_METHOD_TOGGLE (1<<3) // Whether this storage object can have its items drawn (pouches)
#define STORAGE_USING_DRAWING_METHOD (1<<4) // Whether this storage object has its items drawn (versus just opening it)
#define STORAGE_USING_FIFO_DRAWING (1<<5) // Wether the storage object can have items in it's leftmost slot be drawn
#define STORAGE_CLICK_EMPTY (1<<6) // Whether you can click to empty an item
#define STORAGE_CLICK_GATHER (1<<7) // Whether it is possible to use this storage object in an inverse way,
// so you can have the item in your hand and click items on the floor to pick them up
#define STORAGE_SHOW_FULLNESS (1<<8) // Whether our storage object on hud changes color when full
#define STORAGE_CONTENT_NUM_DISPLAY (1<<9) // Whether the storage object groups contents of the same type and displays them as a number. Only works for slot-based storage objects.
#define STORAGE_GATHER_SIMULTAENOUSLY (1<<10) // Whether the storage object can pick up all the items in a tile
#define STORAGE_ALLOW_QUICKDRAW (1<<11) // Whether the storage can be drawn with E or Holster verb
/// Whether the storage object has the 'empty' verb, which dumps all the contents on the floor
#define STORAGE_ALLOW_EMPTY (1<<0)
/// Whether the storage object can quickly be emptied (no delay)
#define STORAGE_QUICK_EMPTY (1<<1)
/// Whether the storage object can quickly collect all items from a tile via the 'toggle mode' verb
#define STORAGE_QUICK_GATHER (1<<2)
/// Whether this storage object can have its items drawn (pouches)
#define STORAGE_ALLOW_DRAWING_METHOD_TOGGLE (1<<3)
/// Whether this storage object has its items drawn (versus just opening it)
#define STORAGE_USING_DRAWING_METHOD (1<<4)
/// Wether the storage object can have items in it's leftmost slot be drawn
#define STORAGE_USING_FIFO_DRAWING (1<<5)
/// Whether you can click to empty an item
#define STORAGE_CLICK_EMPTY (1<<6)
/// Whether it is possible to use this storage object in an inverse way, so you can have the item in your hand and click items on the floor to pick them up
#define STORAGE_CLICK_GATHER (1<<7)
/// Whether our storage object on hud changes color when full
#define STORAGE_SHOW_FULLNESS (1<<8)
/// Whether the storage object groups contents of the same type and displays them as a number. Only works for slot-based storage objects.
#define STORAGE_CONTENT_NUM_DISPLAY (1<<9)
/// Whether the storage object can pick up all the items in a tile
#define STORAGE_GATHER_SIMULTAENOUSLY (1<<10)
/// Whether the storage can be drawn with E or Holster verb
#define STORAGE_ALLOW_QUICKDRAW (1<<11)
/// Whether using this item will try not to empty it if possible
#define STORAGE_DISABLE_USE_EMPTY (1<<12)

#define STORAGE_FLAGS_DEFAULT (STORAGE_SHOW_FULLNESS|STORAGE_GATHER_SIMULTAENOUSLY|STORAGE_ALLOW_EMPTY)
#define STORAGE_FLAGS_BOX (STORAGE_FLAGS_DEFAULT)
Expand Down
Loading

0 comments on commit 5eef44e

Please sign in to comment.