10 Commits

Author SHA1 Message Date
09a92bd148 fixed roster generation
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 12s
Create tag and build when new code gets to main / Export (push) Successful in 1m29s
2026-02-01 14:09:46 +01:00
81b632d3aa characters!!!
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 10s
Create tag and build when new code gets to main / Export (push) Successful in 1m30s
2026-02-01 13:41:21 +01:00
837b994ef0 new font and menu tweaks, created bishop and knight character
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 10s
Create tag and build when new code gets to main / Export (push) Successful in 1m30s
2026-02-01 12:41:49 +01:00
a4cf579c8e fixed mask placement issue
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 9s
Create tag and build when new code gets to main / Export (push) Successful in 1m23s
2026-02-01 11:14:55 +01:00
6c50970d7e alone management 2026-02-01 11:12:46 +01:00
de0c6a959d mask update
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 9s
Create tag and build when new code gets to main / Export (push) Successful in 1m24s
2026-02-01 10:12:50 +01:00
3eca322fdd Updated menu
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 9s
Create tag and build when new code gets to main / Export (push) Successful in 1m23s
2026-02-01 10:07:14 +01:00
4d43e7067f trying to fix mask visibility in build
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 9s
Create tag and build when new code gets to main / Export (push) Successful in 1m23s
2026-02-01 09:49:59 +01:00
db4aa83224 debug build
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 8s
Create tag and build when new code gets to main / Export (push) Successful in 1m20s
2026-02-01 09:46:20 +01:00
3786893384 Fixed score computation and added mouth masks
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 10s
Create tag and build when new code gets to main / Export (push) Successful in 1m22s
2026-02-01 09:40:46 +01:00
105 changed files with 1977 additions and 127 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmmhwqsi3im3w"
path="res://.godot/imported/Perso 4.png-e989af224594ede122096ea4cc4a8672.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/characters/Perso 4.png"
dest_files=["res://.godot/imported/Perso 4.png-e989af224594ede122096ea4cc4a8672.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c61n5v2xrlwy2"
path="res://.godot/imported/Perso 5.png-6797ef96743719c15089096e2ce70e22.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/characters/Perso 5.png"
dest_files=["res://.godot/imported/Perso 5.png-6797ef96743719c15089096e2ce70e22.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 987 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bc402aj61r77q"
path="res://.godot/imported/Perso 6.png-b270ea0ca3c9ffe346b12b98bf9c5763.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/characters/Perso 6.png"
dest_files=["res://.godot/imported/Perso 6.png-b270ea0ca3c9ffe346b12b98bf9c5763.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 993 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpuuh3i22lkxq"
path="res://.godot/imported/Perso 7.png-673476dad8e55bb6f779976db3a72720.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/characters/Perso 7.png"
dest_files=["res://.godot/imported/Perso 7.png-673476dad8e55bb6f779976db3a72720.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bveq6mbi1yuku"
path="res://.godot/imported/Perso 8.png-df8fb65726c6c6a94a09c8a6770b6bab.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/characters/Perso 8.png"
dest_files=["res://.godot/imported/Perso 8.png-df8fb65726c6c6a94a09c8a6770b6bab.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3rxk5m1dls7f"
path="res://.godot/imported/Perso 9.png-e2a4a9aa6d22b49bfb4007d4c99c08ae.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/characters/Perso 9.png"
dest_files=["res://.godot/imported/Perso 9.png-e2a4a9aa6d22b49bfb4007d4c99c08ae.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -0,0 +1,93 @@
Copyright 2023 The Playwrite Project Authors (https://github.com/TypeTogether/Playwrite)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://miscsmiumts5"
path="res://.godot/imported/PlaywriteAUTAS-VariableFont_wght.ttf-a8a605958bbf86eb4629cecf564abce2.fontdata"
[deps]
source_file="res://assets/fonts/Playwrite_AU_TAS/PlaywriteAUTAS-VariableFont_wght.ttf"
dest_files=["res://.godot/imported/PlaywriteAUTAS-VariableFont_wght.ttf-a8a605958bbf86eb4629cecf564abce2.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,66 @@
Playwrite AU TAS Variable Font
==============================
This download contains Playwrite AU TAS as both a variable font and static fonts.
Playwrite AU TAS is a variable font with this axis:
wght
This means all the styles are contained in a single file:
Playwrite_AU_TAS/PlaywriteAUTAS-VariableFont_wght.ttf
If your app fully supports variable fonts, you can now pick intermediate styles
that arent available as static fonts. Not all apps support variable fonts, and
in those cases you can use the static font files for Playwrite AU TAS:
Playwrite_AU_TAS/static/PlaywriteAUTAS-Thin.ttf
Playwrite_AU_TAS/static/PlaywriteAUTAS-ExtraLight.ttf
Playwrite_AU_TAS/static/PlaywriteAUTAS-Light.ttf
Playwrite_AU_TAS/static/PlaywriteAUTAS-Regular.ttf
Get started
-----------
1. Install the font files you want to use
2. Use your app's font picker to view the font family and all the
available styles
Learn more about variable fonts
-------------------------------
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
https://variablefonts.typenetwork.com
https://medium.com/variable-fonts
In desktop apps
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
Online
https://developers.google.com/fonts/docs/getting_started
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
Installing fonts
MacOS: https://support.apple.com/en-us/HT201749
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
Android Apps
https://developers.google.com/fonts/docs/android
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
License
-------
Please read the full license text (OFL.txt) to understand the permissions,
restrictions and requirements for usage, redistribution, and modification.
You can use them in your products & projects print or digital,
commercial or otherwise.
This isn't legal advice, please consider consulting a lawyer and see the full
license for all details.

Binary file not shown.

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://c1paxjyjwhkvg"
path="res://.godot/imported/PlaywriteAUTAS-ExtraLight.ttf-1ed5270323ece7c8ea6f0b012f5d168b.fontdata"
[deps]
source_file="res://assets/fonts/Playwrite_AU_TAS/static/PlaywriteAUTAS-ExtraLight.ttf"
dest_files=["res://.godot/imported/PlaywriteAUTAS-ExtraLight.ttf-1ed5270323ece7c8ea6f0b012f5d168b.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://vbfmm30e3u68"
path="res://.godot/imported/PlaywriteAUTAS-Light.ttf-44b9f9c99caba7d7d38ecc76905993a9.fontdata"
[deps]
source_file="res://assets/fonts/Playwrite_AU_TAS/static/PlaywriteAUTAS-Light.ttf"
dest_files=["res://.godot/imported/PlaywriteAUTAS-Light.ttf-44b9f9c99caba7d7d38ecc76905993a9.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://xlqwckigib1y"
path="res://.godot/imported/PlaywriteAUTAS-Regular.ttf-d064ce7e3bcba863c3a9734d3ac929a7.fontdata"
[deps]
source_file="res://assets/fonts/Playwrite_AU_TAS/static/PlaywriteAUTAS-Regular.ttf"
dest_files=["res://.godot/imported/PlaywriteAUTAS-Regular.ttf-d064ce7e3bcba863c3a9734d3ac929a7.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://dh3yyynngr4sm"
path="res://.godot/imported/PlaywriteAUTAS-Thin.ttf-3a7289c6fdcf13f7562b956c62767fbf.fontdata"
[deps]
source_file="res://assets/fonts/Playwrite_AU_TAS/static/PlaywriteAUTAS-Thin.ttf"
dest_files=["res://.godot/imported/PlaywriteAUTAS-Thin.ttf-3a7289c6fdcf13f7562b956c62767fbf.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@@ -0,0 +1,93 @@
Copyright 2022 The Shantell Sans Project Authors (https://github.com/arrowtype/shantell-sans)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,78 @@
Shantell Sans Variable Font
===========================
This download contains Shantell Sans as both variable fonts and static fonts.
Shantell Sans is a variable font with these axes:
BNCE
INFM
SPAC
wght
This means all the styles are contained in these files:
Shantell_Sans/ShantellSans-VariableFont_BNCE,INFM,SPAC,wght.ttf
Shantell_Sans/ShantellSans-Italic-VariableFont_BNCE,INFM,SPAC,wght.ttf
If your app fully supports variable fonts, you can now pick intermediate styles
that arent available as static fonts. Not all apps support variable fonts, and
in those cases you can use the static font files for Shantell Sans:
Shantell_Sans/static/ShantellSans-Light.ttf
Shantell_Sans/static/ShantellSans-Regular.ttf
Shantell_Sans/static/ShantellSans-Medium.ttf
Shantell_Sans/static/ShantellSans-SemiBold.ttf
Shantell_Sans/static/ShantellSans-Bold.ttf
Shantell_Sans/static/ShantellSans-ExtraBold.ttf
Shantell_Sans/static/ShantellSans-LightItalic.ttf
Shantell_Sans/static/ShantellSans-Italic.ttf
Shantell_Sans/static/ShantellSans-MediumItalic.ttf
Shantell_Sans/static/ShantellSans-SemiBoldItalic.ttf
Shantell_Sans/static/ShantellSans-BoldItalic.ttf
Shantell_Sans/static/ShantellSans-ExtraBoldItalic.ttf
Get started
-----------
1. Install the font files you want to use
2. Use your app's font picker to view the font family and all the
available styles
Learn more about variable fonts
-------------------------------
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
https://variablefonts.typenetwork.com
https://medium.com/variable-fonts
In desktop apps
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
Online
https://developers.google.com/fonts/docs/getting_started
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
Installing fonts
MacOS: https://support.apple.com/en-us/HT201749
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
Android Apps
https://developers.google.com/fonts/docs/android
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
License
-------
Please read the full license text (OFL.txt) to understand the permissions,
restrictions and requirements for usage, redistribution, and modification.
You can use them in your products & projects print or digital,
commercial or otherwise.
This isn't legal advice, please consider consulting a lawyer and see the full
license for all details.

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://baokvv60aqokh"
path="res://.godot/imported/ShantellSans-Italic-VariableFont_BNCE,INFM,SPAC,wght.ttf-86e660b090caaabfb0675ced48f18bf7.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/ShantellSans-Italic-VariableFont_BNCE,INFM,SPAC,wght.ttf"
dest_files=["res://.godot/imported/ShantellSans-Italic-VariableFont_BNCE,INFM,SPAC,wght.ttf-86e660b090caaabfb0675ced48f18bf7.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://b6paka7n5bncd"
path="res://.godot/imported/ShantellSans-VariableFont_BNCE,INFM,SPAC,wght.ttf-d1b19911108f0e223d261d67a0da3a8d.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/ShantellSans-VariableFont_BNCE,INFM,SPAC,wght.ttf"
dest_files=["res://.godot/imported/ShantellSans-VariableFont_BNCE,INFM,SPAC,wght.ttf-d1b19911108f0e223d261d67a0da3a8d.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://e03gd28fvlo8"
path="res://.godot/imported/ShantellSans-Bold.ttf-bcc6b431aa31a30671543e15ec301db7.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-Bold.ttf"
dest_files=["res://.godot/imported/ShantellSans-Bold.ttf-bcc6b431aa31a30671543e15ec301db7.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://bnsbhvkhcmw4l"
path="res://.godot/imported/ShantellSans-BoldItalic.ttf-0468fb0d049895196ea93090017f2742.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-BoldItalic.ttf"
dest_files=["res://.godot/imported/ShantellSans-BoldItalic.ttf-0468fb0d049895196ea93090017f2742.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://g2p84cmskj6j"
path="res://.godot/imported/ShantellSans-ExtraBold.ttf-37659e171443b0460ba3989e78952333.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-ExtraBold.ttf"
dest_files=["res://.godot/imported/ShantellSans-ExtraBold.ttf-37659e171443b0460ba3989e78952333.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://b2inyfm5s1erg"
path="res://.godot/imported/ShantellSans-ExtraBoldItalic.ttf-5e0c831b2219f10d6614eb93c2209777.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-ExtraBoldItalic.ttf"
dest_files=["res://.godot/imported/ShantellSans-ExtraBoldItalic.ttf-5e0c831b2219f10d6614eb93c2209777.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://daum5h5s47wy3"
path="res://.godot/imported/ShantellSans-Italic.ttf-0b982f12ef382a3524aa2ba890b2309b.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-Italic.ttf"
dest_files=["res://.godot/imported/ShantellSans-Italic.ttf-0b982f12ef382a3524aa2ba890b2309b.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://b1cvlh5gmpp60"
path="res://.godot/imported/ShantellSans-Light.ttf-1188121155a91c9013fa2d25f4f27823.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-Light.ttf"
dest_files=["res://.godot/imported/ShantellSans-Light.ttf-1188121155a91c9013fa2d25f4f27823.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://dh3cpvtijpelr"
path="res://.godot/imported/ShantellSans-LightItalic.ttf-9cf07efebd9da9a1c0c36895fe7c8230.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-LightItalic.ttf"
dest_files=["res://.godot/imported/ShantellSans-LightItalic.ttf-9cf07efebd9da9a1c0c36895fe7c8230.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://by5hk3nrn6cnt"
path="res://.godot/imported/ShantellSans-Medium.ttf-36be470dac035cd5f0c25a22cf1fd9f1.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-Medium.ttf"
dest_files=["res://.godot/imported/ShantellSans-Medium.ttf-36be470dac035cd5f0c25a22cf1fd9f1.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://d23ltkepwjvks"
path="res://.godot/imported/ShantellSans-MediumItalic.ttf-16d8be164496e4866308270e910c9e47.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-MediumItalic.ttf"
dest_files=["res://.godot/imported/ShantellSans-MediumItalic.ttf-16d8be164496e4866308270e910c9e47.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://ers4b4yk4wso"
path="res://.godot/imported/ShantellSans-Regular.ttf-1c66f4d7370149180df730b2b8af738b.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-Regular.ttf"
dest_files=["res://.godot/imported/ShantellSans-Regular.ttf-1c66f4d7370149180df730b2b8af738b.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://j3j27t2qiiv0"
path="res://.godot/imported/ShantellSans-SemiBold.ttf-a50c1abf51a78ac87d73cd3f56ead2d1.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-SemiBold.ttf"
dest_files=["res://.godot/imported/ShantellSans-SemiBold.ttf-a50c1abf51a78ac87d73cd3f56ead2d1.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://bemd1tluhkfb4"
path="res://.godot/imported/ShantellSans-SemiBoldItalic.ttf-4078c07f59f8e4a3fb11506a3cadc490.fontdata"
[deps]
source_file="res://assets/fonts/Shantell_Sans/static/ShantellSans-SemiBoldItalic.ttf"
dest_files=["res://.godot/imported/ShantellSans-SemiBoldItalic.ttf-4078c07f59f8e4a3fb11506a3cadc490.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

BIN
assets/masks/Bouche 1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dr265gon4k377"
path="res://.godot/imported/Bouche 1.png-829bdfefb380a5c2146fb79677a3e54e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/masks/Bouche 1.png"
dest_files=["res://.godot/imported/Bouche 1.png-829bdfefb380a5c2146fb79677a3e54e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
assets/masks/Bouche 2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://02al0mfbvjc1"
path="res://.godot/imported/Bouche 2.png-cef33809e989213ecdcb5eaec450d079.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/masks/Bouche 2.png"
dest_files=["res://.godot/imported/Bouche 2.png-cef33809e989213ecdcb5eaec450d079.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
assets/masks/Bouche 3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfnvs01ynm55q"
path="res://.godot/imported/Bouche 3.png-51e19461e5a132b25fc8982a596c9ed1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/masks/Bouche 3.png"
dest_files=["res://.godot/imported/Bouche 3.png-51e19461e5a132b25fc8982a596c9ed1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

After

Width:  |  Height:  |  Size: 291 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 373 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

After

Width:  |  Height:  |  Size: 320 KiB

View File

@@ -5,10 +5,10 @@ content_margin_left = 4.0
content_margin_top = 4.0
content_margin_right = 4.0
content_margin_bottom = 4.0
bg_color = Color(0.428961, 0.730226, 0.50528, 1)
bg_color = Color(0.9100096, 0.86291647, 0.708175, 1)
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.298858, 0.546296, 0.363635, 1)
border_color = Color(0, 0, 0, 1)
corner_radius_top_left = 4
corner_radius_top_right = 4
corner_radius_bottom_right = 4
@@ -19,10 +19,10 @@ content_margin_left = 4.0
content_margin_top = 4.0
content_margin_right = 4.0
content_margin_bottom = 4.0
bg_color = Color(0.298858, 0.546296, 0.363635, 1)
bg_color = Color(0.95843965, 0.9319269, 0.85383695, 1)
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.234842, 0.443383, 0.289887, 1)
border_color = Color(0, 0, 0, 1)
corner_radius_top_left = 4
corner_radius_top_right = 4
corner_radius_bottom_right = 4
@@ -33,10 +33,10 @@ content_margin_left = 4.0
content_margin_top = 4.0
content_margin_right = 4.0
content_margin_bottom = 4.0
bg_color = Color(0.234842, 0.443383, 0.289887, 1)
bg_color = Color(0.8565786, 0.79335916, 0.5865505, 1)
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.234842, 0.443383, 0.289887, 1)
border_color = Color(0, 0, 0, 1)
corner_radius_top_left = 4
corner_radius_top_right = 4
corner_radius_bottom_right = 4

View File

@@ -4,6 +4,10 @@
[ext_resource type="Script" uid="uid://cgj703gjwdvs1" path="res://menus/scenes/menus/main_menu/main_menu_with_animations.gd" id="2_ytpwg"]
[ext_resource type="PackedScene" uid="uid://xkqu58vkydps" path="res://menus/scenes/windows/main_menu_options_window.tscn" id="3_8i6b8"]
[ext_resource type="PackedScene" uid="uid://cvweffl7bo7bj" path="res://menus/scenes/windows/main_menu_credits_window.tscn" id="4_t55r5"]
[ext_resource type="Texture2D" uid="uid://c60m6ulhqcbga" path="res://assets/decor/BG.png" id="5_t55r5"]
[ext_resource type="Texture2D" uid="uid://dbpdehppn5h8v" path="res://assets/decor/entrance_bg_objects.png" id="6_cgy0s"]
[ext_resource type="Texture2D" uid="uid://ce7wdct4e27e1" path="res://assets/decor/reception.png" id="7_l4hix"]
[ext_resource type="Texture2D" uid="uid://crjrcjpfo53t0" path="res://assets/decor/menu.png" id="8_cgy0s"]
[sub_resource type="Animation" id="1"]
resource_name = "Intro"
@@ -327,25 +331,102 @@ tree_root = SubResource("AnimationNodeStateMachine_vikuh")
anim_player = NodePath("../MenuAnimationPlayer")
parameters/conditions/intro_done = false
[node name="Bg" type="Sprite2D" parent="." index="3" unique_id=1561676140]
position = Vector2(2417.25, 540)
scale = Vector2(0.5, 0.5)
texture = ExtResource("5_t55r5")
[node name="EntranceBgObjects" type="Sprite2D" parent="." index="4" unique_id=545575527]
position = Vector2(967.25, 410)
scale = Vector2(0.5, 0.5)
texture = ExtResource("6_cgy0s")
[node name="Reception" type="Sprite2D" parent="." index="5" unique_id=513064627]
position = Vector2(1063.85, 700)
scale = Vector2(0.5, 0.5)
texture = ExtResource("7_l4hix")
[node name="Menu" type="Sprite2D" parent="." index="6" unique_id=639397146]
position = Vector2(955, 552.25)
scale = Vector2(0.6, 0.6)
texture = ExtResource("8_cgy0s")
[node name="TitleMargin" parent="MenuContainer" index="0"]
theme_override_constants/margin_left = 232
theme_override_constants/margin_top = 141
[node name="TitleContainer" parent="MenuContainer/TitleMargin" index="0"]
modulate = Color(1, 1, 1, 0)
[node name="TitleLabel" parent="MenuContainer/TitleMargin/TitleContainer" index="0"]
text = "GGJ26"
custom_minimum_size = Vector2(200, 0)
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -268.5
offset_right = 67.359985
offset_bottom = 137.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 40
text = "\"Good evening\""
autowrap_mode = 3
script = null
[node name="SubTitleMargin" parent="MenuContainer" index="1"]
theme_override_constants/margin_top = 256
theme_override_constants/margin_right = 84
[node name="SubTitleContainer" parent="MenuContainer/SubTitleMargin" index="0"]
modulate = Color(1, 1, 1, 0)
[node name="SubTitleLabel" parent="MenuContainer/SubTitleMargin/SubTitleContainer" index="0"]
custom_minimum_size = Vector2(200, 0)
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -100.0
offset_right = 200.0
offset_bottom = 145.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 20
text = "Make tables plans for the best night possible"
autowrap_mode = 3
[node name="MenuButtonsMargin" parent="MenuContainer" index="2"]
theme_override_constants/margin_top = -177
[node name="MenuButtonsContainer" parent="MenuContainer/MenuButtonsMargin" index="0"]
modulate = Color(1, 1, 1, 0)
[node name="MenuButtonsBoxContainer" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer" index="0"]
lock = true
[node name="NewGameButton" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer/MenuButtonsBoxContainer" index="0"]
custom_minimum_size = Vector2(200, 50)
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
[node name="OptionsButton" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer/MenuButtonsBoxContainer" index="1"]
visible = false
[node name="CreditsButton" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer/MenuButtonsBoxContainer" index="2"]
visible = false
[node name="ExitButton" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer/MenuButtonsBoxContainer" index="3"]
custom_minimum_size = Vector2(0, 50)
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
[node name="VersionContainer" parent="VersionMargin" index="0"]
modulate = Color(1, 1, 1, 0)
[node name="MouseFilter" type="Control" parent="." index="6" unique_id=420264660]
[node name="MouseFilter" type="Control" parent="." index="10" unique_id=420264660]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0

View File

@@ -49,6 +49,7 @@ enabled=PackedStringArray("res://addons/maaacks_game_template/plugin.cfg", "res:
[gui]
theme/custom="res://menus/resources/themes/grow.tres"
theme/custom_font="uid://miscsmiumts5"
[internationalization]

View File

@@ -0,0 +1,32 @@
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://c2v05fqr7cwll"]
[ext_resource type="Texture2D" uid="uid://dmmhwqsi3im3w" path="res://assets/characters/Perso 4.png" id="1_ilqpx"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_kq1ar"]
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_ilqpx"]
[ext_resource type="Resource" uid="uid://cefwc4j3p7m3v" path="res://resources/traits/black.tres" id="3_kbmal"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="4_yew24"]
[ext_resource type="Resource" uid="uid://dxrbtwv4hfs71" path="res://resources/traits/married.tres" id="5_d7rom"]
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="6_4wm6o"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="6_l6cdd"]
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="7_d7rom"]
[ext_resource type="Resource" uid="uid://exoxxj84dvsf" path="res://resources/traits/peasant.tres" id="8_l6cdd"]
[ext_resource type="Resource" uid="uid://b3lg32juui18i" path="res://resources/traits/noisy.tres" id="9_yew24"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="12_0p75g"]
[ext_resource type="Resource" uid="uid://bmx28vnfhcs8b" path="res://resources/traits/man.tres" id="13_lkxga"]
[ext_resource type="Resource" uid="uid://cqhrgihss2k46" path="res://resources/traits/smelly.tres" id="14_lkxga"]
[resource]
script = ExtResource("2_ilqpx")
name = "Bishop"
chara_sprite = ExtResource("1_ilqpx")
mask_eyes_position = Vector2(58.7, 91.365)
mask_eyes_rotation = -0.05934119456780681
mask_mouth_position = Vector2(46.125, 123.665)
traits = Array[ExtResource("1_kq1ar")]([ExtResource("6_4wm6o"), ExtResource("7_d7rom"), ExtResource("8_l6cdd"), ExtResource("9_yew24"), ExtResource("12_0p75g"), ExtResource("13_lkxga"), ExtResource("14_lkxga")])
preferences = Dictionary[ExtResource("1_kq1ar"), int]({
ExtResource("3_kbmal"): 4,
ExtResource("4_yew24"): 1,
ExtResource("5_d7rom"): 4,
ExtResource("6_l6cdd"): 0
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -4,21 +4,32 @@
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_cyb15"]
[ext_resource type="Resource" uid="uid://b6614fqoymxur" path="res://resources/traits/silent.tres" id="3_q0kni"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="3_s53hh"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="4_s53hh"]
[ext_resource type="Resource" uid="uid://lhskiwag15k" path="res://resources/traits/talkative.tres" id="4_w5qmk"]
[ext_resource type="Resource" uid="uid://ct4iy75ai7lmy" path="res://resources/traits/enby.tres" id="6_cyb15"]
[ext_resource type="Resource" uid="uid://bobrwfsc3tg04" path="res://resources/traits/brave.tres" id="6_f6mh3"]
[ext_resource type="Resource" uid="uid://dbuom8v744v36" path="res://resources/traits/weak.tres" id="7_nck5w"]
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="7_s53hh"]
[ext_resource type="Resource" uid="uid://cqhrgihss2k46" path="res://resources/traits/smelly.tres" id="8_4lcng"]
[ext_resource type="Resource" uid="uid://blu5de2dhiu46" path="res://resources/traits/young.tres" id="8_p10lp"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="10_p10lp"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="15_4rlsx"]
[resource]
script = ExtResource("2_cyb15")
name = "Duchex"
chara_sprite = ExtResource("1_tppor")
mask_eyes_position = Vector2(92.37, 201.415)
mask_eyes_rotation = -0.017453292519943295
mask_mouth_position = Vector2(111.16, 442.425)
mask_mouth_rotation = 0.017453292519943295
traits = Array[ExtResource("3_s53hh")]([ExtResource("4_w5qmk"), ExtResource("6_cyb15"), ExtResource("7_s53hh"), ExtResource("8_p10lp")])
mask_eyes_position = Vector2(61.445, 168.635)
mask_eyes_rotation = -0.06981317007977318
mask_mouth_position = Vector2(76.505, 203.355)
mask_mouth_rotation = -0.05235987755982989
traits = Array[ExtResource("3_s53hh")]([ExtResource("4_w5qmk"), ExtResource("6_cyb15"), ExtResource("7_s53hh"), ExtResource("8_p10lp"), ExtResource("10_p10lp"), ExtResource("15_4rlsx")])
preferences = Dictionary[ExtResource("3_s53hh"), int]({
ExtResource("3_q0kni"): 0
ExtResource("3_q0kni"): 0,
ExtResource("4_s53hh"): 4,
ExtResource("8_p10lp"): 1,
ExtResource("6_f6mh3"): 0,
ExtResource("7_nck5w"): 4,
ExtResource("8_4lcng"): 3
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -4,17 +4,31 @@
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_ce0p8"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="3_n21sh"]
[ext_resource type="Resource" uid="uid://lhskiwag15k" path="res://resources/traits/talkative.tres" id="3_tvmgq"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="4_tl7uu"]
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="5_n21sh"]
[ext_resource type="Resource" uid="uid://b6614fqoymxur" path="res://resources/traits/silent.tres" id="5_tl7uu"]
[ext_resource type="Resource" uid="uid://dbuom8v744v36" path="res://resources/traits/weak.tres" id="6_smh37"]
[ext_resource type="Resource" uid="uid://cefwc4j3p7m3v" path="res://resources/traits/black.tres" id="7_12asi"]
[ext_resource type="Resource" uid="uid://bobrwfsc3tg04" path="res://resources/traits/brave.tres" id="7_l5u5b"]
[ext_resource type="Resource" uid="uid://bmx28vnfhcs8b" path="res://resources/traits/man.tres" id="8_ce0p8"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="8_pnqlj"]
[ext_resource type="Resource" uid="uid://blu5de2dhiu46" path="res://resources/traits/young.tres" id="9_ce0p8"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="11_afn2m"]
[resource]
script = ExtResource("2_ce0p8")
name = "Duke"
chara_sprite = ExtResource("1_d1fpd")
mask_eyes_position = Vector2(-23.295, -0.335)
mask_eyes_rotation = -0.03490658503988659
mask_mouth_position = Vector2(15, 230)
mask_mouth_rotation = -0.017453292519943295
traits = Array[ExtResource("3_n21sh")]([ExtResource("5_tl7uu")])
mask_mouth_position = Vector2(-1.83, 2.27)
traits = Array[ExtResource("3_n21sh")]([ExtResource("5_tl7uu"), ExtResource("7_12asi"), ExtResource("8_ce0p8"), ExtResource("9_ce0p8"), ExtResource("11_afn2m"), ExtResource("8_pnqlj")])
preferences = Dictionary[ExtResource("3_n21sh"), int]({
ExtResource("3_tvmgq"): 0
ExtResource("3_tvmgq"): 0,
ExtResource("4_tl7uu"): 1,
ExtResource("5_n21sh"): 3,
ExtResource("6_smh37"): 4,
ExtResource("7_l5u5b"): 4,
ExtResource("8_pnqlj"): 1
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -0,0 +1,38 @@
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://jcski7vdhybh"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_jl8hl"]
[ext_resource type="Texture2D" uid="uid://bveq6mbi1yuku" path="res://assets/characters/Perso 8.png" id="1_qptnb"]
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_vlbot"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="3_s7agw"]
[ext_resource type="Resource" uid="uid://exoxxj84dvsf" path="res://resources/traits/peasant.tres" id="4_qptnb"]
[ext_resource type="Resource" uid="uid://bsayj3pugsg54" path="res://resources/traits/animals.tres" id="5_6sspe"]
[ext_resource type="Resource" uid="uid://dca6k1gmnp6os" path="res://resources/traits/single.tres" id="6_nvopw"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="7_4gs1w"]
[ext_resource type="Resource" uid="uid://cefwc4j3p7m3v" path="res://resources/traits/black.tres" id="7_kqqyx"]
[ext_resource type="Resource" uid="uid://bobrwfsc3tg04" path="res://resources/traits/brave.tres" id="9_6sspe"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="9_tk0st"]
[ext_resource type="Resource" uid="uid://b3lg32juui18i" path="res://resources/traits/noisy.tres" id="10_nvopw"]
[ext_resource type="Resource" uid="uid://lhskiwag15k" path="res://resources/traits/talkative.tres" id="11_4gs1w"]
[ext_resource type="Resource" uid="uid://cqhrgihss2k46" path="res://resources/traits/smelly.tres" id="11_tclm6"]
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="12_kqqyx"]
[ext_resource type="Resource" uid="uid://dmd7gilnmcefr" path="res://resources/traits/woman.tres" id="13_tk0st"]
[ext_resource type="Resource" uid="uid://blu5de2dhiu46" path="res://resources/traits/young.tres" id="14_tclm6"]
[resource]
script = ExtResource("2_vlbot")
name = "farmer"
chara_sprite = ExtResource("1_qptnb")
mask_eyes_position = Vector2(112.37, 228.755)
mask_mouth_position = Vector2(78.295, 132.145)
traits = Array[ExtResource("1_jl8hl")]([ExtResource("5_6sspe"), ExtResource("9_6sspe"), ExtResource("10_nvopw"), ExtResource("4_qptnb"), ExtResource("6_nvopw"), ExtResource("11_4gs1w"), ExtResource("12_kqqyx"), ExtResource("13_tk0st"), ExtResource("14_tclm6")])
preferences = Dictionary[ExtResource("1_jl8hl"), int]({
ExtResource("3_s7agw"): 4,
ExtResource("4_qptnb"): 0,
ExtResource("5_6sspe"): 0,
ExtResource("7_4gs1w"): 3,
ExtResource("7_kqqyx"): 0,
ExtResource("9_6sspe"): 1,
ExtResource("9_tk0st"): 3,
ExtResource("11_tclm6"): 1
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -1,15 +1,37 @@
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://da2ptl3f7h0ot"]
[ext_resource type="Texture2D" uid="uid://c57s3oksagauh" path="res://assets/sprites/sprites by judas la carotte/sprite3 happy small.png" id="1_k1rnw"]
[ext_resource type="Texture2D" uid="uid://bpuuh3i22lkxq" path="res://assets/characters/Perso 7.png" id="1_u46dm"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="3_ic6rb"]
[ext_resource type="Resource" uid="uid://b3lg32juui18i" path="res://resources/traits/noisy.tres" id="3_j8s63"]
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="3_vvog1"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="4_0s3fj"]
[ext_resource type="Resource" uid="uid://cqhrgihss2k46" path="res://resources/traits/smelly.tres" id="4_k1rnw"]
[ext_resource type="Resource" uid="uid://bsayj3pugsg54" path="res://resources/traits/animals.tres" id="5_0mgot"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="5_6ktt3"]
[ext_resource type="Resource" uid="uid://bobrwfsc3tg04" path="res://resources/traits/brave.tres" id="6_u46dm"]
[ext_resource type="Resource" uid="uid://dxrbtwv4hfs71" path="res://resources/traits/married.tres" id="6_vvog1"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="7_fvshn"]
[ext_resource type="Resource" uid="uid://bmx28vnfhcs8b" path="res://resources/traits/man.tres" id="7_k1rnw"]
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="8_0mgot"]
[ext_resource type="Resource" uid="uid://dca6k1gmnp6os" path="res://resources/traits/single.tres" id="8_2v1ds"]
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="9_teajx"]
[resource]
script = ExtResource("3_vvog1")
name = "King"
chara_sprite = ExtResource("1_k1rnw")
mask_eyes_position = Vector2(-21.75, -274.015)
chara_sprite = ExtResource("1_u46dm")
mask_eyes_position = Vector2(6.675, -38.825)
mask_eyes_rotation = 0.06981317007977318
mask_mouth_position = Vector2(-7.63, -186.87)
mask_mouth_rotation = -0.1884955592153878
mask_mouth_position = Vector2(-12.43, -47.06)
mask_mouth_rotation = -0.12915436464757998
traits = Array[ExtResource("4_0s3fj")]([ExtResource("5_6ktt3"), ExtResource("6_vvog1"), ExtResource("7_k1rnw"), ExtResource("8_0mgot"), ExtResource("9_teajx")])
preferences = Dictionary[ExtResource("4_0s3fj"), int]({
ExtResource("3_j8s63"): 4,
ExtResource("4_k1rnw"): 4,
ExtResource("5_0mgot"): 4,
ExtResource("6_u46dm"): 0,
ExtResource("7_fvshn"): 1,
ExtResource("8_2v1ds"): 0,
ExtResource("3_ic6rb"): 1
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -0,0 +1,38 @@
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://dvmqrw5bylhv6"]
[ext_resource type="Texture2D" uid="uid://bc402aj61r77q" path="res://assets/characters/Perso 6.png" id="1_3vdcn"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_iqt1j"]
[ext_resource type="Resource" uid="uid://dmd7gilnmcefr" path="res://resources/traits/woman.tres" id="2_h0v0n"]
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_tdxmb"]
[ext_resource type="Resource" uid="uid://ct4iy75ai7lmy" path="res://resources/traits/enby.tres" id="3_3vdcn"]
[ext_resource type="Resource" uid="uid://bobrwfsc3tg04" path="res://resources/traits/brave.tres" id="3_bsgk7"]
[ext_resource type="Resource" uid="uid://cefwc4j3p7m3v" path="res://resources/traits/black.tres" id="4_aiy02"]
[ext_resource type="Resource" uid="uid://bsayj3pugsg54" path="res://resources/traits/animals.tres" id="4_lag8f"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="5_0cnfx"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="5_862cf"]
[ext_resource type="Resource" uid="uid://bmx28vnfhcs8b" path="res://resources/traits/man.tres" id="6_xxla0"]
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="7_2tfi0"]
[ext_resource type="Resource" uid="uid://dca6k1gmnp6os" path="res://resources/traits/single.tres" id="7_5qve6"]
[ext_resource type="Resource" uid="uid://b3lg32juui18i" path="res://resources/traits/noisy.tres" id="8_asft4"]
[ext_resource type="Resource" uid="uid://blu5de2dhiu46" path="res://resources/traits/young.tres" id="8_so1uv"]
[ext_resource type="Resource" uid="uid://exoxxj84dvsf" path="res://resources/traits/peasant.tres" id="9_h0v0n"]
[resource]
script = ExtResource("2_tdxmb")
name = "knight"
chara_sprite = ExtResource("1_3vdcn")
mask_eyes_position = Vector2(-94.815, 12.665)
mask_eyes_rotation = 0.029670597283903404
mask_mouth_position = Vector2(-84.16, -17.325)
mask_mouth_rotation = 0.029670597283903404
traits = Array[ExtResource("1_iqt1j")]([ExtResource("3_bsgk7"), ExtResource("4_aiy02"), ExtResource("5_0cnfx"), ExtResource("6_xxla0"), ExtResource("7_5qve6"), ExtResource("8_so1uv"), ExtResource("9_h0v0n")])
preferences = Dictionary[ExtResource("1_iqt1j"), int]({
ExtResource("2_h0v0n"): 0,
ExtResource("3_3vdcn"): 0,
ExtResource("4_lag8f"): 1,
ExtResource("5_862cf"): 1,
ExtResource("9_h0v0n"): 1,
ExtResource("7_2tfi0"): 4,
ExtResource("8_asft4"): 3
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -0,0 +1,36 @@
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://dvmr6qryknr2j"]
[ext_resource type="Texture2D" uid="uid://d3rxk5m1dls7f" path="res://assets/characters/Perso 9.png" id="1_8e28v"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_83ubb"]
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_8e28v"]
[ext_resource type="Resource" uid="uid://exoxxj84dvsf" path="res://resources/traits/peasant.tres" id="3_jv2gf"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="4_35s6h"]
[ext_resource type="Resource" uid="uid://bobrwfsc3tg04" path="res://resources/traits/brave.tres" id="5_7x2sw"]
[ext_resource type="Resource" uid="uid://dbuom8v744v36" path="res://resources/traits/weak.tres" id="6_5buei"]
[ext_resource type="Resource" uid="uid://cqhrgihss2k46" path="res://resources/traits/smelly.tres" id="7_xfxs5"]
[ext_resource type="Resource" uid="uid://dxrbtwv4hfs71" path="res://resources/traits/married.tres" id="8_580ri"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="9_ma1bg"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="11_solp4"]
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="12_xalqb"]
[ext_resource type="Resource" uid="uid://dca6k1gmnp6os" path="res://resources/traits/single.tres" id="13_pnqe2"]
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="14_1axfg"]
[ext_resource type="Resource" uid="uid://dmd7gilnmcefr" path="res://resources/traits/woman.tres" id="15_ay8ov"]
[resource]
script = ExtResource("2_8e28v")
name = "nun"
chara_sprite = ExtResource("1_8e28v")
mask_eyes_position = Vector2(156.99, 241.13)
mask_mouth_position = Vector2(151.42, 203.93)
mask_mouth_rotation = 0.029670597283903404
traits = Array[ExtResource("1_83ubb")]([ExtResource("11_solp4"), ExtResource("12_xalqb"), ExtResource("3_jv2gf"), ExtResource("13_pnqe2"), ExtResource("14_1axfg"), ExtResource("15_ay8ov")])
preferences = Dictionary[ExtResource("1_83ubb"), int]({
ExtResource("3_jv2gf"): 0,
ExtResource("4_35s6h"): 0,
ExtResource("5_7x2sw"): 0,
ExtResource("6_5buei"): 0,
ExtResource("7_xfxs5"): 1,
ExtResource("8_580ri"): 4,
ExtResource("9_ma1bg"): 1
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -0,0 +1,39 @@
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://i4yr7hqobna7"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_3d6c6"]
[ext_resource type="Texture2D" uid="uid://c61n5v2xrlwy2" path="res://assets/characters/Perso 5.png" id="1_ef0f3"]
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_ef0f3"]
[ext_resource type="Resource" uid="uid://dmd7gilnmcefr" path="res://resources/traits/woman.tres" id="3_gfeqf"]
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="4_eghjc"]
[ext_resource type="Resource" uid="uid://ct4iy75ai7lmy" path="res://resources/traits/enby.tres" id="5_33mra"]
[ext_resource type="Resource" uid="uid://bmx28vnfhcs8b" path="res://resources/traits/man.tres" id="6_0c7tx"]
[ext_resource type="Resource" uid="uid://dca6k1gmnp6os" path="res://resources/traits/single.tres" id="7_drjus"]
[ext_resource type="Resource" uid="uid://b6614fqoymxur" path="res://resources/traits/silent.tres" id="8_p23qa"]
[ext_resource type="Resource" uid="uid://exoxxj84dvsf" path="res://resources/traits/peasant.tres" id="9_yfnhp"]
[ext_resource type="Resource" uid="uid://bobrwfsc3tg04" path="res://resources/traits/brave.tres" id="10_bl3mp"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="11_eghjc"]
[ext_resource type="Resource" uid="uid://3a6ivamvrnqj" path="res://resources/traits/clean.tres" id="12_5sqej"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="13_rcuko"]
[ext_resource type="Resource" uid="uid://dbuom8v744v36" path="res://resources/traits/weak.tres" id="14_6apw1"]
[ext_resource type="Resource" uid="uid://blu5de2dhiu46" path="res://resources/traits/young.tres" id="15_hu8wx"]
[resource]
script = ExtResource("2_ef0f3")
name = "prince"
chara_sprite = ExtResource("1_ef0f3")
mask_eyes_position = Vector2(104.295, 9.395)
mask_eyes_rotation = -0.017453292519943295
mask_mouth_position = Vector2(88.32, -14.73)
traits = Array[ExtResource("1_3d6c6")]([ExtResource("12_5sqej"), ExtResource("6_0c7tx"), ExtResource("13_rcuko"), ExtResource("7_drjus"), ExtResource("14_6apw1"), ExtResource("4_eghjc"), ExtResource("15_hu8wx")])
preferences = Dictionary[ExtResource("1_3d6c6"), int]({
ExtResource("3_gfeqf"): 0,
ExtResource("4_eghjc"): 1,
ExtResource("5_33mra"): 0,
ExtResource("6_0c7tx"): 0,
ExtResource("7_drjus"): 0,
ExtResource("8_p23qa"): 3,
ExtResource("9_yfnhp"): 3,
ExtResource("10_bl3mp"): 4,
ExtResource("11_eghjc"): 3
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -6,21 +6,26 @@
[ext_resource type="Resource" uid="uid://lhskiwag15k" path="res://resources/traits/talkative.tres" id="3_y3hrs"]
[ext_resource type="Resource" uid="uid://b6614fqoymxur" path="res://resources/traits/silent.tres" id="4_hdamc"]
[ext_resource type="Resource" uid="uid://ct4iy75ai7lmy" path="res://resources/traits/enby.tres" id="5_wjlcp"]
[ext_resource type="Resource" uid="uid://c4kpcm4tplsgg" path="res://resources/traits/alone.tres" id="6_hdamc"]
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="8_j0xhd"]
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="9_aywjr"]
[ext_resource type="Resource" uid="uid://dmd7gilnmcefr" path="res://resources/traits/woman.tres" id="10_tw1u2"]
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="11_wjlcp"]
[ext_resource type="Resource" uid="uid://dxrbtwv4hfs71" path="res://resources/traits/married.tres" id="12_4ysbx"]
[resource]
script = ExtResource("2_g8bvo")
name = "Queen"
chara_sprite = ExtResource("1_d1164")
mask_eyes_position = Vector2(48, 130)
mask_eyes_position = Vector2(48, 187.345)
mask_eyes_rotation = 0.05235987755982989
mask_mouth_position = Vector2(51.77, 409.63)
traits = Array[ExtResource("3_dkw07")]([ExtResource("3_y3hrs"), ExtResource("9_aywjr"), ExtResource("10_tw1u2"), ExtResource("8_j0xhd")])
mask_mouth_position = Vector2(31.595, 176.245)
mask_mouth_rotation = 0.01745329251994329
traits = Array[ExtResource("3_dkw07")]([ExtResource("3_y3hrs"), ExtResource("9_aywjr"), ExtResource("10_tw1u2"), ExtResource("8_j0xhd"), ExtResource("11_wjlcp"), ExtResource("12_4ysbx")])
preferences = Dictionary[ExtResource("3_dkw07"), int]({
ExtResource("3_y3hrs"): 4,
ExtResource("4_hdamc"): 0,
ExtResource("5_wjlcp"): 3
ExtResource("5_wjlcp"): 3,
ExtResource("6_hdamc"): 4
})
metadata/_custom_type_script = "uid://bwam50qxikpw4"

View File

@@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="MaskResource" format=3 uid="uid://kau80jesm22w"]
[ext_resource type="Texture2D" uid="uid://cftllq6l7xclt" path="res://icon.svg" id="1_r5drl"]
[ext_resource type="Texture2D" uid="uid://dr265gon4k377" path="res://assets/masks/Bouche 1.png" id="1_r5drl"]
[ext_resource type="Script" uid="uid://d26mv2xtvmpqt" path="res://scenes/mask/mask_resource.gd" id="2_ncal4"]
[resource]

View File

@@ -1,7 +1,7 @@
[gd_resource type="Resource" script_class="MaskResource" format=3 uid="uid://pdiaprcknftw"]
[ext_resource type="Script" uid="uid://d26mv2xtvmpqt" path="res://scenes/mask/mask_resource.gd" id="1_urvbb"]
[ext_resource type="Texture2D" uid="uid://cftllq6l7xclt" path="res://icon.svg" id="1_wp4x3"]
[ext_resource type="Texture2D" uid="uid://bfnvs01ynm55q" path="res://assets/masks/Bouche 3.png" id="1_wp4x3"]
[resource]
script = ExtResource("1_urvbb")

View File

@@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="MaskResource" format=3 uid="uid://divy6byhpwgs2"]
[ext_resource type="Texture2D" uid="uid://cftllq6l7xclt" path="res://icon.svg" id="1_dunu4"]
[ext_resource type="Texture2D" uid="uid://02al0mfbvjc1" path="res://assets/masks/Bouche 2.png" id="1_dunu4"]
[ext_resource type="Script" uid="uid://d26mv2xtvmpqt" path="res://scenes/mask/mask_resource.gd" id="2_cle5s"]
[resource]

View File

@@ -0,0 +1,11 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://c4kpcm4tplsgg"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_w8hps"]
[resource]
script = ExtResource("1_w8hps")
name = "alone"
stimulis = Array[int]([0, 1, 2])
category = 5
tag = 14
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -1,11 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://deygyo2n88228"]
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://bsayj3pugsg54"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_exp1s"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_6b1l6"]
[resource]
script = ExtResource("1_exp1s")
name = "speaks_of_cats"
script = ExtResource("1_6b1l6")
name = "speaks_of_animals"
stimulis = Array[int]([1])
category = 4
tag = 12
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -1,11 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://bc376om20da8m"]
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://bobrwfsc3tg04"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_iabmh"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_af1sn"]
[resource]
script = ExtResource("1_iabmh")
name = "royal"
script = ExtResource("1_af1sn")
name = "brave"
stimulis = Array[int]([0])
category = 2
tag = 6
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://3a6ivamvrnqj"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_kdrvf"]
[resource]
script = ExtResource("1_kdrvf")
name = "clean"
stimulis = Array[int]([2])
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://dxrbtwv4hfs71"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_b58s2"]
[resource]
script = ExtResource("1_b58s2")
name = "married"
stimulis = Array[int]([0, 1])
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -1,11 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://dy3wgs61t2gx5"]
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://b3lg32juui18i"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_o8usb"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_gykwb"]
[resource]
script = ExtResource("1_o8usb")
name = "speaks_of_dogs"
script = ExtResource("1_gykwb")
name = "noisy"
stimulis = Array[int]([1])
category = 4
tag = 13
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://dca6k1gmnp6os"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_d5xxp"]
[resource]
script = ExtResource("1_d5xxp")
name = "single"
stimulis = Array[int]([1])
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://cqhrgihss2k46"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_3ykpy"]
[resource]
script = ExtResource("1_3ykpy")
name = "smelly"
stimulis = Array[int]([2])
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://dbuom8v744v36"]
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_c1q5c"]
[resource]
script = ExtResource("1_c1q5c")
name = "weak"
stimulis = Array[int]([0])
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -5,6 +5,5 @@
[resource]
script = ExtResource("1_msbkw")
name = "young"
stimulis = Array[int]([1, 2])
tags = Array[int]([0])
stimulis = Array[int]([1])
metadata/_custom_type_script = "uid://cya40uohlvgbr"

View File

@@ -27,17 +27,6 @@ func _ready() -> void:
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if Engine.is_editor_hint():
_engine_process(delta)
else:
_game_process(delta)
func _game_process(delta: float) -> void:
pass
func _engine_process(delta: float) -> void:
if chara_resource == null:
return

View File

@@ -1,8 +1,8 @@
[gd_scene format=3 uid="uid://bvpyqyftqhy45"]
[ext_resource type="Script" uid="uid://dnt4l1eghm1gi" path="res://scenes/character/character.gd" id="1_cuyo6"]
[ext_resource type="Resource" uid="uid://wq3g1j3l4gl6" path="res://resources/characters/queen.tres" id="2_fgi2k"]
[ext_resource type="Texture2D" uid="uid://c726frtpkk1a8" path="res://assets/characters/Perso 2.png" id="3_f8hpl"]
[ext_resource type="Resource" uid="uid://i4yr7hqobna7" path="res://resources/characters/prince.tres" id="2_fgi2k"]
[ext_resource type="Texture2D" uid="uid://c61n5v2xrlwy2" path="res://assets/characters/Perso 5.png" id="3_f8hpl"]
[ext_resource type="PackedScene" uid="uid://3jlukpb5hefb" path="res://scenes/mask/mask.tscn" id="3_mutn8"]
[sub_resource type="Animation" id="Animation_fgi2k"]
@@ -164,11 +164,11 @@ chara_resource = ExtResource("2_fgi2k")
texture = ExtResource("3_f8hpl")
[node name="MaskMouth" parent="." unique_id=1087336064 instance=ExtResource("3_mutn8")]
position = Vector2(51.77, 409.63)
position = Vector2(88.32, -14.73)
[node name="MaskEyes" parent="." unique_id=428968220 instance=ExtResource("3_mutn8")]
position = Vector2(48, 130)
rotation = 0.05235988
position = Vector2(104.295, 9.395)
rotation = -0.017453292
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=713965213]
libraries/ = SubResource("AnimationLibrary_7ex5l")

View File

@@ -1,6 +1,9 @@
extends Area2D
class_name List
var current_item = 0
@onready var label: Label = $Label
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
@@ -12,5 +15,33 @@ func _process(delta: float) -> void:
pass
func set_list(items: Array[Resource]):
func set_mask_list(items: Array[MaskResource]):
print(items)
current_item = 0
if items.size() == 0:
label.text = "..."
func set_chara_list(items: Array[CharacterResource]):
print(items)
current_item = 0
if items.size() == 0:
label.text = "..."
func cycle_through_items() -> void:
current_item += 1
print(current_item)
func _on_mouse_entered() -> void:
Input.set_default_cursor_shape(Input.CursorShape.CURSOR_POINTING_HAND)
func _on_mouse_exited() -> void:
Input.set_default_cursor_shape(Input.CursorShape.CURSOR_ARROW)
func _on_input_event(viewport: Node, event: InputEvent, shape_idx: int) -> void:
if event is InputEventMouseButton and event.is_pressed():
Input.set_default_cursor_shape(Input.CursorShape.CURSOR_ARROW)
cycle_through_items()

View File

@@ -11,3 +11,19 @@ script = ExtResource("1_khygj")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=579673425]
shape = SubResource("CapsuleShape2D_trceg")
[node name="Label" type="Label" parent="." unique_id=1624172949]
z_index = 10
custom_minimum_size = Vector2(360, 0)
offset_left = -179.0
offset_top = -257.0
offset_right = 121.0
offset_bottom = -209.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 24
text = "..."
autowrap_mode = 3
[connection signal="input_event" from="." to="." method="_on_input_event"]
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]

View File

@@ -25,12 +25,17 @@
[ext_resource type="Script" uid="uid://cgctwciolfqe5" path="res://scenes/camera/camera_controller.gd" id="14_0bhws"]
[ext_resource type="Texture2D" uid="uid://c60m6ulhqcbga" path="res://assets/decor/BG.png" id="14_os81g"]
[ext_resource type="Texture2D" uid="uid://dbpdehppn5h8v" path="res://assets/decor/entrance_bg_objects.png" id="15_1k3ck"]
[ext_resource type="Resource" uid="uid://c2v05fqr7cwll" path="res://resources/characters/bishop.tres" id="23_wcrab"]
[ext_resource type="Resource" uid="uid://vsvgpvluq7sh" path="res://resources/masks/blind.tres" id="24_g2upo"]
[ext_resource type="Resource" uid="uid://jcski7vdhybh" path="res://resources/characters/farmer.tres" id="24_gohbf"]
[ext_resource type="PackedScene" uid="uid://0rq12xgcteak" path="res://scenes/list/list.tscn" id="25_6llfj"]
[ext_resource type="Resource" uid="uid://t2n1q71ce4x6" path="res://resources/masks/deaf.tres" id="25_38d3o"]
[ext_resource type="Resource" uid="uid://dvmqrw5bylhv6" path="res://resources/characters/knight.tres" id="25_jucdw"]
[ext_resource type="Resource" uid="uid://dvmr6qryknr2j" path="res://resources/characters/nun.tres" id="26_6miv3"]
[ext_resource type="Resource" uid="uid://kau80jesm22w" path="res://resources/masks/falsy.tres" id="26_i6fjx"]
[ext_resource type="Resource" uid="uid://bfvky2dpu6vv0" path="res://resources/guests/duke_unmasked.tres" id="27_6w6mm"]
[ext_resource type="Resource" uid="uid://cfargib0urafc" path="res://resources/guests/duchex_unmasked.tres" id="27_62f45"]
[ext_resource type="Resource" uid="uid://i4yr7hqobna7" path="res://resources/characters/prince.tres" id="27_yisfj"]
[ext_resource type="Resource" uid="uid://q3o5oxegjx2" path="res://resources/masks/no_smell.tres" id="28_7dg2i"]
[ext_resource type="Resource" uid="uid://divy6byhpwgs2" path="res://resources/masks/truthy.tres" id="29_08tbl"]
[ext_resource type="Resource" uid="uid://c25kg6um2k1dy" path="res://resources/guests/duchex_mute.tres" id="29_62f45"]
@@ -330,10 +335,22 @@ tracks/0/keys = {
"update": 0,
"values": [Vector2(131, 317.00003)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_62f45"]
resource_name = "idle"
length = 0.3
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
@@ -342,10 +359,22 @@ tracks/0/path = NodePath(".:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.16666667),
"transitions": PackedFloat32Array(1, 1),
"times": PackedFloat32Array(0, 0.3, 0.6),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(131, 317.00003), Vector2(131, 478)]
"values": [Vector2(131, 317.00003), Vector2(131, 478), Vector2(131, 317.00003)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.6),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6g32y"]
@@ -376,8 +405,9 @@ texture = ExtResource("15_1k3ck")
[node name="GameManager" type="Node" parent="." unique_id=528989100 node_paths=PackedStringArray("character", "guest_list", "mask_list", "tables")]
script = ExtResource("3_hxu8e")
character_roster = Array[ExtResource("4_nvumn")]([ExtResource("5_ou6is"), ExtResource("6_necax"), ExtResource("7_r4lks"), ExtResource("8_pg34l")])
mask_roster = Array[ExtResource("9_m4h2d")]([ExtResource("24_g2upo"), ExtResource("25_38d3o"), ExtResource("26_i6fjx"), ExtResource("11_s17dp"), ExtResource("28_7dg2i"), ExtResource("29_08tbl")])
character_roster = Array[ExtResource("4_nvumn")]([ExtResource("5_ou6is"), ExtResource("6_necax"), ExtResource("7_r4lks"), ExtResource("8_pg34l"), ExtResource("23_wcrab"), ExtResource("24_gohbf"), ExtResource("25_jucdw"), ExtResource("26_6miv3"), ExtResource("27_yisfj")])
face_mask_roster = Array[ExtResource("9_m4h2d")]([ExtResource("24_g2upo"), ExtResource("25_38d3o"), ExtResource("28_7dg2i")])
mouth_mask_roster = Array[ExtResource("9_m4h2d")]([ExtResource("26_i6fjx"), ExtResource("11_s17dp"), ExtResource("29_08tbl")])
character = NodePath("../Character")
guest_list = NodePath("../GuestList")
mask_list = NodePath("../MaskList")
@@ -388,6 +418,8 @@ lvl2_guest_1 = ExtResource("27_62f45")
lvl2_guest_2 = ExtResource("30_6g32y")
lvl3_guest_1 = ExtResource("33_f4j1x")
lvl3_guest_2 = ExtResource("29_62f45")
lvl3_guest_3 = ExtResource("27_6w6mm")
current_level = 3
[node name="Camera2D" type="Camera2D" parent="." unique_id=1166192115]
limit_left = -960
@@ -429,7 +461,6 @@ scale = Vector2(0.5, 0.5)
texture = ExtResource("35_62f45")
[node name="MaskList" parent="." unique_id=437192154 instance=ExtResource("25_6llfj")]
visible = false
position = Vector2(409, 523)
rotation = 0.1675516
scale = Vector2(0.99999994, 0.99999994)
@@ -461,6 +492,7 @@ scale = Vector2(0.3, 0.3)
texture = ExtResource("37_6g32y")
[node name="RingBell" type="Sprite2D" parent="." unique_id=1001478580]
visible = false
position = Vector2(131, 317.00003)
scale = Vector2(0.3, 0.3)
texture = ExtResource("39_62f45")

View File

@@ -4,7 +4,8 @@ class_name GameManager
@export_category("Complete rosters")
@export var character_roster: Array[CharacterResource]
@export var mask_roster: Array[MaskResource]
@export var face_mask_roster: Array[MaskResource]
@export var mouth_mask_roster: Array[MaskResource]
@export_category("References")
@export var character: Character
@@ -26,8 +27,12 @@ class_name GameManager
@export_group("Level 3")
@export var lvl3_guest_1: MaskedChara
@export var lvl3_guest_2: MaskedChara
@export var lvl3_guest_3: MaskedChara
@export_category("Random levels")
@export var current_level: Levels = Levels.LVL1
@export var max_number_guests: int = 9
@export var dual_mask_probability: float = 0.2
@export_tool_button("Create chara roster") var create_roster_action = create_new_roster
var current_chara_roster: Array[MaskedChara]
@@ -44,7 +49,6 @@ enum Levels {
RANDOM
}
var current_game_state = GameState.READY
var current_level = Levels.LVL2
var first_guest = true
var current_guest: MaskedChara
var selected_seat: Seat
@@ -52,28 +56,38 @@ var roster_size: int = 2
@onready var camera_2d: Camera2D = $"../Camera2D"
@onready var ring_bell: Sprite2D = $"../RingBell"
@onready var bell_anim_player: AnimationPlayer = $"../RingBell/AnimationPlayer"
func create_new_roster() -> void:
print("Create new roster")
current_chara_roster = []
print(character_roster.size())
var roster_for_this_round = character_roster.duplicate()
var max_number_of_people = min(roster_size, character_roster.size())
var max_number_of_people = min(roster_size, character_roster.size(), max_number_guests)
for i in range(max_number_of_people):
# Pick unique characters for the roster
var random_index = randi_range(0, roster_for_this_round.size() - 1)
var chara: CharacterResource = roster_for_this_round.pop_at(random_index)
var mouth_mask: MaskResource
var eyes_mask: MaskResource
var should_pick_eye_mask = randi_range(0, 1) == 1
var dual_masked = randf() <= dual_mask_probability
if (should_pick_eye_mask):
eyes_mask = face_mask_roster.pick_random()
if dual_masked:
mouth_mask = mouth_mask_roster.pick_random()
else:
mouth_mask = mouth_mask_roster.pick_random()
if dual_masked:
eyes_mask = face_mask_roster.pick_random()
# Associate a single mask (for now) to the character
var mask: MaskResource = mask_roster.pick_random()
var face_mask = mask if mask.region == MaskResource.Region.EYES else null
var mouth_mask = mask if mask.region == MaskResource.Region.MOUTH else null
var masked_chara = MaskedChara.new(chara, face_mask, mouth_mask)
# var mask: MaskResource = mask_roster.pick_random()
# var face_mask = mask if mask.region == MaskResource.Region.EYES else null
# var mouth_mask = mask if mask.region == MaskResource.Region.MOUTH else null
var masked_chara = MaskedChara.new(chara, eyes_mask, mouth_mask)
current_chara_roster.append(masked_chara)
print("Added %s to roster" % chara.name)
print(character_roster.size())
func review_next_guest():
# See previous guest out
@@ -90,7 +104,6 @@ func review_next_guest():
return
# Process next guest
print("Guest is %s" % current_guest.character.name)
character.chara_resource = current_guest.character
character.mask_eyes.mask_resource = current_guest.face_mask
character.mask_mouth.mask_resource = current_guest.mouth_mask
@@ -115,13 +128,14 @@ func ending_tween_cb():
# Progress levels
current_game_state = GameState.READY
ring_bell.visible = true
mask_list.visible = false
bell_anim_player.play("idle")
if current_level == Levels.LVL1:
current_level = Levels.LVL2
elif current_level == Levels.LVL2:
current_level = Levels.LVL3
else:
roster_size += 1
if final_score >= 0:
roster_size += 1
current_level = Levels.RANDOM
@@ -144,18 +158,33 @@ func on_ready_bell_pressed() -> void:
if(current_game_state != GameState.READY):
return
for table in tables:
table.initialize()
if current_level == Levels.LVL1:
current_chara_roster = [lvl1_guest_1, lvl1_guest_2]
elif current_level == Levels.LVL2:
current_chara_roster = [lvl2_guest_1, lvl2_guest_2]
elif current_level == Levels.LVL3:
current_chara_roster = [lvl3_guest_1, lvl3_guest_2]
current_chara_roster = [lvl3_guest_1, lvl3_guest_2, lvl3_guest_3]
else:
create_new_roster()
var all_chara_in_current_roster: Array[CharacterResource] = []
var all_masks_in_current_roster: Array[MaskResource] = []
for masked_chara in current_chara_roster:
all_chara_in_current_roster.append(masked_chara.character)
if masked_chara.face_mask != null and masked_chara.face_mask.resource_name:
all_masks_in_current_roster.append(masked_chara.face_mask)
if masked_chara.mouth_mask != null and masked_chara.mouth_mask.resource_name:
all_masks_in_current_roster.append(masked_chara.mouth_mask)
mask_list.set_mask_list(all_masks_in_current_roster)
guest_list.set_chara_list(all_chara_in_current_roster)
current_game_state = GameState.GUEST_REVIEW
bell_anim_player.stop()
ring_bell.visible = false
mask_list.visible = true
first_guest = true
review_next_guest()

View File

@@ -5,7 +5,9 @@ class_name MaskedChara
@export var face_mask: MaskResource
@export var mouth_mask: MaskResource
@export var pref_score_map: Dictionary[CharacterResource.Preference, float] = {
const ALONE_TRAIT = preload("uid://c4kpcm4tplsgg")
var pref_score_map: Dictionary[CharacterResource.Preference, float] = {
CharacterResource.Preference.LOVE: 2.0,
CharacterResource.Preference.APPROVE: 1.0,
CharacterResource.Preference.DONT_CARE: 0.0,
@@ -26,10 +28,12 @@ func compute_score(other_guests: Array[MaskedChara]) -> float:
var overall_score = 0.0
var preferences = character.preferences
var is_alone = true
for guest in other_guests:
if guest == null:
continue
is_alone = false
var guest_mouth_mask = guest.mouth_mask
var guest_traits = guest.character.traits
@@ -44,11 +48,21 @@ func compute_score(other_guests: Array[MaskedChara]) -> float:
strength *= face_mask.stimuli_multiplier
trait_strength += strength
var preference = character.preferences.get(guest_trait) if guest_trait in character.preferences else CharacterResource.Preference.APPROVE
var score_multiplier = pref_score_map.get(preference) if preference in pref_score_map else 1.0
var preference = character.preferences.get(guest_trait) if guest_trait in character.preferences else CharacterResource.Preference.DONT_CARE
var score_multiplier = pref_score_map.get(preference) if preference in pref_score_map else 0.0
guest_appreciation += trait_strength*score_multiplier
overall_score += guest_appreciation
print("%s score: %s" % [character.name, overall_score])
if is_alone:
var alone_pref = character.preferences.get(ALONE_TRAIT) if ALONE_TRAIT in character.preferences else CharacterResource.Preference.DONT_CARE
var alone_score = pref_score_map.get(alone_pref) if alone_pref in pref_score_map else 0.0
var alone_strength = 0.0
for stimuli in ALONE_TRAIT.stimulis:
var strength = stimuli
if face_mask != null and stimuli == face_mask.stimuli:
strength *= face_mask.stimuli_multiplier
alone_strength += strength
overall_score = alone_score*alone_strength
return overall_score

View File

@@ -12,28 +12,9 @@ class_name Mask
func _on_mask_resource_changed() -> void:
if mask_resource == null:
mask_sprite.visible = false
return
if mask_sprite != null:
mask_sprite.visible = true
mask_sprite.texture = mask_resource.mask_sprite
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if Engine.is_editor_hint():
_engine_process(delta)
else:
_game_process(delta)
func _game_process(delta: float) -> void:
pass
func _engine_process(delta: float) -> void:
if mask_resource == null:
return

Some files were not shown because too many files have changed in this diff Show More