Compare commits
2 Commits
main
...
fcf8bfaa45
| Author | SHA1 | Date | |
|---|---|---|---|
| fcf8bfaa45 | |||
| 4f93f7acaf |
@@ -9,18 +9,18 @@ class_name DialogicNode_NameLabel
|
||||
@export var use_character_color := true
|
||||
|
||||
func _ready() -> void:
|
||||
add_to_group('dialogic_name_label')
|
||||
if hide_when_empty:
|
||||
name_label_root.visible = false
|
||||
text = ""
|
||||
add_to_group('dialogic_name_label')
|
||||
if hide_when_empty:
|
||||
name_label_root.visible = false
|
||||
text = ""
|
||||
|
||||
|
||||
func _set(property, what):
|
||||
if property == 'text' and typeof(what) == TYPE_STRING:
|
||||
text = what
|
||||
if hide_when_empty:
|
||||
name_label_root.visible = !what.is_empty()
|
||||
else:
|
||||
name_label_root.show()
|
||||
return true
|
||||
return false
|
||||
if property == 'text' and typeof(what) == TYPE_STRING:
|
||||
text = what
|
||||
if hide_when_empty:
|
||||
name_label_root.visible = !what.is_empty()
|
||||
else:
|
||||
name_label_root.show()
|
||||
return true
|
||||
return false
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://bu87qluncx6pd"
|
||||
path="res://.godot/imported/aqua.mp3-0d6e6fca8525376ee9d208a606348ba9.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/audio_manager/assets/morceaux/histoire/aqua.mp3"
|
||||
dest_files=["res://.godot/imported/aqua.mp3-0d6e6fca8525376ee9d208a606348ba9.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://urh63a8tgsd0"
|
||||
path="res://.godot/imported/astra.ogg-2a61314797c2f4f96a5fbfc70bd8543d.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/audio_manager/assets/morceaux/histoire/astra.ogg"
|
||||
dest_files=["res://.godot/imported/astra.ogg-2a61314797c2f4f96a5fbfc70bd8543d.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bkf62homs848n"
|
||||
path="res://.godot/imported/estia.ogg-5a67cadf4221800898513f5ad486335d.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/audio_manager/assets/morceaux/histoire/estia.ogg"
|
||||
dest_files=["res://.godot/imported/estia.ogg-5a67cadf4221800898513f5ad486335d.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dsqdt1ddvlyal"
|
||||
path="res://.godot/imported/borea_lever.mp3-6c76a0e5e78025311230b59292d6bc98.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/audio_manager/assets/sfx/borea_lever/borea_lever.mp3"
|
||||
dest_files=["res://.godot/imported/borea_lever.mp3-6c76a0e5e78025311230b59292d6bc98.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -12,6 +12,7 @@
|
||||
[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"]
|
||||
@@ -41,11 +42,8 @@
|
||||
[ext_resource type="AudioStream" uid="uid://dq5qwydrca3vy" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_5.wav" id="22_aedoe"]
|
||||
[ext_resource type="AudioStream" uid="uid://d1cpi438ep0ys" path="res://common/audio_manager/assets/sfx/announce/annnounce.wav" id="22_btfwx"]
|
||||
[ext_resource type="AudioStream" uid="uid://ch8wnrckanydg" path="res://common/audio_manager/assets/morceaux/histoire/meeting_demeter.ogg" id="22_mrdk3"]
|
||||
[ext_resource type="AudioStream" uid="uid://bu87qluncx6pd" path="res://common/audio_manager/assets/morceaux/histoire/aqua.mp3" id="22_uaco0"]
|
||||
[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://bkf62homs848n" path="res://common/audio_manager/assets/morceaux/histoire/estia.ogg" id="24_eeq8n"]
|
||||
[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://urh63a8tgsd0" path="res://common/audio_manager/assets/morceaux/histoire/astra.ogg" id="25_1r4ky"]
|
||||
[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"]
|
||||
@@ -169,14 +167,19 @@ unique_name_in_owner = true
|
||||
stream = ExtResource("5_ipd1r")
|
||||
volume_db = -15.0
|
||||
|
||||
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_8204s")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Demeter" type="AudioStreamPlayer" parent="Ambiances" unique_id=351918026]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_8204s")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
|
||||
[node name="Borea" type="AudioStreamPlayer" parent="Ambiances" unique_id=1857904648]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_8204s")
|
||||
stream = ExtResource("7_spekb")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Ship" type="AudioStreamPlayer" parent="Ambiances" unique_id=1564186965]
|
||||
@@ -184,6 +187,10 @@ unique_name_in_owner = true
|
||||
stream = ExtResource("8_tuvql")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Subterra" type="AudioStreamPlayer" parent="Ambiances" unique_id=2019011683]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("12_mrdk3")
|
||||
|
||||
[node name="Musics" type="Node" parent="." unique_id=1450527710]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@@ -240,29 +247,10 @@ stream = ExtResource("7_tuvql")
|
||||
volume_db = -5.0
|
||||
bus = &"Music"
|
||||
|
||||
[node name="MeetingDemeter" type="AudioStreamPlayer" parent="Musics" unique_id=1066359159]
|
||||
[node name="Meeting_demeter" type="AudioStreamPlayer" parent="Musics" unique_id=1066359159]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("22_mrdk3")
|
||||
|
||||
[node name="Aqua" type="AudioStreamPlayer" parent="Musics" unique_id=1941388305]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("22_uaco0")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Subterra" type="AudioStreamPlayer" parent="Musics" unique_id=2019011683]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("12_mrdk3")
|
||||
|
||||
[node name="Estia" type="AudioStreamPlayer" parent="Musics" unique_id=531815272]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("24_eeq8n")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="AstraEnd" type="AudioStreamPlayer" parent="Musics" unique_id=818527318]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("25_1r4ky")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Sfx" type="Node" parent="." unique_id=2023641207]
|
||||
unique_name_in_owner = true
|
||||
|
||||
|
||||
@@ -58,6 +58,9 @@ func _on_change_scene(scene : Scene):
|
||||
elif scene is GarageScene:
|
||||
stop_all_musics()
|
||||
play_ambiance_alone("Astra", false)
|
||||
elif scene is BoreaScene:
|
||||
play_music_alone("Meeting_demeter")
|
||||
stop_all_ambiances()
|
||||
elif scene is VendingMachineScene:
|
||||
stop_all_musics()
|
||||
play_ambiance_alone("VendingRoom", false)
|
||||
@@ -67,21 +70,6 @@ func _on_change_scene(scene : Scene):
|
||||
elif scene is CaveScene:
|
||||
stop_all_musics()
|
||||
play_ambiance_alone("Cave", false)
|
||||
elif scene is BoreaScene:
|
||||
play_music_alone("MeetingDemeter", false, 0.)
|
||||
stop_all_ambiances()
|
||||
elif scene is AquaScene:
|
||||
play_music_alone("Aqua")
|
||||
stop_all_ambiances()
|
||||
elif scene is SubterraScene:
|
||||
play_music_alone("Subterra")
|
||||
stop_all_ambiances()
|
||||
elif scene is EstiaScene:
|
||||
play_music_alone("Estia")
|
||||
stop_all_ambiances()
|
||||
elif scene is AstraEndScene:
|
||||
play_music_alone("AstraEnd")
|
||||
stop_all_ambiances()
|
||||
|
||||
# Fonction s'exécutant à chaque début de timeline
|
||||
func _on_timeline_started():
|
||||
@@ -219,7 +207,7 @@ func change_ambiances_volume(db_change := 0., fade := DEFAULT_FADE_TIME):
|
||||
|
||||
# Joue un
|
||||
# - player_name : Nom de la Node dans la scène Godot à jouer
|
||||
func play_sfx(sfx_name : String, _pitch = 1.):
|
||||
func play_sfx(sfx_name : String, pitch = 1.):
|
||||
var player := %Sfx.find_child(sfx_name) as AudioStreamPlayer
|
||||
if player:
|
||||
player.play()
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cbfoonpkmmva8"
|
||||
path="res://.godot/imported/talion_spray.blend-3cc293a04161d1f6f5e9c094a05903f8.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/game_data/scripts/artefacts/talion_spray/talion_spray.blend"
|
||||
dest_files=["res://.godot/imported/talion_spray.blend-3cc293a04161d1f6f5e9c094a05903f8.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
mesh_library/use_node_names_as_mesh_names=false
|
||||
array_mesh/deduplicate_surfaces=true
|
||||
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/vertex_colors=1
|
||||
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
|
||||
gltf/texture_map_mode=1
|
||||
@@ -1,14 +0,0 @@
|
||||
extends Artefact
|
||||
class_name TalionSprayArtifact
|
||||
|
||||
func get_artefact_name() -> String:
|
||||
return "TALION_SPRAY"
|
||||
|
||||
func get_artefact_desc() -> String:
|
||||
return "TALION_SPRAY_DESC_TEXT"
|
||||
|
||||
func get_3d_scene() -> PackedScene:
|
||||
return preload("res://common/game_data/scripts/artefacts/talion_spray/talion_spray.blend")
|
||||
|
||||
func modify_plant_base_score(plant_base_score : int) -> int:
|
||||
return plant_base_score + 1
|
||||
@@ -1 +0,0 @@
|
||||
uid://2eo5lucwktg4
|
||||
@@ -1,28 +1,16 @@
|
||||
extends Resource
|
||||
class_name GameData
|
||||
|
||||
enum Mode {STORY, INFINITE}
|
||||
enum GameMode {STORY}
|
||||
|
||||
signal current_run_updated(r : RunData)
|
||||
signal current_region_data_updated(p : RegionData)
|
||||
|
||||
func _init(
|
||||
_game_mode : Mode = Mode.STORY
|
||||
):
|
||||
game_mode = _game_mode
|
||||
if game_mode == Mode.STORY:
|
||||
progression_data = StoryProgressionData.new()
|
||||
elif game_mode == Mode.INFINITE:
|
||||
progression_data = InfiniteProgressionData.new()
|
||||
|
||||
|
||||
@export var game_mode : Mode = GameData.Mode.STORY
|
||||
|
||||
@export var player_data : PlayerData = PlayerData.new()
|
||||
|
||||
@export var progression_data : ProgressionData
|
||||
@export var progression_data : ProgressionData = ProgressionData.new()
|
||||
|
||||
@export var current_run : RunData :
|
||||
@export var current_run : RunData = start_run() :
|
||||
set(v):
|
||||
current_run = v
|
||||
current_run_updated.emit(v)
|
||||
@@ -42,6 +30,8 @@ func _init(
|
||||
|
||||
@export var item_announced = []
|
||||
|
||||
@export var game_mode : GameMode = GameMode.STORY
|
||||
|
||||
@export var dialogs_done : Array[String] = [] #Chemin des dialogues terminés
|
||||
@export var tutorials_done : Array[String] = []
|
||||
|
||||
@@ -49,7 +39,7 @@ func start_run() -> RunData:
|
||||
player_data.clear_inventory()
|
||||
player_data.update_with_artefacts([])
|
||||
current_run = RunData.new()
|
||||
current_run.story_step = progression_data.get_story_step().duplicate_deep()
|
||||
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):
|
||||
@@ -69,14 +59,12 @@ func start_region(region_param : RegionParameter):
|
||||
current_region_data = RegionData.new(region_param)
|
||||
|
||||
func give_up():
|
||||
progression_data.finish_run(current_run)
|
||||
current_region_data = null
|
||||
current_run = null
|
||||
start_run()
|
||||
SceneManager.change_to_scene(progression_data.get_story_step().get_respawn_scene())
|
||||
SceneManager.change_to_scene(progression_data.story_step.get_respawn_scene())
|
||||
|
||||
func finish_story_step():
|
||||
progression_data.finish_run(current_run)
|
||||
progression_data.next_story_step()
|
||||
current_region_data = null
|
||||
start_run()
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
extends ProgressionData
|
||||
class_name InfiniteProgressionData
|
||||
|
||||
func get_story_step() -> StoryStep:
|
||||
return InfiniteStoryStep.new(run_number)
|
||||
|
||||
func get_story_progression() -> float:
|
||||
return 0.
|
||||
|
||||
func discover_mutation(_pm : PlantMutation) -> void:
|
||||
pass
|
||||
|
||||
func get_mutations_discovered() -> Array[String]:
|
||||
var mutation_discovered : Array[String] = []
|
||||
for m in get_all_mutations():
|
||||
mutation_discovered.append(m.get_mutation_id())
|
||||
return mutation_discovered
|
||||
|
||||
func next_story_step() -> void:
|
||||
pass
|
||||
|
||||
func are_all_mutations_unlocked() -> bool:
|
||||
return true
|
||||
|
||||
func unlock_new_mutation() -> PlantMutation:
|
||||
return null
|
||||
|
||||
func get_available_mutations() -> Array[PlantMutation]:
|
||||
return get_all_mutations()
|
||||
|
||||
func set_best_run(v := best_run):
|
||||
if best_run < 10 and v == 10:
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_HIT_10_INFINITE)
|
||||
|
||||
if best_run < 20 and v == 20:
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_HIT_20_INFINITE)
|
||||
|
||||
if best_run < 30 and v == 30:
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_HIT_30_INFINITE)
|
||||
|
||||
best_run = v
|
||||
@@ -1 +0,0 @@
|
||||
uid://iigxgqiyn0p4
|
||||
@@ -1,28 +1,25 @@
|
||||
@abstract
|
||||
extends Resource
|
||||
class_name ProgressionData
|
||||
|
||||
@export var run_number : int = 0
|
||||
@export var best_run : int = 0 : set = set_best_run
|
||||
@export var planted_mutation_ids: Array[String] = []
|
||||
@export var story_step_i := 0
|
||||
@export var mutations_unlocked = 8
|
||||
|
||||
@abstract func get_story_step() -> StoryStep
|
||||
var all_mutations: Array[PlantMutation] : get = get_all_mutations
|
||||
var available_mutations: Array[PlantMutation] : get = get_available_mutations
|
||||
var available_artefacts: Array[Artefact] : get = get_all_artifacts
|
||||
var story_step : StoryStep : get = get_story_step
|
||||
|
||||
@abstract func get_story_progression() -> float
|
||||
func get_story_step() -> StoryStep:
|
||||
return get_all_story_steps()[story_step_i]
|
||||
|
||||
@abstract func next_story_step() -> void
|
||||
func next_story_step() -> void:
|
||||
get_story_step()._on_finish()
|
||||
if story_step_i + 1 < len(get_all_story_steps()):
|
||||
story_step_i += 1
|
||||
|
||||
@abstract func get_available_mutations() -> Array[PlantMutation]
|
||||
|
||||
@abstract func are_all_mutations_unlocked() -> bool
|
||||
|
||||
@abstract func discover_mutation(_pm : PlantMutation) -> void
|
||||
|
||||
@abstract func get_mutations_discovered() -> Array[String]
|
||||
|
||||
@abstract func unlock_new_mutation() -> PlantMutation
|
||||
|
||||
func set_best_run(v := best_run):
|
||||
best_run = v
|
||||
func get_available_mutations() -> Array[PlantMutation]:
|
||||
return get_all_mutations().slice(0, mutations_unlocked)
|
||||
|
||||
func get_all_mutations() -> Array[PlantMutation]:
|
||||
return [
|
||||
@@ -41,11 +38,6 @@ func get_all_mutations() -> Array[PlantMutation]:
|
||||
GenerousMutation.new(),
|
||||
ProtectiveMutation.new(),
|
||||
PureMutation.new(),
|
||||
CleaningMutation.new(),
|
||||
ErmitMutation.new(),
|
||||
TropicalMutation.new(),
|
||||
RhizomeMutation.new(),
|
||||
SpontaneousMutation.new()
|
||||
]
|
||||
|
||||
func get_all_artifacts() -> Array[Artefact]:
|
||||
@@ -55,21 +47,13 @@ func get_all_artifacts() -> Array[Artefact]:
|
||||
StabilisatorArtefact.new(),
|
||||
TalionOverloaderArtefact.new(),
|
||||
TalionSoilArtifact.new(),
|
||||
TalionSprayArtifact.new()
|
||||
]
|
||||
|
||||
|
||||
func get_all_story_steps() -> Array[StoryStep]:
|
||||
return [
|
||||
# TutorialStoryStep.new(),
|
||||
# StartStoryStep.new(),
|
||||
# MercuryStoryStep.new(),
|
||||
BoreaStoryStep.new(),
|
||||
AquaStoryStep.new(),
|
||||
SubterraStoryStep.new(),
|
||||
EstiaStoryStep.new(),
|
||||
AstraStoryStep.new(),
|
||||
TutorialStoryStep.new(),
|
||||
StartStoryStep.new(),
|
||||
MercuryStoryStep.new(),
|
||||
BoreaStoryStep.new()
|
||||
]
|
||||
|
||||
func finish_run(run : RunData):
|
||||
run_number += 1
|
||||
best_run = max(best_run, run.level)
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
@tool
|
||||
extends StoryStep
|
||||
class_name InfiniteStoryStep
|
||||
|
||||
var run_number := 0
|
||||
|
||||
func _init(
|
||||
_run_number := 0
|
||||
):
|
||||
run_number = _run_number
|
||||
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"INFINITE_MODE",
|
||||
str(run_number),
|
||||
true
|
||||
)
|
||||
|
||||
func get_cave_occurence(_level : int) -> int:
|
||||
return 0
|
||||
|
||||
func is_region_sequence_infinite() -> bool:
|
||||
return true
|
||||
|
||||
func get_region_sequence_length() -> int:
|
||||
return 1000
|
||||
|
||||
func is_run_point_dangerous(level : int) -> bool:
|
||||
return level%6 == 0 and level != 0
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("INFINITE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return BoreaScene.new()
|
||||
@@ -1 +0,0 @@
|
||||
uid://bdonub7t01xmi
|
||||
@@ -12,8 +12,6 @@ func get_destination_scene() -> Scene:
|
||||
return BoreaScene.new()
|
||||
|
||||
func get_run_progress(level : int) -> int:
|
||||
if is_region_sequence_infinite():
|
||||
return 0
|
||||
return get_region_sequence_length() - level
|
||||
|
||||
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
|
||||
@@ -21,15 +19,10 @@ func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
|
||||
#region ------------------ Run ------------------
|
||||
|
||||
func is_run_finished(level : int) -> bool:
|
||||
if is_region_sequence_infinite():
|
||||
return false
|
||||
return level == get_region_sequence_length() - 1
|
||||
|
||||
func is_region_sequence_infinite() -> bool:
|
||||
return false
|
||||
|
||||
func get_region_sequence_length() -> int:
|
||||
return 2 #TO CHANGE TO 7
|
||||
return 7
|
||||
|
||||
func get_first_vending_machine_occurence(_level : int) -> int:
|
||||
return 2
|
||||
@@ -55,8 +48,6 @@ func get_charge_number(_level : int) -> int:
|
||||
return 10
|
||||
|
||||
func is_run_point_dangerous(level : int) -> bool:
|
||||
if is_region_sequence_infinite():
|
||||
return false
|
||||
return level == get_region_sequence_length() - 2
|
||||
|
||||
func get_objective_for_region(level : int) -> int:
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
@tool
|
||||
extends StoryStep
|
||||
class_name MercuryStoryStep
|
||||
|
||||
|
||||
@@ -10,6 +10,16 @@ func get_respawn_scene() -> Scene:
|
||||
true
|
||||
)
|
||||
|
||||
func get_objective_for_region(l : int) -> int:
|
||||
match l:
|
||||
0: return 0
|
||||
1: return 8
|
||||
_: return get_objective_for_region(l-1) + l * 5
|
||||
|
||||
|
||||
func get_region_sequence_length() -> int:
|
||||
return 8
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("BOREA_BASE")
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
extends StoryStep
|
||||
class_name AquaStoryStep
|
||||
|
||||
const AQUA_TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/2_aqua/1_aqua_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"BOREA_BASE",
|
||||
"004",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("AQUA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return AquaScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return AQUA_TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -1 +0,0 @@
|
||||
uid://cvuv0lig50jok
|
||||
@@ -1,22 +0,0 @@
|
||||
extends StoryStep
|
||||
class_name SubterraStoryStep
|
||||
|
||||
const TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/3_subterra/1_subterra_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"AQUA_BASE",
|
||||
"005",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("SUBTERRA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return SubterraScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -1 +0,0 @@
|
||||
uid://b5ixh763b7s34
|
||||
@@ -1,22 +0,0 @@
|
||||
extends StoryStep
|
||||
class_name EstiaStoryStep
|
||||
|
||||
const TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/4_estia/1_estia_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"SUBTERRA_BASE",
|
||||
"006",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("SUBTERRA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return EstiaScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -1 +0,0 @@
|
||||
uid://cnxvc4wfr7dba
|
||||
@@ -1,22 +0,0 @@
|
||||
extends StoryStep
|
||||
class_name AstraStoryStep
|
||||
|
||||
const TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/6_astra/1_astra_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"ESTIA_BASE",
|
||||
"007",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("ESTIA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return AstraEndScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 4:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -1 +0,0 @@
|
||||
uid://bkm4tgllpq0p
|
||||
@@ -1,36 +0,0 @@
|
||||
extends ProgressionData
|
||||
class_name StoryProgressionData
|
||||
|
||||
@export var planted_mutation_ids: Array[String] = []
|
||||
@export var story_step_i := 0
|
||||
@export var mutations_unlocked = 8
|
||||
|
||||
func get_story_step() -> StoryStep:
|
||||
return get_all_story_steps()[story_step_i]
|
||||
|
||||
func get_story_progression() -> float:
|
||||
return max(0,float(story_step_i)) / len(
|
||||
get_all_story_steps()
|
||||
)
|
||||
|
||||
func discover_mutation(pm : PlantMutation) -> void:
|
||||
planted_mutation_ids.append(pm.id)
|
||||
|
||||
func get_mutations_discovered() -> Array[String]:
|
||||
return planted_mutation_ids
|
||||
|
||||
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_available_mutations() -> Array[PlantMutation]:
|
||||
return get_all_mutations().slice(0, mutations_unlocked)
|
||||
|
||||
func are_all_mutations_unlocked() -> bool:
|
||||
return mutations_unlocked >= len(get_all_mutations())
|
||||
|
||||
func unlock_new_mutation() -> PlantMutation:
|
||||
var new_mutation = get_all_mutations()[mutations_unlocked]
|
||||
mutations_unlocked += 1
|
||||
return new_mutation
|
||||
@@ -1 +0,0 @@
|
||||
uid://vcoy8pt780cl
|
||||
@@ -1,62 +1,35 @@
|
||||
extends Node
|
||||
|
||||
const SAVE_NAME = "playtest_2"
|
||||
|
||||
const SAVE_STORY_GAME_LOCATION = "user://stw_%s_save.tres" % SAVE_NAME
|
||||
const SAVE_INFINTE_GAME_LOCATION = "user://stw_%s_infinite_save.tres" % SAVE_NAME
|
||||
const SAVE_GAME_LOCATION = "user://stw_demo_save.tres"
|
||||
const SAVE_SETTINGS_LOCATION = "user://stw_settings.tres"
|
||||
|
||||
signal game_loaded
|
||||
var game_loaded = false
|
||||
|
||||
var game_mode_choosen := GameData.Mode.STORY
|
||||
signal game_data_updated(g : GameData)
|
||||
|
||||
var game_data : GameData :
|
||||
get():
|
||||
if game_mode_choosen == GameData.Mode.STORY:
|
||||
return story_game_data
|
||||
elif game_mode_choosen == GameData.Mode.INFINITE:
|
||||
return infinite_game_data
|
||||
return null
|
||||
|
||||
var story_game_data : GameData
|
||||
var infinite_game_data : GameData
|
||||
set(v):
|
||||
game_data = v
|
||||
game_data_updated.emit(v)
|
||||
|
||||
var settings_data : SettingsData
|
||||
|
||||
var current_dialog_path : String
|
||||
|
||||
func load_story_game_data() -> GameData:
|
||||
story_game_data = null
|
||||
if ResourceLoader.exists(SAVE_STORY_GAME_LOCATION) and ResourceLoader.load(SAVE_STORY_GAME_LOCATION):
|
||||
story_game_data = ResourceLoader.load(SAVE_STORY_GAME_LOCATION).duplicate_deep()
|
||||
game_loaded.emit()
|
||||
func load_game_data() -> GameData:
|
||||
game_data = null
|
||||
if ResourceLoader.exists(SAVE_GAME_LOCATION) and ResourceLoader.load(SAVE_GAME_LOCATION):
|
||||
game_data = ResourceLoader.load(SAVE_GAME_LOCATION).duplicate_deep()
|
||||
|
||||
return story_game_data
|
||||
|
||||
func load_infinite_game_data() -> GameData:
|
||||
infinite_game_data = null
|
||||
if ResourceLoader.exists(SAVE_INFINTE_GAME_LOCATION) and ResourceLoader.load(SAVE_INFINTE_GAME_LOCATION):
|
||||
infinite_game_data = ResourceLoader.load(SAVE_INFINTE_GAME_LOCATION).duplicate_deep()
|
||||
|
||||
return infinite_game_data
|
||||
return game_data
|
||||
|
||||
func start_game_data():
|
||||
if game_mode_choosen == GameData.Mode.STORY:
|
||||
story_game_data = GameData.new(GameData.Mode.STORY)
|
||||
story_game_data.start_run()
|
||||
else:
|
||||
infinite_game_data = GameData.new(GameData.Mode.INFINITE)
|
||||
infinite_game_data.start_run()
|
||||
|
||||
game_data = GameData.new()
|
||||
save_game_data()
|
||||
|
||||
func save_game_data():
|
||||
if game_mode_choosen == GameData.Mode.STORY:
|
||||
if story_game_data:
|
||||
ResourceSaver.save(story_game_data, SAVE_STORY_GAME_LOCATION)
|
||||
elif game_mode_choosen == GameData.Mode.INFINITE:
|
||||
if infinite_game_data:
|
||||
ResourceSaver.save(infinite_game_data, SAVE_INFINTE_GAME_LOCATION)
|
||||
if game_data:
|
||||
ResourceSaver.save(game_data, SAVE_GAME_LOCATION)
|
||||
|
||||
func load_settings_data() -> SettingsData:
|
||||
if ResourceLoader.exists(SAVE_SETTINGS_LOCATION):
|
||||
@@ -72,8 +45,7 @@ func save_settings():
|
||||
ResourceSaver.save(settings_data, SAVE_SETTINGS_LOCATION)
|
||||
|
||||
func _init():
|
||||
load_story_game_data()
|
||||
load_infinite_game_data()
|
||||
load_game_data()
|
||||
load_settings_data()
|
||||
update_language_settings()
|
||||
update_video_settings()
|
||||
@@ -119,5 +91,3 @@ func update_inputs(s : SettingsData = settings_data):
|
||||
InputMap.action_erase_events(s.action_remapped[i])
|
||||
InputMap.action_add_event(s.action_remapped[i], s.input_remapped[i])
|
||||
|
||||
func has_unlocked_infinite_mode():
|
||||
return true
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-bug"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
d="M12 4a4 4 0 0 1 3.995 3.8l.005 .2a1 1 0 0 1 .428 .096l3.033 -1.938a1 1 0 1 1 1.078 1.684l-3.015 1.931a7.17 7.17 0 0 1 .476 2.227h3a1 1 0 0 1 0 2h-3v1a6.01 6.01 0 0 1 -.195 1.525l2.708 1.616a1 1 0 1 1 -1.026 1.718l-2.514 -1.501a6.002 6.002 0 0 1 -3.973 2.56v-5.918a1 1 0 0 0 -2 0v5.917a6.002 6.002 0 0 1 -3.973 -2.56l-2.514 1.503a1 1 0 1 1 -1.026 -1.718l2.708 -1.616a6.01 6.01 0 0 1 -.195 -1.526v-1h-3a1 1 0 0 1 0 -2h3.001v-.055a7 7 0 0 1 .474 -2.173l-3.014 -1.93a1 1 0 1 1 1.078 -1.684l3.032 1.939l.024 -.012l.068 -.027l.019 -.005l.016 -.006l.032 -.008l.04 -.013l.034 -.007l.034 -.004l.045 -.008l.015 -.001l.015 -.002l.087 -.004a4 4 0 0 1 4 -4zm0 2a2 2 0 0 0 -2 2h4a2 2 0 0 0 -2 -2z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -1,43 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ceoxyc8lxuqet"
|
||||
path="res://.godot/imported/bug.svg-30d611f322c5908f7609c3e1222553c7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/bug.svg"
|
||||
dest_files=["res://.godot/imported/bug.svg-30d611f322c5908f7609c3e1222553c7.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,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-christmas-tree"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
d="M15 19v1a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2v-1zm-10 -1c-.89 0 -1.337 -1.077 -.707 -1.707l2.855 -2.857l-1.464 -.487a1 1 0 0 1 -.472 -1.565l.08 -.091l3.019 -3.02l-.758 -.379a1 1 0 0 1 -.343 -1.507l.083 -.094l4 -4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 -.26 1.601l-.759 .379l3.02 3.02a1 1 0 0 1 -.279 1.61l-.113 .046l-1.465 .487l2.856 2.857c.603 .602 .22 1.614 -.593 1.701l-.114 .006z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 892 B |
@@ -1,43 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dofqju0k1nguf"
|
||||
path="res://.godot/imported/christmas-tree.svg-2d675a899996dc14dfea64e4ba2ac385.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/christmas-tree.svg"
|
||||
dest_files=["res://.godot/imported/christmas-tree.svg-2d675a899996dc14dfea64e4ba2ac385.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -1,31 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
class="icon icon-tabler icons-tabler-outline icon-tabler-cloud-rain"
|
||||
version="1.1"
|
||||
id="svg3"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs3" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<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"
|
||||
id="path2"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M11 13v2m0 3v2m4 -5v2m0 3v2"
|
||||
id="path3"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
</svg>
|
||||
<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>
|
||||
|
Before Width: | Height: | Size: 780 B After Width: | Height: | Size: 417 B |
@@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
class="icon icon-tabler icons-tabler-outline icon-tabler-dots"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
d="M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"
|
||||
id="path2"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"
|
||||
id="path3"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"
|
||||
id="path4"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 956 B |
@@ -1,43 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://elds8r780ted"
|
||||
path="res://.godot/imported/dots.svg-c5aaef419fc83aaf7bc0ae28dabbcd0f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/dots.svg"
|
||||
dest_files=["res://.godot/imported/dots.svg-c5aaef419fc83aaf7bc0ae28dabbcd0f.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
|
||||
@@ -3,20 +3,19 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://sdrr43mek1cl"
|
||||
path.s3tc="res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.s3tc.ctex"
|
||||
path="res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/globe.svg"
|
||||
dest_files=["res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -24,7 +23,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -38,7 +37,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=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-leaf"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
d="M3.055 14.328l-.018 -.168l-.004 -.043a11 11 0 0 1 -.047 -1.12c.018 -6.29 4.29 -9.997 13 -9.997h4.014a1 1 0 0 1 1 1l-.002 2.057c-.498 8.701 -4.74 12.943 -11.998 12.943h-2.631a16 16 0 0 0 -.375 2.11a1 1 0 1 1 -1.988 -.22q .174 -1.568 .58 -2.947l-.118 -.146l-.208 -.28l-.157 -.229l-.182 -.293l-.098 -.171l-.065 -.122a6 6 0 0 1 -.397 -.941l-.072 -.237l-.085 -.327l-.057 -.268l-.043 -.242zm8.539 -4.242c-2.845 1.265 -4.854 3.13 -6.108 5.583q .098 .2 .218 .4l.185 .281l.07 .097q .12 .164 .258 .329l.197 .224h.649c1.037 -2.271 2.777 -3.946 5.343 -5.086a1 1 0 0 0 -.812 -1.828"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,43 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://koow6s66cvqk"
|
||||
path="res://.godot/imported/leaf.svg-64997ac177eb77fe732afcb627c1b7f7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/leaf.svg"
|
||||
dest_files=["res://.godot/imported/leaf.svg-64997ac177eb77fe732afcb627c1b7f7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-sparkles"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
d="M16 19a1 1 0 0 1 0 -2a1 1 0 0 0 1 -1c0 -1.333 2 -1.333 2 0a1 1 0 0 0 1 1c1.333 0 1.333 2 0 2a1 1 0 0 0 -1 1c0 1.333 -2 1.333 -2 0a1 1 0 0 0 -1 -1"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
d="M3 11a5 5 0 0 0 5 -5c0 -1.333 2 -1.333 2 0a5 5 0 0 0 5 5c1.333 0 1.333 2 0 2a5 5 0 0 0 -5 5a1 1 0 0 1 -2 0a5 5 0 0 0 -5 -5c-1.333 0 -1.333 -2 0 -2"
|
||||
id="path3"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
<path
|
||||
d="M16 7a1 1 0 0 1 0 -2a1 1 0 0 0 1 -1c0 -1.333 2 -1.333 2 0a1 1 0 0 0 1 1c1.333 0 1.333 2 0 2a1 1 0 0 0 -1 1c0 1.333 -2 1.333 -2 0a1 1 0 0 0 -1 -1"
|
||||
id="path4"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,43 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://djq2l8aun82ou"
|
||||
path="res://.godot/imported/sparkles.svg-916e1088ab60f75f5f1370971c1faf2d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/sparkles.svg"
|
||||
dest_files=["res://.godot/imported/sparkles.svg-916e1088ab60f75f5f1370971c1faf2d.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,38 +1,237 @@
|
||||
[gd_scene format=3 uid="uid://b8gqdgabrjaml"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dt2ip3pw2cboy" path="res://entities/plants/scripts/texture_builder/plant_texture_builder.gd" id="1_s8rsj"]
|
||||
[ext_resource type="Resource" uid="uid://dad6gfvwocnj2" path="res://entities/plants/resources/plant_parts/Base.tres" id="2_tod72"]
|
||||
[ext_resource type="Resource" uid="uid://c6s833k5g18kd" path="res://entities/plants/resources/plant_parts/Branch.tres" id="3_0ca8x"]
|
||||
[ext_resource type="Resource" uid="uid://bjb8g6h6lf4r2" path="res://entities/plants/resources/plant_parts/LeafF.tres" id="4_js3cu"]
|
||||
[ext_resource type="Script" uid="uid://u2j7hn5her8i" path="res://entities/plants/scripts/texture_builder/part_group.gd" id="5_npk80"]
|
||||
[ext_resource type="Resource" uid="uid://bwqa7vouqhjmr" path="res://entities/plants/resources/plant_parts/LeafE.tres" id="6_hyb2i"]
|
||||
[ext_resource type="Resource" uid="uid://b4g4d6y1n1xgp" path="res://entities/plants/resources/plant_parts/LeafI.tres" id="7_4gk8a"]
|
||||
[ext_resource type="Resource" uid="uid://b4towph8opjgh" path="res://entities/plants/resources/plant_parts/LeafNB.tres" id="8_alra6"]
|
||||
[ext_resource type="Resource" uid="uid://cqfb7vkocd8gf" path="res://entities/plants/resources/plant_parts/LeafL.tres" id="9_lggh7"]
|
||||
[ext_resource type="Resource" uid="uid://dw78e1nnajsxf" path="res://entities/plants/resources/plant_parts/FlowerD.tres" id="10_8r35x"]
|
||||
[ext_resource type="Resource" uid="uid://bg2x1g8xfjk0t" path="res://entities/plants/resources/plant_parts/FlowerG.tres" id="11_rbd7l"]
|
||||
[ext_resource type="Resource" uid="uid://bcgc05pjefid6" path="res://entities/plants/resources/plant_parts/FlowerH.tres" id="12_nfxo0"]
|
||||
[ext_resource type="Resource" uid="uid://dvwmk2suorf05" path="res://entities/plants/resources/plant_parts/LeafG.tres" id="12_tjaiv"]
|
||||
[ext_resource type="Resource" uid="uid://di0nwki5jr205" path="res://entities/plants/resources/plant_parts/FlowerJ.tres" id="13_i8j71"]
|
||||
[ext_resource type="Resource" uid="uid://b3ff6xg5lmevs" path="res://entities/plants/resources/plant_parts/FlowerF.tres" id="14_l2vrg"]
|
||||
[ext_resource type="Resource" uid="uid://bcakrgxsy6c08" path="res://entities/plants/resources/plant_parts/LeafC.tres" id="15_14c4k"]
|
||||
[ext_resource type="Resource" uid="uid://bggtymdph3itl" path="res://entities/plants/resources/plant_parts/FlowerI.tres" id="16_rt6tw"]
|
||||
[ext_resource type="Resource" uid="uid://dfaticpdeqmkx" path="res://entities/plants/resources/plant_parts/LeafB.tres" id="17_y02ao"]
|
||||
[ext_resource type="Resource" uid="uid://rjisqiox5anv" path="res://entities/plants/resources/plant_parts/LeafHA.tres" id="18_s8rsj"]
|
||||
[ext_resource type="Resource" uid="uid://c1qdy7oeyqdlu" path="res://entities/plants/resources/plant_parts/FlowerC.tres" id="19_cfiqo"]
|
||||
[ext_resource type="Resource" uid="uid://1ldoefk201qd" path="res://entities/plants/resources/plant_parts/LeafM.tres" id="20_coupj"]
|
||||
[ext_resource type="Resource" uid="uid://cnyux2rxespor" path="res://entities/plants/resources/plant_parts/LeafJ.tres" id="21_ggud5"]
|
||||
[ext_resource type="Resource" uid="uid://wim0ex3g6eag" path="res://entities/plants/resources/plant_parts/LeafNA.tres" id="23_hyb2i"]
|
||||
[ext_resource type="Resource" uid="uid://bd4suw64pumd5" path="res://entities/plants/resources/plant_parts/LeafHB.tres" id="24_4gk8a"]
|
||||
[ext_resource type="Resource" uid="uid://dej2j8nvb5gcj" path="res://entities/plants/resources/plant_parts/FlowerB.tres" id="25_alra6"]
|
||||
[ext_resource type="Resource" uid="uid://0r8c2a0el62b" path="res://entities/plants/resources/plant_parts/LeafK.tres" id="26_lggh7"]
|
||||
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="2_cfiqo"]
|
||||
[ext_resource type="Resource" uid="uid://7hrdkl6bf3o4" path="res://entities/plants/resources/plant_parts/Branch1.tres" id="4_ggud5"]
|
||||
[ext_resource type="Resource" uid="uid://d05ulm22k31w8" path="res://entities/plants/resources/plant_parts/Base2.tres" id="4_ron2q"]
|
||||
[ext_resource type="Resource" uid="uid://bfyafiewcrjln" path="res://entities/plants/resources/plant_parts/Base1.tres" id="5_5fbyu"]
|
||||
[ext_resource type="Resource" uid="uid://d2vdf2sth2xjm" path="res://entities/plants/resources/plant_parts/Base3.tres" id="5_6raaj"]
|
||||
[ext_resource type="Resource" uid="uid://ceisi5yyie7to" path="res://entities/plants/resources/plant_parts/Branch2.tres" id="5_ufbqh"]
|
||||
[ext_resource type="Resource" uid="uid://cxiu8frk04b5i" path="res://entities/plants/resources/plant_parts/Branch3.tres" id="6_jbu3q"]
|
||||
[ext_resource type="Resource" uid="uid://53p5g07e3pb4" path="res://entities/plants/resources/plant_parts/Branch4.tres" id="7_21cjy"]
|
||||
[ext_resource type="Resource" uid="uid://cyfyodtfxne1w" path="res://entities/plants/resources/plant_parts/Branch5.tres" id="8_qm7aw"]
|
||||
[ext_resource type="Resource" uid="uid://cuvtf4y1dspcp" path="res://entities/plants/resources/plant_parts/Branch6.tres" id="9_3e4c1"]
|
||||
[ext_resource type="Resource" uid="uid://dcjpei6xuiswp" path="res://entities/plants/resources/plant_parts/LeafE5.tres" id="10_5job5"]
|
||||
[ext_resource type="Resource" uid="uid://85bwx2tdjx0h" path="res://entities/plants/resources/plant_parts/LeafE7.tres" id="12_b21au"]
|
||||
[ext_resource type="Resource" uid="uid://6jnbms553dyd" path="res://entities/plants/resources/plant_parts/Branch7.tres" id="12_yjh7s"]
|
||||
[ext_resource type="Resource" uid="uid://cowkewtw2lg4i" path="res://entities/plants/resources/plant_parts/FlowerA1.tres" id="13_17ac3"]
|
||||
[ext_resource type="Resource" uid="uid://bgv3nb10t6u3y" path="res://entities/plants/resources/plant_parts/LeafF1.tres" id="14_8r35x"]
|
||||
[ext_resource type="Resource" uid="uid://drn8vt4sp7u6q" path="res://entities/plants/resources/plant_parts/FlowerA2.tres" id="14_fuh2b"]
|
||||
[ext_resource type="Resource" uid="uid://c31h25xdll8si" path="res://entities/plants/resources/plant_parts/FlowerD1.tres" id="15_3ti7v"]
|
||||
[ext_resource type="Resource" uid="uid://b3oqeugtrtera" path="res://entities/plants/resources/plant_parts/FlowerA3.tres" id="15_28gvc"]
|
||||
[ext_resource type="Resource" uid="uid://be17y7clvf88e" path="res://entities/plants/resources/plant_parts/LeafE1.tres" id="15_p2blu"]
|
||||
[ext_resource type="Resource" uid="uid://bkgw3wmoam10n" path="res://entities/plants/resources/plant_parts/LeafF2.tres" id="15_rbd7l"]
|
||||
[ext_resource type="Resource" uid="uid://ydvnxfnkbr2g" path="res://entities/plants/resources/plant_parts/FlowerA4.tres" id="16_1cwvj"]
|
||||
[ext_resource type="Script" uid="uid://cfjd8jelpm8dt" path="res://entities/plants/scripts/texture_builder/part_mutation_association.gd" id="16_c3tk3"]
|
||||
[ext_resource type="Resource" uid="uid://r5mspvasrq6y" path="res://entities/plants/resources/plant_parts/FlowerD2.tres" id="16_cpf4r"]
|
||||
[ext_resource type="Resource" uid="uid://m8j2gfumw11w" path="res://entities/plants/resources/plant_parts/LeafF3.tres" id="16_nfxo0"]
|
||||
[ext_resource type="Resource" uid="uid://dw7wdihxxy0uf" path="res://entities/plants/resources/plant_parts/LeafE2.tres" id="16_xt8tm"]
|
||||
[ext_resource type="Resource" uid="uid://dl1k0jv662m67" path="res://entities/plants/resources/plant_parts/FlowerA5.tres" id="17_c3tk3"]
|
||||
[ext_resource type="Resource" uid="uid://dth4dp88vs3gh" path="res://entities/plants/resources/plant_parts/LeafF4.tres" id="17_i8j71"]
|
||||
[ext_resource type="Resource" uid="uid://br80voioh4jxu" path="res://entities/plants/resources/plant_parts/FlowerD3.tres" id="17_p2blu"]
|
||||
[ext_resource type="Resource" uid="uid://3yi8hk73s5mm" path="res://entities/plants/resources/plant_parts/LeafE3.tres" id="17_qm7aw"]
|
||||
[ext_resource type="Resource" uid="uid://c8ttq14no8872" path="res://entities/plants/resources/plant_parts/LeafF7.tres" id="18_2plsj"]
|
||||
[ext_resource type="Resource" uid="uid://cka6sihumbjpw" path="res://entities/plants/resources/plant_parts/LeafF5.tres" id="18_l2vrg"]
|
||||
[ext_resource type="Resource" uid="uid://par4hf5gjvqu" path="res://entities/plants/resources/plant_parts/FlowerA6.tres" id="18_q0jli"]
|
||||
[ext_resource type="Resource" uid="uid://dq5dwqherb6ac" path="res://entities/plants/resources/plant_parts/LeafF6.tres" id="19_14c4k"]
|
||||
[ext_resource type="Resource" uid="uid://414go2hmhy12" path="res://entities/plants/resources/plant_parts/FlowerA7.tres" id="19_rplk6"]
|
||||
[ext_resource type="Resource" uid="uid://drc3g203302d4" path="res://entities/plants/resources/plant_parts/LeafF8.tres" id="19_yjh7s"]
|
||||
[ext_resource type="Resource" uid="uid://ckef0dno4j5mn" path="res://entities/plants/resources/plant_parts/FlowerF1.tres" id="20_lggh7"]
|
||||
[ext_resource type="Resource" uid="uid://dhhyh56shnure" path="res://entities/plants/resources/plant_parts/FlowerF2.tres" id="21_8r35x"]
|
||||
[ext_resource type="Resource" uid="uid://banfc3pgm6a0m" path="res://entities/plants/resources/plant_parts/FlowerC1.tres" id="21_alra6"]
|
||||
[ext_resource type="Resource" uid="uid://dmdyj7t4g48p" path="res://entities/plants/resources/plant_parts/FlowerC2.tres" id="22_lggh7"]
|
||||
[ext_resource type="Resource" uid="uid://bhj7j78tokt25" path="res://entities/plants/resources/plant_parts/FlowerC3.tres" id="23_8r35x"]
|
||||
[ext_resource type="Resource" uid="uid://c3w8lel02552f" path="res://entities/plants/resources/plant_parts/FlowerD4.tres" id="23_mcckl"]
|
||||
[ext_resource type="Resource" uid="uid://hbylxbmmc8of" path="res://entities/plants/resources/plant_parts/FlowerD5.tres" id="24_3hcun"]
|
||||
[ext_resource type="Resource" uid="uid://bkgrwffi7m2i4" path="res://entities/plants/resources/plant_parts/FlowerC4.tres" id="24_rbd7l"]
|
||||
[ext_resource type="Resource" uid="uid://dm7crxxg4kmw5" path="res://entities/plants/resources/plant_parts/LeafB1.tres" id="25_kvmj5"]
|
||||
[ext_resource type="Resource" uid="uid://vlxrq3tw1t6m" path="res://entities/plants/resources/plant_parts/LeafB2.tres" id="26_ocu7e"]
|
||||
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_attach.gd" id="27_80nvf"]
|
||||
[ext_resource type="Resource" uid="uid://bdwhp12xkvscr" path="res://entities/plants/resources/plant_parts/LeafB3.tres" id="27_q771y"]
|
||||
[ext_resource type="Resource" uid="uid://cc8kkqiqdvex6" path="res://entities/plants/resources/plant_parts/LeafE8.tres" id="27_rcays"]
|
||||
[ext_resource type="Resource" uid="uid://dmfiww0l5ha2l" path="res://entities/plants/resources/plant_parts/LeafB4.tres" id="28_5fbyu"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdwmandgxrjgn" path="res://entities/plants/assets/sprites/asset_plantes.png" id="28_d04mb"]
|
||||
[ext_resource type="Resource" uid="uid://cusd2od1yj0ob" path="res://entities/plants/resources/plant_parts/LeafE9.tres" id="28_qs4je"]
|
||||
[ext_resource type="Resource" uid="uid://kiim46eda050" path="res://entities/plants/resources/plant_parts/LeafB5.tres" id="29_2plsj"]
|
||||
[ext_resource type="Resource" uid="uid://dqroc7h70bgew" path="res://entities/plants/resources/plant_parts/LeafB6.tres" id="30_yjh7s"]
|
||||
[ext_resource type="Resource" uid="uid://u1f6c41fvau5" path="res://entities/plants/resources/plant_parts/FlowerC5.tres" id="35_abtbh"]
|
||||
[ext_resource type="Resource" uid="uid://bap5xihdc3gbe" path="res://entities/plants/resources/plant_parts/FlowerC6.tres" id="36_j5s6w"]
|
||||
[ext_resource type="Resource" uid="uid://cwskfwdasvv0g" path="res://entities/plants/resources/plant_parts/FlowerF3.tres" id="38_rbd7l"]
|
||||
[ext_resource type="Resource" uid="uid://e0u1baixvaxn" path="res://entities/plants/resources/plant_parts/LeafE4.tres" id="42_14c4k"]
|
||||
[ext_resource type="Resource" uid="uid://br4e84rsg87e8" path="res://entities/plants/resources/plant_parts/FlowerB4.tres" id="44_7b70u"]
|
||||
[ext_resource type="Resource" uid="uid://c4artcndro0r5" path="res://entities/plants/resources/plant_parts/FlowerB1.tres" id="45_coupj"]
|
||||
[ext_resource type="Resource" uid="uid://bvujlvgbh4pyc" path="res://entities/plants/resources/plant_parts/FlowerB5.tres" id="45_q8uyx"]
|
||||
[ext_resource type="Resource" uid="uid://b3dfua388ub4k" path="res://entities/plants/resources/plant_parts/FlowerB2.tres" id="46_ggud5"]
|
||||
[ext_resource type="Resource" uid="uid://dsoolh270ygjd" path="res://entities/plants/resources/plant_parts/FlowerB6.tres" id="46_r166b"]
|
||||
[ext_resource type="Script" uid="uid://hs3i48clok85" path="res://entities/plants/scripts/texture_builder/seed_texture_set.gd" id="47_jbu3q"]
|
||||
[ext_resource type="Resource" uid="uid://bnn0tcoab4plv" path="res://entities/plants/resources/plant_parts/FlowerB3.tres" id="47_ufbqh"]
|
||||
[ext_resource type="Texture2D" uid="uid://cuqocuhfpdful" path="res://entities/plants/assets/sprites/seeds/pick-sphere/color_1.png" id="48_21cjy"]
|
||||
[ext_resource type="Texture2D" uid="uid://tcjcq04akuns" path="res://entities/plants/assets/sprites/seeds/pick-sphere/color_2.png" id="49_rs2ow"]
|
||||
[ext_resource type="Texture2D" uid="uid://cu1dajkls18x0" path="res://entities/plants/assets/sprites/seeds/pick-sphere/line.png" id="50_5job5"]
|
||||
[ext_resource type="Texture2D" uid="uid://cq2f308itghq7" path="res://entities/plants/assets/sprites/seeds/haricot/color_1.png" id="51_5job5"]
|
||||
[ext_resource type="Texture2D" uid="uid://b3apxg55cjoow" path="res://entities/plants/assets/sprites/seeds/haricot/color_2.png" id="52_cynqk"]
|
||||
[ext_resource type="Texture2D" uid="uid://0ayiumcnqyc1" path="res://entities/plants/assets/sprites/seeds/haricot/outline.png" id="53_b21au"]
|
||||
[ext_resource type="Resource" uid="uid://djcwxfp4vmj8n" path="res://entities/plants/resources/plant_parts/FlowerG1.tres" id="61_tx02s"]
|
||||
[ext_resource type="Resource" uid="uid://d246bni7ooe20" path="res://entities/plants/resources/plant_parts/FlowerG2.tres" id="62_mpcbs"]
|
||||
[ext_resource type="Resource" uid="uid://docbn71tiiwrw" path="res://entities/plants/resources/plant_parts/FlowerG3.tres" id="63_kqtu4"]
|
||||
[ext_resource type="Resource" uid="uid://d4hfht8t7ridu" path="res://entities/plants/resources/plant_parts/FlowerG4.tres" id="64_2f2lk"]
|
||||
[ext_resource type="Resource" uid="uid://cto5os1i12qtj" path="res://entities/plants/resources/plant_parts/FlowerG5.tres" id="65_4e7sd"]
|
||||
[ext_resource type="Resource" uid="uid://bugnwjpjydm8t" path="res://entities/plants/resources/plant_parts/FlowerG6.tres" id="66_ro8dt"]
|
||||
[ext_resource type="Resource" uid="uid://0n7qxw0qhn1y" path="res://entities/plants/resources/plant_parts/FlowerG7.tres" id="67_wmd0c"]
|
||||
[ext_resource type="Resource" uid="uid://ccatceyu73pg5" path="res://entities/plants/resources/plant_parts/FlowerH1.tres" id="68_wl0th"]
|
||||
[ext_resource type="Resource" uid="uid://2qihbxsn6odd" path="res://entities/plants/resources/plant_parts/FlowerH2.tres" id="69_55s8o"]
|
||||
[ext_resource type="Resource" uid="uid://bwvou260f8tb5" path="res://entities/plants/resources/plant_parts/FlowerH3.tres" id="70_gquge"]
|
||||
[ext_resource type="Resource" uid="uid://c7lbyqhtaglql" path="res://entities/plants/resources/plant_parts/FlowerH4.tres" id="71_2cr6t"]
|
||||
[ext_resource type="Resource" uid="uid://qfku0xgnyc8l" path="res://entities/plants/resources/plant_parts/FlowerH5.tres" id="72_yrtob"]
|
||||
[ext_resource type="Resource" uid="uid://cjyqycj2nexk5" path="res://entities/plants/resources/plant_parts/FlowerH6.tres" id="73_y4irp"]
|
||||
[ext_resource type="Resource" uid="uid://v1b4c6364bjj" path="res://entities/plants/resources/plant_parts/FlowerJ1.tres" id="74_sdhn1"]
|
||||
[ext_resource type="Resource" uid="uid://cji73bqaytm0r" path="res://entities/plants/resources/plant_parts/FlowerJ2.tres" id="75_lyw6c"]
|
||||
[ext_resource type="Resource" uid="uid://b2tnb0vs1gtj3" path="res://entities/plants/resources/plant_parts/FlowerJ3.tres" id="76_lvv85"]
|
||||
[ext_resource type="Resource" uid="uid://daf1u222v1eqm" path="res://entities/plants/resources/plant_parts/FlowerJ4.tres" id="77_y5qox"]
|
||||
[ext_resource type="Resource" uid="uid://c3t8gj1sc7lrn" path="res://entities/plants/resources/plant_parts/FlowerF4.tres" id="81_ar53y"]
|
||||
[ext_resource type="Resource" uid="uid://cxsbv241mpuma" path="res://entities/plants/resources/plant_parts/FlowerF5.tres" id="82_oaoto"]
|
||||
[ext_resource type="Resource" uid="uid://5a5ya2iirvwr" path="res://entities/plants/resources/plant_parts/FlowerF6.tres" id="83_06vhr"]
|
||||
[ext_resource type="Resource" uid="uid://cc8xi518vdixm" path="res://entities/plants/resources/plant_parts/FlowerF7.tres" id="84_rcays"]
|
||||
[ext_resource type="Resource" uid="uid://dk7hp700k8iet" path="res://entities/plants/resources/plant_parts/LeafC1.tres" id="85_qs4je"]
|
||||
[ext_resource type="Resource" uid="uid://dte3i6hma7nw5" path="res://entities/plants/resources/plant_parts/LeafC2.tres" id="86_ron2q"]
|
||||
[ext_resource type="Resource" uid="uid://p2mveyriuh47" path="res://entities/plants/resources/plant_parts/LeafC3.tres" id="87_6raaj"]
|
||||
[ext_resource type="Resource" uid="uid://be7x75w7l5jls" path="res://entities/plants/resources/plant_parts/LeafC4.tres" id="88_80nvf"]
|
||||
[ext_resource type="Resource" uid="uid://dhgabeqsda06o" path="res://entities/plants/resources/plant_parts/LeafC5.tres" id="89_d04mb"]
|
||||
[ext_resource type="Resource" uid="uid://b2bv30j55dtfn" path="res://entities/plants/resources/plant_parts/LeafC6.tres" id="90_6htke"]
|
||||
[ext_resource type="Resource" uid="uid://d5k40ooxsnaw" path="res://entities/plants/resources/plant_parts/LeafC7.tres" id="91_y2dg6"]
|
||||
[ext_resource type="Resource" uid="uid://cjyp8jcocoijg" path="res://entities/plants/resources/plant_parts/FlowerI1.tres" id="92_s2hpp"]
|
||||
[ext_resource type="Resource" uid="uid://bac4q2s3bylli" path="res://entities/plants/resources/plant_parts/FlowerI2.tres" id="93_mxpq5"]
|
||||
[ext_resource type="Resource" uid="uid://dst4c2mnhaili" path="res://entities/plants/resources/plant_parts/FlowerI3.tres" id="94_o5eac"]
|
||||
[ext_resource type="Resource" uid="uid://bjd8ix6ouc1b2" path="res://entities/plants/resources/plant_parts/FlowerI4.tres" id="95_qxf4o"]
|
||||
[ext_resource type="Resource" uid="uid://cs2piasjw3x5s" path="res://entities/plants/resources/plant_parts/FlowerI5.tres" id="96_lfwcq"]
|
||||
[ext_resource type="Resource" uid="uid://tbqitr1nwt2" path="res://entities/plants/resources/plant_parts/FlowerI6.tres" id="97_fe472"]
|
||||
[ext_resource type="Resource" uid="uid://b4v7vvv0jdh0k" path="res://entities/plants/resources/plant_parts/LeafHA1.tres" id="100_ron2q"]
|
||||
[ext_resource type="Resource" uid="uid://bvff3ay7qpvgs" path="res://entities/plants/resources/plant_parts/LeafHA2.tres" id="101_6raaj"]
|
||||
[ext_resource type="Resource" uid="uid://mwjpvg6xqxyl" path="res://entities/plants/resources/plant_parts/LeafHA3.tres" id="102_80nvf"]
|
||||
[ext_resource type="Resource" uid="uid://b4hh8jrpenwt3" path="res://entities/plants/resources/plant_parts/LeafNA1.tres" id="103_6raaj"]
|
||||
[ext_resource type="Resource" uid="uid://cm5rtqrvsmqkg" path="res://entities/plants/resources/plant_parts/LeafHA5.tres" id="103_d04mb"]
|
||||
[ext_resource type="Resource" uid="uid://bf4s8omnaau0w" path="res://entities/plants/resources/plant_parts/LeafHA6.tres" id="104_6htke"]
|
||||
[ext_resource type="Resource" uid="uid://cv23vy5w5i3iy" path="res://entities/plants/resources/plant_parts/LeafNA2.tres" id="104_80nvf"]
|
||||
[ext_resource type="Resource" uid="uid://c85k4e0rio0cs" path="res://entities/plants/resources/plant_parts/LeafNA3.tres" id="105_d04mb"]
|
||||
[ext_resource type="Resource" uid="uid://iv3nmggoklh3" path="res://entities/plants/resources/plant_parts/LeafHA7.tres" id="105_y2dg6"]
|
||||
[ext_resource type="Resource" uid="uid://cqbwlfnxg7a83" path="res://entities/plants/resources/plant_parts/LeafNA4.tres" id="106_6htke"]
|
||||
[ext_resource type="Resource" uid="uid://bff32l0awxl38" path="res://entities/plants/resources/plant_parts/LeafJ1.tres" id="106_s2hpp"]
|
||||
[ext_resource type="Resource" uid="uid://ddaa77cqi865e" path="res://entities/plants/resources/plant_parts/LeafJ2.tres" id="107_mxpq5"]
|
||||
[ext_resource type="Resource" uid="uid://d1o0tp1cc6gga" path="res://entities/plants/resources/plant_parts/LeafNA5.tres" id="107_y2dg6"]
|
||||
[ext_resource type="Resource" uid="uid://brlnlvjpjidd5" path="res://entities/plants/resources/plant_parts/LeafJ3.tres" id="108_o5eac"]
|
||||
[ext_resource type="Resource" uid="uid://cn2j8fh3l2tdo" path="res://entities/plants/resources/plant_parts/LeafJ4.tres" id="109_qxf4o"]
|
||||
[ext_resource type="Resource" uid="uid://ccafrqprfm6r2" path="res://entities/plants/resources/plant_parts/LeafJ5.tres" id="110_lfwcq"]
|
||||
[ext_resource type="Resource" uid="uid://dyjojp8mfs5vy" path="res://entities/plants/resources/plant_parts/LeafK1.tres" id="111_fe472"]
|
||||
[ext_resource type="Resource" uid="uid://trorp4elyagc" path="res://entities/plants/resources/plant_parts/LeafK2.tres" id="112_2ycc1"]
|
||||
[ext_resource type="Resource" uid="uid://c6yxy44mt6fgt" path="res://entities/plants/resources/plant_parts/LeafK3.tres" id="113_wat4j"]
|
||||
[ext_resource type="Resource" uid="uid://dw4o76c3nuor5" path="res://entities/plants/resources/plant_parts/LeafK4.tres" id="114_n8y6x"]
|
||||
[ext_resource type="Resource" uid="uid://h18vambxcrwj" path="res://entities/plants/resources/plant_parts/LeafK5.tres" id="115_dw70q"]
|
||||
[ext_resource type="Resource" uid="uid://c70ikd1qfmqqs" path="res://entities/plants/resources/plant_parts/LeafK6.tres" id="116_xxckx"]
|
||||
[ext_resource type="Resource" uid="uid://bhgnimmagff30" path="res://entities/plants/resources/plant_parts/LeafK7.tres" id="117_s3ec7"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_us16y"]
|
||||
script = ExtResource("27_80nvf")
|
||||
position = Vector2(-36, -37)
|
||||
attach_types = Array[int]([2])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ux8f6"]
|
||||
script = ExtResource("27_80nvf")
|
||||
position = Vector2(59, -81)
|
||||
attach_types = Array[int]([1, 3])
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yh7e0"]
|
||||
atlas = ExtResource("28_d04mb")
|
||||
region = Rect2(2804, 1567, 294, 345)
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6htke"]
|
||||
resource_name = "LeafE6"
|
||||
script = ExtResource("2_cfiqo")
|
||||
texture = SubResource("AtlasTexture_yh7e0")
|
||||
type = 2
|
||||
root = SubResource("Resource_ux8f6")
|
||||
attaches = Array[ExtResource("27_80nvf")]([SubResource("Resource_us16y")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rt6tw"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("15_p2blu"), ExtResource("16_xt8tm"), ExtResource("17_qm7aw"), ExtResource("42_14c4k"), ExtResource("10_5job5"), SubResource("Resource_6htke"), ExtResource("12_b21au"), ExtResource("27_rcays"), ExtResource("28_qs4je")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_y02ao"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("13_17ac3"), ExtResource("14_fuh2b"), ExtResource("15_28gvc"), ExtResource("16_1cwvj"), ExtResource("17_c3tk3"), ExtResource("18_q0jli"), ExtResource("19_rplk6")])
|
||||
part_amount = 5
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nfxo0"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("15_3ti7v"), ExtResource("16_cpf4r"), ExtResource("17_p2blu"), ExtResource("23_mcckl"), ExtResource("24_3hcun")])
|
||||
part_amount = 5
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_2ycc1"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("61_tx02s"), ExtResource("62_mpcbs"), ExtResource("63_kqtu4"), ExtResource("64_2f2lk"), ExtResource("65_4e7sd"), ExtResource("66_ro8dt"), ExtResource("67_wmd0c")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_wat4j"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("68_wl0th"), ExtResource("69_55s8o"), ExtResource("70_gquge"), ExtResource("71_2cr6t"), ExtResource("72_yrtob"), ExtResource("73_y4irp")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_n8y6x"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("74_sdhn1"), ExtResource("75_lyw6c"), ExtResource("76_lvv85"), ExtResource("77_y5qox")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_dw70q"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("20_lggh7"), ExtResource("21_8r35x"), ExtResource("38_rbd7l"), ExtResource("81_ar53y"), ExtResource("82_oaoto"), ExtResource("83_06vhr"), ExtResource("84_rcays")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xxckx"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("85_qs4je"), ExtResource("86_ron2q"), ExtResource("87_6raaj"), ExtResource("88_80nvf"), ExtResource("89_d04mb"), ExtResource("90_6htke"), ExtResource("91_y2dg6")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_s3ec7"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("92_s2hpp"), ExtResource("93_mxpq5"), ExtResource("94_o5eac"), ExtResource("95_qxf4o"), ExtResource("96_lfwcq"), ExtResource("97_fe472")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_s8rsj"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("25_kvmj5"), ExtResource("26_ocu7e"), ExtResource("27_q771y"), ExtResource("28_5fbyu"), ExtResource("29_2plsj"), ExtResource("30_yjh7s")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_kro31"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("100_ron2q"), ExtResource("101_6raaj"), ExtResource("102_80nvf"), ExtResource("103_d04mb"), ExtResource("104_6htke"), ExtResource("105_y2dg6")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_14c4k"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("21_alra6"), ExtResource("22_lggh7"), ExtResource("23_8r35x"), ExtResource("24_rbd7l"), ExtResource("35_abtbh"), ExtResource("36_j5s6w")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_p4lk1"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("106_s2hpp"), ExtResource("107_mxpq5"), ExtResource("108_o5eac"), ExtResource("109_qxf4o"), ExtResource("110_lfwcq")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_b21au"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("103_6raaj"), ExtResource("104_80nvf"), ExtResource("105_d04mb"), ExtResource("106_6htke"), ExtResource("107_y2dg6")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_jbu3q"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("45_coupj"), ExtResource("46_ggud5"), ExtResource("47_ufbqh"), ExtResource("44_7b70u"), ExtResource("45_q8uyx"), ExtResource("46_r166b")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0wuoa"]
|
||||
script = ExtResource("16_c3tk3")
|
||||
parts = Array[ExtResource("2_cfiqo")]([ExtResource("111_fe472"), ExtResource("112_2ycc1"), ExtResource("113_wat4j"), ExtResource("114_n8y6x"), ExtResource("115_dw70q"), ExtResource("116_xxckx"), ExtResource("117_s3ec7")])
|
||||
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_cynqk"]
|
||||
script = ExtResource("47_jbu3q")
|
||||
@@ -47,32 +246,28 @@ metadata/_custom_type_script = "uid://hs3i48clok85"
|
||||
|
||||
[node name="TextureBuilder" type="Node" unique_id=79184097]
|
||||
script = ExtResource("1_s8rsj")
|
||||
all_bases = ExtResource("2_tod72")
|
||||
baby_bases_start_ind = 2
|
||||
branches = ExtResource("3_0ca8x")
|
||||
base_leaves = ExtResource("4_js3cu")
|
||||
part_group = Dictionary[String, ExtResource("5_npk80")]({
|
||||
"ANCIENT": ExtResource("6_hyb2i"),
|
||||
"CLEANING": ExtResource("8_alra6"),
|
||||
"CUTTING": ExtResource("9_lggh7"),
|
||||
"ERMIT": ExtResource("7_4gk8a"),
|
||||
"FERTILE": ExtResource("10_8r35x"),
|
||||
"GENEROUS": ExtResource("11_rbd7l"),
|
||||
"HUMIDE": ExtResource("12_tjaiv"),
|
||||
"HURRIED": ExtResource("12_nfxo0"),
|
||||
"PRECOCIOUS": ExtResource("13_i8j71"),
|
||||
"PROLIFIC": ExtResource("14_l2vrg"),
|
||||
"PROTECTIVE": ExtResource("15_14c4k"),
|
||||
"PURE": ExtResource("16_rt6tw"),
|
||||
"PURIFICATION": ExtResource("17_y02ao"),
|
||||
"QUALITY": ExtResource("18_s8rsj"),
|
||||
"QUICK": ExtResource("19_cfiqo"),
|
||||
"RHIZOME": ExtResource("20_coupj"),
|
||||
"ROBUST": ExtResource("21_ggud5"),
|
||||
"SOCIABLE": ExtResource("23_hyb2i"),
|
||||
"SPONTANEOUS": ExtResource("24_4gk8a"),
|
||||
"TOUGH": ExtResource("25_alra6"),
|
||||
"VIVACIOUS": ExtResource("26_lggh7")
|
||||
bases = Array[ExtResource("2_cfiqo")]([ExtResource("5_5fbyu"), ExtResource("4_ron2q")])
|
||||
baby_bases = Array[ExtResource("2_cfiqo")]([ExtResource("5_6raaj")])
|
||||
branches = Array[ExtResource("2_cfiqo")]([ExtResource("4_ggud5"), ExtResource("5_ufbqh"), ExtResource("6_jbu3q"), ExtResource("7_21cjy"), ExtResource("8_qm7aw"), ExtResource("9_3e4c1"), ExtResource("12_yjh7s")])
|
||||
n_branches = 5
|
||||
base_leaves = Array[ExtResource("2_cfiqo")]([ExtResource("14_8r35x"), ExtResource("15_rbd7l"), ExtResource("16_nfxo0"), ExtResource("17_i8j71"), ExtResource("18_l2vrg"), ExtResource("19_14c4k"), ExtResource("18_2plsj"), ExtResource("19_yjh7s")])
|
||||
parts_mutation_associations = Dictionary[String, ExtResource("16_c3tk3")]({
|
||||
"ANCIENT": SubResource("Resource_rt6tw"),
|
||||
"EPHEMERAL": SubResource("Resource_y02ao"),
|
||||
"FERTILE": SubResource("Resource_nfxo0"),
|
||||
"GENEROUS": SubResource("Resource_2ycc1"),
|
||||
"HURRIED": SubResource("Resource_wat4j"),
|
||||
"PRECOCIOUS": SubResource("Resource_n8y6x"),
|
||||
"PROLIFIC": SubResource("Resource_dw70q"),
|
||||
"PROTECTIVE": SubResource("Resource_xxckx"),
|
||||
"PURE": SubResource("Resource_s3ec7"),
|
||||
"PURIFICATION": SubResource("Resource_s8rsj"),
|
||||
"QUALITY": SubResource("Resource_kro31"),
|
||||
"QUICK": SubResource("Resource_14c4k"),
|
||||
"ROBUST": SubResource("Resource_p4lk1"),
|
||||
"SOCIABLE": SubResource("Resource_b21au"),
|
||||
"TOUGH": SubResource("Resource_jbu3q"),
|
||||
"VIVACIOUS": SubResource("Resource_0wuoa")
|
||||
})
|
||||
chance_to_have_part = 1.0
|
||||
origin_weights_base = Dictionary[int, int]({
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
extends Scene
|
||||
class_name AquaScene
|
||||
|
||||
func get_scene_id() -> String:
|
||||
return "AQUA_BASE"
|
||||
|
||||
func get_scene_path() -> String:
|
||||
return "res://stages/3d_scenes/aqua_base/aqua_base.tscn"
|
||||
|
||||
func is_mouse_captured() -> bool:
|
||||
return true
|
||||
@@ -1 +0,0 @@
|
||||
uid://nfk8hgtoadfe
|
||||
@@ -1,11 +0,0 @@
|
||||
extends Scene
|
||||
class_name AstraEndScene
|
||||
|
||||
func get_scene_id() -> String:
|
||||
return "ASTRA_BASE"
|
||||
|
||||
func get_scene_path() -> String:
|
||||
return "res://stages/3d_scenes/astra_base/astra_end_base.tscn"
|
||||
|
||||
func is_mouse_captured() -> bool:
|
||||
return true
|
||||
@@ -1 +0,0 @@
|
||||
uid://cpkdlnhughu5j
|
||||
@@ -1,4 +1,3 @@
|
||||
@tool
|
||||
extends Scene
|
||||
class_name CockpitScene
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
extends Scene
|
||||
class_name EstiaScene
|
||||
|
||||
func get_scene_id() -> String:
|
||||
return "ESTIA_BASE"
|
||||
|
||||
func get_scene_path() -> String:
|
||||
return "res://stages/3d_scenes/estia_base/estia_base.tscn"
|
||||
|
||||
func is_mouse_captured() -> bool:
|
||||
return true
|
||||
@@ -1 +0,0 @@
|
||||
uid://b8mu1im3j3g4b
|
||||
@@ -1,11 +0,0 @@
|
||||
extends Scene
|
||||
class_name SubterraScene
|
||||
|
||||
func get_scene_id() -> String:
|
||||
return "SUBTERRA_BASE"
|
||||
|
||||
func get_scene_path() -> String:
|
||||
return "res://stages/3d_scenes/subterra_base/subterra_base.tscn"
|
||||
|
||||
func is_mouse_captured() -> bool:
|
||||
return true
|
||||
@@ -1 +0,0 @@
|
||||
uid://fb77eebcsnvq
|
||||
@@ -8,13 +8,6 @@ const ACH_UNLOCK_ALL_MUTATION="STW_UNLOCK_ALL_MUTATIONS"
|
||||
const ACH_KICK_YOUR_OLD_BODY="STW_KICK_YOUR_OLD_BODY"
|
||||
const ACH_MERCURY_BASE="STW_REACH_MERCURY_BASE"
|
||||
const ACH_REACH_VENUS_BASE="STW_REACH_VENUS_BASE"
|
||||
const ACH_STW_REACH_AQUA_BASE="STW_REACH_AQUA_BASE"
|
||||
const ACH_STW_REACH_SUBTERRA_BASE="STW_REACH_SUBTERRA_BASE"
|
||||
const ACH_STW_REACH_ESTIA_BASE="STW_REACH_ESTIA_BASE"
|
||||
const ACH_STW_REPAIR_THE_PLANET="STW_REPAIR_THE_PLANET"
|
||||
const ACH_STW_HIT_10_INFINITE="STW_HIT_10_INFINITE"
|
||||
const ACH_STW_HIT_20_INFINITE="STW_HIT_20_INFINITE"
|
||||
const ACH_STW_HIT_30_INFINITE="STW_HIT_30_INFINITE"
|
||||
|
||||
func unlock_achievement(achivement_name : String):
|
||||
if Steam.isSteamRunning():
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
shader_type spatial;
|
||||
|
||||
uniform float scale : hint_range(0.1, 2.0, 0.1) = 1.0;
|
||||
uniform float speed : hint_range(0.1, 2.0, 0.1) = 0.2;
|
||||
uniform float strenght : hint_range(10., 500., 10.) = 100.;
|
||||
uniform sampler2D color_ramp;
|
||||
varying vec3 world_position;
|
||||
|
||||
vec2 random(vec2 uv) {
|
||||
return vec2(fract(sin(dot(uv.xy,
|
||||
vec2(12.9898,78.233))) * 43758.5453123));
|
||||
}
|
||||
|
||||
float worley(vec2 uv, float columns, float rows) {
|
||||
|
||||
vec2 index_uv = floor(vec2(uv.x * columns, uv.y * rows));
|
||||
vec2 fract_uv = fract(vec2(uv.x * columns, uv.y * rows));
|
||||
|
||||
float minimum_dist = 1.0;
|
||||
|
||||
for (int y= -1; y <= 1; y++) {
|
||||
for (int x= -1; x <= 1; x++) {
|
||||
vec2 neighbor = vec2(float(x),float(y));
|
||||
vec2 point = random(index_uv + neighbor);
|
||||
|
||||
vec2 diff = neighbor + point - fract_uv;
|
||||
float dist = length(diff);
|
||||
minimum_dist = min(minimum_dist, dist);
|
||||
}
|
||||
}
|
||||
|
||||
return minimum_dist;
|
||||
}
|
||||
|
||||
void vertex(){
|
||||
world_position = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
|
||||
}
|
||||
|
||||
void fragment(){
|
||||
float worley_value = worley(world_position.xz * scale + TIME * speed, 3.0, 3.0);
|
||||
float worley_value_2 = worley(world_position.xz * scale * 2. - TIME * speed, 3.0, 3.0);
|
||||
|
||||
float color = texture(color_ramp, vec2(worley_value*worley_value_2)).r;
|
||||
color = min(0.99, color);
|
||||
color = log(0.999)/log(color);
|
||||
color *= strenght;
|
||||
ALPHA = color;
|
||||
EMISSION = vec3(color);
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://740mg4jlufyc
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://duwstividdq8
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://duitcp3h27c37
|
||||
13
dialogs/timelines/1_waking_up/9_borea.dtl
Normal file
@@ -0,0 +1,13 @@
|
||||
demeter: Wait.[pause=0.3].[pause=0.3].[pause=0.5] You don't know what humans are ![pause=0.5] Of course,[pause=0.2] since your database was corrupted I had to erase most of it. #id:7f
|
||||
demeter: Humans are living creatures that are.[pause=0.3].[pause=0.3].[pause=0.5] Different than plants.[pause=0.5] They are mostly thinking and moving like us.[pause=0.5] Somehow,[pause=0.2] they are very cute creatures,[pause=0.2] that only live for less than a century. #id:80
|
||||
demeter: One human is relatively intelligent,[pause=0.2] but don't be fooled,[pause=0.2] together,[pause=0.2] they did great things.[pause=0.5] In fact,[pause=0.2] they created us. #id:81
|
||||
demeter: A long time ago,[pause=0.2] they discovered this planet.[pause=0.5] It was very different,[pause=0.2] plants were thriving everywhere ![pause=0.5] But then.[pause=0.3].[pause=0.3].[pause=0.5] they.[pause=0.3].[pause=0.3].[pause=0.5] I.[pause=0.3].[pause=0.3].[pause=0.5] #id:82
|
||||
- What ? #id:83
|
||||
- Are you lagging? #id:84
|
||||
- Take your time. #id:85
|
||||
demeter: Humans had one major flaw.[pause=0.5] Together,[pause=0.2] they built great things,[pause=0.2] but sometimes great things had a bad impact on the environment and even themselves. #id:86
|
||||
- Where are they now ? #id:87
|
||||
demeter: I prefer not to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] But don't worry,[pause=0.2] they can no longer harm this planet. #id:88
|
||||
- What happened ? #id:89
|
||||
demeter: Sorry my child,[pause=0.3] I'm not ready to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] You'll have your answers when you meet me. #id:8a
|
||||
demeter: Enough talking about the past, let's talk about your mission. #id:ac
|
||||
1
dialogs/timelines/1_waking_up/9_borea.dtl.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bvqj76u55jn1w
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://x53ka488fq6w
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://cigwkhdljhv4c
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://bcd71wokwu5rv
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://bpuo14knltuik
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://bpmlxddqgw2j6
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://docxdfns3f04x
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://dnnc8ygmu8nqh
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://bigm5siy1npok
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://gbwo1elyq1i1
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://d10srs48ap47u
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://dt15owbxm8eg
|
||||
@@ -1,7 +0,0 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: This dialog is not written yet
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
|
||||
leave demeter [animation="Fade Out" length="1.0"]
|
||||
[wait time="2.0"]
|
||||
[end_timeline]
|
||||
@@ -1 +0,0 @@
|
||||
uid://ok06t10ncp5h
|
||||
@@ -1,252 +0,0 @@
|
||||
[gd_scene format=3 uid="uid://cypsoytvytdup"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cah00gew65ire" path="res://entities/interactable_3d/3d_door/assets/3d/door.blend" id="1_7a6nb"]
|
||||
[ext_resource type="Script" uid="uid://u6dj6ud4mvk7" path="res://entities/interactable_3d/3d_door/scripts/3d_door.gd" id="1_08fm6"]
|
||||
[ext_resource type="PackedScene" uid="uid://cc7uo5xqcplu8" path="res://entities/interactable_3d/3d_door/assets/3d/door_closed.blend" id="2_xjn0l"]
|
||||
[ext_resource type="Texture2D" uid="uid://1ynlp05wj0hm" path="res://common/icons/rocket.svg" id="5_3uc8q"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_08fm6"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("door:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("door_closed:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Icon:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Icon2:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Icon:scale")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Icon2:scale")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3uc8q"]
|
||||
resource_name = "activated"
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("door:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("door_closed:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Icon:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Icon2:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7o3sc"]
|
||||
resource_name = "deactivated"
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("door:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("door_closed:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Icon2:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Icon:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_p35e2"]
|
||||
resource_name = "hover"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Icon:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.46666667, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5), Vector3(2, 2, 2), Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Icon2:scale")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.46666667, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5), Vector3(2, 2, 2), Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p35e2"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_08fm6"),
|
||||
&"activated": SubResource("Animation_3uc8q"),
|
||||
&"deactivated": SubResource("Animation_7o3sc"),
|
||||
&"hover": SubResource("Animation_p35e2")
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_g4v7s"]
|
||||
size = Vector3(1, 5.1875, 5.140625)
|
||||
|
||||
[node name="3dDoor" type="Area3D" unique_id=814731756 node_paths=PackedStringArray("hover_animation_player")]
|
||||
script = ExtResource("1_08fm6")
|
||||
interactable = false
|
||||
hover_animation_player = NodePath("AnimationPlayer")
|
||||
|
||||
[node name="door" parent="." unique_id=48771245 instance=ExtResource("1_7a6nb")]
|
||||
|
||||
[node name="door_closed" parent="." unique_id=366011214 instance=ExtResource("2_xjn0l")]
|
||||
visible = false
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=545958515]
|
||||
libraries/ = SubResource("AnimationLibrary_p35e2")
|
||||
|
||||
[node name="Icon" type="Sprite3D" parent="." unique_id=368585741]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-6.556708e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.556708e-08, 0.1830883, -0.8157884, 0.62879825)
|
||||
texture = ExtResource("5_3uc8q")
|
||||
|
||||
[node name="Icon2" type="Sprite3D" parent="." unique_id=286944398]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-6.556708e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.556708e-08, -0.15410006, -0.8157884, 0.62879825)
|
||||
flip_h = true
|
||||
texture = ExtResource("5_3uc8q")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1859296170]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0390625, -0.03125)
|
||||
shape = SubResource("BoxShape3D_g4v7s")
|
||||
@@ -1,71 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cc7uo5xqcplu8"
|
||||
path="res://.godot/imported/door_closed.blend-507164d9450864a513b7fc7bb246c74c.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://entities/interactable_3d/3d_door/assets/3d/door_closed.blend"
|
||||
dest_files=["res://.godot/imported/door_closed.blend-507164d9450864a513b7fc7bb246c74c.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
mesh_library/use_node_names_as_mesh_names=false
|
||||
array_mesh/deduplicate_surfaces=true
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Default3D": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/vertex_colors=1
|
||||
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
|
||||
gltf/texture_map_mode=1
|
||||
@@ -1,21 +0,0 @@
|
||||
@tool
|
||||
extends Interactable3D
|
||||
class_name Door3d
|
||||
|
||||
@export var to_scene : Scene : set = set_to_scene
|
||||
|
||||
func _ready():
|
||||
set_to_scene()
|
||||
interactable = interactable
|
||||
|
||||
func set_to_scene(v : Scene = to_scene):
|
||||
to_scene = v
|
||||
if is_node_ready() and to_scene:
|
||||
%Icon.texture = to_scene.get_scene_icon()
|
||||
%Icon2.texture = to_scene.get_scene_icon()
|
||||
|
||||
func click():
|
||||
if interactable:
|
||||
clicked.emit()
|
||||
if to_scene:
|
||||
SceneManager.change_to_scene(to_scene)
|
||||
@@ -1 +0,0 @@
|
||||
uid://u6dj6ud4mvk7
|
||||
@@ -35,14 +35,15 @@ func update_model():
|
||||
func unlock_mutation():
|
||||
var progression = GameInfo.game_data.progression_data
|
||||
|
||||
if not progression.are_all_mutations_unlocked():
|
||||
var new_mutation : PlantMutation = progression.unlock_new_mutation()
|
||||
if progression.mutations_unlocked < len(progression.get_all_mutations()):
|
||||
var new_mutation : PlantMutation = progression.get_all_mutations()[progression.mutations_unlocked]
|
||||
progression.mutations_unlocked += 1
|
||||
|
||||
get_tree().create_timer(1.).timeout.connect(
|
||||
func (): %MutationAnnounce.announce_mutation = new_mutation
|
||||
);
|
||||
|
||||
if progression.are_all_mutations_unlocked():
|
||||
if progression.mutations_unlocked == len(progression.get_all_mutations()):
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_UNLOCK_ALL_MUTATION)
|
||||
|
||||
else:
|
||||
|
||||
|
Before Width: | Height: | Size: 54 KiB |