Dev 0.1
* Structure de l'histoire principale * Line sur le perso principal * Agrandissement de la zone de détection des cellules * Ajout du spray de Talion (+1 points de plante de base) * Ajout de feedback sur l'usage des cellules d'énergie
This commit is contained in:
BIN
common/audio_manager/assets/morceaux/histoire/aqua.mp3
Normal file
BIN
common/audio_manager/assets/morceaux/histoire/aqua.mp3
Normal file
Binary file not shown.
@@ -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
|
||||
BIN
common/audio_manager/assets/morceaux/histoire/astra.ogg
Normal file
BIN
common/audio_manager/assets/morceaux/histoire/astra.ogg
Normal file
Binary file not shown.
@@ -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
|
||||
BIN
common/audio_manager/assets/morceaux/histoire/estia.ogg
Normal file
BIN
common/audio_manager/assets/morceaux/histoire/estia.ogg
Normal file
Binary file not shown.
@@ -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
|
||||
BIN
common/audio_manager/assets/sfx/borea_lever/borea_lever.mp3
Normal file
BIN
common/audio_manager/assets/sfx/borea_lever/borea_lever.mp3
Normal file
Binary file not shown.
@@ -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():
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
Binary file not shown.
@@ -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
|
||||
@@ -27,3 +27,15 @@ func unlock_new_mutation() -> PlantMutation:
|
||||
|
||||
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
|
||||
|
||||
@@ -3,7 +3,7 @@ extends Resource
|
||||
class_name ProgressionData
|
||||
|
||||
@export var run_number : int = 0
|
||||
@export var best_run : int = 0
|
||||
@export var best_run : int = 0 : set = set_best_run
|
||||
|
||||
@abstract func get_story_step() -> StoryStep
|
||||
|
||||
@@ -21,6 +21,9 @@ class_name ProgressionData
|
||||
|
||||
@abstract func unlock_new_mutation() -> PlantMutation
|
||||
|
||||
func set_best_run(v := best_run):
|
||||
best_run = v
|
||||
|
||||
func get_all_mutations() -> Array[PlantMutation]:
|
||||
return [
|
||||
QualityMutation.new(),
|
||||
@@ -52,14 +55,19 @@ 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()
|
||||
# TutorialStoryStep.new(),
|
||||
# StartStoryStep.new(),
|
||||
# MercuryStoryStep.new(),
|
||||
BoreaStoryStep.new(),
|
||||
AquaStoryStep.new(),
|
||||
SubterraStoryStep.new(),
|
||||
EstiaStoryStep.new(),
|
||||
AstraStoryStep.new(),
|
||||
]
|
||||
|
||||
func finish_run(run : RunData):
|
||||
|
||||
@@ -29,7 +29,7 @@ func is_region_sequence_infinite() -> bool:
|
||||
return false
|
||||
|
||||
func get_region_sequence_length() -> int:
|
||||
return 7
|
||||
return 2 #TO CHANGE TO 7
|
||||
|
||||
func get_first_vending_machine_occurence(_level : int) -> int:
|
||||
return 2
|
||||
|
||||
@@ -10,16 +10,6 @@ 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")
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
extends StoryStep
|
||||
class_name AquaStoryStep
|
||||
|
||||
const AQUA_TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/2_aqua/1_aqua_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"BOREA_BASE",
|
||||
"004",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("AQUA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return AquaScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return AQUA_TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://cvuv0lig50jok
|
||||
@@ -0,0 +1,22 @@
|
||||
extends StoryStep
|
||||
class_name SubterraStoryStep
|
||||
|
||||
const TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/3_subterra/1_subterra_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"AQUA_BASE",
|
||||
"005",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("SUBTERRA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return SubterraScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://b5ixh763b7s34
|
||||
@@ -0,0 +1,22 @@
|
||||
extends StoryStep
|
||||
class_name EstiaStoryStep
|
||||
|
||||
const TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/4_estia/1_estia_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"SUBTERRA_BASE",
|
||||
"006",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("SUBTERRA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return EstiaScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://cnxvc4wfr7dba
|
||||
@@ -0,0 +1,22 @@
|
||||
extends StoryStep
|
||||
class_name AstraStoryStep
|
||||
|
||||
const TRAVEL_PHONE_CALL_DIALOG_PATH = "res://dialogs/timelines/6_astra/1_astra_travel_phone_call.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
"ESTIA_BASE",
|
||||
"007",
|
||||
true
|
||||
)
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("ESTIA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return AstraEndScene.new()
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 4:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://bkm4tgllpq0p
|
||||
@@ -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
|
||||
|
||||
11
common/scene_manager/scripts/scenes/aqua_scene.gd
Normal file
11
common/scene_manager/scripts/scenes/aqua_scene.gd
Normal file
@@ -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
|
||||
1
common/scene_manager/scripts/scenes/aqua_scene.gd.uid
Normal file
1
common/scene_manager/scripts/scenes/aqua_scene.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://nfk8hgtoadfe
|
||||
11
common/scene_manager/scripts/scenes/astra_end_scene.gd
Normal file
11
common/scene_manager/scripts/scenes/astra_end_scene.gd
Normal file
@@ -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
|
||||
|
||||
|
||||
11
common/scene_manager/scripts/scenes/estia_scene.gd
Normal file
11
common/scene_manager/scripts/scenes/estia_scene.gd
Normal file
@@ -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
|
||||
1
common/scene_manager/scripts/scenes/estia_scene.gd.uid
Normal file
1
common/scene_manager/scripts/scenes/estia_scene.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://b8mu1im3j3g4b
|
||||
11
common/scene_manager/scripts/scenes/subterra_scene.gd
Normal file
11
common/scene_manager/scripts/scenes/subterra_scene.gd
Normal file
@@ -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,6 +8,13 @@ const ACH_UNLOCK_ALL_MUTATION="STW_UNLOCK_ALL_MUTATIONS"
|
||||
const ACH_KICK_YOUR_OLD_BODY="STW_KICK_YOUR_OLD_BODY"
|
||||
const ACH_MERCURY_BASE="STW_REACH_MERCURY_BASE"
|
||||
const ACH_REACH_VENUS_BASE="STW_REACH_VENUS_BASE"
|
||||
const ACH_STW_REACH_AQUA_BASE="STW_REACH_AQUA_BASE"
|
||||
const ACH_STW_REACH_SUBTERRA_BASE="STW_REACH_SUBTERRA_BASE"
|
||||
const ACH_STW_REACH_ESTIA_BASE="STW_REACH_ESTIA_BASE"
|
||||
const ACH_STW_REPAIR_THE_PLANET="STW_REPAIR_THE_PLANET"
|
||||
const ACH_STW_HIT_10_INFINITE="STW_HIT_10_INFINITE"
|
||||
const ACH_STW_HIT_20_INFINITE="STW_HIT_20_INFINITE"
|
||||
const ACH_STW_HIT_30_INFINITE="STW_HIT_30_INFINITE"
|
||||
|
||||
func unlock_achievement(achivement_name : String):
|
||||
if Steam.isSteamRunning():
|
||||
|
||||
252
entities/interactable_3d/3d_door/3d_door.tscn
Normal file
252
entities/interactable_3d/3d_door/3d_door.tscn
Normal file
@@ -0,0 +1,252 @@
|
||||
[gd_scene format=3 uid="uid://cypsoytvytdup"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cah00gew65ire" path="res://entities/interactable_3d/3d_door/assets/3d/door.blend" id="1_7a6nb"]
|
||||
[ext_resource type="Script" uid="uid://u6dj6ud4mvk7" path="res://entities/interactable_3d/3d_door/scripts/3d_door.gd" id="1_08fm6"]
|
||||
[ext_resource type="PackedScene" uid="uid://cc7uo5xqcplu8" path="res://entities/interactable_3d/3d_door/assets/3d/door_closed.blend" id="2_xjn0l"]
|
||||
[ext_resource type="Texture2D" uid="uid://1ynlp05wj0hm" path="res://common/icons/rocket.svg" id="5_3uc8q"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_08fm6"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("door:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("door_closed:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Icon:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Icon2:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Icon:scale")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Icon2:scale")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3uc8q"]
|
||||
resource_name = "activated"
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("door:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("door_closed:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Icon:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Icon2:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7o3sc"]
|
||||
resource_name = "deactivated"
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("door:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("door_closed:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Icon2:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Icon:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_p35e2"]
|
||||
resource_name = "hover"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Icon:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.46666667, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5), Vector3(2, 2, 2), Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Icon2:scale")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.46666667, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1.5, 1.5, 1.5), Vector3(2, 2, 2), Vector3(1.5, 1.5, 1.5)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p35e2"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_08fm6"),
|
||||
&"activated": SubResource("Animation_3uc8q"),
|
||||
&"deactivated": SubResource("Animation_7o3sc"),
|
||||
&"hover": SubResource("Animation_p35e2")
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_g4v7s"]
|
||||
size = Vector3(1, 5.1875, 5.140625)
|
||||
|
||||
[node name="3dDoor" type="Area3D" unique_id=814731756 node_paths=PackedStringArray("hover_animation_player")]
|
||||
script = ExtResource("1_08fm6")
|
||||
interactable = false
|
||||
hover_animation_player = NodePath("AnimationPlayer")
|
||||
|
||||
[node name="door" parent="." unique_id=48771245 instance=ExtResource("1_7a6nb")]
|
||||
|
||||
[node name="door_closed" parent="." unique_id=366011214 instance=ExtResource("2_xjn0l")]
|
||||
visible = false
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=545958515]
|
||||
libraries/ = SubResource("AnimationLibrary_p35e2")
|
||||
|
||||
[node name="Icon" type="Sprite3D" parent="." unique_id=368585741]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-6.556708e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.556708e-08, 0.1830883, -0.8157884, 0.62879825)
|
||||
texture = ExtResource("5_3uc8q")
|
||||
|
||||
[node name="Icon2" type="Sprite3D" parent="." unique_id=286944398]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-6.556708e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.556708e-08, -0.15410006, -0.8157884, 0.62879825)
|
||||
flip_h = true
|
||||
texture = ExtResource("5_3uc8q")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1859296170]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0390625, -0.03125)
|
||||
shape = SubResource("BoxShape3D_g4v7s")
|
||||
BIN
entities/interactable_3d/3d_door/assets/3d/door.blend
Normal file
BIN
entities/interactable_3d/3d_door/assets/3d/door.blend
Normal file
Binary file not shown.
@@ -4,18 +4,20 @@ importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cah00gew65ire"
|
||||
path="res://.godot/imported/door.blend-c87f276c56915caea51fe7d3dbe0db91.scn"
|
||||
path="res://.godot/imported/door.blend-eece18402c8800106d851ddc37f797c8.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/3d_scenes/common/assets/3d/door.blend"
|
||||
dest_files=["res://.godot/imported/door.blend-c87f276c56915caea51fe7d3dbe0db91.scn"]
|
||||
source_file="res://entities/interactable_3d/3d_door/assets/3d/door.blend"
|
||||
dest_files=["res://.godot/imported/door.blend-eece18402c8800106d851ddc37f797c8.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
|
||||
@@ -52,7 +54,7 @@ blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/vertex_colors=2
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
@@ -66,3 +68,4 @@ blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
gltf/texture_map_mode=0
|
||||
Binary file not shown.
BIN
entities/interactable_3d/3d_door/assets/3d/door_closed.blend
Normal file
BIN
entities/interactable_3d/3d_door/assets/3d/door_closed.blend
Normal file
Binary file not shown.
@@ -0,0 +1,71 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cc7uo5xqcplu8"
|
||||
path="res://.godot/imported/door_closed.blend-507164d9450864a513b7fc7bb246c74c.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://entities/interactable_3d/3d_door/assets/3d/door_closed.blend"
|
||||
dest_files=["res://.godot/imported/door_closed.blend-507164d9450864a513b7fc7bb246c74c.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
mesh_library/use_node_names_as_mesh_names=false
|
||||
array_mesh/deduplicate_surfaces=true
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Default3D": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/vertex_colors=1
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
gltf/texture_map_mode=1
|
||||
BIN
entities/interactable_3d/3d_door/assets/3d/door_closed.blend1
Normal file
BIN
entities/interactable_3d/3d_door/assets/3d/door_closed.blend1
Normal file
Binary file not shown.
21
entities/interactable_3d/3d_door/scripts/3d_door.gd
Normal file
21
entities/interactable_3d/3d_door/scripts/3d_door.gd
Normal file
@@ -0,0 +1,21 @@
|
||||
@tool
|
||||
extends Interactable3D
|
||||
class_name Door3d
|
||||
|
||||
@export var to_scene : Scene : set = set_to_scene
|
||||
|
||||
func _ready():
|
||||
set_to_scene()
|
||||
interactable = interactable
|
||||
|
||||
func set_to_scene(v : Scene = to_scene):
|
||||
to_scene = v
|
||||
if is_node_ready() and to_scene:
|
||||
%Icon.texture = to_scene.get_scene_icon()
|
||||
%Icon2.texture = to_scene.get_scene_icon()
|
||||
|
||||
func click():
|
||||
if interactable:
|
||||
clicked.emit()
|
||||
if to_scene:
|
||||
SceneManager.change_to_scene(to_scene)
|
||||
1
entities/interactable_3d/3d_door/scripts/3d_door.gd.uid
Normal file
1
entities/interactable_3d/3d_door/scripts/3d_door.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://u6dj6ud4mvk7
|
||||
@@ -3,6 +3,7 @@
|
||||
[ext_resource type="Script" uid="uid://b25sqd4v2i3v2" path="res://entities/interactables/energy_cell/scripts/energy_cell.gd" id="1_nheea"]
|
||||
[ext_resource type="Texture2D" uid="uid://ds65vxsiitxit" path="res://entities/interactables/energy_cell/assets/sprites/energy_cell_on.png" id="2_fnyaf"]
|
||||
[ext_resource type="Texture2D" uid="uid://dh6jdqoy2xu65" path="res://entities/interactables/energy_cell/assets/sprites/energy_cell_off.png" id="3_t6ydv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="4_fnyaf"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ylpt4"]
|
||||
radius = 39.115215
|
||||
@@ -100,3 +101,10 @@ shape = SubResource("CircleShape2D_ylpt4")
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1320210428]
|
||||
unique_name_in_owner = true
|
||||
libraries/ = SubResource("AnimationLibrary_d2c63")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1285579466]
|
||||
|
||||
[node name="EnergyParticle" type="Sprite2D" parent="CanvasLayer" unique_id=786670396]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(100, 100)
|
||||
texture = ExtResource("4_fnyaf")
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
@tool
|
||||
extends Interactable
|
||||
class_name EnergyCell
|
||||
|
||||
@@ -8,6 +7,7 @@ const GIVEN_ENERGY = 1
|
||||
|
||||
func _ready():
|
||||
set_used()
|
||||
%EnergyParticle.visible = false
|
||||
|
||||
func set_used(v = used):
|
||||
used = v
|
||||
@@ -18,6 +18,11 @@ func set_used(v = used):
|
||||
%SpriteOff.visible = used
|
||||
%SpriteOn.visible = not used
|
||||
|
||||
func pointer_text() -> String:
|
||||
if used:
|
||||
return tr("%s_USED") % tr(default_info_title)
|
||||
return default_info_title
|
||||
|
||||
func can_interact(p : Player) -> bool:
|
||||
return p.data.energy < p.data.max_energy
|
||||
|
||||
@@ -26,13 +31,30 @@ func interact(p : Player) -> bool:
|
||||
used = true
|
||||
available = false
|
||||
|
||||
await spawn_energy_particle()
|
||||
|
||||
p.data.energy += GIVEN_ENERGY
|
||||
|
||||
interacted.emit(p)
|
||||
|
||||
region.data.used_objects.append(name)
|
||||
|
||||
AudioManager.play_sfx("Recharge1")
|
||||
|
||||
return true
|
||||
return false
|
||||
|
||||
func spawn_energy_particle():
|
||||
var screen_size = get_viewport().get_visible_rect().size
|
||||
%EnergyParticle.visible = true
|
||||
%EnergyParticle.position = (
|
||||
(global_position - region.camera.global_position) * get_viewport().get_camera_2d().zoom
|
||||
+ ((screen_size) / 2)
|
||||
)
|
||||
|
||||
var tween = create_tween()
|
||||
tween.set_trans(Tween.TransitionType.TRANS_SPRING)
|
||||
tween.tween_property(%EnergyParticle,"position",Vector2(100,100),1.)
|
||||
|
||||
await tween.finished
|
||||
|
||||
AudioManager.play_sfx("Recharge1")
|
||||
%EnergyParticle.visible = false
|
||||
|
||||
@@ -18,6 +18,11 @@ func set_used(v = used):
|
||||
%SpriteOff.visible = used
|
||||
%SpriteOn.visible = not used
|
||||
|
||||
func pointer_text() -> String:
|
||||
if used:
|
||||
return tr("%s_USED") % tr(default_info_title)
|
||||
return default_info_title
|
||||
|
||||
func interact(p : Player) -> bool:
|
||||
if not used and region:
|
||||
used = true
|
||||
|
||||
BIN
entities/player/assets/sprites/robot_big_line.png
Normal file
BIN
entities/player/assets/sprites/robot_big_line.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 424 KiB |
40
entities/player/assets/sprites/robot_big_line.png.import
Normal file
40
entities/player/assets/sprites/robot_big_line.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cwjixsd8nssnl"
|
||||
path="res://.godot/imported/robot_big_line.png-5ca66c48d2c95407c22b892fe8eab474.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://entities/player/assets/sprites/robot_big_line.png"
|
||||
dest_files=["res://.godot/imported/robot_big_line.png-5ca66c48d2c95407c22b892fe8eab474.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
|
||||
BIN
entities/player/assets/sprites/robot_big_line.png~
Normal file
BIN
entities/player/assets/sprites/robot_big_line.png~
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 312 KiB |
@@ -15,9 +15,9 @@ const DOOR_ICON = preload("res://common/icons/logout.svg")
|
||||
const PLANT_ICON = preload("res://common/icons/seedling.svg")
|
||||
const SOUND_SOURCE : AudioStreamMP3 = preload("res://common/audio_manager/assets/sfx/signal/signal.mp3")
|
||||
const SOUND_BASE_PITCH = 1.
|
||||
const SOUND_NIVEL_LEVEL = 6
|
||||
const SOUND_NIVEL_LEVEL = 8
|
||||
|
||||
const CELL_DETECTION_MAX_DISTANCE = 2000.
|
||||
const CELL_DETECTION_MAX_DISTANCE = 3000.
|
||||
const CELL_DETECTION_COLOR : Color = Color("#ff006e")
|
||||
const CELL_DETECTION_MAX_PITCH = 1.5
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[ext_resource type="Script" uid="uid://das7twcy5153p" path="res://entities/player/scripts/player.gd" id="1_abrql"]
|
||||
[ext_resource type="Texture2D" uid="uid://dompaj451gklw" path="res://entities/player/assets/sprites/movement_particles.png" id="2_bls4j"]
|
||||
[ext_resource type="Texture2D" uid="uid://ys5fis3gsnoy" path="res://entities/player/assets/sprites/shadow.png" id="2_fkugw"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7ff87jniga5m" path="res://entities/player/assets/sprites/robot.png" id="4_bls4j"]
|
||||
[ext_resource type="Texture2D" uid="uid://cwjixsd8nssnl" path="res://entities/player/assets/sprites/robot_big_line.png" id="3_26q78"]
|
||||
[ext_resource type="Texture2D" uid="uid://drgl0d51d4cf7" path="res://entities/player/assets/sprites/radial-gradient.png" id="5_8fjmc"]
|
||||
[ext_resource type="Script" uid="uid://b1mmtgmi5oq86" path="res://entities/player/scripts/player_sprite.gd" id="5_fkugw"]
|
||||
[ext_resource type="Texture2D" uid="uid://51255tpyl6vj" path="res://common/icons/no-bolt.svg" id="7_26q78"]
|
||||
@@ -27,101 +27,101 @@ fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
fill_to = Vector2(0.5, 0)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fkugw"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(3048, 0, 762, 1080)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8fjmc"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(3810, 0, 762, 1080)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qiwj3"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(2286, 0, 762, 1080)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_26q78"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(0, 0, 762, 1080)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bectd"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(5334, 0, 762, 1080)
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(1388, 0, 347, 347)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wvtmh"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(762, 0, 762, 1080)
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(1735, 0, 347, 347)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7thud"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(4572, 0, 762, 1080)
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(1041, 0, 347, 347)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_a1qjk"]
|
||||
atlas = ExtResource("4_bls4j")
|
||||
region = Rect2(1524, 0, 762, 1080)
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(0, 0, 347, 347)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j3ovn"]
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(2429, 0, 347, 347)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_afbqv"]
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(347, 0, 347, 347)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gx6sm"]
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(2082, 0, 347, 347)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yqrof"]
|
||||
atlas = ExtResource("3_26q78")
|
||||
region = Rect2(694, 0, 347, 347)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_a1qjk"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fkugw")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"back",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8fjmc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"back_left",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qiwj3")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"back_right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_26q78")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"front",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bectd")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"front_left",
|
||||
"loop": 1,
|
||||
"name": &"back",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wvtmh")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"front_right",
|
||||
"loop": 1,
|
||||
"name": &"back_left",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7thud")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"left",
|
||||
"loop": 1,
|
||||
"name": &"back_right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_a1qjk")
|
||||
}],
|
||||
"loop": true,
|
||||
"loop": 1,
|
||||
"name": &"front",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j3ovn")
|
||||
}],
|
||||
"loop": 1,
|
||||
"name": &"front_left",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_afbqv")
|
||||
}],
|
||||
"loop": 1,
|
||||
"name": &"front_right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gx6sm")
|
||||
}],
|
||||
"loop": 1,
|
||||
"name": &"left",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yqrof")
|
||||
}],
|
||||
"loop": 1,
|
||||
"name": &"right",
|
||||
"speed": 5.0
|
||||
}]
|
||||
@@ -130,7 +130,7 @@ animations = [{
|
||||
blend_mode = 1
|
||||
|
||||
[sub_resource type="Curve" id="Curve_fkugw"]
|
||||
_data = [Vector2(0, 0.14473677), 0.0, 0.0, 0, 0, Vector2(0.972549, 0.2654798), 0.0, 0.0, 0, 0]
|
||||
_data = [Vector2(0.006711416, 0.21238941), 0.0, 0.0, 0, 0, Vector2(1, 0.5083333), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_bls4j"]
|
||||
@@ -142,7 +142,7 @@ length = 0.001
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:y")
|
||||
tracks/0/path = NodePath(".:offset:y")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
@@ -157,12 +157,12 @@ loop_mode = 1
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:y")
|
||||
tracks/0/path = NodePath(".:offset:y")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(2, 2),
|
||||
"points": PackedFloat32Array(-1097.2793, 0, 0, 0, -139.75659, -1097.2793, 0, -112.66321, 0, 0),
|
||||
"points": PackedFloat32Array(0, -0.24854341, 55.161533, 0.2, -44.387848, 0, -0.23333335, -52.649887, 0, 0),
|
||||
"times": PackedFloat32Array(0, 1)
|
||||
}
|
||||
|
||||
@@ -314,13 +314,13 @@ texture = SubResource("GradientTexture2D_26q78")
|
||||
[node name="PlayerSprite" type="AnimatedSprite2D" parent="." unique_id=638545037]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0.99999994, -17)
|
||||
scale = Vector2(0.0656168, 0.065616846)
|
||||
scale = Vector2(0.221, 0.221)
|
||||
sprite_frames = SubResource("SpriteFrames_a1qjk")
|
||||
animation = &"front_left"
|
||||
frame_progress = 0.15805355
|
||||
offset = Vector2(0, -370)
|
||||
animation = &"left"
|
||||
frame_progress = 0.2383069
|
||||
offset = Vector2(0, -150)
|
||||
script = ExtResource("5_fkugw")
|
||||
wanted_orientation = 2
|
||||
wanted_orientation = 7
|
||||
|
||||
[node name="Light" type="Sprite2D" parent="PlayerSprite" unique_id=1768327734]
|
||||
modulate = Color(0.70603025, 0.5959886, 0.33971557, 0.09019608)
|
||||
@@ -331,8 +331,7 @@ texture = ExtResource("5_8fjmc")
|
||||
|
||||
[node name="CPUParticles2D" type="CPUParticles2D" parent="PlayerSprite" unique_id=1489736082]
|
||||
z_index = -1
|
||||
position = Vector2(-15.239999, -60.95996)
|
||||
scale = Vector2(3.4752407, 3.4752383)
|
||||
position = Vector2(-4.5248866, -46.816402)
|
||||
amount = 3
|
||||
texture = ExtResource("2_bls4j")
|
||||
lifetime = 0.4
|
||||
@@ -343,8 +342,8 @@ color_ramp = SubResource("Gradient_bls4j")
|
||||
[node name="NoEnergyLeftIcon" type="Sprite2D" parent="PlayerSprite" unique_id=1059424679]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 0, 0.43137255, 1)
|
||||
position = Vector2(-15.239998, 0)
|
||||
scale = Vector2(10.16, 10.16)
|
||||
position = Vector2(-4.5248866, -377.13315)
|
||||
scale = Vector2(3, 3)
|
||||
texture = ExtResource("7_26q78")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="PlayerSprite/NoEnergyLeftIcon" unique_id=390014722]
|
||||
|
||||
@@ -124,6 +124,7 @@ horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="CPUParticles3D" type="CPUParticles3D" parent="." unique_id=1470634574]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.66324395, 0)
|
||||
amount = 5
|
||||
mesh = SubResource("PlaneMesh_0oeag")
|
||||
|
||||
@@ -7,6 +7,7 @@ const POINTER_ACTION_TEXTURE = preload("res://common/icons/hand-finger.svg")
|
||||
@export var pointer_texture_rect : TextureRect
|
||||
|
||||
@export var speed := 4.0
|
||||
@export var gravity_factor = 1.
|
||||
const MOUSE_SENSIVITY = 0.002
|
||||
const RAY_LENGTH = 10.
|
||||
const PUSH_FORCE = 0.6
|
||||
@@ -85,9 +86,11 @@ func _physics_process(delta):
|
||||
else :
|
||||
velocity = Vector3.ZERO
|
||||
|
||||
%CPUParticles3D.emitting = is_on_floor()
|
||||
|
||||
# Add the gravity.
|
||||
if not is_on_floor():
|
||||
velocity += get_gravity() * delta
|
||||
velocity += get_gravity() * gravity_factor * delta
|
||||
|
||||
move_and_slide()
|
||||
for i in get_slide_collision_count():
|
||||
|
||||
@@ -95,7 +95,7 @@ func score_update(with_animation = true):
|
||||
func state_update(region_data : RegionData):
|
||||
if region_data.state == RegionData.State.SUCCEEDED:
|
||||
objective_text = "COLLECT_YOUR_SEEDS_AND_TAKE_OFF"
|
||||
if GameInfo.game_data.current_run.get_st is TutorialStoryStep:
|
||||
if GameInfo.game_data.current_run.story_step is TutorialStoryStep:
|
||||
objective_text = "PASS_THE_MYSTERIOUS_DOOR"
|
||||
elif region_data.state == RegionData.State.FAILED:
|
||||
objective_text = "NO_RECHARGE_LEFT"
|
||||
|
||||
@@ -16,7 +16,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||
|
||||
config/name="Seeding The Wasteland"
|
||||
config/description="Seeding planets is a survival, managment and cosy game in which you play a little gardener robot."
|
||||
config/version="beta-2.0"
|
||||
config/version="0.1"
|
||||
run/main_scene="uid://c5bruelvqbm1k"
|
||||
config/features=PackedStringArray("4.7", "Forward Plus")
|
||||
config/icon="uid://df0y0s666ui4h"
|
||||
@@ -47,9 +47,22 @@ directories/dch_directory={
|
||||
"mysterious_demeter": "res://dialogs/characters/mysterious_demeter.dch"
|
||||
}
|
||||
directories/dtl_directory={
|
||||
"1_aqua_travel_phone_call": "res://dialogs/timelines/2_aqua/1_aqua_travel_phone_call.dtl",
|
||||
"1_astra_travel_phone_call": "res://dialogs/timelines/6_astra/1_astra_travel_phone_call.dtl",
|
||||
"1_estia_travel_phone_call": "res://dialogs/timelines/4_estia/1_estia_travel_phone_call.dtl",
|
||||
"1_subterra_travel_phone_call": "res://dialogs/timelines/3_subterra/1_subterra_travel_phone_call.dtl",
|
||||
"2_aqua_arrival": "res://dialogs/timelines/2_aqua/2_aqua_arrival.dtl",
|
||||
"2_astra_top": "res://dialogs/timelines/6_astra/2_astra_top.dtl",
|
||||
"2_estia_arrival": "res://dialogs/timelines/4_estia/2_estia_arrival.dtl",
|
||||
"2_subterra_arrival": "res://dialogs/timelines/3_subterra/2_subterra_arrival.dtl",
|
||||
"3_astra_end": "res://dialogs/timelines/6_astra/3_astra_end.dtl",
|
||||
"5_subterra/1_subterra_travel_phone_call": "res://dialogs/timelines/5_subterra/1_subterra_travel_phone_call.dtl",
|
||||
"5_subterra/2_subterra_arrival": "res://dialogs/timelines/5_subterra/2_subterra_arrival.dtl",
|
||||
"6_vending_machine_presentation": "res://dialogs/timelines/1_waking_up/6_vending_machine_presentation.dtl",
|
||||
"8_venus_departure": "res://dialogs/timelines/1_waking_up/8_venus_departure.dtl",
|
||||
"9_borea": "res://dialogs/timelines/1_waking_up/9_borea.dtl",
|
||||
"91_borea_comms_up": "res://dialogs/timelines/1_waking_up/91_borea_comms_up.dtl",
|
||||
"91_borea_later": "res://dialogs/timelines/1_waking_up/92_borea_later.dtl",
|
||||
"9_borea_arrival": "res://dialogs/timelines/1_waking_up/9_borea_arrival.dtl",
|
||||
"cave": "res://dialogs/timelines/1_waking_up/4_cave.dtl",
|
||||
"mercury_arrival": "res://dialogs/timelines/1_waking_up/5_mercury_arrival.dtl",
|
||||
"mercury_departure": "res://dialogs/timelines/1_waking_up/6_mercury_departure.dtl",
|
||||
@@ -259,7 +272,7 @@ environment/defaults/default_clear_color=Color(0.0617213, 0.0605653, 0.169189, 1
|
||||
|
||||
[steam]
|
||||
|
||||
initialization/app_id=4452760
|
||||
initialization/app_id=4444510
|
||||
initialization/initialize_on_startup=true
|
||||
initialization/embed_callbacks=true
|
||||
multiplayer_peer/max_channels=4
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://bti5mdrogptcl" path="res://stages/3d_scenes/aqua_base/scripts/aqua_base.gd" id="1_dltk4"]
|
||||
[ext_resource type="Texture2D" uid="uid://cww35xu1yqivp" path="res://stages/3d_scenes/cockpit_scene/assets/textures/sky.png" id="2_mr0dk"]
|
||||
[ext_resource type="PackedScene" uid="uid://bk64hw2adc5kt" path="res://stages/3d_scenes/common/assets/3d/elevator.blend" id="3_dlfx2"]
|
||||
[ext_resource type="PackedScene" uid="uid://ci5vs3qhiuf0x" path="res://stages/3d_scenes/common/assets/3d/hub.blend" id="3_mr0dk"]
|
||||
[ext_resource type="Shader" uid="uid://n4s2kr10ivgb" path="res://common/vfx/materials/shaders/underwater.gdshader" id="4_dltk4"]
|
||||
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="4_k4ak1"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2unmkf4ec4gf" path="res://entities/interactable_3d/ai_receptacle/ai_receptacle.tscn" id="4_m5l0g"]
|
||||
[ext_resource type="Material" uid="uid://ba5cnhu0o1yf5" path="res://stages/3d_scenes/aqua_base/resources/materials/caustic_default_3d.tres" id="4_nydtf"]
|
||||
[ext_resource type="PackedScene" uid="uid://cypsoytvytdup" path="res://entities/interactable_3d/3d_door/3d_door.tscn" id="9_qe4m5"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_m5l0g"]
|
||||
background_mode = 2
|
||||
@@ -27,7 +29,6 @@ glow_hdr_luminance_cap = 5.63
|
||||
fog_light_color = Color(0.13725491, 0.39215687, 0.6666667, 1)
|
||||
fog_sky_affect = 0.0
|
||||
volumetric_fog_enabled = true
|
||||
volumetric_fog_density = 0.147
|
||||
volumetric_fog_albedo = Color(0.13725491, 0.39215687, 0.6666667, 1)
|
||||
adjustment_enabled = true
|
||||
adjustment_saturation = 1.3
|
||||
@@ -40,7 +41,7 @@ shading_mode = 0
|
||||
albedo_color = Color(0.5882353, 0.7019608, 0.85882354, 1)
|
||||
albedo_texture = ExtResource("2_mr0dk")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_nydtf"]
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_dlfx2"]
|
||||
viewport_path = NodePath("Screen/SubViewport")
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_m5l0g"]
|
||||
@@ -99,6 +100,68 @@ material = SubResource("StandardMaterial3D_nydtf")
|
||||
size = Vector2(0.1, 0.1)
|
||||
orientation = 2
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dlfx2"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("AreaLight3D:light_energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("AreaLight3D2:light_energy")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qe4m5"]
|
||||
resource_name = "blink"
|
||||
length = 10.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("AreaLight3D:light_energy")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1.6999997, 1.9333333, 4.5333333, 4.766667, 7.2999997, 7.5333333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("AreaLight3D2:light_energy")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 3.4666667, 3.7333333),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 0.0, 1.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ei7or"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_dlfx2"),
|
||||
&"blink": SubResource("Animation_qe4m5")
|
||||
}
|
||||
|
||||
[node name="AquaBase" type="Node3D" unique_id=1653537813]
|
||||
script = ExtResource("1_dltk4")
|
||||
|
||||
@@ -110,6 +173,9 @@ transform = Transform3D(997.05176, -55.31525, 53.176765, 60.60978, 992.7559, -10
|
||||
mesh = SubResource("SphereMesh_nydtf")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_u74oo")
|
||||
|
||||
[node name="elevator" parent="WorldEnvironment" unique_id=54829698 instance=ExtResource("3_dlfx2")]
|
||||
transform = Transform3D(0.9437205, 0, -0.33074403, 0, 1, 0, 0.33074403, 0, 0.9437205, 33.362873, -1.240936, 9.956917)
|
||||
|
||||
[node name="hub" parent="." unique_id=1785379104 instance=ExtResource("3_mr0dk")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06701422, 2.5714142, -0.17472172)
|
||||
|
||||
@@ -118,8 +184,9 @@ surface_material_override/0 = ExtResource("4_nydtf")
|
||||
surface_material_override/1 = ExtResource("4_nydtf")
|
||||
|
||||
[node name="AiReceptacle" parent="." unique_id=1082354698 instance=ExtResource("4_m5l0g")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.9, -0.34409285)
|
||||
screen_text = "DOWNLOAD_DATA"
|
||||
screen_text = "CONNECT_TO_POSEIDON"
|
||||
broken = true
|
||||
|
||||
[node name="Model" parent="AiReceptacle" index="0" unique_id=154868613]
|
||||
@@ -131,14 +198,11 @@ visible = true
|
||||
[node name="Support" parent="AiReceptacle/ModelBroken" index="5" unique_id=1098621972]
|
||||
surface_material_override/0 = ExtResource("4_nydtf")
|
||||
|
||||
[node name="Receptacle" parent="AiReceptacle/ModelBroken" index="6" unique_id=956575790]
|
||||
surface_material_override/0 = ExtResource("4_nydtf")
|
||||
|
||||
[node name="Screen" parent="AiReceptacle" index="3" unique_id=1396407912]
|
||||
texture = SubResource("ViewportTexture_nydtf")
|
||||
texture = SubResource("ViewportTexture_dlfx2")
|
||||
|
||||
[node name="ScreenTitle" parent="AiReceptacle/Screen/SubViewport/ScreenContent/VBoxContainer" parent_id_path=PackedInt32Array(1082354698, 1893636910) index="1" unique_id=443526476]
|
||||
text = "DOWNLOAD_DATA"
|
||||
text = "CONNECT_TO_POSEIDON"
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight3D" parent="AiReceptacle" unique_id=1906884086]
|
||||
transform = Transform3D(1, 0, 0, 0, -0.67415154, -0.73859304, 0, 0.73859304, -0.67415154, 0, 0.66735864, 3.2564082)
|
||||
@@ -154,7 +218,8 @@ light_energy = 0.282
|
||||
omni_range = 0.90236074
|
||||
|
||||
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("4_k4ak1")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 32.225853, -2.260468, 9.559124)
|
||||
transform = Transform3D(0.32746872, 0, 0.944862, 0, 1, 0, -0.944862, 0, 0.32746872, 50.90299, 26.542282, 16.319273)
|
||||
gravity_factor = 0.1
|
||||
|
||||
[node name="Underwater" type="MeshInstance3D" parent="Player3D/Camera3D" parent_id_path=PackedInt32Array(549819967, 2091917091) index="1" unique_id=1179772459]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.55200577)
|
||||
@@ -186,6 +251,35 @@ light_volumetric_fog_energy = 2.507
|
||||
shadow_enabled = true
|
||||
shadow_blur = 10.0
|
||||
|
||||
[node name="Exit3dDoor" parent="." unique_id=814731756 instance=ExtResource("9_qe4m5")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.9659258, 0, 0.25881904, 0, 1, 0, -0.25881904, 0, 0.9659258, -33.924656, -1.5212469, 10.235093)
|
||||
|
||||
[node name="3dDoor2" parent="." unique_id=586173999 instance=ExtResource("9_qe4m5")]
|
||||
transform = Transform3D(0.96592593, 0, -0.25881907, 0, 1, 0, 0.25881907, 0, 0.96592593, -33.422764, -1.5212469, -10.490751)
|
||||
|
||||
[node name="3dDoor3" parent="." unique_id=400367626 instance=ExtResource("9_qe4m5")]
|
||||
transform = Transform3D(0.9659258, 0, 0.25881904, 0, 1, 0, -0.25881904, 0, 0.9659258, 33.257763, -1.5212469, -10.375927)
|
||||
|
||||
[node name="3dDoor4" parent="." unique_id=724552378 instance=ExtResource("9_qe4m5")]
|
||||
transform = Transform3D(0.9400856, 0, -0.3409387, 0, 1, 0, 0.3409387, 0, 0.9400856, 52.61224, 26.647182, 16.93967)
|
||||
|
||||
[node name="AreaLight3D" type="AreaLight3D" parent="." unique_id=938586300]
|
||||
transform = Transform3D(0.9356459, 0, -0.35294035, 0, 1, 0, 0.35294035, 0, 0.9356459, 44.207127, 13.405382, 7.122408)
|
||||
area_normalize_energy = false
|
||||
area_size = Vector2(2.6380386, 37.029243)
|
||||
|
||||
[node name="AreaLight3D2" type="AreaLight3D" parent="." unique_id=1104365666]
|
||||
transform = Transform3D(-0.9356459, 0, 0.3529404, 0, 1, 0, -0.3529404, 0, -0.9356459, 40.79839, 13.405382, 19.24271)
|
||||
area_normalize_energy = false
|
||||
area_size = Vector2(2.6380386, 37.029243)
|
||||
|
||||
[node name="LightAnimationPlayer" type="AnimationPlayer" parent="." unique_id=75847280]
|
||||
libraries/ = SubResource("AnimationLibrary_ei7or")
|
||||
autoplay = &"blink"
|
||||
|
||||
[connection signal="clicked" from="AiReceptacle" to="." method="_on_ai_receptacle_clicked"]
|
||||
|
||||
[editable path="hub"]
|
||||
[editable path="AiReceptacle"]
|
||||
[editable path="AiReceptacle/ModelBroken"]
|
||||
@@ -1,5 +1,27 @@
|
||||
extends Node3D
|
||||
|
||||
const DIALOG_PATH = "res://dialogs/timelines/2_aqua/2_aqua_arrival.dtl"
|
||||
|
||||
func _ready():
|
||||
if not Engine.is_editor_hint():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
|
||||
%AiReceptacle.screen_turned_on = true
|
||||
%AiReceptacle.interactable = true
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_REACH_AQUA_BASE)
|
||||
|
||||
func _on_ai_receptacle_clicked():
|
||||
%AiReceptacle.screen_turned_on = false
|
||||
%AiReceptacle.interactable = false
|
||||
|
||||
Dialogic.start(DIALOG_PATH)
|
||||
|
||||
await Dialogic.timeline_ended
|
||||
|
||||
%Exit3dDoor.to_scene = RelayBaseScene.new(
|
||||
"AQUA_BASE",
|
||||
"005",
|
||||
)
|
||||
%Exit3dDoor.interactable = true
|
||||
|
||||
AudioManager.play_sfx("DoorOpen")
|
||||
|
||||
3
stages/3d_scenes/astra_base/astra_end_base.tscn
Normal file
3
stages/3d_scenes/astra_base/astra_end_base.tscn
Normal file
@@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://d07wxwvl7nuhw"]
|
||||
|
||||
[node name="AstraEndBase" type="Node3D" unique_id=227915094]
|
||||
File diff suppressed because one or more lines are too long
@@ -1,13 +1,75 @@
|
||||
@tool
|
||||
extends Node3D
|
||||
|
||||
enum State {ARRIVAL,COMMS_UP,LATER}
|
||||
|
||||
const DIALOG_BOREA_ARRIVAL = "res://dialogs/timelines/1_waking_up/9_borea_arrival.dtl"
|
||||
const DIALOG_COMMS_UP = "res://dialogs/timelines/1_waking_up/91_borea_comms_up.dtl"
|
||||
const DIALOG_BOREA_LATER = "res://dialogs/timelines/1_waking_up/92_borea_later.dtl"
|
||||
|
||||
@export var communication_lever_animation_player : AnimationPlayer
|
||||
|
||||
@export var show_plants : bool = false : set = set_show_plants
|
||||
|
||||
var state := State.ARRIVAL : set = set_state
|
||||
|
||||
func _ready():
|
||||
if not Engine.is_editor_hint():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
%Credits.hide()
|
||||
set_show_plants()
|
||||
set_state()
|
||||
|
||||
func set_show_plants(v : bool = show_plants):
|
||||
show_plants = v
|
||||
if is_node_ready():
|
||||
%Plant.visible = show_plants
|
||||
%FallingPlant.visible = show_plants
|
||||
|
||||
func set_state(v := state):
|
||||
state = v
|
||||
if is_node_ready():
|
||||
%AiReceptacle.screen_turned_on = true
|
||||
%AiReceptacle.interactable = true
|
||||
|
||||
func _on_ai_receptacle_clicked():
|
||||
%Player3D.controlling_player = false
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_MEET_DEMETER)
|
||||
%Credits.appear()
|
||||
|
||||
%AiReceptacle.screen_turned_on = false
|
||||
%AiReceptacle.interactable = false
|
||||
|
||||
match state:
|
||||
State.ARRIVAL:
|
||||
Dialogic.start(DIALOG_BOREA_ARRIVAL)
|
||||
State.COMMS_UP:
|
||||
Dialogic.start(DIALOG_COMMS_UP)
|
||||
|
||||
await Dialogic.timeline_ended
|
||||
await get_tree().create_timer(3.).timeout
|
||||
|
||||
%Player3D.controlling_player = false
|
||||
%PassDayAnimationPlayer.play("PassDays")
|
||||
|
||||
await %PassDayAnimationPlayer.animation_finished
|
||||
|
||||
%Player3D.controlling_player = true
|
||||
|
||||
state = State.LATER
|
||||
State.LATER:
|
||||
Dialogic.start(DIALOG_BOREA_LATER)
|
||||
|
||||
await Dialogic.timeline_ended
|
||||
|
||||
%Exit3dDoor.to_scene = RelayBaseScene.new(
|
||||
"BOREA_BASE",
|
||||
"004",
|
||||
)
|
||||
%Exit3dDoor.interactable = true
|
||||
|
||||
AudioManager.play_sfx("DoorOpen")
|
||||
|
||||
func _on_communication_lever_clicked():
|
||||
%CommunicationLever.interactable = false
|
||||
%CommunicationLever.play_audio()
|
||||
communication_lever_animation_player.play("Activate")
|
||||
|
||||
state = State.COMMS_UP
|
||||
|
||||
BIN
stages/3d_scenes/common/assets/3d/elevator.blend
Normal file
BIN
stages/3d_scenes/common/assets/3d/elevator.blend
Normal file
Binary file not shown.
71
stages/3d_scenes/common/assets/3d/elevator.blend.import
Normal file
71
stages/3d_scenes/common/assets/3d/elevator.blend.import
Normal file
@@ -0,0 +1,71 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://bk64hw2adc5kt"
|
||||
path="res://.godot/imported/elevator.blend-41f2e78cb8e3b0c96c2c7ee2ff9d260d.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/3d_scenes/common/assets/3d/elevator.blend"
|
||||
dest_files=["res://.godot/imported/elevator.blend-41f2e78cb8e3b0c96c2c7ee2ff9d260d.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
mesh_library/use_node_names_as_mesh_names=false
|
||||
array_mesh/deduplicate_surfaces=true
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Default3D": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/vertex_colors=1
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
gltf/texture_map_mode=1
|
||||
BIN
stages/3d_scenes/common/assets/3d/elevator.blend1
Normal file
BIN
stages/3d_scenes/common/assets/3d/elevator.blend1
Normal file
Binary file not shown.
BIN
stages/3d_scenes/common/assets/3d/hub_buried.blend
Normal file
BIN
stages/3d_scenes/common/assets/3d/hub_buried.blend
Normal file
Binary file not shown.
76
stages/3d_scenes/common/assets/3d/hub_buried.blend.import
Normal file
76
stages/3d_scenes/common/assets/3d/hub_buried.blend.import
Normal file
@@ -0,0 +1,76 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b6xsvqwg7lqt6"
|
||||
path="res://.godot/imported/hub_buried.blend-7ff39cb711d1ea8f116750320d780d2d.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/3d_scenes/common/assets/3d/hub_buried.blend"
|
||||
dest_files=["res://.godot/imported/hub_buried.blend-7ff39cb711d1ea8f116750320d780d2d.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
mesh_library/use_node_names_as_mesh_names=false
|
||||
array_mesh/deduplicate_surfaces=true
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Default3D": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
},
|
||||
"Glass": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/glass_3d.tres",
|
||||
"use_external/path": "uid://b5vlcdry8vtgi"
|
||||
}
|
||||
}
|
||||
}
|
||||
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
|
||||
BIN
stages/3d_scenes/common/assets/3d/hub_buried.blend1
Normal file
BIN
stages/3d_scenes/common/assets/3d/hub_buried.blend1
Normal file
Binary file not shown.
3
stages/3d_scenes/estia_base/estia_base.tscn
Normal file
3
stages/3d_scenes/estia_base/estia_base.tscn
Normal file
@@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://54xysfcblfv6"]
|
||||
|
||||
[node name="EstiaBase" type="Node3D" unique_id=32407651]
|
||||
7
stages/3d_scenes/subterra_base/scripts/subterra_base.gd
Normal file
7
stages/3d_scenes/subterra_base/scripts/subterra_base.gd
Normal file
@@ -0,0 +1,7 @@
|
||||
extends Node3D
|
||||
|
||||
func _ready():
|
||||
if not Engine.is_editor_hint():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_REACH_SUBTERRA_BASE)
|
||||
@@ -0,0 +1 @@
|
||||
uid://csfx6yy1rxtu
|
||||
19
stages/3d_scenes/subterra_base/subterra_base.tscn
Normal file
19
stages/3d_scenes/subterra_base/subterra_base.tscn
Normal file
@@ -0,0 +1,19 @@
|
||||
[gd_scene format=3 uid="uid://rig3sj4xx0sq"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b6xsvqwg7lqt6" path="res://stages/3d_scenes/common/assets/3d/hub_buried.blend" id="1_qkleo"]
|
||||
[ext_resource type="Script" uid="uid://csfx6yy1rxtu" path="res://stages/3d_scenes/subterra_base/scripts/subterra_base.gd" id="1_vuar3"]
|
||||
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="2_vuar3"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2unmkf4ec4gf" path="res://entities/interactable_3d/ai_receptacle/ai_receptacle.tscn" id="3_jc2l3"]
|
||||
|
||||
[node name="SubterraBase" type="Node3D" unique_id=1948800502]
|
||||
script = ExtResource("1_vuar3")
|
||||
|
||||
[node name="hub_buried" parent="." unique_id=385558494 instance=ExtResource("1_qkleo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.6178805, -0.025483131, -1.7124133)
|
||||
|
||||
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("2_vuar3")]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 9.730468, -3.3392239, 7.232474)
|
||||
|
||||
[node name="AiReceptacle" parent="." unique_id=1082354698 instance=ExtResource("3_jc2l3")]
|
||||
transform = Transform3D(-0.8670973, 0, 0.49813876, 0, 1, 0, -0.49813876, 0, -0.8670973, -1.320488, -6.334047, -1.7143525)
|
||||
broken = true
|
||||
@@ -48,26 +48,26 @@ var data_last_updated = 0.
|
||||
var plant_grid : PlantGrid
|
||||
|
||||
# Cheat Code
|
||||
# func _input(_e):
|
||||
# if (
|
||||
# Input.is_action_pressed("drop")
|
||||
# and Input.is_action_pressed("move_right")
|
||||
# and Input.is_action_pressed("move_left")
|
||||
# and Input.is_action_just_pressed("action")
|
||||
# ):
|
||||
# if data.state != RegionData.State.SUCCEEDED:
|
||||
# data.succeded.emit()
|
||||
# data.state = RegionData.State.SUCCEEDED
|
||||
# # data.update()
|
||||
func _input(_e):
|
||||
if (
|
||||
Input.is_action_pressed("drop")
|
||||
and Input.is_action_pressed("move_right")
|
||||
and Input.is_action_pressed("move_left")
|
||||
and Input.is_action_just_pressed("action")
|
||||
):
|
||||
if data.state != RegionData.State.SUCCEEDED:
|
||||
data.succeded.emit()
|
||||
data.state = RegionData.State.SUCCEEDED
|
||||
# data.update()
|
||||
|
||||
# if (
|
||||
# Input.is_action_pressed("drop")
|
||||
# and Input.is_action_pressed("move_right")
|
||||
# and Input.is_action_pressed("move_left")
|
||||
# and Input.is_action_just_pressed("move_pointer")
|
||||
# ):
|
||||
# data.charges = 0
|
||||
# data.state = RegionData.State.FAILED
|
||||
if (
|
||||
Input.is_action_pressed("drop")
|
||||
and Input.is_action_pressed("move_right")
|
||||
and Input.is_action_pressed("move_left")
|
||||
and Input.is_action_just_pressed("move_pointer")
|
||||
):
|
||||
data.charges = 0
|
||||
data.state = RegionData.State.FAILED
|
||||
|
||||
func _init():
|
||||
data = GameInfo.game_data.current_region_data
|
||||
|
||||
@@ -70,7 +70,7 @@ func _process(delta):
|
||||
%Planet3d.rotate(Vector3.UP, planet_rotation.x * delta)
|
||||
%Planet3d.rotate(Vector3.RIGHT, planet_rotation.y * delta)
|
||||
|
||||
if not planet_spin_ach_sended and planet_rotation.length() > 40:
|
||||
if not planet_spin_ach_sended and planet_rotation.length() > 50:
|
||||
planet_spin_ach_sended = true
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_SPIN_PLANET)
|
||||
|
||||
|
||||
@@ -10,9 +10,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://cm5b7w7j6527f" path="res://stages/title_screen/planet_3d.tscn" id="5_7a1qq"]
|
||||
[ext_resource type="Texture2D" uid="uid://cixd5j8yqpavg" path="res://common/icons/settings.svg" id="6_3aitq"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8flevrkelpvy" path="res://gui/credits/socials/instagram.tscn" id="6_7a1qq"]
|
||||
[ext_resource type="PackedScene" uid="uid://bpy6sqa71gcfm" path="res://gui/credits/socials/survey.tscn" id="6_pjo5j"]
|
||||
[ext_resource type="Texture2D" uid="uid://bkwhrq4sp5dcp" path="res://common/icons/device-gamepad.svg" id="7_igvpv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc3byq8e45ejj" path="res://gui/credits/socials/steam.tscn" id="7_nmsah"]
|
||||
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="8_lwj2x"]
|
||||
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="8_pjo5j"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="9_5mxqx"]
|
||||
@@ -71,7 +69,7 @@ shader = ExtResource("8_pjo5j")
|
||||
shader_parameter/strength = 5.00000023424012
|
||||
shader_parameter/mix_percentage = 0.3
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_gn4uv"]
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_lwj2x"]
|
||||
frequency = 1.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_gn4uv"]
|
||||
@@ -452,18 +450,10 @@ size_flags_horizontal = 8
|
||||
size_flags_vertical = 8
|
||||
alignment = 2
|
||||
|
||||
[node name="Survey" parent="MarginContainer/Socials" unique_id=1337726269 instance=ExtResource("6_pjo5j")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Button2" parent="MarginContainer/Socials" unique_id=927302743 instance=ExtResource("6_7a1qq")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
|
||||
[node name="SteamButton" parent="MarginContainer/Socials" unique_id=1181450581 instance=ExtResource("7_nmsah")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
link = "https://store.steampowered.com/app/4444510/Seeding_The_Wasteland/"
|
||||
|
||||
[node name="ModeChoose" type="Control" parent="." unique_id=1527342716]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
@@ -523,7 +513,7 @@ size = Vector2i(1980, 1080)
|
||||
|
||||
[node name="Planet3d" parent="SubViewport" unique_id=926789923 instance=ExtResource("5_7a1qq")]
|
||||
unique_name_in_owner = true
|
||||
noise = SubResource("FastNoiseLite_gn4uv")
|
||||
noise = SubResource("FastNoiseLite_lwj2x")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="SubViewport" unique_id=806252928]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.369979, 0, 64.323425)
|
||||
|
||||
@@ -185,7 +185,8 @@ TALION_CRISTAL_DESC_TEXT,"A pure form of Talion, cannot be broken or used","Une
|
||||
TALION_CELL,Talion Cell,Cellule de Talion
|
||||
TALION_CELL_DESC_TEXT,"This cell is filled with liquid form of Talion, let's see what's inside!","Cette cellule est remplie d'une forme liquide de Talio, voyons ce qu'il y a à l'intérieur !"
|
||||
ENERGY_CELL,Energy Cell,Cellule d'énergie
|
||||
ENERGY_CELL_DESC_TEXT,"Some energy remain on this cell... Might be usefull.","De l'énergie reste dans cette cellule... Cela pourra être utile."
|
||||
ENERGY_CELL_DESC_TEXT,"Some energy remain on this cell... Might be usefull. Can only be used when Orchid's energy is not full.","De l'énergie reste dans cette cellule... Cela pourra être utile. Peut seulement être utilisée si Orchid n'est pas complètement rechargé."
|
||||
%s_USED,%s (used),%s (utilisée)
|
||||
OPEN,Open,Ouvrir
|
||||
COMPOST,Compost,Compost
|
||||
START,Start,Commencer
|
||||
@@ -300,6 +301,9 @@ MYSTERIOUS_DOOR,Mysterious Door,Porte mystérieuse
|
||||
MYSTERIOUS_DOOR_TEXT,"This door has a space ship logo on it... What could it be ?","Cette porte à un logo de vaisseau marqué dessus... Que peut-il y avoir à l'intérieur ?"
|
||||
ASTRA_BASE,Astra Base,Base Astra
|
||||
BOREA_BASE,Borea Base,Base Boréa
|
||||
AQUA_BASE,Aqua Base,Base Aqua
|
||||
SUBTERRA_BASE,Subterra Base,Base Subterra
|
||||
ESTIA_BASE,Estia Base,Base Estia
|
||||
RELAY_BASE_X,Relay Base %s,Base relai %s
|
||||
MERCURY,Mercury,Mercure
|
||||
VENUS,Venus,Vénus
|
||||
@@ -373,6 +377,8 @@ TALION_RELAY,Talion Relay,Relai de Talion
|
||||
TALION_RELAY_DESC_TEXT,Increase mutation probability,Augmente la probabilité des mutations
|
||||
TALION_SOIL,Talion Soil,Terreau de Talion
|
||||
TALION_SOIL_DESC_TEXT,Increase plant influence radius,Augmente le rayon d'influence des plantes
|
||||
TALION_SPRAY,Talion Spray,Vaporisateur de Talion
|
||||
TALION_SPRAY_DESC_TEXT,Increase default plant points by 1,Augmente les points de base des plantes de 1
|
||||
PLANTS_CAN_HAVE_UP_TO_X_MUTATION,Plants can have up to [b]%d[/b] mutations,Les plantes peuvent avoir jusqu'à [b]%d[/b] mutations
|
||||
PLANTS_MUTATION_CHANCE_IS_X_PERCENT,Plant mutation chance is [b]{mutation_chance}%[/b],Les chances de mutation d'une plante sont de [b]{mutation_chance}%[/b]
|
||||
ARTEFACTS_VENDING_MACHINE,Artefacts Vending Machine,Distributeur d'Artefacts
|
||||
|
||||
|
Reference in New Issue
Block a user