20 Commits

Author SHA1 Message Date
d43b6e17ff remix de subterra, refonte des sfx de fin de map 2026-06-11 10:25:05 +02:00
3dc64e6731 suppression des sfx de déblocage et ajout du morceau de Subterra 2026-05-31 17:10:25 +02:00
c3c68e7398 refonte des sfx de la cave (mutation, cristal) 2026-05-31 12:32:34 +02:00
d7ddcf14d1 création et implémentation du sfx de fin de map 2026-05-27 18:51:28 +02:00
98e270e9ca Merge branch 'musique_et_son_3' of https://git.zacharie-guet.fr/zacharie/seeding-planets into musique_et_son_3 2026-05-24 16:18:11 +02:00
1900e3e432 mixage de meeting_demeter, mixage plus léger de l'ambiance de base relais/vending room #183 2026-05-24 16:18:02 +02:00
1e31fe19e4 Merge branch 'musique_et_son_3' of https://git.zacharie-guet.fr/zacharie/seeding-planets into musique_et_son_3 2026-05-17 15:28:32 +02:00
87d0feb338 Encore du dev beta 1.4
* réparation de la scène région
* quand toutes les mutation sont découvertes, les cristaux offrent un artefact (le relai Talion)
* changer le volume dans les settings fait jouer un son de test
* fix d'une traduction sur le relai de Talion
2026-05-17 14:21:21 +02:00
8efe8bce36 Dev pour la beta 1.4
* Changements de la texture des cristaux de Talion dans tous les assets 3D pour correspondre aux assets 2D
* Ajout d'un évenement en fin de région, une résurgence de Talion qui décontamine et fait looter les plantes mature aux alentours
* Ajout d'un path finding sur le mouvement du robot
* Modification du flow des actions à la souris : ajout d'un nouveau son, d'un icône à l'emplacement de l'action
* Modification du nombre et de l'ordre de mutation débloquées
* Augmentation de la valeur maximale de zoom
* Modification des scores à atteindre dans les premières régions
* Modification de l'interface du vaisseau, laissant apparaitre une roadmap plus claire, et laissant inspecter l'inventaire actuel
* Modification de l'icône d'action dans les scènes 3D
* Augmentation de la zone d'écart entre les plantes, et augmentation du taux de zone fertile en conséquence
* La station de recharge devient inutilisable après la fin de la région
* Ajout d'une transparence lors de la sélection d'objets derrières d'autres objets
* Les plantes juvéniles donneront toujours une graine si coupées
* Ajout d'un bouclage sur les couleurs des mutations
* Fix des hitbox des plantes pour l'inspection à la souris
* Fix de plusieurs bugs sur la manipulation de l'inventaire
* Ajout de nombreux screenshots d'utilisation des outils lors du tutoriel
* Amélioration mineure de la traduction/wording
2026-05-17 02:29:55 +02:00
f487e4f11d ajout du morceau et création de la node "meeting_demeter" #184 2026-05-16 00:02:32 +02:00
04f917fb39 "Corrections" après visionnage du playtest (baisse du volume, mixage des ambiances de base, mixage de forest, suppression des bips de Demeter) 2026-05-13 17:38:18 +02:00
dfeddf3b1a ajout des ambiances météo #181 2026-05-10 10:38:40 +02:00
0c7d56f7f7 ajout des morceaux de désert, création des nodes, ajustement de la playlist #172 2026-05-10 09:34:29 +02:00
73b0bf2d33 Modification de l'ambiance audio dans la caverne 2026-05-09 17:12:54 +02:00
c8e0e9ecce Dev Beta 1.3
* Ajout d'un déblocage des mutations, dans une scène 3D trouvable dans les runs, ainsi qu'un dialogue d'annonce de ces scènes
* Augmentation des charges par map à 10 et augmentation des objectifs de points de plantes en conséquence
* Modification du loot des graines : les plantes donnent désormais un nombre fixe de graine et les graines issues de veine de Talion n'obtiennent pas automatiquement de mutations
* Les portes ne seront désormais plus sur de la pierre
* Amélioration du tutoriel pour inclure une section d'explication des mutations
* Ajout du modificateur de région Magnétique qui divise l'objectif et les recharges par 2
*
2026-05-09 16:40:22 +02:00
e2b07e2b6a Correction mineure des dialogues 2026-05-09 16:31:40 +02:00
69a62e08b8 mixage du jeu et vérification du sound design 2026-05-08 20:21:55 +02:00
73c1c67f1e Dev beta 1.2
* Ajout d'un tutoriel pour recommencer
* Fix du Surchargeur de Talion qui ne fonctionnait pas
* Suppression de flou sur beaucoup d'éléments visuels pour des raisons de performances
* Augmentation du rayon de spawn du Talion
* Fix léger de la météo (suppression du brouillard lors de la pluie)
2026-05-03 22:45:37 +02:00
68fa285db5 migration vers musique_et_son_3 2026-05-03 17:33:32 +02:00
e7da19cb15 Dev Beta 1.1
* Ajout d'une météo aléatoire (pluie, brouillard, vent)
* Ajour d'un bouton pour un formulaire de playtest
2026-05-03 17:19:15 +02:00
275 changed files with 6728 additions and 1832 deletions

View File

@@ -0,0 +1,14 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://di0m3uqgi3l08"]
[ext_resource type="Texture2D" uid="uid://dfd72vla6crn4" path="res://common/assets/textures/cristal.png" id="1_m4qy0"]
[resource]
diffuse_mode = 3
specular_mode = 1
disable_fog = true
albedo_texture = ExtResource("1_m4qy0")
metallic_specular = 1.0
rim_tint = 0.48
stencil_flags = 2
stencil_reference = 5
stencil_outline_thickness = 0.626

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dfd72vla6crn4"
path.s3tc="res://.godot/imported/cristal.png-542ce388785d47ebc69b0d8cd0728915.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://common/assets/textures/cristal.png"
dest_files=["res://.godot/imported/cristal.png-542ce388785d47ebc69b0d8cd0728915.s3tc.ctex"]
[params]
compress/mode=2
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=true
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=0

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://dq2nodhwnp73f"
path="res://.godot/imported/solarmusic-dripping-water-in-cave-114694.ogg-81f5d41775da1d0914399edcb9214d3c.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/ambiance/cave/solarmusic-dripping-water-in-cave-114694.ogg"
dest_files=["res://.godot/imported/solarmusic-dripping-water-in-cave-114694.ogg-81f5d41775da1d0914399edcb9214d3c.oggvorbisstr"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4

View File

@@ -3,12 +3,12 @@
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://dipnmlprwfo12"
path="res://.godot/imported/ambiance_phase_1.ogg-3c486442fa41b06071c54c0c4ee6a448.oggvorbisstr"
path="res://.godot/imported/ambiance.ogg-8b81882025dcd06314e76dad7be1da50.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_1.ogg"
dest_files=["res://.godot/imported/ambiance_phase_1.ogg-3c486442fa41b06071c54c0c4ee6a448.oggvorbisstr"]
source_file="res://common/audio_manager/assets/ambiance/niveau/ambiance.ogg"
dest_files=["res://.godot/imported/ambiance.ogg-8b81882025dcd06314e76dad7be1da50.oggvorbisstr"]
[params]

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://cdohaice7nc8d"
path="res://.godot/imported/ambiance_foggy.ogg-a3c1f369c131849cfcd58614581310bd.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/ambiance/niveau/ambiance_foggy.ogg"
dest_files=["res://.godot/imported/ambiance_foggy.ogg-a3c1f369c131849cfcd58614581310bd.oggvorbisstr"]
[params]
loop=true
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bxj8pnpg1fedj"
path="res://.godot/imported/ambiance_rainy.ogg-134716aa308c9ec1bfa70452df19c651.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/ambiance/niveau/ambiance_rainy.ogg"
dest_files=["res://.godot/imported/ambiance_rainy.ogg-134716aa308c9ec1bfa70452df19c651.oggvorbisstr"]
[params]
loop=true
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bu5kkihtdwvuv"
path="res://.godot/imported/ambiance_windy.ogg-4cb2b5e3a22d4e6d112d387daa46dc2b.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/ambiance/niveau/ambiance_windy.ogg"
dest_files=["res://.godot/imported/ambiance_windy.ogg-4cb2b5e3a22d4e6d112d387daa46dc2b.oggvorbisstr"]
[params]
loop=true
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://ch8wnrckanydg"
path="res://.godot/imported/meeting_demeter.ogg-7dd58073d2ef5705a374bd8bb3634d37.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/morceaux/histoire/meeting_demeter.ogg"
dest_files=["res://.godot/imported/meeting_demeter.ogg-7dd58073d2ef5705a374bd8bb3634d37.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bdsghxlbtduuy"
path="res://.godot/imported/subterra.ogg-458c2f15c134af211d5a71b5819758c5.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/morceaux/histoire/subterra.ogg"
dest_files=["res://.godot/imported/subterra.ogg-458c2f15c134af211d5a71b5819758c5.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://dsfqhcrard8o4"
path="res://.godot/imported/desert_phase_2.ogg-fe1f29fc0b3d46aaaea2ecc57a37cb8a.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/morceaux/niveau/desert_phase_2.ogg"
dest_files=["res://.godot/imported/desert_phase_2.ogg-fe1f29fc0b3d46aaaea2ecc57a37cb8a.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://dimev7sij7crl"
path="res://.godot/imported/desert_waiting.ogg-dc035370eae222fee4cc7ea608e0a7ff.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/morceaux/niveau/desert_waiting.ogg"
dest_files=["res://.godot/imported/desert_waiting.ogg-dc035370eae222fee4cc7ea608e0a7ff.oggvorbisstr"]
[params]
loop=true
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://dnqq2sy3dxrb2"
path="res://.godot/imported/freesound_community-wine-glass-clink-36036.mp3-bc462b7f4a73f6e9bc3696ca5c63bc97.mp3str"
[deps]
source_file="res://common/audio_manager/assets/sfx/cristal/freesound_community-wine-glass-clink-36036.mp3"
dest_files=["res://.godot/imported/freesound_community-wine-glass-clink-36036.mp3-bc462b7f4a73f6e9bc3696ca5c63bc97.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://di6id2kyfy2e1"
path="res://.godot/imported/sslc2022-earth-rumble-128880.mp3-cbdb82e7630ba8aed62692404d0e45e0.mp3str"
[deps]
source_file="res://common/audio_manager/assets/sfx/earth_rumble/sslc2022-earth-rumble-128880.mp3"
dest_files=["res://.godot/imported/sslc2022-earth-rumble-128880.mp3-cbdb82e7630ba8aed62692404d0e45e0.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://du3hfjbaoyc8"
path="res://.godot/imported/fin_de_map.ogg-62fbcdd24bc4df66b50e9a969579e8d9.oggvorbisstr"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/fin_de_map.ogg"
dest_files=["res://.godot/imported/fin_de_map.ogg-62fbcdd24bc4df66b50e9a969579e8d9.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bfhab51qe80j5"
path="res://.godot/imported/fin_de_map_cristal_1.wav-fbc2aabbedcf9b9ea4de792270616879.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/fin_de_map_cristal_1.wav"
dest_files=["res://.godot/imported/fin_de_map_cristal_1.wav-fbc2aabbedcf9b9ea4de792270616879.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cr6y4e0p3xrqv"
path="res://.godot/imported/fin_de_map_cristal_2.wav-22f78a6101de5044c9eb27302000d841.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/fin_de_map_cristal_2.wav"
dest_files=["res://.godot/imported/fin_de_map_cristal_2.wav-22f78a6101de5044c9eb27302000d841.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://ccppo3l1vyd08"
path="res://.godot/imported/fin_de_map_cristal_3.wav-08ca119096dca7f1ce13ef8a0fc9b262.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/fin_de_map_cristal_3.wav"
dest_files=["res://.godot/imported/fin_de_map_cristal_3.wav-08ca119096dca7f1ce13ef8a0fc9b262.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://wphcqemoy810"
path="res://.godot/imported/fin_de_map_cristal_4.wav-b746d9213d33d907760d7149452e1cfd.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/fin_de_map_cristal_4.wav"
dest_files=["res://.godot/imported/fin_de_map_cristal_4.wav-b746d9213d33d907760d7149452e1cfd.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://v2snsj54xlkw"
path="res://.godot/imported/fin_de_map_cristal_5.wav-03f398571aece8e59a223be04924d6a1.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/fin_de_map_cristal_5.wav"
dest_files=["res://.godot/imported/fin_de_map_cristal_5.wav-03f398571aece8e59a223be04924d6a1.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bvhnpk7pbh75t"
path="res://.godot/imported/fin_de_map_cristal_6.wav-55680ff3c48778e28de53ad22c902751.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/fin_de_map_cristal_6.wav"
dest_files=["res://.godot/imported/fin_de_map_cristal_6.wav-55680ff3c48778e28de53ad22c902751.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://c1jg6vbsd1y00"
path="res://.godot/imported/tremblement.mp3-2f1079501efc61a933c525d8b73ff10b.mp3str"
[deps]
source_file="res://common/audio_manager/assets/sfx/fin_de_map/tremblement.mp3"
dest_files=["res://.godot/imported/tremblement.mp3-2f1079501efc61a933c525d8b73ff10b.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://u44wh180os3n"
path="res://.godot/imported/get_item_1.wav-f624a08053ccc90a130932edf6e93c74.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/get_item/get_item_1.wav"
dest_files=["res://.godot/imported/get_item_1.wav-f624a08053ccc90a130932edf6e93c74.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://budu0cym6ximv"
path="res://.godot/imported/phone_call.wav-5f6468b6c2e194f4077a966b2b8ed027.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/phone/phone_call.wav"
dest_files=["res://.godot/imported/phone_call.wav-5f6468b6c2e194f4077a966b2b8ed027.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c18orgaa5yect"
path="res://.godot/imported/pickaxe_cave_1.wav-c2db6fad48f4457a7e47ef7fabdce2ca.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/phone/pickaxe_cave_1.wav"
dest_files=["res://.godot/imported/pickaxe_cave_1.wav-c2db6fad48f4457a7e47ef7fabdce2ca.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cbkg6v76a1d1q"
path="res://.godot/imported/pickaxe_cave_2.wav-72432422e9b9eac863b31c5dda4262c9.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/phone/pickaxe_cave_2.wav"
dest_files=["res://.godot/imported/pickaxe_cave_2.wav-72432422e9b9eac863b31c5dda4262c9.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://x36rvb4eso8q"
path="res://.godot/imported/pickaxe_cave_1.wav-5365b9250c03fe13766ad32a821704fa.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_cave_1.wav"
dest_files=["res://.godot/imported/pickaxe_cave_1.wav-5365b9250c03fe13766ad32a821704fa.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dh3oho0pis6jv"
path="res://.godot/imported/pickaxe_cave_2.wav-bb5e1c82ba8ffd44758505ce286a04a9.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_cave_2.wav"
dest_files=["res://.godot/imported/pickaxe_cave_2.wav-bb5e1c82ba8ffd44758505ce286a04a9.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c6jdmdjncamcu"
path="res://.godot/imported/pickaxe_cave_finalblow.wav-ce8ca7f063b31d6564d593b5a84e7560.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_cave_finalblow.wav"
dest_files=["res://.godot/imported/pickaxe_cave_finalblow.wav-ce8ca7f063b31d6564d593b5a84e7560.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://rf7hachl3042"
path="res://.godot/imported/universfield-bubble-pop-07-487896.mp3-9674fcc5b43af938e0c8845e16ca6bfd.mp3str"
[deps]
source_file="res://common/audio_manager/assets/sfx/signal/universfield-bubble-pop-07-487896.mp3"
dest_files=["res://.godot/imported/universfield-bubble-pop-07-487896.mp3-9674fcc5b43af938e0c8845e16ca6bfd.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dscyqjujj1com"
path="res://.godot/imported/unlock_tool.wav-27b017d6f16de7402a6aa9283c5a050d.sample"
[deps]
source_file="res://common/audio_manager/assets/sfx/unlock_tool/unlock_tool.wav"
dest_files=["res://.godot/imported/unlock_tool.wav-27b017d6f16de7402a6aa9283c5a050d.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@@ -1,10 +1,14 @@
[gd_scene format=3 uid="uid://b6hscxcrj065q"]
[ext_resource type="Script" uid="uid://2p5d6vogtn82" path="res://common/audio_manager/scripts/audio_manager.gd" id="1_0tvca"]
[ext_resource type="AudioStream" uid="uid://dipnmlprwfo12" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_1.ogg" id="2_tuvql"]
[ext_resource type="AudioStream" uid="uid://dq2nodhwnp73f" path="res://common/audio_manager/assets/ambiance/cave/solarmusic-dripping-water-in-cave-114694.ogg" id="2_ge2sc"]
[ext_resource type="AudioStream" uid="uid://dipnmlprwfo12" path="res://common/audio_manager/assets/ambiance/niveau/ambiance.ogg" id="3_qvjf5"]
[ext_resource type="AudioStream" uid="uid://b1hut6lc1jevh" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_2.ogg" id="4_2fduo"]
[ext_resource type="AudioStream" uid="uid://cdohaice7nc8d" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_foggy.ogg" id="4_ipd1r"]
[ext_resource type="AudioStream" uid="uid://bxj8pnpg1fedj" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_rainy.ogg" id="4_qvjf5"]
[ext_resource type="AudioStream" uid="uid://6yx6txbgc6pt" path="res://common/audio_manager/assets/ambiance/astra/ambiance_astra.ogg" id="5_8204s"]
[ext_resource type="AudioStream" uid="uid://dcbuhtc085q2x" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_1.ogg" id="5_ajci6"]
[ext_resource type="AudioStream" uid="uid://bu5kkihtdwvuv" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_windy.ogg" id="5_ipd1r"]
[ext_resource type="AudioStream" uid="uid://dsphn6dbbd55a" path="res://common/audio_manager/assets/morceaux/niveau/forest_phase_1.ogg" id="6_6o1yh"]
[ext_resource type="AudioStream" uid="uid://cwu71o0sl2vto" path="res://common/audio_manager/assets/ambiance/dialogues/ambiance_Demeter.ogg" id="6_8204s"]
[ext_resource type="AudioStream" uid="uid://klb32q3kjtkt" path="res://common/audio_manager/assets/ambiance/vending_room_base_relais/ambiance_vending_room_base_relais.ogg" id="7_ge2sc"]
@@ -15,18 +19,20 @@
[ext_resource type="AudioStream" uid="uid://kqbqhwhkv7o3" path="res://common/audio_manager/assets/morceaux/niveau/mines_waiting.ogg" id="11_ngi21"]
[ext_resource type="AudioStream" uid="uid://of68i2k1g6y2" path="res://common/audio_manager/assets/morceaux/niveau/desert_phase_1.ogg" id="11_yjs51"]
[ext_resource type="AudioStream" uid="uid://b8inedx4yjslw" path="res://common/audio_manager/assets/sfx/drop/drop_1.wav" id="12_4hp8f"]
[ext_resource type="AudioStream" uid="uid://bdsghxlbtduuy" path="res://common/audio_manager/assets/morceaux/histoire/subterra.ogg" id="12_mrdk3"]
[ext_resource type="AudioStream" uid="uid://cjbpfnlwcpjh0" path="res://common/audio_manager/assets/morceaux/niveau/forest_waiting.ogg" id="12_xmumj"]
[ext_resource type="AudioStream" uid="uid://8nmr5vifkt1f" path="res://common/audio_manager/assets/sfx/harvest/harvest_1.wav" id="13_xoaox"]
[ext_resource type="AudioStream" uid="uid://dgkdcq4j6fe3o" path="res://common/audio_manager/assets/sfx/harvest/harvest_2.wav" id="14_b5bgj"]
[ext_resource type="AudioStream" uid="uid://crncg0mdx1fdw" path="res://common/audio_manager/assets/morceaux/demo/ending.ogg" id="14_h3tkm"]
[ext_resource type="AudioStream" uid="uid://dsfqhcrard8o4" path="res://common/audio_manager/assets/morceaux/niveau/desert_phase_2.ogg" id="14_lwdce"]
[ext_resource type="AudioStream" uid="uid://eh3dbuxu5qtw" path="res://common/audio_manager/assets/sfx/harvest/harvest_3.wav" id="15_ynvb4"]
[ext_resource type="AudioStream" uid="uid://bown4yipeef8l" path="res://common/audio_manager/assets/sfx/harvest/harvest_4.wav" id="16_obeji"]
[ext_resource type="AudioStream" uid="uid://delq7gsdeqjq2" path="res://common/audio_manager/assets/sfx/respawn/respawn.wav" id="16_xmumj"]
[ext_resource type="AudioStream" uid="uid://cbo4ld2yypmte" path="res://common/audio_manager/assets/sfx/harvest/harvest_5.wav" id="17_6w0re"]
[ext_resource type="AudioStream" uid="uid://dimev7sij7crl" path="res://common/audio_manager/assets/morceaux/niveau/desert_waiting.ogg" id="17_qvjf5"]
[ext_resource type="AudioStream" uid="uid://da3srn8vx4erd" path="res://common/audio_manager/assets/sfx/vending_machine/item-drop.wav" id="18_ehr7m"]
[ext_resource type="AudioStream" uid="uid://cs4y6sinpth8e" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_1.wav" id="18_j8acj"]
[ext_resource type="AudioStream" uid="uid://c5nfoa6v3r5f7" path="res://common/audio_manager/assets/sfx/harvest/harvest_6.wav" id="18_o4guq"]
[ext_resource type="AudioStream" uid="uid://cbre45rky1f4v" path="res://common/audio_manager/assets/sfx/vending_machine/dragon-studio-power-off-386180.mp3" id="19_aedoe"]
[ext_resource type="AudioStream" uid="uid://dgs7j7itgedoy" path="res://common/audio_manager/assets/sfx/vending_machine/VM_power_off.wav" id="19_ge2sc"]
[ext_resource type="AudioStream" uid="uid://bbhkivgarlhqm" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_2.wav" id="19_yjs51"]
[ext_resource type="AudioStream" uid="uid://ccfubsk6135qy" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_3.wav" id="20_4ojdh"]
[ext_resource type="AudioStream" uid="uid://bjind1iji0gt7" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_1.wav" id="20_pu6t4"]
@@ -35,10 +41,9 @@
[ext_resource type="AudioStream" uid="uid://cbm4r5bf7py11" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_4.wav" id="21_ehr7m"]
[ext_resource type="AudioStream" uid="uid://dq5qwydrca3vy" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_5.wav" id="22_aedoe"]
[ext_resource type="AudioStream" uid="uid://d1cpi438ep0ys" path="res://common/audio_manager/assets/sfx/announce/annnounce.wav" id="22_btfwx"]
[ext_resource type="AudioStream" uid="uid://ch8wnrckanydg" path="res://common/audio_manager/assets/morceaux/histoire/meeting_demeter.ogg" id="22_mrdk3"]
[ext_resource type="AudioStream" uid="uid://bnwtgp8t46xwc" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_6.wav" id="23_ge2sc"]
[ext_resource type="AudioStream" uid="uid://bp3wsncvda5gl" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_7.wav" id="24_yr73o"]
[ext_resource type="AudioStream" uid="uid://b4jx8rflw7dss" path="res://common/audio_manager/assets/sfx/phone/phone_ringing_Astra.wav" id="27_0rjel"]
[ext_resource type="AudioStream" uid="uid://ocm1dkkhv7ls" path="res://common/audio_manager/assets/sfx/phone/phone_ringing.wav" id="28_3dfjn"]
[ext_resource type="AudioStream" uid="uid://8juy5ev3rdfh" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_1.wav" id="29_ngi21"]
[ext_resource type="AudioStream" uid="uid://su387eovtrsg" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_2.wav" id="30_xmumj"]
[ext_resource type="AudioStream" uid="uid://bp6mtpqjf4txo" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_3.wav" id="31_spekb"]
@@ -57,11 +62,13 @@
[ext_resource type="AudioStream" uid="uid://dd1uu6dd6sloe" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_3.wav" id="45_mur2l"]
[ext_resource type="AudioStream" uid="uid://eq7wufwnolto" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_4.wav" id="46_t0v4u"]
[ext_resource type="AudioStream" uid="uid://cv7sj8n5oo1i8" path="res://common/audio_manager/assets/sfx/screen_bip/screen_bip.wav" id="47_svctq"]
[ext_resource type="AudioStream" uid="uid://budu0cym6ximv" path="res://common/audio_manager/assets/sfx/phone/phone_call.wav" id="48_ipd1r"]
[ext_resource type="AudioStream" uid="uid://sgwvpxiul5x5" path="res://common/audio_manager/assets/sfx/ship_exit/ship_exit.wav" id="48_j8acj"]
[ext_resource type="AudioStream" uid="uid://ca0wonha334cl" path="res://common/audio_manager/assets/sfx/teleportation/teleport.wav" id="50_rlnfe"]
[ext_resource type="AudioStream" uid="uid://cv5avkd3qekt7" path="res://common/audio_manager/assets/sfx/movement/movement.wav" id="51_iyxkn"]
[ext_resource type="AudioStream" uid="uid://53ixfbcd5qwu" path="res://common/audio_manager/assets/sfx/holo/holo_appear.wav" id="63_aedoe"]
[ext_resource type="AudioStream" uid="uid://dsijqgnnadgem" path="res://common/audio_manager/assets/sfx/holo/holo_disappear.wav" id="64_ge2sc"]
[ext_resource type="AudioStream" uid="uid://dscyqjujj1com" path="res://common/audio_manager/assets/sfx/unlock_tool/unlock_tool.wav" id="64_yr73o"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_6o1yh"]
streams_count = 3
@@ -122,188 +129,263 @@ script = ExtResource("1_0tvca")
[node name="Ambiances" type="Node" parent="." unique_id=1989991562]
unique_name_in_owner = true
[node name="Cave" type="AudioStreamPlayer" parent="Ambiances" unique_id=71769481]
unique_name_in_owner = true
stream = ExtResource("2_ge2sc")
volume_db = -7.195
pitch_scale = 0.5
[node name="BaseRelais" type="AudioStreamPlayer" parent="Ambiances" unique_id=1895636918]
unique_name_in_owner = true
stream = ExtResource("7_ge2sc")
volume_db = -7.0
[node name="VendingRoom" type="AudioStreamPlayer" parent="Ambiances" unique_id=1478190718]
unique_name_in_owner = true
stream = ExtResource("7_ge2sc")
volume_db = -7.0
[node name="Exterior" type="AudioStreamPlayer" parent="Ambiances" unique_id=1405716780]
unique_name_in_owner = true
stream = ExtResource("2_tuvql")
stream = ExtResource("3_qvjf5")
volume_db = -5.0
[node name="ExteriorFoggy" type="AudioStreamPlayer" parent="Ambiances" unique_id=1741396762]
unique_name_in_owner = true
stream = ExtResource("4_ipd1r")
volume_db = -18.0
[node name="ExteriorRaining" type="AudioStreamPlayer" parent="Ambiances" unique_id=1946725047]
unique_name_in_owner = true
stream = ExtResource("4_qvjf5")
volume_db = -15.0
[node name="ExteriorWindy" type="AudioStreamPlayer" parent="Ambiances" unique_id=1287818982]
unique_name_in_owner = true
stream = ExtResource("5_ipd1r")
volume_db = -15.0
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
unique_name_in_owner = true
stream = ExtResource("5_8204s")
volume_db = -5.0
[node name="Demeter" type="AudioStreamPlayer" parent="Ambiances" unique_id=351918026]
unique_name_in_owner = true
stream = ExtResource("6_8204s")
volume_db = -5.0
[node name="Borea" type="AudioStreamPlayer" parent="Ambiances" unique_id=1857904648]
unique_name_in_owner = true
stream = ExtResource("7_spekb")
volume_db = -5.0
[node name="Ship" type="AudioStreamPlayer" parent="Ambiances" unique_id=1564186965]
unique_name_in_owner = true
stream = ExtResource("8_tuvql")
volume_db = -5.0
[node name="Subterra" type="AudioStreamPlayer" parent="Ambiances" unique_id=2019011683]
unique_name_in_owner = true
stream = ExtResource("12_mrdk3")
[node name="Musics" type="Node" parent="." unique_id=1450527710]
unique_name_in_owner = true
[node name="RegionDesertPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=1222638526]
unique_name_in_owner = true
stream = ExtResource("11_yjs51")
[node name="RegionForestPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=1029114070]
unique_name_in_owner = true
stream = ExtResource("6_6o1yh")
volume_db = -5.0
[node name="RegionForestPhase2" type="AudioStreamPlayer" parent="Musics" unique_id=417543634]
unique_name_in_owner = true
stream = ExtResource("10_tq535")
volume_db = -5.0
[node name="RegionMinePhase1" type="AudioStreamPlayer" parent="Musics" unique_id=152032267]
unique_name_in_owner = true
stream = ExtResource("5_ajci6")
volume_db = -5.0
[node name="RegionMinePhase2" type="AudioStreamPlayer" parent="Musics" unique_id=348001141]
unique_name_in_owner = true
stream = ExtResource("4_2fduo")
volume_db = -5.0
[node name="RegionDesertPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=1222638526]
unique_name_in_owner = true
stream = ExtResource("11_yjs51")
volume_db = -5.0
[node name="RegionDesertPhase2" type="AudioStreamPlayer" parent="Musics" unique_id=2003475958]
unique_name_in_owner = true
stream = ExtResource("14_lwdce")
volume_db = -5.0
[node name="RegionForestLoop" type="AudioStreamPlayer" parent="Musics" unique_id=482654512]
unique_name_in_owner = true
stream = ExtResource("12_xmumj")
volume_db = -5.0
bus = &"Music"
[node name="RegionMineLoop" type="AudioStreamPlayer" parent="Musics" unique_id=814165127]
unique_name_in_owner = true
stream = ExtResource("11_ngi21")
volume_db = -5.0
bus = &"Music"
[node name="RegionDesertLoop" type="AudioStreamPlayer" parent="Musics" unique_id=1981071036]
unique_name_in_owner = true
stream = ExtResource("17_qvjf5")
volume_db = -5.0
[node name="Title" type="AudioStreamPlayer" parent="Musics" unique_id=2105759422]
unique_name_in_owner = true
stream = ExtResource("7_tuvql")
volume_db = -5.0
bus = &"Music"
[node name="Demo_end" type="AudioStreamPlayer" parent="Musics" unique_id=261817716]
[node name="Meeting_demeter" type="AudioStreamPlayer" parent="Musics" unique_id=1066359159]
unique_name_in_owner = true
stream = ExtResource("14_h3tkm")
stream = ExtResource("22_mrdk3")
[node name="Sfx" type="Node" parent="." unique_id=2023641207]
unique_name_in_owner = true
[node name="Dig" type="AudioStreamPlayer" parent="Sfx" unique_id=486042600]
stream = SubResource("AudioStreamRandomizer_6o1yh")
volume_db = -5.0
[node name="VendingMachineDrop" type="AudioStreamPlayer" parent="Sfx" unique_id=1161500181]
stream = ExtResource("18_ehr7m")
volume_db = -5.0
pitch_scale = 0.81
[node name="VendingMachineOff" type="AudioStreamPlayer" parent="Sfx" unique_id=743754597]
stream = ExtResource("19_aedoe")
volume_db = -14.149
pitch_scale = 0.75
stream = ExtResource("19_ge2sc")
volume_db = -5.0
[node name="DoorOpen" type="AudioStreamPlayer" parent="Sfx" unique_id=1440910292]
stream = ExtResource("20_yr73o")
volume_db = -6.0
pitch_scale = 1.5
[node name="Recharge1" type="AudioStreamPlayer" parent="Sfx" unique_id=357905012]
stream = ExtResource("18_j8acj")
volume_db = -10.0
[node name="Recharge2" type="AudioStreamPlayer" parent="Sfx" unique_id=261310291]
stream = ExtResource("19_yjs51")
volume_db = -10.0
[node name="Recharge3" type="AudioStreamPlayer" parent="Sfx" unique_id=1559567919]
stream = ExtResource("20_4ojdh")
volume_db = -10.0
[node name="Recharge4" type="AudioStreamPlayer" parent="Sfx" unique_id=1697092547]
stream = ExtResource("21_ehr7m")
volume_db = -10.0
[node name="Recharge5" type="AudioStreamPlayer" parent="Sfx" unique_id=1385679733]
stream = ExtResource("22_aedoe")
volume_db = -10.0
[node name="Recharge6" type="AudioStreamPlayer" parent="Sfx" unique_id=391499157]
stream = ExtResource("23_ge2sc")
volume_db = -10.0
[node name="Recharge7" type="AudioStreamPlayer" parent="Sfx" unique_id=355754872]
stream = ExtResource("24_yr73o")
volume_db = -10.0
[node name="Rocks" type="AudioStreamPlayer" parent="Sfx" unique_id=1012908521]
stream = SubResource("AudioStreamRandomizer_kfbah")
volume_db = -5.0
[node name="Respawn" type="AudioStreamPlayer" parent="Sfx" unique_id=1902559716]
stream = ExtResource("16_xmumj")
volume_db = -5.0
[node name="Drop" type="AudioStreamPlayer" parent="Sfx" unique_id=1391500830]
stream = SubResource("AudioStreamRandomizer_1w04j")
volume_db = -2.0
volume_db = -7.0
[node name="Harvest" type="AudioStreamPlayer" parent="Sfx" unique_id=345539331]
stream = SubResource("AudioStreamRandomizer_i4m0x")
volume_db = -5.0
[node name="PickUp" type="AudioStreamPlayer" parent="Sfx" unique_id=176915166]
stream = SubResource("AudioStreamRandomizer_jjdv2")
volume_db = -11.0
volume_db = -16.0
[node name="Announce" type="AudioStreamPlayer" parent="Sfx" unique_id=876644323]
stream = ExtResource("22_btfwx")
volume_db = 8.627
volume_db = 3.627
[node name="Astra_phone_call" type="AudioStreamPlayer" parent="Sfx" unique_id=721344636]
stream = ExtResource("27_0rjel")
stream = ExtResource("48_ipd1r")
volume_db = -5.0
[node name="Phone_call" type="AudioStreamPlayer" parent="Sfx" unique_id=1668278453]
stream = ExtResource("28_3dfjn")
stream = ExtResource("48_ipd1r")
volume_db = -5.0
[node name="PlantPoint" type="AudioStreamPlayer" parent="Sfx" unique_id=2044025024]
stream = SubResource("AudioStreamRandomizer_qog4c")
volume_db = -5.0
[node name="Reveal" type="AudioStreamPlayer" parent="Sfx" unique_id=1597352608]
stream = ExtResource("37_3dfjn")
volume_db = -3.0
volume_db = -8.0
[node name="Ship_reveal" type="AudioStreamPlayer" parent="Sfx" unique_id=1121632306]
stream = ExtResource("37_3dfjn")
volume_db = -3.0
volume_db = -8.0
[node name="Signal" type="AudioStreamPlayer" parent="Sfx" unique_id=335682989]
stream = ExtResource("41_iaiio")
volume_db = -10.0
volume_db = -15.0
[node name="Atterrissage" type="AudioStreamPlayer" parent="Sfx" unique_id=2021186625]
stream = ExtResource("40_h3tkm")
volume_db = -5.0
[node name="Decollage" type="AudioStreamPlayer" parent="Sfx" unique_id=581331122]
stream = ExtResource("41_iyxkn")
volume_db = -5.0
[node name="Elevator" type="AudioStreamPlayer" parent="Sfx" unique_id=1345852969]
stream = ExtResource("42_obkny")
volume_db = -5.0
[node name="Mining" type="AudioStreamPlayer" parent="Sfx" unique_id=1122216774]
stream = SubResource("AudioStreamRandomizer_yjs51")
volume_db = -5.0
[node name="Screen_interaction" type="AudioStreamPlayer" parent="Sfx" unique_id=1140309368]
stream = ExtResource("47_svctq")
volume_db = -8.0
volume_db = -13.0
[node name="Ship_exit" type="AudioStreamPlayer" parent="Sfx" unique_id=615567072]
stream = ExtResource("48_j8acj")
volume_db = 8.0
volume_db = 3.0
[node name="Movement" type="AudioStreamPlayer" parent="Sfx" unique_id=1403498558]
stream = ExtResource("51_iyxkn")
volume_db = -7.0
volume_db = -12.0
[node name="Teleportation" type="AudioStreamPlayer" parent="Sfx" unique_id=369599456]
stream = ExtResource("50_rlnfe")
volume_db = -6.0
volume_db = -11.0
[node name="HoloAppear" type="AudioStreamPlayer" parent="Sfx" unique_id=637436824]
stream = ExtResource("63_aedoe")
volume_db = -6.0
volume_db = -11.0
[node name="HoloDisappear" type="AudioStreamPlayer" parent="Sfx" unique_id=1756615928]
stream = ExtResource("64_ge2sc")
volume_db = -6.0
volume_db = -11.0
[node name="Unlock_tool" type="AudioStreamPlayer" parent="Sfx" unique_id=667077616]
stream = ExtResource("64_yr73o")
volume_db = 3.0

View File

@@ -7,19 +7,21 @@ const MAX_VOLUME = 24.
const DEFAULT_FADE_TIME : float = 5.0
const REGION_FIRST_PHASE = [
"RegionDesertPhase1",
"RegionForestPhase1",
"RegionForestPhase2",
"RegionMinePhase1",
"RegionMinePhase2",
"RegionForestPhase1",
"RegionForestPhase2",
"RegionDesertPhase1",
"RegionDesertPhase2",
]
const REGION_LOOP_PHASE = [
"RegionForestLoop",
"RegionForestLoop",
"RegionForestLoop",
"RegionMineLoop",
"RegionMineLoop"
"RegionMineLoop",
"RegionForestLoop",
"RegionForestLoop",
"RegionDesertLoop",
"RegionDesertLoop",
]
@onready var settings : SettingsData = GameInfo.settings_data
@@ -42,7 +44,6 @@ func _on_change_scene(scene : Scene):
elif scene is IntroScene:
stop_all_musics()
elif scene is RegionScene:
play_ambiance("Exterior", false)
var region_level = GameInfo.game_data.current_run.level
var first_phase = REGION_FIRST_PHASE[region_level % len(REGION_FIRST_PHASE)]
var loop_phase = REGION_LOOP_PHASE[region_level % len(REGION_LOOP_PHASE)]
@@ -66,6 +67,9 @@ func _on_change_scene(scene : Scene):
elif scene is RelayBaseScene:
stop_all_musics()
play_ambiance_alone("BaseRelais", false)
elif scene is CaveScene:
stop_all_musics()
play_ambiance_alone("Cave", false)
# Fonction s'exécutant à chaque début de timeline
func _on_timeline_started():
@@ -299,7 +303,7 @@ func set_volume(player : AudioStreamPlayer, to : float, fade_time = DEFAULT_FADE
return fade_tween
func start_player(player: AudioStreamPlayer, from_random_time = false, fade_time = DEFAULT_FADE_TIME):
if player and not player.playing:
if player and player.stream and not player.playing:
player.play(
0.0 if not from_random_time
else randf_range(0.0, player.stream.get_length())

View File

@@ -39,6 +39,11 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Cristal": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/cristal.tres",
"use_external/path": "uid://di0m3uqgi3l08"
},
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",

View File

@@ -39,6 +39,11 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Cristal": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/cristal.tres",
"use_external/path": "uid://di0m3uqgi3l08"
},
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",

View File

@@ -33,6 +33,7 @@ signal current_region_data_updated(p : RegionData)
@export var game_mode : GameMode = GameMode.STORY
@export var dialogs_done : Array[String] = [] #Chemin des dialogues terminés
@export var tutorials_done : Array[String] = []
func start_run() -> RunData:
player_data.clear_inventory()

View File

@@ -1,13 +1,12 @@
extends Resource
class_name ProgressionData
@export var planted_mutation_ids: Array[String] = []
@export var story_step_i := 0
@export var ship_tutorial_done = false
@export var mutations_unlocked = 8
var all_mutations: Array[PlantMutation] : get = get_all_mutations
var available_mutations: Array[PlantMutation] : get = get_all_mutations
var available_mutations: Array[PlantMutation] : get = get_available_mutations
var available_artefacts: Array[Artefact] : get = get_all_artifacts
var story_step : StoryStep : get = get_story_step
@@ -19,23 +18,26 @@ func next_story_step() -> void:
if story_step_i + 1 < len(get_all_story_steps()):
story_step_i += 1
func get_available_mutations() -> Array[PlantMutation]:
return get_all_mutations().slice(0, mutations_unlocked)
func get_all_mutations() -> Array[PlantMutation]:
return [
AncientMutation.new(),
FertileMutation.new(),
GenerousMutation.new(),
HurriedMutation.new(),
PrecociousMutation.new(),
ProlificMutation.new(),
ProtectiveMutation.new(),
PureMutation.new(),
PurificationMutation.new(),
QualityMutation.new(),
AncientMutation.new(),
ProlificMutation.new(),
PrecociousMutation.new(),
PurificationMutation.new(),
VivaciousMutation.new(),
QuickMutation.new(),
RobustMutation.new(),
SocialMutation.new(),
FertileMutation.new(),
HurriedMutation.new(),
GenerousMutation.new(),
ProtectiveMutation.new(),
PureMutation.new(),
ToughMutation.new(),
VivaciousMutation.new(),
]
func get_all_artifacts() -> Array[Artefact]:

View File

@@ -32,42 +32,56 @@ func generate_next_run_points() -> Array[RunPoint]:
next_run_points = []
for i in range(story_step.get_run_point_number(level+1)):
var last_modifiers : Array[String] = []
if len(next_run_points):
for m in next_run_points[0].region_parameter.modifiers:
last_modifiers.append(m.modifier_name)
next_run_points.append(
generate_next_run_point()
generate_next_run_point(last_modifiers)
)
return next_run_points
func generate_next_run_point() -> RunPoint:
func generate_next_run_point(last_modifiers : Array[String] = []) -> RunPoint:
var region_parameter = RegionParameter.new()
var next_level = level+1
var challenge_modifiers = generate_challenge_modifiers().filter(
func(m : RegionModifier): return not m.modifier_name in last_modifiers
)
var benefic_modifiers = generate_benefic_modifiers().filter(
func(m : RegionModifier): return not m.modifier_name in last_modifiers
)
var normal_modifiers = generate_normal_modifiers().filter(
func(m : RegionModifier): return not m.modifier_name in last_modifiers
)
if story_step.need_gameplay_modifier(next_level):
var is_challenge = randf() < story_step.get_challenge_chance(next_level)
if is_challenge:
region_parameter.modifiers = [
generate_challenge_modifiers().pick_random(),
generate_benefic_modifiers().pick_random()
challenge_modifiers.pick_random(),
benefic_modifiers.pick_random()
] as Array[RegionModifier]
else:
region_parameter.modifiers = [
generate_normal_modifiers().pick_random()
normal_modifiers.pick_random()
] as Array[RegionModifier]
var first_vending = story_step.get_first_vending_machine_occurence(next_level)
var vending_occurence = story_step.get_vending_machine_occurence(next_level)
if vending_occurence > 0:
if (level - first_vending)%vending_occurence == 0:
region_parameter.modifiers.append(VendingMachineModifier.new())
region_parameter.modifiers.append_array(
story_step.get_gameplay_modifiers_for_region(next_level)
)
region_parameter.modifiers.append_array(
story_step.get_story_modifiers_for_region(next_level)
)
region_parameter.objective = story_step.get_objective_for_region(next_level)
region_parameter.charge = story_step.get_charge_number(next_level)
return RunPoint.new(
region_parameter
)
@@ -94,7 +108,7 @@ func generate_normal_modifiers() -> Array[RegionModifier]:
HarshModifier.new(),
ToxicModifier.new(),
SandyModifier.new(),
MagneticModifier.new(),
]
func generate_benefic_modifiers() -> Array[RegionModifier]:
@@ -102,6 +116,7 @@ func generate_benefic_modifiers() -> Array[RegionModifier]:
VendingMachineModifier.new(),
ResonnanceModifier.new(),
InstableModifier.new(),
CaveModifier.new(),
]

View File

@@ -57,8 +57,8 @@ const AVAILABLE_LANGUAGES_LABEL = [
#region ------------------ Game ------------------
const MAX_ZOOM = 1.8
const MIN_ZOOM = 0.8
const MAX_ZOOM = 2.
const MIN_ZOOM = 0.5
# Not in settings pannel
@export var zoom : float = 1. :

View File

@@ -2,6 +2,7 @@ extends StoryStep
class_name AstraStoryStep
const MERCURY_ARRIVAL_DIALOG_PATH="res://dialogs/timelines/astra/mercury_arrival.dtl"
const CAVE_DIALOG_PATH="res://dialogs/timelines/astra/cave.dtl"
func get_respawn_scene() -> Scene:
return AstraScene.new()
@@ -15,9 +16,21 @@ func get_destination_scene() -> Scene:
"001"
)
func get_cave_occurence(_level : int) -> int:
return 2
func get_region_sequence_length() -> int:
return 4
func get_objective_for_region(level : int) -> int:
match level:
1: return 6
2: return 10
3: return 16
4: return 24
5: return 34
_: return get_objective_for_region(level-1) + (level-2) * 5
func get_first_vending_machine_occurence(_level : int) -> int:
return 0
@@ -28,6 +41,8 @@ func get_challenge_chance(_level : int) -> float:
return 0.
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
if ship_in_space and level == get_region_sequence_length() - 1:
if ship_in_space and level == get_cave_occurence(level) - 1:
return CAVE_DIALOG_PATH
if ship_in_space and is_run_finished(level + 1):
return MERCURY_ARRIVAL_DIALOG_PATH
return ""

View File

@@ -22,11 +22,11 @@ func get_destination_scene() -> Scene:
)
func get_first_vending_machine_occurence(_level : int) -> int:
return 0
return 1
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
if level == 0:
return MERCURY_DEPARTURE_DIALOG_PATH
if ship_in_space and level == get_region_sequence_length() - 1:
if ship_in_space and is_run_finished(level + 1):
return VENUS_ARRIVAL_DIALOG_PATH
return ""

View File

@@ -19,7 +19,7 @@ func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
#region ------------------ Run ------------------
func is_run_finished(level : int) -> bool:
return level == get_region_sequence_length()
return level == get_region_sequence_length() - 1
func get_region_sequence_length() -> int:
return 6
@@ -28,7 +28,13 @@ func get_first_vending_machine_occurence(_level : int) -> int:
return 2
func get_vending_machine_occurence(_level : int) -> int:
return 4
return 3
func get_first_cave_occurence(level : int) -> int:
return get_cave_occurence(level)
func get_cave_occurence(_level : int) -> int:
return 3
func get_challenge_chance(_level : int) -> float:
return 0.3
@@ -38,15 +44,17 @@ func get_run_point_number(level : int) -> int:
return 1
return 2
func get_charge_number(_level : int) -> int:
return 10
func get_objective_for_region(level : int) -> int:
match level:
0: return 1
1: return 8
2: return 10
3: return 15
4: return 20
5: return 30
_: return get_objective_for_region(level-1) + (level-3) * 5
1: return 10
2: return 15
3: return 20
4: return 30
5: return 45
_: return get_objective_for_region(level-1) + (level-2) * 5
func get_story_modifiers_for_region(level : int) -> Array[RegionModifier]:
var modifiers : Array[RegionModifier] = []
@@ -54,6 +62,25 @@ func get_story_modifiers_for_region(level : int) -> Array[RegionModifier]:
var dest_mod = DestinationModifier.new()
dest_mod.destination_scene = get_destination_scene()
modifiers.append(dest_mod)
var first_cave = get_first_cave_occurence(level)
var cave_occurence = get_cave_occurence(level)
if cave_occurence > 0 and level >= first_cave:
if (level - first_cave)%cave_occurence == 0:
modifiers.append(CaveModifier.new())
return modifiers
func get_gameplay_modifiers_for_region(level : int) -> Array[RegionModifier]:
var modifiers : Array[RegionModifier] = []
if need_gameplay_modifier(level):
var first_vending = get_first_vending_machine_occurence(level)
var vending_occurence = get_vending_machine_occurence(level)
if vending_occurence > 0 and level >= first_vending:
if (level - first_vending)%vending_occurence == 0:
modifiers.append(VendingMachineModifier.new())
return modifiers
func need_gameplay_modifier(level : int):

23
common/icons/cristal.svg Normal file
View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="#ffffff"
class="icon icon-tabler icons-tabler-filled icon-tabler-globe"
version="1.1"
id="svg5"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs5" />
<path
id="path5"
style="fill:#ffffff;stroke-width:21.0943;stroke-linecap:round;paint-order:stroke fill markers"
d="m 17.023734,4.3635641 a 0.381287,0.381287 0 0 0 -0.170042,0.058862 L 11.821685,7.6971107 A 0.63341096,0.63341096 0 0 0 11.534237,8.2108309 L 11.240336,19.008011 a 0.54999444,0.54999444 0 0 0 0.281243,0.495301 l 2.913668,1.633839 a 0.85528839,0.85528839 0 0 0 0.615008,0.08674 l 3.251881,-0.764304 a 0.54999441,0.54999441 0 0 0 0.407255,-0.3982 L 21.41304,9.6040507 A 0.633411,0.633411 0 0 0 21.276945,9.0305978 L 17.348792,4.4922505 A 0.381287,0.381287 0 0 0 17.023734,4.3635641 Z M 16.855445,5.710685 a 0.29045002,0.29045002 0 0 1 0.24822,0.1000976 l 2.992058,3.4556065 a 0.18188889,0.18188889 0 0 1 -0.06799,0.2862794 L 16.39349,11.042166 a 0.43339164,0.43339164 0 0 1 -0.433214,-0.0611 L 12.879721,8.5445752 a 0.18188888,0.18188888 0 0 1 0.01384,-0.2939165 l 3.831045,-2.4933356 a 0.29045002,0.29045002 0 0 1 0.130842,-0.046638 z" />
<path
id="path11"
style="fill:#ffffff;stroke-width:30;stroke-linecap:round;paint-order:stroke fill markers"
d="M 11.299657,2.8712653 4.865863,8.4803941 A 0.83240115,0.83240115 109.32328 0 0 4.5938103,9.2562442 l 1.6673523,9.2015148 a 0.84433519,0.84433519 50.484116 0 0 0.5249373,0.63644 l 4.4292571,1.721467 a 1.216379,1.216379 3.6429642e-7 0 0 0.88129,0 l 4.429257,-1.721467 a 0.84433513,0.84433513 129.51588 0 0 0.524938,-0.63644 L 18.718193,9.2562442 A 0.83240121,0.83240121 70.676724 0 0 18.446141,8.4803941 L 12.012347,2.8712653 a 0.54226096,0.54226096 5.9568751e-7 0 0 -0.71269,0 z"
transform="matrix(0.43145929,-0.11560917,0.11560917,0.43145929,0.83225312,12.978764)" />
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,44 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cqdyykjx6hdrr"
path.s3tc="res://.godot/imported/cristal.svg-7e9a919e9dbc36092f14a8401b5f4888.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://common/icons/cristal.svg"
dest_files=["res://.godot/imported/cristal.svg-7e9a919e9dbc36092f14a8401b5f4888.s3tc.ctex"]
[params]
compress/mode=2
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=true
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=0
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

23
common/icons/flag-2.svg Normal file
View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="currentColor"
class="icon icon-tabler icons-tabler-filled icon-tabler-flag-2"
version="1.1"
id="svg2"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2" />
<path
stroke="none"
d="M 0,0 H 24 V 24 H 0 Z"
fill="none"
id="path1" />
<path
d="m 19,4 a 1,1 0 0 1 0.993,0.883 L 20,5 v 9 a 1,1 0 0 1 -0.883,0.993 L 19,15 H 6 v 6 A 1,1 0 0 1 5.117,21.993 L 5,22 A 1,1 0 0 1 4.007,21.117 L 4,21 V 5 A 1,1 0 0 1 4.883,4.007 L 5,4 Z"
id="path2"
style="fill:#fefefe;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 701 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://uckrw5fan88k"
path="res://.godot/imported/flag-2.svg-b4658bfe95b153ec543e0e6f4d1176cb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/flag-2.svg"
dest_files=["res://.godot/imported/flag-2.svg-b4658bfe95b153ec543e0e6f4d1176cb.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
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

39
common/icons/hand-finger Normal file
View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="18.474695"
height="20.999998"
viewBox="0 0 18.474695 20.999998"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-hand-finger"
version="1.1"
id="svg5"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs5" />
<path
stroke="none"
d="m -2.525305,-2.0000007 h 24 V 21.999999 h -24 z"
fill="none"
id="path1" />
<path
d="M 5.474695,10.999999 V 2.4999993 a 1.5,1.5 0 0 1 3,0 v 7.5"
id="path2"
style="stroke:#ffffff;stroke-opacity:1" />
<path
d="m 8.474695,9.4999993 v -2 a 1.5,1.5 0 1 1 3,0 v 2.5"
id="path3"
style="stroke:#ffffff;stroke-opacity:1" />
<path
d="m 11.474695,8.4999993 a 1.5,1.5 0 0 1 3,0 v 1.5"
id="path4"
style="stroke:#ffffff;stroke-opacity:1" />
<path
d="m 14.474695,9.4999993 a 1.5,1.5 0 0 1 3,0 v 4.4999997 a 6,6 0 0 1 -6,6 h -2 0.208 a 6,6 0 0 1 -5.012,-2.7 69.74,69.74 0 0 1 -0.196,-0.3 c -0.312,-0.479 -1.407,-2.388 -3.286,-5.728 a 1.5,1.5 0 0 1 0.536,-2.0219997 1.867,1.867 0 0 1 2.28,0.28 l 1.47,1.4699997"
id="path5"
style="stroke:#ffffff;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="18.474695"
height="20.999998"
viewBox="0 0 18.474695 20.999998"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-hand-finger"
version="1.1"
id="svg5"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs5" />
<path
stroke="none"
d="m -2.525305,-2.0000007 h 24 V 21.999999 h -24 z"
fill="none"
id="path1" />
<path
d="M 5.474695,10.999999 V 2.4999993 a 1.5,1.5 0 0 1 3,0 v 7.5"
id="path2"
style="stroke:#ffffff;stroke-opacity:1" />
<path
d="m 8.474695,9.4999993 v -2 a 1.5,1.5 0 1 1 3,0 v 2.5"
id="path3"
style="stroke:#ffffff;stroke-opacity:1" />
<path
d="m 11.474695,8.4999993 a 1.5,1.5 0 0 1 3,0 v 1.5"
id="path4"
style="stroke:#ffffff;stroke-opacity:1" />
<path
d="m 14.474695,9.4999993 a 1.5,1.5 0 0 1 3,0 v 4.4999997 a 6,6 0 0 1 -6,6 h -2 0.208 a 6,6 0 0 1 -5.012,-2.7 69.74,69.74 0 0 1 -0.196,-0.3 c -0.312,-0.479 -1.407,-2.388 -3.286,-5.728 a 1.5,1.5 0 0 1 0.536,-2.0219997 1.867,1.867 0 0 1 2.28,0.28 l 1.47,1.4699997"
id="path5"
style="stroke:#ffffff;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3vg3tipd4boh"
path="res://.godot/imported/hand-finger.svg-4b9fa57a07066292554e8fd7f7ad9dac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/hand-finger.svg"
dest_files=["res://.godot/imported/hand-finger.svg-4b9fa57a07066292554e8fd7f7ad9dac.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
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

45
common/icons/magnet.svg Normal file
View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="currentColor"
class="icon icon-tabler icons-tabler-filled icon-tabler-magnet"
version="1.1"
id="svg2"
sodipodi:docname="magnet.svg"
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2" />
<sodipodi:namedview
id="namedview2"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#505050"
inkscape:zoom="18.5"
inkscape:cx="18.621622"
inkscape:cy="14.324324"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
stroke="none"
d="M0 0h24v24H0z"
fill="none"
id="path1" />
<path
d="M21 9v4a9 9 0 0 1 -18 0v-4h7v4a2 2 0 1 0 4 0v-4zm-3 -7a3 3 0 0 1 3 3v2h-7v-2a3 3 0 0 1 3 -3zm-11 0a3 3 0 0 1 3 3v2h-7v-2a3 3 0 0 1 3 -3z"
id="path2"
style="fill:#ffffff;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://mv0emix7dwio"
path="res://.godot/imported/magnet.svg-210fc8631abfaf11eefb9e027a72fb42.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/magnet.svg"
dest_files=["res://.godot/imported/magnet.svg-210fc8631abfaf11eefb9e027a72fb42.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
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1,31 @@
extends Scene
class_name CaveScene
@export var cave_room_seed = 0
func _init(
_crs : int = 0
):
cave_room_seed = _crs
func get_scene_id() -> String:
return "CRISTAL_CAVE"
func get_scene_path() -> String:
return "res://stages/3d_scenes/cave/cave.tscn"
func is_mouse_captured() -> bool:
return true
func is_needed_to_be_announced() -> bool:
return true
func get_scene_title() -> String:
return tr("CRISTAL_CAVE")
func get_scene_icon() -> Texture:
return preload("res://common/icons/cristal.svg")
func _on_generated(generated_scene : Node):
var cave : Cave = generated_scene as Cave
cave.setup_room(cave_room_seed)

View File

@@ -0,0 +1 @@
uid://f143q00p8ph1

View File

@@ -12,16 +12,18 @@ static func get_tile_from_pos(coord) -> Vector2i:
floori(coord.y / (Region.TILE_SIZE)),
)
static func get_tiles_in_circle(center: Vector2, radius : float) -> Array[Vector2i]:
static func get_tiles_in_circle(center: Vector2,radius : float) -> Array[Vector2i]:
var tiles : Array[Vector2i] = []
var margin = ceili(radius * 0.5)
for x in range(
floori((center.x - radius/2.) / Region.TILE_SIZE),
ceili((center.x + radius/2.) / Region.TILE_SIZE),
floori((center.x - radius/2.) / Region.TILE_SIZE) - margin,
ceili((center.x + radius/2.) / Region.TILE_SIZE) + margin,
):
for y in range(
floori((center.y - radius/2.) / Region.TILE_SIZE),
ceili((center.y + radius/2.) / Region.TILE_SIZE),
floori((center.y - radius/2.) / Region.TILE_SIZE) - margin,
ceili((center.y + radius/2.) / Region.TILE_SIZE) + margin,
):
if is_tile_on_circle(Vector2i(x,y), center, radius):
tiles.append(Vector2i(x,y))
@@ -30,24 +32,29 @@ static func get_tiles_in_circle(center: Vector2, radius : float) -> Array[Vector
static func is_tile_on_circle(tile_coord : Vector2i, circle_center: Vector2, circle_radius : float) -> bool:
var absolute_tile_pos : Vector2 = tile_coord * Region.TILE_SIZE
# Loop over tile corners to know if the area collide
var corners : Array[Vector2] = []
for x in [0,1]:
for y in [0,1]:
corners.append(
absolute_tile_pos
+ Vector2.RIGHT * x * Region.TILE_SIZE
+ Vector2.DOWN * y * Region.TILE_SIZE
)
# Check if segment touch area
for i in range(4):
var a = corners[i%4]
var b = corners[(i+1)%4]
if segment_intersect_circle(a,b,circle_center,circle_radius):
return true
var tile_center = absolute_tile_pos + Vector2.ONE * Region.TILE_SIZE / 2
var tile_radius = roundf(Region.TILE_SIZE/2.)
return false
return pow(tile_center.x - circle_center.x, 2) + pow(tile_center.y - circle_center.y, 2) <= pow(tile_radius + circle_radius, 2)
# Loop over tile corners to know if the area collide
# var corners : Array[Vector2] = []
# for x in [0,1]:
# for y in [0,1]:
# corners.append(
# absolute_tile_pos
# + Vector2.RIGHT * x * Region.TILE_SIZE
# + Vector2.DOWN * y * Region.TILE_SIZE
# )
# # Check if segment touch area
# for i in range(4):
# var a = corners[i%4]
# var b = corners[(i+1)%4]
# if segment_intersect_circle(a,b,circle_center,circle_radius):
# return true
# return false
# Stolen here https://stackoverflow.com/questions/1073336/circle-line-segment-collision-detection-algorithm

View File

@@ -0,0 +1,3 @@

View File

@@ -0,0 +1 @@
uid://bebwor5r5nnov

View File

@@ -0,0 +1,9 @@
[gd_scene format=3 uid="uid://6or2rnjt5ixv"]
[ext_resource type="Script" uid="uid://bebwor5r5nnov" path="res://common/tools/scripts/test_tiles.gd" id="1_44t07"]
[node name="TestTiles" type="Node2D" unique_id=949540000]
script = ExtResource("1_44t07")
[node name="Grid" type="Node2D" parent="." unique_id=2109744474]
unique_name_in_owner = true

View File

@@ -9,9 +9,9 @@ uniform vec2 viewport_size = vec2(1920.0, 1080.0);
// Uniforms for customization
uniform sampler2D noise_texture : repeat_enable;
uniform float cloud_speed : hint_range(0.0, 1.0) = 1.0;
uniform float cloud_speed : hint_range(0.0, 10.0) = 1.0;
uniform float cloud_delay : hint_range(0.0, 100.0) = 1.0;
uniform vec2 noise_dir = vec2(1.0,+1.0);
uniform vec2 cloud_dir = vec2(1.0,+1.0);
uniform vec3 cloud_color : source_color = vec3(0.8);
uniform float cloud_alpha : hint_range(0.0, 1.0) = 1.0;
uniform float cloud_size : hint_range(1.0, 100.0) = 10.0;
@@ -26,8 +26,8 @@ void fragment() {
float time = TIME+cloud_delay;
vec2 time_offset = time * noise_dir * cloud_speed * 0.01;
vec2 distorsion_time_offset = time * noise_dir * (cloud_speed + vec2(cloud_distorsion_speed,cloud_distorsion_speed)) * 0.01;
vec2 time_offset = time * cloud_dir * cloud_speed * 0.01;
vec2 distorsion_time_offset = time * cloud_dir * (cloud_speed + vec2(cloud_distorsion_speed,cloud_distorsion_speed)) * 0.01;
vec2 cloud_uv = world_pos * (1./(cloud_size*100.)) + time_offset;
vec2 distorsion_cloud_uv = world_pos * (1./(cloud_size*100.)) + distorsion_time_offset;

View File

@@ -0,0 +1,40 @@
shader_type canvas_item;
uniform float line_number = 6;
uniform vec4 line_color : source_color = vec4(1.);
uniform float line_thickness : hint_range(0.0, 0.01) = 0.001;
const mat3 sobel_x = mat3(
vec3( 1.0, 2.0, 1.0),
vec3( 0.0, 0.0, 0.0),
vec3(-1.0, -2.0, -1.0)
);
const mat3 sobel_y = mat3(
vec3(1.0, 0.0, -1.0),
vec3(2.0, 0.0, -2.0),
vec3(1.0, 0.0, -1.0)
);
float sample_quantized(sampler2D text, vec2 uv) {
return ceil(texture(text, uv).r * line_number) / line_number;
}
void fragment() {
float gx = 0.0;
float gy = 0.0;
for (int x = 0; x < 3; x++) {
for (int y = 0; y < 3; y++) {
vec2 offset = vec2(float(x) - 1.0, float(y) - 1.0) * line_thickness;
float s = sample_quantized(TEXTURE, UV + offset);
gx += s * sobel_x[x][y];
gy += s * sobel_y[x][y];
}
}
float edge = length(vec2(gx, gy));
float line = step(0.0001, edge);
COLOR = vec4(line_color.rgb, line * line_color.a * COLOR.r);
}

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