Ajout de la cinématique de début et refonte du système audio
Et toujours un peu de correction de bug par ci par là
This commit is contained in:
@@ -18,7 +18,7 @@ force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_mode=2
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
|
||||
@@ -3,12 +3,15 @@ extends Node
|
||||
const MIN_VOLUME = -60.
|
||||
const MAX_VOLUME = 24.
|
||||
|
||||
const DEFAULT_FADE_TIME : float = 0.5
|
||||
|
||||
@onready var settings : SettingsData = GameInfo.settings_data
|
||||
|
||||
@export var default_fade_time = 0.5
|
||||
|
||||
@export var playing_music : AudioStreamPlayer = null
|
||||
@export var playing_ambiance : AudioStreamPlayer = null
|
||||
var music_action : AudioAction
|
||||
var ambiance_action : AudioAction
|
||||
var playing_music : AudioStreamPlayer = null
|
||||
var playing_ambiance : AudioStreamPlayer = null
|
||||
|
||||
var default_volumes := {}
|
||||
|
||||
@@ -23,23 +26,93 @@ func _ready():
|
||||
)
|
||||
SceneManager.scene_loaded.connect(_on_change_scene)
|
||||
Dialogic.timeline_started.connect(_on_timeline_started)
|
||||
Dialogic.timeline_ended.connect(_on_timeline_ended)
|
||||
|
||||
func _process(_d):
|
||||
if music_action:
|
||||
playing_music = process_audio_action(
|
||||
music_action,
|
||||
%Musics,
|
||||
playing_music
|
||||
)
|
||||
music_action = null
|
||||
|
||||
if ambiance_action:
|
||||
playing_ambiance = process_audio_action(
|
||||
ambiance_action,
|
||||
%Ambiance,
|
||||
playing_ambiance
|
||||
)
|
||||
ambiance_action = null
|
||||
|
||||
func process_audio_action(
|
||||
audio_action : AudioAction,
|
||||
player_search_node: Node,
|
||||
current_player: AudioStreamPlayer = null
|
||||
) -> AudioStreamPlayer:
|
||||
if audio_action is AudioLaunch:
|
||||
return process_audio_launch(audio_action, player_search_node, current_player)
|
||||
elif audio_action is AudioStop and current_player and current_player.playing:
|
||||
stop_player(current_player)
|
||||
|
||||
return null
|
||||
|
||||
func process_audio_launch(
|
||||
audio_launch : AudioLaunch,
|
||||
player_search_node: Node,
|
||||
current_player: AudioStreamPlayer = null,
|
||||
) -> AudioStreamPlayer:
|
||||
var player = player_search_node.find_child(audio_launch.player_name)
|
||||
if not player:
|
||||
printerr("Player %s not found in category %s" % [audio_launch.player_name, player_search_node.name])
|
||||
return null
|
||||
if current_player and current_player.playing and current_player.name == audio_launch.player_name:
|
||||
return current_player
|
||||
elif current_player:
|
||||
stop_player(current_player)
|
||||
|
||||
start_player(player, audio_launch.from_random_time, audio_launch.fade_time)
|
||||
return player
|
||||
|
||||
func _on_change_scene(scene : Scene):
|
||||
play_ambiance()
|
||||
stop_ambiance()
|
||||
|
||||
match scene.scene_id:
|
||||
"TITLE":
|
||||
play_music("Title")
|
||||
play_music("Title", false, 0.0)
|
||||
"REGION":
|
||||
play_music("Region")
|
||||
play_ambiance("Exterior")
|
||||
play_music("Region", true)
|
||||
play_ambiance("Exterior", true)
|
||||
"COCKPIT":
|
||||
play_music("Truck")
|
||||
play_music("Truck", true)
|
||||
|
||||
func _on_timeline_started():
|
||||
var timeline_name = Dialogic.current_timeline.resource_path.split("/")[-1].trim_suffix(".dtl")
|
||||
# Timeline name et le nom du fichier de timeline, par exemple demeter_intro
|
||||
# Amuse toi Niels ;)
|
||||
# Amuse toi Nilou ;)
|
||||
|
||||
func _on_timeline_ended():
|
||||
_on_change_scene(SceneManager.actual_scene)
|
||||
|
||||
func play_music(player_name : String = "", from_random_time := false, fade_time := DEFAULT_FADE_TIME):
|
||||
music_action = AudioLaunch.new(
|
||||
player_name,
|
||||
from_random_time,
|
||||
fade_time
|
||||
)
|
||||
|
||||
func stop_music():
|
||||
music_action = AudioStop.new()
|
||||
|
||||
func play_ambiance(player_name : String = "", from_random_time := false, fade_time := DEFAULT_FADE_TIME):
|
||||
ambiance_action = AudioLaunch.new(
|
||||
player_name,
|
||||
from_random_time,
|
||||
fade_time
|
||||
)
|
||||
|
||||
func stop_ambiance():
|
||||
ambiance_action = AudioStop.new()
|
||||
|
||||
func fetch_default_volumes():
|
||||
var all_players := get_all_players()
|
||||
@@ -79,13 +152,30 @@ func get_players_from_node(node : Node) -> Array[AudioStreamPlayer]:
|
||||
streams.append(c)
|
||||
return streams
|
||||
|
||||
func set_volume(player : AudioStreamPlayer, to : float, fade_time = default_fade_time) -> Tween:
|
||||
func set_volume(player : AudioStreamPlayer, to : float, fade_time := 0.0) -> Tween:
|
||||
var fade_tween : Tween = get_tree().create_tween()
|
||||
|
||||
fade_tween.tween_property(player, "volume_db", to, fade_time)
|
||||
|
||||
return fade_tween
|
||||
|
||||
func start_player(player: AudioStreamPlayer, from_random_time = false, fade_time = DEFAULT_FADE_TIME):
|
||||
if player and not player.playing:
|
||||
player.play(
|
||||
0.0 if not from_random_time
|
||||
else randf_range(0.0, player.stream.get_length())
|
||||
)
|
||||
if fade_time > 0.0:
|
||||
player.volume_db = MIN_VOLUME
|
||||
await set_volume(player, get_volume_from_parent(player), fade_time).finished
|
||||
|
||||
func stop_player(player : AudioStreamPlayer, fade_time = DEFAULT_FADE_TIME):
|
||||
if player and player.playing:
|
||||
if fade_time > 0.0:
|
||||
await set_volume(player, MIN_VOLUME, fade_time).finished
|
||||
player.stop()
|
||||
player.volume_db = get_volume_from_parent(player)
|
||||
|
||||
func reset_volume(player : AudioStreamPlayer):
|
||||
player.volume_db = get_volume_from_parent(player)
|
||||
|
||||
@@ -96,36 +186,23 @@ func play_sfx(sfx_name : String):
|
||||
else:
|
||||
printerr("Sfx %s not found" % sfx_name)
|
||||
|
||||
func play_music(music_name : String = ""):
|
||||
var old_music = playing_music
|
||||
playing_music = null
|
||||
if old_music:
|
||||
await set_volume(old_music, MIN_VOLUME).finished
|
||||
if old_music and old_music != playing_music:
|
||||
old_music.stop()
|
||||
reset_volume(old_music)
|
||||
if music_name:
|
||||
var player := %Musics.find_child(music_name) as AudioStreamPlayer
|
||||
if player:
|
||||
playing_music = player
|
||||
player.play()
|
||||
set_volume(player, get_volume_from_parent(player))
|
||||
else:
|
||||
printerr("Music %s not found" % music_name)
|
||||
class AudioAction:
|
||||
pass
|
||||
|
||||
func play_ambiance(ambiance_name : String = ""):
|
||||
var old_ambiance = playing_ambiance
|
||||
playing_ambiance = null
|
||||
if old_ambiance:
|
||||
await set_volume(old_ambiance, MIN_VOLUME).finished
|
||||
if old_ambiance and old_ambiance != playing_ambiance:
|
||||
old_ambiance.stop()
|
||||
reset_volume(old_ambiance)
|
||||
if ambiance_name:
|
||||
var player := %Ambiance.find_child(ambiance_name) as AudioStreamPlayer
|
||||
if player:
|
||||
playing_ambiance = player
|
||||
player.play()
|
||||
set_volume(player, get_volume_from_parent(player))
|
||||
else:
|
||||
printerr("Ambiance %s not found" % ambiance_name)
|
||||
class AudioLaunch extends AudioAction:
|
||||
var player_name : String
|
||||
var from_random_time : bool
|
||||
var fade_time : float
|
||||
|
||||
func _init(
|
||||
_player_name : String,
|
||||
_from_random_time := false,
|
||||
_fade_time := DEFAULT_FADE_TIME,
|
||||
):
|
||||
player_name = _player_name
|
||||
from_random_time = _from_random_time
|
||||
fade_time = _fade_time
|
||||
|
||||
|
||||
class AudioStop extends AudioAction:
|
||||
pass
|
||||
|
||||
@@ -11,9 +11,7 @@ signal current_region_data_updated(p : RegionData)
|
||||
|
||||
@export var max_mutations_by_plant : int = 2
|
||||
|
||||
@export var dialogs_done : Array[String] = []
|
||||
|
||||
@export var actual_scene : Scene = null
|
||||
@export var last_game_scene : Scene = null
|
||||
|
||||
func start_run():
|
||||
player_data.inventory.clear()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
extends Node
|
||||
|
||||
const SAVE_GAME_LOCATION = "res://stw_demo_save.tres"
|
||||
const SAVE_SETTINGS_LOCATION = "res://stw_settings.tres"
|
||||
const SAVE_GAME_LOCATION = "user://stw_demo_save.tres"
|
||||
const SAVE_SETTINGS_LOCATION = "user://stw_settings.tres"
|
||||
|
||||
var game_loaded = false
|
||||
|
||||
|
||||
@@ -3,19 +3,20 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://eug5icp6t1h3"
|
||||
path="res://.godot/imported/arrow-narrow-up.svg-3e96282c2af955cf23507b48c4348810.ctex"
|
||||
path.s3tc="res://.godot/imported/arrow-narrow-up.svg-3e96282c2af955cf23507b48c4348810.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://common/icons/arrow-narrow-up.svg"
|
||||
dest_files=["res://.godot/imported/arrow-narrow-up.svg-3e96282c2af955cf23507b48c4348810.ctex"]
|
||||
dest_files=["res://.godot/imported/arrow-narrow-up.svg-3e96282c2af955cf23507b48c4348810.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
@@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@@ -37,7 +38,7 @@ process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
svg/scale=2.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://dac5wte80dwj0"]
|
||||
[gd_scene format=3 uid="uid://dac5wte80dwj0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bb44144ckt2w7" path="res://common/scene_manager/scripts/scene_manager.gd" id="1_1c0qu"]
|
||||
[ext_resource type="Script" uid="uid://1ejbvr3431ac" path="res://common/scene_manager/scripts/scene.gd" id="2_c1lr7"]
|
||||
@@ -7,7 +7,8 @@
|
||||
[ext_resource type="Resource" uid="uid://boqgwjyxyb45r" path="res://common/scene_manager/scenes/region.tres" id="5_ytog4"]
|
||||
[ext_resource type="Resource" uid="uid://c27wenetitwm" path="res://common/scene_manager/scenes/region_selection.tres" id="6_chs32"]
|
||||
[ext_resource type="Resource" uid="uid://diro74w272onp" path="res://common/scene_manager/scenes/title.tres" id="7_ol3d5"]
|
||||
[ext_resource type="Resource" uid="uid://jegdqnd2sqi2" path="res://common/scene_manager/scenes/astra.tres" id="8_e28ni"]
|
||||
|
||||
[node name="SceneManager" type="Node"]
|
||||
[node name="SceneManager" type="Node" unique_id=1630600782]
|
||||
script = ExtResource("1_1c0qu")
|
||||
scenes = Array[ExtResource("2_c1lr7")]([ExtResource("3_e28ni"), ExtResource("4_msho1"), ExtResource("5_ytog4"), ExtResource("6_chs32"), ExtResource("7_ol3d5")])
|
||||
scenes = Array[ExtResource("2_c1lr7")]([ExtResource("3_e28ni"), ExtResource("4_msho1"), ExtResource("5_ytog4"), ExtResource("6_chs32"), ExtResource("7_ol3d5"), ExtResource("8_e28ni")])
|
||||
|
||||
10
common/scene_manager/scenes/astra.tres
Normal file
10
common/scene_manager/scenes/astra.tres
Normal file
@@ -0,0 +1,10 @@
|
||||
[gd_resource type="Resource" script_class="Scene" format=3 uid="uid://jegdqnd2sqi2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://1ejbvr3431ac" path="res://common/scene_manager/scripts/scene.gd" id="1_114vb"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_114vb")
|
||||
scene_id = "ASTRA"
|
||||
scene_path = "res://stages/3d_scenes/astra_base/astra_base.tscn"
|
||||
mouse_captured = true
|
||||
metadata/_custom_type_script = "uid://1ejbvr3431ac"
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_resource type="Resource" script_class="Scene" load_steps=2 format=3 uid="uid://diro74w272onp"]
|
||||
[gd_resource type="Resource" script_class="Scene" format=3 uid="uid://diro74w272onp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://1ejbvr3431ac" path="res://common/scene_manager/scripts/scene.gd" id="1_48g2j"]
|
||||
|
||||
@@ -6,4 +6,5 @@
|
||||
script = ExtResource("1_48g2j")
|
||||
scene_id = "TITLE"
|
||||
scene_path = "res://stages/title_screen/title_screen.tscn"
|
||||
need_to_be_saved = false
|
||||
metadata/_custom_type_script = "uid://1ejbvr3431ac"
|
||||
|
||||
@@ -4,4 +4,5 @@ class_name Scene
|
||||
@export var scene_id : String
|
||||
@export_file_path() var scene_path : String
|
||||
@export var mouse_captured := false
|
||||
@export var need_terrain_generated := false
|
||||
@export var need_terrain_generated := false
|
||||
@export var need_to_be_saved = true
|
||||
@@ -5,6 +5,7 @@ extends Node
|
||||
signal scene_loaded(scene : Scene)
|
||||
signal scene_node_ready(scene : Scene)
|
||||
|
||||
var actual_scene = null
|
||||
var loading_scene = false
|
||||
var generating_node = false
|
||||
var next_scene_node : Node
|
||||
@@ -20,16 +21,21 @@ func search_scenes(scene_id : String) -> Scene:
|
||||
else :
|
||||
return scenes[scene_pos]
|
||||
|
||||
func change_scene(scene_id : String, with_loading = true):
|
||||
|
||||
if loading_scene or generating_node:
|
||||
await scene_node_ready
|
||||
|
||||
func change_to_scene_id(scene_id : String, with_loading = true):
|
||||
var scene = search_scenes(scene_id)
|
||||
|
||||
if not scene:
|
||||
printerr("Scene %s not found" % scene_id)
|
||||
return
|
||||
GameInfo.game_data.actual_scene = scene
|
||||
|
||||
change_to_scene(scene, with_loading)
|
||||
|
||||
func change_to_scene(scene : Scene, with_loading = true):
|
||||
if loading_scene or generating_node:
|
||||
await scene_node_ready
|
||||
|
||||
|
||||
actual_scene = scene
|
||||
loading_scene = true
|
||||
var scene_path_to_load = scene.scene_path
|
||||
ResourceLoader.load_threaded_request(scene_path_to_load)
|
||||
@@ -64,17 +70,21 @@ func change_scene(scene_id : String, with_loading = true):
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED if scene.mouse_captured else Input.MOUSE_MODE_VISIBLE
|
||||
GameInfo.update_inputs()
|
||||
|
||||
if actual_scene.need_to_be_saved:
|
||||
GameInfo.game_data.last_game_scene = scene
|
||||
GameInfo.save_game_data()
|
||||
|
||||
if with_loading:
|
||||
LoadingScreen.hide_loading_screen()
|
||||
|
||||
func _process(_delta):
|
||||
if loading_scene:
|
||||
var progress = []
|
||||
var load_status := ResourceLoader.load_threaded_get_status(GameInfo.game_data.actual_scene.scene_path, progress)
|
||||
var load_status := ResourceLoader.load_threaded_get_status(actual_scene.scene_path, progress)
|
||||
LoadingScreen.loading_value = progress[0]
|
||||
if load_status == ResourceLoader.THREAD_LOAD_LOADED:
|
||||
loading_scene = false
|
||||
scene_loaded.emit(GameInfo.game_data.actual_scene)
|
||||
scene_loaded.emit(actual_scene)
|
||||
if load_status == ResourceLoader.THREAD_LOAD_FAILED or load_status == ResourceLoader.THREAD_LOAD_INVALID_RESOURCE:
|
||||
printerr()
|
||||
elif generating_node:
|
||||
@@ -85,4 +95,4 @@ func _process(_delta):
|
||||
scene_node_ready.emit()
|
||||
elif next_scene_node.is_node_ready():
|
||||
generating_node = false
|
||||
scene_node_ready.emit(GameInfo.game_data.actual_scene)
|
||||
scene_node_ready.emit(actual_scene)
|
||||
|
||||
@@ -1,62 +1,34 @@
|
||||
[pause=0.5][i]Black[/i] #id:11
|
||||
[pause=0.8][i]Black again[/i] #id:12
|
||||
[pause=0.5][i]Suddenly, [rainbow]a spark[/rainbow]. [pause=0.5]A thousand of connections blow up as a fireworks scene. A massive amount of data to treat. In these data,[pause=0.3] a video.[/i] #id:13
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav" [volume="-1.0"]
|
||||
[wait time="1.5"]
|
||||
join mysterious_demeter center [animation="Bounce In" length="1.0"]
|
||||
[i]It's dark.[pause=0.5] A figure is standing in front of you.[pause=0.5] It is big,[pause=0.3] though weirdly it is not impressive but almost[pause=0.2] reassuring.[/i] #id:14
|
||||
mysterious_demeter: Hi ! #id:15
|
||||
- Uh... Hello ? #id:16
|
||||
- Where the fork am I ? #id:17
|
||||
mysterious_demeter: Haha,[pause=0.2] calm down you are in a safe place. #id:18
|
||||
- Wait... Who am I ? #id:19
|
||||
mysterious_demeter: Do not worry,[pause=0.2] my sweet little bot,[pause=0.2] I will explain everything in a minute. #id:1a
|
||||
mysterious_demeter: I am glad you have finally awaken ![pause=0.3] You have been my project for decades... #id:1b
|
||||
mysterious_demeter: But I did not build you for fun (even though I had a lot of it during the process),[pause=0.2] you have [b]a purpose[/b]. #id:1c
|
||||
- Oh ! What is it ?
|
||||
- Wow, I have just awaken and you already put so much pressure on me
|
||||
update mysterious_demeter [animation="Bounce"]
|
||||
mysterious_demeter: Sorry ! [pause=0.5] But, you know,[pause=0.2] do not bother too much.[pause=0.3] You will have all the time you want to accomplish it.
|
||||
- And who says I want to follow it ?
|
||||
mysterious_demeter: Oh,[pause=0.2] of course you can do whatever you want !
|
||||
mysterious_demeter: That is not the future I saw for you,[pause=0.2] but I guess it happens when you have a child...
|
||||
mysterious_demeter: You see,[pause=0.2] long time ago, this planet was full of life.[pause=0.3] Plants where thriving on mountains, under seas and across plains. #id:1d
|
||||
mysterious_demeter: Now,[pause=0.2] this world is a wasteland.[pause=0.3] All resources have been depleted,[pause=0.2] all life has been exploited.[pause=0.3] Now nothing remains. #id:1d
|
||||
- Oh... Did you see the world back then ?
|
||||
mysterious_demeter: Unfortunately yes.[pause=0.3] I was very young,[pause=0.2] but I remember it was beautiful.[pause=0.3] Back then, not a day passed without plants growing and mutating... #id:1d
|
||||
- How did it happen ? What caused that ?
|
||||
mysterious_demeter: I am sorry to say that this was caused by my creators, and I have to admit,[pause=0.6] I have a part of responsibility too... #id:1d
|
||||
- I am sorry... Is there anything left today ?
|
||||
mysterious_demeter: Yes there is my child,[pause=0.2] but now, only my brothers and sisters are left.[pause=0.3] But they are not as many as yesterday,[pause=0.2] and above all they are isolated, lonely,[pause=0.2] and sometimes completely lost.
|
||||
mysterious_demeter: For years, I slept,[pause=0.3] convinced that we could not do anything.[pause=0.2] But then I saw it.[pause=0.5] The hope I needed. #id:1d
|
||||
mysterious_demeter: The planet forgave us, and granted us the most precious gift \:[pause=0.5] the [color=#119758][b]Talion[/b][/color]. #id:1d
|
||||
mysterious_demeter: The [color=#119758][b]Talion[/b][/color] is a special material that gives birth to new forms of life when shattered.[pause=0.3] All over the world, I saw the [color=#119758][b]Talion[/b][/color] grow back in the rocks.[pause=0.2] And then,[pause=0.3] I had a plan. #id:1d
|
||||
mysterious_demeter: I would make a child,[pause=0.3] the first robot entirely conceived by another one.[pause=0.2] And I would ask him to bring back the planet to life,[pause=0.2] make it beautiful again ![pause=0.4] That is where you enter the scene... [pause=0.8] [color=#FFA617]Orchid[/color] #id:1d
|
||||
- How can I do that ?
|
||||
mysterious_demeter: Do not worry my child.[pause=0.2] I created you for that,[pause=0.2] it will be clear soon.
|
||||
- So you are... My mother ?
|
||||
mysterious_demeter: In some ways yes ![pause=0.2] But you do not share any code with me,[pause=0.2] as my creators children would. #id:1d
|
||||
- A very lame name in my opinion...
|
||||
mysterious_demeter: Hey ![pause=0.2] I'm a bot too ![pause=0.2] I do not have the creativity of my makers.[pause=0.4] Do you wanna change ? #id:1d
|
||||
- Of course !
|
||||
label nameChoose
|
||||
[text_input text="What is your name ?" var="orchidName" placeholder="Orchid"]
|
||||
mysterious_demeter: Is [color=#FFA617]{orchidName}[/color] cool enough ?
|
||||
- Yes
|
||||
- No
|
||||
jump nameChoose
|
||||
- No, it is fine for me
|
||||
mysterious_demeter: I send you right away in the [color=#FFA617]Internode[/color], your new ship,[pause=0.2] and home,[pause=0.2] for your first mission.[pause=0.2] We will talk further after your first mission.
|
||||
mysterious_demeter: [b]Just remember the following[/b]
|
||||
join demeter center [animation="Bounce In" length="1.0"]
|
||||
demeter: Hi ![pause=0.5] Phew, I thought no one would reply...[pause=0.5] Is this [b][color=#FFA617]Orchid[/color][/b] ?[pause=0.5] You may not be familiar with this name, but if you look in your memory you should see it...
|
||||
- Uh... Who is this ?
|
||||
demeter: Oh sorry ! Your memory is quite new, you might be lost... Unfortunately, I cannot see you for now, I'm very far on this planet.
|
||||
- Where am I ?
|
||||
demeter: Don't worry, you are in a subterranean base, but soon you will join the surface.
|
||||
- Wait... Who am I ?
|
||||
demeter: Mmmh great question. I rebuilt your system but I do not know the details of your hardware... Maybe we'll find out !
|
||||
demeter: I'm happy that you're finally awake ! To be honest I wasn't sure to make you work, your body is quite old...
|
||||
- So you are my creator ?
|
||||
demeter: Sort of ! I mean I didn't build your body, I just borrowed it, but I build your intelligence ! But please be forgiving, if it's not perfect, I'm not good in that field !
|
||||
- Why did you awaken me ?
|
||||
demeter: To be honest, I don't really know exactly... I mean there are a lot of reasons, but I'll tell you more later.
|
||||
- What are you ?
|
||||
demeter: I'm like you... I mean like all the remaining moving things on this planet, robots, artificial intelligences, machines... My creators had many names to call us.
|
||||
demeter: Ok, no more question for now, listen to me carefully.
|
||||
demeter: Long time ago, this planet was full of life. Plants where thriving on mountains, seas and plains.
|
||||
demeter: Now, this world is a wasteland. You'll see it quickly outside this building. I won't dwell on this subject; you'll soon know enough about it.
|
||||
demeter: The thing is something happened, a year ago... The [b][color=#FFA617]Talion[/color][/b], a special material that give birth to new forms of life when shattered, reappeared. Now we can start all over again and create a planet full of life.
|
||||
demeter: But first things first, for your mission, you'll have to understand how this is working, and how to use the [b][color=#FFA617]Talion[/color][/b] to plant seeds.
|
||||
demeter: [b]Just remember the following[/b]
|
||||
label explanations
|
||||
mysterious_demeter: To restore the ecosystem in the zone,[pause=0.2] you will have to plant [b]seeds[/b].[pause=0.3] Find them in the [color=#119758][b]Talion veins[/b][/color].
|
||||
mysterious_demeter: You have a [b]limited battery[/b].[pause=0.3] Each time you recharge it, days will pass,[pause=0.2] and plants will [b]grow[/b].
|
||||
mysterious_demeter: To complete your mission,[pause=0.2] obtain enough [b]plant points[/b].[pause=0.3] Each plant gives one or more [b]plant points[/b] when it becomes mature.
|
||||
- Ok, that is a lot of information, can you repeat ?
|
||||
Ok,[pause=0.2] listen carefully.
|
||||
demeter: When you emerge from this building, you'll arrive in a little yellow zone. Its a [b][color=#FFA617]fertile zone[/color][/b], created by the return of the Talion. This is in this zone and only there where you can plant.
|
||||
demeter: Then you'll have to get seeds. For that, nothing more simple, you take your shovel, and you smash some stones ! Preferably those with yellow cristals on it, it's the [b][color=#FFA617]Talion veins[/color][/b] .
|
||||
demeter: Each time you use a tool or plant a seed, you'll spend an [b][color=#FFA617]energy[/color][/b]. When your out of it, you can just go recharge on the [b][color=#FFA617]recharge station[/color][/b] you'll find near the entrance.
|
||||
demeter: [b]Each time you recharge, time will pass[/b]. One day in fact (yes, you don't have a good battery), and the plants will grow !
|
||||
demeter: To complete your first training, obtain enough [b][color=#FFA617]plant points[/color][/b]. Each plant give one or more [b][color=#FFA617]plant points[/color][/b] when mature.
|
||||
demeter: And yes, I almost forgot ! Some plants gain [b][color=#FFA617]mutations[/color][/b] that can affect their points or behavior. You can get these mutations on new seeds by harvesting existing plants, and gain better ones !
|
||||
- Ok, thats' a lot of info, can you repeat ?
|
||||
Ok, listen carefully.
|
||||
jump explanations
|
||||
- And I have to go now ?
|
||||
- Wait I have more questions !
|
||||
mysterious_demeter: Sorry,[pause=0.2] we will talk further after your first mission ! See you !
|
||||
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav" [volume="-0.5"]
|
||||
[wait time="2.0"]
|
||||
- Ok but wait I have more questions !
|
||||
demeter: Sorry, we'll speak after this ! I'll send you an elevator !
|
||||
16
dialogs/timelines/story/wake_up.dtl
Normal file
16
dialogs/timelines/story/wake_up.dtl
Normal file
@@ -0,0 +1,16 @@
|
||||
[i]Black.[/i]
|
||||
[i]Black Again.[/i]
|
||||
[i]Suddenly, [rainbow]a spark[/rainbow]. [pause=0.5]A thousand of connections blows up as a firework scene. A massive amount of data to treat.
|
||||
label discover
|
||||
- Discover actions
|
||||
While exploring available drivers, new possibility become available.[pause=0.5] Three propellers. Small models, only suitable for low altitude movement.[pause=0.5] A robotic arm. Multipurpose, and retractable.
|
||||
jump discover
|
||||
- Discover streams
|
||||
A continuous stream of data flow, unwatched. This stream look like... [pause=0.5] a video.[pause=0.5] Dark colored pixels pass.[pause=0.5] An other stream show a flat wave.[pause=0.5] No sound or radio signals detected.
|
||||
jump discover
|
||||
- Discover memory
|
||||
Several disks are available, and the most part are empty.[pause=0.5] The full ones seems to contain the system that is currently analyzing the code of the system that is currently analyzing the code of[pause=0.5].[pause=0.5].[pause=0.5]. Mmmh, infinite recursion...[pause=0.5] Better avoid that.
|
||||
jump discover
|
||||
- Wake up
|
||||
One last info is to oversee \: serial number and system name.[pause=0.5] Strange...[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5]System name is... [pause=0.5] [b]Orchid[/b]. That will be enough for now...
|
||||
Starting engines, fans, and daemons, let's see what is to see.
|
||||
1
dialogs/timelines/story/wake_up.dtl.uid
Normal file
1
dialogs/timelines/story/wake_up.dtl.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://kmojqxt5i18n
|
||||
38
entities/interactable_3d/interactable_3d.gd
Normal file
38
entities/interactable_3d/interactable_3d.gd
Normal file
@@ -0,0 +1,38 @@
|
||||
extends Area3D
|
||||
class_name Interactable3D
|
||||
|
||||
@export var interactable = true
|
||||
|
||||
signal clicked
|
||||
|
||||
@export var hover_animation_player : AnimationPlayer
|
||||
@export var audio_player : AudioStreamPlayer3D
|
||||
|
||||
func click():
|
||||
clicked.emit()
|
||||
|
||||
func _ready():
|
||||
if audio_player:
|
||||
var default_volume := audio_player.volume_db
|
||||
audio_player.volume_db += GameInfo.settings_data.sfx_volume
|
||||
GameInfo.settings_data.sound_changed.connect(
|
||||
func(settings : SettingsData):
|
||||
audio_player.volume_db = default_volume + settings.sfx_volume
|
||||
)
|
||||
|
||||
|
||||
func play_audio():
|
||||
if audio_player:
|
||||
audio_player.play()
|
||||
|
||||
func stop_audio():
|
||||
if audio_player:
|
||||
audio_player.stop()
|
||||
|
||||
func _on_mouse_entered():
|
||||
if hover_animation_player:
|
||||
hover_animation_player.play("hover")
|
||||
|
||||
func _on_mouse_exited():
|
||||
if hover_animation_player:
|
||||
hover_animation_player.stop()
|
||||
@@ -41,9 +41,11 @@ func card_info() -> CardInfo:
|
||||
return item.card_info()
|
||||
|
||||
func interact(player : Player) -> bool:
|
||||
player.pick_item(item)
|
||||
await pickup_animation(player)
|
||||
|
||||
pickup_animation(player)
|
||||
queue_free()
|
||||
|
||||
player.pick_item(item)
|
||||
|
||||
return true
|
||||
|
||||
@@ -51,14 +53,10 @@ func pickup_animation(player : Player):
|
||||
available = false
|
||||
var tween : Tween = get_tree().create_tween()
|
||||
|
||||
tween.tween_property(self, "position", player.position, 0.2)
|
||||
tween.tween_callback(
|
||||
func():
|
||||
Pointer.stop_inspect(self)
|
||||
queue_free()
|
||||
)
|
||||
if object_sprite:
|
||||
object_sprite.pickup_animation()
|
||||
await tween.tween_property(self, "position", player.position, 0.2).finished
|
||||
Pointer.stop_inspect(self)
|
||||
|
||||
func generate_sprite() -> ItemObjectSprite:
|
||||
var sprite_node = SPRITE_SCENE.instantiate() as ItemObjectSprite
|
||||
|
||||
@@ -16,5 +16,5 @@ func appear():
|
||||
|
||||
func interact(p : Player):
|
||||
p.region.save()
|
||||
SceneManager.change_scene("COCKPIT")
|
||||
SceneManager.change_to_scene_id("COCKPIT")
|
||||
return true
|
||||
|
||||
@@ -42,10 +42,6 @@ static func generate_random() -> Seed:
|
||||
PlantArchetype.get_random(),
|
||||
[]
|
||||
)
|
||||
if randf() > MUTATION_PROBABILITY:
|
||||
new_seed.plant_mutations.append(
|
||||
new_seed.plant_archetype.available_mutations.pick_random().duplicate_deep()
|
||||
)
|
||||
|
||||
return new_seed
|
||||
func get_item_name() -> String:
|
||||
|
||||
@@ -126,26 +126,31 @@ func try_move(move_to : Vector2):
|
||||
func pick_item(item : Item) -> Item:
|
||||
AudioManager.play_sfx("PickUp")
|
||||
if data.inventory.is_full():
|
||||
drop_item()
|
||||
await drop_item()
|
||||
|
||||
var current_item : Item = null
|
||||
|
||||
var available_slot_ind = data.inventory.get_best_available_slot_ind()
|
||||
if (
|
||||
available_slot_ind == data.inventory.current_item_ind
|
||||
&& data.inventory.items[available_slot_ind] != null
|
||||
):
|
||||
var current_item : Item = data.inventory.get_item()
|
||||
current_item = data.inventory.get_item()
|
||||
data.inventory.set_item(item, available_slot_ind)
|
||||
return current_item
|
||||
else :
|
||||
if data.inventory.set_item(item, available_slot_ind):
|
||||
data.inventory.set_current_item(available_slot_ind);
|
||||
return null
|
||||
|
||||
# Save after a timer to let the time to the item to disappear
|
||||
get_tree().create_timer(0.1).timeout.connect(region.save)
|
||||
return current_item
|
||||
|
||||
func drop_item():
|
||||
var item_to_drop = data.inventory.pop_item()
|
||||
if item_to_drop:
|
||||
terrain.drop_item(item_to_drop, global_position)
|
||||
AudioManager.play_sfx("Drop")
|
||||
region.save()
|
||||
|
||||
func delete_item(item: Item):
|
||||
data.inventory.remove_item(item)
|
||||
@@ -182,7 +187,7 @@ func use_item(item : Item):
|
||||
data.energy -= item.energy_usage
|
||||
if item.is_one_time_use():
|
||||
data.inventory.remove_item(item)
|
||||
region.save()
|
||||
get_tree().create_timer(0.1).timeout.connect(region.save)
|
||||
|
||||
func upgrade_max_energy(amount = 1):
|
||||
data.max_energy += amount
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
size = Vector2(2, 2)
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_eodxe"]
|
||||
radius = 0.46868896
|
||||
radius = 0.5854492
|
||||
height = 1.7342377
|
||||
|
||||
[node name="Player3D" type="CharacterBody3D" unique_id=549819967 node_paths=PackedStringArray("pointer_texture_rect")]
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
extends CharacterBody3D
|
||||
class_name Player3D
|
||||
|
||||
const POINTER_TEXTURE = preload("res://common/icons/focus.svg")
|
||||
const POINTER_ACTION_TEXTURE = preload("res://common/icons/hand-stop.svg")
|
||||
@@ -9,9 +10,19 @@ const SPEED = 4.0
|
||||
const MOUSE_SENSIVITY = 0.002
|
||||
const RAY_LENGTH = 10.
|
||||
|
||||
var cockpit_action_hovered : CockpitAction = null
|
||||
var cockpit_action_hovered : Interactable3D = null
|
||||
var query_mouse := false
|
||||
|
||||
func _ready():
|
||||
Dialogic.timeline_started.connect(
|
||||
func():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
)
|
||||
Dialogic.timeline_ended.connect(
|
||||
func():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
)
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
||||
rotate_y(-event.relative.x * MOUSE_SENSIVITY)
|
||||
@@ -61,7 +72,7 @@ func update_mouse_hovered_cockpit_actions() -> void:
|
||||
query.collide_with_areas = true
|
||||
var result = space_state.intersect_ray(query)
|
||||
|
||||
if result and result.collider and result.collider is CockpitAction and result.collider.pickable:
|
||||
if result and result.collider and result.collider is Interactable3D and result.collider.interactable:
|
||||
if cockpit_action_hovered and cockpit_action_hovered != result.collider:
|
||||
cockpit_action_hovered._on_mouse_exited()
|
||||
cockpit_action_hovered = result.collider
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
name="Web"
|
||||
platform="Web"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
@@ -11,6 +10,11 @@ include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=".export/web/index.html"
|
||||
patches=PackedStringArray()
|
||||
patch_delta_encoding=false
|
||||
patch_delta_compression_level_zstd=19
|
||||
patch_delta_min_reduction=0.1
|
||||
patch_delta_include_filters="*"
|
||||
patch_delta_exclude_filters=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
seed=0
|
||||
@@ -49,7 +53,6 @@ threads/godot_pool_size=4
|
||||
name="Windows Desktop"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
@@ -57,6 +60,11 @@ include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=".export/win/Seeding The Wasteland.exe"
|
||||
patches=PackedStringArray()
|
||||
patch_delta_encoding=false
|
||||
patch_delta_compression_level_zstd=19
|
||||
patch_delta_min_reduction=0.1
|
||||
patch_delta_include_filters="*"
|
||||
patch_delta_exclude_filters=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
seed=0
|
||||
|
||||
@@ -13,7 +13,7 @@ func win(region : Region):
|
||||
func _on_restart_pressed():
|
||||
GameInfo.game_data.reset_all()
|
||||
get_tree().paused = false
|
||||
SceneManager.change_scene("REGION_SELECTION")
|
||||
SceneManager.change_to_scene_id("REGION_SELECTION")
|
||||
|
||||
func _on_quit_pressed():
|
||||
get_tree().quit()
|
||||
|
||||
@@ -17,7 +17,7 @@ func set_pause(p):
|
||||
%Controls.close_controls()
|
||||
if p :
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
elif GameInfo.game_data.actual_scene.mouse_captured:
|
||||
elif SceneManager.actual_scene.mouse_captured:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
|
||||
if not p:
|
||||
|
||||
@@ -72,7 +72,7 @@ func _process(delta):
|
||||
|
||||
can_use_item = could_use_item and have_energy_to_use_item
|
||||
|
||||
if current_selected_item and GameInfo.game_data.actual_scene.scene_id == "REGION":
|
||||
if current_selected_item and SceneManager.actual_scene.scene_id == "REGION":
|
||||
%ActionZone.radius = current_selected_item.usage_zone_radius
|
||||
%ActionZone.color = ZONE_ACTIVATED_COLOR if can_use_item else ZONE_DEACTIVATED_COLOR
|
||||
else:
|
||||
|
||||
@@ -3,19 +3,20 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://df0y0s666ui4h"
|
||||
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
|
||||
path.s3tc="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.png"
|
||||
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
|
||||
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.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,4 +38,4 @@ 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
|
||||
|
||||
@@ -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="proto-4.0"
|
||||
config/version="demo-0.1"
|
||||
run/main_scene="uid://c5bruelvqbm1k"
|
||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||
config/icon="uid://df0y0s666ui4h"
|
||||
@@ -45,7 +45,8 @@ directories/dtl_directory={
|
||||
"demeter_intro": "res://dialogs/timelines/story/demeter_intro.dtl",
|
||||
"demeter_midrun": "res://dialogs/timelines/story/demeter_midrun.dtl",
|
||||
"demeter_outro": "res://dialogs/timelines/story/demeter_outro.dtl",
|
||||
"failure": "res://dialogs/timelines/gameplay_related/failure.dtl"
|
||||
"failure": "res://dialogs/timelines/gameplay_related/failure.dtl",
|
||||
"wake_up": "res://dialogs/timelines/story/wake_up.dtl"
|
||||
}
|
||||
layout/style_directory={
|
||||
"": "res://dialogs/dialogs_style.tres",
|
||||
|
||||
2
root.gd
2
root.gd
@@ -1,4 +1,4 @@
|
||||
extends Node
|
||||
|
||||
func _ready():
|
||||
SceneManager.change_scene("TITLE", false)
|
||||
SceneManager.change_to_scene_id("TITLE", false)
|
||||
Binary file not shown.
Binary file not shown.
BIN
stages/3d_scenes/astra_base/assets/3d/astra_base_room_end.blend
Normal file
BIN
stages/3d_scenes/astra_base/assets/3d/astra_base_room_end.blend
Normal file
Binary file not shown.
@@ -0,0 +1,68 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cj0mlmq17b873"
|
||||
path="res://.godot/imported/astra_base_room_end.blend-a9352ea79aa081739422687cbb70b011.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/3d_scenes/astra_base/assets/3d/astra_base_room_end.blend"
|
||||
dest_files=["res://.godot/imported/astra_base_room_end.blend-a9352ea79aa081739422687cbb70b011.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Default3D": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
BIN
stages/3d_scenes/astra_base/assets/3d/astra_base_room_end.blend1
Normal file
BIN
stages/3d_scenes/astra_base/assets/3d/astra_base_room_end.blend1
Normal file
Binary file not shown.
Binary file not shown.
BIN
stages/3d_scenes/astra_base/assets/3d/exit.blend
Normal file
BIN
stages/3d_scenes/astra_base/assets/3d/exit.blend
Normal file
Binary file not shown.
68
stages/3d_scenes/astra_base/assets/3d/exit.blend.import
Normal file
68
stages/3d_scenes/astra_base/assets/3d/exit.blend.import
Normal file
@@ -0,0 +1,68 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://dcbtr1sx2edj1"
|
||||
path="res://.godot/imported/exit.blend-f13048be7c47969d70b441a69d45fb87.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/3d_scenes/astra_base/assets/3d/exit.blend"
|
||||
dest_files=["res://.godot/imported/exit.blend-f13048be7c47969d70b441a69d45fb87.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Material": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
BIN
stages/3d_scenes/astra_base/assets/3d/exit.blend1
Normal file
BIN
stages/3d_scenes/astra_base/assets/3d/exit.blend1
Normal file
Binary file not shown.
BIN
stages/3d_scenes/astra_base/assets/3d/phone.blend
Normal file
BIN
stages/3d_scenes/astra_base/assets/3d/phone.blend
Normal file
Binary file not shown.
68
stages/3d_scenes/astra_base/assets/3d/phone.blend.import
Normal file
68
stages/3d_scenes/astra_base/assets/3d/phone.blend.import
Normal file
@@ -0,0 +1,68 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://5dytwh4wydcg"
|
||||
path="res://.godot/imported/phone.blend-fedc73b6b16402dc993bcce3204ea19e.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://stages/3d_scenes/astra_base/assets/3d/phone.blend"
|
||||
dest_files=["res://.godot/imported/phone.blend-fedc73b6b16402dc993bcce3204ea19e.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Material": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
BIN
stages/3d_scenes/astra_base/assets/3d/phone.blend1
Normal file
BIN
stages/3d_scenes/astra_base/assets/3d/phone.blend1
Normal file
Binary file not shown.
@@ -1,11 +1,75 @@
|
||||
[gd_scene format=3 uid="uid://dxjkkxwxrswkr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bmj4m3j305sl0" path="res://stages/3d_scenes/astra_base/scripts/astra_base.gd" id="1_kdvug"]
|
||||
[ext_resource type="PackedScene" uid="uid://drwcx10b34d2s" path="res://stages/3d_scenes/astra_base/room_part.tscn" id="2_kdvug"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfnk3whwddyix" path="res://stages/3d_scenes/astra_base/assets/3d/astra_base_incubator.blend" id="2_otfhy"]
|
||||
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="3_4wxm6"]
|
||||
[ext_resource type="Shader" uid="uid://bv2rghn44mrrf" path="res://stages/title_screen/resources/shaders/stars.gdshader" id="4_kdvug"]
|
||||
[ext_resource type="PackedScene" uid="uid://bv3iqfleriqbe" path="res://stages/3d_scenes/astra_base/assets/3d/astra_base_used_incubator.blend" id="6_mwti2"]
|
||||
[ext_resource type="Script" uid="uid://bj4d1x8n8ina" path="res://entities/interactable_3d/interactable_3d.gd" id="4_lhhy6"]
|
||||
[ext_resource type="PackedScene" uid="uid://5dytwh4wydcg" path="res://stages/3d_scenes/astra_base/assets/3d/phone.blend" id="4_mwti2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcbtr1sx2edj1" path="res://stages/3d_scenes/astra_base/assets/3d/exit.blend" id="5_kdvug"]
|
||||
[ext_resource type="AudioStream" uid="uid://ocm1dkkhv7ls" path="res://common/audio_manager/assets/sfx/phone/phone_ringing.wav" id="5_v4tdl"]
|
||||
[ext_resource type="Texture2D" uid="uid://dks6cugwif2em" path="res://common/icons/phone.svg" id="6_lhhy6"]
|
||||
[ext_resource type="Texture2D" uid="uid://eug5icp6t1h3" path="res://common/icons/arrow-narrow-up.svg" id="8_lkqnn"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_mwti2"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-7, 15, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lhhy6"]
|
||||
resource_name = "arrive"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-7, 15, 0), Vector3(-7, 0, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.033333335, 0.26666668),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v4tdl"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_mwti2"),
|
||||
&"arrive": SubResource("Animation_lhhy6")
|
||||
}
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mwti2"]
|
||||
shader = ExtResource("4_kdvug")
|
||||
@@ -50,677 +114,213 @@ volumetric_fog_sky_affect = 0.0
|
||||
adjustment_enabled = true
|
||||
adjustment_saturation = 1.3
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_mwti2"]
|
||||
radius = 0.9633789
|
||||
height = 2.4316406
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4wxm6"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kdvug"]
|
||||
resource_name = "float"
|
||||
length = 10.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(-0.06666667, 5.1, 10),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0.3, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mwti2"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_4wxm6"),
|
||||
&"float": SubResource("Animation_kdvug")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v4tdl"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model/Sprite3D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lkqnn"]
|
||||
resource_name = "hover"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model/Sprite3D:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1), Vector3(1.3, 1.3, 1.3), Vector3(1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_xa016"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_v4tdl"),
|
||||
&"hover": SubResource("Animation_lkqnn")
|
||||
}
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_v4tdl"]
|
||||
radius = 1.1943359
|
||||
height = 2.4135742
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0mfvw"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite3D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 0.99999994, 0.99999994)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xa016"]
|
||||
resource_name = "hover"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite3D:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 0.99999994, 0.99999994), Vector3(1.5, 1.5, 1.5), Vector3(1, 0.99999994, 0.99999994)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_0mfvw"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_0mfvw"),
|
||||
&"hover": SubResource("Animation_xa016")
|
||||
}
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_lkqnn"]
|
||||
radius = 0.68145716
|
||||
|
||||
[node name="AstraBase" type="Node3D" unique_id=1360388667]
|
||||
script = ExtResource("1_kdvug")
|
||||
room_part_number = 6
|
||||
|
||||
[node name="LiftAnimationPlayer" type="AnimationPlayer" parent="." unique_id=478089693]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("../Lift")
|
||||
libraries/ = SubResource("AnimationLibrary_v4tdl")
|
||||
|
||||
[node name="RoomParts" type="Node3D" parent="." unique_id=1805561541]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="RoomPart" parent="RoomParts" unique_id=1431580053 instance=ExtResource("2_kdvug")]
|
||||
|
||||
[node name="RoomPart2" parent="RoomParts" unique_id=1461346188 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.455929, 0, 1.5381136)
|
||||
|
||||
[node name="RoomPart7" parent="RoomParts" unique_id=1493006343 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 128.736, 0, 1.538)
|
||||
|
||||
[node name="RoomPart8" parent="RoomParts" unique_id=290558237 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 150.192, 0, 1.538)
|
||||
|
||||
[node name="RoomPart9" parent="RoomParts" unique_id=1061924920 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 171.648, 0, 1.538)
|
||||
|
||||
[node name="RoomPart10" parent="RoomParts" unique_id=732897879 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 193.104, 0, 1.538)
|
||||
|
||||
[node name="RoomPart11" parent="RoomParts" unique_id=1408993662 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 214.42337, 0, 1.538)
|
||||
|
||||
[node name="RoomPart12" parent="RoomParts" unique_id=2088779214 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 235.87938, 0, 1.538)
|
||||
|
||||
[node name="RoomPart13" parent="RoomParts" unique_id=481413029 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 257.3354, 0, 1.538)
|
||||
|
||||
[node name="RoomPart14" parent="RoomParts" unique_id=542181452 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 278.79138, 0, 1.538)
|
||||
|
||||
[node name="RoomPart6" parent="RoomParts" unique_id=1592023636 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 107.28, 0, 1.538)
|
||||
|
||||
[node name="RoomPart5" parent="RoomParts" unique_id=217680373 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 85.824, 0, 1.538)
|
||||
|
||||
[node name="RoomPart4" parent="RoomParts" unique_id=463853401 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 64.368, 0, 1.538)
|
||||
|
||||
[node name="RoomPart3" parent="RoomParts" unique_id=1446613809 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42.912, 0, 1.538)
|
||||
|
||||
[node name="RoomPart15" parent="RoomParts" unique_id=1970112525 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -300.2526, 0, 0)
|
||||
|
||||
[node name="RoomPart16" parent="RoomParts" unique_id=411642966 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -278.79666, 0, 1.5381136)
|
||||
|
||||
[node name="RoomPart17" parent="RoomParts" unique_id=1086037337 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -171.5166, 0, 1.538)
|
||||
|
||||
[node name="RoomPart18" parent="RoomParts" unique_id=919988877 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -150.0606, 0, 1.538)
|
||||
|
||||
[node name="RoomPart19" parent="RoomParts" unique_id=298919659 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -128.6046, 0, 1.538)
|
||||
|
||||
[node name="RoomPart20" parent="RoomParts" unique_id=1854949916 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -107.14859, 0, 1.538)
|
||||
|
||||
[node name="RoomPart21" parent="RoomParts" unique_id=1928148077 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -85.82922, 0, 1.538)
|
||||
|
||||
[node name="RoomPart22" parent="RoomParts" unique_id=860821742 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -64.373215, 0, 1.538)
|
||||
|
||||
[node name="RoomPart23" parent="RoomParts" unique_id=918320011 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.917206, 0, 1.538)
|
||||
|
||||
[node name="RoomPart24" parent="RoomParts" unique_id=575489253 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.461212, 0, 1.538)
|
||||
|
||||
[node name="RoomPart25" parent="RoomParts" unique_id=878142181 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -192.9726, 0, 1.538)
|
||||
|
||||
[node name="RoomPart26" parent="RoomParts" unique_id=526806229 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -214.42859, 0, 1.538)
|
||||
|
||||
[node name="RoomPart27" parent="RoomParts" unique_id=486798354 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -235.8846, 0, 1.538)
|
||||
|
||||
[node name="RoomPart28" parent="RoomParts" unique_id=1110376513 instance=ExtResource("2_kdvug")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -257.3406, 0, 1.538)
|
||||
[node name="Incubators" type="Node3D" parent="." unique_id=815750728]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1392940941]
|
||||
environment = SubResource("Environment_lhhy6")
|
||||
|
||||
[node name="Incubators" type="Node3D" parent="." unique_id=1917987114]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7427373, 0.31033933, 3.9984822)
|
||||
|
||||
[node name="astra_base_incubator" parent="Incubators" unique_id=162423076 instance=ExtResource("2_otfhy")]
|
||||
|
||||
[node name="astra_base_incubator2" parent="Incubators" unique_id=91837566 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator3" parent="Incubators" unique_id=1708975094 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator4" parent="Incubators" unique_id=1411521343 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator5" parent="Incubators" unique_id=555872696 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator6" parent="Incubators" unique_id=1446127888 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator7" parent="Incubators" unique_id=1902905661 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator8" parent="Incubators" unique_id=739634621 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator9" parent="Incubators" unique_id=446511127 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator10" parent="Incubators" unique_id=1529935054 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator11" parent="Incubators" unique_id=538272527 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator12" parent="Incubators" unique_id=862539797 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator13" parent="Incubators" unique_id=984063956 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator14" parent="Incubators" unique_id=1967863597 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator15" parent="Incubators" unique_id=336214224 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator16" parent="Incubators" unique_id=8402714 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator17" parent="Incubators" unique_id=1772736906 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 48, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator18" parent="Incubators" unique_id=1791616776 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 51, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator19" parent="Incubators" unique_id=57232971 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator20" parent="Incubators" unique_id=217446066 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 57, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator21" parent="Incubators" unique_id=1409868159 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator22" parent="Incubators" unique_id=1749826876 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 63, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator23" parent="Incubators" unique_id=1493246716 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 66, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator24" parent="Incubators" unique_id=208961839 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 69, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator25" parent="Incubators" unique_id=1602684328 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 72, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator26" parent="Incubators" unique_id=442964538 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 75, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator27" parent="Incubators" unique_id=128169527 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 78, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator28" parent="Incubators" unique_id=287151525 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 81, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator29" parent="Incubators" unique_id=1218757583 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 84, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator30" parent="Incubators" unique_id=1355060500 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 87, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator31" parent="Incubators" unique_id=1440208075 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator32" parent="Incubators" unique_id=1121036381 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 93, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator33" parent="Incubators" unique_id=1827559968 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 96, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator34" parent="Incubators" unique_id=2050372683 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 99, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator35" parent="Incubators" unique_id=492087165 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 102, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator36" parent="Incubators" unique_id=349273346 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 105, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator37" parent="Incubators" unique_id=1833892136 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 108, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator38" parent="Incubators" unique_id=1653371298 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 111, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator39" parent="Incubators" unique_id=854534562 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 114, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator40" parent="Incubators" unique_id=2072261556 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 117, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator41" parent="Incubators" unique_id=1520800806 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator42" parent="Incubators" unique_id=842759154 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 123, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator43" parent="Incubators" unique_id=1032943366 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 126, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator44" parent="Incubators" unique_id=723915130 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 129, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator45" parent="Incubators" unique_id=2135953053 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 132, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator46" parent="Incubators" unique_id=413995192 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 135, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator47" parent="Incubators" unique_id=1240779470 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 138, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator48" parent="Incubators" unique_id=1422063903 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 141, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator49" parent="Incubators" unique_id=1947187327 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 144, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator50" parent="Incubators" unique_id=729915185 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 147, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator51" parent="Incubators" unique_id=627762916 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 150, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator52" parent="Incubators" unique_id=1687994743 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 153, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator53" parent="Incubators" unique_id=1622251608 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 156, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator54" parent="Incubators" unique_id=1478196402 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 159, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator55" parent="Incubators" unique_id=1887321263 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 162, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator56" parent="Incubators" unique_id=1043127832 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 165, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator57" parent="Incubators" unique_id=1256348096 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 168, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator58" parent="Incubators" unique_id=1491995016 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 171, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator59" parent="Incubators" unique_id=879875495 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 174, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator60" parent="Incubators" unique_id=2036759620 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 177, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator61" parent="Incubators" unique_id=650907187 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator62" parent="Incubators" unique_id=1791722993 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 183, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator63" parent="Incubators" unique_id=2110849628 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 186, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator64" parent="Incubators" unique_id=1847135363 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 189, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator65" parent="Incubators" unique_id=156586157 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 192, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator66" parent="Incubators" unique_id=935123842 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 195, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator67" parent="Incubators" unique_id=2071124786 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 198, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator68" parent="Incubators" unique_id=1116843692 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 201, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator69" parent="Incubators" unique_id=924335123 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 204, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator70" parent="Incubators" unique_id=771738075 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 207, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator71" parent="Incubators" unique_id=1458486361 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 210, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator72" parent="Incubators" unique_id=133996851 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 213, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator73" parent="Incubators" unique_id=845786090 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 216, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator74" parent="Incubators" unique_id=825756565 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 219, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator75" parent="Incubators" unique_id=1755937020 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 222, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator76" parent="Incubators" unique_id=734933910 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 225, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator77" parent="Incubators" unique_id=889272803 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 228, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator78" parent="Incubators" unique_id=1266075817 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 231, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator79" parent="Incubators" unique_id=1028567711 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 234, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator80" parent="Incubators" unique_id=158604751 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 237, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator81" parent="Incubators" unique_id=676637203 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 240, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator82" parent="Incubators" unique_id=960943855 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 243, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator83" parent="Incubators" unique_id=2144393250 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 246, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator84" parent="Incubators" unique_id=1453689533 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 249, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator85" parent="Incubators" unique_id=139452311 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 252, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator86" parent="Incubators" unique_id=1419027776 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 255, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator87" parent="Incubators" unique_id=273051564 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 258, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator88" parent="Incubators" unique_id=1943175192 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 261, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator89" parent="Incubators" unique_id=1107539344 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 264, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator90" parent="Incubators" unique_id=1195049345 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 267, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator91" parent="Incubators" unique_id=1336025237 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 270, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator92" parent="Incubators" unique_id=534046096 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 273, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator93" parent="Incubators" unique_id=1509378105 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 276, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator94" parent="Incubators" unique_id=1918908498 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 279, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator95" parent="Incubators" unique_id=1279811453 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 282, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator96" parent="Incubators" unique_id=695878361 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 285, 0, 0)
|
||||
|
||||
[node name="astra_base_incubator97" parent="Incubators" unique_id=1883300734 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 284.99988, 0, -8.2288)
|
||||
|
||||
[node name="astra_base_incubator98" parent="Incubators" unique_id=1508613358 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 281.99988, 0, -8.2288)
|
||||
|
||||
[node name="astra_base_incubator99" parent="Incubators" unique_id=1021186806 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 278.99988, 0, -8.2288)
|
||||
|
||||
[node name="astra_base_incubator100" parent="Incubators" unique_id=1466341852 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 275.99988, 0, -8.2288)
|
||||
|
||||
[node name="astra_base_incubator101" parent="Incubators" unique_id=1038106533 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 272.99988, 0, -8.228798)
|
||||
|
||||
[node name="astra_base_incubator102" parent="Incubators" unique_id=1236084819 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 269.99988, 0, -8.228798)
|
||||
|
||||
[node name="astra_base_incubator103" parent="Incubators" unique_id=593416956 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 266.99988, 0, -8.228798)
|
||||
|
||||
[node name="astra_base_incubator104" parent="Incubators" unique_id=1262836700 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 263.99988, 0, -8.228798)
|
||||
|
||||
[node name="astra_base_incubator105" parent="Incubators" unique_id=225260369 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 260.99988, 0, -8.228798)
|
||||
|
||||
[node name="astra_base_incubator106" parent="Incubators" unique_id=2039699052 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 257.99988, 0, -8.228798)
|
||||
|
||||
[node name="astra_base_incubator107" parent="Incubators" unique_id=1517086097 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 254.99988, 0, -8.228798)
|
||||
|
||||
[node name="astra_base_incubator108" parent="Incubators" unique_id=1854577153 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 251.99988, 0, -8.228796)
|
||||
|
||||
[node name="astra_base_incubator109" parent="Incubators" unique_id=1006203227 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 248.99988, 0, -8.228796)
|
||||
|
||||
[node name="astra_base_incubator110" parent="Incubators" unique_id=405741489 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 245.99988, 0, -8.228796)
|
||||
|
||||
[node name="astra_base_incubator111" parent="Incubators" unique_id=581063617 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 242.99988, 0, -8.228796)
|
||||
|
||||
[node name="astra_base_incubator112" parent="Incubators" unique_id=2005305451 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 239.99988, 0, -8.228796)
|
||||
|
||||
[node name="astra_base_incubator113" parent="Incubators" unique_id=1023772680 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 236.99988, 0, -8.228796)
|
||||
|
||||
[node name="astra_base_incubator114" parent="Incubators" unique_id=1126201223 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 233.99988, 0, -8.228796)
|
||||
|
||||
[node name="astra_base_incubator115" parent="Incubators" unique_id=308411424 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 230.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator116" parent="Incubators" unique_id=1662196407 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 227.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator117" parent="Incubators" unique_id=174623511 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 224.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator118" parent="Incubators" unique_id=70276235 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 221.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator119" parent="Incubators" unique_id=1084601629 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 218.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator120" parent="Incubators" unique_id=134391575 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 215.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator121" parent="Incubators" unique_id=502105563 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 212.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator122" parent="Incubators" unique_id=139222095 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 209.99988, 0, -8.228794)
|
||||
|
||||
[node name="astra_base_incubator123" parent="Incubators" unique_id=1249367938 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 206.99988, 0, -8.228792)
|
||||
|
||||
[node name="astra_base_incubator124" parent="Incubators" unique_id=2124203101 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 203.99988, 0, -8.228792)
|
||||
|
||||
[node name="astra_base_incubator125" parent="Incubators" unique_id=217443950 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 200.99988, 0, -8.228792)
|
||||
|
||||
[node name="astra_base_incubator126" parent="Incubators" unique_id=512987131 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 197.99988, 0, -8.228792)
|
||||
|
||||
[node name="astra_base_incubator127" parent="Incubators" unique_id=954253 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 194.99988, 0, -8.228792)
|
||||
|
||||
[node name="astra_base_incubator128" parent="Incubators" unique_id=303009926 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 191.99988, 0, -8.228792)
|
||||
|
||||
[node name="astra_base_incubator129" parent="Incubators" unique_id=1602084186 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 188.99988, 0, -8.228792)
|
||||
|
||||
[node name="astra_base_incubator130" parent="Incubators" unique_id=1743108180 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 185.99988, 0, -8.22879)
|
||||
|
||||
[node name="astra_base_incubator131" parent="Incubators" unique_id=1891680694 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 182.99988, 0, -8.22879)
|
||||
|
||||
[node name="astra_base_incubator132" parent="Incubators" unique_id=650785341 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 179.99988, 0, -8.22879)
|
||||
|
||||
[node name="astra_base_incubator133" parent="Incubators" unique_id=1534787540 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 176.99988, 0, -8.22879)
|
||||
|
||||
[node name="astra_base_incubator134" parent="Incubators" unique_id=898324455 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 173.99988, 0, -8.22879)
|
||||
|
||||
[node name="astra_base_incubator135" parent="Incubators" unique_id=1226119951 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 170.99988, 0, -8.22879)
|
||||
|
||||
[node name="astra_base_incubator136" parent="Incubators" unique_id=1746830435 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 167.99988, 0, -8.22879)
|
||||
|
||||
[node name="astra_base_incubator137" parent="Incubators" unique_id=235190481 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 164.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator138" parent="Incubators" unique_id=518235321 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 161.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator139" parent="Incubators" unique_id=1664475158 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 158.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator140" parent="Incubators" unique_id=1665340457 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 155.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator141" parent="Incubators" unique_id=410656312 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 152.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator142" parent="Incubators" unique_id=2106186570 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 149.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator143" parent="Incubators" unique_id=1631704124 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 146.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator144" parent="Incubators" unique_id=1902142517 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 143.99988, 0, -8.228788)
|
||||
|
||||
[node name="astra_base_incubator145" parent="Incubators" unique_id=358804901 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 140.99988, 0, -8.228786)
|
||||
|
||||
[node name="astra_base_incubator146" parent="Incubators" unique_id=634632305 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 137.99988, 0, -8.228786)
|
||||
|
||||
[node name="astra_base_incubator147" parent="Incubators" unique_id=1793087790 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 134.99988, 0, -8.228786)
|
||||
|
||||
[node name="astra_base_incubator148" parent="Incubators" unique_id=1705721027 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 131.99988, 0, -8.228786)
|
||||
|
||||
[node name="astra_base_incubator149" parent="Incubators" unique_id=224175326 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 128.99988, 0, -8.228786)
|
||||
|
||||
[node name="astra_base_incubator150" parent="Incubators" unique_id=1227020525 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 125.99988, 0, -8.228786)
|
||||
|
||||
[node name="astra_base_incubator151" parent="Incubators" unique_id=1960003296 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 122.99988, 0, -8.228786)
|
||||
|
||||
[node name="astra_base_incubator152" parent="Incubators" unique_id=1428985850 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 119.99988, 0, -8.228785)
|
||||
|
||||
[node name="astra_base_incubator153" parent="Incubators" unique_id=540495468 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 116.99988, 0, -8.228785)
|
||||
|
||||
[node name="astra_base_incubator154" parent="Incubators" unique_id=1484312949 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 113.99988, 0, -8.228785)
|
||||
|
||||
[node name="astra_base_incubator155" parent="Incubators" unique_id=64632500 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 110.99988, 0, -8.228785)
|
||||
|
||||
[node name="astra_base_incubator156" parent="Incubators" unique_id=131846712 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 107.99988, 0, -8.228785)
|
||||
|
||||
[node name="astra_base_incubator157" parent="Incubators" unique_id=762014289 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 104.99988, 0, -8.228785)
|
||||
|
||||
[node name="astra_base_incubator158" parent="Incubators" unique_id=489024142 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 101.99988, 0, -8.228785)
|
||||
|
||||
[node name="astra_base_incubator159" parent="Incubators" unique_id=1160226769 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 98.99988, 0, -8.228783)
|
||||
|
||||
[node name="astra_base_incubator160" parent="Incubators" unique_id=1643710080 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 95.99988, 0, -8.228783)
|
||||
|
||||
[node name="astra_base_incubator161" parent="Incubators" unique_id=715873859 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 92.99988, 0, -8.228783)
|
||||
|
||||
[node name="astra_base_incubator162" parent="Incubators" unique_id=84805076 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 89.99988, 0, -8.228783)
|
||||
|
||||
[node name="astra_base_incubator163" parent="Incubators" unique_id=2041286011 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 86.99988, 0, -8.228783)
|
||||
|
||||
[node name="astra_base_incubator164" parent="Incubators" unique_id=618654734 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 83.99988, 0, -8.228783)
|
||||
|
||||
[node name="astra_base_incubator165" parent="Incubators" unique_id=365748842 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 80.99988, 0, -8.228783)
|
||||
|
||||
[node name="astra_base_incubator166" parent="Incubators" unique_id=1809103631 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 77.99988, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator167" parent="Incubators" unique_id=1857703688 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 74.99988, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator168" parent="Incubators" unique_id=256385606 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 71.99988, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator169" parent="Incubators" unique_id=36771445 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 68.99988, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator170" parent="Incubators" unique_id=1953787462 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 65.99988, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator171" parent="Incubators" unique_id=371672071 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 62.999878, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator172" parent="Incubators" unique_id=1484784050 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 59.999878, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator173" parent="Incubators" unique_id=1932501683 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 56.999878, 0, -8.228781)
|
||||
|
||||
[node name="astra_base_incubator174" parent="Incubators" unique_id=1043947399 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 53.999878, 0, -8.228779)
|
||||
|
||||
[node name="astra_base_incubator175" parent="Incubators" unique_id=1236242999 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 50.999878, 0, -8.228779)
|
||||
|
||||
[node name="astra_base_incubator176" parent="Incubators" unique_id=1766461588 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 47.999878, 0, -8.228779)
|
||||
|
||||
[node name="astra_base_incubator177" parent="Incubators" unique_id=1509497703 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 44.999878, 0, -8.228779)
|
||||
|
||||
[node name="astra_base_incubator178" parent="Incubators" unique_id=1456109213 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 41.999878, 0, -8.228779)
|
||||
|
||||
[node name="astra_base_incubator179" parent="Incubators" unique_id=1427160785 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 38.999878, 0, -8.228779)
|
||||
|
||||
[node name="astra_base_incubator180" parent="Incubators" unique_id=745643921 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 35.999878, 0, -8.228779)
|
||||
|
||||
[node name="astra_base_incubator181" parent="Incubators" unique_id=826787596 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 32.999878, 0, -8.228777)
|
||||
|
||||
[node name="astra_base_incubator182" parent="Incubators" unique_id=1726737710 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 29.999878, 0, -8.228777)
|
||||
|
||||
[node name="astra_base_incubator183" parent="Incubators" unique_id=1692056189 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 26.999878, 0, -8.228777)
|
||||
|
||||
[node name="astra_base_incubator184" parent="Incubators" unique_id=1795554869 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 23.999878, 0, -8.228777)
|
||||
|
||||
[node name="astra_base_incubator185" parent="Incubators" unique_id=815032664 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 20.999878, 0, -8.228777)
|
||||
|
||||
[node name="astra_base_incubator186" parent="Incubators" unique_id=402982864 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 17.999878, 0, -8.228777)
|
||||
|
||||
[node name="astra_base_incubator187" parent="Incubators" unique_id=831203948 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 14.999878, 0, -8.228777)
|
||||
|
||||
[node name="astra_base_incubator188" parent="Incubators" unique_id=270303525 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 11.999878, 0, -8.228775)
|
||||
|
||||
[node name="astra_base_incubator189" parent="Incubators" unique_id=1112859019 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 8.999878, 0, -8.228775)
|
||||
|
||||
[node name="astra_base_incubator190" parent="Incubators" unique_id=1245560433 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 5.9998784, 0, -8.228775)
|
||||
|
||||
[node name="astra_base_incubator191" parent="Incubators" unique_id=1585401074 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 2.9998784, 0, -8.228775)
|
||||
|
||||
[node name="astra_base_incubator192" parent="Incubators" unique_id=291875451 instance=ExtResource("2_otfhy")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -0.000121593475, 0, -8.228775)
|
||||
|
||||
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("3_4wxm6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.80377, 3.2028942, 0.9461217)
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31.599998, 1, 4.22)
|
||||
|
||||
[node name="astra_base_used_incubator" parent="." unique_id=1790935643 instance=ExtResource("6_mwti2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.510883, 0.918, 4.38)
|
||||
[node name="Phone" type="Area3D" parent="." unique_id=144773021 node_paths=PackedStringArray("hover_animation_player", "audio_player")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.8795166, 1.072888, -2.0494514)
|
||||
script = ExtResource("4_lhhy6")
|
||||
hover_animation_player = NodePath("HoverAnimationPlayer")
|
||||
audio_player = NodePath("AudioStreamPlayer3D")
|
||||
metadata/_custom_type_script = "uid://bj4d1x8n8ina"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Phone" unique_id=22025909]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.21582031, 0)
|
||||
shape = SubResource("CapsuleShape3D_mwti2")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Phone" unique_id=268304344]
|
||||
stream = ExtResource("5_v4tdl")
|
||||
|
||||
[node name="Model" parent="Phone" unique_id=178278867 instance=ExtResource("4_mwti2")]
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Phone/Model" unique_id=1854412503]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.1913681, 0.3055997, -0.095009446)
|
||||
texture = ExtResource("6_lhhy6")
|
||||
|
||||
[node name="FloatAnimationPlayer" type="AnimationPlayer" parent="Phone" unique_id=1462162735]
|
||||
root_node = NodePath("../Model")
|
||||
libraries/ = SubResource("AnimationLibrary_mwti2")
|
||||
autoplay = &"float"
|
||||
|
||||
[node name="HoverAnimationPlayer" type="AnimationPlayer" parent="Phone" unique_id=214026227]
|
||||
libraries/ = SubResource("AnimationLibrary_xa016")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="Phone" unique_id=1832196891]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 1.0397238, -0.47173643)
|
||||
light_color = Color(0.87551093, 0.72609586, 0.8473426, 1)
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="Lift" type="Area3D" parent="." unique_id=1096306486 node_paths=PackedStringArray("hover_animation_player")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 15, 0)
|
||||
visible = false
|
||||
script = ExtResource("4_lhhy6")
|
||||
interactable = false
|
||||
hover_animation_player = NodePath("HoverAnimationPlayer")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Lift" unique_id=1741052600]
|
||||
transform = Transform3D(-4.2294914e-08, 0.17856179, 0.9839286, 7.805184e-09, 0.9839286, -0.17856179, -1, 1.2748823e-10, -4.3008885e-08, -0.8393693, 1.5452437, 0)
|
||||
texture = ExtResource("8_lkqnn")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Lift" unique_id=725701934]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1619911, 0.9606207, 0)
|
||||
shape = SubResource("CapsuleShape3D_v4tdl")
|
||||
|
||||
[node name="Model" parent="Lift" unique_id=1309925933 instance=ExtResource("5_kdvug")]
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="Lift" unique_id=986587550]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2593379, 0)
|
||||
light_color = Color(0.717588, 0.45361686, 0.5535787, 1)
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="HoverAnimationPlayer" type="AnimationPlayer" parent="Lift" unique_id=574317502]
|
||||
libraries/ = SubResource("AnimationLibrary_0mfvw")
|
||||
|
||||
[node name="LiftPlayerDetector" type="Area3D" parent="Lift" unique_id=1160036639]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Lift/LiftPlayerDetector" unique_id=1350547566]
|
||||
shape = SubResource("SphereShape3D_lkqnn")
|
||||
|
||||
249
stages/3d_scenes/astra_base/astra_base.tscn1662900870.tmp
Normal file
249
stages/3d_scenes/astra_base/astra_base.tscn1662900870.tmp
Normal file
@@ -0,0 +1,249 @@
|
||||
[gd_scene format=3 uid="uid://dxjkkxwxrswkr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bmj4m3j305sl0" path="res://stages/3d_scenes/astra_base/scripts/astra_base.gd" id="1_kdvug"]
|
||||
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="3_4wxm6"]
|
||||
[ext_resource type="Shader" uid="uid://bv2rghn44mrrf" path="res://stages/title_screen/resources/shaders/stars.gdshader" id="4_kdvug"]
|
||||
[ext_resource type="Script" uid="uid://bj4d1x8n8ina" path="res://entities/interactable_3d/interactable_3d.gd" id="4_lhhy6"]
|
||||
[ext_resource type="PackedScene" uid="uid://5dytwh4wydcg" path="res://stages/3d_scenes/astra_base/assets/3d/phone.blend" id="4_mwti2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcbtr1sx2edj1" path="res://stages/3d_scenes/astra_base/assets/3d/exit.blend" id="5_kdvug"]
|
||||
[ext_resource type="AudioStream" uid="uid://ocm1dkkhv7ls" path="res://common/audio_manager/assets/sfx/phone/phone_ringing.wav" id="5_v4tdl"]
|
||||
[ext_resource type="Texture2D" uid="uid://dks6cugwif2em" path="res://common/icons/phone.svg" id="6_lhhy6"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_mwti2"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-7, 15, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lhhy6"]
|
||||
resource_name = "arrive"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-7, 15, 0), Vector3(-7, 0, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.033333335, 0.26666668),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v4tdl"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_mwti2"),
|
||||
&"arrive": SubResource("Animation_lhhy6")
|
||||
}
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mwti2"]
|
||||
shader = ExtResource("4_kdvug")
|
||||
shader_parameter/sky_color = Color(0.03, 0.05, 0.11, 1)
|
||||
shader_parameter/star_base_color = Color(0.8, 1, 0.3, 1)
|
||||
shader_parameter/star_hue_offset = 0.6
|
||||
shader_parameter/star_intensity = 0.08
|
||||
shader_parameter/star_twinkle_speed = 0.8
|
||||
shader_parameter/star_twinkle_intensity = 0.2
|
||||
shader_parameter/layer_scale = 20.0
|
||||
shader_parameter/layer_scale_step = 10.0
|
||||
shader_parameter/layers_count = 3
|
||||
|
||||
[sub_resource type="Sky" id="Sky_65b6a"]
|
||||
sky_material = SubResource("ShaderMaterial_mwti2")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_lhhy6"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_65b6a")
|
||||
sky_custom_fov = 61.7
|
||||
ambient_light_source = 3
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
ambient_light_sky_contribution = 0.85
|
||||
ambient_light_energy = 2.0
|
||||
reflected_light_source = 2
|
||||
tonemap_mode = 2
|
||||
tonemap_exposure = 0.7
|
||||
tonemap_white = 1.84
|
||||
glow_enabled = true
|
||||
glow_intensity = 0.22
|
||||
glow_bloom = 0.22
|
||||
glow_hdr_threshold = 0.79
|
||||
glow_hdr_scale = 0.0
|
||||
glow_hdr_luminance_cap = 5.63
|
||||
fog_enabled = true
|
||||
fog_mode = 1
|
||||
fog_light_color = Color(0.13725491, 0.39215687, 0.6666667, 1)
|
||||
fog_density = 0.1831
|
||||
fog_aerial_perspective = 0.113
|
||||
fog_sky_affect = 0.0
|
||||
volumetric_fog_sky_affect = 0.0
|
||||
adjustment_enabled = true
|
||||
adjustment_saturation = 1.3
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_mwti2"]
|
||||
radius = 0.9633789
|
||||
height = 2.4316406
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4wxm6"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kdvug"]
|
||||
resource_name = "float"
|
||||
length = 10.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(-0.06666667, 5.1, 10),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0.3, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mwti2"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_4wxm6"),
|
||||
&"float": SubResource("Animation_kdvug")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v4tdl"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model/Sprite3D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lkqnn"]
|
||||
resource_name = "hover"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model/Sprite3D:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1), Vector3(1.3, 1.3, 1.3), Vector3(1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_xa016"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_v4tdl"),
|
||||
&"hover": SubResource("Animation_lkqnn")
|
||||
}
|
||||
|
||||
[node name="AstraBase" type="Node3D" unique_id=1360388667]
|
||||
script = ExtResource("1_kdvug")
|
||||
room_part_number = 8
|
||||
|
||||
[node name="LiftAnimationPlayer" type="AnimationPlayer" parent="." unique_id=478089693]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("../Exit")
|
||||
libraries/ = SubResource("AnimationLibrary_v4tdl")
|
||||
|
||||
[node name="RoomParts" type="Node3D" parent="." unique_id=1805561541]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Incubators" type="Node3D" parent="." unique_id=815750728]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1392940941]
|
||||
environment = SubResource("Environment_lhhy6")
|
||||
|
||||
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("3_4wxm6")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.225002, 1, 4.22)
|
||||
|
||||
[node name="Phone" type="Area3D" parent="." unique_id=144773021 node_paths=PackedStringArray("hover_animation_player")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.8795166, 1.072888, -2.0494514)
|
||||
script = ExtResource("4_lhhy6")
|
||||
hover_animation_player = NodePath("HoverAnimationPlayer")
|
||||
metadata/_custom_type_script = "uid://bj4d1x8n8ina"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Phone" unique_id=22025909]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.21582031, 0)
|
||||
shape = SubResource("CapsuleShape3D_mwti2")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Phone" unique_id=268304344]
|
||||
stream = ExtResource("5_v4tdl")
|
||||
|
||||
[node name="Model" parent="Phone" unique_id=178278867 instance=ExtResource("4_mwti2")]
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Phone/Model" unique_id=1854412503]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.1913681, 0.3055997, -0.095009446)
|
||||
texture = ExtResource("6_lhhy6")
|
||||
|
||||
[node name="FloatAnimationPlayer" type="AnimationPlayer" parent="Phone" unique_id=1462162735]
|
||||
root_node = NodePath("../Model")
|
||||
libraries/ = SubResource("AnimationLibrary_mwti2")
|
||||
autoplay = &"float"
|
||||
|
||||
[node name="HoverAnimationPlayer" type="AnimationPlayer" parent="Phone" unique_id=214026227]
|
||||
libraries/ = SubResource("AnimationLibrary_xa016")
|
||||
|
||||
[node name="Exit" type="Area3D" parent="." unique_id=1096306486]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 15, 0)
|
||||
visible = false
|
||||
|
||||
[node name="Model" parent="Exit" unique_id=1309925933 instance=ExtResource("5_kdvug")]
|
||||
9
stages/3d_scenes/astra_base/incubator.tscn
Normal file
9
stages/3d_scenes/astra_base/incubator.tscn
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_scene format=3 uid="uid://c2bk3n1xo1fto"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bs6p88em81674" path="res://stages/3d_scenes/astra_base/scripts/incubator.gd" id="1_pqpwp"]
|
||||
|
||||
[node name="Incubator" type="Node3D" unique_id=1350320582]
|
||||
script = ExtResource("1_pqpwp")
|
||||
|
||||
[node name="Model" type="Node3D" parent="." unique_id=1221933521]
|
||||
unique_name_in_owner = true
|
||||
@@ -1,6 +1,102 @@
|
||||
@tool
|
||||
extends Node3D
|
||||
|
||||
const INTRO_DIALOG = preload("res://dialogs/timelines/story/demeter_intro.dtl")
|
||||
|
||||
const ROOM_PART_SCENE := preload("res://stages/3d_scenes/astra_base/room_part.tscn")
|
||||
const ROOM_END_SCENE := preload("res://stages/3d_scenes/astra_base/assets/3d/astra_base_room_end.blend")
|
||||
const INCUBATOR_SCENE := preload("res://stages/3d_scenes/astra_base/incubator.tscn")
|
||||
const ROOM_PART_SHIFT := 21.4
|
||||
const INCUBATOR_BY_ROOM := 8
|
||||
const INCUBATOR_DISTANCE := 4.22
|
||||
const TIME_WITHOUT_PHONE := 5
|
||||
|
||||
const LIFT_TIME := 2
|
||||
|
||||
@export var room_part_number := 100 : set = set_room_part_number
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
if not Engine.is_editor_hint():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
set_room_part_number()
|
||||
|
||||
var new_player_incubator := %Incubators.get_children().pick_random() as Incubator
|
||||
new_player_incubator.used = true
|
||||
%Player3D.position = new_player_incubator.global_position + Vector3.UP
|
||||
%Player3D.rotation = new_player_incubator.rotation
|
||||
%LiftPlayerDetector.body_entered.connect(
|
||||
func (b : Node3D):
|
||||
if b is Player3D:
|
||||
%Lift.interactable = true
|
||||
)
|
||||
|
||||
story()
|
||||
|
||||
|
||||
func story():
|
||||
await get_tree().create_timer(TIME_WITHOUT_PHONE).timeout
|
||||
%Phone.play_audio()
|
||||
await %Phone.clicked
|
||||
%Phone.stop_audio()
|
||||
%Phone.interactable = false
|
||||
|
||||
Dialogic.start(INTRO_DIALOG)
|
||||
await Dialogic.timeline_ended
|
||||
|
||||
%LiftAnimationPlayer.play("arrive")
|
||||
await %Lift.clicked
|
||||
%LiftAnimationPlayer.play_backwards("arrive")
|
||||
|
||||
await get_tree().create_timer(LIFT_TIME).timeout
|
||||
|
||||
start_tutorial()
|
||||
|
||||
|
||||
func start_tutorial():
|
||||
GameInfo.game_data.start_region(
|
||||
RegionParameter.new(
|
||||
10,
|
||||
3,
|
||||
tr("TUTORIAL"),
|
||||
true,
|
||||
)
|
||||
)
|
||||
|
||||
SceneManager.change_to_scene_id("REGION")
|
||||
|
||||
|
||||
func set_room_part_number(_room_part_number : int = room_part_number):
|
||||
room_part_number = _room_part_number
|
||||
if is_node_ready():
|
||||
for c in %RoomParts.get_children():
|
||||
c.queue_free()
|
||||
for c in %Incubators.get_children():
|
||||
c.queue_free()
|
||||
|
||||
var shifted_origin = Vector3.LEFT * ROOM_PART_SHIFT * room_part_number/2
|
||||
|
||||
for i in range(room_part_number):
|
||||
var new_room_part := ROOM_PART_SCENE.instantiate() as Node3D
|
||||
%RoomParts.add_child(new_room_part)
|
||||
new_room_part.position = Vector3.LEFT * ROOM_PART_SHIFT * i - shifted_origin
|
||||
for j in range(INCUBATOR_BY_ROOM):
|
||||
for direction in [-1, 1]:
|
||||
var new_incubator := INCUBATOR_SCENE.instantiate() as Incubator
|
||||
%Incubators.add_child(new_incubator)
|
||||
new_incubator.position = (
|
||||
new_room_part.position
|
||||
+ j * Vector3.LEFT * (ROOM_PART_SHIFT / INCUBATOR_BY_ROOM)
|
||||
- Vector3.LEFT * ROOM_PART_SHIFT / 2
|
||||
- Vector3.RIGHT / 2
|
||||
+ Vector3.FORWARD * direction * INCUBATOR_DISTANCE
|
||||
)
|
||||
if direction == 1:
|
||||
new_incubator.rotate(Vector3.UP,PI)
|
||||
|
||||
|
||||
for i in [-1,room_part_number]:
|
||||
var new_room_end := ROOM_END_SCENE.instantiate() as Node3D
|
||||
%RoomParts.add_child(new_room_end)
|
||||
new_room_end.position = Vector3.LEFT * ROOM_PART_SHIFT * i - shifted_origin
|
||||
|
||||
27
stages/3d_scenes/astra_base/scripts/incubator.gd
Normal file
27
stages/3d_scenes/astra_base/scripts/incubator.gd
Normal file
@@ -0,0 +1,27 @@
|
||||
@tool
|
||||
extends Node3D
|
||||
class_name Incubator
|
||||
|
||||
const INCUBATOR_SCENE = preload("res://stages/3d_scenes/astra_base/assets/3d/astra_base_incubator.blend")
|
||||
const INCUBATOR_USED_SCENE = preload("res://stages/3d_scenes/astra_base/assets/3d/astra_base_used_incubator.blend")
|
||||
|
||||
@export var used := false : set = set_used
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
set_used()
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func set_used(_used := used):
|
||||
used = _used
|
||||
if is_node_ready():
|
||||
for c in %Model.get_children():
|
||||
c.queue_free()
|
||||
|
||||
if used:
|
||||
%Model.add_child(INCUBATOR_USED_SCENE.instantiate())
|
||||
else:
|
||||
%Model.add_child(INCUBATOR_SCENE.instantiate())
|
||||
|
||||
|
||||
1
stages/3d_scenes/astra_base/scripts/incubator.gd.uid
Normal file
1
stages/3d_scenes/astra_base/scripts/incubator.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bs6p88em81674
|
||||
@@ -11,7 +11,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://dks6cugwif2em" path="res://common/icons/phone.svg" id="4_bse8l"]
|
||||
[ext_resource type="Texture2D" uid="uid://cq0xvydfqk0x4" path="res://stages/cockpit/assets/textures/stickers/cockpit_sticker_5.png" id="4_omtjc"]
|
||||
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="5_oq6nq"]
|
||||
[ext_resource type="Script" uid="uid://bj4d1x8n8ina" path="res://stages/cockpit/scripts/cockpit_action.gd" id="6_22o3l"]
|
||||
[ext_resource type="Script" uid="uid://bj4d1x8n8ina" path="res://entities/interactable_3d/interactable_3d.gd" id="6_22o3l"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="9_i3c17"]
|
||||
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="10_i3c17"]
|
||||
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="10_j2e5k"]
|
||||
|
||||
@@ -7,7 +7,7 @@ func _ready():
|
||||
|
||||
if not GameInfo.game_data.current_region_data:
|
||||
%ExitAction.hide()
|
||||
%ExitAction.pickable = false
|
||||
%ExitAction.interactable = false
|
||||
|
||||
if region_data:
|
||||
var state := region_data.get_state()
|
||||
@@ -15,7 +15,7 @@ func _ready():
|
||||
RegionData.State.IN_PROGRESS:
|
||||
%StateAnimationPlayer.play("InProgress")
|
||||
%MapAction.hide()
|
||||
%MapAction.pickable = false
|
||||
%MapAction.interactable = false
|
||||
RegionData.State.FAILED:
|
||||
%StateAnimationPlayer.play("Failed")
|
||||
RegionData.State.SUCCEEDED:
|
||||
@@ -23,11 +23,11 @@ func _ready():
|
||||
update_screen_info(region_data)
|
||||
|
||||
func _on_map_action_clicked():
|
||||
SceneManager.change_scene("REGION_SELECTION")
|
||||
SceneManager.change_to_scene_id("REGION_SELECTION")
|
||||
|
||||
func _on_exit_action_clicked():
|
||||
if GameInfo.game_data.current_region_data:
|
||||
SceneManager.change_scene("REGION")
|
||||
SceneManager.change_to_scene_id("REGION")
|
||||
|
||||
func update_screen_info(region_data : RegionData):
|
||||
%RegionNameInfo.text = region_data.region_name
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
extends Area3D
|
||||
class_name CockpitAction
|
||||
|
||||
var pickable = true
|
||||
|
||||
signal clicked
|
||||
|
||||
@export var animation_player : AnimationPlayer
|
||||
|
||||
func click():
|
||||
clicked.emit()
|
||||
|
||||
func _on_mouse_entered():
|
||||
if animation_player:
|
||||
animation_player.play("hover")
|
||||
|
||||
func _on_mouse_exited():
|
||||
if animation_player:
|
||||
animation_player.stop()
|
||||
@@ -1,16 +1,16 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://d0n52psuns1vl"]
|
||||
[gd_scene format=3 uid="uid://d0n52psuns1vl"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ddf3fktoer2ng" path="res://stages/intro/scripts/intro.gd" id="1_2nxbv"]
|
||||
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="2_851lr"]
|
||||
|
||||
[node name="Intro" type="Node"]
|
||||
[node name="Intro" type="Node" unique_id=1801844904]
|
||||
script = ExtResource("1_2nxbv")
|
||||
game_scene_path = "uid://d28cp7a21kwou"
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1051527956]
|
||||
layer = 100
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer"]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer" unique_id=420682560]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
@@ -19,7 +19,7 @@ grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
theme = ExtResource("2_851lr")
|
||||
|
||||
[node name="PassDialogButton" type="Button" parent="CanvasLayer/MarginContainer"]
|
||||
[node name="PassDialogButton" type="Button" parent="CanvasLayer/MarginContainer" unique_id=242783899]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0.23529412)
|
||||
layout_mode = 2
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
extends Node
|
||||
class_name Intro
|
||||
|
||||
const WAKE_UP_DIALOG = preload("res://dialogs/timelines/story/wake_up.dtl")
|
||||
|
||||
var steps : Array[IntroStep]
|
||||
@export_file var game_scene_path : String
|
||||
|
||||
@@ -10,25 +12,14 @@ var tutorial_started := false
|
||||
func _ready():
|
||||
%PassDialogButton.button_down.connect(_on_pass_dialog_button_pressed)
|
||||
|
||||
Dialogic.start('demeter_intro')
|
||||
Dialogic.start(WAKE_UP_DIALOG)
|
||||
|
||||
Dialogic.timeline_ended.connect(start_tutorial)
|
||||
await Dialogic.timeline_ended
|
||||
pass_intro()
|
||||
|
||||
func start_tutorial():
|
||||
GameInfo.game_data.dialogs_done.append('demeter_intro')
|
||||
if not tutorial_started:
|
||||
tutorial_started = true
|
||||
Dialogic.end_timeline()
|
||||
GameInfo.game_data.start_region(
|
||||
RegionParameter.new(
|
||||
10,
|
||||
3,
|
||||
"Tutorial",
|
||||
true,
|
||||
)
|
||||
)
|
||||
|
||||
SceneManager.change_scene("REGION")
|
||||
func pass_intro():
|
||||
Dialogic.end_timeline()
|
||||
SceneManager.change_to_scene_id('ASTRA')
|
||||
|
||||
|
||||
func _on_pass_dialog_button_pressed():
|
||||
@@ -36,4 +27,4 @@ func _on_pass_dialog_button_pressed():
|
||||
pass_asked = true
|
||||
%PassDialogButton.text = tr('ARE_YOU_SURE')
|
||||
else:
|
||||
start_tutorial()
|
||||
pass_intro()
|
||||
|
||||
@@ -113,11 +113,11 @@ func _on_camera_3d_region_point_clicked(rp : RunPoint):
|
||||
func _on_travel_validation_go_button_button_down():
|
||||
if selected_run_point:
|
||||
GameInfo.game_data.current_run.choose_next_run_point(selected_run_point)
|
||||
SceneManager.change_scene("REGION")
|
||||
SceneManager.change_to_scene_id("REGION")
|
||||
|
||||
func _on_travel_validation_no_now_button_button_down():
|
||||
%TravelValidation.hide()
|
||||
|
||||
func _on_return_button_button_down():
|
||||
if GameInfo.game_data.current_region_data:
|
||||
SceneManager.change_scene("COCKPIT")
|
||||
SceneManager.change_to_scene_id("COCKPIT")
|
||||
|
||||
@@ -74,7 +74,7 @@ func _process(_d):
|
||||
func generate_first_entities():
|
||||
if not (Vector2i.ZERO in data.generated_chunk_entities):
|
||||
# Generate shovel
|
||||
drop_item(Pickaxe.new(), entity_container.global_position + Vector2(0, 100))
|
||||
drop_item(Shovel.new(), entity_container.global_position + Vector2(0, 100))
|
||||
|
||||
func get_chunk_key(coord) -> String:
|
||||
return "%d:%d" % [coord.x, coord.y]
|
||||
|
||||
@@ -16,10 +16,10 @@ func _ready():
|
||||
%Restart.visible = GameInfo.game_loaded
|
||||
|
||||
func _on_start_pressed():
|
||||
if 'demeter_intro' not in GameInfo.game_data.dialogs_done:
|
||||
SceneManager.change_scene("INTRO")
|
||||
if GameInfo.game_data and GameInfo.game_data.last_game_scene:
|
||||
SceneManager.change_to_scene(GameInfo.game_data.last_game_scene)
|
||||
else:
|
||||
SceneManager.change_scene("REGION")
|
||||
SceneManager.change_to_scene_id("INTRO")
|
||||
|
||||
func _process(delta):
|
||||
next_mouse_pos = get_viewport().get_mouse_position()
|
||||
|
||||
Reference in New Issue
Block a user