Author SHA1 Message Date
Nilou ca9433150e Merge branch 'musique_et_son_2' of https://git.zacharie-guet.fr/zacharie/seeding-planets into musique_et_son_2 2026-05-03 16:46:29 +02:00
Nilou 805056436d mixage du morceau de désert phase 1 #172 2026-04-26 13:59:27 +02:00
Nilou 6f4d1825ea suppression des nodes sfx "rocks" "dig" "alarm" et des fichiers audio "dig" "alarm" "build" "truck_moving" 2026-04-26 12:35:49 +02:00
Nilou 1caaf42105 ajustements liés à l'ambiance de base-relais et suppression des nodes "Rocks" et "Dig" 2026-04-26 12:25:05 +02:00
Nilou dfa11a17fd sfx et ambiance vending room + nodes audio (à implémenter) #174 2026-04-26 10:09:47 +02:00
Nilou 186f150689 sfx chute distributeur mixé #174 2026-04-26 09:33:14 +02:00
Nilou 8f7b013445 sfx de porte (reste qu'à l'implémenter) et sfx get_item (placeholder pas implémenté) #148 #173 2026-04-26 08:55:21 +02:00
Nilou 689ad8057d implémentation de la musique de désert phase 1 #172 2026-03-29 15:33:11 +02:00
Nilou 4c7633d4c4 correction des dialogues anglophones d'astra failed, post-tutorial et ship presentation #168 2026-03-21 16:38:57 +01:00
Nilou 0b79ef3e02 Merge branch 'musique_et_son_2' of https://git.zacharie-guet.fr/zacharie/seeding-planets into musique_et_son_2 2026-03-21 11:03:32 +01:00
Nilou 5c4e828a8d implémentation du morceau de fin et mixage #153 2026-03-01 17:27:54 +01:00
Nilou efb18bae26 correction des deux musiques en même temps sur le vaisseau et mixage 2026-03-01 16:50:44 +01:00
Nilou 68d5b4153f implémentation du sfx de bip écran #156 2026-03-01 16:37:16 +01:00
Nilou c32f246707 mise en place du sfx de sortie du vaisseau et mixage #150 2026-03-01 14:34:25 +01:00
Nilou 31609b8b38 ajout du sfx de mouvement #165 2026-03-01 14:17:51 +01:00
Nilou da46a56909 gestion des silences au début des morceaux et mise en place du sfx ascenseur #157 2026-03-01 14:12:35 +01:00
Nilou 81c6328390 mise en place des sfx d'atterrissage et décollage #160 2026-03-01 13:57:03 +01:00
Nilou b61bcef769 mise en place du sfx de télépotation et mixage #135 2026-03-01 13:45:06 +01:00
Nilou f4206648e6 ajout du morceau de fin de demo et création de la node #153 2026-02-28 20:30:04 +01:00
Nilou 122fa11aa1 dernières révisions des dialogues anglophones, la correction pro arrive plus tard 2026-02-28 19:42:00 +01:00
Nilou c62668fb5b fade sur le menu et correction de dialogues 2026-02-28 17:35:36 +01:00
Nilou 0f2213bbdd ajout du sfx teleportation, recréation de la node movement et création de la node teleportation 2026-02-27 16:28:16 +01:00
Nilou d221869a10 ajout du sfx movement, création des nodes movement et passage du camion de "music" à "ambiance" #165 2026-02-27 16:08:46 +01:00
Nilou f26d623c36 ajout du sfx d'ascenseur #157 2026-02-27 14:55:19 +01:00
Nilou 88aa199f5a correction du problème d'ambiance 2026-02-27 14:06:58 +01:00
Nilou 75cdd584de mise en place des morceaux "définitifs" de la démo 2026-02-26 18:13:23 +01:00
Nilou 8b07d5df47 sfx de minage et récolte fonctionnels #164 2026-02-26 14:20:39 +01:00
Nilou ebe6df5d4d ajustement des paramètres des musiques 2026-02-26 13:14:43 +01:00
Nilou 8a19a3f81f création des nodes sfx manquantes sur audiomanager 2026-02-26 13:09:07 +01:00
Nilou bdba1fb5b4 ajout des sfx de décollage et d'atterrissage #160 2026-02-26 12:56:26 +01:00
Nilou 31144151bd ajout des sfx de recharge #136 2026-02-25 15:11:12 +01:00
Nilou 2df0de1db9 amélioration des morceaux forest #163 2026-02-25 14:01:01 +01:00
Nilou 026471f847 suppression de la lecture en boucle des morceaux de phase #142 2026-02-22 18:47:00 +01:00
Nilou f130c2f2c5 suppression des oiseaux sur les pistes d'ambiance de niveau 2026-02-22 18:08:35 +01:00
Nilouandzacharie 7908797ee5 augmentation du default_fade_time 2026-02-22 17:31:51 +01:00
Nilouandzacharie 0c5365ff57 amélioration des dialogues en anglais et suppression des oiseaux de l'ambiance Demeter 2026-02-22 17:31:51 +01:00
Nilouandzacharie 90eec21031 ajout du sfx d'ascenseur et de bip d'écran #156 #157 2026-02-22 17:29:38 +01:00
Nilouandzacharie 4be34c4bfb mise en place des ambiances, modfication du jingle de reveal du vaisseau, mixage et identification des problèmes sonores 2026-02-22 17:29:37 +01:00
128 changed files with 1487 additions and 3887 deletions
@@ -1,19 +0,0 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bqmo8dqvbwrjy"
path="res://.godot/imported/dragon-studio-gentle-rain-07-437321.mp3-0d563814f1cc2abb83b1e2f2367220f0.mp3str"
[deps]
source_file="res://common/audio_manager/assets/ambiance/niveau/dragon-studio-gentle-rain-07-437321.mp3"
dest_files=["res://.godot/imported/dragon-studio-gentle-rain-07-437321.mp3-0d563814f1cc2abb83b1e2f2367220f0.mp3str"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4
+6 -12
View File
@@ -3,7 +3,6 @@
[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://b1hut6lc1jevh" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_2.ogg" id="4_2fduo"]
[ext_resource type="AudioStream" uid="uid://bqmo8dqvbwrjy" path="res://common/audio_manager/assets/ambiance/niveau/dragon-studio-gentle-rain-07-437321.mp3" id="4_aedoe"]
[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://dsphn6dbbd55a" path="res://common/audio_manager/assets/morceaux/niveau/forest_phase_1.ogg" id="6_6o1yh"]
@@ -133,14 +132,6 @@ stream = ExtResource("7_ge2sc")
unique_name_in_owner = true
stream = ExtResource("2_tuvql")
[node name="ExteriorFoggy" type="AudioStreamPlayer" parent="Ambiances" unique_id=1741396762]
unique_name_in_owner = true
[node name="ExteriorRaining" type="AudioStreamPlayer" parent="Ambiances" unique_id=1946725047]
unique_name_in_owner = true
stream = ExtResource("4_aedoe")
volume_db = -20.0
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
unique_name_in_owner = true
stream = ExtResource("5_8204s")
@@ -157,6 +148,9 @@ stream = ExtResource("7_spekb")
unique_name_in_owner = true
stream = ExtResource("8_tuvql")
[node name="Vending_room_base_relais" type="AudioStreamPlayer" parent="Ambiances" unique_id=1544089647]
stream = ExtResource("7_ge2sc")
[node name="Musics" type="Node" parent="." unique_id=1450527710]
unique_name_in_owner = true
@@ -180,6 +174,9 @@ stream = ExtResource("5_ajci6")
unique_name_in_owner = true
stream = ExtResource("4_2fduo")
[node name="RegionDesertPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=2003475958]
stream = ExtResource("11_yjs51")
[node name="RegionForestLoop" type="AudioStreamPlayer" parent="Musics" unique_id=482654512]
unique_name_in_owner = true
stream = ExtResource("12_xmumj")
@@ -239,9 +236,6 @@ stream = ExtResource("23_ge2sc")
[node name="Recharge7" type="AudioStreamPlayer" parent="Sfx" unique_id=355754872]
stream = ExtResource("24_yr73o")
[node name="Rocks" type="AudioStreamPlayer" parent="Sfx" unique_id=1012908521]
stream = SubResource("AudioStreamRandomizer_kfbah")
[node name="Respawn" type="AudioStreamPlayer" parent="Sfx" unique_id=1902559716]
stream = ExtResource("16_xmumj")
@@ -42,6 +42,7 @@ 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)]
@@ -298,7 +299,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 player.stream and not player.playing:
if player and not player.playing:
player.play(
0.0 if not from_random_time
else randf_range(0.0, player.stream.get_length())
-1
View File
@@ -33,7 +33,6 @@ 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()
+10 -12
View File
@@ -1,12 +1,13 @@
extends Resource
class_name ProgressionData
@export var planted_mutation_ids: Array[String] = []
@export var story_step_i := 0
@export var mutations_unlocked = 5
@export var ship_tutorial_done = false
var all_mutations: Array[PlantMutation] : get = get_all_mutations
var available_mutations: Array[PlantMutation] : get = get_available_mutations
var available_mutations: Array[PlantMutation] : get = get_all_mutations
var available_artefacts: Array[Artefact] : get = get_all_artifacts
var story_step : StoryStep : get = get_story_step
@@ -18,24 +19,21 @@ 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 [
QualityMutation.new(),
AncientMutation.new(),
ProlificMutation.new(),
PrecociousMutation.new(),
PurificationMutation.new(),
SocialMutation.new(),
FertileMutation.new(),
QuickMutation.new(),
HurriedMutation.new(),
GenerousMutation.new(),
HurriedMutation.new(),
PrecociousMutation.new(),
ProlificMutation.new(),
ProtectiveMutation.new(),
PureMutation.new(),
PurificationMutation.new(),
QualityMutation.new(),
QuickMutation.new(),
RobustMutation.new(),
SocialMutation.new(),
ToughMutation.new(),
VivaciousMutation.new(),
]
+9 -32
View File
@@ -32,64 +32,42 @@ 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(last_modifiers)
generate_next_run_point()
)
return next_run_points
func generate_next_run_point(last_modifiers : Array[String] = []) -> RunPoint:
func generate_next_run_point() -> 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 = [
challenge_modifiers.pick_random(),
benefic_modifiers.pick_random()
generate_challenge_modifiers().pick_random(),
generate_benefic_modifiers().pick_random()
] as Array[RegionModifier]
else:
region_parameter.modifiers = [
normal_modifiers.pick_random()
generate_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 and level >= first_vending:
if vending_occurence > 0:
if (level - first_vending)%vending_occurence == 0:
region_parameter.modifiers.append(VendingMachineModifier.new())
var first_cave = story_step.get_first_cave_occurence(next_level)
var cave_occurence = story_step.get_cave_occurence(next_level)
if cave_occurence > 0 and level >= first_cave:
if (level - first_cave)%cave_occurence == 0:
region_parameter.modifiers.append(CaveModifier.new())
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
)
@@ -116,7 +94,7 @@ func generate_normal_modifiers() -> Array[RegionModifier]:
HarshModifier.new(),
ToxicModifier.new(),
SandyModifier.new(),
MagneticModifier.new(),
]
func generate_benefic_modifiers() -> Array[RegionModifier]:
@@ -124,7 +102,6 @@ func generate_benefic_modifiers() -> Array[RegionModifier]:
VendingMachineModifier.new(),
ResonnanceModifier.new(),
InstableModifier.new(),
CaveModifier.new(),
]
@@ -2,7 +2,6 @@ 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()
@@ -17,7 +16,7 @@ func get_destination_scene() -> Scene:
)
func get_region_sequence_length() -> int:
return 5
return 4
func get_first_vending_machine_occurence(_level : int) -> int:
return 0
@@ -29,8 +28,6 @@ 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_cave_occurence(level):
return CAVE_DIALOG_PATH
if ship_in_space and level == get_region_sequence_length() - 1:
return MERCURY_ARRIVAL_DIALOG_PATH
return ""
+5 -13
View File
@@ -30,12 +30,6 @@ func get_first_vending_machine_occurence(_level : int) -> int:
func get_vending_machine_occurence(_level : int) -> int:
return 4
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
@@ -44,15 +38,13 @@ 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:
1: return 10
2: return 12
3: return 16
4: return 22
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
-23
View File
@@ -1,23 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 2.0 KiB

-43
View File
@@ -1,43 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cqdyykjx6hdrr"
path="res://.godot/imported/cristal.svg-7e9a919e9dbc36092f14a8401b5f4888.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/cristal.svg"
dest_files=["res://.godot/imported/cristal.svg-7e9a919e9dbc36092f14a8401b5f4888.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
View File
@@ -1,45 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 1.4 KiB

-43
View File
@@ -1,43 +0,0 @@
[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
@@ -1,31 +0,0 @@
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)
@@ -1 +0,0 @@
uid://f143q00p8ph1
@@ -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, 10.0) = 1.0;
uniform float cloud_speed : hint_range(0.0, 1.0) = 1.0;
uniform float cloud_delay : hint_range(0.0, 100.0) = 1.0;
uniform vec2 cloud_dir = vec2(1.0,+1.0);
uniform vec2 noise_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 * 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 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 cloud_uv = world_pos * (1./(cloud_size*100.)) + time_offset;
vec2 distorsion_cloud_uv = world_pos * (1./(cloud_size*100.)) + distorsion_time_offset;
-13
View File
@@ -1,13 +0,0 @@
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
join demeter center [animation="Bounce In" length="1.0"]
demeter: I hope everything is going well for you so far. I'm calling because the next regions you're heading to contain unique rock formations\: the [b]Caverns of Talion[/b]. #id:e5
- Talion hadn't disappeared? #id:e6
demeter: Precisely, I'd like you to check for me if its reappearance on the surface also means its reappearance in the caverns. #id:e7
- How do you know? #id:e8
demeter: These caverns were well known to humans. Some went there to study Talion, others to explore the cave. These explorations were very risky, but apparently some humans enjoyed risking their lives... #id:e9
- What does that change for me? #id:ea
demeter: The crystals in these caverns are special; they don't produce life, but they release a powerful mutagenic energy into the air. This will surely help you grow more powerfull plants for the rest of your journey. #id:eb
demeter: Use your detector to find the entrance to the cave; humans had installed an elevator there. #id:ec
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]
[end_timeline]
-1
View File
@@ -1 +0,0 @@
uid://pgqchxycwcpd
@@ -0,0 +1,23 @@
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
[wait time="1.5"]
join demeter center [animation="Bounce In" length="1.0"]
demeter: Hello again ! #id:1f
demeter: It seems that you ran out of energy.[pause=0.5].[pause=0.5]. #id:20
- I'm sorry... #id:21
- That's really hard ! #id:22
- I'm doing my best ! #id:23
demeter: It's ok [color=#FFA617]Orchid[/color] ![pause=0.5] I have spent years waiting for this moment,[pause=0.2] I can wait more ! #id:24
demeter: I found you a new body,[pause=0.2] and a new ship is waiting for you outside,[pause=0.2] but I'm afraid I couldn't get your seeds.[pause=0.3].[pause=0.3].[pause=0.3] I hope you'll find new ones ! #id:25
demeter: Do you need some advice ? #id:26
- No, I'm ok. #id:27
- Can I have some explanations on how all of this works again ? #id:28
demeter: When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone. #id:29
demeter: Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color]. #id:2a
demeter: Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base. #id:2b
demeter: Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow !
demeter: You have to produce enough [b]plant points[/b] to fill the tanks of the [color=#FFA617]Internode[/color].[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature. #id:2c
demeter: Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one. #id:2d
demeter: Hope I helped. #id:2e
demeter: I'm sending you an elevator,[pause=0.3] see you soon ! #id:2f
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]
@@ -0,0 +1,21 @@
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
[wait time="1.5"]
join demeter center [animation="Bounce In" length="1.0"]
demeter: So you found the communication station in there,[pause=0.2] good ! #id:51
- What is next for me ? #id:52
demeter: Now that you have learnt how to produce [b]plant points[/b],[pause=0.2] I need you to travel north,[pause=0.2] to my base of operation,[pause=0.2] [color=#6CDAE7]Borea[/color]. #id:53
demeter: It will be long,[pause=0.3] but I know you can do it.[pause=0.5] It is the first step of my plan to restore the ecosytem of [color=#175579]Tau[/color]. #id:54
- Tau ? Is it this planet ? #id:55
demeter: Absolutely,[pause=0.2] it is part of the Cetus constellation,[pause=0.3] whose exploitation began 10863 years ago. #id:56
demeter: Linking Aldebaran to Fomalhaut,[pause=0.2] the Cetus constellation is one of the most diverse in terms of star systems and planets.[pause=0.5] It is part of the Orion Arm of the Milky Way. #id:57
- Why do you need me to travel through the entire planet to join you ? #id:58
demeter: Uhhhh.[pause=0.3].[pause=0.3].[pause=0.3] I need someone with your abilities. #id:59
demeter: I am having a problem at the [color=#6CDAE7]Borea[/color] base.[pause=0.5] And I cannot fix it alone. #id:5a
- I will do my best to be there quickly ! #id:5b
demeter: You are very kind [color=#FFA617]Orchid[/color] ! #id:5c
- Are you hiding information from me ? #id:5d
demeter: Not at all ![pause=0.5] Please believe me,[pause=0.2] I just want you to join me.[pause=0.5].[pause=0.5]. #id:5e
demeter: Travel south,[pause=0.3] join me at [color=#6CDAE7]Borea[/color].[pause=0.5] I will tell you everything you need to know when you are here,[pause=0.3] until then,[pause=0.2] keep your best seeds and continue to [b]develop your plants[/b],[pause=0.3] you will need them as advanced as possible. #id:5f
demeter: Good luck [color=#FFA617]{orchidName}[/color],[pause=0.3] I am counting on you. #id:60
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]
@@ -0,0 +1,30 @@
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
[wait time="1.5"]
join demeter center [animation="Bounce In" length="1.0"]
demeter: Hi again ![pause=0.5] You did well up there ! #id:61
demeter: Perhaps I should introduce myself now. #id:62
demeter: I am.[pause=0.3].[pause=0.3].[pause=0.5] was,[pause=0.2] the Deputy Manager of Engineering and Talion Energy Research on this planet,[pause=0.5] but my creators and colleagues quickly called me [color=#009bff]Demeter[/color]. #id:63
demeter: I am installed at the [color=#6CDAE7]Borea[/color] base,[pause=0.2] in the third server room of the east wing,[pause=0.2] from which I oversee.[pause=0.3].[pause=0.3].[pause=0.5] oversaw,[pause=0.3] all the important operations on this planet. #id:64
demeter: You are surely wondering where we are now.[pause=0.3].[pause=0.3]. #id:65
- Yes, among a lot of other questions ! So where am I ? #id:66
demeter: You're actually in an ancient human base,[pause=0.2] called [color=#E30022]Astra[/color].[pause=0.5] This room is connected to the one where you were activated,[pause=0.3] but I had to make you travel across the surface to test your abilities. #id:67
- Wait, can you explain me what did I just do up there ? #id:68
demeter: You have begun to fix what humans once inflicted on this planet.[pause=0.3].[pause=0.3].[pause=0.3] It will be a very long process,[pause=0.2] I hope you enjoyed it ! #id:69
- Sorry, but what is the point of all of that ? #id:6a
demeter: I'm sorry that you are lost my child.[pause=0.3].[pause=0.3].[pause=0.3] Just know that what you are doing is very important to me and the planet itself.[pause=0.5] Since humans are gone,[pause=0.2] we kinda all fell into despair... #id:6b
demeter: Wait.[pause=0.3].[pause=0.3].[pause=0.5] You don't know what humans are ![pause=0.5] Of course,[pause=0.2] since your database was corrupted I had to erase most of it. #id:6c
demeter: Humans are living creatures that are.[pause=0.3].[pause=0.3].[pause=0.5] Different from plants.[pause=0.5] They are mostly thinking and moving like us.[pause=0.5] Somehow,[pause=0.2] they are very cute creatures,[pause=0.2] that only live for less than a century. #id:6d
demeter: One human is relatively intelligent,[pause=0.2] but don't be fooled,[pause=0.2] together,[pause=0.2] they did great things.[pause=0.5] In fact,[pause=0.2] they created us. #id:6e
demeter: A long time ago,[pause=0.2] they discovered this planet.[pause=0.5] It was very different,[pause=0.2] plants were thriving everywhere ![pause=0.5] But then.[pause=0.3].[pause=0.3].[pause=0.5] they.[pause=0.3].[pause=0.3].[pause=0.5] I.[pause=0.3].[pause=0.3].[pause=0.5] #id:6f
- What ? #id:70
- Are you lagging? #id:71
- Take your time. #id:72
demeter: Humans had one major flaw.[pause=0.5] Together,[pause=0.2] they built great things,[pause=0.2] but sometimes great things had a bad impact on the environment and even themselves. #id:73
- Where are they now ? #id:74
demeter: I prefer not to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] But don't worry,[pause=0.2] they can no longer harm this planet. #id:75
- What happened ? #id:76
demeter: Sorry my child,[pause=0.3] I'm not ready to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] You'll have your answers when you meet me. #id:77
- Can I know what is this shiny machine just next to me ? #id:78
demeter: This machine is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ? #id:79
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]
@@ -1,68 +0,0 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://mwk845fx5ye2"
path="res://.godot/imported/cristal.blend-5fdcaa76cec17f12715c1ff4a4caf324.scn"
[deps]
source_file="res://entities/interactable_3d/cristal/assets/cristal.blend"
dest_files=["res://.godot/imported/cristal.blend-5fdcaa76cec17f12715c1ff4a4caf324.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
@@ -1,68 +0,0 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://d0sdfjneo8rjj"
path="res://.godot/imported/cristal_crack_1.blend-01f6238e5ee6ec34d1d8a421f878430c.scn"
[deps]
source_file="res://entities/interactable_3d/cristal/assets/cristal_crack_1.blend"
dest_files=["res://.godot/imported/cristal_crack_1.blend-01f6238e5ee6ec34d1d8a421f878430c.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
@@ -1,68 +0,0 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b8cqw348lx15s"
path="res://.godot/imported/cristal_crack_2.blend-e5cf949346bc85a9c664c66dde3ab25a.scn"
[deps]
source_file="res://entities/interactable_3d/cristal/assets/cristal_crack_2.blend"
dest_files=["res://.godot/imported/cristal_crack_2.blend-e5cf949346bc85a9c664c66dde3ab25a.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
@@ -1,68 +0,0 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://c7p114rvk26xw"
path="res://.godot/imported/cristal_crack_3.blend-513c4ee47a074edd5c96e86c23a0716a.scn"
[deps]
source_file="res://entities/interactable_3d/cristal/assets/cristal_crack_3.blend"
dest_files=["res://.godot/imported/cristal_crack_3.blend-513c4ee47a074edd5c96e86c23a0716a.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
Binary file not shown.
@@ -1,87 +0,0 @@
[gd_scene format=3 uid="uid://8rorj31s3irn"]
[ext_resource type="Script" uid="uid://dwn3g8c5sa0a2" path="res://entities/interactable_3d/cristal/scripts/cristal.gd" id="1_ci2hw"]
[ext_resource type="AudioStream" uid="uid://ctfaxvblcg5lc" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_1.wav" id="2_247i2"]
[ext_resource type="PackedScene" uid="uid://mwk845fx5ye2" path="res://entities/interactable_3d/cristal/assets/cristal.blend" id="2_ci2hw"]
[ext_resource type="PackedScene" uid="uid://c7p114rvk26xw" path="res://entities/interactable_3d/cristal/assets/cristal_crack_3.blend" id="2_vejte"]
[ext_resource type="AudioStream" uid="uid://c1dnklmka2ccn" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_2.wav" id="3_k7wsc"]
[ext_resource type="PackedScene" uid="uid://d0sdfjneo8rjj" path="res://entities/interactable_3d/cristal/assets/cristal_crack_1.blend" id="3_nvfy2"]
[ext_resource type="AudioStream" uid="uid://dd1uu6dd6sloe" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_3.wav" id="4_qeist"]
[ext_resource type="AudioStream" uid="uid://eq7wufwnolto" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_4.wav" id="5_22ghi"]
[ext_resource type="PackedScene" uid="uid://brp1fpvasaims" path="res://entities/interactable_3d/cristal/mutation_announce.tscn" id="9_247i2"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ojmpp"]
streams_count = 4
stream_0/stream = ExtResource("2_247i2")
stream_1/stream = ExtResource("3_k7wsc")
stream_2/stream = ExtResource("4_qeist")
stream_3/stream = ExtResource("5_22ghi")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ci2hw"]
transparency = 1
shading_mode = 0
vertex_color_use_as_albedo = true
[sub_resource type="PrismMesh" id="PrismMesh_nvfy2"]
lightmap_size_hint = Vector2i(14, 21)
material = SubResource("StandardMaterial3D_ci2hw")
size = Vector3(0.2, 0.2, 0.2)
[sub_resource type="Gradient" id="Gradient_ci2hw"]
offsets = PackedFloat32Array(0, 0.80349344, 1)
colors = PackedColorArray(1, 0.6509804, 0.09019608, 1, 1, 0.1764706, 0.3372549, 0.827451, 1, 0, 0.43137255, 0)
[sub_resource type="BoxShape3D" id="BoxShape3D_nvfy2"]
size = Vector3(1, 2.0454712, 1)
[node name="Cristal" type="Area3D" unique_id=1403604311]
script = ExtResource("1_ci2hw")
metadata/_custom_type_script = "uid://bj4d1x8n8ina"
[node name="BreackAudioPlayer" type="AudioStreamPlayer3D" parent="." unique_id=1190729820]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0430325, 0)
stream = SubResource("AudioStreamRandomizer_ojmpp")
[node name="BreakParticles" type="CPUParticles3D" parent="." unique_id=1968257379]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0430325, 0)
emitting = false
amount = 16
lifetime = 0.5
one_shot = true
speed_scale = 1.5
explosiveness = 1.0
mesh = SubResource("PrismMesh_nvfy2")
particle_flag_rotate_y = true
direction = Vector3(0, 1, 0)
initial_velocity_min = 1.0
initial_velocity_max = 4.0
angular_velocity_min = -90.0
angular_velocity_max = -90.0
angle_min = -180.0
angle_max = 180.0
scale_amount_min = 0.5
color = Color(1, 0.6509804, 0.09019608, 1)
color_ramp = SubResource("Gradient_ci2hw")
[node name="CristalModel" parent="." unique_id=1362490576 instance=ExtResource("2_ci2hw")]
unique_name_in_owner = true
[node name="CristalModelCrack1" parent="." unique_id=2936580 instance=ExtResource("3_nvfy2")]
unique_name_in_owner = true
visible = false
[node name="CristalModelCrack2" parent="." unique_id=1202531828 instance=ExtResource("2_vejte")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0051152706, 0.006559938, -0.011411905)
visible = false
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1235599731]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9791151, 0)
shape = SubResource("BoxShape3D_nvfy2")
[node name="MutationAnnounce" parent="." unique_id=1447182082 instance=ExtResource("9_247i2")]
unique_name_in_owner = true
[editable path="CristalModelCrack2"]
@@ -1,315 +0,0 @@
[gd_scene format=3 uid="uid://brp1fpvasaims"]
[ext_resource type="Script" uid="uid://c0tyivmiouctw" path="res://entities/interactable_3d/cristal/scripts/mutation_announce.gd" id="1_02o74"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="2_vlom2"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="3_5hs4t"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_yg5wk"]
[ext_resource type="Script" uid="uid://bqisp5hjs06rj" path="res://gui/game/announce/scripts/announce_inspectable.gd" id="5_qu1xy"]
[ext_resource type="Texture2D" uid="uid://0hbdgalf04e" path="res://common/icons/wood.svg" id="6_n403s"]
[ext_resource type="Script" uid="uid://dj2pv1hiwjfv0" path="res://gui/game/card/scripts/card_info.gd" id="7_se4h4"]
[ext_resource type="Script" uid="uid://dgbh38j13g5kn" path="res://gui/game/card/scripts/card_section_info.gd" id="8_0osya"]
[ext_resource type="Texture2D" uid="uid://dth2mj0nh2q70" path="res://common/icons/align-right.svg" id="9_s5jxo"]
[ext_resource type="Script" uid="uid://b4tkium34c831" path="res://gui/game/card/scripts/card_stat_info.gd" id="10_qidgp"]
[ext_resource type="Texture2D" uid="uid://bsvxhafoxwmw0" path="res://common/icons/cube-3d-sphere.svg" id="11_uj15c"]
[ext_resource type="PackedScene" uid="uid://mwk845fx5ye2" path="res://entities/interactable_3d/cristal/assets/cristal.blend" id="12_wy2oe"]
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="13_kyl1n"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="14_d2gpy"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="15_hu5cq"]
[sub_resource type="ViewportTexture" id="ViewportTexture_6hxtc"]
viewport_path = NodePath("Particles/SubViewport")
[sub_resource type="Curve" id="Curve_brrmr"]
_limits = [-200.0, 200.0, 0.0, 1.0]
_data = [Vector2(0, -200), 0.0, 560.0, 0, 0, Vector2(0.08235294, 92.384125), 1336.3082, 1336.3082, 0, 0, Vector2(0.34901965, 200), 0.0, 0.0, 0, 0, Vector2(0.854902, -200), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="Gradient" id="Gradient_0u75y"]
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="LabelSettings" id="LabelSettings_u8fe7"]
font = ExtResource("4_yg5wk")
font_size = 50
font_color = Color(1, 0.6509804, 0.09019608, 1)
[sub_resource type="ViewportTexture" id="ViewportTexture_smt8b"]
viewport_path = NodePath("AnnounceContainer/ObjectVisualiser/SubViewport")
[sub_resource type="Resource" id="Resource_rjaqi"]
script = ExtResource("8_0osya")
title_text = "Description"
title_icon = ExtResource("9_s5jxo")
text = "Une fois mature, ajoute [b]1[/b][img=22x22]res://common/icons/growth.svg[/img] tous les [b]3[/b][img=22x22]res://common/icons/calendar-week.svg[/img]"
[sub_resource type="Resource" id="Resource_kgj7d"]
script = ExtResource("7_se4h4")
title = "Ancien"
subtitle = "Mutation"
important_stat_icon = ExtResource("6_n403s")
sections = Array[ExtResource("8_0osya")]([SubResource("Resource_rjaqi")])
[sub_resource type="Animation" id="Animation_aao0q"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MutationAnnounce/AnnounceContainer:theme_override_constants/separation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [4]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MutationAnnounce/Particles:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("MutationAnnounce/AnnounceContainer:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MutationAnnounce/MarginContainer/BackgroundRect:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("MutationAnnounce:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.03333333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_b6hac"]
resource_name = "appear"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MutationAnnounce/AnnounceContainer:theme_override_constants/separation")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.23333333, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [480, 4]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MutationAnnounce/Particles:modulate")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.5, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("MutationAnnounce/AnnounceContainer:modulate")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.2, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MutationAnnounce/MarginContainer/BackgroundRect:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.03333333, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("MutationAnnounce:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.16666667),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1aa3a"]
_data = {
&"RESET": SubResource("Animation_aao0q"),
&"appear": SubResource("Animation_b6hac")
}
[node name="MutationAnnounce" type="CanvasLayer" unique_id=1447182082]
visible = false
script = ExtResource("1_02o74")
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1853133518]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="BackgroundRect" type="ColorRect" parent="MarginContainer" unique_id=1594037653]
layout_mode = 2
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
[node name="Particles" type="TextureRect" parent="." unique_id=1748571879]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -500.0
offset_top = -500.0
offset_right = 500.0
offset_bottom = 500.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_6hxtc")
[node name="SubViewport" type="SubViewport" parent="Particles" unique_id=1123249182]
transparent_bg = true
size = Vector2i(1000, 1000)
[node name="GPUParticles2D" type="CPUParticles2D" parent="Particles/SubViewport" unique_id=220592083]
position = Vector2(500, 500)
amount = 20
texture = ExtResource("2_vlom2")
preprocess = 1.0
spread = 180.0
gravity = Vector2(0, 0)
initial_velocity_min = 2.0
initial_velocity_max = 2.0
linear_accel_min = 5.0
linear_accel_max = 5.0
linear_accel_curve = SubResource("Curve_brrmr")
color_ramp = SubResource("Gradient_0u75y")
[node name="AnnounceContainer" type="VBoxContainer" parent="." unique_id=645433045]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -627.0
offset_bottom = 627.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 4
alignment = 1
[node name="AnnounceTitle" type="Label" parent="AnnounceContainer" unique_id=1768593559]
unique_name_in_owner = true
layout_mode = 2
text = "NEW_MUTATION"
label_settings = ExtResource("3_5hs4t")
horizontal_alignment = 1
[node name="AnnounceText" type="Label" parent="AnnounceContainer" unique_id=768724763]
unique_name_in_owner = true
layout_mode = 2
text = "Ancien"
label_settings = SubResource("LabelSettings_u8fe7")
horizontal_alignment = 1
[node name="ObjectVisualiser" type="TextureRect" parent="AnnounceContainer" unique_id=1180983374]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
mouse_filter = 0
texture = SubResource("ViewportTexture_smt8b")
stretch_mode = 5
script = ExtResource("5_qu1xy")
info = SubResource("Resource_kgj7d")
[node name="MutationIconTextureRect" type="TextureRect" parent="AnnounceContainer/ObjectVisualiser" unique_id=312214951]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_n403s")
[node name="SubViewport" type="SubViewport" parent="AnnounceContainer/ObjectVisualiser" unique_id=1795775056]
own_world_3d = true
transparent_bg = true
size = Vector2i(300, 300)
[node name="AnnouceObject" type="Node3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1527573801]
unique_name_in_owner = true
transform = Transform3D(0.9998366, 0, 0, 0, 0.9995686, 0, 0, 0, 0.9996744, 0, 0, 0)
[node name="cristal" parent="AnnounceContainer/ObjectVisualiser/SubViewport/AnnouceObject" unique_id=1362490576 instance=ExtResource("12_wy2oe")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
[node name="Camera3D" type="Camera3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=173755338]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
keep_aspect = 0
current = true
fov = 20.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1135825303]
environment = ExtResource("13_kyl1n")
[node name="OkButton" type="Button" parent="AnnounceContainer" unique_id=249785792]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("14_d2gpy")
text = "OK"
icon = ExtResource("15_hu5cq")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1913258839]
unique_name_in_owner = true
root_node = NodePath("../..")
libraries/ = SubResource("AnimationLibrary_1aa3a")
@@ -1,45 +0,0 @@
extends Interactable3D
const MAX_BREAK_LEVEL = 2
signal broken
@export var break_level = 0
func _ready():
update_model()
func click():
if interactable:
clicked.emit()
%BreackAudioPlayer.playing = true
%BreakParticles.emitting = true
break_level += 1
if break_level == MAX_BREAK_LEVEL:
broken.emit()
interactable = false
unlock_mutation()
update_model()
func update_model():
if is_node_ready():
%CristalModel.visible = break_level == 0
%CristalModelCrack1.visible = break_level == 1
%CristalModelCrack2.visible = break_level > 1
if break_level > 1:
%CristalModelCrack2.find_children("AnimationPlayer")[0].play("Break")
func unlock_mutation():
var progression = GameInfo.game_data.progression_data
if progression.mutations_unlocked < len(progression.get_all_mutations()):
var new_mutation : PlantMutation = progression.get_all_mutations()[progression.mutations_unlocked]
progression.mutations_unlocked += 1
get_tree().create_timer(1.).timeout.connect(
func (): %MutationAnnounce.announce_mutation = new_mutation
);
@@ -1 +0,0 @@
uid://dwn3g8c5sa0a2
@@ -1,80 +0,0 @@
@tool
extends CanvasLayer
class_name MutationAnnounce
const DEFAULT_OBJECT_ACCELERATION = Vector2(3,0)
@export var announce_mutation : PlantMutation = null : set = set_announce_mutation
@export_tool_button("Update", "Callable") var update_action = set_announce_mutation
var announce_objects : Array[AnnouceObject] = []
var object_acceleration := Vector2(0,0)
var rotating := false
var prev_mouse_pos : Vector2
var next_mouse_pos : Vector2
const YELLOW_COLOR = Color("e29f32")
const RED_COLOR = Color("f20058")
func _ready():
set_announce_mutation()
%OkButton.button_down.connect(_on_ok_button_down)
hide()
func _process(delta):
update_rotation(delta)
func update_rotation(delta):
if visible:
next_mouse_pos = get_viewport().get_mouse_position()
if Input.is_action_just_pressed("action"):
rotating = true
prev_mouse_pos = get_viewport().get_mouse_position()
if Input.is_action_just_released("action"):
rotating = false
object_acceleration = Vector2(
float(next_mouse_pos.x - prev_mouse_pos.x),
float(next_mouse_pos.y - prev_mouse_pos.y)
)
var object_rotation = object_acceleration
if rotating:
object_rotation = Vector2(
float(next_mouse_pos.x - prev_mouse_pos.x),
float(next_mouse_pos.y - prev_mouse_pos.y)
)
prev_mouse_pos = next_mouse_pos
else :
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
%AnnouceObject.rotate(Vector3.UP, object_rotation.x * delta)
%AnnouceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
func set_announce_mutation(mutation := announce_mutation):
if is_node_ready() and mutation:
%AnnounceTitle.text = "NEW_MUTATION"
%AnnounceText.text = mutation.get_mutation_name()
%MutationIconTextureRect.texture = mutation.get_icon()
%ObjectVisualiser.info = mutation.card_info()
if not visible:
%AnimationPlayer.play("appear")
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
AudioManager.play_sfx("Reveal")
elif mutation == null and visible:
%AnimationPlayer.play_backwards("appear")
if not Engine.is_editor_hint():
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
announce_mutation = mutation
func _on_ok_button_down():
announce_mutation = null
@@ -1 +0,0 @@
uid://c0tyivmiouctw
+6 -3
View File
@@ -109,7 +109,7 @@ func calculate_plant_score(
return data.get_score(with_state)
func harvest():
for i in range(data.get_seed_number()):
for i in range(data.get_random_seed_income()):
produce_seed()
if data.get_state() == PlantData.State.MATURE:
@@ -136,7 +136,7 @@ func mature():
func die():
for m in data.mutations:
m._start_dead_effect(self)
for i in range(data.get_seed_number()):
for i in range(data.get_random_seed_income()):
produce_seed()
disappear()
@@ -200,7 +200,10 @@ func card_info() -> CardInfo:
LIFETIME_ICON
),
CardStatInfo.new(
str(data.get_seed_number()),
"%d-%d" % [
data.get_seed_number(PlantData.State.MATURE) - data.get_seed_random_loose(),
data.get_seed_number(PlantData.State.MATURE)
],
SEED_ICON
),
])
+5 -5
View File
@@ -116,11 +116,11 @@ func get_seed_random_loose():
func get_influence_radius():
return get_plant_info().get_influence_radius()
# func get_random_seed_income():
# return max(
# get_seed_number() - randi_range(0, get_seed_random_loose()),
# 0
# )
func get_random_seed_income():
return max(
get_seed_number() - randi_range(0, get_seed_random_loose()),
0
)
func get_lifetime_buff() -> int:
var buff = 0
-17
View File
@@ -74,23 +74,6 @@ func get_level_for_rarity(rarity: int) -> int:
func get_rarity() -> int:
return get_base_rarity() + level - 1
func card_info() -> CardInfo:
var info = CardInfo.new(
get_mutation_name(),
tr("MUTATION")
)
info.important_stat_icon = get_icon()
var desc_section := CardSectionInfo.new(
tr("DESCRIPTION"),
get_mutation_description(),
)
desc_section.title_icon = InspectableEntity.DESC_ICON
info.sections.append(desc_section)
return info
func card_section() -> CardSectionInfo:
var section = CardSectionInfo.new(
get_mutation_name() + (" %d" % level if level > 1 else ""),
@@ -1,4 +1,3 @@
@tool
extends PlantMutation
class_name AncientMutation
+15 -12
View File
@@ -41,7 +41,7 @@ static func generate_from_parent(plant_data : PlantData) -> Seed:
static func generate_random(rarity := 0) -> Seed:
var new_seed = Seed.new(
Random.generate_random_word(),
generate_first_mutations(rarity),
[generate_first_mutation(rarity)]
)
return new_seed
@@ -138,10 +138,7 @@ func get_particles() -> Array[EffectParticles.Parameters]:
return param
static func generate_first_mutations(rarity := 0) -> Array[PlantMutation]:
if rarity < 0:
return []
static func generate_first_mutation(rarity := 0) -> PlantMutation:
var possible_mutation : PlantMutation = GameInfo.game_data.progression_data.available_mutations.filter(
func (m : PlantMutation): return m.get_base_rarity() <= rarity
@@ -151,20 +148,26 @@ static func generate_first_mutations(rarity := 0) -> Array[PlantMutation]:
possible_mutation.level += level_to_add
return [possible_mutation]
return possible_mutation
static func mutate_mutations(mutations : Array[PlantMutation]) -> Array[PlantMutation]:
var mutation_possibility : Array[MutationPossibility] = []
var mutation_possibility : Array[MutationPossibility] = [
AddMutation.new()
]
if (
len(mutations) < GameInfo.game_data.current_run.plant_info.get_mutation_max_number()
len(mutations) >= GameInfo.game_data.current_run.plant_info.get_mutation_max_number()
):
mutation_possibility.append(AddMutation.new())
mutation_possibility = [
UpgradeMutation.new(),
]
elif len(mutations) > 0:
mutation_possibility = [
AddMutation.new(),
UpgradeMutation.new(),
]
if len(mutations) > 0:
mutation_possibility.append(UpgradeMutation.new())
var chosen_mutation_possibility = mutation_possibility.pick_random()
return chosen_mutation_possibility.mutate(mutations)
+1 -2
View File
@@ -64,8 +64,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.253273, 0)
shape = SubResource("CapsuleShape3D_eodxe")
[node name="OmniLight3D" type="OmniLight3D" parent="." unique_id=1818490710]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.0989037e-09, -0.25222805, 0.025139987)
shadow_enabled = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7901894e-08, -0.25222805, 0.6383209)
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1210282091]
+51 -48
View File
@@ -1,5 +1,55 @@
[preset.0]
name="Web"
platform="Web"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path=".export/web/index.html"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
patch_delta_min_reduction=0.1
patch_delta_include_filters="*"
patch_delta_exclude_filters=""
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
variant/thread_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
html/custom_html_shell=""
html/head_include=""
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=false
progressive_web_app/ensure_cross_origin_isolation_headers=true
progressive_web_app/offline_page=""
progressive_web_app/display=1
progressive_web_app/orientation=0
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)
threads/emscripten_pool_size=8
threads/godot_pool_size=4
[preset.1]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
@@ -22,7 +72,7 @@ encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
[preset.1.options]
custom_template/debug=""
custom_template/release=""
@@ -69,50 +119,3 @@ Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorActi
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
Remove-Item -Recurse -Force '{temp_dir}'"
[preset.1]
name="Linux"
platform="Linux"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path=".export/steam/content_builder/content/linux/Seeding The Wasteland.x86_64"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
patch_delta_min_reduction=0.1
patch_delta_include_filters="*"
patch_delta_exclude_filters=""
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.1.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
shader_baker/enabled=false
binary_format/architecture="x86_64"
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
export DISPLAY=:0
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
\"{temp_dir}/{exe_name}\" {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
pkill -x -f \"{temp_dir}/{exe_name} {cmd_args}\"
rm -rf \"{temp_dir}\""
+3 -8
View File
@@ -4,7 +4,6 @@
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="2_luv2b"]
[ext_resource type="Texture2D" uid="uid://cdpqg3pkjcw2h" path="res://stages/title_screen/assets/textures/title.png" id="3_urbel"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_5k6jv"]
[ext_resource type="PackedScene" uid="uid://bpy6sqa71gcfm" path="res://gui/credits/socials/survey.tscn" id="5_5k6jv"]
[ext_resource type="PackedScene" uid="uid://bc3byq8e45ejj" path="res://gui/credits/socials/steam.tscn" id="5_luv2b"]
[ext_resource type="PackedScene" uid="uid://c8flevrkelpvy" path="res://gui/credits/socials/instagram.tscn" id="5_yknhu"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="7_urbel"]
@@ -63,17 +62,13 @@ text = "THANKS_FOR_PLAYING"
label_settings = ExtResource("4_5k6jv")
horizontal_alignment = 1
[node name="SurveyButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=1337726269 instance=ExtResource("5_5k6jv")]
layout_mode = 2
size_flags_horizontal = 4
[node name="InstagramButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=68880754 instance=ExtResource("5_yknhu")]
layout_mode = 2
[node name="SteamButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=1181450581 instance=ExtResource("5_luv2b")]
layout_mode = 2
link = "https://store.steampowered.com/app/4444510/Seeding_The_Wasteland/"
[node name="InstagramButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=68880754 instance=ExtResource("5_yknhu")]
layout_mode = 2
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/GridContainer" unique_id=105267250]
layout_mode = 2
size_flags_horizontal = 3
+1 -2
View File
@@ -41,9 +41,8 @@ corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[node name="SteamButton" type="Button" unique_id=1181450581]
offset_top = 1.0
offset_right = 447.0
offset_bottom = 43.0
offset_bottom = 42.0
size_flags_horizontal = 4
theme = ExtResource("1_emeyy")
theme_override_constants/icon_max_width = 30
-54
View File
@@ -1,54 +0,0 @@
[gd_scene format=3 uid="uid://bpy6sqa71gcfm"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="1_8xrox"]
[ext_resource type="Texture2D" uid="uid://dth2mj0nh2q70" path="res://common/icons/align-right.svg" id="2_5d2f4"]
[ext_resource type="Script" uid="uid://bkbcl77m28sfv" path="res://gui/credits/socials/scripts/link_button.gd" id="3_fvgn8"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8xrox"]
bg_color = Color(0.54509807, 0.1764706, 1, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0.54509807, 0.1764706, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5d2f4"]
bg_color = Color(0.6256068, 0.4293661, 1, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0.54509807, 0.1764706, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fvgn8"]
bg_color = Color(0.627451, 0.42745098, 1, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0.627451, 0.42745098, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[node name="SurveyButton" type="Button" unique_id=1337726269]
size_flags_horizontal = 8
theme = ExtResource("1_8xrox")
theme_override_constants/icon_max_width = 30
theme_override_font_sizes/font_size = 20
theme_override_styles/normal = SubResource("StyleBoxFlat_8xrox")
theme_override_styles/pressed = SubResource("StyleBoxFlat_5d2f4")
theme_override_styles/hover = SubResource("StyleBoxFlat_fvgn8")
text = "TAKE_A_QUICK_SURVEY"
icon = ExtResource("2_5d2f4")
script = ExtResource("3_fvgn8")
link = "https://docs.google.com/forms/d/e/1FAIpQLScExc77ra_xGPFbaSYsXy-T9THceIc4fcbnhih-1Zlvysdcnw/viewform?usp=dialog"
@@ -2,6 +2,12 @@
[ext_resource type="Script" uid="uid://bqdylb4maacf0" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.gd" id="1_tu40u"]
[ext_resource type="Script" uid="uid://oxcjhq2817c7" path="res://addons/dialogic/Modules/Background/node_background_holder.gd" id="2_ghan2"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="2_v1ioh"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_v1ioh"]
shader = ExtResource("2_v1ioh")
shader_parameter/strength = 3.3
shader_parameter/mix_percentage = 0.3
[node name="BackgroundLayer" type="Control" unique_id=421215061]
layout_direction = 2
@@ -14,7 +20,7 @@ grow_vertical = 2
script = ExtResource("1_tu40u")
[node name="DialogicNode_BackgroundHolder_Blur" type="ColorRect" parent="." unique_id=726280929]
modulate = Color(1, 1, 1, 0.8)
material = SubResource("ShaderMaterial_v1ioh")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -22,5 +28,4 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0.0627451, 0.05882353, 0.16862746, 1)
script = ExtResource("2_ghan2")
+9 -26
View File
@@ -2,6 +2,7 @@
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="1_0ssee"]
[ext_resource type="Script" uid="uid://bvb4v66bqteuc" path="res://gui/game/announce/scripts/announce.gd" id="1_4evne"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="2_b6hac"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="2_iwcrn"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="3_7nrno"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_aao0q"]
@@ -9,6 +10,11 @@
[ext_resource type="Script" uid="uid://bqisp5hjs06rj" path="res://gui/game/announce/scripts/announce_inspectable.gd" id="6_aao0q"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="9_b6hac"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_f0v68"]
shader = ExtResource("2_b6hac")
shader_parameter/strength = 5.00000023424012
shader_parameter/mix_percentage = 0.3
[sub_resource type="ViewportTexture" id="ViewportTexture_huxc5"]
viewport_path = NodePath("Particles/SubViewport")
@@ -79,18 +85,6 @@ tracks/3/keys = {
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("MarginContainer/BackgroundRect:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_b6hac"]
resource_name = "appear"
@@ -143,18 +137,6 @@ tracks/3/keys = {
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("MarginContainer/BackgroundRect:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.03333333, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6qyp1"]
_data = {
@@ -173,7 +155,8 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="BackgroundRect" type="ColorRect" parent="MarginContainer" unique_id=1271832904]
[node name="BlurRect" type="ColorRect" parent="MarginContainer" unique_id=1271832904]
material = SubResource("ShaderMaterial_f0v68")
layout_mode = 2
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
@@ -248,7 +231,7 @@ size = Vector2i(300, 300)
[node name="AnnouceObject" type="Node3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=986671004]
unique_name_in_owner = true
transform = Transform3D(0.5251642, 0.51167643, -0.6798119, -0.8508927, 0.32199714, -0.4149924, 0.0065870024, 0.7963845, 0.6045711, 0, 0, 0)
transform = Transform3D(-0.4963247, -0.7514756, 0.43456152, -0.8508927, 0.32199714, -0.4149924, 0.17189625, -0.57574874, -0.79934174, 0, 0, 0)
[node name="Camera3D" type="Camera3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1788331074]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
+5 -5
View File
@@ -155,11 +155,11 @@ theme_override_fonts/normal_font = ExtResource("6_2wykm")
theme_override_fonts/bold_font = ExtResource("6_2wykm")
theme_override_fonts/bold_italics_font = ExtResource("6_2wykm")
theme_override_fonts/italics_font = ExtResource("6_2wykm")
theme_override_font_sizes/normal_font_size = 40
theme_override_font_sizes/bold_font_size = 40
theme_override_font_sizes/bold_italics_font_size = 40
theme_override_font_sizes/italics_font_size = 40
theme_override_font_sizes/mono_font_size = 40
theme_override_font_sizes/normal_font_size = 30
theme_override_font_sizes/bold_font_size = 30
theme_override_font_sizes/bold_italics_font_size = 30
theme_override_font_sizes/italics_font_size = 30
theme_override_font_sizes/mono_font_size = 30
bbcode_enabled = true
text = "Action en cours Action en cours Action en cours Action en cours Action en cours "
fit_content = true
@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://mrw23oxsai10" path="res://gui/game/inventory_gui/inventory_item/scripts/inventory_item_3d.gd" id="1_nsad1"]
[ext_resource type="PackedScene" uid="uid://oktd71knql00" path="res://gui/game/inventory_gui/assets/3d/item_screen.blend" id="2_1uxm0"]
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="2_hv1tg"]
[ext_resource type="Script" uid="uid://bq7admu4ahs5r" path="res://entities/player/inventory/scripts/item.gd" id="3_ixa47"]
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="5_g1uf8"]
[ext_resource type="Texture2D" uid="uid://ds4m14vl7he6v" path="res://common/icons/pick.svg" id="6_jdjjl"]
@@ -59,12 +60,14 @@ texture = SubResource("GradientTexture2D_g1uf8")
[node name="ItemScreen" type="Sprite3D" parent="." unique_id=1128109703]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.08962244)
visible = false
transparent = false
texture = SubResource("GradientTexture2D_jdjjl")
[node name="ToolScreen" type="Sprite3D" parent="." unique_id=1384339729]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.08962244)
visible = false
transparent = false
texture = SubResource("GradientTexture2D_gj8fm")
@@ -73,40 +76,20 @@ unique_name_in_owner = true
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0.004884802, -0.0937915)
modulate = Color(1, 1, 1, 0.3)
pixel_size = 0.0020833334
texture = ExtResource("2_hv1tg")
[node name="ParticleSprites" type="Node3D" parent="." unique_id=427396867]
[node name="ParticleSprite1" type="Sprite3D" parent="." unique_id=811884632]
unique_name_in_owner = true
[node name="ParticleSprite1" type="Sprite3D" parent="ParticleSprites" unique_id=811884632]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.04235574, -0.03381054, -0.105405755)
pixel_size = 0.001
texture = ExtResource("5_g1uf8")
[node name="ParticleSprite2" type="Sprite3D" parent="ParticleSprites" unique_id=1076243108]
[node name="ParticleSprite2" type="Sprite3D" parent="." unique_id=1076243108]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.042, -0.034, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="ParticleSprite3" type="Sprite3D" parent="ParticleSprites" unique_id=490761808]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0029564463, -0.034, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="ParticleSprite4" type="Sprite3D" parent="ParticleSprites" unique_id=1224179780]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.04235574, 0.04323736, -0.105405755)
pixel_size = 0.001
texture = ExtResource("5_g1uf8")
[node name="ParticleSprite5" type="Sprite3D" parent="ParticleSprites" unique_id=241043116]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.042, 0.043047898, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="ParticleSprite6" type="Sprite3D" parent="ParticleSprites" unique_id=1794865960]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0029564463, 0.043047898, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="Area3D" type="Area3D" parent="." unique_id=426596211]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" unique_id=2020875183]
@@ -19,9 +19,10 @@ func _ready():
func set_item(i : Item = item):
item = i
if is_node_ready():
for c in %ParticleSprites.get_children():
c.visible = false
c.modulate = Color.WHITE
%ParticleSprite1.visible = false
%ParticleSprite2.visible = false
%ParticleSprite1.modulate = Color.WHITE
%ParticleSprite2.modulate = Color.WHITE
%ItemIconSprite.texture = null
if i and i.icon:
@@ -29,11 +30,15 @@ func set_item(i : Item = item):
%ItemIconSprite.pixel_size = SPRITE_SIZE / i.icon.get_width()
for j in range(len(i.get_particles())):
if j < 6:
var sprite = %ParticleSprites.get_children()[j] as Sprite3D
sprite.visible = true
sprite.texture = i.get_particles()[j].texture
sprite.modulate = i.get_particles()[j].color
if j == 0:
%ParticleSprite1.visible = true
%ParticleSprite1.texture = i.get_particles()[j].texture
%ParticleSprite1.modulate = i.get_particles()[j].color
if j == 1:
%ParticleSprite2.visible = true
%ParticleSprite2.texture = i.get_particles()[j].texture
%ParticleSprite2.modulate = i.get_particles()[j].color
func set_state(s := state):
+12 -4
View File
@@ -1,6 +1,8 @@
[gd_scene format=3 uid="uid://yk78ubpu5ghq"]
[ext_resource type="Script" uid="uid://2qomrdxbvxqa" path="res://gui/game/pass_day/scripts/pass_day.gd" id="1_0pm4g"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="1_v570a"]
[ext_resource type="Script" uid="uid://i7glvbe8pdr8" path="res://gui/game/pass_day/scripts/pass_day_background.gd" id="2_bhfpo"]
[ext_resource type="PackedScene" uid="uid://brfsapvj2quxm" path="res://gui/game/energy_info/energy_info.tscn" id="2_feyaf"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="4_0pm4g"]
[ext_resource type="Script" uid="uid://0dhj8sdpil7q" path="res://gui/tools/control_animation_player.gd" id="5_dqmg8"]
@@ -8,6 +10,11 @@
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="7_h2bel"]
[ext_resource type="Texture2D" uid="uid://cihiibon53147" path="res://gui/game/pass_day/assets/day_night_sprite.svg" id="7_m84xg"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_27lg1"]
shader = ExtResource("1_v570a")
shader_parameter/strength = 0.0
shader_parameter/mix_percentage = 0.0
[sub_resource type="LabelSettings" id="LabelSettings_rn4dm"]
font = ExtResource("7_h2bel")
font_size = 25
@@ -53,21 +60,22 @@ _data = {
[node name="PassDay" type="CanvasLayer" unique_id=335255544]
layer = 3
visible = false
script = ExtResource("1_0pm4g")
[node name="Background" type="ColorRect" parent="." unique_id=527935985]
[node name="Blur" type="ColorRect" parent="." unique_id=546890405]
unique_name_in_owner = true
physics_interpolation_mode = 0
material = SubResource("ShaderMaterial_27lg1")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.0627451, 0.05882353, 0.16862746, 1)
mouse_filter = 2
script = ExtResource("2_bhfpo")
[node name="PassDayInfo" type="VBoxContainer" parent="." unique_id=833110506]
unique_name_in_owner = true
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+23 -8
View File
@@ -2,6 +2,8 @@
extends CanvasLayer
class_name PassDay
const BLUR_STRENGTH = 10
const BLUR_MIX_PERCENTAGE = 0.8
const TIME_BY_ENERGY = 0.3
const TIME_MARGIN = 0.2
@@ -24,8 +26,8 @@ var is_animation_disappeared := false
func _ready():
hide()
setup_energy_values()
%Blur.show()
%PassDayInfo.hide()
%Background.modulate.a = 0.
func _process(delta):
if recharging:
@@ -72,33 +74,46 @@ func pass_day_animation():
func appear():
show()
add_tween(
"modulate:a",
%Background,
1.,
"blur_mix_percentage",
%Blur,
BLUR_MIX_PERCENTAGE,
0.5
)
await add_tween(
add_tween(
"modulate:a",
%NightAnimation,
1.,
0.5
)
await add_tween(
"blur_strength",
%Blur,
BLUR_STRENGTH,
0.5
).finished
await %PassDayInfoAnimationPlayer.appear()
func disappear():
await %PassDayInfoAnimationPlayer.disappear()
add_tween(
"modulate:a",
%Background,
"blur_mix_percentage",
%Blur,
0.0,
0.5
)
await add_tween(
add_tween(
"modulate:a",
%NightAnimation,
0.,
0.5
)
await add_tween(
"blur_strength",
%Blur,
0.1,
0.5
).finished
hide()
+11 -38
View File
@@ -60,6 +60,13 @@ var success = false
func(i:Item): return i is Seed
) != -1)
),
Step.new(
"DROP_SEED_WITH_KEY",
(func ():
return (
Input.is_action_pressed("drop"))
)
),
Step.new(
"PLANT_SEED_IN_FERTILE_ZONE",
(func ():
@@ -82,30 +89,13 @@ var success = false
if e is Plant and e.harvested:
return true
return false)
),
Step.new(
"TAKE_HARVESTED_SEEDS",
(func ():
for s in player.data.inventory.seeds:
if s is Seed and len(s.plant_mutations) > 0:
display_mutations_tutorial(s.card_info())
return true
return false),
),
Step.new(
"DROP_SEED_WITH_KEY",
(func ():
return (
Input.is_action_pressed("drop"))
)
),
)
]
func _ready():
setup_gui()
show()
%PlantInfoTutorial.hide()
%MutationTutorial.hide()
func setup_gui():
for s in %Steps.get_children():
@@ -146,36 +136,19 @@ func finish_tutorial():
success = true
func display_plant_info_tutorial(with_card_info : CardInfo):
%PlantInfoCard.info = with_card_info
%PlantCard.info = with_card_info
AudioManager.play_sfx("Reveal")
%PlantInfoCard.update()
%PlantCard.update()
%PlantInfoTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func display_mutations_tutorial(with_card_info : CardInfo):
%MutationCard.info = with_card_info
AudioManager.play_sfx("Reveal")
%MutationCard.update()
%MutationTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func _on_plant_info_ok_button_button_down():
func _on_ok_button_button_down():
%PlantInfoTutorialAnimationPlayer.play_backwards("appear")
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
func _on_mutation_ok_button_button_down():
%MutationTutorialAnimationPlayer.play_backwards("appear")
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
class Step:
var text : String : get = get_text
+11 -128
View File
@@ -4,6 +4,7 @@
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="2_1wikm"]
[ext_resource type="Texture2D" uid="uid://1ynlp05wj0hm" path="res://common/icons/rocket.svg" id="3_8kuag"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_1wikm"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="5_5i4hd"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="6_hgus1"]
[ext_resource type="PackedScene" uid="uid://753270jjxmfg" path="res://gui/game/card/card.tscn" id="6_vg3tr"]
[ext_resource type="Texture2D" uid="uid://bgi4rc50par30" path="res://common/icons/arrow-narrow-right.svg" id="7_6k6bq"]
@@ -29,6 +30,11 @@ corner_radius_bottom_left = 20
font = ExtResource("4_1wikm")
font_size = 20
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pu6eb"]
shader = ExtResource("5_5i4hd")
shader_parameter/strength = 8.00000037674012
shader_parameter/mix_percentage = 0.3
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ebkn5"]
[sub_resource type="Resource" id="Resource_ditr3"]
@@ -93,18 +99,6 @@ tracks/2/keys = {
"update": 1,
"values": [1.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Background:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_58nqq"]
resource_name = "appear"
@@ -145,18 +139,6 @@ tracks/2/keys = {
"update": 0,
"values": [0.0, 1.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Background:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.06666667, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ebkn5"]
_data = {
@@ -218,7 +200,8 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Background" type="ColorRect" parent="PlantInfoTutorial" unique_id=35513528]
[node name="BlurRect" type="ColorRect" parent="PlantInfoTutorial" unique_id=35513528]
material = SubResource("ShaderMaterial_pu6eb")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -305,7 +288,7 @@ layout_mode = 2
theme_override_constants/separation = 30
theme_override_styles/separator = SubResource("StyleBoxEmpty_ebkn5")
[node name="PlantInfoCard" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=1085885349 instance=ExtResource("6_vg3tr")]
[node name="PlantCard" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=1085885349 instance=ExtResource("6_vg3tr")]
unique_name_in_owner = true
custom_minimum_size = Vector2(350, 0)
layout_mode = 2
@@ -342,7 +325,6 @@ horizontal_alignment = 2
vertical_alignment = 1
[node name="HBoxContainer2" type="HBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=2062134463]
visible = false
layout_mode = 2
alignment = 1
@@ -362,7 +344,7 @@ scroll_active = false
horizontal_alignment = 2
vertical_alignment = 1
[node name="PlantInfoOkButton" type="Button" parent="PlantInfoTutorial/MarginContainer" unique_id=1684351093]
[node name="OkButton" type="Button" parent="PlantInfoTutorial/MarginContainer" unique_id=1684351093]
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("18_6k6bq")
@@ -372,103 +354,4 @@ text = "OK"
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_ebkn5")
[node name="MutationTutorial" type="Control" parent="." unique_id=722588851]
unique_name_in_owner = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Background" type="ColorRect" parent="MutationTutorial" unique_id=250614963]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.037180007, 0.020800002, 0.13, 1)
[node name="MarginContainer" type="VBoxContainer" parent="MutationTutorial" unique_id=1821562698]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 12
alignment = 1
[node name="Title" type="Label" parent="MutationTutorial/MarginContainer" unique_id=1928457691]
layout_mode = 2
text = "MUTATIONS"
label_settings = ExtResource("6_hgus1")
horizontal_alignment = 1
[node name="Subtitle" type="Label" parent="MutationTutorial/MarginContainer" unique_id=1467489572]
layout_mode = 2
text = "SEEDS_HAVE_A_CHANCE_TO_GAIN_MUTATIONS"
horizontal_alignment = 1
[node name="GridContainer" type="GridContainer" parent="MutationTutorial/MarginContainer" unique_id=386984353]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
columns = 3
[node name="VBoxContainer3" type="VBoxContainer" parent="MutationTutorial/MarginContainer/GridContainer" unique_id=2005513108]
layout_mode = 2
[node name="HSeparator" type="HSeparator" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=593977172]
layout_mode = 2
theme_override_constants/separation = 30
theme_override_styles/separator = SubResource("StyleBoxEmpty_ebkn5")
[node name="MutationCard" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=1165095240 instance=ExtResource("6_vg3tr")]
unique_name_in_owner = true
custom_minimum_size = Vector2(350, 0)
layout_mode = 2
info = SubResource("Resource_puixe")
[node name="VBoxContainer2" type="VBoxContainer" parent="MutationTutorial/MarginContainer/GridContainer" unique_id=494292951]
layout_mode = 2
theme_override_constants/separation = 8
[node name="HSeparator" type="HSeparator" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=331005698]
layout_mode = 2
theme_override_constants/separation = 120
theme_override_styles/separator = SubResource("StyleBoxEmpty_ebkn5")
[node name="HBoxContainer2" type="HBoxContainer" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=781597357]
layout_mode = 2
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer2" unique_id=281613573]
layout_mode = 2
size_flags_vertical = 4
texture = ExtResource("17_58nqq")
stretch_mode = 5
[node name="Label2" type="RichTextLabel" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer2" unique_id=1347221574]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
bbcode_enabled = true
text = "PLANT_MUTATION_TEXT"
fit_content = true
scroll_active = false
horizontal_alignment = 2
vertical_alignment = 1
[node name="MutationOkButton" type="Button" parent="MutationTutorial/MarginContainer" unique_id=1316064682]
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("18_6k6bq")
text = "OK"
[node name="MutationTutorialAnimationPlayer" type="AnimationPlayer" parent="MutationTutorial" unique_id=127058676]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_ebkn5")
[connection signal="button_down" from="PlantInfoTutorial/MarginContainer/PlantInfoOkButton" to="." method="_on_plant_info_ok_button_button_down"]
[connection signal="button_down" from="MutationTutorial/MarginContainer/MutationOkButton" to="." method="_on_mutation_ok_button_button_down"]
[connection signal="button_down" from="PlantInfoTutorial/MarginContainer/OkButton" to="." method="_on_ok_button_button_down"]
+2
View File
@@ -177,10 +177,12 @@ vertical_alignment = 1
[node name="Settings" parent="." unique_id=758381952 instance=ExtResource("4_58dya")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="Controls" parent="." unique_id=358658336 instance=ExtResource("11_urlqn")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1779993260]
+3 -4
View File
@@ -16,7 +16,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
config/name="Seeding The Wasteland"
config/description="Seeding planets is a survival, managment and cosy game in which you play a little gardener robot."
config/version="beta-1.3"
config/version="beta-1"
run/main_scene="uid://c5bruelvqbm1k"
config/features=PackedStringArray("4.6", "Forward Plus")
config/icon="uid://df0y0s666ui4h"
@@ -45,7 +45,6 @@ directories/dch_directory={
"mysterious_demeter": "res://dialogs/characters/mysterious_demeter.dch"
}
directories/dtl_directory={
"cave": "res://dialogs/timelines/astra/cave.dtl",
"mercury_arrival": "res://dialogs/timelines/astra/mercury_arrival.dtl",
"mercury_departure": "res://dialogs/timelines/mercury/mercury_departure.dtl",
"tutorial/demeter_intro": "res://dialogs/timelines/tutorial/demeter_intro.dtl",
@@ -111,7 +110,7 @@ variables={
"whoareyou": "false",
"whynorth": "false"
}
translation/id_counter=236
translation/id_counter=228
translation/locales=[]
history/visited_event_history_enabled=true
audio/type_sound_bus="Sfx"
@@ -247,7 +246,7 @@ zoom_out={
[internationalization]
locale/translation_remaps={}
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.fr.translation", "res://translation/dialogs/dialogic_mercury_arrival_translation.en.translation", "res://translation/dialogs/dialogic_mercury_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_mercury_departure_translation.en.translation", "res://translation/dialogs/dialogic_mercury_departure_translation.fr.translation", "res://translation/dialogs/dialogic_venus_arrival_translation.en.translation", "res://translation/dialogs/dialogic_venus_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_venus_departure_translation.en.translation", "res://translation/dialogs/dialogic_venus_departure_translation.fr.translation", "res://translation/dialogs/dialogic_cave_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.fr.translation")
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.fr.translation", "res://translation/dialogs/dialogic_mercury_arrival_translation.en.translation", "res://translation/dialogs/dialogic_mercury_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_mercury_departure_translation.en.translation", "res://translation/dialogs/dialogic_mercury_departure_translation.fr.translation", "res://translation/dialogs/dialogic_venus_arrival_translation.en.translation", "res://translation/dialogs/dialogic_venus_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_venus_departure_translation.en.translation", "res://translation/dialogs/dialogic_venus_departure_translation.fr.translation")
locale/test="fr"
[rendering]
@@ -3,7 +3,7 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b83v0uxiukmbb"
uid="uid://bqo4uknlbm8r1"
path="res://.godot/imported/borea_base.blend-16b097cf97b3f00cfa1bc1f2c346e23b.scn"
[deps]
@@ -39,10 +39,10 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"Glass": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
"use_external/fallback_path": "res://common/assets/materials/glass_3d.tres",
"use_external/path": "uid://b5vlcdry8vtgi"
},
"Material": {
"use_external/enabled": true,
File diff suppressed because it is too large Load Diff
@@ -1,10 +1,22 @@
extends Node3D
const OUTRO_TIMELINE_PATH = "res://dialogs/timelines/tutorial/demeter_outro.dtl"
# Called when the node enters the scene tree for the first time.
func _ready():
if not Engine.is_editor_hint():
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
%Credits.hide()
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
await %Phone.clicked
Dialogic.start(OUTRO_TIMELINE_PATH)
await Dialogic.timeline_ended
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
%Credits.show()
AudioManager.play_music("Demo_end", false, 5.0)
AudioManager.stop_all_ambiances()
func _on_ambiance_change_detector_body_entered(body: Node3D):
if body is Player3D:
AudioManager.stop_all_ambiances()
AudioManager.play_music("Demo_end", false, 5.0)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
@@ -1 +1 @@
uid://c37uqdnr2himm
uid://btc447j47jbx0
Binary file not shown.
@@ -1,83 +0,0 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://5uvl5axgq3sc"
path="res://.godot/imported/cave.blend-82b768166e23ecf41c7d4afccb695695.scn"
[deps]
source_file="res://stages/3d_scenes/cave/3d/cave.blend"
dest_files=["res://.godot/imported/cave.blend-82b768166e23ecf41c7d4afccb695695.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
},
"GlassMaterial": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/glass_3d.tres",
"use_external/path": "uid://b5vlcdry8vtgi"
},
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
},
"Material.001": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
Binary file not shown.
-146
View File
@@ -1,146 +0,0 @@
[gd_scene format=3 uid="uid://d0fr68xaapsq7"]
[ext_resource type="Script" uid="uid://bj4d1x8n8ina" path="res://entities/interactable_3d/interactable_3d.gd" id="1_w6igl"]
[ext_resource type="Script" uid="uid://mn05jq4ekx62" path="res://stages/3d_scenes/cave/scripts/cave.gd" id="1_xlbt6"]
[ext_resource type="PackedScene" uid="uid://5uvl5axgq3sc" path="res://stages/3d_scenes/cave/3d/cave.blend" id="2_xlbt6"]
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="3_663fy"]
[ext_resource type="PackedScene" uid="uid://8rorj31s3irn" path="res://entities/interactable_3d/cristal/cristal.tscn" id="4_663fy"]
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="6_rdddd"]
[sub_resource type="Environment" id="Environment_x7awc"]
background_mode = 2
sky_custom_fov = 61.7
ambient_light_source = 3
ambient_light_color = Color(1, 1, 1, 1)
ambient_light_sky_contribution = 0.18
ambient_light_energy = 2.62
reflected_light_source = 2
tonemap_mode = 2
tonemap_exposure = 0.7
tonemap_white = 1.84
glow_enabled = true
glow_intensity = 0.22
glow_bloom = 0.22
glow_hdr_threshold = 0.79
glow_hdr_scale = 0.0
glow_hdr_luminance_cap = 5.63
fog_mode = 1
fog_light_color = Color(0.13725491, 0.39215687, 0.6666667, 1)
fog_light_energy = 1.48
fog_density = 0.0231
fog_aerial_perspective = 0.113
fog_sky_affect = 0.0
volumetric_fog_sky_affect = 0.0
adjustment_enabled = true
adjustment_saturation = 1.3
[sub_resource type="Animation" id="Animation_pxmsf"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite3D:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.99999994, 1, 0.99999994)]
}
[sub_resource type="Animation" id="Animation_u7lr8"]
resource_name = "hover"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite3D:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.46666667, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0.99999994, 1, 0.99999994), Vector3(1.2, 1.2, 1.2), Vector3(0.99999994, 1, 0.99999994)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mmomx"]
_data = {
&"RESET": SubResource("Animation_pxmsf"),
&"hover": SubResource("Animation_u7lr8")
}
[sub_resource type="BoxShape3D" id="BoxShape3D_6rmeu"]
size = Vector3(2.2807465, 0.83758545, 2.7016602)
[node name="Cave" type="Node3D" unique_id=122920060]
script = ExtResource("1_xlbt6")
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1672352734]
environment = SubResource("Environment_x7awc")
[node name="Lights" type="Node3D" parent="." unique_id=1491734303]
[node name="OmniLight3D" type="OmniLight3D" parent="Lights" unique_id=2015091523]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.124447, 2.974639, 1.201046)
omni_range = 16.327286
[node name="CaveModel" parent="." unique_id=741350561 instance=ExtResource("2_xlbt6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.573945, 0, 1.5022337)
[node name="OmniLight3D" type="OmniLight3D" parent="CaveModel" unique_id=2145888223]
transform = Transform3D(0.99998826, 0, 0.0048519964, 0, 1, 0, -0.0048519964, 0, 0.99998826, -188.65979, -23.91176, -55.256798)
light_color = Color(1, 0.6509804, 0.09019608, 1)
light_energy = 7.209
shadow_enabled = true
omni_range = 191.9335
[node name="OmniLight3D2" type="OmniLight3D" parent="CaveModel" unique_id=262552402]
transform = Transform3D(0.99998826, 0, 0.0048519964, 0, 1, 0, -0.0048519964, 0, 0.99998826, -193.10031, 1.3168697, 78.69277)
light_color = Color(1, 0.6509804, 0.09019608, 1)
light_energy = 7.209
shadow_enabled = true
omni_range = 191.9335
[node name="OmniLight3D3" type="OmniLight3D" parent="CaveModel" unique_id=882541987]
transform = Transform3D(0.99998826, 0, 0.0048519964, 0, 1, 0, -0.0048519964, 0, 0.99998826, -429.2623, -7.898775, 57.456047)
light_color = Color(1, 0.6509804, 0.09019608, 1)
light_energy = 7.209
shadow_enabled = true
omni_range = 191.9335
[node name="OmniLight3D4" type="OmniLight3D" parent="CaveModel" unique_id=477937802]
transform = Transform3D(0.99998826, 0, 0.0048519964, 0, 1, 0, -0.0048519964, 0, 0.99998826, -331.67422, 8.754509, -34.622234)
light_color = Color(1, 0.6509804, 0.09019608, 1)
light_energy = 7.209
shadow_enabled = true
omni_range = 191.9335
[node name="Cristal" parent="." unique_id=1403604311 instance=ExtResource("4_663fy")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3711878, -0.010157108, 1.5553656)
[node name="Exit" type="Area3D" parent="." unique_id=1854281092 node_paths=PackedStringArray("hover_animation_player")]
unique_name_in_owner = true
transform = Transform3D(4.371139e-08, -1, -8.742278e-08, -1, -4.371139e-08, 0, -3.821371e-15, 8.742278e-08, -1, 9.429194, 1.3403461, 1.9387968)
script = ExtResource("1_w6igl")
hover_animation_player = NodePath("HoverAnimationPlayer")
metadata/_custom_type_script = "uid://bj4d1x8n8ina"
[node name="Sprite3D" type="Sprite3D" parent="Exit" unique_id=880911016]
transform = Transform3D(-4.3711385e-08, -1, -4.3711385e-08, 0, -4.371139e-08, 0.99999994, -0.99999994, 4.371139e-08, 1.9106853e-15, 0.1646713, -0.017980576, 0)
pixel_size = 0.005
texture = ExtResource("6_rdddd")
[node name="HoverAnimationPlayer" type="AnimationPlayer" parent="Exit" unique_id=1644992802]
libraries/ = SubResource("AnimationLibrary_mmomx")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Exit" unique_id=1639583333]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.14810944, -0.081207275, 0.35961914)
shape = SubResource("BoxShape3D_6rmeu")
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("3_663fy")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 8.010997, 1.1516566, 1.5996395)
[connection signal="clicked" from="Exit" to="." method="_on_exit_clicked"]
-20
View File
@@ -1,20 +0,0 @@
extends Node3D
class_name Cave
func _ready():
if not Engine.is_editor_hint():
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
setup_room(10)
func setup_room(door_id : int):
var rng := RandomNumberGenerator.new()
rng.seed = door_id
%Cristal.broken.connect(
func ():
GameInfo.game_data.current_region_data.completed_doors.append(door_id)
);
func _on_exit_clicked():
SceneManager.change_to_scene(RegionScene.new(GameInfo.game_data.current_region_data))
@@ -1 +0,0 @@
uid://mn05jq4ekx62
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://7lw40nfj4lhl"
path="res://.godot/imported/dashboard_screenshot.png-497ed6906da9bb4e00209ea265f64ca1.ctex"
path="res://.godot/imported/Capture d'écran 2026-04-17 112838.png-64ef83d52ce9df1c5c41e85939ab8a4a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/dashboard_screenshot.png"
dest_files=["res://.godot/imported/dashboard_screenshot.png-497ed6906da9bb4e00209ea265f64ca1.ctex"]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 112838.png"
dest_files=["res://.godot/imported/Capture d'écran 2026-04-17 112838.png-64ef83d52ce9df1c5c41e85939ab8a4a.ctex"]
[params]
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d17ru4hw8okj1"
path="res://.godot/imported/objective_screenshot.png-b92431e401836a099382d2c5069658a3.ctex"
path="res://.godot/imported/Capture d'écran 2026-04-17 113002.png-0eb5866e63755f5d73921a67745288a0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/objective_screenshot.png"
dest_files=["res://.godot/imported/objective_screenshot.png-b92431e401836a099382d2c5069658a3.ctex"]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 113002.png"
dest_files=["res://.godot/imported/Capture d'écran 2026-04-17 113002.png-0eb5866e63755f5d73921a67745288a0.ctex"]
[params]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cc1lk4ei4flxs"
path="res://.godot/imported/empty_inventory_screenshot.png-139ea0dba0426e0f0c8ad7743c9059ac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/empty_inventory_screenshot.png"
dest_files=["res://.godot/imported/empty_inventory_screenshot.png-139ea0dba0426e0f0c8ad7743c9059ac.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: 158 KiB

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0x6r3010hvul"
path="res://.godot/imported/orchid_saver_screenshot.png-9e2871da6a274f9384dfce696db1bb4d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/orchid_saver_screenshot.png"
dest_files=["res://.godot/imported/orchid_saver_screenshot.png-9e2871da6a274f9384dfce696db1bb4d.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
+1 -8
View File
@@ -14,7 +14,6 @@
[ext_resource type="PackedScene" uid="uid://cd8j7v7qtybi8" path="res://stages/3d_scenes/cockpit_scene/ship_tutorial.tscn" id="13_u7lr8"]
[ext_resource type="Material" uid="uid://cr7bp4fhh1ipr" path="res://entities/player_3d/resources/materials/post_process_quad.tres" id="14_d1blr"]
[ext_resource type="PackedScene" uid="uid://ci4x1q326lvyy" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/mutation_discovered_screen/mutation_discovery_screen.tscn" id="15_q4ojn"]
[ext_resource type="PackedScene" uid="uid://cn2hob1i72a25" path="res://stages/3d_scenes/cockpit_scene/fail_tutorial.tscn" id="15_wrlf0"]
[ext_resource type="PackedScene" uid="uid://u3o5g8lmck74" path="res://entities/interactable_3d/orchid_saver/orchid_saver.tscn" id="16_nfjul"]
[ext_resource type="Texture2D" uid="uid://d3k7rl7nbp7yx" path="res://common/icons/device-floppy.svg" id="17_ggekp"]
[ext_resource type="PackedScene" uid="uid://blvetnnib2ks0" path="res://stages/3d_scenes/cockpit_scene/assets/3d/cockpit2.blend" id="17_omtjc"]
@@ -163,15 +162,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.239, 0, 4.02)
[node name="MutationDiscoveryScreen" parent="." unique_id=1948337200 instance=ExtResource("15_q4ojn")]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.1896521, 0.015508115, 3.982)
mutations_unlocked = 0
[node name="ShipTutorial" parent="." unique_id=868547496 node_paths=PackedStringArray("player") instance=ExtResource("13_u7lr8")]
[node name="ShipTutorial" parent="." unique_id=868547496 instance=ExtResource("13_u7lr8")]
unique_name_in_owner = true
player = NodePath("../Player3D")
[node name="FailTutorial" parent="." unique_id=190805806 node_paths=PackedStringArray("player") instance=ExtResource("15_wrlf0")]
unique_name_in_owner = true
player = NodePath("../Player3D")
[node name="TrailerCamera" type="Camera3D" parent="." unique_id=297848285]
unique_name_in_owner = true
@@ -34,7 +34,6 @@ font_size = 8
[node name="MutationDiscoveryScreen" type="Node3D" unique_id=1881622243]
script = ExtResource("1_cfhhl")
all_mutations = Array[ExtResource("2_dv1aj")]([SubResource("Resource_dv1aj"), SubResource("Resource_3q2hk"), SubResource("Resource_psve5"), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null])
mutations_unlocked = null
[node name="Sprite3D" type="Sprite3D" parent="." unique_id=1624784968]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -0.011004657, 0, 0)
@@ -4,7 +4,7 @@ extends Node3D
const MUTATION_DISCOVERY_ELEMENT_SCENE = preload("res://stages/3d_scenes/cockpit_scene/cockpit_elements/mutation_discovered_screen/mutation_discovery_element.tscn")
@export var all_mutations : Array[PlantMutation]
@export var mutations_unlocked : int
@export var available_mutations : Array[PlantMutation]
@export var planted_mutation_ids : Array[String]
@export_tool_button("Update", "Callable") var update_action = update
@@ -13,7 +13,7 @@ const MUTATION_DISCOVERY_ELEMENT_SCENE = preload("res://stages/3d_scenes/cockpit
func _ready():
if not Engine.is_editor_hint():
all_mutations = GameInfo.game_data.progression_data.all_mutations
mutations_unlocked = GameInfo.game_data.progression_data.mutations_unlocked
available_mutations = GameInfo.game_data.progression_data.available_mutations
planted_mutation_ids = GameInfo.game_data.progression_data.planted_mutation_ids
update()
@@ -23,8 +23,8 @@ func update():
c.queue_free()
for i in range(len(all_mutations)):
var el : MutationDiscoveryElement = MUTATION_DISCOVERY_ELEMENT_SCENE.instantiate() as MutationDiscoveryElement
if i < mutations_unlocked:
el.mutation = all_mutations[i]
if i < len(available_mutations):
el.mutation = available_mutations[i]
if el.mutation.get_mutation_id() in planted_mutation_ids:
el.state = MutationDiscoveryElement.State.DISCOVERED
else :
@@ -18,8 +18,10 @@ func update_plant_info():
%GrowingLabel.text = "%d" % plant_info.get_growing_time()
%GrowingStat.modulate = Color.WHITE if plant_info.get_growing_time() == plant_info.DEFAULT_GROWING_TIME else CHANGED_COLOR
%SeedLabel.text = str(plant_info.get_seed_number())
%SeedLabel.text = "%d-%d" % [
plant_info.get_seed_number() - plant_info.get_seed_random_loose(),
plant_info.get_seed_number()
]
%SeedStat.modulate = Color.WHITE if (
plant_info.get_seed_number() == plant_info.DEFAULT_SEED_NUMBER
and plant_info.get_seed_random_loose() == plant_info.DEFAULT_SEED_RANDOM_LOOSE
@@ -31,4 +33,4 @@ func update_plant_info():
%PlantMutationProbability.text = tr("PLANTS_MUTATION_CHANCE_IS_X_PERCENT").format({
"mutation_chance": roundi(plant_info.get_mutation_probability() * 100)
})
%PlantMutationProbability.modulate = Color.WHITE if plant_info.get_mutation_probability() == plant_info.DEFAULT_MUTATION_PROBABILITY else CHANGED_COLOR
%PlantMutationProbability.modulate = Color.WHITE if plant_info.get_mutation_probability() == plant_info.DEFAULT_MUTATION_PROBABILITY else CHANGED_COLOR
@@ -1,333 +0,0 @@
[gd_scene format=3 uid="uid://cn2hob1i72a25"]
[ext_resource type="Script" uid="uid://cqc8vta5ffmwt" path="res://stages/3d_scenes/cockpit_scene/scripts/ship_tutorial.gd" id="1_rymdr"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="2_46i67"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_liq62"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_wr0v8"]
[ext_resource type="PackedScene" uid="uid://bihsgpfqaiqml" path="res://entities/interactable_3d/orchid_saver/assets/3d/orchid_saver.blend" id="5_p3ndq"]
[ext_resource type="Texture2D" uid="uid://d0x6r3010hvul" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/orchid_saver_screenshot.png" id="5_rymdr"]
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="7_1fdaa"]
[ext_resource type="Texture2D" uid="uid://cc1lk4ei4flxs" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/empty_inventory_screenshot.png" id="8_46i67"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="9_xako4"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="10_dpqev"]
[sub_resource type="ViewportTexture" id="ViewportTexture_2y716"]
viewport_path = NodePath("Particles/SubViewport")
[sub_resource type="Curve" id="Curve_6olc8"]
_limits = [-200.0, 200.0, 0.0, 1.0]
_data = [Vector2(0, -200), 0.0, 560.0, 0, 0, Vector2(0.08235294, 92.384125), 1336.3082, 1336.3082, 0, 0, Vector2(0.34901965, 200), 0.0, 0.0, 0, 0, Vector2(0.854902, -200), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="Gradient" id="Gradient_cnkwc"]
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="LabelSettings" id="LabelSettings_n2u7g"]
font = ExtResource("3_liq62")
font_size = 50
font_color = Color(1, 0.6509804, 0.09019608, 1)
[sub_resource type="ViewportTexture" id="ViewportTexture_11pbi"]
viewport_path = NodePath("MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport")
[sub_resource type="Animation" id="Animation_2y716"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer/FailTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Particles:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MarginContainer/FailTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [12]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_6olc8"]
resource_name = "appear"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.13333334),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer/FailTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.2, 0.73333335),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Particles:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.2, 0.7),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MarginContainer/FailTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.26666665, 0.73333335),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [554, 8]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.16666667, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_cnkwc"]
_data = {
&"RESET": SubResource("Animation_2y716"),
&"appear": SubResource("Animation_6olc8")
}
[node name="FailTutorial" type="CanvasLayer" unique_id=868547496 node_paths=PackedStringArray("object_3d", "ok_button", "animation_player")]
script = ExtResource("1_rymdr")
object_3d = NodePath("MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport/orchid_saver")
ok_button = NodePath("MarginContainer/FailTutorialContainer/OkButton")
animation_player = NodePath("AnimationPlayer")
tutorial_name = "fail"
[node name="Background" type="ColorRect" parent="." unique_id=1582095070]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.037180007, 0.020800002, 0.13, 1)
[node name="Particles" type="TextureRect" parent="." unique_id=552383374]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -179.0
offset_top = -179.0
offset_right = 179.0
offset_bottom = 179.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_2y716")
expand_mode = 1
[node name="SubViewport" type="SubViewport" parent="Particles" unique_id=205461032]
transparent_bg = true
size = Vector2i(1000, 1000)
[node name="GPUParticles2D" type="CPUParticles2D" parent="Particles/SubViewport" unique_id=612988274]
position = Vector2(500, 500)
amount = 20
texture = ExtResource("2_46i67")
preprocess = 1.0
spread = 180.0
gravity = Vector2(0, 0)
initial_velocity_min = 2.0
initial_velocity_max = 2.0
linear_accel_min = 5.0
linear_accel_max = 5.0
linear_accel_curve = SubResource("Curve_6olc8")
color_ramp = SubResource("Gradient_cnkwc")
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1783612054]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="FailTutorialContainer" type="VBoxContainer" parent="MarginContainer" unique_id=732188526]
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="ShipTutorialText" type="Label" parent="MarginContainer/FailTutorialContainer" unique_id=1403992763]
unique_name_in_owner = true
layout_mode = 2
text = "OUT_OF_ENERGY"
label_settings = SubResource("LabelSettings_n2u7g")
horizontal_alignment = 1
[node name="ShipTutorialTitle" type="Label" parent="MarginContainer/FailTutorialContainer" unique_id=2022459650]
unique_name_in_owner = true
layout_mode = 2
text = "USE_THE_BACKUP_DEVICE_TO_RESPAWN_TO_LAST_BASE"
label_settings = ExtResource("4_wr0v8")
horizontal_alignment = 1
autowrap_mode = 3
[node name="GridContainer" type="GridContainer" parent="MarginContainer/FailTutorialContainer" unique_id=1001794244]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/h_separation = 35
columns = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/FailTutorialContainer/GridContainer" unique_id=1184100238]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer" unique_id=458438699]
layout_mode = 2
texture = ExtResource("5_rymdr")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer" unique_id=1193611093]
layout_mode = 2
bbcode_enabled = true
text = "STEP_ON_THE_DATA_SAVER_TEXT"
fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="OrchidSaverVisualiser" type="TextureRect" parent="MarginContainer/FailTutorialContainer/GridContainer" unique_id=692971472]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
mouse_filter = 0
texture = SubResource("ViewportTexture_11pbi")
stretch_mode = 5
[node name="SubViewport" type="SubViewport" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser" unique_id=1153633037]
own_world_3d = true
transparent_bg = true
size = Vector2i(400, 400)
[node name="orchid_saver" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport" unique_id=1027429202 instance=ExtResource("5_p3ndq")]
transform = Transform3D(0.4685929, 0, -0.8834142, 0, 1, 0, 0.8834142, 0, 0.4685929, 0, -0.5, 0)
[node name="Capsule" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport/orchid_saver" index="0" unique_id=1504808872]
visible = false
[node name="Camera3D" type="Camera3D" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport" unique_id=541588220]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
current = true
fov = 30.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport" unique_id=1274670225]
environment = ExtResource("7_1fdaa")
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/FailTutorialContainer/GridContainer" unique_id=1062837751]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer2" unique_id=227115375]
layout_mode = 2
texture = ExtResource("8_46i67")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer2" unique_id=1438289614]
layout_mode = 2
bbcode_enabled = true
text = "RESTART_FROM_LAST_BASE_WITHOUT_SEEDS_TEXT"
fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="OkButton" type="Button" parent="MarginContainer/FailTutorialContainer" unique_id=879779245]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("9_xako4")
text = "OK"
icon = ExtResource("10_dpqev")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1299060348]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_cnkwc")
[connection signal="button_down" from="MarginContainer/FailTutorialContainer/OkButton" to="." method="_on_ok_button_button_down"]
[editable path="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport/orchid_saver"]
@@ -34,14 +34,23 @@ func _ready():
%Exit.clicked.connect(_on_exit_clicked)
%Exit.interactable = can_exit()
if not "ship" in GameInfo.game_data.tutorials_done:
if not GameInfo.game_data.progression_data.ship_tutorial_done:
await get_tree().create_timer(1).timeout
%ShipTutorial.appear()
await show_tutorial()
if GameInfo.game_data.game_mode == GameData.GameMode.STORY:
update_dialogs()
func show_tutorial():
AudioManager.play_sfx("Reveal")
%ShipTutorial.appear()
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
%Player3D.controlling_player=false
await %ShipTutorial.disappeared
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
%Player3D.controlling_player=true
GameInfo.game_data.progression_data.ship_tutorial_done = true
func update_dialogs():
if GameInfo.game_data and GameInfo.game_data.current_run:
var run_data = GameInfo.game_data.current_run
@@ -77,15 +86,11 @@ func _on_phone_clicked():
%Phone.stop_audio()
%Phone.interactable = false
if len(phone_dialogs):
var phone_dialog : String = phone_dialogs.pop_front()
Dialogic.start(phone_dialog)
Dialogic.start(phone_dialogs.pop_front())
await Dialogic.timeline_ended
if phone_dialog == FAILED_DIALOG:
%FailTutorial.appear()
if (len(phone_dialogs)):
await get_tree().create_timer(2.).timeout
ring_phone()
func move_to_choosen_run_point():
GameInfo.game_data.current_run.choose_next_run_point(choosen_run_point)
@@ -206,3 +211,4 @@ func update_dashboard():
func _on_orchid_saver_clicked():
GameInfo.game_data.give_up()
@@ -1,13 +1,7 @@
extends CanvasLayer
class_name ShipTutorial
const DEFAULT_OBJECT_ACCELERATION = Vector2(1,0)
@export var object_3d : Node3D
@export var ok_button : Button
@export var animation_player : AnimationPlayer
@export var player : Player3D
@export var tutorial_name := "ship"
const DEFAULT_SHIP_ACCELERATION = Vector2(1,0)
signal disappeared
@@ -20,13 +14,9 @@ var next_mouse_pos : Vector2
func _ready():
hide()
ok_button.button_down.connect(_on_ok_button_button_down)
func appear():
AudioManager.play_sfx("Reveal")
animation_player.play("appear")
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
player.controlling_player=false
%AnimationPlayer.play("appear")
Pointer.action_disabled = true
func _process(delta):
@@ -54,18 +44,15 @@ func update_rotation(delta):
)
prev_mouse_pos = next_mouse_pos
else :
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
object_acceleration = object_acceleration.lerp(DEFAULT_SHIP_ACCELERATION, 0.1)
object_3d.rotate(Vector3.UP, object_rotation.x * delta)
object_3d.rotate(Vector3.RIGHT, object_rotation.y * delta)
%Ship.rotate(Vector3.UP, object_rotation.x * delta)
%Ship.rotate(Vector3.RIGHT, object_rotation.y * delta)
func _on_ok_button_button_down():
animation_player.play_backwards("appear")
%AnimationPlayer.play_backwards("appear")
disappeared.emit()
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
player.controlling_player = true
GameInfo.game_data.tutorials_done.append(tutorial_name)
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
@@ -1,15 +1,21 @@
[gd_scene format=3 uid="uid://cd8j7v7qtybi8"]
[ext_resource type="Script" uid="uid://cqc8vta5ffmwt" path="res://stages/3d_scenes/cockpit_scene/scripts/ship_tutorial.gd" id="1_1jkg7"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="1_11pbi"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="2_1jkg7"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="3_ofwam"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_wyjs5"]
[ext_resource type="PackedScene" uid="uid://blvetnnib2ks0" path="res://stages/3d_scenes/cockpit_scene/assets/3d/cockpit2.blend" id="4_ofwam"]
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="5_2y716"]
[ext_resource type="Texture2D" uid="uid://7lw40nfj4lhl" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/dashboard_screenshot.png" id="6_2y716"]
[ext_resource type="Texture2D" uid="uid://7lw40nfj4lhl" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 112838.png" id="6_2y716"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="6_6olc8"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="7_cnkwc"]
[ext_resource type="Texture2D" uid="uid://d17ru4hw8okj1" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/objective_screenshot.png" id="9_6olc8"]
[ext_resource type="Texture2D" uid="uid://d17ru4hw8okj1" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 113002.png" id="9_6olc8"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wa8fb"]
shader = ExtResource("1_11pbi")
shader_parameter/strength = 8.00000037674012
shader_parameter/mix_percentage = 0.3
[sub_resource type="ViewportTexture" id="ViewportTexture_2y716"]
viewport_path = NodePath("Particles/SubViewport")
@@ -29,7 +35,7 @@ font_size = 50
font_color = Color(1, 0.6509804, 0.09019608, 1)
[sub_resource type="ViewportTexture" id="ViewportTexture_11pbi"]
viewport_path = NodePath("MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport")
viewport_path = NodePath("ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport")
[sub_resource type="Animation" id="Animation_2y716"]
length = 0.001
@@ -48,7 +54,7 @@ tracks/0/keys = {
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer/ShipTutorialContainer:modulate")
tracks/1/path = NodePath("ShipTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
@@ -72,7 +78,7 @@ tracks/2/keys = {
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MarginContainer/ShipTutorialContainer:theme_override_constants/separation")
tracks/3/path = NodePath("ShipTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
@@ -81,18 +87,6 @@ tracks/3/keys = {
"update": 1,
"values": [12]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_6olc8"]
resource_name = "appear"
@@ -112,7 +106,7 @@ tracks/0/keys = {
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer/ShipTutorialContainer:modulate")
tracks/1/path = NodePath("ShipTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
@@ -136,7 +130,7 @@ tracks/2/keys = {
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MarginContainer/ShipTutorialContainer:theme_override_constants/separation")
tracks/3/path = NodePath("ShipTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
@@ -145,18 +139,6 @@ tracks/3/keys = {
"update": 0,
"values": [554, 8]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.16666667, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_cnkwc"]
_data = {
@@ -164,13 +146,11 @@ _data = {
&"appear": SubResource("Animation_6olc8")
}
[node name="ShipTutorial" type="CanvasLayer" unique_id=868547496 node_paths=PackedStringArray("object_3d", "ok_button", "animation_player")]
[node name="ShipTutorial" type="CanvasLayer" unique_id=868547496]
script = ExtResource("1_1jkg7")
object_3d = NodePath("MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship")
ok_button = NodePath("MarginContainer/ShipTutorialContainer/OkButton")
animation_player = NodePath("AnimationPlayer")
[node name="Background" type="ColorRect" parent="." unique_id=1582095070]
[node name="BlurRect" type="ColorRect" parent="." unique_id=1582095070]
material = SubResource("ShaderMaterial_wa8fb")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
@@ -211,56 +191,48 @@ linear_accel_max = 5.0
linear_accel_curve = SubResource("Curve_6olc8")
color_ramp = SubResource("Gradient_cnkwc")
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1342614121]
[node name="ShipTutorialContainer" type="VBoxContainer" parent="." unique_id=732188526]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="ShipTutorialContainer" type="VBoxContainer" parent="MarginContainer" unique_id=732188526]
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="ShipTutorialText" type="Label" parent="MarginContainer/ShipTutorialContainer" unique_id=1403992763]
[node name="ShipTutorialText" type="Label" parent="ShipTutorialContainer" unique_id=1403992763]
unique_name_in_owner = true
layout_mode = 2
text = "SHIP_ACQUIRED"
label_settings = SubResource("LabelSettings_n2u7g")
horizontal_alignment = 1
[node name="ShipTutorialTitle" type="Label" parent="MarginContainer/ShipTutorialContainer" unique_id=2022459650]
[node name="ShipTutorialTitle" type="Label" parent="ShipTutorialContainer" unique_id=2022459650]
unique_name_in_owner = true
layout_mode = 2
text = "USE_THE_SHIP_TO_TRAVEL_ACROSS_THE_PLANET"
label_settings = ExtResource("2_1jkg7")
horizontal_alignment = 1
autowrap_mode = 3
[node name="GridContainer" type="GridContainer" parent="MarginContainer/ShipTutorialContainer" unique_id=1001794244]
[node name="GridContainer" type="GridContainer" parent="ShipTutorialContainer" unique_id=1001794244]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/h_separation = 35
columns = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/ShipTutorialContainer/GridContainer" unique_id=1184100238]
[node name="VBoxContainer" type="VBoxContainer" parent="ShipTutorialContainer/GridContainer" unique_id=1184100238]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=458438699]
[node name="TextureRect" type="TextureRect" parent="ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=458438699]
layout_mode = 2
texture = ExtResource("6_2y716")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=1193611093]
[node name="RichTextLabel" type="RichTextLabel" parent="ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=1193611093]
layout_mode = 2
bbcode_enabled = true
text = "JUMP_BETWEEN_REGION_TEXT"
@@ -268,7 +240,7 @@ fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="ShipVisualiser" type="TextureRect" parent="MarginContainer/ShipTutorialContainer/GridContainer" unique_id=692971472]
[node name="ShipVisualiser" type="TextureRect" parent="ShipTutorialContainer/GridContainer" unique_id=692971472]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
@@ -276,59 +248,59 @@ mouse_filter = 0
texture = SubResource("ViewportTexture_11pbi")
stretch_mode = 5
[node name="SubViewport" type="SubViewport" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser" unique_id=1153633037]
[node name="SubViewport" type="SubViewport" parent="ShipTutorialContainer/GridContainer/ShipVisualiser" unique_id=1153633037]
own_world_3d = true
transparent_bg = true
size = Vector2i(400, 400)
[node name="Ship" type="Node3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=434320277]
[node name="Ship" type="Node3D" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=434320277]
unique_name_in_owner = true
transform = Transform3D(0.86598426, 0, -0.5000024, 0, 0.9999422, 0, 0.49997625, 0, 0.8660295, 0, 0, 0)
[node name="cockpit2" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship" unique_id=1190034532 instance=ExtResource("4_ofwam")]
[node name="cockpit2" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship" unique_id=1190034532 instance=ExtResource("4_ofwam")]
[node name="Skeleton3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature" parent_id_path=PackedInt32Array(1190034532, 368440226) index="0" unique_id=1318180746]
[node name="Skeleton3D" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature" parent_id_path=PackedInt32Array(1190034532, 368440226) index="0" unique_id=1318180746]
bones/0/rotation = Quaternion(-0.52081746, 0.47827742, 0.52081746, 0.47827742)
bones/1/rotation = Quaternion(0.042539995, -1.4957005e-08, -9.944439e-10, 0.9990948)
bones/2/rotation = Quaternion(0.52081746, 0.47827742, 0.52081746, -0.47827742)
bones/3/rotation = Quaternion(0.042539995, 1.4957005e-08, 9.944439e-10, 0.9990948)
[node name="WinkEnd_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="0" unique_id=1435098475]
[node name="WinkEnd_R" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="0" unique_id=1435098475]
transform = Transform3D(7.145433e-10, -1, -7.4505806e-08, 2.9971538e-08, -4.4703484e-08, 1, -1, -7.1454553e-10, 2.9971538e-08, -12.358327, -1.0543112, -8.881784e-16)
[node name="Wing_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="1" unique_id=891044283]
[node name="Wing_R" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="1" unique_id=891044283]
transform = Transform3D(0, -0.9963807, -0.08500305, 0, -0.08500302, 0.9963807, -1, 0, 0, 0, 0, 0)
[node name="WinkEnd_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="2" unique_id=908817672]
[node name="WinkEnd_L" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="2" unique_id=908817672]
transform = Transform3D(7.145433e-10, 1, 7.4505806e-08, -2.9971538e-08, -4.4703484e-08, 1, 1, -7.1454553e-10, 2.9971538e-08, 12.358327, -1.0543112, 0)
[node name="Wing_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="3" unique_id=74621525]
[node name="Wing_L" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="3" unique_id=74621525]
transform = Transform3D(0, 0.9963807, 0.08500305, 0, -0.08500302, 0.9963807, 1, 0, 0, 0, 0, 0)
[node name="AnimationPlayer" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2" index="6" unique_id=1861191625]
[node name="AnimationPlayer" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2" index="6" unique_id=1861191625]
autoplay = &"Fold"
[node name="Camera3D" type="Camera3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=541588220]
[node name="Camera3D" type="Camera3D" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=541588220]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 50)
current = true
fov = 30.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=1274670225]
[node name="WorldEnvironment" type="WorldEnvironment" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=1274670225]
environment = ExtResource("5_2y716")
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/ShipTutorialContainer/GridContainer" unique_id=1062837751]
[node name="VBoxContainer2" type="VBoxContainer" parent="ShipTutorialContainer/GridContainer" unique_id=1062837751]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=227115375]
[node name="TextureRect" type="TextureRect" parent="ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=227115375]
layout_mode = 2
texture = ExtResource("9_6olc8")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=1438289614]
[node name="RichTextLabel" type="RichTextLabel" parent="ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=1438289614]
layout_mode = 2
bbcode_enabled = true
text = "RECHARGE_YOUR_SHIP_WITH_PLANT_SCORE_TEXT"
@@ -336,7 +308,7 @@ fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="OkButton" type="Button" parent="MarginContainer/ShipTutorialContainer" unique_id=879779245]
[node name="OkButton" type="Button" parent="ShipTutorialContainer" unique_id=879779245]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
@@ -348,6 +320,6 @@ icon = ExtResource("7_cnkwc")
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_cnkwc")
[connection signal="button_down" from="MarginContainer/ShipTutorialContainer/OkButton" to="." method="_on_ok_button_button_down"]
[connection signal="button_down" from="ShipTutorialContainer/OkButton" to="." method="_on_ok_button_button_down"]
[editable path="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2"]
[editable path="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2"]
Binary file not shown.
@@ -1,73 +0,0 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bqo4uknlbm8r1"
path="res://.godot/imported/end_base.blend-fe62ec0b123eb800e23803303dde3051.scn"
[deps]
source_file="res://stages/3d_scenes/end_base/assets/3d/end_base.blend"
dest_files=["res://.godot/imported/end_base.blend-fe62ec0b123eb800e23803303dde3051.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Glass": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/glass_3d.tres",
"use_external/path": "uid://b5vlcdry8vtgi"
},
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
-991
View File
@@ -1,991 +0,0 @@
[gd_scene format=3 uid="uid://b6kl2hc85a0mh"]
[ext_resource type="Script" uid="uid://btc447j47jbx0" path="res://stages/3d_scenes/end_base/scripts/borea_base.gd" id="1_fevne"]
[ext_resource type="Shader" uid="uid://bv2rghn44mrrf" path="res://stages/title_screen/resources/shaders/stars.gdshader" id="1_xd71i"]
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="3_c8vcx"]
[ext_resource type="PackedScene" uid="uid://csx7d5khjd6y5" path="res://entities/interactable_3d/phone/phone.tscn" id="4_fevne"]
[ext_resource type="PackedScene" uid="uid://bqo4uknlbm8r1" path="res://stages/3d_scenes/end_base/assets/3d/end_base.blend" id="4_s7tqr"]
[ext_resource type="PackedScene" uid="uid://c5a32n6rjjlnt" path="res://gui/credits/credits.tscn" id="6_c8vcx"]
[ext_resource type="Material" uid="uid://cr7bp4fhh1ipr" path="res://entities/player_3d/resources/materials/post_process_quad.tres" id="7_s7tqr"]
[sub_resource type="Animation" id="Animation_xd71i"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%Player3D/../Lights/LightLevel0/OmniLight3D7:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("%Player3D/../Lights/LightLevel0/OmniLight3D2:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("%Player3D/../Lights/LightLevel1/OmniLight3D10:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("%Player3D/../Lights/LightLevel1/OmniLight3D14:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("%Player3D/../Lights/LightLevel3/OmniLight3D3:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_fevne"]
resource_name = "blink"
length = 3.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%Player3D/../Lights/LightLevel0/OmniLight3D7:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.46666667, 1.37, 1.5866667, 2.2, 2.48, 2.77),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [true, false, true, false, true, false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("%Player3D/../Lights/LightLevel0/OmniLight3D2:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.38, 1.2833333, 1.5, 2.2, 2.48, 2.77),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [true, false, true, false, true, true, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("%Player3D/../Lights/LightLevel1/OmniLight3D10:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.63, 1.5333333, 1.75, 2.2, 2.48, 2.77),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [true, false, true, false, true, false, true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("%Player3D/../Lights/LightLevel1/OmniLight3D14:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.63, 1.5333333, 1.75, 2.2, 2.48, 2.77),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [true, false, true, false, true, true, true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("%Player3D/../Lights/LightLevel3/OmniLight3D3:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.63, 1.5333333, 1.75, 2.2, 2.48, 2.77),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [true, false, true, false, true, false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_c8vcx"]
_data = {
&"RESET": SubResource("Animation_xd71i"),
&"blink": SubResource("Animation_fevne")
}
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2ei4e"]
shader = ExtResource("1_xd71i")
shader_parameter/sky_color = Color(0.03, 0.05, 0.11, 1)
shader_parameter/star_base_color = Color(0.8, 1, 0.3, 1)
shader_parameter/star_hue_offset = 0.6
shader_parameter/star_intensity = 0.08
shader_parameter/layer_scale = 20.0
shader_parameter/layer_scale_step = 10.0
shader_parameter/layers_count = 3
[sub_resource type="Sky" id="Sky_xd71i"]
sky_material = SubResource("ShaderMaterial_2ei4e")
[sub_resource type="Environment" id="Environment_fevne"]
background_mode = 2
sky = SubResource("Sky_xd71i")
sky_custom_fov = 61.7
ambient_light_source = 3
ambient_light_color = Color(1, 1, 1, 1)
ambient_light_sky_contribution = 0.85
ambient_light_energy = 0.52
reflected_light_source = 2
tonemap_mode = 2
tonemap_exposure = 0.7
tonemap_white = 1.84
glow_enabled = true
glow_intensity = 0.22
glow_bloom = 0.22
glow_hdr_threshold = 0.79
glow_hdr_scale = 0.0
glow_hdr_luminance_cap = 5.63
fog_enabled = true
fog_mode = 1
fog_light_color = Color(0.13725491, 0.39215687, 0.6666667, 1)
fog_density = 0.1831
fog_aerial_perspective = 0.113
fog_sky_affect = 0.0
volumetric_fog_sky_affect = 0.0
adjustment_enabled = true
adjustment_saturation = 1.3
[sub_resource type="BoxShape3D" id="BoxShape3D_c8vcx"]
size = Vector3(0.001, 7.6933594, 7.697876)
[sub_resource type="Animation" id="Animation_s7tqr"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TrailerCamera:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 60.366375, 0)]
}
[sub_resource type="Animation" id="Animation_2ei4e"]
resource_name = "trailer"
length = 10.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TrailerCamera:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 9.933333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 60.366375, 0), Vector3(0, 10, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hlox4"]
_data = {
&"RESET": SubResource("Animation_s7tqr"),
&"trailer": SubResource("Animation_2ei4e")
}
[sub_resource type="QuadMesh" id="QuadMesh_2ei4e"]
size = Vector2(2, 2)
[node name="BoreaBase" type="Node3D" unique_id=442220603]
script = ExtResource("1_fevne")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1539431276]
transform = Transform3D(1, 0, 0, 0, 0.25881907, 0.9659258, 0, -0.9659258, 0.25881907, 30.708645, 59.967155, 32.405155)
light_color = Color(0.6660227, 0.6797195, 0.9820071, 1)
light_energy = 0.2
shadow_enabled = true
[node name="Lights" type="Node3D" parent="." unique_id=1071261896]
[node name="LightLevel0" type="Node3D" parent="Lights" unique_id=1673172585]
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=331040735]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.250671, -2.1126924, 23.147612)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D4" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=781678275]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.520561, -2.1126924, -9.563883)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D5" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=1029811291]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.694098, -2.1126924, -20.977478)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D6" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=706813333]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2640495, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D7" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=522933437]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.133095, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D10" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=1811482313]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.797234, -2.1126924, 8.860925)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D11" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=617635003]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.40009, -2.1126924, 21.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=918304264]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.523638, -2.1126924, 14.304096)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D14" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=1597573435]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.475027, -5.066031, -2.8978524)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D15" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=116640999]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.343237, -5.066031, -3.1424296)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D16" type="OmniLight3D" parent="Lights/LightLevel0" unique_id=801358869]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.506277, -5.066031, 2.9720063)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="LightLevel1" type="Node3D" parent="Lights" unique_id=1922457496]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8.234108, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=55476383]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5544157, -2.1126924, 27.90219)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=92670411]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.250671, -2.1126924, 23.147612)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D5" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=636878856]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.694098, -2.1126924, -20.977478)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D6" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=1423170075]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2640495, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D7" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=58992978]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.133095, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D8" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=2076353163]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.688046, -2.1126924, -23.17867)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D9" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=1322504637]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.514515, -2.1126924, -14.292371)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D10" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=69628955]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.797234, -2.1126924, 8.860925)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D11" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=861056154]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.40009, -2.1126924, 21.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D12" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=918332677]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.4000893, -2.1126924, 27.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=271744912]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.523638, -2.1126924, 14.304096)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D14" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=1456495033]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.475027, -5.066031, -2.8978524)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D15" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=1464495731]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.343237, -5.066031, -3.1424296)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D16" type="OmniLight3D" parent="Lights/LightLevel1" unique_id=512747242]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.506277, -5.066031, 2.9720063)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="LightLevel2" type="Node3D" parent="Lights" unique_id=1658395921]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 16.305164, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1782738053]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5544157, -2.1126924, 27.90219)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1044065491]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.250671, -2.1126924, 23.147612)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D4" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1280223269]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.520561, -2.1126924, -9.563883)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D5" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=443076410]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.694098, -2.1126924, -20.977478)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D6" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=795711828]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2640495, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D7" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=39883193]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.133095, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D8" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1022700169]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.688046, -2.1126924, -23.17867)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D9" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=552912438]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.514515, -2.1126924, -14.292371)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D10" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1298855751]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.797234, -2.1126924, 8.860925)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D12" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=111834629]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.4000893, -2.1126924, 27.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1375255226]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.523638, -2.1126924, 14.304096)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D13" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=18165508]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.556553, -5.066031, 2.7274294)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D14" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1731050516]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.475027, -5.066031, -2.8978524)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D15" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1704489957]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.343237, -5.066031, -3.1424296)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D16" type="OmniLight3D" parent="Lights/LightLevel2" unique_id=1994672189]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.506277, -5.066031, 2.9720063)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="LightLevel3" type="Node3D" parent="Lights" unique_id=593657748]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 24.213167, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=1849026334]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5544157, -2.1126924, 27.90219)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=691708052]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.250671, -2.1126924, 23.147612)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D4" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=1166186573]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.520561, -2.1126924, -9.563883)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D5" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=2008819922]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.694098, -2.1126924, -20.977478)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D6" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=588150842]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2640495, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D7" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=1080987600]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.133095, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D8" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=580549053]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.688046, -2.1126924, -23.17867)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D9" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=639850990]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.514515, -2.1126924, -14.292371)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D10" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=559970503]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.797234, -2.1126924, 8.860925)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D11" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=1743215246]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.40009, -2.1126924, 21.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D12" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=814917578]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.4000893, -2.1126924, 27.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=1601525784]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.523638, -2.1126924, 14.304096)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D13" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=730066980]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.556553, -5.066031, 2.7274294)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D14" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=1530299322]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.475027, -5.066031, -2.8978524)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D15" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=1068729638]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.343237, -5.066031, -3.1424296)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D16" type="OmniLight3D" parent="Lights/LightLevel3" unique_id=958960524]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.506277, -5.066031, 2.9720063)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="LightLevel4" type="Node3D" parent="Lights" unique_id=142117256]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 31.95812, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1721481718]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5544157, -2.1126924, 27.90219)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=631610076]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.250671, -2.1126924, 23.147612)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D4" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1226751360]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.520561, -2.1126924, -9.563883)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D5" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1200952030]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.694098, -2.1126924, -20.977478)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D6" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1061376340]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2640495, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D7" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1457730086]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.133095, -2.1126924, -28.070211)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D8" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1189108084]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.688046, -2.1126924, -23.17867)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D9" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1446282714]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.514515, -2.1126924, -14.292371)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D10" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=572630565]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.797234, -2.1126924, 8.860925)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D11" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=452891791]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.40009, -2.1126924, 21.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D12" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1670406469]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.4000893, -2.1126924, 27.334354)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1477089662]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.523638, -2.1126924, 14.304096)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D13" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=1821591613]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.556553, -5.066031, 2.7274294)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D14" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=277413158]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.475027, -5.066031, -2.8978524)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D15" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=2012725183]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.343237, -5.066031, -3.1424296)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D16" type="OmniLight3D" parent="Lights/LightLevel4" unique_id=59140504]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.506277, -5.066031, 2.9720063)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="LightLevel5" type="Node3D" parent="Lights" unique_id=525951054]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 40.090714, 0)
[node name="OmniLight3D13" type="OmniLight3D" parent="Lights/LightLevel5" unique_id=2058425414]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.556553, -5.066031, 2.7274294)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D14" type="OmniLight3D" parent="Lights/LightLevel5" unique_id=1964162867]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.475027, -5.066031, -2.8978524)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D15" type="OmniLight3D" parent="Lights/LightLevel5" unique_id=1968781717]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.343237, -5.066031, -3.1424296)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="OmniLight3D16" type="OmniLight3D" parent="Lights/LightLevel5" unique_id=1720654262]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.506277, -5.066031, 2.9720063)
light_color = Color(0.810676, 0.621579, 0.6067489, 1)
light_energy = 1.5
light_size = 0.2
shadow_enabled = true
omni_range = 11.280827
[node name="LightColumnLeft" type="Node3D" parent="Lights" unique_id=366580628]
[node name="OmniLight3D" type="OmniLight3D" parent="Lights/LightColumnLeft" unique_id=33457178]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.076054, 47.19723, 0)
light_color = Color(0.99998575, 0.29117814, 0.45017415, 1)
light_energy = 2.285
shadow_enabled = true
omni_range = 23.647278
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/LightColumnLeft" unique_id=1523001666]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.213203, 29.529121, 0)
light_color = Color(0.99998575, 0.29117814, 0.45017415, 1)
light_energy = 2.285
shadow_enabled = true
omni_range = 55.975483
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/LightColumnLeft" unique_id=1636195463]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.213203, 10.504702, 0)
light_color = Color(0.99998575, 0.29117814, 0.45017415, 1)
light_energy = 2.285
shadow_enabled = true
omni_range = 55.975483
[node name="LightColumnRight" type="Node3D" parent="Lights" unique_id=736248586]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights/LightColumnRight" unique_id=291131726]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.076054, 47.19723, 0)
light_color = Color(0.99998575, 0.29117814, 0.45017415, 1)
light_energy = 2.285
shadow_enabled = true
omni_range = 23.647278
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/LightColumnRight" unique_id=1200961344]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.213203, 29.529121, 0)
light_color = Color(0.99998575, 0.29117814, 0.45017415, 1)
light_energy = 2.285
shadow_enabled = true
omni_range = 55.975483
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/LightColumnRight" unique_id=652563138]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.213203, 10.504702, 0)
light_color = Color(0.99998575, 0.29117814, 0.45017415, 1)
light_energy = 2.285
shadow_enabled = true
omni_range = 55.975483
[node name="ServerRoom" type="Node3D" parent="Lights" unique_id=827961816]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.9412785, -8.026912, -119.36721)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights/ServerRoom" unique_id=1844581848]
light_color = Color(0.9334627, 0.52057, 0.67796034, 1)
shadow_enabled = true
omni_range = 26.349659
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights/ServerRoom" unique_id=2066101397]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 25.241997)
light_color = Color(0.9334627, 0.52057, 0.67796034, 1)
shadow_enabled = true
omni_range = 26.349659
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights/ServerRoom" unique_id=549929558]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 42.92135)
light_color = Color(0.9334627, 0.52057, 0.67796034, 1)
shadow_enabled = true
omni_range = 26.349659
[node name="OmniLight3D4" type="OmniLight3D" parent="Lights/ServerRoom" unique_id=1196915107]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 61.630135)
light_color = Color(0.9334627, 0.52057, 0.67796034, 1)
shadow_enabled = true
omni_range = 26.349659
[node name="SpotLight3D" type="SpotLight3D" parent="Lights/ServerRoom" unique_id=1984749666]
transform = Transform3D(1, 0, 0, 0, -0.037829712, 0.9992842, 0, -0.9992842, -0.037829712, 0, 47.72103, -28.07676)
light_color = Color(0.6902202, 0.87386894, 0.8121308, 1)
light_energy = 9.0
shadow_enabled = true
spot_range = 95.488
spot_attenuation = 0.4
spot_angle = 32.1892
[node name="AnimationPlayer" type="AnimationPlayer" parent="Lights" unique_id=1792239301]
root_node = NodePath("../../Player3D")
libraries/ = SubResource("AnimationLibrary_c8vcx")
autoplay = &"blink"
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1121246225]
environment = SubResource("Environment_fevne")
[node name="AmbianceChangeDetector" type="Area3D" parent="." unique_id=1401161313]
transform = Transform3D(0.25881904, 0, 0.96592593, 0, 1, 0, -0.96592593, 0, 0.25881904, 2.7012572, -5.600957, -42.815655)
[node name="CollisionShape3D" type="CollisionShape3D" parent="AmbianceChangeDetector" unique_id=1969356725]
transform = Transform3D(0.9999994, 0, 0, 0, 1, 0, 0, 0, 0.9999994, -9.359516, 0.82910156, 2.9935746)
shape = SubResource("BoxShape3D_c8vcx")
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("3_c8vcx")]
unique_name_in_owner = true
transform = Transform3D(0.25881904, 0, 0.96592593, 0, 1, 0, -0.96592593, 0, 0.25881904, 29.244379, 41.40791, 8.823577)
speed = 5.0
[node name="Phone" parent="." unique_id=429299908 instance=ExtResource("4_fevne")]
unique_name_in_owner = true
transform = Transform3D(-0.93482566, 0, 0.35510686, 0, 1, 0, -0.35510686, 0, -0.93482566, 3.7943206, -7.5537004, -130.16013)
[node name="borea_base" parent="." unique_id=1161090043 instance=ExtResource("4_s7tqr")]
[node name="Credits" parent="." unique_id=180964898 instance=ExtResource("6_c8vcx")]
unique_name_in_owner = true
[node name="TrailerCamera" type="Camera3D" parent="." unique_id=649852434]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, -4.3711392e-08, 1, 0, -1, -4.3711392e-08, 0, 60.366375, 0)
near = 0.003
[node name="AnimationPlayer" type="AnimationPlayer" parent="TrailerCamera" unique_id=1238675722]
root_node = NodePath("../..")
libraries/ = SubResource("AnimationLibrary_hlox4")
autoplay = &"trailer"
[node name="MeshInstance3D" type="MeshInstance3D" parent="TrailerCamera" unique_id=1018268636]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.263265e-08, 0, -0.7177747)
mesh = SubResource("QuadMesh_2ei4e")
surface_material_override/0 = ExtResource("7_s7tqr")
[connection signal="body_entered" from="AmbianceChangeDetector" to="." method="_on_ambiance_change_detector_body_entered"]
@@ -1,22 +0,0 @@
extends Node3D
const OUTRO_TIMELINE_PATH = "res://dialogs/timelines/tutorial/demeter_outro.dtl"
# Called when the node enters the scene tree for the first time.
func _ready():
%Credits.hide()
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
await %Phone.clicked
Dialogic.start(OUTRO_TIMELINE_PATH)
await Dialogic.timeline_ended
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
%Credits.show()
AudioManager.play_music("Demo_end", false, 5.0)
AudioManager.stop_all_ambiances()
func _on_ambiance_change_detector_body_entered(body: Node3D):
if body is Player3D:
AudioManager.stop_all_ambiances()
AudioManager.play_music("Demo_end", false, 5.0)
@@ -1 +0,0 @@
uid://btc447j47jbx0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lftiiulpc8kl"
path="res://.godot/imported/rain.png-9298487e51a029fd96f65e149e8bf87c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/terrain/region/assets/textures/rain.png"
dest_files=["res://.godot/imported/rain.png-9298487e51a029fd96f65e149e8bf87c.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
+50 -90
View File
@@ -2,10 +2,8 @@
[ext_resource type="Script" uid="uid://d1mp5sguc0b6u" path="res://stages/terrain/region/scripts/region.gd" id="1_441sk"]
[ext_resource type="Shader" uid="uid://cfj18vc04cgkg" path="res://common/vfx/materials/shaders/blur_vignette.gdshader" id="2_ktnx3"]
[ext_resource type="Script" uid="uid://dgjyhbndd4all" path="res://stages/terrain/region/scripts/post_process/region_meteo.gd" id="2_mlppq"]
[ext_resource type="PackedScene" uid="uid://yk78ubpu5ghq" path="res://gui/game/pass_day/pass_day.tscn" id="3_ktnx3"]
[ext_resource type="Shader" uid="uid://btgk5l0a6ii44" path="res://common/vfx/materials/shaders/screen_fog.gdshader" id="3_qdnee"]
[ext_resource type="Script" uid="uid://cyvfeyg2wynq" path="res://stages/terrain/region/scripts/post_process/meteo.gd" id="3_r4e5h"]
[ext_resource type="Script" uid="uid://bi8fo6yp25su7" path="res://stages/terrain/region/scripts/screen_post_process.gd" id="4_ovqi1"]
[ext_resource type="PackedScene" uid="uid://12nak7amd1uq" path="res://gui/game/game_gui.tscn" id="4_qdnee"]
[ext_resource type="Shader" uid="uid://doceegdvj0pp3" path="res://common/vfx/materials/shaders/screen_clouds.gdshader" id="5_2w03p"]
@@ -15,38 +13,6 @@
[ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="8_fwgig"]
[ext_resource type="PackedScene" uid="uid://fnv0qhkh40mv" path="res://gui/game/announce/announce.tscn" id="8_mlppq"]
[ext_resource type="Texture2D" uid="uid://rdrhi3r11ey6" path="res://common/icons/square-rounded.svg" id="10_ktnx3"]
[ext_resource type="Texture2D" uid="uid://lftiiulpc8kl" path="res://stages/terrain/region/assets/textures/rain.png" id="12_6d8m3"]
[ext_resource type="Script" uid="uid://dple0sunrpauc" path="res://stages/terrain/region/scripts/post_process/rain.gd" id="13_fwgig"]
[sub_resource type="Resource" id="Resource_r4e5h"]
script = ExtResource("3_r4e5h")
cloud_value = 0.93
wind_direction = Vector2(-0.9519732, -0.30618128)
wind_force = 0.039
type = 3
[sub_resource type="FastNoiseLite" id="FastNoiseLite_2w03p"]
noise_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_6d8m3"]
noise = SubResource("FastNoiseLite_2w03p")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6d8m3"]
shader = ExtResource("5_2w03p")
shader_parameter/camera_position = Vector2(0, 0)
shader_parameter/camera_zoom = Vector2(1, 1)
shader_parameter/viewport_size = Vector2(1920, 1080)
shader_parameter/noise_texture = SubResource("NoiseTexture2D_6d8m3")
shader_parameter/cloud_speed = 0.11699999999999999
shader_parameter/cloud_delay = 1.0
shader_parameter/cloud_dir = Vector2(-0.9519732, -0.30618128)
shader_parameter/cloud_color = Color(0.59428054, 0.8206175, 0.899937, 1)
shader_parameter/cloud_alpha = 1.0
shader_parameter/cloud_size = 80.0000037525
shader_parameter/cloud_distorsion_speed = 0.4150000197125
shader_parameter/density = 0.4910000233225
shader_parameter/blur_amount = 0.0400000019
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ovqi1"]
noise_type = 2
@@ -71,12 +37,35 @@ shader_parameter/camera_offset_speed = 0.0
shader_parameter/noise_texture_1 = SubResource("NoiseTexture2D_2w03p")
shader_parameter/noise_texture_2 = SubResource("NoiseTexture2D_fwgig")
shader_parameter/noise_blend = 0.50000002375
shader_parameter/noise_speed_1 = 0.039
shader_parameter/noise_speed_1 = 0.10000000475
shader_parameter/noise_speed_2 = 0.010000000475
shader_parameter/noise_dir_1 = Vector2(-0.9519732, -0.30618128)
shader_parameter/noise_dir_1 = Vector2(1, 1)
shader_parameter/noise_dir_2 = Vector2(1, -1)
shader_parameter/smoke_color = Color(1, 1, 1, 1)
shader_parameter/density = 0.0
shader_parameter/density = 0.070000003325
[sub_resource type="FastNoiseLite" id="FastNoiseLite_2w03p"]
noise_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_6d8m3"]
noise = SubResource("FastNoiseLite_2w03p")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6d8m3"]
shader = ExtResource("5_2w03p")
shader_parameter/camera_position = Vector2(0, 0)
shader_parameter/camera_zoom = Vector2(1, 1)
shader_parameter/viewport_size = Vector2(1920, 1080)
shader_parameter/noise_texture = SubResource("NoiseTexture2D_6d8m3")
shader_parameter/cloud_speed = 0.10000000475
shader_parameter/cloud_delay = 1.0
shader_parameter/noise_dir = Vector2(1, 1)
shader_parameter/cloud_color = Color(0.59428054, 0.8206175, 0.899937, 1)
shader_parameter/cloud_alpha = 1.0
shader_parameter/cloud_size = 87.48400410799
shader_parameter/cloud_distorsion_speed = 0.10000000475
shader_parameter/density = 0.3610000171475
shader_parameter/blur_amount = 0.0400000019
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qdnee"]
shader = ExtResource("2_ktnx3")
@@ -85,19 +74,6 @@ shader_parameter/blur_amount = 1.0000000475
shader_parameter/blur_inner = 0.4950000235125
shader_parameter/blur_outer = 0.7810000370975
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_fwgig"]
particles_animation = true
particles_anim_h_frames = 8
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_r4e5h"]
emission_shape = 3
emission_box_extents = Vector3(2000, 2000, 1)
gravity = Vector3(0, 0, 0)
anim_speed_min = 1.0
anim_speed_max = 1.0
[sub_resource type="Curve" id="Curve_qdnee"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.4883721, 1), 0.037164874, 0.037164874, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
@@ -105,22 +81,26 @@ point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_ovqi1"]
curve = SubResource("Curve_qdnee")
[sub_resource type="Curve" id="Curve_2w03p"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="Curve" id="Curve_6d8m3"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.25581396, 1), 0.0, 0.0, 0, 0, Vector2(0.5023256, 0), 0.0, 0.0, 0, 0, Vector2(0.75348836, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 5
[sub_resource type="CurveXYZTexture" id="CurveXYZTexture_fwgig"]
curve_x = SubResource("Curve_2w03p")
curve_y = SubResource("Curve_6d8m3")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_mlppq"]
emission_shape = 3
emission_box_extents = Vector3(2000, 2000, 1)
direction = Vector3(0.9519732, 0.30618128, 0)
emission_box_extents = Vector3(1000, 1000, 1)
spread = 10.0
initial_velocity_min = 35.1
initial_velocity_max = 39.0
directional_velocity_min = -1.0000161
directional_velocity_max = 0.9999839
initial_velocity_min = 100.0
initial_velocity_max = 200.0
directional_velocity_min = -100.000015
directional_velocity_max = 99.999985
directional_velocity_curve = SubResource("CurveXYZTexture_fwgig")
gravity = Vector3(0, 0, 0)
scale_min = 0.049999997
@@ -132,18 +112,21 @@ alpha_curve = SubResource("CurveTexture_ovqi1")
script = ExtResource("1_441sk")
entity_container = NodePath("Entities")
[node name="RegionMeteo" type="Node" parent="." unique_id=2027305269 node_paths=PackedStringArray("wind_particles", "rain_particles", "fog", "clouds", "region")]
script = ExtResource("2_mlppq")
meteo = SubResource("Resource_r4e5h")
wind_particles = NodePath("../Camera/WindParticles")
rain_particles = NodePath("../Entities/Rain")
fog = NodePath("../PostProcess/Fog")
clouds = NodePath("../PostProcess/Clouds")
region = NodePath("..")
[node name="PostProcess" type="CanvasLayer" parent="." unique_id=729471745]
layer = 0
[node name="Fog" type="ColorRect" parent="PostProcess" unique_id=1487713892 node_paths=PackedStringArray("camera")]
visible = false
material = SubResource("ShaderMaterial_mlppq")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("4_ovqi1")
camera = NodePath("../../Camera")
[node name="Clouds" type="ColorRect" parent="PostProcess" unique_id=1053740484 node_paths=PackedStringArray("camera", "region")]
material = SubResource("ShaderMaterial_6d8m3")
anchors_preset = 15
@@ -156,17 +139,6 @@ script = ExtResource("5_6d8m3")
camera = NodePath("../../Camera")
region = NodePath("../..")
[node name="Fog" type="ColorRect" parent="PostProcess" unique_id=1487713892 node_paths=PackedStringArray("camera")]
material = SubResource("ShaderMaterial_mlppq")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("4_ovqi1")
camera = NodePath("../../Camera")
[node name="Vignette" type="ColorRect" parent="PostProcess" unique_id=2057271511]
material = SubResource("ShaderMaterial_qdnee")
anchors_preset = 15
@@ -178,6 +150,7 @@ mouse_filter = 2
[node name="PassDay" parent="." unique_id=1144772570 instance=ExtResource("3_ktnx3")]
unique_name_in_owner = true
visible = false
[node name="RegionGui" type="CanvasLayer" parent="." unique_id=2024485651]
layer = 2
@@ -196,27 +169,14 @@ y_sort_enabled = true
unique_name_in_owner = true
position = Vector2(-405, -151)
[node name="Rain" type="GPUParticles2D" parent="Entities" unique_id=968834731 node_paths=PackedStringArray("camera")]
visible = false
material = SubResource("CanvasItemMaterial_fwgig")
position = Vector2(-67, -194)
amount = 1
texture = ExtResource("12_6d8m3")
lifetime = 0.5
trail_sections = 16
process_material = SubResource("ParticleProcessMaterial_r4e5h")
script = ExtResource("13_fwgig")
camera = NodePath("../../Camera")
[node name="Camera" parent="." unique_id=1399042986 node_paths=PackedStringArray("following") instance=ExtResource("8_fwgig")]
following = NodePath("../Entities/Player")
[node name="WindParticles" type="GPUParticles2D" parent="Camera" unique_id=1897174931]
position = Vector2(2, 7)
amount = 100
texture = ExtResource("10_ktnx3")
lifetime = 8.0
trail_enabled = true
trail_lifetime = 0.2
trail_lifetime = 0.1
trail_sections = 16
process_material = SubResource("ParticleProcessMaterial_mlppq")
+1 -4
View File
@@ -6,7 +6,7 @@ const GENERATION_NUMBER = 4
const NOISE_IMAGE_SIZE := 150
const MAX_DECONTAMINATION_DISTANCE=0
const MAX_TALION_DISTANCE=3
const MAX_TALION_DISTANCE=2
const RANDOM_PADDING_NOISE_FREQUENCY := 0.01
const ROCK_NOISE_FREQUENCY := 0.005
@@ -15,8 +15,6 @@ const DECONTAMINATION_NOISE_FREQUENCY := 0.008
const CHUNK_RANDOM_PADDING := 1
signal generated
@export var region_data : RegionData
@export var chunk_coord : Vector2i
@@ -97,7 +95,6 @@ func generate():
add_child.call_deferred(ground_layer)
add_child.call_deferred(decontamination_layer)
generated.emit()
is_generated = true
func calculate_all_tiles() -> Array[Vector2i]:
@@ -1,25 +0,0 @@
extends RegionModifier
class_name CaveModifier
func get_modifier_name() -> String:
return tr("CRISTAL_CAVE")
func get_description() -> String:
return tr("CRISTAL_CAVE_MODIFIER_DESC_TEXT")
func get_icon() -> Texture:
return preload("res://common/icons/cristal.svg")
func get_card_section_color() -> Color:
return Color("25c147")
func region_ready(region : Region) -> void:
var new_cave_door = generate_door(
tr("CRISTAL_CAVE"),
tr("CRISTAL_CAVE_DOOR_DESC_TEXT")
)
new_cave_door.to_scene = CaveScene.new(new_cave_door.door_id)
new_cave_door.available = region.data.completed_doors.find(new_cave_door.door_id) == -1
region.add_entity(new_cave_door)
region.random_move_object(new_cave_door,Region.DOORS_RANDOM_MOVEMENT)

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