Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cb5a2421ae | ||
|
|
be33225d4d | ||
|
|
3caab11468 | ||
|
|
22b753c6a9 | ||
|
|
d0446e8826 | ||
|
|
5d724e2c63 | ||
|
|
45281057f2 | ||
|
|
53e86be2ce | ||
|
|
281f42d90c | ||
|
|
94dc231c01 | ||
|
|
39630ce2ca | ||
|
|
53c86e9cc7 | ||
|
|
e133519dc0 | ||
|
|
8cc85e3d6c | ||
|
|
24d19310b5 | ||
|
|
a7dcd6d725 | ||
|
|
caace67d12 | ||
|
|
b137360fa4 | ||
|
|
89c04f5d0c | ||
|
|
e03bfc580e | ||
|
|
4c4b051f3f |
@@ -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
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
[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
|
||||
@@ -0,0 +1,19 @@
|
||||
[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
|
||||
@@ -0,0 +1,19 @@
|
||||
[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
|
||||
@@ -0,0 +1,19 @@
|
||||
[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,7 +12,6 @@
|
||||
[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"]
|
||||
@@ -42,8 +41,11 @@
|
||||
[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"]
|
||||
@@ -167,19 +169,14 @@ unique_name_in_owner = true
|
||||
stream = ExtResource("5_ipd1r")
|
||||
volume_db = -15.0
|
||||
|
||||
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_8204s")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Demeter" type="AudioStreamPlayer" parent="Ambiances" unique_id=351918026]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_8204s")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Borea" type="AudioStreamPlayer" parent="Ambiances" unique_id=1857904648]
|
||||
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_spekb")
|
||||
stream = ExtResource("5_8204s")
|
||||
volume_db = -5.0
|
||||
|
||||
[node name="Ship" type="AudioStreamPlayer" parent="Ambiances" unique_id=1564186965]
|
||||
@@ -187,10 +184,6 @@ 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
|
||||
|
||||
@@ -247,10 +240,29 @@ stream = ExtResource("7_tuvql")
|
||||
volume_db = -5.0
|
||||
bus = &"Music"
|
||||
|
||||
[node name="Meeting_demeter" type="AudioStreamPlayer" parent="Musics" unique_id=1066359159]
|
||||
[node name="MeetingDemeter" 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,9 +58,6 @@ 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)
|
||||
@@ -70,6 +67,21 @@ 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():
|
||||
@@ -207,7 +219,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()
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
[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
|
||||
@@ -0,0 +1,14 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://2eo5lucwktg4
|
||||
@@ -1,16 +1,28 @@
|
||||
extends Resource
|
||||
class_name GameData
|
||||
|
||||
enum GameMode {STORY}
|
||||
enum Mode {STORY, INFINITE}
|
||||
|
||||
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 = ProgressionData.new()
|
||||
@export var progression_data : ProgressionData
|
||||
|
||||
@export var current_run : RunData = start_run() :
|
||||
@export var current_run : RunData :
|
||||
set(v):
|
||||
current_run = v
|
||||
current_run_updated.emit(v)
|
||||
@@ -29,22 +41,23 @@ signal current_region_data_updated(p : RegionData)
|
||||
@export var dead_orchid_rotation : Vector3
|
||||
|
||||
@export var item_announced = []
|
||||
|
||||
@export var game_mode : GameMode = GameMode.STORY
|
||||
@export var max_energy_announced = PlayerData.DEFAULT_MAX_ENERGY
|
||||
@export var max_inventory_announced = PlayerData.DEFAULT_INVENTORY_SIZE
|
||||
|
||||
@export var dialogs_done : Array[String] = [] #Chemin des dialogues terminés
|
||||
@export var tutorials_done : Array[String] = []
|
||||
|
||||
|
||||
func start_run() -> RunData:
|
||||
player_data.clear_inventory()
|
||||
player_data.update_with_artefacts([])
|
||||
current_run = RunData.new()
|
||||
current_run.story_step = progression_data.story_step.duplicate_deep()
|
||||
current_run.story_step = progression_data.get_story_step().duplicate_deep()
|
||||
current_run.generate_next_run_points()
|
||||
current_run.current_run_point_changed.connect(
|
||||
func(rp : RunPoint):
|
||||
start_region(rp.region_parameter)
|
||||
)
|
||||
player_data.update_with_run_data(current_run)
|
||||
ship_in_space = false
|
||||
return current_run
|
||||
|
||||
@@ -59,12 +72,14 @@ 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.story_step.get_respawn_scene())
|
||||
SceneManager.change_to_scene(progression_data.get_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()
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://iigxgqiyn0p4
|
||||
@@ -1,25 +1,28 @@
|
||||
@abstract
|
||||
extends Resource
|
||||
class_name ProgressionData
|
||||
|
||||
@export var planted_mutation_ids: Array[String] = []
|
||||
@export var story_step_i := 0
|
||||
@export var mutations_unlocked = 8
|
||||
@export var run_number : int = 0
|
||||
@export var best_run : int = 0 : set = set_best_run
|
||||
|
||||
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_step() -> StoryStep
|
||||
|
||||
func get_story_step() -> StoryStep:
|
||||
return get_all_story_steps()[story_step_i]
|
||||
@abstract func get_story_progression() -> float
|
||||
|
||||
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 next_story_step() -> void
|
||||
|
||||
func get_available_mutations() -> Array[PlantMutation]:
|
||||
return get_all_mutations().slice(0, mutations_unlocked)
|
||||
@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_all_mutations() -> Array[PlantMutation]:
|
||||
return [
|
||||
@@ -38,6 +41,14 @@ func get_all_mutations() -> Array[PlantMutation]:
|
||||
GenerousMutation.new(),
|
||||
ProtectiveMutation.new(),
|
||||
PureMutation.new(),
|
||||
CleaningMutation.new(),
|
||||
ErmitMutation.new(),
|
||||
TropicalMutation.new(),
|
||||
RhizomeMutation.new(),
|
||||
SpontaneousMutation.new(),
|
||||
SaviorMutation.new(),
|
||||
AdaptiveMutation.new(),
|
||||
ResistantMutation.new(),
|
||||
]
|
||||
|
||||
func get_all_artifacts() -> Array[Artefact]:
|
||||
@@ -47,13 +58,21 @@ 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()
|
||||
BoreaStoryStep.new(),
|
||||
AquaStoryStep.new(),
|
||||
SubterraStoryStep.new(),
|
||||
EstiaStoryStep.new(),
|
||||
AstraStoryStep.new(),
|
||||
]
|
||||
|
||||
func finish_run(run : RunData):
|
||||
run_number += 1
|
||||
best_run = max(best_run, run.level)
|
||||
|
||||
@@ -145,6 +145,6 @@ func generate_challenge_modifiers() -> Array[RegionModifier]:
|
||||
|
||||
func add_artefacts(a: Artefact):
|
||||
artefacts.append(a)
|
||||
GameInfo.game_data.player_data.update_with_artefacts(artefacts)
|
||||
GameInfo.game_data.player_data.update_with_run_data(self)
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
@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()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bdonub7t01xmi
|
||||
@@ -12,6 +12,8 @@ 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:
|
||||
@@ -19,10 +21,21 @@ 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_player_max_energy() -> int:
|
||||
return PlayerData.DEFAULT_MAX_ENERGY
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return PlayerData.DEFAULT_INVENTORY_SIZE
|
||||
|
||||
func get_region_sequence_length() -> int:
|
||||
return 7
|
||||
return 3 #TOCHANGE TO 7
|
||||
|
||||
func get_first_vending_machine_occurence(_level : int) -> int:
|
||||
return 2
|
||||
@@ -48,6 +61,8 @@ 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,3 +1,4 @@
|
||||
@tool
|
||||
extends StoryStep
|
||||
class_name MercuryStoryStep
|
||||
|
||||
@@ -25,7 +26,7 @@ func get_destination_scene() -> Scene:
|
||||
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
|
||||
if level == 0:
|
||||
return MERCURY_DEPARTURE_DIALOG_PATH
|
||||
if level == 1:
|
||||
if level == 2:
|
||||
return VENDING_MACHINE_DIALOG_PATH
|
||||
if ship_in_space and is_run_finished(level + 1):
|
||||
return VENUS_ARRIVAL_DIALOG_PATH
|
||||
|
||||
@@ -10,22 +10,17 @@ 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")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return BoreaScene.new()
|
||||
|
||||
func get_player_max_energy() -> int:
|
||||
return 4
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 3
|
||||
|
||||
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
|
||||
return VENUS_DEPARTURE_DIALOG_PATH
|
||||
@@ -0,0 +1,28 @@
|
||||
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_player_max_energy() -> int:
|
||||
return 4
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 4
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return AQUA_TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://cvuv0lig50jok
|
||||
@@ -0,0 +1,28 @@
|
||||
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_player_max_energy() -> int:
|
||||
return 4
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 5
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://b5ixh763b7s34
|
||||
@@ -0,0 +1,28 @@
|
||||
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_player_max_energy() -> int:
|
||||
return 5
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 5
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://cnxvc4wfr7dba
|
||||
@@ -0,0 +1,28 @@
|
||||
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_player_max_energy() -> int:
|
||||
return 5
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 6
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 4:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://bkm4tgllpq0p
|
||||
@@ -0,0 +1,36 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://vcoy8pt780cl
|
||||
@@ -1,35 +1,62 @@
|
||||
extends Node
|
||||
|
||||
const SAVE_GAME_LOCATION = "user://stw_demo_save.tres"
|
||||
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_SETTINGS_LOCATION = "user://stw_settings.tres"
|
||||
|
||||
var game_loaded = false
|
||||
signal game_loaded
|
||||
|
||||
signal game_data_updated(g : GameData)
|
||||
var game_mode_choosen := GameData.Mode.STORY
|
||||
|
||||
var game_data : GameData :
|
||||
set(v):
|
||||
game_data = v
|
||||
game_data_updated.emit(v)
|
||||
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
|
||||
|
||||
var settings_data : SettingsData
|
||||
|
||||
var current_dialog_path : String
|
||||
|
||||
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()
|
||||
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()
|
||||
|
||||
return game_data
|
||||
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
|
||||
|
||||
func start_game_data():
|
||||
game_data = GameData.new()
|
||||
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()
|
||||
|
||||
save_game_data()
|
||||
|
||||
func save_game_data():
|
||||
if game_data:
|
||||
ResourceSaver.save(game_data, SAVE_GAME_LOCATION)
|
||||
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)
|
||||
|
||||
func load_settings_data() -> SettingsData:
|
||||
if ResourceLoader.exists(SAVE_SETTINGS_LOCATION):
|
||||
@@ -45,7 +72,8 @@ func save_settings():
|
||||
ResourceSaver.save(settings_data, SAVE_SETTINGS_LOCATION)
|
||||
|
||||
func _init():
|
||||
load_game_data()
|
||||
load_story_game_data()
|
||||
load_infinite_game_data()
|
||||
load_settings_data()
|
||||
update_language_settings()
|
||||
update_video_settings()
|
||||
@@ -91,3 +119,5 @@ 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
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-brand-tiktok"
|
||||
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="M16.083 2h-4.083a1 1 0 0 0 -1 1v11.5a1.5 1.5 0 1 1 -2.519 -1.1l.12 -.1a1 1 0 0 0 .399 -.8v-4.326a1 1 0 0 0 -1.23 -.974a7.5 7.5 0 0 0 1.73 14.8l.243 -.005a7.5 7.5 0 0 0 7.257 -7.495v-2.7l.311 .153c1.122 .53 2.333 .868 3.59 .993a1 1 0 0 0 1.099 -.996v-4.033a1 1 0 0 0 -.834 -.986a5.005 5.005 0 0 1 -4.097 -4.096a1 1 0 0 0 -.986 -.835z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 849 B |
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dcpi3j7568ssj"
|
||||
path="res://.godot/imported/brand-tiktok.svg-90d59fe4c9acbda3dd44d01df8d28aaf.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/brand-tiktok.svg"
|
||||
dest_files=["res://.godot/imported/brand-tiktok.svg-90d59fe4c9acbda3dd44d01df8d28aaf.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
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-brand-youtube"
|
||||
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="M18 3a5 5 0 0 1 5 5v8a5 5 0 0 1 -5 5h-12a5 5 0 0 1 -5 -5v-8a5 5 0 0 1 5 -5zm-9 6v6a1 1 0 0 0 1.514 .857l5 -3a1 1 0 0 0 0 -1.714l-5 -3a1 1 0 0 0 -1.514 .857z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 674 B |
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://r5xl8pwfnxwj"
|
||||
path="res://.godot/imported/brand-youtube.svg-31f5c2fee0d5c1adf44bc13b41fe4ea0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/brand-youtube.svg"
|
||||
dest_files=["res://.godot/imported/brand-youtube.svg-31f5c2fee0d5c1adf44bc13b41fe4ea0.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
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-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>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,43 @@
|
||||
[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
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-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>
|
||||
|
After Width: | Height: | Size: 892 B |
@@ -0,0 +1,43 @@
|
||||
[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 +1,31 @@
|
||||
<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>
|
||||
<?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>
|
||||
|
||||
|
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 780 B |
@@ -0,0 +1,35 @@
|
||||
<?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>
|
||||
|
After Width: | Height: | Size: 956 B |
@@ -0,0 +1,43 @@
|
||||
[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,19 +3,20 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://sdrr43mek1cl"
|
||||
path="res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.ctex"
|
||||
path.s3tc="res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/globe.svg"
|
||||
dest_files=["res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.ctex"]
|
||||
dest_files=["res://.godot/imported/globe.svg-e211d89cbdcd4219d25d8110f0497347.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,7 +38,7 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-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>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,43 @@
|
||||
[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
|
||||
@@ -0,0 +1,47 @@
|
||||
<?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-lifebuoy"
|
||||
version="1.1"
|
||||
id="svg7"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs7" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
d="M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0"
|
||||
id="path2"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"
|
||||
id="path3"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M15 15l3.35 3.35"
|
||||
id="path4"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M9 15l-3.35 3.35"
|
||||
id="path5"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M5.65 5.65l3.35 3.35"
|
||||
id="path6"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
<path
|
||||
d="M18.35 5.65l-3.35 3.35"
|
||||
id="path7"
|
||||
style="stroke:#ffffff;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bu7t6am6rptlw"
|
||||
path="res://.godot/imported/lifebuoy.svg-cc678597b00928806b7d9adfb55d35f6.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/lifebuoy.svg"
|
||||
dest_files=["res://.godot/imported/lifebuoy.svg-cc678597b00928806b7d9adfb55d35f6.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
|
||||
@@ -0,0 +1,31 @@
|
||||
<?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>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,43 @@
|
||||
[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,237 +1,38 @@
|
||||
[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="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="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://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")
|
||||
@@ -246,28 +47,32 @@ metadata/_custom_type_script = "uid://hs3i48clok85"
|
||||
|
||||
[node name="TextureBuilder" type="Node" unique_id=79184097]
|
||||
script = ExtResource("1_s8rsj")
|
||||
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")
|
||||
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")
|
||||
})
|
||||
chance_to_have_part = 1.0
|
||||
origin_weights_base = Dictionary[int, int]({
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://nfk8hgtoadfe
|
||||
@@ -0,0 +1,11 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://cpkdlnhughu5j
|
||||
@@ -1,3 +1,4 @@
|
||||
@tool
|
||||
extends Scene
|
||||
class_name CockpitScene
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
extends Scene
|
||||
class_name CreditsScene
|
||||
|
||||
func get_scene_id() -> String:
|
||||
return "CREDITS"
|
||||
|
||||
func get_scene_path() -> String:
|
||||
return "res://gui/credits/credits.tscn"
|
||||
|
||||
func is_needed_to_be_saved() -> bool:
|
||||
return false
|
||||
@@ -0,0 +1 @@
|
||||
uid://c1a1t8k7b4nny
|
||||
@@ -0,0 +1,11 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://b8mu1im3j3g4b
|
||||
@@ -61,8 +61,11 @@ func spawn_player(relay_base : RelayBase):
|
||||
GameInfo.game_data.incubator_used.append(
|
||||
incubators.find(choosen_incubator)
|
||||
)
|
||||
if len(possible_incubators) == 1:
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_ALL_CASES)
|
||||
else:
|
||||
choosen_incubator = incubators.pick_random()
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_ALL_CASES)
|
||||
|
||||
choosen_incubator.used = true
|
||||
relay_base.player.global_position = choosen_incubator.global_position + Vector3.UP
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
uid://fb77eebcsnvq
|
||||
@@ -8,11 +8,19 @@ 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"
|
||||
const ACH_STW_ALL_CASES="STW_ALL_CASES"
|
||||
|
||||
func unlock_achievement(achivement_name : String):
|
||||
if Steam.isSteamRunning():
|
||||
var status = Steam.getAchievement(achivement_name)
|
||||
print("Steam Achievement %s" %achivement_name)
|
||||
print("Steam Achievement %s" % achivement_name)
|
||||
if status.has("ret") and status.ret and not status.achieved:
|
||||
Steam.setAchievement(achivement_name)
|
||||
Steam.storeStats()
|
||||
@@ -0,0 +1,49 @@
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://740mg4jlufyc
|
||||
@@ -1,7 +1,8 @@
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
|
||||
join demeter center [animation="Fade In" length="1.0"]
|
||||
demeter: Well, you've done the easiest part so far, but all the remaining relay bases along the way have been destroyed by the weather... So, you're going to have a long road ahead of you to reach me. #id:ed
|
||||
demeter: However, I'm glad you made it this far! I understand that waking up in that dark room must have been quite a shock. #id:ee
|
||||
demeter: Hopefully, you'll be glad to hear that I managed to improve the models in this base, and you'll now have 4 energy for the rest of the trip! #id:119
|
||||
demeter: I'm glad you made it this far! I understand that waking up in that dark room must have been quite a shock. #id:ee
|
||||
demeter: This is the first time you've come this far, or rather, the first time an iteration has reached this base. #id:ef
|
||||
- What do you mean by "an iteration"? #id:f0
|
||||
demeter: Uh, I've tried several times to get you to come to me by changing many parameters of your intelligence. Each time, you got lost, you didn't achieve your objectives, or you chose to disobey me... #id:f1
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:11a
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://duwstividdq8
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:11b
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://duitcp3h27c37
|
||||
@@ -1,13 +0,0 @@
|
||||
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 +0,0 @@
|
||||
uid://bvqj76u55jn1w
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:11c
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://x53ka488fq6w
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:11d
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://cigwkhdljhv4c
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:11e
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://bcd71wokwu5rv
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:11f
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://bpuo14knltuik
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:120
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://bpmlxddqgw2j6
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:121
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://docxdfns3f04x
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:122
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://dnnc8ygmu8nqh
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:123
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://bigm5siy1npok
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:124
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://gbwo1elyq1i1
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:125
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://d10srs48ap47u
|
||||
@@ -0,0 +1,7 @@
|
||||
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 #id:126
|
||||
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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://dt15owbxm8eg
|
||||