Ajout de l'amélioration du modèle du robot au cours de l'histoire, d'une annonce sur cette amélioration ainsi qu'un succès à l'utilisation de toutes les incubateurs d'orchid dans une base
This commit is contained in:
@@ -41,13 +41,15 @@ func _init(
|
||||
@export var dead_orchid_rotation : Vector3
|
||||
|
||||
@export var item_announced = []
|
||||
@export var max_energy_announced = PlayerData.DEFAULT_MAX_ENERGY
|
||||
@export var max_inventory_announced = PlayerData.DEFAULT_INVENTORY_SIZE
|
||||
|
||||
@export var dialogs_done : Array[String] = [] #Chemin des dialogues terminés
|
||||
@export var tutorials_done : Array[String] = []
|
||||
|
||||
|
||||
func start_run() -> RunData:
|
||||
player_data.clear_inventory()
|
||||
player_data.update_with_artefacts([])
|
||||
current_run = RunData.new()
|
||||
current_run.story_step = progression_data.get_story_step().duplicate_deep()
|
||||
current_run.generate_next_run_points()
|
||||
@@ -55,6 +57,7 @@ func start_run() -> RunData:
|
||||
func(rp : RunPoint):
|
||||
start_region(rp.region_parameter)
|
||||
)
|
||||
player_data.update_with_run_data(current_run)
|
||||
ship_in_space = false
|
||||
return current_run
|
||||
|
||||
|
||||
@@ -63,9 +63,9 @@ func get_all_artifacts() -> Array[Artefact]:
|
||||
|
||||
func get_all_story_steps() -> Array[StoryStep]:
|
||||
return [
|
||||
# TutorialStoryStep.new(),
|
||||
# StartStoryStep.new(),
|
||||
# MercuryStoryStep.new(),
|
||||
TutorialStoryStep.new(),
|
||||
StartStoryStep.new(),
|
||||
MercuryStoryStep.new(),
|
||||
BoreaStoryStep.new(),
|
||||
AquaStoryStep.new(),
|
||||
SubterraStoryStep.new(),
|
||||
|
||||
@@ -145,6 +145,6 @@ func generate_challenge_modifiers() -> Array[RegionModifier]:
|
||||
|
||||
func add_artefacts(a: Artefact):
|
||||
artefacts.append(a)
|
||||
GameInfo.game_data.player_data.update_with_artefacts(artefacts)
|
||||
GameInfo.game_data.player_data.update_with_run_data(self)
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -28,8 +28,14 @@ func is_run_finished(level : int) -> bool:
|
||||
func is_region_sequence_infinite() -> bool:
|
||||
return false
|
||||
|
||||
func get_player_max_energy() -> int:
|
||||
return PlayerData.DEFAULT_MAX_ENERGY
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return PlayerData.DEFAULT_INVENTORY_SIZE
|
||||
|
||||
func get_region_sequence_length() -> int:
|
||||
return 2 #TO CHANGE TO 7
|
||||
return 3 #TOCHANGE TO 7
|
||||
|
||||
func get_first_vending_machine_occurence(_level : int) -> int:
|
||||
return 2
|
||||
|
||||
@@ -26,7 +26,7 @@ func get_destination_scene() -> Scene:
|
||||
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
|
||||
if level == 0:
|
||||
return MERCURY_DEPARTURE_DIALOG_PATH
|
||||
if level == 1:
|
||||
if level == 2:
|
||||
return VENDING_MACHINE_DIALOG_PATH
|
||||
if ship_in_space and is_run_finished(level + 1):
|
||||
return VENUS_ARRIVAL_DIALOG_PATH
|
||||
|
||||
@@ -16,6 +16,11 @@ func get_destination_text() -> String:
|
||||
func get_destination_scene() -> Scene:
|
||||
return BoreaScene.new()
|
||||
|
||||
func get_player_max_energy() -> int:
|
||||
return 4
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 3
|
||||
|
||||
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
|
||||
return VENUS_DEPARTURE_DIALOG_PATH
|
||||
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
|
||||
func get_destination_scene() -> Scene:
|
||||
return AquaScene.new()
|
||||
|
||||
func get_player_max_energy() -> int:
|
||||
return 4
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 4
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return AQUA_TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
|
||||
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
|
||||
func get_destination_scene() -> Scene:
|
||||
return SubterraScene.new()
|
||||
|
||||
func get_player_max_energy() -> int:
|
||||
return 4
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 5
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
|
||||
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
|
||||
func get_destination_scene() -> Scene:
|
||||
return EstiaScene.new()
|
||||
|
||||
func get_player_max_energy() -> int:
|
||||
return 5
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 5
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 5:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
|
||||
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
|
||||
func get_destination_scene() -> Scene:
|
||||
return AstraEndScene.new()
|
||||
|
||||
func get_player_max_energy() -> int:
|
||||
return 5
|
||||
|
||||
func get_player_max_inventory() -> int:
|
||||
return 6
|
||||
|
||||
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
|
||||
if level == 4:
|
||||
return TRAVEL_PHONE_CALL_DIALOG_PATH
|
||||
|
||||
@@ -61,8 +61,11 @@ func spawn_player(relay_base : RelayBase):
|
||||
GameInfo.game_data.incubator_used.append(
|
||||
incubators.find(choosen_incubator)
|
||||
)
|
||||
if len(possible_incubators) == 1:
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_ALL_CASES)
|
||||
else:
|
||||
choosen_incubator = incubators.pick_random()
|
||||
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_ALL_CASES)
|
||||
|
||||
choosen_incubator.used = true
|
||||
relay_base.player.global_position = choosen_incubator.global_position + Vector3.UP
|
||||
|
||||
@@ -15,11 +15,12 @@ const ACH_STW_REPAIR_THE_PLANET="STW_REPAIR_THE_PLANET"
|
||||
const ACH_STW_HIT_10_INFINITE="STW_HIT_10_INFINITE"
|
||||
const ACH_STW_HIT_20_INFINITE="STW_HIT_20_INFINITE"
|
||||
const ACH_STW_HIT_30_INFINITE="STW_HIT_30_INFINITE"
|
||||
const ACH_STW_ALL_CASES="STW_ALL_CASES"
|
||||
|
||||
func unlock_achievement(achivement_name : String):
|
||||
if Steam.isSteamRunning():
|
||||
var status = Steam.getAchievement(achivement_name)
|
||||
print_verbose("Steam Achievement %s" %achivement_name)
|
||||
print("Steam Achievement %s" % achivement_name)
|
||||
if status.has("ret") and status.ret and not status.achieved:
|
||||
Steam.setAchievement(achivement_name)
|
||||
Steam.storeStats()
|
||||
@@ -167,6 +167,7 @@ _data = {
|
||||
|
||||
[node name="ArtefactAnnounce" type="CanvasLayer" unique_id=1447182082]
|
||||
layer = 2
|
||||
visible = false
|
||||
script = ExtResource("1_2sroa")
|
||||
announce_artefact = SubResource("Resource_3vg7r")
|
||||
|
||||
@@ -261,7 +262,7 @@ own_world_3d = true
|
||||
transparent_bg = true
|
||||
size = Vector2i(300, 300)
|
||||
|
||||
[node name="AnnouceObject" type="Node3D" parent="Container/AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1527573801]
|
||||
[node name="AnnounceObject" type="Node3D" parent="Container/AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1527573801]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.49246997, -0.037707455, 0.8692438, 0.6477846, -0.65092874, -0.39512447, 0.5810579, 0.75763476, -0.2962104, 0, 0, 0)
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ metadata/_custom_type_script = "uid://bj4d1x8n8ina"
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0430325, 0)
|
||||
stream = SubResource("AudioStreamRandomizer_amehi")
|
||||
bus = &"Sfx"
|
||||
|
||||
[node name="BreakParticles" type="CPUParticles3D" parent="." unique_id=1968257379]
|
||||
unique_name_in_owner = true
|
||||
@@ -76,11 +77,9 @@ shape = SubResource("BoxShape3D_nvfy2")
|
||||
|
||||
[node name="ArtefactAnnounce" parent="." unique_id=114641656 instance=ExtResource("8_3rrt0")]
|
||||
unique_name_in_owner = true
|
||||
visible = true
|
||||
announce_artefact = null
|
||||
|
||||
[node name="MutationAnnounce" parent="." unique_id=1447182082 instance=ExtResource("9_247i2")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
|
||||
[editable path="CristalModelCrack"]
|
||||
|
||||
@@ -164,6 +164,7 @@ _data = {
|
||||
|
||||
[node name="MutationAnnounce" type="CanvasLayer" unique_id=1447182082]
|
||||
layer = 2
|
||||
visible = false
|
||||
script = ExtResource("1_02o74")
|
||||
|
||||
[node name="Container" type="Control" parent="." unique_id=250759747]
|
||||
@@ -272,11 +273,11 @@ own_world_3d = true
|
||||
transparent_bg = true
|
||||
size = Vector2i(300, 300)
|
||||
|
||||
[node name="AnnouceObject" type="Node3D" parent="Container/AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1527573801]
|
||||
[node name="AnnounceObject" type="Node3D" parent="Container/AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1527573801]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-0.66996473, 0.079749085, -0.73779225, -0.56796145, 0.58463466, 0.5788058, 0.47777697, 0.80682886, -0.34651512, 0, 0, 0)
|
||||
|
||||
[node name="cristal" parent="Container/AnnounceContainer/ObjectVisualiser/SubViewport/AnnouceObject" unique_id=1362490576 instance=ExtResource("12_wy2oe")]
|
||||
[node name="cristal" parent="Container/AnnounceContainer/ObjectVisualiser/SubViewport/AnnounceObject" unique_id=1362490576 instance=ExtResource("12_wy2oe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Container/AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=173755338]
|
||||
|
||||
@@ -50,13 +50,13 @@ func update_rotation(delta):
|
||||
else :
|
||||
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
|
||||
|
||||
%AnnouceObject.rotate(Vector3.UP, object_rotation.x * delta)
|
||||
%AnnouceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
|
||||
%AnnounceObject.rotate(Vector3.UP, object_rotation.x * delta)
|
||||
%AnnounceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
|
||||
|
||||
|
||||
func set_announce_artefact(artefact := announce_artefact):
|
||||
if is_node_ready():
|
||||
for c in %AnnouceObject.get_children():
|
||||
for c in %AnnounceObject.get_children():
|
||||
c.queue_free()
|
||||
|
||||
if is_node_ready() and artefact:
|
||||
@@ -65,7 +65,7 @@ func set_announce_artefact(artefact := announce_artefact):
|
||||
%AnnounceText.text = artefact.get_artefact_name()
|
||||
%ObjectVisualiser.info = artefact.card_info()
|
||||
|
||||
%AnnouceObject.add_child(
|
||||
%AnnounceObject.add_child(
|
||||
artefact.get_3d_scene().instantiate()
|
||||
)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ const DEFAULT_OBJECT_ACCELERATION = Vector2(3,0)
|
||||
|
||||
@export_tool_button("Update", "Callable") var update_action = set_announce_mutation
|
||||
|
||||
var announce_objects : Array[AnnouceObject] = []
|
||||
var announce_objects : Array[AnnounceObject] = []
|
||||
|
||||
var object_acceleration := Vector2(0,0)
|
||||
|
||||
@@ -52,8 +52,8 @@ func update_rotation(delta):
|
||||
else :
|
||||
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
|
||||
|
||||
%AnnouceObject.rotate(Vector3.UP, object_rotation.x * delta)
|
||||
%AnnouceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
|
||||
%AnnounceObject.rotate(Vector3.UP, object_rotation.x * delta)
|
||||
%AnnounceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
|
||||
|
||||
|
||||
func set_announce_mutation(mutation := announce_mutation):
|
||||
|
||||
@@ -20,20 +20,20 @@ func get_artefacts() -> Array[Artefact]:
|
||||
return GameInfo.game_data.current_run.artefacts
|
||||
return []
|
||||
|
||||
func update_with_artefacts(artefacts : Array[Artefact]):
|
||||
inventory.seeds_size = calculate_inventory_size(artefacts)
|
||||
max_energy = calculate_max_energy(artefacts)
|
||||
func update_with_run_data(run_data : RunData):
|
||||
inventory.seeds_size = calculate_inventory_size(run_data)
|
||||
max_energy = calculate_max_energy(run_data)
|
||||
updated.emit()
|
||||
|
||||
func calculate_max_energy(artefacts : Array[Artefact]) -> int:
|
||||
var v = DEFAULT_MAX_ENERGY
|
||||
for a in artefacts:
|
||||
func calculate_max_energy(run_data : RunData) -> int:
|
||||
var v = run_data.story_step.get_player_max_energy()
|
||||
for a in run_data.artefacts:
|
||||
v = a.modify_player_max_energy(v)
|
||||
return v
|
||||
|
||||
func calculate_inventory_size(artefacts : Array[Artefact]) -> int:
|
||||
var v = DEFAULT_INVENTORY_SIZE
|
||||
for a in artefacts:
|
||||
func calculate_inventory_size(run_data : RunData) -> int:
|
||||
var v = run_data.story_step.get_player_max_inventory()
|
||||
for a in run_data.artefacts:
|
||||
v = a.modify_player_inventory_size(v)
|
||||
return v
|
||||
|
||||
|
||||
@@ -5,12 +5,49 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cdpqg3pkjcw2h" path="res://stages/title_screen/assets/textures/title.png" id="3_urbel"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_5k6jv"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8flevrkelpvy" path="res://gui/credits/socials/instagram.tscn" id="5_urbel"]
|
||||
[ext_resource type="Texture2D" uid="uid://bcjkds8n5qu6x" path="res://common/icons/rotate-rectangle.svg" id="6_5k6jv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cm5b7w7j6527f" path="res://stages/title_screen/planet_3d.tscn" id="6_luv2b"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="7_urbel"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_urbel"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kip8e"]
|
||||
bg_color = Color(1, 0.6509804, 0.09019608, 1)
|
||||
border_width_left = 6
|
||||
border_width_top = 6
|
||||
border_width_right = 6
|
||||
border_width_bottom = 6
|
||||
border_color = Color(1, 0.6509804, 0.09019608, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_a8ny4"]
|
||||
bg_color = Color(0.692349, 0.477218, 0.112321, 1)
|
||||
border_width_left = 6
|
||||
border_width_top = 6
|
||||
border_width_right = 6
|
||||
border_width_bottom = 6
|
||||
border_color = Color(0.694118, 0.478431, 0.113725, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xl2r5"]
|
||||
bg_color = Color(0.976471, 0.741176, 0.4, 1)
|
||||
border_width_left = 6
|
||||
border_width_top = 6
|
||||
border_width_right = 6
|
||||
border_width_bottom = 6
|
||||
border_color = Color(0.975367, 0.740445, 0.401877, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_5k6jv"]
|
||||
font = ExtResource("7_urbel")
|
||||
font_size = 20
|
||||
@@ -234,8 +271,21 @@ label_settings = ExtResource("4_5k6jv")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Button" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=927302743 instance=ExtResource("5_urbel")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TitleScreen" type="Button" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=1912426702]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme = ExtResource("2_luv2b")
|
||||
theme_override_constants/icon_max_width = 30
|
||||
theme_override_font_sizes/font_size = 20
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_kip8e")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxFlat_a8ny4")
|
||||
theme_override_styles/hover = SubResource("StyleBoxFlat_xl2r5")
|
||||
text = "RETURN_TO_TITLE_SCREEN"
|
||||
icon = ExtResource("6_5k6jv")
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/GridContainer" unique_id=105267250]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
@@ -435,7 +485,7 @@ alignment = 1
|
||||
|
||||
[node name="Name" type="Label" parent="MarginContainer/GridContainer/VBoxContainer2/CreditsLine12" unique_id=2037812278]
|
||||
layout_mode = 2
|
||||
text = "Cesire"
|
||||
text = "Cesire / ItsATreee on Twitch"
|
||||
label_settings = SubResource("LabelSettings_5k6jv")
|
||||
horizontal_alignment = 1
|
||||
|
||||
@@ -472,3 +522,5 @@ shadow_enabled = true
|
||||
shadow_normal_bias = 0.0
|
||||
shadow_opacity = 0.92
|
||||
shadow_blur = 4.667
|
||||
|
||||
[connection signal="pressed" from="MarginContainer/GridContainer/VBoxContainer/TitleScreen" to="." method="_on_title_screen_pressed"]
|
||||
|
||||
@@ -2,4 +2,8 @@ extends CanvasLayer
|
||||
class_name Credits
|
||||
|
||||
func appear():
|
||||
%AnimationPlayer.play("appear")
|
||||
%AnimationPlayer.play("appear")
|
||||
|
||||
func _on_title_screen_pressed():
|
||||
SceneManager.change_to_scene(TitleScene.new(), false)
|
||||
|
||||
|
||||
@@ -22,11 +22,6 @@ point_count = 4
|
||||
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_6qyp1"]
|
||||
font = ExtResource("4_aao0q")
|
||||
font_size = 50
|
||||
font_color = Color(1, 0.6509804, 0.09019608, 1)
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_aao0q"]
|
||||
viewport_path = NodePath("AnnounceContainer/HBoxContainer/ObjectVisualiser/SubViewport")
|
||||
|
||||
@@ -227,11 +222,22 @@ text = "NEW_TOOL"
|
||||
label_settings = ExtResource("3_7nrno")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AnnounceText" type="Label" parent="AnnounceContainer" unique_id=1537255164]
|
||||
[node name="AnnounceText" type="RichTextLabel" parent="AnnounceContainer" unique_id=1992702255]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/default_color = Color(1, 0.6509804, 0.08627451, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("4_aao0q")
|
||||
theme_override_fonts/bold_font = ExtResource("4_aao0q")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("4_aao0q")
|
||||
theme_override_fonts/italics_font = ExtResource("4_aao0q")
|
||||
theme_override_font_sizes/normal_font_size = 50
|
||||
theme_override_font_sizes/bold_font_size = 60
|
||||
theme_override_font_sizes/bold_italics_font_size = 50
|
||||
theme_override_font_sizes/italics_font_size = 50
|
||||
theme_override_font_sizes/mono_font_size = 50
|
||||
bbcode_enabled = true
|
||||
text = "Pelle"
|
||||
label_settings = SubResource("LabelSettings_6qyp1")
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="GridContainer" parent="AnnounceContainer" unique_id=802355154]
|
||||
@@ -279,11 +285,12 @@ own_world_3d = true
|
||||
transparent_bg = true
|
||||
size = Vector2i(300, 300)
|
||||
|
||||
[node name="AnnouceObject" type="Node3D" parent="AnnounceContainer/HBoxContainer/ObjectVisualiser/SubViewport" unique_id=986671004]
|
||||
[node name="AnnounceObject" type="Node3D" parent="AnnounceContainer/HBoxContainer/ObjectVisualiser/SubViewport" unique_id=986671004]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-0.054461285, 0.73170173, 0.6795513, -0.8508927, 0.32199714, -0.4149924, -0.52245957, -0.6008157, 0.60510355, 0, 0, 0)
|
||||
transform = Transform3D(0.9687702, -0.030383619, -0.24602485, -0.11000262, 0.83650446, -0.53682446, 0.22209063, 0.54715794, 0.8071189, 0, 0, 0)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="AnnounceContainer/HBoxContainer/ObjectVisualiser/SubViewport" unique_id=1788331074]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
|
||||
keep_aspect = 0
|
||||
current = true
|
||||
|
||||
@@ -4,11 +4,11 @@ class_name Announce
|
||||
|
||||
const DEFAULT_OBJECT_ACCELERATION = Vector2(3,0)
|
||||
|
||||
@export var announce_object : AnnouceObject = null : set = set_announce_object
|
||||
@export var announce_object : AnnounceObject = null : set = set_announce_object
|
||||
|
||||
@export_tool_button("Update", "Callable") var update_action = set_announce_object
|
||||
|
||||
var announce_objects : Array[AnnouceObject] = []
|
||||
var announce_objects : Array[AnnounceObject] = []
|
||||
|
||||
var object_acceleration := Vector2(0,0)
|
||||
|
||||
@@ -33,6 +33,26 @@ func _ready():
|
||||
GameInfo.game_data.item_announced.append(i.name)
|
||||
)
|
||||
|
||||
if (
|
||||
GameInfo.game_data.max_energy_announced != GameInfo.game_data.player_data.max_energy
|
||||
):
|
||||
announce_objects.append(AnnounceModel.new(
|
||||
tr("UPGRADED_MAX_ENERGY_TO_%d") % GameInfo.game_data.player_data.max_energy
|
||||
))
|
||||
GameInfo.game_data.max_energy_announced = GameInfo.game_data.player_data.max_energy
|
||||
|
||||
if (
|
||||
GameInfo.game_data.max_inventory_announced != GameInfo.game_data.player_data.inventory.seeds_size
|
||||
):
|
||||
announce_objects.append(AnnounceModel.new(
|
||||
tr("UPGRADED_INVENTORY_SIZE_TO_%d") % GameInfo.game_data.player_data.inventory.seeds_size
|
||||
))
|
||||
GameInfo.game_data.max_inventory_announced = GameInfo.game_data.player_data.inventory.seeds_size
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if announce_object == null and not visible and len(announce_objects) > 0:
|
||||
announce_object = announce_objects.pop_front()
|
||||
@@ -71,18 +91,20 @@ func update_rotation(delta):
|
||||
else :
|
||||
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
|
||||
|
||||
%AnnouceObject.rotate(Vector3.UP, object_rotation.x * delta)
|
||||
%AnnouceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
|
||||
%AnnounceObject.rotate(Vector3.UP, object_rotation.x * delta)
|
||||
%AnnounceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
|
||||
|
||||
|
||||
func set_announce_object(object := announce_object):
|
||||
Pointer.action_disabled = not object
|
||||
if is_node_ready() and object:
|
||||
for children in %AnnouceObject.get_children():
|
||||
for children in %AnnounceObject.get_children():
|
||||
children.queue_free()
|
||||
|
||||
%AnnouceObject.add_child(object.get_3d_object())
|
||||
%AnnouceObject.rotation = Vector3.ZERO
|
||||
%Camera3D.position.z = object.get_camera_z_pos()
|
||||
|
||||
%AnnounceObject.add_child(object.get_3d_object())
|
||||
%AnnounceObject.rotation = Vector3.ZERO
|
||||
%AnnounceTitle.text = object.get_title()
|
||||
%AnnounceText.text = object.get_text()
|
||||
%AnnounceDesc.text = object.get_desc()
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
@tool
|
||||
extends AnnounceObject
|
||||
class_name AnnounceModel
|
||||
|
||||
const ORCHID_3D_SCENE = preload("res://entities/player_3d/resources/3d_orchid.blend")
|
||||
|
||||
@export var text : String
|
||||
|
||||
|
||||
func _init(
|
||||
_text := text
|
||||
):
|
||||
text = _text
|
||||
|
||||
func get_3d_object() -> Node3D:
|
||||
return ORCHID_3D_SCENE.instantiate()
|
||||
|
||||
func get_title() -> String:
|
||||
return "MODEL_HAS_BEEN_UPGRADED"
|
||||
|
||||
func get_text() -> String:
|
||||
return text
|
||||
|
||||
func get_camera_z_pos() -> float:
|
||||
return 5.
|
||||
|
||||
func get_card_info() -> CardInfo:
|
||||
return null
|
||||
|
||||
func _on_dismiss():
|
||||
pass
|
||||
# GameInfo.game_data.player_data.tool_discovered.append(tool_item.get_item_name())
|
||||
@@ -0,0 +1 @@
|
||||
uid://dnemq1wa14s8g
|
||||
+4
-1
@@ -1,6 +1,6 @@
|
||||
@abstract
|
||||
extends Resource
|
||||
class_name AnnouceObject
|
||||
class_name AnnounceObject
|
||||
|
||||
var desc := ""
|
||||
var image : Texture = null
|
||||
@@ -17,6 +17,9 @@ func get_desc() -> String:
|
||||
func get_image() -> Texture:
|
||||
return image
|
||||
|
||||
func get_camera_z_pos() -> float:
|
||||
return 1.0
|
||||
|
||||
@abstract func get_card_info() -> CardInfo
|
||||
|
||||
@abstract func _on_dismiss()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
@tool
|
||||
extends AnnouceObject
|
||||
extends AnnounceObject
|
||||
class_name AnnounceTool
|
||||
|
||||
const ITEM_3D_SCENE = preload("res://gui/game/inventory_gui/inventory_item/inventory_item_3d.tscn")
|
||||
+2
-2
@@ -128,7 +128,7 @@ variables={
|
||||
"whoareyou": "false",
|
||||
"whynorth": "false"
|
||||
}
|
||||
translation/id_counter=280
|
||||
translation/id_counter=295
|
||||
translation/locales=[]
|
||||
history/visited_event_history_enabled=true
|
||||
audio/type_sound_bus="Sfx"
|
||||
@@ -264,7 +264,7 @@ zoom_out={
|
||||
[internationalization]
|
||||
|
||||
locale/translation_remaps={}
|
||||
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.fr.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.en.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.fr.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_4_cave_translation.en.translation", "res://translation/dialogs/dialogic_4_cave_translation.fr.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.en.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.en.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.fr.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.en.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.en.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.fr.translation", "res://translation/dialogs/dialogic_9_borea_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.en.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.fr.translation")
|
||||
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_failed_translation.fr.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.en.translation", "res://translation/dialogs/dialogic_1_waking_up_translation.fr.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_2_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_3_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_4_cave_translation.en.translation", "res://translation/dialogs/dialogic_4_cave_translation.fr.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.en.translation", "res://translation/dialogs/dialogic_5_mercury_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.en.translation", "res://translation/dialogs/dialogic_6_mercury_departure_translation.fr.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.en.translation", "res://translation/dialogs/dialogic_7_venus_arrival_translation.fr.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.en.translation", "res://translation/dialogs/dialogic_8_venus_departure_translation.fr.translation", "res://translation/dialogs/dialogic_9_borea_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.en.translation", "res://translation/dialogs/dialogic_cave_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.en.translation", "res://translation/dialogs/dialogic_6_vending_machine_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_1_aqua_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_astra_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_estia_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_1_subterra_travel_phone_call_translation.en.translation", "res://translation/dialogs/dialogic_2_aqua_arrival_translation.en.translation", "res://translation/dialogs/dialogic_2_astra_top_translation.en.translation", "res://translation/dialogs/dialogic_2_estia_arrival_translation.en.translation", "res://translation/dialogs/dialogic_2_subterra_arrival_translation.en.translation", "res://translation/dialogs/dialogic_3_astra_end_translation.en.translation", "res://translation/dialogs/dialogic_91_borea_comms_up_translation.en.translation", "res://translation/dialogs/dialogic_92_borea_later_translation.en.translation", "res://translation/dialogs/dialogic_9_borea_arrival_translation.en.translation")
|
||||
locale/test="fr"
|
||||
|
||||
[rendering]
|
||||
|
||||
@@ -48,6 +48,7 @@ var data_last_updated = 0.
|
||||
var plant_grid : PlantGrid
|
||||
|
||||
# Cheat Code
|
||||
# TOCHANGE
|
||||
func _input(_e):
|
||||
if (
|
||||
Input.is_action_pressed("drop")
|
||||
|
||||
@@ -181,6 +181,18 @@ tracks/8/keys = {
|
||||
"update": 1,
|
||||
"values": [1.0]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("../ColorRect:modulate:a")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ofiho"]
|
||||
resource_name = "arrive"
|
||||
@@ -292,6 +304,18 @@ tracks/8/keys = {
|
||||
"update": 0,
|
||||
"values": [0.0, 1.0]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("../ColorRect:modulate:a")
|
||||
tracks/9/interp = 2
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(0, 0.33333334),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1xafb"]
|
||||
_data = {
|
||||
@@ -543,6 +567,17 @@ unique_name_in_owner = true
|
||||
z_index = 100
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="." unique_id=1251793255]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
z_index = 2
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
color = Color(0.0627451, 0.05882353, 0.16862746, 1)
|
||||
|
||||
[connection signal="pressed" from="MarginContainer/GridContainer/VBoxContainer/VBoxContainer/Start" to="." method="_on_start_pressed"]
|
||||
[connection signal="pressed" from="MarginContainer/GridContainer/VBoxContainer/VBoxContainer/StartInfinite" to="." method="_on_start_infinite_pressed"]
|
||||
[connection signal="button_down" from="MarginContainer/GridContainer/VBoxContainer/VBoxContainer/Settings" to="." method="_on_settings_button_down"]
|
||||
|
||||
@@ -371,6 +371,9 @@ ORBIT,Orbit,Orbite
|
||||
RECHARGE_NUMBER,Recharge Number,Nombre de recharge
|
||||
ORCHID_ENERGY,Orchid's energy,Énergie d'Orchid
|
||||
NEW_TOOL,New tool,Nouvel Outil
|
||||
MODEL_HAS_BEEN_UPGRADED,Model has been upgraded,Votre modèle à été amélioré
|
||||
UPGRADED_MAX_ENERGY_TO_%d,Max energy set to [b]%d[/b],[b]%d[/b] d'énergie maximale
|
||||
UPGRADED_INVENTORY_SIZE_TO_%d,Inventory size set to [b]%d[/b],[b]%d[/b] de taille d'inventaire
|
||||
NEW_MUTATION,New Mutation,Nouvelle Mutation
|
||||
THIS_MUTATION_CAN_NOW_APPEAR_ON_SEEDS,"This mutation can now appear on seeds","Cette mutation pourra désormais apparaître sur les graines"
|
||||
NEW_ARTEFACT,New Artefact,Nouvel Artefact
|
||||
|
||||
|
Reference in New Issue
Block a user