Skip to content

Commit 65bde8e

Browse files
Version update (#7)
* Inventory-system * fix: inventory example * fix: inventory example * Merge branch 'master' of github.com:bearlysleeping/aikami into inventory-system * feat: inventory save and load * fix: inventory example * Merge branch 'inventory-system' of github.com:BearlySleeping/aikami into inventory-system * chore: fix linting warnings * feat: added equipped slots * fix: merge inventory * fix: merge inventory * feat: user inventory * chore: import logic from aarpg-tutorial * chore: update enemy logic * fix: scene manager refactor * chore: remove extra assets * chore: remove outdated addons * chore: refactor dialog ui * fix: npc refactor * fix: quest manager * feat: pause menu * feat: new npc portraits * chore: update bun dependencies * fix: user inventory equipment * chore: Spelling corrections (#2) * fix tts spelling mistake * spellcheck update * all speech fixed * Turn Based Combat (#6) * feat: turn-based-combat setup * Added github lint checks (#5) * feat: ci checks * fix: cspell version number * fix: cspell config path * fix: grammar * chore: fix linting warning * fix: linting * fix: formatting errors * fix: discord notifications * fix: update poetry * chore: cleanup unit script * chore: fix discord notifications --------- Co-authored-by: Adrian S.A. <44787687+maplesyrup18@users.noreply.github.com>
1 parent 2e91b66 commit 65bde8e

File tree

599 files changed

+17775
-18141
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

599 files changed

+17775
-18141
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Pull Request Notifications
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened]
6+
7+
jobs:
8+
notify-on-pr:
9+
name: Notify Discord on Pull Request
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Notify Discord about New PR
13+
uses: tsickert/discord-webhook@v6.0.0
14+
with:
15+
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
16+
embed-title: '🔔 New Pull Request Created!'
17+
embed-description: |
18+
**Title:** ${{ github.event.pull_request.title }}
19+
**Description:** ${{ github.event.pull_request.body }}
20+
**Branch:** ${{ github.event.pull_request.head.ref }}
21+
**Created by:** ${{ github.actor }}
22+
[View Pull Request](${{ github.event.pull_request.html_url }})
23+
embed-color: 3447003 # Dark blue
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Check Build, Release and Deploy Status
2+
3+
on:
4+
workflow_run:
5+
workflows: ['Build, Release and Deploy'] # Triggered by this workflow
6+
types:
7+
- completed # Trigger when the workflow completes
8+
9+
jobs:
10+
notify-status:
11+
name: Notify Discord on Workflow Status
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
# Notify on Success
16+
- name: Notify Discord on Success
17+
if: ${{ github.event.workflow_run.conclusion == 'success' }} # Runs only on success
18+
uses: tsickert/discord-webhook@v6.0.0
19+
with:
20+
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
21+
embed-title: '🎉 Build, Release, and Deploy Succeeded!'
22+
embed-description: |
23+
**Version:** ${{ github.event.workflow_run.head_branch }}
24+
**Repository:** ${{ github.repository }}
25+
**Triggered by:** ${{ github.event.workflow_run.actor }}
26+
embed-color: 65280 # Green
27+
embed-footer-text: 'The pipeline completed successfully!'
28+
29+
# Notify on Failure
30+
- name: Notify Discord on Failure
31+
if: ${{ github.event.workflow_run.conclusion == 'failure' }} # Runs only on failure
32+
uses: tsickert/discord-webhook@v6.0.0
33+
with:
34+
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
35+
embed-title: '🚨 Build, Release, and Deploy Failed!'
36+
embed-description: |
37+
**Workflow:** Build, Release, and Deploy
38+
**Repository:** ${{ github.repository }}
39+
**Branch:** ${{ github.event.workflow_run.head_branch }}
40+
**Triggered by:** ${{ github.event.workflow_run.actor }}
41+
embed-color: 15158332 # Red
42+
embed-footer-text: 'The pipeline encountered errors.'
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Discord Push Notifications
2+
3+
on:
4+
push:
5+
branches: ['master', 'main', 'dev']
6+
paths:
7+
- '**' # Notify only when files are changed
8+
9+
jobs:
10+
notify-on-push:
11+
name: Notify on Push
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Notify Discord about Push
15+
uses: tsickert/discord-webhook@v6.0.0
16+
with:
17+
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
18+
embed-title: '🚀 New Commit Pushed!'
19+
embed-description: |
20+
**Commit Message:** ${{ github.event.head_commit.message }}
21+
**Branch:** ${{ github.ref_name }}
22+
**Author:** ${{ github.actor }}
23+
[View Commit](${{ github.event.head_commit.url }})
24+
embed-color: 3066993 # Blue
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Runs on non-game files for:
2+
# - Push to master/main
3+
# - Pull requests to master/main/dev
4+
name: Generic CI
5+
6+
on:
7+
push:
8+
branches: ['master', 'main']
9+
paths:
10+
- '**'
11+
- '!game/**' # Excludes game directory
12+
pull_request:
13+
branches: ['master', 'main', 'dev']
14+
paths:
15+
- '**'
16+
- '!game/**' # Excludes game directory
17+
18+
jobs:
19+
spellcheck:
20+
name: 'Spellcheck'
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v4
25+
26+
# Runs spellcheck using cspell
27+
# Requires cspell.json in root directory
28+
- name: Check spelling
29+
uses: streetsidesoftware/cspell-action@v6
30+
with:
31+
# See https://github.com/streetsidesoftware/cspell-action?tab=readme-ov-file#usage
32+
config: '.vscode/cspell.json'
33+
incremental_files_only: false # Check all files, not just changed ones
34+
root: '.'

.github/workflows/godot-checks.yml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Runs on game directory files for:
2+
# - Push to master/main
3+
# - Pull requests to master/main/dev
4+
name: Godot CI
5+
6+
on:
7+
push:
8+
branches: ['master', 'main']
9+
paths:
10+
- 'game/**' # Only runs when game files change
11+
pull_request:
12+
branches: ['master', 'main', 'dev']
13+
paths:
14+
- 'game/**' # Only runs when game files change
15+
16+
jobs:
17+
# Spellcheck checks
18+
spell-check:
19+
name: 'Spellcheck'
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
- uses: streetsidesoftware/cspell-action@v6
24+
with:
25+
config: '.vscode/cspell.json'
26+
incremental_files_only: false
27+
root: './game'
28+
29+
# Formatting and linting checks
30+
format-and-lint-check:
31+
name: 'GDScript Formatting Check'
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout code
35+
uses: actions/checkout@v4
36+
37+
# Install GDScript toolkit for formatting
38+
- name: Setup GDScript toolkit
39+
uses: Scony/godot-gdscript-toolkit@4.2.0
40+
41+
# Run formatting check
42+
- name: Check formatting
43+
run: |
44+
cd game
45+
gdformat --check ./
46+
47+
# Run linting check
48+
- name: Run linting
49+
run: |
50+
cd game
51+
gdlint ./
52+
53+
# Runs visual tests with specific graphics drivers
54+
visual-tests:
55+
name: 'Visual Tests (${{ matrix.render-driver }})'
56+
runs-on: ubuntu-latest
57+
# Prevents duplicate workflows on PRs from same repository
58+
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
59+
env:
60+
DOTNET_CLI_TELEMETRY_OPTOUT: true
61+
DOTNET_NOLOGO: true
62+
strategy:
63+
fail-fast: false
64+
matrix:
65+
render-driver: [vulkan] # Can add opengl3 if needed
66+
steps:
67+
# Checkout with LFS and submodules
68+
- name: Checkout code
69+
uses: actions/checkout@v4
70+
with:
71+
lfs: true
72+
submodules: 'recursive'
73+
74+
# Setup .NET environment
75+
- name: Setup .NET
76+
uses: actions/setup-dotnet@v4.0.0
77+
with:
78+
global-json-file: global.json
79+
80+
- name: Restore dependencies
81+
run: dotnet restore
82+
83+
# Setup graphics drivers
84+
- name: Add graphics repositories
85+
run: |
86+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
87+
sudo add-apt-repository -n ppa:kisak/kisak-mesa
88+
89+
# Install and cache graphics packages
90+
- name: Install graphics drivers
91+
uses: awalsh128/cache-apt-pkgs-action@v1.4.1
92+
with:
93+
packages: mesa-vulkan-drivers binutils
94+
version: 1.0
95+
96+
# Setup Godot environment
97+
- name: Setup Godot
98+
uses: chickensoft-games/setup-godot@v2.0.0
99+
with:
100+
version: global.json
101+
102+
# Generate C# bindings
103+
- name: Generate .NET Bindings
104+
working-directory: ./game
105+
run: godot --headless --build-solutions --quit || exit 0
106+
107+
# Run the actual tests
108+
- name: Run Tests
109+
working-directory: ./game
110+
run: |
111+
xvfb-run godot --audio-driver Dummy --rendering-driver ${{ matrix.render-driver }} --run-tests --quit-on-finish --coverage

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,4 +187,4 @@ output
187187

188188
*.firebase
189189

190-
godot-examples
190+
*godot-examples

.vscode/cspell.json

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
3+
"version": "0.2",
4+
"dictionaries": ["softwareTerms"],
5+
"ignorePaths": [
6+
"**/*.tscn",
7+
"**/*.import",
8+
"**/*.godot/**/*.*",
9+
"**/*.tres",
10+
"**/*.svg",
11+
"**/*.tmp",
12+
"**/*project.godot",
13+
"**/*node_modules",
14+
"**/*dist",
15+
"**/*export_presets.cfg"
16+
],
17+
"words": [
18+
"clampi",
19+
"elif",
20+
"NPCS",
21+
"onready",
22+
"randf",
23+
"roundi",
24+
"tilemap",
25+
"tscn",
26+
"unfocus",
27+
"webp",
28+
"wrapi",
29+
"printerr",
30+
"huggingface",
31+
"nerijs",
32+
"stabilityai",
33+
"lefthook",
34+
"gdtoolkit",
35+
"gdlintrc",
36+
"gameplay",
37+
"gdlint",
38+
"gdformat",
39+
"tilesets",
40+
"webgl",
41+
"dalle",
42+
"elevenlabs",
43+
"ollama",
44+
"sfxs",
45+
"vsync",
46+
"borderless",
47+
"unparent",
48+
"equipable",
49+
"chestplate",
50+
51+
"predelete",
52+
"stylebox",
53+
"hbox",
54+
"unequip",
55+
"pixelmix",
56+
"astar",
57+
"darkmode",
58+
"setuptools",
59+
"embedder",
60+
"startfile",
61+
// Godot terms
62+
"gdscript",
63+
"orangered",
64+
"clampf",
65+
"aabb",
66+
"deadzone",
67+
"lerp",
68+
"snappedf",
69+
70+
// Maybe rename
71+
"iconify",
72+
"daynightcycle",
73+
"pathfinding",
74+
"rects",
75+
"autosplit",
76+
"unstreched",
77+
"autosplitmerge",
78+
"protoset",
79+
"weakref",
80+
"knockback",
81+
"unstringify",
82+
"unparented",
83+
"pushable",
84+
"prewritten",
85+
86+
// in-game terms
87+
"bearly",
88+
"aikami",
89+
"halfling",
90+
"dragonborn",
91+
"tiefling",
92+
"baldur",
93+
"debuffs",
94+
"cooldown",
95+
"cooldowns",
96+
97+
// names
98+
"Sauron",
99+
"Aragorn",
100+
"Rohan",
101+
"Gondor",
102+
"Arwen"
103+
]
104+
}

.vscode/launch.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,38 @@
1919
"time_scale": 1.0,
2020
"disable_vsync": false,
2121
"fixed_fps": 60
22+
},
23+
{
24+
"name": "Debug Active File",
25+
"type": "godot",
26+
"request": "launch",
27+
"project": "${workspaceFolder}/game",
28+
"address": "127.0.0.1",
29+
"port": 6007,
30+
"profiling": true,
31+
"single_threaded_scene": false,
32+
"debug_collisions": true,
33+
"debug_paths": true,
34+
"debug_navigation": true,
35+
"debug_avoidance": true,
36+
"debug_stringnames": true,
37+
"frame_delay": 0,
38+
"time_scale": 1.0,
39+
"disable_vsync": false,
40+
"fixed_fps": 60,
41+
"scene": "${input:gdToTscn}"
42+
}
43+
],
44+
"inputs": [
45+
{
46+
"id": "gdToTscn",
47+
"type": "command",
48+
"command": "extension.commandvariable.transform",
49+
"args": {
50+
"text": "${file}",
51+
"find": "^(.*)(\\.[^\\.]+)$",
52+
"replace": "$1.tscn"
53+
}
2254
}
2355
]
2456
}

0 commit comments

Comments
 (0)