Compare commits

...

4 Commits

Author SHA1 Message Date
0e5701bdc7
Merge pull request #5 from GenZmeY/short-name
add short alias for mutator
2024-03-08 23:07:23 +03:00
dde4c9aa93
add short alias for mutator 2023-12-31 23:36:23 +03:00
98604ab176
update ci/cd 2023-12-31 20:50:05 +03:00
22b8f51e7b update description 2023-06-29 00:37:43 +03:00
4 changed files with 118 additions and 79 deletions

View File

@ -6,12 +6,14 @@ permissions: read-all
on: on:
push: push:
pull_request: pull_request:
branches: [master] branches:
- master
env: env:
APPLY_FIXES: none APPLY_FIXES: none
APPLY_FIXES_EVENT: pull_request APPLY_FIXES_EVENT: pull_request
APPLY_FIXES_MODE: commit APPLY_FIXES_MODE: commit
FILTER_REGEX_EXCLUDE: (mega-linter.yml)
DISABLE: SPELL DISABLE: SPELL
concurrency: concurrency:
@ -19,54 +21,94 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
build: megalinter:
name: MegaLinter name: MegaLinter
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v3 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with: with:
token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
fetch-depth: 0
- name: MegaLinter - name: MegaLinter
uses: oxsecurity/megalinter@7e042c726c68415475b05a65a686c612120a1232
id: ml id: ml
uses: oxsecurity/megalinter@v6
env: env:
VALIDATE_ALL_CODEBASE: true VALIDATE_ALL_CODEBASE: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Archive production artifacts - name: Archive production artifacts
if: ${{ success() }} || ${{ failure() }} uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392
uses: actions/upload-artifact@v3 if: success() || failure()
with: with:
name: MegaLinter reports name: MegaLinter reports
path: | path: |
megalinter-reports megalinter-reports
mega-linter.log mega-linter.log
- name: Set APPLY_FIXES_IF var
run: |
printf 'APPLY_FIXES_IF=%s\n' "${{
steps.ml.outputs.has_updated_sources == 1 &&
(
env.APPLY_FIXES_EVENT == 'all' ||
env.APPLY_FIXES_EVENT == github.event_name
) &&
(
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name == github.repository
)
}}" >> "${GITHUB_ENV}"
- name: Set APPLY_FIXES_IF_* vars
run: |
printf 'APPLY_FIXES_IF_PR=%s\n' "${{
env.APPLY_FIXES_IF == 'true' &&
env.APPLY_FIXES_MODE == 'pull_request'
}}" >> "${GITHUB_ENV}"
printf 'APPLY_FIXES_IF_COMMIT=%s\n' "${{
env.APPLY_FIXES_IF == 'true' &&
env.APPLY_FIXES_MODE == 'commit' &&
(!contains(fromJSON('["refs/heads/main", "refs/heads/master"]'), github.ref))
}}" >> "${GITHUB_ENV}"
- name: Create Pull Request with applied fixes - name: Create Pull Request with applied fixes
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
id: cpr id: cpr
if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'pull_request' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) if: env.APPLY_FIXES_IF_PR == 'true'
uses: peter-evans/create-pull-request@v5
with: with:
token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
commit-message: "[MegaLinter] Apply linters automatic fixes" commit-message: "[MegaLinter] Apply linters automatic fixes"
title: "[MegaLinter] Apply linters automatic fixes" title: "[MegaLinter] Apply linters automatic fixes"
labels: bot labels: bot
- name: Create PR output - name: Create PR output
if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'pull_request' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) if: env.APPLY_FIXES_IF_PR == 'true'
run: | run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" echo "PR Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" echo "PR URL - ${{ steps.cpr.outputs.pull-request-url }}"
- name: Prepare commit - name: Prepare commit
if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'commit' && github.ref != 'refs/heads/main' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) if: env.APPLY_FIXES_IF_COMMIT == 'true'
run: sudo chown -Rc $UID .git/ run: sudo chown -Rc $UID .git/
- name: Commit and push applied linter fixes - name: Commit and push applied linter fixes
if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'commit' && github.ref != 'refs/heads/main' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) uses: stefanzweifel/git-auto-commit-action@8756aa072ef5b4a080af5dc8fef36c5d586e521d
uses: stefanzweifel/git-auto-commit-action@v4 if: env.APPLY_FIXES_IF_COMMIT == 'true'
with: with:
branch: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref }} branch: >-
${{
github.event.pull_request.head.ref ||
github.head_ref ||
github.ref
}}
commit_message: "[MegaLinter] Apply linters fixes" commit_message: "[MegaLinter] Apply linters fixes"
commit_user_name: megalinter-bot commit_user_name: "github-actions"
commit_user_email: nicolas.vuillamy@ox.security commit_user_email: "github-actions[bot]@users.noreply.github.com"

View File

@ -21,7 +21,7 @@ No. This mod is not whitelisted and will unrank your server. Any XP gained will
[*]Subscribe to this mutator; [*]Subscribe to this mutator;
[*]Start KF2; [*]Start KF2;
[*]Open console (`) and input: [*]Open console (`) and input:
[b]open KF-BioticsLab?Game=KFGameContent.KFGameInfo_Endless?Difficulty=0?GameLength=0?Mutator=StartWave.StartWaveMut?[/b] [b]open KF-BioticsLab?Game=KFGameContent.KFGameInfo_Endless?Difficulty=0?GameLength=0?Mutator=StartWave.Mut[/b]
(replace the map and add the parameters you need) (replace the map and add the parameters you need)
[*]<Enter>. [*]<Enter>.
[/olist] [/olist]
@ -36,12 +36,13 @@ No. This mod is not whitelisted and will unrank your server. Any XP gained will
[*]Add the following string to the [b][OnlineSubsystemSteamworks.KFWorkshopSteamworks][/b] section (create one if it doesn't exist): [*]Add the following string to the [b][OnlineSubsystemSteamworks.KFWorkshopSteamworks][/b] section (create one if it doesn't exist):
[b]ServerSubscribedWorkshopItems=2521731447[/b] [b]ServerSubscribedWorkshopItems=2521731447[/b]
[*]Start the server and wait while the mutator is downloading; [*]Start the server and wait while the mutator is downloading;
[*]Add mutator to server start parameters: [b]?Mutator=StartWave.StartWaveMut[/b] and restart the server. [*]Add mutator (with parameters you need) to server start parameters: [b]?Mutator=StartWave.Mut[/b] and restart the server.
[/olist] [/olist]
[h1]Mutator setup[/h1] [h1]Mutator setup[/h1]
You can use a config if you don't want to specify parameters in the startup line: The parameters below can be used as parameters in the startup line.
Create a file KFGame/Config/KFStartWave.ini and copy this text into it: But You can use a config if you don't want to specify parameters in the startup line:
Create a file [b]KFGame/Config/KFStartWave.ini[/b] and copy this text into it:
[code] [code]
[StartWave.StartWave] [StartWave.StartWave]
// Any settings not specified in the launch command will use the values stored here. // Any settings not specified in the launch command will use the values stored here.
@ -101,10 +102,5 @@ If its not a problem for you to download all subscriptions again, you can sim
If you do not want to download the subscriptions again, delete only those folders that contain SetWave.u file. If you do not want to download the subscriptions again, delete only those folders that contain SetWave.u file.
3. Try starting the game/server again. 3. Try starting the game/server again.
[h1]Bug reports[/h1]
I didn't test the mod very much because I only needed to fix a bug with Dosh.
If you find any other problems, please describe how to reproduce them. Maybe I can fix it.
You can do it right here, but I'll be much happier if you do it [url=https://github.com/GenZmeY/KF2-StartWave/issues]in issues on github[/url] .
[h1]Sources[/h1] [h1]Sources[/h1]
[url=https://github.com/GenZmeY/KF2-StartWave]https://github.com/GenZmeY/KF2-StartWave[/url] [b](GNU GPLv3)[/b] [url=https://github.com/GenZmeY/KF2-StartWave]https://github.com/GenZmeY/KF2-StartWave[/url] [b](GNU GPLv3)[/b]

53
StartWave/Classes/Mut.uc Normal file
View File

@ -0,0 +1,53 @@
class Mut extends KFMutator;
var private StartWave StartWave;
public simulated function bool SafeDestroy()
{
return (bPendingDelete || bDeleteMe || Destroy());
}
public event PreBeginPlay()
{
Super.PreBeginPlay();
if (WorldInfo.NetMode == NM_Client) return;
foreach WorldInfo.DynamicActors(class'StartWave', StartWave)
{
break;
}
if (StartWave == None)
{
StartWave = WorldInfo.Spawn(class'StartWave');
}
if (StartWave == None)
{
`Log_Base("FATAL: Can't Spawn 'StartWave'");
SafeDestroy();
}
}
public function AddMutator(Mutator M)
{
if (M == Self) return;
if (M.Class == Class)
Mut(M).SafeDestroy();
else
Super.AddMutator(M);
}
public function Mutate(String MutateString, PlayerController Sender)
{
StartWave.Mutate(MutateString, Sender);
Super.Mutate(MutateString, Sender);
}
defaultproperties
{
}

View File

@ -1,53 +1 @@
class StartWaveMut extends KFMutator; class StartWaveMut extends Mut; // backward compatibility
var private StartWave StartWave;
public simulated function bool SafeDestroy()
{
return (bPendingDelete || bDeleteMe || Destroy());
}
public event PreBeginPlay()
{
Super.PreBeginPlay();
if (WorldInfo.NetMode == NM_Client) return;
foreach WorldInfo.DynamicActors(class'StartWave', StartWave)
{
break;
}
if (StartWave == None)
{
StartWave = WorldInfo.Spawn(class'StartWave');
}
if (StartWave == None)
{
`Log_Base("FATAL: Can't Spawn 'StartWave'");
SafeDestroy();
}
}
public function AddMutator(Mutator Mut)
{
if (Mut == Self) return;
if (Mut.Class == Class)
StartWaveMut(Mut).SafeDestroy();
else
Super.AddMutator(Mut);
}
public function Mutate(String MutateString, PlayerController Sender)
{
StartWave.Mutate(MutateString, Sender);
Super.Mutate(MutateString, Sender);
}
defaultproperties
{
}