Merge branch 'musique_et_son_2' of https://git.zacharie-guet.fr/zacharie/seeding-planets into musique_et_son_2

This commit is contained in:
2026-05-03 16:46:29 +02:00
755 changed files with 17497 additions and 4850 deletions

View File

@@ -4,7 +4,7 @@
[resource]
diffuse_mode = 3
specular_mode = 2
specular_mode = 1
albedo_texture = ExtResource("1_cc1ni")
roughness = 0.0
rim_tint = 0.48

View File

@@ -5,5 +5,6 @@
[resource]
transparency = 1
depth_draw_mode = 1
albedo_color = Color(1, 1, 1, 0.79607844)
shading_mode = 0
albedo_color = Color(1, 1, 1, 0.5803922)
albedo_texture = ExtResource("1_buts1")

Binary file not shown.

View File

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

View File

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

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://cbre45rky1f4v"
path="res://.godot/imported/dragon-studio-power-off-386180.mp3-995a97388623e0fa5d3ec6066bd36105.mp3str"
[deps]
source_file="res://common/audio_manager/assets/sfx/vending_machine/dragon-studio-power-off-386180.mp3"
dest_files=["res://.godot/imported/dragon-studio-power-off-386180.mp3-995a97388623e0fa5d3ec6066bd36105.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

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

View File

@@ -23,11 +23,14 @@
[ext_resource type="AudioStream" uid="uid://bown4yipeef8l" path="res://common/audio_manager/assets/sfx/harvest/harvest_4.wav" id="16_obeji"]
[ext_resource type="AudioStream" uid="uid://delq7gsdeqjq2" path="res://common/audio_manager/assets/sfx/respawn/respawn.wav" id="16_xmumj"]
[ext_resource type="AudioStream" uid="uid://cbo4ld2yypmte" path="res://common/audio_manager/assets/sfx/harvest/harvest_5.wav" id="17_6w0re"]
[ext_resource type="AudioStream" uid="uid://da3srn8vx4erd" path="res://common/audio_manager/assets/sfx/vending_machine/item-drop.wav" id="18_ehr7m"]
[ext_resource type="AudioStream" uid="uid://cs4y6sinpth8e" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_1.wav" id="18_j8acj"]
[ext_resource type="AudioStream" uid="uid://c5nfoa6v3r5f7" path="res://common/audio_manager/assets/sfx/harvest/harvest_6.wav" id="18_o4guq"]
[ext_resource type="AudioStream" uid="uid://cbre45rky1f4v" path="res://common/audio_manager/assets/sfx/vending_machine/dragon-studio-power-off-386180.mp3" id="19_aedoe"]
[ext_resource type="AudioStream" uid="uid://bbhkivgarlhqm" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_2.wav" id="19_yjs51"]
[ext_resource type="AudioStream" uid="uid://ccfubsk6135qy" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_3.wav" id="20_4ojdh"]
[ext_resource type="AudioStream" uid="uid://bjind1iji0gt7" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_1.wav" id="20_pu6t4"]
[ext_resource type="AudioStream" uid="uid://br0jqajrqvgie" path="res://common/audio_manager/assets/sfx/door/door_opening.wav" id="20_yr73o"]
[ext_resource type="AudioStream" uid="uid://cqa0gvgpoa7pd" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_2.wav" id="21_dk5s6"]
[ext_resource type="AudioStream" uid="uid://cbm4r5bf7py11" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_4.wav" id="21_ehr7m"]
[ext_resource type="AudioStream" uid="uid://dq5qwydrca3vy" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_5.wav" id="22_aedoe"]
@@ -57,9 +60,19 @@
[ext_resource type="AudioStream" uid="uid://sgwvpxiul5x5" path="res://common/audio_manager/assets/sfx/ship_exit/ship_exit.wav" id="48_j8acj"]
[ext_resource type="AudioStream" uid="uid://ca0wonha334cl" path="res://common/audio_manager/assets/sfx/teleportation/teleport.wav" id="50_rlnfe"]
[ext_resource type="AudioStream" uid="uid://cv5avkd3qekt7" path="res://common/audio_manager/assets/sfx/movement/movement.wav" id="51_iyxkn"]
[ext_resource type="AudioStream" uid="uid://c7ehk3l4q3qg1" path="res://common/audio_manager/assets/sfx/vending_machine/VM_item_drop.wav" id="62_yr73o"]
[ext_resource type="AudioStream" uid="uid://dgs7j7itgedoy" path="res://common/audio_manager/assets/sfx/vending_machine/VM_power_off.wav" id="63_lwdce"]
[ext_resource type="AudioStream" uid="uid://cij7rpji5tutr" path="res://common/audio_manager/assets/sfx/vending_machine/VM_power_on.wav" id="64_qvjf5"]
[ext_resource type="AudioStream" uid="uid://53ixfbcd5qwu" path="res://common/audio_manager/assets/sfx/holo/holo_appear.wav" id="63_aedoe"]
[ext_resource type="AudioStream" uid="uid://dsijqgnnadgem" path="res://common/audio_manager/assets/sfx/holo/holo_disappear.wav" id="64_ge2sc"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_6o1yh"]
streams_count = 3
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_kfbah"]
random_pitch = 1.2599211
streams_count = 4
stream_0/stream = ExtResource("43_kbm55")
stream_1/stream = ExtResource("44_rb87w")
stream_2/stream = ExtResource("45_mur2l")
stream_3/stream = ExtResource("46_t0v4u")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_1w04j"]
random_pitch = 1.2
@@ -109,6 +122,12 @@ script = ExtResource("1_0tvca")
[node name="Ambiances" type="Node" parent="." unique_id=1989991562]
unique_name_in_owner = true
[node name="BaseRelais" type="AudioStreamPlayer" parent="Ambiances" unique_id=1895636918]
stream = ExtResource("7_ge2sc")
[node name="VendingRoom" type="AudioStreamPlayer" parent="Ambiances" unique_id=1478190718]
stream = ExtResource("7_ge2sc")
[node name="Exterior" type="AudioStreamPlayer" parent="Ambiances" unique_id=1405716780]
unique_name_in_owner = true
stream = ExtResource("2_tuvql")
@@ -135,6 +154,10 @@ stream = ExtResource("7_ge2sc")
[node name="Musics" type="Node" parent="." unique_id=1450527710]
unique_name_in_owner = true
[node name="RegionDesertPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=1222638526]
unique_name_in_owner = true
stream = ExtResource("11_yjs51")
[node name="RegionForestPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=1029114070]
unique_name_in_owner = true
stream = ExtResource("6_6o1yh")
@@ -176,6 +199,22 @@ stream = ExtResource("14_h3tkm")
[node name="Sfx" type="Node" parent="." unique_id=2023641207]
unique_name_in_owner = true
[node name="Dig" type="AudioStreamPlayer" parent="Sfx" unique_id=486042600]
stream = SubResource("AudioStreamRandomizer_6o1yh")
[node name="VendingMachineDrop" type="AudioStreamPlayer" parent="Sfx" unique_id=1161500181]
stream = ExtResource("18_ehr7m")
pitch_scale = 0.81
[node name="VendingMachineOff" type="AudioStreamPlayer" parent="Sfx" unique_id=743754597]
stream = ExtResource("19_aedoe")
volume_db = -14.149
pitch_scale = 0.75
[node name="DoorOpen" type="AudioStreamPlayer" parent="Sfx" unique_id=1440910292]
stream = ExtResource("20_yr73o")
pitch_scale = 1.5
[node name="Recharge1" type="AudioStreamPlayer" parent="Sfx" unique_id=357905012]
stream = ExtResource("18_j8acj")
@@ -224,6 +263,10 @@ stream = ExtResource("28_3dfjn")
[node name="PlantPoint" type="AudioStreamPlayer" parent="Sfx" unique_id=2044025024]
stream = SubResource("AudioStreamRandomizer_qog4c")
[node name="Reveal" type="AudioStreamPlayer" parent="Sfx" unique_id=1597352608]
stream = ExtResource("37_3dfjn")
volume_db = -3.0
[node name="Ship_reveal" type="AudioStreamPlayer" parent="Sfx" unique_id=1121632306]
stream = ExtResource("37_3dfjn")
volume_db = -3.0
@@ -260,13 +303,10 @@ volume_db = -7.0
stream = ExtResource("50_rlnfe")
volume_db = -6.0
[node name="Door_opening" type="AudioStreamPlayer" parent="Sfx" unique_id=1045862259]
[node name="HoloAppear" type="AudioStreamPlayer" parent="Sfx" unique_id=637436824]
stream = ExtResource("63_aedoe")
volume_db = -6.0
[node name="VM_drop" type="AudioStreamPlayer" parent="Sfx" unique_id=1831741123]
stream = ExtResource("62_yr73o")
[node name="VM_power_off" type="AudioStreamPlayer" parent="Sfx" unique_id=2112201239]
stream = ExtResource("63_lwdce")
[node name="VM_power_on" type="AudioStreamPlayer" parent="Sfx" unique_id=617324673]
stream = ExtResource("64_qvjf5")
[node name="HoloDisappear" type="AudioStreamPlayer" parent="Sfx" unique_id=1756615928]
stream = ExtResource("64_ge2sc")
volume_db = -6.0

View File

@@ -0,0 +1,312 @@
[gd_scene format=3 uid="uid://b6hscxcrj065q"]
[ext_resource type="Script" uid="uid://2p5d6vogtn82" path="res://common/audio_manager/scripts/audio_manager.gd" id="1_0tvca"]
[ext_resource type="AudioStream" uid="uid://dipnmlprwfo12" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_1.ogg" id="2_tuvql"]
[ext_resource type="AudioStream" uid="uid://b1hut6lc1jevh" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_2.ogg" id="4_2fduo"]
[ext_resource type="AudioStream" uid="uid://dftxjfdqgsbd3" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_3.ogg" id="4_tuvql"]
[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"]
[ext_resource type="AudioStream" uid="uid://cwu71o0sl2vto" path="res://common/audio_manager/assets/ambiance/dialogues/ambiance_Demeter.ogg" id="6_8204s"]
[ext_resource type="AudioStream" uid="uid://klb32q3kjtkt" path="res://common/audio_manager/assets/ambiance/vending_room_base_relais/ambiance_vending_room_base_relais.ogg" id="7_ge2sc"]
[ext_resource type="AudioStream" uid="uid://c8gbtdul2x8ws" path="res://common/audio_manager/assets/ambiance/borea/ambiance_borea.ogg" id="7_spekb"]
[ext_resource type="AudioStream" uid="uid://bpf6witukorka" path="res://common/audio_manager/assets/morceaux/menu/main_menu.ogg" id="7_tuvql"]
[ext_resource type="AudioStream" uid="uid://bmwaw1yb8hucf" path="res://common/audio_manager/assets/ambiance/vaisseau/ship_music.ogg" id="8_tuvql"]
[ext_resource type="AudioStream" uid="uid://ccimypx71o4g6" path="res://common/audio_manager/assets/morceaux/niveau/forest_phase_2.ogg" id="10_tq535"]
[ext_resource type="AudioStream" uid="uid://kqbqhwhkv7o3" path="res://common/audio_manager/assets/morceaux/niveau/mines_waiting.ogg" id="11_ngi21"]
[ext_resource type="AudioStream" uid="uid://of68i2k1g6y2" path="res://common/audio_manager/assets/morceaux/niveau/desert_phase_1.ogg" id="11_yjs51"]
[ext_resource type="AudioStream" uid="uid://b8inedx4yjslw" path="res://common/audio_manager/assets/sfx/drop/drop_1.wav" id="12_4hp8f"]
[ext_resource type="AudioStream" uid="uid://cjbpfnlwcpjh0" path="res://common/audio_manager/assets/morceaux/niveau/forest_waiting.ogg" id="12_xmumj"]
[ext_resource type="AudioStream" uid="uid://8nmr5vifkt1f" path="res://common/audio_manager/assets/sfx/harvest/harvest_1.wav" id="13_xoaox"]
[ext_resource type="AudioStream" uid="uid://dgkdcq4j6fe3o" path="res://common/audio_manager/assets/sfx/harvest/harvest_2.wav" id="14_b5bgj"]
[ext_resource type="AudioStream" uid="uid://crncg0mdx1fdw" path="res://common/audio_manager/assets/morceaux/demo/ending.ogg" id="14_h3tkm"]
[ext_resource type="AudioStream" uid="uid://llxrlwfccywb" path="res://common/audio_manager/assets/sfx/dig/dig_3.wav" id="15_rlnfe"]
[ext_resource type="AudioStream" uid="uid://eh3dbuxu5qtw" path="res://common/audio_manager/assets/sfx/harvest/harvest_3.wav" id="15_ynvb4"]
[ext_resource type="AudioStream" uid="uid://bown4yipeef8l" path="res://common/audio_manager/assets/sfx/harvest/harvest_4.wav" id="16_obeji"]
[ext_resource type="AudioStream" uid="uid://delq7gsdeqjq2" path="res://common/audio_manager/assets/sfx/respawn/respawn.wav" id="16_xmumj"]
[ext_resource type="AudioStream" uid="uid://cbo4ld2yypmte" path="res://common/audio_manager/assets/sfx/harvest/harvest_5.wav" id="17_6w0re"]
[ext_resource type="AudioStream" uid="uid://bdxkvaciw4mb3" path="res://common/audio_manager/assets/sfx/dig/dig_2.wav" id="17_bfg8q"]
[ext_resource type="AudioStream" uid="uid://da3srn8vx4erd" path="res://common/audio_manager/assets/sfx/vending_machine/item-drop.wav" id="18_ehr7m"]
[ext_resource type="AudioStream" uid="uid://cs4y6sinpth8e" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_1.wav" id="18_j8acj"]
[ext_resource type="AudioStream" uid="uid://c5nfoa6v3r5f7" path="res://common/audio_manager/assets/sfx/harvest/harvest_6.wav" id="18_o4guq"]
[ext_resource type="AudioStream" uid="uid://cbre45rky1f4v" path="res://common/audio_manager/assets/sfx/vending_machine/dragon-studio-power-off-386180.mp3" id="19_aedoe"]
[ext_resource type="AudioStream" uid="uid://bbhkivgarlhqm" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_2.wav" id="19_yjs51"]
[ext_resource type="AudioStream" uid="uid://ccfubsk6135qy" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_3.wav" id="20_4ojdh"]
[ext_resource type="AudioStream" uid="uid://bjind1iji0gt7" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_1.wav" id="20_pu6t4"]
[ext_resource type="AudioStream" uid="uid://ds4rc2k28kgqx" path="res://common/audio_manager/assets/sfx/door/door_opening.wav" id="20_yr73o"]
[ext_resource type="AudioStream" uid="uid://cqa0gvgpoa7pd" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_2.wav" id="21_dk5s6"]
[ext_resource type="AudioStream" uid="uid://cbm4r5bf7py11" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_4.wav" id="21_ehr7m"]
[ext_resource type="AudioStream" uid="uid://dq5qwydrca3vy" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_5.wav" id="22_aedoe"]
[ext_resource type="AudioStream" uid="uid://d1cpi438ep0ys" path="res://common/audio_manager/assets/sfx/announce/annnounce.wav" id="22_btfwx"]
[ext_resource type="AudioStream" uid="uid://bnwtgp8t46xwc" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_6.wav" id="23_ge2sc"]
[ext_resource type="AudioStream" uid="uid://bp3wsncvda5gl" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_7.wav" id="24_yr73o"]
[ext_resource type="AudioStream" uid="uid://b4jx8rflw7dss" path="res://common/audio_manager/assets/sfx/phone/phone_ringing_Astra.wav" id="27_0rjel"]
[ext_resource type="AudioStream" uid="uid://ocm1dkkhv7ls" path="res://common/audio_manager/assets/sfx/phone/phone_ringing.wav" id="28_3dfjn"]
[ext_resource type="AudioStream" uid="uid://8juy5ev3rdfh" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_1.wav" id="29_ngi21"]
[ext_resource type="AudioStream" uid="uid://su387eovtrsg" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_2.wav" id="30_xmumj"]
[ext_resource type="AudioStream" uid="uid://bp6mtpqjf4txo" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_3.wav" id="31_spekb"]
[ext_resource type="AudioStream" uid="uid://dnyyeba4yoafp" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_4.wav" id="32_iaiio"]
[ext_resource type="AudioStream" uid="uid://buobk1kxoy80e" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_5.wav" id="33_w2elg"]
[ext_resource type="AudioStream" uid="uid://b8etbfvikq7pm" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_6.wav" id="34_em3o8"]
[ext_resource type="AudioStream" uid="uid://cad0erjq0us08" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_7.wav" id="35_rk2e0"]
[ext_resource type="AudioStream" uid="uid://c6pl2fjg558j3" path="res://common/audio_manager/assets/sfx/plant_points/plant_point_8.wav" id="36_4sa2t"]
[ext_resource type="AudioStream" uid="uid://6id31r7o6trc" path="res://common/audio_manager/assets/sfx/ship_reveal/jingle_vaisseau.wav" id="37_3dfjn"]
[ext_resource type="AudioStream" uid="uid://bw8qfto0htdha" path="res://common/audio_manager/assets/sfx/atterrissage/atterrissage.wav" id="40_h3tkm"]
[ext_resource type="AudioStream" uid="uid://c5y70k3codtn" path="res://common/audio_manager/assets/sfx/signal/signal.mp3" id="41_iaiio"]
[ext_resource type="AudioStream" uid="uid://8d767ar56fhb" path="res://common/audio_manager/assets/sfx/decollage/decollage.wav" id="41_iyxkn"]
[ext_resource type="AudioStream" uid="uid://i6kgjh5vkdar" path="res://common/audio_manager/assets/sfx/elevator/elevator.wav" id="42_obkny"]
[ext_resource type="AudioStream" uid="uid://ctfaxvblcg5lc" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_1.wav" id="43_kbm55"]
[ext_resource type="AudioStream" uid="uid://c1dnklmka2ccn" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_2.wav" id="44_rb87w"]
[ext_resource type="AudioStream" uid="uid://dd1uu6dd6sloe" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_3.wav" id="45_mur2l"]
[ext_resource type="AudioStream" uid="uid://eq7wufwnolto" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_4.wav" id="46_t0v4u"]
[ext_resource type="AudioStream" uid="uid://cv7sj8n5oo1i8" path="res://common/audio_manager/assets/sfx/screen_bip/screen_bip.wav" id="47_svctq"]
[ext_resource type="AudioStream" uid="uid://sgwvpxiul5x5" path="res://common/audio_manager/assets/sfx/ship_exit/ship_exit.wav" id="48_j8acj"]
[ext_resource type="AudioStream" uid="uid://ca0wonha334cl" path="res://common/audio_manager/assets/sfx/teleportation/teleport.wav" id="50_rlnfe"]
[ext_resource type="AudioStream" uid="uid://cv5avkd3qekt7" path="res://common/audio_manager/assets/sfx/movement/movement.wav" id="51_iyxkn"]
[ext_resource type="AudioStream" uid="uid://53ixfbcd5qwu" path="res://common/audio_manager/assets/sfx/holo/holo_appear.wav" id="63_aedoe"]
[ext_resource type="AudioStream" uid="uid://dsijqgnnadgem" path="res://common/audio_manager/assets/sfx/holo/holo_disappear.wav" id="64_ge2sc"]
[ext_resource type="AudioStream" uid="uid://c7ehk3l4q3qg1" path="res://common/audio_manager/assets/sfx/vending_machine/VM_item_drop.wav" id="62_yr73o"]
[ext_resource type="AudioStream" uid="uid://dgs7j7itgedoy" path="res://common/audio_manager/assets/sfx/vending_machine/VM_power_off.wav" id="63_lwdce"]
[ext_resource type="AudioStream" uid="uid://cij7rpji5tutr" path="res://common/audio_manager/assets/sfx/vending_machine/VM_power_on.wav" id="64_qvjf5"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_1w04j"]
random_pitch = 1.2
streams_count = 1
stream_0/stream = ExtResource("12_4hp8f")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_i4m0x"]
random_pitch = 1.2599211
streams_count = 6
stream_0/stream = ExtResource("13_xoaox")
stream_1/stream = ExtResource("14_b5bgj")
stream_2/stream = ExtResource("15_ynvb4")
stream_3/stream = ExtResource("16_obeji")
stream_4/stream = ExtResource("17_6w0re")
stream_5/stream = ExtResource("18_o4guq")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_jjdv2"]
random_pitch = 1.2
streams_count = 2
stream_0/stream = ExtResource("20_pu6t4")
stream_1/stream = ExtResource("21_dk5s6")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_qog4c"]
random_pitch = 1.2599211
streams_count = 8
stream_0/stream = ExtResource("29_ngi21")
stream_1/stream = ExtResource("30_xmumj")
stream_2/stream = ExtResource("31_spekb")
stream_3/stream = ExtResource("32_iaiio")
stream_4/stream = ExtResource("33_w2elg")
stream_5/stream = ExtResource("34_em3o8")
stream_6/stream = ExtResource("35_rk2e0")
stream_7/stream = ExtResource("36_4sa2t")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_yjs51"]
random_pitch = 1.2599211
streams_count = 4
stream_0/stream = ExtResource("43_kbm55")
stream_1/stream = ExtResource("44_rb87w")
stream_2/stream = ExtResource("45_mur2l")
stream_3/stream = ExtResource("46_t0v4u")
[node name="AudioManager" type="Node" unique_id=1871137180]
process_mode = 3
script = ExtResource("1_0tvca")
[node name="Ambiances" type="Node" parent="." unique_id=1989991562]
unique_name_in_owner = true
[node name="Exterior" type="AudioStreamPlayer" parent="Ambiances" unique_id=1405716780]
unique_name_in_owner = true
stream = ExtResource("2_tuvql")
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
unique_name_in_owner = true
stream = ExtResource("5_8204s")
[node name="Demeter" type="AudioStreamPlayer" parent="Ambiances" unique_id=351918026]
unique_name_in_owner = true
stream = ExtResource("6_8204s")
[node name="Borea" type="AudioStreamPlayer" parent="Ambiances" unique_id=1857904648]
unique_name_in_owner = true
stream = ExtResource("7_spekb")
[node name="Ship" type="AudioStreamPlayer" parent="Ambiances" unique_id=1564186965]
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
[node name="RegionForestPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=1029114070]
unique_name_in_owner = true
stream = ExtResource("6_6o1yh")
[node name="RegionForestPhase2" type="AudioStreamPlayer" parent="Musics" unique_id=417543634]
unique_name_in_owner = true
stream = ExtResource("10_tq535")
[node name="RegionMinePhase1" type="AudioStreamPlayer" parent="Musics" unique_id=152032267]
unique_name_in_owner = true
stream = ExtResource("5_ajci6")
[node name="RegionMinePhase2" type="AudioStreamPlayer" parent="Musics" unique_id=348001141]
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")
bus = &"Music"
[node name="RegionMineLoop" type="AudioStreamPlayer" parent="Musics" unique_id=814165127]
unique_name_in_owner = true
stream = ExtResource("11_ngi21")
bus = &"Music"
[node name="Title" type="AudioStreamPlayer" parent="Musics" unique_id=2105759422]
unique_name_in_owner = true
stream = ExtResource("7_tuvql")
bus = &"Music"
[node name="Demo_end" type="AudioStreamPlayer" parent="Musics" unique_id=261817716]
unique_name_in_owner = true
stream = ExtResource("14_h3tkm")
[node name="Sfx" type="Node" parent="." unique_id=2023641207]
unique_name_in_owner = true
[node name="Dig" type="AudioStreamPlayer" parent="Sfx" unique_id=486042600]
stream = SubResource("AudioStreamRandomizer_6o1yh")
[node name="VendingMachineDrop" type="AudioStreamPlayer" parent="Sfx" unique_id=1161500181]
stream = ExtResource("18_ehr7m")
pitch_scale = 0.81
[node name="VendingMachineOff" type="AudioStreamPlayer" parent="Sfx" unique_id=743754597]
stream = ExtResource("19_aedoe")
volume_db = -14.149
pitch_scale = 0.75
[node name="DoorOpen" type="AudioStreamPlayer" parent="Sfx" unique_id=1440910292]
stream = ExtResource("20_yr73o")
pitch_scale = 1.5
[node name="Recharge1" type="AudioStreamPlayer" parent="Sfx" unique_id=357905012]
stream = ExtResource("18_j8acj")
[node name="Recharge2" type="AudioStreamPlayer" parent="Sfx" unique_id=261310291]
stream = ExtResource("19_yjs51")
[node name="Recharge3" type="AudioStreamPlayer" parent="Sfx" unique_id=1559567919]
stream = ExtResource("20_4ojdh")
[node name="Recharge4" type="AudioStreamPlayer" parent="Sfx" unique_id=1697092547]
stream = ExtResource("21_ehr7m")
[node name="Recharge5" type="AudioStreamPlayer" parent="Sfx" unique_id=1385679733]
stream = ExtResource("22_aedoe")
[node name="Recharge6" type="AudioStreamPlayer" parent="Sfx" unique_id=391499157]
stream = ExtResource("23_ge2sc")
[node name="Recharge7" type="AudioStreamPlayer" parent="Sfx" unique_id=355754872]
stream = ExtResource("24_yr73o")
[node name="Respawn" type="AudioStreamPlayer" parent="Sfx" unique_id=1902559716]
stream = ExtResource("16_xmumj")
[node name="Drop" type="AudioStreamPlayer" parent="Sfx" unique_id=1391500830]
stream = SubResource("AudioStreamRandomizer_1w04j")
volume_db = -2.0
[node name="Harvest" type="AudioStreamPlayer" parent="Sfx" unique_id=345539331]
stream = SubResource("AudioStreamRandomizer_i4m0x")
[node name="PickUp" type="AudioStreamPlayer" parent="Sfx" unique_id=176915166]
stream = SubResource("AudioStreamRandomizer_jjdv2")
volume_db = -11.0
[node name="Announce" type="AudioStreamPlayer" parent="Sfx" unique_id=876644323]
stream = ExtResource("22_btfwx")
volume_db = 8.627
[node name="Astra_phone_call" type="AudioStreamPlayer" parent="Sfx" unique_id=721344636]
stream = ExtResource("27_0rjel")
[node name="Phone_call" type="AudioStreamPlayer" parent="Sfx" unique_id=1668278453]
stream = ExtResource("28_3dfjn")
[node name="PlantPoint" type="AudioStreamPlayer" parent="Sfx" unique_id=2044025024]
stream = SubResource("AudioStreamRandomizer_qog4c")
[node name="Reveal" type="AudioStreamPlayer" parent="Sfx" unique_id=1597352608]
stream = ExtResource("37_3dfjn")
volume_db = -3.0
[node name="Ship_reveal" type="AudioStreamPlayer" parent="Sfx" unique_id=1121632306]
stream = ExtResource("37_3dfjn")
volume_db = -3.0
[node name="Signal" type="AudioStreamPlayer" parent="Sfx" unique_id=335682989]
stream = ExtResource("41_iaiio")
volume_db = -10.0
[node name="Atterrissage" type="AudioStreamPlayer" parent="Sfx" unique_id=2021186625]
stream = ExtResource("40_h3tkm")
[node name="Decollage" type="AudioStreamPlayer" parent="Sfx" unique_id=581331122]
stream = ExtResource("41_iyxkn")
[node name="Elevator" type="AudioStreamPlayer" parent="Sfx" unique_id=1345852969]
stream = ExtResource("42_obkny")
[node name="Mining" type="AudioStreamPlayer" parent="Sfx" unique_id=1122216774]
stream = SubResource("AudioStreamRandomizer_yjs51")
[node name="Screen_interaction" type="AudioStreamPlayer" parent="Sfx" unique_id=1140309368]
stream = ExtResource("47_svctq")
volume_db = -8.0
[node name="Ship_exit" type="AudioStreamPlayer" parent="Sfx" unique_id=615567072]
stream = ExtResource("48_j8acj")
volume_db = 8.0
[node name="Movement" type="AudioStreamPlayer" parent="Sfx" unique_id=1403498558]
stream = ExtResource("51_iyxkn")
volume_db = -7.0
[node name="Teleportation" type="AudioStreamPlayer" parent="Sfx" unique_id=369599456]
stream = ExtResource("50_rlnfe")
volume_db = -6.0
[node name="HoloAppear" type="AudioStreamPlayer" parent="Sfx" unique_id=637436824]
stream = ExtResource("63_aedoe")
volume_db = -6.0
[node name="HoloDisappear" type="AudioStreamPlayer" parent="Sfx" unique_id=1756615928]
stream = ExtResource("64_ge2sc")
volume_db = -6.0
[node name="Teleportation" type="AudioStreamPlayer" parent="Sfx" unique_id=369599456]
stream = ExtResource("50_rlnfe")
volume_db = -3.0
[node name="Door_opening" type="AudioStreamPlayer" parent="Sfx" unique_id=1045862259]
[node name="VM_drop" type="AudioStreamPlayer" parent="Sfx" unique_id=1831741123]
stream = ExtResource("62_yr73o")
[node name="VM_power_off" type="AudioStreamPlayer" parent="Sfx" unique_id=2112201239]
stream = ExtResource("63_lwdce")
[node name="VM_power_on" type="AudioStreamPlayer" parent="Sfx" unique_id=617324673]
stream = ExtResource("64_qvjf5")

View File

@@ -15,6 +15,7 @@ const REGION_FIRST_PHASE = [
]
const REGION_LOOP_PHASE = [
"RegionForestLoop",
"RegionForestLoop",
"RegionForestLoop",
"RegionMineLoop",
@@ -36,30 +37,35 @@ var default_volumes := {}
func _on_change_scene(scene : Scene):
stop_all_ambiances()
match scene.scene_id:
"TITLE":
play_music_alone("Title", false, 1.0)
"INTRO":
stop_all_musics()
"REGION":
play_ambiance("Exterior", false)
var region_level = GameInfo.game_data.current_region_data.region_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)]
play_music_alone(first_phase)
queue_music(loop_phase, first_phase)
"COCKPIT":
stop_all_musics()
play_ambiance_alone("Ship", true, 1.0)
"ASTRA":
stop_all_musics()
play_ambiance_alone("Astra", false)
"GARAGE":
stop_all_musics()
play_ambiance_alone("Astra", false)
"BOREA":
stop_all_musics()
play_ambiance_alone("Borea", false)
if (scene is TitleScene):
play_music_alone("Title", false, 5.0)
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)]
play_music_alone(first_phase)
queue_music(loop_phase, first_phase)
elif scene is CockpitScene:
stop_all_musics()
play_ambiance_alone("Ship", true)
elif scene is AstraScene:
stop_all_musics()
play_ambiance_alone("Astra", false)
elif scene is GarageScene:
stop_all_musics()
play_ambiance_alone("Astra", false)
elif scene is BoreaScene:
stop_all_musics()
play_ambiance_alone("Borea", false)
elif scene is VendingMachineScene:
stop_all_musics()
play_ambiance_alone("VendingRoom", false)
elif scene is RelayBaseScene:
stop_all_musics()
play_ambiance_alone("BaseRelais", false)
# Fonction s'exécutant à chaque début de timeline
func _on_timeline_started():
@@ -364,7 +370,7 @@ class AudioStop extends AudioAction:
current_players : Array[String]
) -> Array[String]:
var player = manager.get_player_from_node(player_name,parent_node)
if player and player in current_players:
if player and player.name in current_players:
manager.stop_player(player, fade_time)
current_players.erase(player_name)
return current_players

View File

@@ -0,0 +1,64 @@
@abstract
extends Resource
class_name Artefact
const ARTEFACT_ICON = preload("res://common/icons/cube-3d-sphere.svg")
const DESC_ICON = preload("res://common/icons/align-right.svg")
@abstract func get_artefact_name() -> String
@abstract func get_3d_scene() -> PackedScene
func get_artefact_desc() -> String:
return ""
func modify_player_max_energy(v : int) -> int:
return v
func modify_player_inventory_size(v : int) -> int:
return v
func modify_seed_rarity_pool(seed_rarity_pool : Array[int]) -> Array[int]:
return seed_rarity_pool
func modify_plant_growing_time(plant_growing_time : int) -> int:
return plant_growing_time
func modify_plant_lifetime(plant_lifetime : int) -> int:
return plant_lifetime
func modify_plant_seed_number(plant_seed_number : int) -> int:
return plant_seed_number
func modify_plant_base_score(plant_base_score : int) -> int:
return plant_base_score
func modify_plant_seed_random_loose(plant_seed_random_loose : int) -> int:
return plant_seed_random_loose
func modify_plant_influence_radius(plant_influence_radius : float) -> float:
return plant_influence_radius
func modify_mutation_probability(plant_mutation_probability) -> float:
return plant_mutation_probability
func modify_mutation_max_number(plant_mutation_max_number) -> int:
return plant_mutation_max_number
func card_info() -> CardInfo:
var info = CardInfo.new(
get_artefact_name(),
tr("ARTEFACT")
)
info.important_stat_icon = ARTEFACT_ICON
var desc_section := CardSectionInfo.new(
tr("DESCRIPTION"),
get_artefact_desc(),
)
desc_section.title_icon = DESC_ICON
info.sections.append(desc_section)
return info

View File

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

Binary file not shown.

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dolv2637emdbw"
path="res://.godot/imported/pile.blend-80c2c782d9d6ad4f0e2e2546a3d5b176.scn"
[deps]
source_file="res://common/game_data/scripts/artefacts/pile/pile.blend"
dest_files=["res://.godot/imported/pile.blend-80c2c782d9d6ad4f0e2e2546a3d5b176.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": {
"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

Binary file not shown.

View File

@@ -0,0 +1,15 @@
@tool
extends Artefact
class_name PileArtefact
func get_artefact_name() -> String:
return "PILE"
func get_artefact_desc() -> String:
return "PILE_DESC_TEXT"
func get_3d_scene() -> PackedScene:
return preload("res://common/game_data/scripts/artefacts/pile/pile.blend")
func modify_player_max_energy(v : int) -> int:
return v + 1

View File

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

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cclvb8o3vofff"
path="res://.godot/imported/seed_case.blend-c6a943c9ac5e07f38ec4fc399a8f6f42.scn"
[deps]
source_file="res://common/game_data/scripts/artefacts/seed_case/seed_case.blend"
dest_files=["res://.godot/imported/seed_case.blend-c6a943c9ac5e07f38ec4fc399a8f6f42.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": {
"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

View File

@@ -0,0 +1,15 @@
@tool
extends Artefact
class_name SeedCaseArtefact
func get_artefact_name() -> String:
return "SEED_CASE"
func get_artefact_desc() -> String:
return "SEED_CASE_DESC_TEXT"
func get_3d_scene() -> PackedScene:
return preload("res://common/game_data/scripts/artefacts/seed_case/seed_case.blend")
func modify_player_inventory_size(v : int) -> int:
return v + 1

View File

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

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://xwjwwmhd4b7t"
path="res://.godot/imported/stabilisator.blend-3a4d21b03376590b925002fb56f41279.scn"
[deps]
source_file="res://common/game_data/scripts/artefacts/stabilisator/stabilisator.blend"
dest_files=["res://.godot/imported/stabilisator.blend-3a4d21b03376590b925002fb56f41279.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": {
"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

View File

@@ -0,0 +1,15 @@
@tool
extends Artefact
class_name StabilisatorArtefact
func get_artefact_name() -> String:
return "STABILISATOR"
func get_artefact_desc() -> String:
return "STABILISATOR_DESC_TEXT"
func get_3d_scene() -> PackedScene:
return preload("res://common/game_data/scripts/artefacts/stabilisator/stabilisator.blend")
func modify_plant_lifetime(plant_lifetime : int) -> int:
return plant_lifetime + 1

View File

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

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bb4675xxby4li"
path="res://.godot/imported/talion_overloader.blend-8cbf53dd089d03a7feecf8f09620bb83.scn"
[deps]
source_file="res://common/game_data/scripts/artefacts/talion_overloader/talion_overloader.blend"
dest_files=["res://.godot/imported/talion_overloader.blend-8cbf53dd089d03a7feecf8f09620bb83.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": {
"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

View File

@@ -0,0 +1,15 @@
@tool
extends Artefact
class_name TalionOverloaderArtefact
func get_artefact_name() -> String:
return "TALION_OVERLOADER"
func get_artefact_desc() -> String:
return "TALION_OVERLOADER_DESC_TEXT"
func get_3d_scene() -> PackedScene:
return preload("res://common/game_data/scripts/artefacts/talion_overloader/talion_overloader.blend")
func modify_mutation_max_number(plant_mutation_max_number) -> int:
return plant_mutation_max_number + 1

View File

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

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bv12sx67hij1s"
path="res://.godot/imported/talion_relay.blend-7f1bb942cac95750ceb5345d8092e7ac.scn"
[deps]
source_file="res://common/game_data/scripts/artefacts/talion_relay/talion_relay.blend"
dest_files=["res://.godot/imported/talion_relay.blend-7f1bb942cac95750ceb5345d8092e7ac.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": {
"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

View File

@@ -0,0 +1,15 @@
@tool
extends Artefact
class_name TalionRelayArtifact
func get_artefact_name() -> String:
return "TALION_RELAY"
func get_artefact_desc() -> String:
return "TALION_RELAY_DESC_TEXT"
func get_3d_scene() -> PackedScene:
return preload("res://common/game_data/scripts/artefacts/talion_relay/talion_relay.blend")
func modify_mutation_probability(plant_mutation_probability) -> float:
return plant_mutation_probability * 1.5

View File

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

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bpvk3ldu7pkyv"
path="res://.godot/imported/talion_soil.blend-37ee0f905ace3681bafa4c72e1bfb134.scn"
[deps]
source_file="res://common/game_data/scripts/artefacts/talion_soil/talion_soil.blend"
dest_files=["res://.godot/imported/talion_soil.blend-37ee0f905ace3681bafa4c72e1bfb134.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": {
"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

View File

@@ -0,0 +1,15 @@
@tool
extends Artefact
class_name TalionSoilArtifact
func get_artefact_name() -> String:
return "TALION_SOIL"
func get_artefact_desc() -> String:
return "TALION_SOIL_DESC_TEXT"
func get_3d_scene() -> PackedScene:
return preload("res://common/game_data/scripts/artefacts/talion_soil/talion_soil.blend")
func modify_plant_influence_radius(plant_influence_radius : float) -> float:
return plant_influence_radius * 1.4

View File

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

View File

@@ -1,33 +1,51 @@
extends Resource
class_name GameData
enum GameMode {STORY}
signal current_run_updated(r : RunData)
signal current_region_data_updated(p : RegionData)
@export var current_run : RunData = null
@export var current_region_data : RegionData = null
@export var player_data : PlayerData = PlayerData.new()
@export var max_mutations_by_plant : int = 2
@export var progression_data : ProgressionData = ProgressionData.new()
@export var current_run : RunData = start_run() :
set(v):
current_run = v
current_run_updated.emit(v)
@export var current_region_data : RegionData = null :
set(v):
current_region_data = v
current_region_data_updated.emit(v)
@export var last_game_scene : Scene = null
@export var ship_in_space = false
@export var tutorial_done = false
@export var incubator_used = []
@export var dead_orchid_position : Vector3
@export var dead_orchid_rotation : Vector3
@export var dialogs_done : Array[String] = [] #Chemin des dialogues démarrés
@export var item_announced = []
func start_run():
player_data.inventory.clear_items()
@export var game_mode : GameMode = GameMode.STORY
@export var dialogs_done : Array[String] = [] #Chemin des dialogues terminés
func start_run() -> RunData:
player_data.clear_inventory()
player_data.update_with_artefacts([])
current_run = RunData.new()
current_run.story_step = progression_data.story_step.duplicate_deep()
current_run.generate_next_run_points()
current_run.current_run_point_changed.connect(
func(rp : RunPoint):
start_region(rp.region_parameter)
)
ship_in_space = false
return current_run
func reset_player():
player_data = PlayerData.new()
@@ -38,20 +56,14 @@ func reset_all():
func start_region(region_param : RegionParameter):
current_region_data = RegionData.new(region_param)
current_region_data_updated.emit(current_region_data)
GameInfo.save_game_data()
func give_up():
current_region_data = null
current_run = null
start_run()
SceneManager.change_to_scene(progression_data.story_step.get_respawn_scene())
func start_tutorial():
current_region_data = RegionData.new(
RegionParameter.new(
0,
tr("TUTORIAL"),
["tutorial"],
[],
randi()
)
)
func finish_story_step():
progression_data.next_story_step()
current_region_data = null
start_run()

View File

@@ -0,0 +1,57 @@
extends Resource
class_name ProgressionData
@export var planted_mutation_ids: Array[String] = []
@export var story_step_i := 0
@export var ship_tutorial_done = false
var all_mutations: Array[PlantMutation] : get = get_all_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
func get_story_step() -> StoryStep:
return get_all_story_steps()[story_step_i]
func next_story_step() -> void:
get_story_step()._on_finish()
if story_step_i + 1 < len(get_all_story_steps()):
story_step_i += 1
func get_all_mutations() -> Array[PlantMutation]:
return [
AncientMutation.new(),
FertileMutation.new(),
GenerousMutation.new(),
HurriedMutation.new(),
PrecociousMutation.new(),
ProlificMutation.new(),
ProtectiveMutation.new(),
PureMutation.new(),
PurificationMutation.new(),
QualityMutation.new(),
QuickMutation.new(),
RobustMutation.new(),
SocialMutation.new(),
ToughMutation.new(),
VivaciousMutation.new(),
]
func get_all_artifacts() -> Array[Artefact]:
return [
PileArtefact.new(),
SeedCaseArtefact.new(),
StabilisatorArtefact.new(),
TalionOverloaderArtefact.new(),
TalionSoilArtifact.new(),
]
func get_all_story_steps() -> Array[StoryStep]:
return [
TutorialStoryStep.new(),
AstraStoryStep.new(),
MercuryStoryStep.new(),
BetaStoryStep.new()
]

View File

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

View File

@@ -1,97 +1,124 @@
extends Resource
class_name RunData
enum State {STARTED, IN_PROGRESS, FINISHED}
const RUN_POINT_POSITION_DERIVATION = 100
const DIFFICULTY_INCREASE_BY_LEVEL = 3
const RUN_POINTS_NEXT_NUMBER : int = 2
const RUN_POINT_MAX_LEVEL = 2 # TODO
const RUN_POINT_MAX_LEVEL = 5 # TODO
signal current_run_point_changed
signal current_run_point_changed(rp : RunPoint)
var run_seed = randi()
@export var next_run_points : Array[RunPoint] = generate_next_run_points()
@export var level = 0
@export var story_step : StoryStep
@export var next_run_points : Array[RunPoint]
@export var current_run_point : RunPoint = null :
set(v):
current_run_point = v
current_run_point_changed.emit(v)
@export var visited_run_points : Array[RunPoint] = []
@export var last_used_modifier_name = ""
@export var artefacts : Array[Artefact] = []
#region ------------------ Generation ------------------
var plant_info = RunDataPlantInfo.new(self)
func generate_next_run_points(level = 0) -> Array[RunPoint]:
func is_finished() -> bool:
return story_step.is_run_finished(level)
func get_progress() -> int:
return story_step.get_run_progress(level)
#region ------------------ Run Points ------------------
func generate_next_run_points() -> Array[RunPoint]:
next_run_points = []
for i in range(RUN_POINTS_NEXT_NUMBER):
for i in range(story_step.get_run_point_number(level+1)):
next_run_points.append(
generate_next_run_point(level)
generate_next_run_point()
)
return next_run_points
func generate_next_run_point(level = 0) -> RunPoint:
func generate_next_run_point() -> RunPoint:
var region_parameter = RegionParameter.new()
region_parameter.level = level
region_parameter.region_flags = get_region_flags(region_parameter)
region_parameter.modifiers = get_region_modifiers(level + 1)
var next_level = level+1
if story_step.need_gameplay_modifier(next_level):
var is_challenge = randf() < story_step.get_challenge_chance(next_level)
if is_challenge:
region_parameter.modifiers = [
generate_challenge_modifiers().pick_random(),
generate_benefic_modifiers().pick_random()
] as Array[RegionModifier]
else:
region_parameter.modifiers = [
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:
if (level - first_vending)%vending_occurence == 0:
region_parameter.modifiers.append(VendingMachineModifier.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)
return RunPoint.new(
level,
region_parameter
)
#endregion
func get_state() -> State:
if not current_run_point:
return State.STARTED
elif current_run_point.level == RUN_POINT_MAX_LEVEL:
return State.FINISHED
else :
return State.IN_PROGRESS
func get_next_run_points() -> Array[RunPoint]:
if current_run_point and current_run_point.level == RUN_POINT_MAX_LEVEL:
return []
return next_run_points
func choose_next_run_point(run_point : RunPoint) -> RunPoint:
if current_run_point:
visited_run_points.append(current_run_point)
func choose_next_run_point(run_point : RunPoint = null) -> RunPoint:
if run_point == null:
run_point = generate_next_run_point()
level += 1
current_run_point = run_point
GameInfo.game_data.start_region(run_point.region_parameter)
next_run_points = generate_next_run_points(current_run_point.level + 1)
if len(current_run_point.region_parameter.modifiers):
last_used_modifier_name = current_run_point.region_parameter.modifiers[0].get_modifier_name()
next_run_points = generate_next_run_points()
return current_run_point
func get_region_flags(region_parameter : RegionParameter) -> Array[String]:
var flags : Array[String] = []
#endregion
if region_parameter.level == RUN_POINT_MAX_LEVEL:
flags.append("borea")
return flags
#region ------------------ Modifiers ------------------
func generate_normal_modifiers() -> Array[RegionModifier]:
return [
AridModifier.new(),
HumidModifier.new(),
PoorModifier.new(),
HarshModifier.new(),
ToxicModifier.new(),
SandyModifier.new(),
func get_region_modifiers(level : int) -> Array[RegionModifier]:
var possible_modifiers : Array[RegionModifier] = [
AridModifier.new(level),
HumidModifier.new(level),
PoorModifier.new(level),
HarshModifier.new(level)
]
possible_modifiers = possible_modifiers.filter(
func (m): return m.get_modifier_name() != last_used_modifier_name
)
func generate_benefic_modifiers() -> Array[RegionModifier]:
return [
VendingMachineModifier.new(),
ResonnanceModifier.new(),
InstableModifier.new(),
]
var choosen_modifier : RegionModifier = possible_modifiers.pick_random()
last_used_modifier_name = choosen_modifier.get_modifier_name()
func generate_challenge_modifiers() -> Array[RegionModifier]:
return [
RockyModifier.new(),
RadioactiveModifier.new(),
ContaminatedModifier.new(),
StormModifier.new(),
]
return [choosen_modifier]
#endregion
#region ------------------ Artefacts ------------------
func add_artefacts(a: Artefact):
artefacts.append(a)
GameInfo.game_data.player_data.update_with_artefacts(artefacts)
#endregion

View File

@@ -0,0 +1,113 @@
extends Node
class_name RunDataPlantInfo
const DEFAULT_GROWING_TIME = 2
const DEFAULT_LIFETIME = 6
const DEFAULT_BASE_SCORE = 1
const DEFAULT_SEED_NUMBER = 2
const DEFAULT_SEED_RANDOM_LOOSE = 1
const DEFAULT_PLANT_INFLUENCE_RADIUS = 100
const DEFAULT_MUTATION_PROBABILITY = 0.3
const DEFAULT_MUTATION_MAX_NUMBER = 2
var run_data : RunData
func _init(
_run_data : RunData
):
run_data = _run_data
var region_modifiers : Array[RegionModifier]
func get_growing_time() -> int:
var growing_time = DEFAULT_GROWING_TIME
for rm in get_region_modifiers():
growing_time = rm.modify_plant_growing_time(growing_time)
for a in run_data.artefacts:
growing_time = a.modify_plant_growing_time(growing_time)
return max(0, growing_time)
func get_lifetime() -> int:
var lifetime = DEFAULT_LIFETIME
for rm in get_region_modifiers():
lifetime = rm.modify_plant_lifetime(lifetime)
for a in run_data.artefacts:
lifetime = a.modify_plant_lifetime(lifetime)
return max(0, lifetime)
func get_base_score() -> int:
var base_score = DEFAULT_BASE_SCORE
for rm in get_region_modifiers():
base_score = rm.modify_plant_base_score(base_score)
for a in run_data.artefacts:
base_score = a.modify_plant_base_score(base_score)
return max(0, base_score)
func get_seed_number() -> int:
var seed_number = DEFAULT_SEED_NUMBER
for rm in get_region_modifiers():
seed_number = rm.modify_plant_seed_number(seed_number)
for a in run_data.artefacts:
seed_number = a.modify_plant_seed_number(seed_number)
return max(0, seed_number)
func get_seed_random_loose() -> int:
var seed_random_loose = DEFAULT_SEED_RANDOM_LOOSE
for rm in get_region_modifiers():
seed_random_loose = rm.modify_plant_seed_random_loose(seed_random_loose)
for a in run_data.artefacts:
seed_random_loose = a.modify_plant_seed_random_loose(seed_random_loose)
return min(max(0, seed_random_loose),get_seed_number())
func get_influence_radius() -> int:
var influence_radius = DEFAULT_PLANT_INFLUENCE_RADIUS
for rm in get_region_modifiers():
influence_radius = rm.modify_plant_influence_radius(influence_radius)
for a in run_data.artefacts:
influence_radius = a.modify_plant_influence_radius(influence_radius)
return max(0, influence_radius)
func get_mutation_probability() -> float:
var mutation_probability = DEFAULT_MUTATION_PROBABILITY
for rm in get_region_modifiers():
mutation_probability = rm.modify_mutation_probability(mutation_probability)
for a in run_data.artefacts:
mutation_probability = a.modify_mutation_probability(mutation_probability)
return max(0., mutation_probability)
func get_mutation_max_number() -> int:
var mutation_max_number = DEFAULT_MUTATION_MAX_NUMBER
for rm in get_region_modifiers():
mutation_max_number = rm.modify_mutation_max_number(mutation_max_number)
for a in run_data.artefacts:
mutation_max_number = a.modify_mutation_max_number(mutation_max_number)
return max(0., mutation_max_number)
func get_region_modifiers() -> Array[RegionModifier]:
if run_data.current_run_point and run_data.current_run_point.region_parameter:
return run_data.current_run_point.region_parameter.modifiers
return []

View File

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

View File

@@ -4,35 +4,36 @@ class_name RunPoint
const DANGER_ICON = preload("res://common/icons/skull.svg")
const TYPE_ICON = preload("res://common/icons/map-pin.svg")
const OBJECTIVE_ICON = preload("res://common/icons/dna.svg")
const OBJECTIVE_ICON = preload("res://common/icons/growth.svg")
const CHARGE_ICON = preload("res://common/icons/bolt.svg")
@export var level : int = 0 # X pos along the planet, and difficulty
@export var region_parameter : RegionParameter = RegionParameter.new() :
set(v):
region_parameter = v
@export var position : float = 0
func _init(
_level : int = 0,
_region_parameter : RegionParameter = RegionParameter.new(),
_position : float = randf_range(0.,1.),
):
level = _level
region_parameter = _region_parameter
region_parameter.level = level
position = _position
func card_info() -> CardInfo:
var info = CardInfo.new(region_parameter.region_name)
info.important_stat_icon = DANGER_ICON
info.important_stat_text = "%d" % level
var info = CardInfo.new(
region_parameter.get_region_name(),
tr("REGION_TO_VISIT")
)
info.type_icon = TYPE_ICON
info.stats.append_array([
CardStatInfo.new(str(region_parameter.objective), OBJECTIVE_ICON),
CardStatInfo.new(str(region_parameter.charges), CHARGE_ICON),
CardStatInfo.new(str(region_parameter.get_objective()), OBJECTIVE_ICON),
CardStatInfo.new(str(region_parameter.get_charge()), CHARGE_ICON),
])
for m in region_parameter.modifiers:
info.sections.append(m.card_section())
return info

View File

@@ -8,6 +8,7 @@ const AMBIANCE_BUS_ID = 3
signal language_changed(settings : SettingsData)
signal sound_changed(settings : SettingsData)
signal video_changed(settings : SettingsData)
signal game_changed(settings : SettingsData)
#region ------------------ Language ------------------
@@ -52,4 +53,30 @@ const AVAILABLE_LANGUAGES_LABEL = [
#region ------------------ Controls ------------------
@export var action_remapped : Array[String] = []
@export var input_remapped : Array[InputEvent] = []
@export var input_remapped : Array[InputEvent] = []
#region ------------------ Game ------------------
const MAX_ZOOM = 1.8
const MIN_ZOOM = 0.8
# Not in settings pannel
@export var zoom : float = 1. :
set(v):
zoom = min(MAX_ZOOM,max(MIN_ZOOM,v))
game_changed.emit(self)
@export var closed_help_containers = []
func is_help_container_closed(help_container_name : String) -> bool:
return help_container_name in closed_help_containers
func close_help_container(help_container_name : String):
if not help_container_name in closed_help_containers:
closed_help_containers.append(help_container_name)
game_changed.emit(self)
func open_help_container(help_container_name : String):
if help_container_name in closed_help_containers:
closed_help_containers.erase(help_container_name)
game_changed.emit(self)

View File

@@ -0,0 +1,33 @@
extends StoryStep
class_name AstraStoryStep
const MERCURY_ARRIVAL_DIALOG_PATH="res://dialogs/timelines/astra/mercury_arrival.dtl"
func get_respawn_scene() -> Scene:
return AstraScene.new()
func get_destination_text() -> String:
return tr("RELAY_BASE_X") % tr("MERCURY")
func get_destination_scene() -> Scene:
return RelayBaseScene.new(
"MERCURY",
"001"
)
func get_region_sequence_length() -> int:
return 4
func get_first_vending_machine_occurence(_level : int) -> int:
return 0
func get_vending_machine_occurence(_level : int) -> int:
return 0
func get_challenge_chance(_level : int) -> float:
return 0.
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
if ship_in_space and level == get_region_sequence_length() - 1:
return MERCURY_ARRIVAL_DIALOG_PATH
return ""

View File

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

View File

@@ -0,0 +1,31 @@
extends StoryStep
class_name BetaStoryStep
const VENUS_DEPARTURE_DIALOG_PATH = "res://dialogs/timelines/beta/venus_departure.dtl"
func get_respawn_scene() -> Scene:
return RelayBaseScene.new(
"VENUS",
"002",
true
)
func get_objective_for_region(l : int) -> int:
match l:
0: return 8
1: return 15
_: return get_objective_for_region(l-1) + l * 5
func get_region_sequence_length() -> int:
return 12
func get_destination_text() -> String:
return tr("SECRET_SCENE")
func get_destination_scene() -> Scene:
return BoreaScene.new()
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
return VENUS_DEPARTURE_DIALOG_PATH

View File

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

View File

@@ -0,0 +1,32 @@
extends StoryStep
class_name MercuryStoryStep
const MERCURY_DEPARTURE_DIALOG_PATH = "res://dialogs/timelines/mercury/mercury_departure.dtl"
const VENUS_ARRIVAL_DIALOG_PATH = "res://dialogs/timelines/mercury/venus_arrival.dtl"
func get_respawn_scene() -> Scene:
return RelayBaseScene.new(
"MERCURY",
"001",
true
)
func get_destination_text() -> String:
return tr("RELAY_BASE_X") % tr("VENUS")
func get_destination_scene() -> Scene:
return RelayBaseScene.new(
"VENUS",
"002"
)
func get_first_vending_machine_occurence(_level : int) -> int:
return 0
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
if level == 0:
return MERCURY_DEPARTURE_DIALOG_PATH
if ship_in_space and level == get_region_sequence_length() - 1:
return VENUS_ARRIVAL_DIALOG_PATH
return ""

View File

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

View File

@@ -0,0 +1,67 @@
@abstract
extends Resource
class_name StoryStep
#region ------------------ Story ------------------
@abstract func get_respawn_scene() -> Scene
@abstract func get_destination_text() -> String
func get_destination_scene() -> Scene:
return BoreaScene.new()
func get_run_progress(level : int) -> int:
return get_region_sequence_length() - level
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
return ""
#region ------------------ Run ------------------
func is_run_finished(level : int) -> bool:
return level == get_region_sequence_length()
func get_region_sequence_length() -> int:
return 6
func get_first_vending_machine_occurence(_level : int) -> int:
return 2
func get_vending_machine_occurence(_level : int) -> int:
return 4
func get_challenge_chance(_level : int) -> float:
return 0.3
func get_run_point_number(level : int) -> int:
if is_run_finished(level):
return 1
return 2
func get_objective_for_region(level : int) -> int:
match level:
0: return 1
1: return 8
2: return 10
3: return 15
4: return 20
5: return 30
_: return get_objective_for_region(level-1) + (level-3) * 5
func get_story_modifiers_for_region(level : int) -> Array[RegionModifier]:
var modifiers : Array[RegionModifier] = []
if is_run_finished(level):
var dest_mod = DestinationModifier.new()
dest_mod.destination_scene = get_destination_scene()
modifiers.append(dest_mod)
return modifiers
func need_gameplay_modifier(level : int):
if is_run_finished(level):
return false
return true
func _on_finish():
GameInfo.game_data.incubator_used = []
GameInfo.game_data.dead_orchid_position = Vector3.ZERO
GameInfo.game_data.dead_orchid_rotation = Vector3.ZERO

View File

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

View File

@@ -0,0 +1,24 @@
extends StoryStep
class_name TutorialStoryStep
const INTRO_DIALOG = "res://dialogs/timelines/tutorial/demeter_intro.dtl"
func get_respawn_scene() -> Scene:
return AstraScene.new()
func get_destination_text() -> String:
return ""
func get_region_sequence_length() -> int:
return 1
func get_destination_scene() -> Scene: return null
func get_story_modifiers_for_region(_n : int) -> Array[RegionModifier]:
return [
TutorialModifier.new()
]
func _on_finish():
pass

View File

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

View File

@@ -1,6 +1,6 @@
extends Node
const SAVE_GAME_LOCATION = "user://stw_demo_save.tres"
const SAVE_GAME_LOCATION = "user://stw_beta_save.tres"
const SAVE_SETTINGS_LOCATION = "user://stw_settings.tres"
var game_loaded = false
@@ -14,17 +14,19 @@ var game_data : GameData :
var settings_data : SettingsData
var current_dialog_path : String
func load_game_data() -> GameData:
game_data = null
if ResourceLoader.exists(SAVE_GAME_LOCATION):
game_loaded = true
game_data = ResourceLoader.load(SAVE_GAME_LOCATION).duplicate_deep()
else :
game_data = GameData.new()
save_game_data()
return game_data
func start_game_data():
game_data = GameData.new()
save_game_data()
func save_game_data():
if game_data:
ResourceSaver.save(game_data, SAVE_GAME_LOCATION)
@@ -42,10 +44,6 @@ func save_settings():
if settings_data:
ResourceSaver.save(settings_data, SAVE_SETTINGS_LOCATION)
func restart_game_data():
game_data = GameData.new()
save_game_data()
func _init():
load_game_data()
load_settings_data()
@@ -57,6 +55,7 @@ func _init():
func _ready():
Dialogic.timeline_started.connect(_on_timeline_started)
Dialogic.timeline_ended.connect(_on_timeline_ended)
func _on_settings_video_changed(s : SettingsData):
update_video_settings(s)
@@ -70,9 +69,11 @@ func _on_settings_sound_changed(s : SettingsData):
AudioServer.set_bus_volume_db(SettingsData.AMBIANCE_BUS_ID, linear_to_db(s.ambiance_volume))
func _on_timeline_started():
var dialog_path = Dialogic.current_timeline.resource_path
if not dialog_path in game_data.dialogs_done:
game_data.dialogs_done.append(dialog_path)
current_dialog_path = Dialogic.current_timeline.resource_path
func _on_timeline_ended():
if not current_dialog_path in game_data.dialogs_done:
game_data.dialogs_done.append(current_dialog_path)
save_game_data()
func update_language_settings(s : SettingsData = settings_data):

1
common/icons/atom.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-atom"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M12 12v.01" /><path d="M19.071 4.929c-1.562 -1.562 -6 .337 -9.9 4.243c-3.905 3.905 -5.804 8.337 -4.242 9.9c1.562 1.561 6 -.338 9.9 -4.244c3.905 -3.905 5.804 -8.337 4.242 -9.9" /><path d="M4.929 4.929c-1.562 1.562 .337 6 4.243 9.9c3.905 3.905 8.337 5.804 9.9 4.242c1.561 -1.562 -.338 -6 -4.244 -9.9c-3.905 -3.905 -8.337 -5.804 -9.9 -4.242" /></svg>

After

Width:  |  Height:  |  Size: 647 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://n5ohgm4odri5"
path="res://.godot/imported/atom.svg-203f467e4f45f7544a18f8b0644aa19a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/atom.svg"
dest_files=["res://.godot/imported/atom.svg-203f467e4f45f7544a18f8b0644aa19a.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-biohazard"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M16.41 2.072a6.25 6.25 0 0 1 1.514 6.387l-.051 .137l.223 .044q .325 .072 .645 .18l.318 .117l.25 .105c2.155 .97 3.572 3.067 3.681 5.483v.217a1.5 1.5 0 1 1 -3 -.003l.002 -.145a3.25 3.25 0 0 0 -4.412 -2.886l-.091 .037l.004 .038l.007 .217a3.5 3.5 0 0 1 -1.817 3.07l-.16 .082l.014 .11c.082 .511 .285 .997 .595 1.416l.14 .175a3.25 3.25 0 0 0 2.27 1.136l.203 .006a1.5 1.5 0 0 1 0 3a6.25 6.25 0 0 1 -4.575 -1.991l-.177 -.199l-.078 .092a6.3 6.3 0 0 1 -3.921 2.054l-.273 .028l-.259 .016h-.217a1.5 1.5 0 1 1 .003 -3l.145 .002a3.25 3.25 0 0 0 3.074 -2.82l.003 -.03l-.161 -.083a3.5 3.5 0 0 1 -1.804 -2.883l-.005 -.195l.006 -.191l.003 -.043l-.075 -.032a3.25 3.25 0 0 0 -2.398 .008l-.191 .084a3.25 3.25 0 0 0 -1.85 2.933a1.5 1.5 0 0 1 -3 0a6.25 6.25 0 0 1 5.036 -6.13l.077 -.014l-.05 -.143l-.08 -.26l-.066 -.25a6.27 6.27 0 0 1 1.47 -5.678l.163 -.172a1.5 1.5 0 1 1 2.171 2.07l-.137 .143a3.25 3.25 0 0 0 .386 4.723l.084 .062l.05 -.034a3.5 3.5 0 0 1 1.673 -.555l.228 -.007c.683 0 1.336 .197 1.894 .556l.048 .033l.067 -.048a3.25 3.25 0 0 0 1.111 -1.669l.05 -.2a3.25 3.25 0 0 0 -.74 -2.828l-.141 -.15a1.5 1.5 0 1 1 2.12 -2.122" /></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://caljk5xauct42"
path="res://.godot/imported/biohazard.svg-6ba6923078e547162e6b4b8cb587956e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/biohazard.svg"
dest_files=["res://.godot/imported/biohazard.svg-6ba6923078e547162e6b4b8cb587956e.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
common/icons/book-2.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-book-2"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M19 4v16h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12" /><path d="M19 16h-12a2 2 0 0 0 -2 2" /><path d="M9 8h6" /></svg>

After

Width:  |  Height:  |  Size: 419 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b75k12a4wc5t4"
path="res://.godot/imported/book-2.svg-546eaea0c5e445cb4b685ffef3a57787.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/book-2.svg"
dest_files=["res://.godot/imported/book-2.svg-546eaea0c5e445cb4b685ffef3a57787.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-building-factory-2"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 21h18" /><path d="M5 21v-12l5 4v-4l5 4h4" /><path d="M19 21v-8l-1.436 -9.574a.5 .5 0 0 0 -.495 -.426h-1.145a.5 .5 0 0 0 -.494 .418l-1.43 8.582" /><path d="M9 17h1" /><path d="M14 17h1" /></svg>

After

Width:  |  Height:  |  Size: 509 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b752eqq4cm7ve"
path="res://.godot/imported/building-factory-2.svg-a4b206f3f458a0db1cc24ed3ca16f845.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/building-factory-2.svg"
dest_files=["res://.godot/imported/building-factory-2.svg-a4b206f3f458a0db1cc24ed3ca16f845.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-building-store"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M3 21l18 0" /><path d="M3 7v1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1h-18l2 -4h14l2 4" /><path d="M5 21l0 -10.15" /><path d="M19 21l0 -10.15" /><path d="M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4" /></svg>

After

Width:  |  Height:  |  Size: 533 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmersnaoira20"
path="res://.godot/imported/building-store.svg-abd618fb337e10bf0dc4662f37b351cb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/building-store.svg"
dest_files=["res://.godot/imported/building-store.svg-abd618fb337e10bf0dc4662f37b351cb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-butterfly"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M17.117 6.244l.228 .076a5.5 5.5 0 0 1 1.24 9.738l-.063 .039l.02 .034a4 4 0 0 1 .101 3.533l-.093 .19a4 4 0 0 1 -5.55 1.608v-14.857a5.5 5.5 0 0 1 4.118 -.36" /><path d="M8.505 6c.885 0 1.736 .21 2.495 .597v14.87a4 4 0 0 1 -1.012 .41l-.196 .045a4 4 0 0 1 -4.424 -5.587l.118 -.238l-.035 -.023a5.5 5.5 0 0 1 -2.397 -5.258l.034 -.233a5.5 5.5 0 0 1 5.417 -4.583" /><path d="M14.445 2.168a1 1 0 0 1 1.11 1.664l-3 2a1 1 0 0 1 -1.11 0l-3 -2a1 1 0 0 1 1.11 -1.664l2.444 1.63z" /></svg>

After

Width:  |  Height:  |  Size: 699 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://tsa4qv4ublnj"
path="res://.godot/imported/butterfly.svg-198b5686ec49ba6fffeb6c810c104b0d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/butterfly.svg"
dest_files=["res://.godot/imported/butterfly.svg-198b5686ec49ba6fffeb6c810c104b0d.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
common/icons/cactus.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-cactus"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M7 22a1 1 0 0 1 -.117 -1.993l.117 -.007h2v-6a4 4 0 0 1 -3.995 -3.8l-.005 -.2v-1a1 1 0 0 1 1.993 -.117l.007 .117v1a2 2 0 0 0 1.85 1.995l.15 .005v-7a3 3 0 0 1 5.995 -.176l.005 .176v10a2 2 0 0 0 1.995 -1.85l.005 -.15v-5a1 1 0 0 1 1.993 -.117l.007 .117v5a4 4 0 0 1 -3.8 3.995l-.2 .005v3h2a1 1 0 0 1 .117 1.993l-.117 .007h-10z" /></svg>

After

Width:  |  Height:  |  Size: 554 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dy1lkhowfs40l"
path="res://.godot/imported/cactus.svg-bf980582753f79920261a0227d753414.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/cactus.svg"
dest_files=["res://.godot/imported/cactus.svg-bf980582753f79920261a0227d753414.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-carambola"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M17.108 22.085c-1.266 -.068 -2.924 -.859 -5.071 -2.355l-.04 -.027l-.037 .027c-2.147 1.497 -3.804 2.288 -5.072 2.356l-.178 .005c-2.747 0 -3.097 -2.64 -1.718 -7.244l.054 -.178l-.1 -.075c-6.056 -4.638 -5.046 -7.848 2.554 -8.066l.202 -.005l.115 -.326c1.184 -3.33 2.426 -5.085 4.027 -5.192l.156 -.005c1.674 0 2.957 1.76 4.182 5.197l.114 .326l.204 .005c7.6 .218 8.61 3.428 2.553 8.065l-.102 .075l.055 .178c1.35 4.512 1.04 7.137 -1.556 7.24l-.163 .003z" /></svg>

After

Width:  |  Height:  |  Size: 680 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bi5jo6pf0acjb"
path="res://.godot/imported/carambola.svg-5e6376705de1e490bd48f22ac6d19a49.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/carambola.svg"
dest_files=["res://.godot/imported/carambola.svg-5e6376705de1e490bd48f22ac6d19a49.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -3,19 +3,20 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://80gifgp26h2g"
path="res://.godot/imported/check.svg-47a7b8486ac6d60efdca46538f2829a9.ctex"
path.s3tc="res://.godot/imported/check.svg-47a7b8486ac6d60efdca46538f2829a9.s3tc.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://common/icons/check.svg"
dest_files=["res://.godot/imported/check.svg-47a7b8486ac6d60efdca46538f2829a9.ctex"]
dest_files=["res://.godot/imported/check.svg-47a7b8486ac6d60efdca46538f2829a9.s3tc.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
@@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -37,7 +38,7 @@ 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
detect_3d/compress_to=0
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

1
common/icons/clock.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clock"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0" /><path d="M12 7v5l3 3" /></svg>

After

Width:  |  Height:  |  Size: 370 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhy4ewvqvlxyi"
path="res://.godot/imported/clock.svg-730a4e7a10a1bf85842bb9f2c25ee2d8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/clock.svg"
dest_files=["res://.godot/imported/clock.svg-730a4e7a10a1bf85842bb9f2c25ee2d8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-cloud-rain"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7" /><path d="M11 13v2m0 3v2m4 -5v2m0 3v2" /></svg>

After

Width:  |  Height:  |  Size: 417 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ce3hclmo0jcoh"
path="res://.godot/imported/cloud-rain.svg-80379b0936dff4583ecdd239d916ebab.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/cloud-rain.svg"
dest_files=["res://.godot/imported/cloud-rain.svg-80379b0936dff4583ecdd239d916ebab.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
common/icons/cloud.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-cloud"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M10.04 4.305c2.195 -.667 4.615 -.224 6.36 1.176c1.386 1.108 2.188 2.686 2.252 4.34l.003 .212l.091 .003c2.3 .107 4.143 1.961 4.25 4.27l.004 .211c0 2.407 -1.885 4.372 -4.255 4.482l-.21 .005h-11.878l-.222 -.008c-2.94 -.11 -5.317 -2.399 -5.43 -5.263l-.005 -.216c0 -2.747 2.08 -5.01 4.784 -5.417l.114 -.016l.07 -.181c.663 -1.62 2.056 -2.906 3.829 -3.518l.244 -.08z" /></svg>

After

Width:  |  Height:  |  Size: 591 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ca5ay65v2piar"
path="res://.godot/imported/cloud.svg-3c8ab957b71c8c1031955ba13dd97127.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/cloud.svg"
dest_files=["res://.godot/imported/cloud.svg-3c8ab957b71c8c1031955ba13dd97127.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-device-floppy"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M16 3a1 1 0 0 1 .707 .293l4 4a1 1 0 0 1 .293 .707v10a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h1v4a1 1 0 0 0 .883 .993l.117 .007h6a1 1 0 0 0 1 -1v-4zm-4 8a2.995 2.995 0 0 0 -2.995 2.898a1 1 0 0 0 -.005 .102a3 3 0 1 0 3 -3m1 -8v3h-4v-3z" /></svg>

After

Width:  |  Height:  |  Size: 487 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3k7rl7nbp7yx"
path="res://.godot/imported/device-floppy.svg-5df3820d4d7726a3946e4ca79c467896.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/device-floppy.svg"
dest_files=["res://.godot/imported/device-floppy.svg-5df3820d4d7726a3946e4ca79c467896.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-droplet-off"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M18.963 14.938a6.54 6.54 0 0 0 -.899 -4.06l-4.89 -7.26c-.42 -.626 -1.287 -.804 -1.936 -.398a1.376 1.376 0 0 0 -.41 .397l-1.282 1.9m-1.625 2.415l-1.986 2.946c-1.695 2.837 -1.035 6.44 1.567 8.545c2.602 2.105 6.395 2.105 8.996 0a6.83 6.83 0 0 0 1.376 -1.499" /><path d="M3 3l18 18" /></svg>

After

Width:  |  Height:  |  Size: 594 B

View File

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

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-droplet"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10.708 2.372a2.382 2.382 0 0 0 -.71 .686l-4.892 7.26c-1.981 3.314 -1.22 7.466 1.767 9.882c2.969 2.402 7.286 2.402 10.254 0c2.987 -2.416 3.748 -6.569 1.795 -9.836l-4.919 -7.306c-.722 -1.075 -2.192 -1.376 -3.295 -.686z" /></svg>

After

Width:  |  Height:  |  Size: 450 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgl738ihjyow3"
path="res://.godot/imported/droplet.svg-de920737edb24e802e9cdd43f16401b4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/droplet.svg"
dest_files=["res://.godot/imported/droplet.svg-de920737edb24e802e9cdd43f16401b4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-droplets"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 12.003c.541 0 1.045 .273 1.342 .727l2.122 3.273a3.999 3.999 0 0 1 -6.035 5.063c-1.487 -1.248 -1.864 -3.382 -.867 -5.11l2.098 -3.226a1.6 1.6 0 0 1 1.34 -.727" /><path d="M18 12.003c.541 0 1.045 .273 1.342 .727l2.122 3.273a3.999 3.999 0 0 1 -6.035 5.063c-1.487 -1.248 -1.864 -3.382 -.867 -5.11l2.098 -3.227a1.6 1.6 0 0 1 1.34 -.726" /><path d="M12 2.003c.541 0 1.045 .273 1.342 .727l2.122 3.273a3.999 3.999 0 0 1 -6.035 5.063c-1.487 -1.248 -1.864 -3.382 -.867 -5.11l2.098 -3.226a1.6 1.6 0 0 1 1.34 -.727" /></svg>

After

Width:  |  Height:  |  Size: 738 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://el06htgr2pda"
path="res://.godot/imported/droplets.svg-764db2a63540077d3798513e95cb87e1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/droplets.svg"
dest_files=["res://.godot/imported/droplets.svg-764db2a63540077d3798513e95cb87e1.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
common/icons/flower.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-flower"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 1a4 4 0 0 1 4 4l-.002 .055l.03 -.018a3.97 3.97 0 0 1 2.79 -.455l.237 .056a3.97 3.97 0 0 1 2.412 1.865a4.01 4.01 0 0 1 -1.455 5.461l-.068 .036l.071 .039a4.01 4.01 0 0 1 1.555 5.27l-.101 .186a3.97 3.97 0 0 1 -5.441 1.468l-.03 -.02l.002 .057a4 4 0 0 1 -3.8 3.995l-.2 .005a4 4 0 0 1 -4 -4l.001 -.056l-.029 .019a3.97 3.97 0 0 1 -2.79 .456l-.236 -.056a3.97 3.97 0 0 1 -2.413 -1.865a4.01 4.01 0 0 1 1.453 -5.46l.07 -.038l-.071 -.038a4.01 4.01 0 0 1 -1.555 -5.27l.1 -.187a3.97 3.97 0 0 1 5.444 -1.468l.026 .018v-.055a4 4 0 0 1 3.8 -3.995zm0 8a3 3 0 1 0 0 6a3 3 0 0 0 0 -6" /></svg>

After

Width:  |  Height:  |  Size: 799 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ba2prrl2gbmwr"
path="res://.godot/imported/flower.svg-5394846372d38d459cce02036c0aa30c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/flower.svg"
dest_files=["res://.godot/imported/flower.svg-5394846372d38d459cce02036c0aa30c.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
common/icons/globe.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-globe"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M11 4a5 5 0 1 1 -4.995 5.217l-.005 -.217l.005 -.217a5 5 0 0 1 4.995 -4.783z" /><path d="M14.133 1.502a1 1 0 0 1 1.365 -.369a9.015 9.015 0 1 1 -10.404 14.622a1 1 0 1 1 1.312 -1.51a7.015 7.015 0 1 0 8.096 -11.378a1 1 0 0 1 -.369 -1.365z" /><path d="M11 16a1 1 0 0 1 .993 .883l.007 .117v4a1 1 0 0 1 -1.993 .117l-.007 -.117v-4a1 1 0 0 1 1 -1z" /><path d="M15 20a1 1 0 0 1 .117 1.993l-.117 .007h-8a1 1 0 0 1 -.117 -1.993l.117 -.007h8z" /></svg>

After

Width:  |  Height:  |  Size: 661 B

View File

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

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-grain"><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M3.5 9.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M8.5 4.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M8.5 14.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M3.5 19.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M13.5 9.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M18.5 4.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M13.5 19.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M18.5 14.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /></svg>

After

Width:  |  Height:  |  Size: 706 B

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