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

Evil Clones #2175

Closed
wants to merge 48 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
2d315b9
Antag
Uristthedorf Jun 5, 2024
cca9609
Update exp_cloner.dm
Uristthedorf Jun 5, 2024
f3d5dd7
Hopefully fixes
Uristthedorf Jun 6, 2024
ec7ada7
Update exp_cloner.dm
Uristthedorf Jun 6, 2024
eb62758
Examining evil cloner tells you it's evil.
Uristthedorf Jun 6, 2024
f6dd297
Update monkestation/code/game/machinery/exp_cloner.dm
Uristthedorf Jun 6, 2024
a02bc30
Update monkestation/code/game/machinery/exp_cloner.dm
Uristthedorf Jun 6, 2024
f13efbd
Update monkestation/code/game/machinery/cloning.dm
Uristthedorf Jun 6, 2024
e096666
Examine moved down to exp_cloner.dm
Uristthedorf Jun 6, 2024
f1f7c15
Merge branch 'EvilClone' of https://github.com/Uristthedorf/Monkestat…
Uristthedorf Jun 6, 2024
eb1668e
Being evil makes it clone slower.
Uristthedorf Jun 6, 2024
26b61cf
Corrects comment
Uristthedorf Jun 6, 2024
2fadbc7
Update cloning.dm
Uristthedorf Jun 6, 2024
2265c08
Moves evil back down
Uristthedorf Jun 6, 2024
e6d5783
Better
Uristthedorf Jun 6, 2024
bbbb78c
Oops forgot to remove
Uristthedorf Jun 6, 2024
1805fff
Update exp_cloner.dm
Uristthedorf Jun 7, 2024
44a9a0c
Evil clones have unnaturally glowing red eyes.
Uristthedorf Jun 8, 2024
e7ed532
New objectives
Uristthedorf Jun 9, 2024
6c88d09
More evil clone changes.
Uristthedorf Jun 9, 2024
15f5d90
Evil clone event
Uristthedorf Jun 9, 2024
ca8d511
Update evil_event.dm
Uristthedorf Jun 10, 2024
ec6318c
Fixes it saying you have no objectives when you actually do
Uristthedorf Jun 10, 2024
e29b9df
Merge remote-tracking branch 'upstream/master' into EvilClone
Uristthedorf Jun 10, 2024
b0645da
Apply suggestions from code review
Uristthedorf Jun 10, 2024
3efe8ac
Update evil_clone_objective.dm
Uristthedorf Jun 10, 2024
8ab3789
I'm GUESSING this is what was wanted
Uristthedorf Jun 10, 2024
f6274c0
Fix?
Uristthedorf Jun 10, 2024
3c821f0
Revert "Fix?"
Uristthedorf Jun 10, 2024
02aba5c
Revert "I'm GUESSING this is what was wanted"
Uristthedorf Jun 10, 2024
8085975
Update exp_cloner.dm
Uristthedorf Jun 10, 2024
31b534d
Apply suggestions from code review
Uristthedorf Jun 10, 2024
1bf0e14
Update evil_event.dm
Uristthedorf Jun 11, 2024
3dd4e19
Update evil_event.dm
Uristthedorf Jun 11, 2024
85293b7
Cloning console is EMP immune.
Uristthedorf Jun 12, 2024
821b282
Adds clone army kit traitor item
Uristthedorf Jun 13, 2024
1a4e3a7
When you give evil clones an objective, they're automatically taught …
Uristthedorf Jun 13, 2024
89a5460
Gives cloner kit to more jobs.
Uristthedorf Jun 14, 2024
ce801fd
Adds stuff I forgot to add for the syndie item stuff.
Uristthedorf Jun 14, 2024
4808722
Fixes runtime
Uristthedorf Jun 14, 2024
b9820f7
Revert "Fixes runtime"
Uristthedorf Jun 15, 2024
d17643c
Clones can examine a cloner to know its objective.
Uristthedorf Jun 16, 2024
b0070de
Merge remote-tracking branch 'upstream/master' into EvilClone
Uristthedorf Jun 16, 2024
673ee3e
Buffs syndicate clones.
Uristthedorf Jun 18, 2024
9775be8
Guide kit and part buff
Uristthedorf Jun 20, 2024
bf25a75
Cloner corruption event improvement.
Uristthedorf Jun 25, 2024
d7947f2
Merge remote-tracking branch 'upstream/master' into EvilClone
Uristthedorf Jun 25, 2024
d4756a7
Merge remote-tracking branch 'upstream/master' into EvilClone
Uristthedorf Jul 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/auto_changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
if: github.event.pull_request.merged == true
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Run auto changelog
uses: actions/github-script@v6
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/autowiki.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ jobs:
echo "SECRETS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT
- name: Checkout
if: steps.secrets_set.outputs.SECRETS_ENABLED
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Restore BYOND cache
if: steps.secrets_set.outputs.SECRETS_ENABLED
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: ~/BYOND
key: ${{ runner.os }}-byond-${{ hashFiles('dependencies.sh') }}
key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }}
- name: Install rust-g
if: steps.secrets_set.outputs.SECRETS_ENABLED
run: |
Expand Down
185 changes: 80 additions & 105 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,125 +13,98 @@ on:
merge_group:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
run_linters:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Run Linters
runs-on: ubuntu-22.04
timeout-minutes: 5

concurrency:
group: run_linters-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Restore SpacemanDMM cache
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: ~/SpacemanDMM
key: ${{ runner.os }}-spacemandmm-${{ hashFiles('dependencies.sh') }}
restore-keys: |
${{ runner.os }}-spacemandmm-
key: ${{ runner.os }}-spacemandmm
- name: Restore Yarn cache
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: tgui/.yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('tgui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore Node cache
uses: actions/cache@v4
with:
path: ~/.nvm
key: ${{ runner.os }}-node-${{ hashFiles('dependencies.sh') }}
restore-keys: |
${{ runner.os }}-node-
- name: Restore Bootstrap cache
uses: actions/cache@v4
with:
path: tools/bootstrap/.cache
key: ${{ runner.os }}-bootstrap-${{ hashFiles('tools/requirements.txt') }}
restore-keys: |
${{ runner.os }}-bootstrap-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Restore Rust cache
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: ~/.cargo
key: ${{ runner.os }}-rust-${{ hashFiles('tools/ci/ci_dependencies.sh')}}
key: ${{ runner.os }}-rust
restore-keys: |
${{ runner.os }}-rust-
- name: Install OpenDream
uses: robinraju/release-downloader@v1.9
with:
repository: "OpenDreamProject/OpenDream"
tag: "latest"
fileName: "DMCompiler_linux-x64.tar.gz"
extract: true
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install Tools
run: |
pip3 install setuptools
bash tools/ci/install_node.sh
bash tools/ci/install_spaceman_dmm.sh dreamchecker
bash tools/ci/install_ripgrep.sh
cargo install ripgrep --features pcre2
tools/bootstrap/python -c ''
- name: Give Linters A Go
id: linter-setup
run: ':'
- name: Run Grep Checks
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_grep.sh
- name: Ticked File Enforcement
if: steps.linter-setup.conclusion == 'success' && !cancelled()
- name: Run Linters
run: |
bash tools/ci/check_filedirs.sh tgstation.dme
bash tools/ci/check_changelogs.sh
bash tools/ci/check_grep.sh
bash tools/ci/check_misc.sh
tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/tgstation_dme.json
tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/unit_tests.json
- name: Check Define Sanity
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m define_sanity.check
- name: Run DreamChecker
if: steps.linter-setup.conclusion == 'success' && !cancelled()
shell: bash
run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh
tools/bootstrap/python -m tools.maplint.source --github
tools/build/build --ci lint tgui-test
tools/bootstrap/python -m define_sanity.check
tools/bootstrap/python -m dmi.test
tools/bootstrap/python -m mapmerge2.dmm_test
~/dreamchecker > ${GITHUB_WORKSPACE}/output-annotations.txt 2>&1
- name: Annotate Lints
uses: yogstation13/DreamAnnotate@v2
if: success() || failure()
with:
outputFile: output-annotations.txt

odlint:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: "Lint with OpenDream"
runs-on: ubuntu-22.04
concurrency:
group: odlint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: robinraju/release-downloader@v1.9
with:
repository: "OpenDreamProject/OpenDream"
tag: "latest"
fileName: "DMCompiler_linux-x64.tar.gz"
extract: true
- name: Run OpenDream
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: ./DMCompiler_linux-x64/DMCompiler tgstation.dme --suppress-unimplemented --define=CIBUILDING | bash tools/ci/annotate_od.sh
- name: Run Map Checks
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: |
tools/bootstrap/python -m mapmerge2.dmm_test
tools/bootstrap/python -m tools.maplint.source
- name: Run DMI Tests
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m dmi.test
- name: Check File Directories
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_filedirs.sh tgstation.dme
- name: Check Changelogs
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_changelogs.sh
- name: Check Miscellaneous Files
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: bash tools/ci/check_misc.sh
- name: Run TGUI Checks
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/build/build --ci lint tgui-test
./DMCompiler_linux-x64/DMCompiler tgstation.dme --suppress-unimplemented --define=CIBUILDING

compile_all_maps:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Compile Maps
needs: [collect_data]
runs-on: ubuntu-22.04
timeout-minutes: 5

runs-on: ubuntu-20.04
concurrency:
group: compile_all_maps-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Restore BYOND cache
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: ~/BYOND
key: ${{ runner.os }}-byond-${{ hashFiles('dependencies.sh') }}
key: ${{ runner.os }}-byond
- name: Compile All Maps
run: |
bash tools/ci/install_byond.sh
Expand All @@ -146,15 +119,16 @@ jobs:
collect_data:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Collect data for other tasks
runs-on: ubuntu-22.04
timeout-minutes: 5
runs-on: ubuntu-20.04
outputs:
maps: ${{ steps.map_finder.outputs.maps }}
alternate_tests: ${{ steps.alternate_test_finder.outputs.alternate_tests }}
max_required_byond_client: ${{ steps.max_required_byond_client.outputs.max_required_byond_client }}

concurrency:
group: find_all_maps-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Find Maps
id: map_finder
run: |
Expand All @@ -177,26 +151,29 @@ jobs:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Integration Tests
needs: [collect_data]

strategy:
fail-fast: false
matrix:
map: ${{ fromJSON(needs.collect_data.outputs.maps).paths }}

concurrency:
group: run_all_tests-${{ github.head_ref || github.run_id }}-${{ matrix.map }}
cancel-in-progress: true
uses: ./.github/workflows/run_integration_tests.yml
with:
map: ${{ matrix.map }}
max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}}

run_alternate_tests:
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.collect_data.outputs.alternate_tests != '[]' )
if: "!contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]'"
name: Alternate Tests
needs: [collect_data]
strategy:
fail-fast: false
matrix:
setup: ${{ fromJSON(needs.collect_data.outputs.alternate_tests) }}

concurrency:
group: run_all_tests-${{ github.head_ref || github.run_id }}-${{ matrix.setup.major }}.${{ matrix.setup.minor }}-${{ matrix.setup.map }}
cancel-in-progress: true
uses: ./.github/workflows/run_integration_tests.yml
with:
map: ${{ matrix.setup.map }}
Expand All @@ -205,27 +182,23 @@ jobs:
max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}}

check_alternate_tests:
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.collect_data.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-22.04
timeout-minutes: 5
runs-on: ubuntu-20.04
steps:
- run: echo Alternate tests passed.

compare_screenshots:
if: ( !contains(github.event.head_commit.message, '[ci skip]') && (success() || failure()) )
if: "!contains(github.event.head_commit.message, '[ci skip]') && (success() || failure())"
needs: [run_all_tests, run_alternate_tests]
name: Compare Screenshot Tests
timeout-minutes: 15
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Setup directory
run: mkdir -p artifacts
- uses: actions/checkout@v3
# If we ever add more artifacts, this is going to break, but it'll be obvious.
- name: Download screenshot tests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v3
with:
path: artifacts
- name: ls -R
Expand All @@ -246,7 +219,7 @@ jobs:
echo ${{ github.event.pull_request.number }} > artifacts/screenshot_comparisons/pull_request_number.txt
- name: Upload bad screenshots
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: bad-screenshots
path: artifacts/screenshot_comparisons
Expand All @@ -256,17 +229,19 @@ jobs:
name: Windows Build
needs: [collect_data]
runs-on: windows-latest
timeout-minutes: 5

concurrency:
group: test_windows-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Restore Yarn cache
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: tgui/.yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('tgui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Compile
run: pwsh tools/ci/build.ps1
env:
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/codeowner_reviews.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@ jobs:
assign-users:

runs-on: ubuntu-latest
timeout-minutes: 5

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v4
- uses: actions/checkout@v3

#Parse the Codeowner file on non draft PRs
- name: CodeOwnersParser
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/compile_changelogs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
sudo apt-get install dos2unix
- name: "Checkout"
if: steps.value_holder.outputs.ACTIONS_ENABLED
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
fetch-depth: 25
persist-credentials: false
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docker_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ on:
workflow_dispatch:
jobs:
publish:
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
if: "!contains(github.event.head_commit.message, '[ci skip]')"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3

- name: Build and Publish Docker Image to Registry
uses: elgohr/Publish-Docker-Github-Action@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/generate_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ jobs:
generate_documentation:
permissions:
contents: write # for JamesIves/github-pages-deploy-action to push changes in repo
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
if: "!contains(github.event.head_commit.message, '[ci skip]')"
runs-on: ubuntu-20.04
concurrency: gen-docs
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Setup cache
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: ~/SpacemanDMM
key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr_emoji.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
title_and_changelog:
runs-on: ubuntu-20.04
steps:
- uses: Wayland-Smithy/emoji-stripper-action@de0c1d158edee50700583d6454aa5f5117337599
- uses: Wayland-Smithy/emoji-stripper-action@8f4c2fe9748bb9b02f105be4e72a1a42b0f34d84
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
title: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/remove_guide_comments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Remove guide comments
uses: actions/github-script@v6
with:
Expand Down
Loading
Loading