Compare commits

...

37 Commits

Author SHA1 Message Date
cb5acb0a0d feat(rtmi): Remove inventory shadow
All checks were successful
Gymkhana exports / All exports (push) Successful in 2m29s
2025-11-09 18:48:12 +01:00
34e5cdb80f feat(scoreboard): Changed submit score url. #266 2025-11-09 18:43:23 +01:00
8337f3d150 fix(video): Acortar intro. Closes #265 2025-11-09 18:10:14 +01:00
94c0363156 feat(i18n): basque corrections by Naiara 2025-11-09 17:59:12 +01:00
c9fee9ad87 feat(achievements): i18n #253 2025-11-09 17:27:20 +01:00
279fd91aa1 feat(achievements): Remove timer from pause menu. #253 2025-11-09 17:20:11 +01:00
481c7993c4 Web thread export. #254
All checks were successful
Gymkhana exports / All exports (push) Successful in 2m34s
2025-11-09 16:10:41 +01:00
080ea1dfe1 fix(sounds): Bajar fregaderos. Closes #256 2025-11-09 15:50:00 +01:00
01835d0a4e feat(achievements) Summary menu. #253 2025-11-09 15:34:00 +01:00
981df00da2 fix(build): Key env var #263 2025-11-09 15:34:00 +01:00
ed20451c36 feat(credits): Fade all elements. 2025-11-09 15:34:00 +01:00
1c74528184 feat(achievements): new achievement hambrientas, closes #261 2025-11-09 15:33:24 +01:00
2f1971c52a feat(i18n): some eu translations 2025-11-09 15:22:27 +01:00
e5949dc0cf fix(story): horn was not visible in intro, fixes #255 2025-11-09 15:05:25 +01:00
67228746b5 fix(speech): fix cut audio, fixes #259 2025-11-09 15:01:45 +01:00
9eec24157d fix(speech): fix missing audio, fixes #260 2025-11-09 14:50:12 +01:00
021c862f7b feat(romer): only smart people will get romero, closes #257 2025-11-09 14:37:15 +01:00
3fa3f48476 fix(rtmi): Layer order.
All checks were successful
Gymkhana exports / All exports (push) Successful in 1m50s
2025-11-08 20:48:12 +01:00
d03c46fb33 fix(rtmi-ui): no quit button on web, fixes #251
All checks were successful
Gymkhana exports / All exports (push) Successful in 1m51s
2025-11-08 20:31:16 +01:00
3d0b68a280 fix(rtmi): Hide dialog on pause. #252 2025-11-08 20:24:33 +01:00
bd93904bcb fix(rtmi): Always show buttons. #252 2025-11-08 20:06:48 +01:00
3d9445a40a fix(rtmi): Always show buttons. #252 2025-11-08 20:06:12 +01:00
0b63c25df1 fix(rtmi-ui): ugly hack for menu/fullscreen/music buttons 2025-11-08 20:04:44 +01:00
173dc4e01c fix(i18n): tilde 2025-11-08 19:12:40 +01:00
a889dca375 feat(i18n): credits placeholders
All checks were successful
Gymkhana exports / All exports (push) Successful in 1m52s
2025-11-08 18:41:01 +01:00
39d14cb7de feat(rtmi): Unify icon width, tweak exit fullscreen. 2025-11-08 18:40:08 +01:00
1266cc3355 feat(publish): Itch.io logo 2025-11-08 18:40:08 +01:00
39bf0d68e0 feat(dev): Achievement unlocker. 2025-11-08 18:40:08 +01:00
9406706a83 fix(rtmi): Load game dont hide buttons. 2025-11-08 18:40:08 +01:00
179883ef30 feat(story): perfect score 2025-11-08 18:27:42 +01:00
31f04e5881 feat(story): reworked palestina dialog 2025-11-08 18:08:52 +01:00
b5365d3644 featu(build): Fix api path
All checks were successful
Gymkhana exports / All exports (push) Successful in 1m52s
2025-11-08 17:33:16 +01:00
ded7845f58 chore: clean up video audios.
All checks were successful
Gymkhana exports / All exports (push) Successful in 1m50s
2025-11-08 17:06:43 +01:00
1776aec8e7 feat(build): Create api.cfg #215 2025-11-08 17:03:48 +01:00
0f26eb81b8 feat(speech): remaining audios 2025-11-08 16:54:20 +01:00
53dd4e2c98 fix(i18n): some literals 2025-11-08 15:12:00 +01:00
af10e24f76 feat(videos): Intro y amenazas. #237 2025-11-08 15:11:18 +01:00
457 changed files with 908 additions and 514 deletions

View File

@@ -9,6 +9,7 @@ env:
GODOT_VERSION: 4.5
EXPORT_NAME: LasGymkhanikasDeUli
PROJECT_PATH: .
APPWRITE_API_KEY: "${{ secrets.APPWRITE_API_KEY }}"
jobs:
all-exports:
@@ -24,10 +25,6 @@ jobs:
- name: Setup
run: |
git clone https://github.com/godot-escoria/escoria-demo-game $PROJECT_PATH/../escoria-demo-game
- name: Setup
run: |
mkdir -p $PROJECT_PATH/secret
echo "${{ secrets.APPWRITE_API_CFG }}" > $PROJECT_PATH/secret/api.cfg
- name: All builds
run: |
./apply_patches.sh

View File

@@ -40,6 +40,11 @@ func initialize(dialog_manager: ESCDialogManager, character: String, text: Strin
func handle_input(_event):
if _event is InputEventMouseButton and _event.pressed:
# MODIFIED FOR RTMI-UI: HACK FOR MENU/FULLSCREEN/MUSIC BUTTONS
var position: Vector2 = _event.global_position
if position.x > 1080 and position.y < 70:
return
# END MODIFIED FOR RTMI-UI
if escoria.inputs_manager.input_mode != \
escoria.inputs_manager.INPUT_NONE and \
_dialog_manager != null:

View File

@@ -68,6 +68,9 @@ var _progress_tween: Tween
# Build up the UI
func _ready():
escoria.paused.connect(_on_paused)
escoria.resumed.connect(_on_resumed)
_click_to_continue = escoria.settings_manager.get_custom_setting(
RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY,
RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_DEFAULT_VALUE
@@ -304,12 +307,14 @@ func _on_dialog_finished():
# Handler managing pause notification from Escoria
func _on_paused():
_talking_timer.set_paused(true)
hide()
# Handler managing resume notification from Escoria
func _on_resumed():
_talking_timer.set_paused(false)
show()
func _stop_character_talking():
# Make the speaking item animation stop talking, if it is still alive

View File

@@ -0,0 +1,11 @@
class_name RTMIAchievementSummaryMenu
extends PanelContainer
func ready() -> void:
%SummaryPanel.hide_position()
func _on_rtmi_menu_button_pressed() -> void:
hide()
func refresh() -> void:
%SummaryPanel.refresh()

View File

@@ -0,0 +1 @@
uid://bp676ele1a2dk

View File

@@ -0,0 +1,54 @@
[gd_scene load_steps=5 format=3 uid="uid://bcu6ik8qq0dl6"]
[ext_resource type="PackedScene" uid="uid://cbq03pmsdusib" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary_panel.tscn" id="1_iv6go"]
[ext_resource type="Script" uid="uid://bp676ele1a2dk" path="res://addons/escoria-ui-return-monkey-island/achievements/menu/rtmi_achievements_menu.gd" id="1_krbpm"]
[ext_resource type="Script" uid="uid://elqkwjm0r5c7" path="res://addons/escoria-ui-return-monkey-island/menus/rtmi_menu_button.gd" id="2_ntqhu"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_krbpm"]
bg_color = Color(0.21960784, 0.21960784, 0.21960784, 1)
[node name="AchievementsMenu" type="PanelContainer"]
process_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_krbpm")
script = ExtResource("1_krbpm")
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer/MarginContainer"]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
[node name="SummaryPanel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer" instance=ExtResource("1_iv6go")]
unique_name_in_owner = true
layout_mode = 2
[node name="RichTextLabel" type="RichTextLabel" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
theme_override_font_sizes/normal_font_size = 16
text = "Consigue todos los logros para obtener una puntuación perfecta."
vertical_alignment = 1
[node name="Back" type="Button" parent="CenterContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
text = "OPTIONS_BACK"
script = ExtResource("2_ntqhu")
metadata/_custom_type_script = "uid://elqkwjm0r5c7"
[connection signal="pressed" from="CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Back" to="." method="_on_rtmi_menu_button_pressed"]

View File

@@ -46,6 +46,8 @@ func get_unlocked_achievements_total() -> int:
unlocked_achievements_total += 1
return unlocked_achievements_total
func is_perfect_score() -> bool:
return get_achievements_total() == get_unlocked_achievements_total()
func reset_achievements() -> void:
_achievement_tracker.clear()
@@ -65,7 +67,6 @@ func unlock_achievement(achievement_id) -> void:
_achievement_tracker.set(achievement_id, true)
unlocked.emit(achievement_id)
func is_unlocked(achievement_id: String) -> bool:
if not has(achievement_id):
escoria.logger.error(self, "Achievement '%s' not found.")

View File

@@ -21,7 +21,9 @@ func update() -> void:
var achievements = gymkhana.achievement_manager.get_achievements()
achievements.sort()
for key in achievements:
%Container.add_child(UiEscoriaVariableBuilder.create(key, achievements[key]))
var variable: UIEscoriaVariable = UiEscoriaVariableBuilder.create(key, achievements[key])
variable.double_clicked.connect(_on_double_clicked)
%Container.add_child(variable)
func clear() -> void:
@@ -32,3 +34,6 @@ func clear() -> void:
func _on_time_updated(elapsed_time_in_seconds: int) -> void:
%TimeTrackerLabel.text = str(elapsed_time_in_seconds)
func _on_double_clicked(achievement_id) -> void:
gymkhana.achievement_manager.unlock_achievement(achievement_id)

View File

@@ -134,7 +134,7 @@ func _score_http_request(
return response_data
func format_time(time: int) -> String:
static func format_time(time: int) -> String:
var hours = time / 3600
var minutes = (time % 3600) / 60
var seconds = time % 60

View File

@@ -6,88 +6,42 @@ signal score_submitted()
const CHARACTER_LIMIT: int = 32
const ALLOWED_CHARACTERS = "[à-ÿÀ-ŸA-Za-z0-9 _-]"
var perfect = false
var collection: String
@onready var input_name: LineEdit = %InputName
@onready var total_time: Label = %TotalTime
@onready var pos: Label = %Position
@onready var achievement_count: Label = %AchievementCount
@onready var unlocked_achievements_container: VBoxContainer = %UnlockedAchievementsContainer
@onready var submit_button: RTMIMenuButton = %SubmitButton
@onready var spinner: Spinner = %Spinner
@onready var summary_panel: RTMIAchievementSummaryPanel = %SummaryPanel
func _ready() -> void:
_fill()
input_name.text_changed.connect(_on_input_name_changed)
input_name.grab_focus()
func show():
super.show()
summary_panel.show_position()
check_perfect()
check_score()
func _input(event: InputEvent) -> void:
if event.is_action_pressed("ui_enter"):
_on_submit_button_up()
func _fill():
_clear()
total_time.text = gymkhana.score_manager.format_time(gymkhana.achievement_manager.played_time)
var achievements = gymkhana.achievement_manager.get_achievements()
var unlocked = 0
for achievement_key in achievements:
var label = Label.new()
label.text = tr(gymkhana.achievement_manager.generate_achievement_literal(
achievement_key, "title"
))
label.add_theme_color_override("font_color", Color.DIM_GRAY)
if achievements.get(achievement_key):
label.add_theme_color_override("font_color", Color.GREEN)
unlocked += 1
unlocked_achievements_container.add_child(label)
achievement_count.text = "%s / %s" % [unlocked, achievements.size()]
if unlocked == achievements.size():
submit_button.text = tr("SUBMIT_PERFECT_SCORE")
perfect = true
collection = gymkhana.score_manager.PERFECT if perfect else gymkhana.score_manager.FASTEST
check_score()
func check_score():
if perfect:
func check_perfect():
if gymkhana.achievement_manager.is_perfect_score():
escoria.game_scene.launch_confetti()
escoria.globals_manager.set_global("turno_cocina_perfect_score", true)
submit_button.text = tr("SUBMIT_PERFECT_SCORE")
func check_score():
var played_time = floor(randf() * 1000)
collection = gymkhana.score_manager.PERFECT if gymkhana.achievement_manager.is_perfect_score() else gymkhana.score_manager.FASTEST
var pos_int = await gymkhana.score_manager.calculate_score_position(collection, gymkhana.achievement_manager.played_time)
pos.text = "#" + str(pos_int + 1)
summary_panel.score_position = pos_int + 1
func _clear() -> void:
for child in unlocked_achievements_container.get_children():
unlocked_achievements_container.remove_child(child)
child.queue_free()
func _get_all_achievements() -> Array:
var unlocked_achievements: Array = []
var all_achievements = gymkhana.achievement_manager.get_achievements()
for achievement in all_achievements:
if all_achievements.get(achievement) == true:
unlocked_achievements.append(achievement)
return unlocked_achievements
func _on_input_name_changed(_new_text: String):
var valid = _validate_name()
if not valid:
_set_label_error()
return

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://ch5d4emoxq6t4"]
[gd_scene load_steps=6 format=3 uid="uid://ch5d4emoxq6t4"]
[ext_resource type="Script" uid="uid://wor3bvk7tdh0" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary.gd" id="1_vcqj7"]
[ext_resource type="PackedScene" uid="uid://cbq03pmsdusib" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary_panel.tscn" id="2_0xx2m"]
[ext_resource type="Script" uid="uid://elqkwjm0r5c7" path="res://addons/escoria-ui-return-monkey-island/menus/rtmi_menu_button.gd" id="2_3d1qx"]
[ext_resource type="Script" uid="uid://doqt8bqgwakt" path="res://addons/tattomoosa.spinner/spinner.gd" id="3_co5jd"]
@@ -22,101 +23,9 @@ theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="TotalTimeLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "TOTAL_TIME"
horizontal_alignment = 1
[node name="TotalTime" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
[node name="SummaryPanel" parent="MarginContainer/VBoxContainer" instance=ExtResource("2_0xx2m")]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "0h 00m 00s"
horizontal_alignment = 1
vertical_alignment = 2
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="PositionLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "POSITION"
horizontal_alignment = 1
[node name="Position" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "-"
horizontal_alignment = 1
vertical_alignment = 2
[node name="HSeparator" type="HSeparator" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_styles/separator = SubResource("StyleBoxEmpty_co5jd")
[node name="MarginContainer2" type="MarginContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="AchievementTitle" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 12
text = "ACHIEVEMENT_SUMMARY"
[node name="AchievementCount" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 12
text = "1 / 7"
horizontal_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_bottom = 10
[node name="UnlockedAchievementsContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 4
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label2" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label3" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label4" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label5" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label6" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="HSeparator3" type="HSeparator" parent="MarginContainer/VBoxContainer"]
layout_mode = 2

View File

@@ -0,0 +1,48 @@
class_name RTMIAchievementSummaryPanel
extends VBoxContainer
@onready var total_time: Label = %TotalTime
@onready var pos: Label = %Position
@onready var achievement_count: Label = %AchievementCount
@onready var unlocked_achievements_container: VBoxContainer = %UnlockedAchievementsContainer
var score_position: int = 0:
set(new_value):
score_position = new_value
%Position.text = "#%d" % new_value
func _ready() -> void:
_fill()
func refresh() -> void:
_fill()
func _fill():
_clear()
total_time.text = RTMIScoreManager.format_time(gymkhana.achievement_manager.played_time)
var achievements = gymkhana.achievement_manager.get_achievements()
for achievement_key in achievements:
var label = Label.new()
label.text = tr(gymkhana.achievement_manager.generate_achievement_literal(
achievement_key, "title"
))
label.add_theme_color_override("font_color", Color.DIM_GRAY)
if achievements.get(achievement_key):
label.add_theme_color_override("font_color", Color.GREEN)
unlocked_achievements_container.add_child(label)
achievement_count.text = "%s / %s" % [gymkhana.achievement_manager.get_unlocked_achievements_total(), achievements.size()]
func _clear() -> void:
for child in unlocked_achievements_container.get_children():
unlocked_achievements_container.remove_child(child)
child.queue_free()
func show_position() -> void:
%PositionContainer.show()
func hide_position() -> void:
%PositionContainer.hide()

View File

@@ -0,0 +1,105 @@
[gd_scene load_steps=3 format=3 uid="uid://cbq03pmsdusib"]
[ext_resource type="Script" uid="uid://b7llgro3vx5rr" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary_panel.gd" id="1_cgp0k"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_co5jd"]
[node name="SummaryPanel" type="VBoxContainer"]
script = ExtResource("1_cgp0k")
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="TotalTimeLabel" type="Label" parent="HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "TOTAL_TIME"
horizontal_alignment = 1
[node name="TotalTime" type="Label" parent="HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "0h 00m 00s"
horizontal_alignment = 1
vertical_alignment = 2
[node name="PositionContainer" type="VBoxContainer" parent="HBoxContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
size_flags_horizontal = 3
[node name="PositionLabel" type="Label" parent="HBoxContainer/PositionContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 20
text = "POSITION"
horizontal_alignment = 1
[node name="Position" type="Label" parent="HBoxContainer/PositionContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 24
text = "-"
horizontal_alignment = 1
vertical_alignment = 2
[node name="HSeparator" type="HSeparator" parent="."]
layout_mode = 2
theme_override_styles/separator = SubResource("StyleBoxEmpty_co5jd")
[node name="MarginContainer2" type="MarginContainer" parent="."]
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="."]
layout_mode = 2
[node name="AchievementTitle" type="Label" parent="HBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 12
text = "ACHIEVEMENT_SUMMARY"
[node name="AchievementCount" type="Label" parent="HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 12
text = "1 / 7"
horizontal_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_bottom = 10
[node name="UnlockedAchievementsContainer" type="VBoxContainer" parent="MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 4
[node name="Label" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label2" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label3" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label4" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label5" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"
[node name="Label6" type="Label" parent="MarginContainer/UnlockedAchievementsContainer"]
layout_mode = 2
text = "ACHIEVEMENT TEXT PLACEHOLDER"

View File

@@ -59,13 +59,14 @@ const ESC_UI_CHANGE_VERB_ACTION = "esc_change_verb"
@export var video_player: RTMIVideoPlayer
@export var language_selector: RTMILanguageSelector
@export var confetti: RTMIConfetti
@export var tools: Container
@export var achievement_summary: RTMIAchievementSummaryMenu
# Tracks the mouse's current position onscreen.
var _current_mouse_pos = Vector2.ZERO
func _init():
gymkhana.item_count_manager = ESCItemCountManager.new()
gymkhana.tooltip_manager = ESCTootltipManager.new()
gymkhana.global_observer = RTMIGlobalObserver.new()
@@ -266,7 +267,6 @@ func element_focused(element_id: String) -> void:
tooltip_node.set_target(target_obj.tooltip_name)
tooltip_node.set_target_object(target_obj)
if escoria.action_manager.has_actions(target_obj):
if target_obj is ESCItemWithTooltip:
if target_obj.is_interactive:
@@ -442,6 +442,11 @@ func unpause_game():
escoria.main.current_scene.game.show_ui()
escoria.main.current_scene.show()
escoria.set_game_paused(false)
if achievement_summary.visible:
achievement_summary.visible = false
if %highscores.visible:
%highscores.visible = false
gymkhana.music_manager.resume()
gymkhana.achievement_manager.resume_tracking_time()
@@ -565,7 +570,10 @@ func _on_event_done(return_code: int, _event_name: String):
func _on_MenuButton_pressed() -> void:
pause_game()
if escoria.current_state == escoria.GAME_STATE.PAUSED:
unpause_game()
else:
pause_game()
# Clears the tooltip content (if an ESCTooltip node exists in UI)
@@ -614,6 +622,7 @@ func _on_say_finished() -> void:
await get_tree().create_timer(0.01).timeout
update_highlights()
func _is_input_all():
return escoria.inputs_manager.input_mode == ESCInputsManager.INPUT_ALL
@@ -668,5 +677,11 @@ func update_highlights():
if room_child is ESCItemWithTooltip:
room_child.get_component("outline").update_highlight()
func launch_confetti():
confetti.launch()
func show_achievement_summary() -> void:
achievement_summary.show()
achievement_summary.refresh()

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=32 format=3 uid="uid://cabos3cse6b71"]
[gd_scene load_steps=33 format=3 uid="uid://cabos3cse6b71"]
[ext_resource type="PackedScene" uid="uid://bl50queikqfjc" path="res://addons/escoria-ui-return-monkey-island/inventory/inventory_ui.tscn" id="1"]
[ext_resource type="Script" path="res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd" id="2"]
@@ -25,6 +25,7 @@
[ext_resource type="Texture2D" uid="uid://y2hfekr163su" path="res://addons/escoria-ui-return-monkey-island/icons/exit_fullscreen_hover.svg" id="15_j7gr8"]
[ext_resource type="Texture2D" uid="uid://e2xk0aimdte" path="res://addons/escoria-ui-return-monkey-island/icons/music-double-note-disabled.svg" id="16"]
[ext_resource type="Texture2D" uid="uid://nsthsaybnd71" path="res://addons/escoria-ui-return-monkey-island/icons/fullscreen.svg" id="18_ixq7a"]
[ext_resource type="PackedScene" uid="uid://bcu6ik8qq0dl6" path="res://addons/escoria-ui-return-monkey-island/achievements/menu/rtmi_achievements_menu.tscn" id="18_j7gr8"]
[ext_resource type="PackedScene" uid="uid://d3kgkl2r5xe4d" path="res://addons/escoria-ui-return-monkey-island/achievements/rtmi_achievement_notification_container.tscn" id="18_ssxmx"]
[ext_resource type="PackedScene" uid="uid://c0066wpl3qky4" path="res://addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.tscn" id="19_we0hb"]
[ext_resource type="Shader" uid="uid://iehp1eakxyak" path="res://addons/escoria-ui-return-monkey-island/shaders/vignette.gdshader" id="20_parhr"]
@@ -41,7 +42,7 @@ shader_parameter/vignette_strength = 0.9
shader_parameter/dither_strength = 0.03
shader_parameter/vignette_color = Color(0, 0, 0, 1)
[node name="game" type="Node2D" node_paths=PackedStringArray("inventory_ui", "rtmi_tooltip_node", "dev_tools_node", "video_player", "language_selector", "confetti")]
[node name="game" type="Node2D" node_paths=PackedStringArray("inventory_ui", "rtmi_tooltip_node", "dev_tools_node", "video_player", "language_selector", "confetti", "achievement_summary")]
script = ExtResource("5")
inventory_ui = NodePath("game_layer/ui_layer/Inventory")
rtmi_tooltip_node = NodePath("game_layer/tooltip_layer/tooltip")
@@ -49,14 +50,15 @@ dev_tools_node = NodePath("game_layer/ui_layer/DevTools")
video_player = NodePath("menu_layer/video_player")
language_selector = NodePath("menu_layer/language_selector")
confetti = NodePath("CanvasLayer/Confetti")
achievement_summary = NodePath("menu_layer/AchievementsMenu")
main_menu = NodePath("menu_layer/main_menu")
pause_menu = NodePath("menu_layer/pause_menu")
mouse_tooltip_margin = 70.0
editor_debug_mode = 1
ui_parent_control_node = NodePath("game_layer/ui_layer/Tools")
[node name="black_and_white_shader" type="CanvasLayer" parent="."]
unique_name_in_owner = true
layer = 4
visible = false
script = ExtResource("2_o34rc")
@@ -69,6 +71,7 @@ grow_horizontal = 2
grow_vertical = 2
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 4
[node name="Confetti" parent="CanvasLayer" instance=ExtResource("4_ixq7a")]
@@ -85,7 +88,8 @@ color = Color(0, 0, 0, 1)
[node name="game_layer" type="CanvasLayer" parent="."]
[node name="dialog_layer" type="CanvasLayer" parent="game_layer"]
layer = 3
unique_name_in_owner = true
layer = 2
[node name="ESCDialogsPlayer" type="Control" parent="game_layer/dialog_layer"]
layout_mode = 3
@@ -94,7 +98,7 @@ theme = ExtResource("9")
script = ExtResource("2")
[node name="tooltip_layer" type="CanvasLayer" parent="game_layer"]
layer = 2
layer = 4
[node name="tooltip" parent="game_layer/tooltip_layer" instance=ExtResource("4")]
z_index = 10
@@ -106,51 +110,11 @@ offset_from_cursor_action4 = Vector2(0, -20)
debug_mode = true
[node name="ui_layer" type="CanvasLayer" parent="game_layer"]
layer = 2
[node name="DevTools" parent="game_layer/ui_layer" instance=ExtResource("7_qk4ex")]
visible = false
[node name="Tools" type="PanelContainer" parent="game_layer/ui_layer"]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -220.0
offset_bottom = 84.0
grow_horizontal = 0
theme = ExtResource("9")
[node name="MarginContainer" type="MarginContainer" parent="game_layer/ui_layer/Tools"]
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="game_layer/ui_layer/Tools/MarginContainer"]
layout_mode = 2
alignment = 2
[node name="FullScreenButton" type="TextureButton" parent="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2"]
process_mode = 3
layout_mode = 2
texture_normal = ExtResource("18_ixq7a")
texture_hover = ExtResource("12_te176")
script = ExtResource("13_6rlck")
fullscreen_active_texture = ExtResource("14_c6byj")
fullscreen_active_hover_texture = ExtResource("15_j7gr8")
fullscreen_default_texture = ExtResource("18_ixq7a")
fullscreen_default_hover_texture = ExtResource("12_te176")
[node name="MusicButton" type="TextureButton" parent="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2"]
custom_minimum_size = Vector2(64, 0)
layout_mode = 2
script = ExtResource("14")
music_enabled_texture = ExtResource("6")
music_enabled_hover_texture = ExtResource("13")
music_disabled_texture = ExtResource("16")
music_disabled_hover_texture = ExtResource("15")
[node name="MenuButton" type="TextureButton" parent="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2"]
layout_mode = 2
texture_normal = ExtResource("13_we0hb")
texture_hover = ExtResource("14_parhr")
[node name="Inventory" parent="game_layer/ui_layer" instance=ExtResource("1")]
anchors_preset = 7
anchor_top = 1.0
@@ -165,7 +129,7 @@ pivot_offset = Vector2(845, 116)
[node name="AchievementNotifications" parent="game_layer/ui_layer" instance=ExtResource("18_ssxmx")]
[node name="menu_layer" type="CanvasLayer" parent="."]
layer = 2
layer = 8
[node name="pause_menu" parent="menu_layer" instance=ExtResource("8")]
visible = false
@@ -183,6 +147,55 @@ visible = false
unique_name_in_owner = true
visible = false
[connection signal="button_down" from="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" to="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" method="_on_button_down"]
[connection signal="pressed" from="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/MusicButton" to="." method="_on_MusicButton_pressed"]
[connection signal="pressed" from="game_layer/ui_layer/Tools/MarginContainer/HBoxContainer2/MenuButton" to="." method="_on_MenuButton_pressed"]
[node name="AchievementsMenu" parent="menu_layer" instance=ExtResource("18_j7gr8")]
visible = false
[node name="buttons_layer" type="CanvasLayer" parent="."]
layer = 10
[node name="Tools" type="PanelContainer" parent="buttons_layer"]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -220.0
offset_bottom = 84.0
grow_horizontal = 0
theme = ExtResource("9")
[node name="MarginContainer" type="MarginContainer" parent="buttons_layer/Tools"]
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="buttons_layer/Tools/MarginContainer"]
layout_mode = 2
alignment = 2
[node name="FullScreenButton" type="TextureButton" parent="buttons_layer/Tools/MarginContainer/HBoxContainer2"]
process_mode = 3
layout_mode = 2
texture_normal = ExtResource("18_ixq7a")
texture_hover = ExtResource("12_te176")
script = ExtResource("13_6rlck")
fullscreen_active_texture = ExtResource("14_c6byj")
fullscreen_active_hover_texture = ExtResource("15_j7gr8")
fullscreen_default_texture = ExtResource("18_ixq7a")
fullscreen_default_hover_texture = ExtResource("12_te176")
[node name="MusicButton" type="TextureButton" parent="buttons_layer/Tools/MarginContainer/HBoxContainer2"]
process_mode = 3
custom_minimum_size = Vector2(64, 0)
layout_mode = 2
script = ExtResource("14")
music_enabled_texture = ExtResource("6")
music_enabled_hover_texture = ExtResource("13")
music_disabled_texture = ExtResource("16")
music_disabled_hover_texture = ExtResource("15")
[node name="MenuButton" type="TextureButton" parent="buttons_layer/Tools/MarginContainer/HBoxContainer2"]
process_mode = 3
layout_mode = 2
texture_normal = ExtResource("13_we0hb")
texture_hover = ExtResource("14_parhr")
[connection signal="button_down" from="buttons_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" to="buttons_layer/Tools/MarginContainer/HBoxContainer2/FullScreenButton" method="_on_button_down"]
[connection signal="pressed" from="buttons_layer/Tools/MarginContainer/HBoxContainer2/MusicButton" to="." method="_on_MusicButton_pressed"]
[connection signal="pressed" from="buttons_layer/Tools/MarginContainer/HBoxContainer2/MenuButton" to="." method="_on_MenuButton_pressed"]

View File

@@ -103,9 +103,3 @@ func warm_esc_cache() -> void:
for file in files:
# We need to use the compiler from the escoria singelton for the cache to work.
escoria.esc_compiler.load_esc_file(file)
func toogle_fullscreen():
pass
func set_fullscreen(value: bool):
pass

View File

@@ -26,12 +26,12 @@
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="7.5520836"
inkscape:cx="21.914482"
inkscape:cx="22.046896"
inkscape:cy="41.114481"
inkscape:window-width="1680"
inkscape:window-height="941"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-height="959"
inkscape:window-x="1920"
inkscape:window-y="15"
inkscape:window-maximized="1"
inkscape:current-layer="g1" />
<rect
@@ -48,26 +48,40 @@
style="stroke-width:6.24650214;stroke-dasharray:none">
<g
id="g1">
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.7411847,39.334608 H 24.137035 l -0.05328,18.906603"
id="path1"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 58.258814,39.334609 H 39.862965 l 0.05328,18.906602"
id="path1-3"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.741185,24.665391 H 24.137034 L 24.083754,5.7587889"
id="path2"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 58.258814,24.665391 H 39.862965 l 0.05328,-18.9066019"
id="path3"
sodipodi:nodetypes="ccc" />
<g
id="g5"
transform="matrix(1.3734613,0,0,1.3734613,-11.492178,-13.01245)">
<g
id="g2"
style="stroke-width:4.66977;stroke-dasharray:none"
transform="matrix(0.72808748,0,0,0.72808748,8.7012011,8.7012006)">
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.9734296,19.171545 H 18.643188 L 18.589908,5.7572476"
id="path2-6"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 57.109402,19.171545 H 44.439643 l 0.05328,-13.4142974"
id="path1-7"
sodipodi:nodetypes="ccc" />
</g>
<g
id="g4"
style="stroke-width:4.66977;stroke-dasharray:none"
transform="matrix(0.72808748,0,0,-0.72808748,8.7012011,56.844804)">
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.9734296,19.171545 H 18.643188 L 18.589908,5.7572476"
id="path3-5"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 57.109402,19.171545 H 44.439643 l 0.05328,-13.4142974"
id="path4"
sodipodi:nodetypes="ccc" />
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -25,13 +25,13 @@
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="7.5520836"
inkscape:cx="24.827585"
inkscape:cy="29.859309"
inkscape:zoom="5.3401295"
inkscape:cx="42.040179"
inkscape:cy="14.325495"
inkscape:window-width="1680"
inkscape:window-height="941"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-height="959"
inkscape:window-x="1920"
inkscape:window-y="15"
inkscape:window-maximized="1"
inkscape:current-layer="svg3" />
<rect
@@ -43,28 +43,37 @@
y="0"
ry="11.032078" />
<g
id="g2"
style="stroke-width:6.2465;stroke-dasharray:none"
transform="matrix(0.72808748,0,0,0.72808748,8.7012011,8.7012006)">
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.7411851,39.334609 H 24.137034 l -0.05328,18.906602"
id="path1"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 58.258814,39.334609 H 39.862965 l 0.05328,18.906602"
id="path1-3"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.741185,24.665391 H 24.137034 L 24.083754,5.7587889"
id="path2"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 58.258814,24.665391 H 39.862965 l 0.05328,-18.9066019"
id="path3"
sodipodi:nodetypes="ccc" />
id="g5"
transform="translate(0.33388895,-0.7730023)">
<g
id="g2"
style="stroke-width:4.66977;stroke-dasharray:none"
transform="matrix(0.72808748,0,0,0.72808748,8.7012011,8.7012006)">
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.9734296,19.171545 H 18.643188 L 18.589908,5.7572476"
id="path2"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 57.109402,19.171545 H 44.439643 l 0.05328,-13.4142974"
id="path1"
sodipodi:nodetypes="ccc" />
</g>
<g
id="g4"
style="stroke-width:4.66977;stroke-dasharray:none"
transform="matrix(0.72808748,0,0,-0.72808748,8.7012011,56.844804)">
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 5.9734296,19.171545 H 18.643188 L 18.589908,5.7572476"
id="path3"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:4.66977;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 57.109402,19.171545 H 44.439643 l 0.05328,-13.4142974"
id="path4"
sodipodi:nodetypes="ccc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -26,12 +26,12 @@
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="7.5520836"
inkscape:cx="21.914482"
inkscape:cx="22.046896"
inkscape:cy="41.114481"
inkscape:window-width="1680"
inkscape:window-height="941"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-height="959"
inkscape:window-x="1920"
inkscape:window-y="15"
inkscape:window-maximized="1"
inkscape:current-layer="g3" />
<rect
@@ -47,24 +47,25 @@
transform="matrix(0.72808748,0,0,0.72808748,8.7012004,8.7012005)"
style="stroke-width:6.24650214;stroke-dasharray:none">
<g
id="g1">
id="g1"
style="stroke-width:4.66976853;stroke-dasharray:none">
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 24.145849,58.25 H 5.7499995 l 0.053284,-18.906602"
id="path1"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 39.854151,58.25 H 58.25 L 58.19672,39.343398"
id="path1-3"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 24.145849,5.75 H 5.7499995 l 0.053284,18.906602"
id="path2"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 39.854151,5.75 H 58.25 l -0.05328,18.906602"
id="path3"
sodipodi:nodetypes="ccc" />

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -29,9 +29,9 @@
inkscape:cx="24.827585"
inkscape:cy="29.859309"
inkscape:window-width="1680"
inkscape:window-height="941"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-height="959"
inkscape:window-x="1920"
inkscape:window-y="15"
inkscape:window-maximized="1"
inkscape:current-layer="svg3" />
<rect
@@ -44,25 +44,25 @@
ry="11.032078" />
<g
id="g2"
style="stroke-width:6.2465;stroke-dasharray:none"
style="stroke-width:4.66976853;stroke-dasharray:none"
transform="matrix(0.72808748,0,0,0.72808748,8.7012011,8.7012006)">
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 24.145849,58.25 H 5.7499995 l 0.053284,-18.906602"
id="path1"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 39.854151,58.25 H 58.25 L 58.19672,39.343398"
id="path1-3"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 24.145849,5.75 H 5.7499995 l 0.053284,18.906602"
id="path2"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:6.2465;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#000000;stroke-width:4.66976853;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 39.854151,5.75 H 58.25 l -0.05328,18.906602"
id="path3"
sodipodi:nodetypes="ccc" />

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,14 +1,19 @@
# A simple main menu
extends Control
var save_enabled = ESCProjectSettingsManager.get_setting( RTMIUiSettings.SAVEGAME_ENABLED)
var save_enabled = ESCProjectSettingsManager.get_setting(RTMIUiSettings.SAVEGAME_ENABLED)
# Start the game
func _on_new_game_pressed():
escoria.new_game()
func _ready() -> void:
%Version.text = "v%s %s" % [gymkhana.version.current, "DEGUG" if OS.has_feature("debug") else ""]
if OS.get_name() == "Web":
%quit.visible = false
# Show the load slots
func _on_load_game_pressed():

View File

@@ -88,6 +88,7 @@ script = ExtResource("5_4i6cp")
[node name="quit" type="Button" parent="main/main/buttons"]
custom_minimum_size = Vector2(0, 40)
unique_name_in_owner = true
layout_mode = 2
text = "QUIT"
script = ExtResource("5_4i6cp")

View File

@@ -8,7 +8,8 @@ func _ready():
escoria.game_scene.hide_ui()
hide()
gymkhana.achievement_manager.time_updated.connect(_on_time_updated)
if OS.get_name() == "Web":
%quit.visible = false
# Continue the game
@@ -92,3 +93,7 @@ func _on_time_updated(current_time):
func _on_highscores_button_up() -> void:
escoria.game_scene.show_highscores()
func _on_achievements_pressed() -> void:
escoria.game_scene.show_achievement_summary()

View File

@@ -64,18 +64,6 @@ layout_mode = 2
texture = ExtResource("3")
stretch_mode = 3
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
[node name="CurrentTimeLabel" type="Label" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "CURRENT_PLAYING_TIME"
[node name="CurrentTime" type="Label" parent="VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "1min 20s"
[node name="menuitems" type="VBoxContainer" parent="VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 10
@@ -87,6 +75,12 @@ size_flags_vertical = 3
text = "CONTINUE_GAME"
script = ExtResource("6_31lra")
[node name="achievements" type="Button" parent="VBoxContainer/menuitems"]
layout_mode = 2
text = "ACHIEVEMENTS"
script = ExtResource("6_31lra")
metadata/_custom_type_script = "uid://elqkwjm0r5c7"
[node name="highscores" type="Button" parent="VBoxContainer/menuitems"]
custom_minimum_size = Vector2(0, 40)
layout_mode = 2
@@ -123,6 +117,7 @@ text = "OPTIONS"
script = ExtResource("6_31lra")
[node name="quit" type="Button" parent="VBoxContainer/menuitems"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 30)
layout_mode = 2
size_flags_vertical = 3
@@ -133,6 +128,7 @@ script = ExtResource("6_31lra")
[connection signal="back_button_pressed" from="load_game" to="." method="_on_load_game_back_button_pressed"]
[connection signal="back_button_pressed" from="options" to="." method="_on_options_back_button_pressed"]
[connection signal="pressed" from="VBoxContainer/menuitems/continue" to="." method="_on_continue_pressed"]
[connection signal="pressed" from="VBoxContainer/menuitems/achievements" to="." method="_on_achievements_pressed"]
[connection signal="button_up" from="VBoxContainer/menuitems/highscores" to="." method="_on_highscores_button_up"]
[connection signal="pressed" from="VBoxContainer/menuitems/new_game" to="." method="_on_new_game_pressed"]
[connection signal="pressed" from="VBoxContainer/menuitems/save_game" to="." method="_on_save_game_pressed"]

View File

@@ -1,5 +1,5 @@
extends Resource
class_name RTMIUiSettings
extends Resource
const SETTINGS_ROOT = "escoria/rtmi_ui"

View File

@@ -2,7 +2,6 @@
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3hnbv"]
bg_color = Color(0, 0, 0, 1)
shadow_size = 16
[resource]
MarginContainer/constants/margin_bottom = 8

View File

@@ -1,6 +1,8 @@
class_name UIEscoriaVariable
extends Control
signal double_clicked()
enum {
STRING,
NUMBER,
@@ -45,6 +47,7 @@ func _on_name_gui_input(event: InputEvent) -> void:
_set_copied(true)
DisplayServer.clipboard_set(var_name)
escoria.logger.info(self, "%s copied." % var_name)
double_clicked.emit(var_name)
func _set_copied(value: bool):
_copied = value
@@ -52,4 +55,3 @@ func _set_copied(value: bool):
$Name.add_theme_color_override("font_color", Color.AQUA)
else:
$Name.add_theme_color_override("font_color", Color.WHITE)

8
api.cfg.debug Normal file
View File

@@ -0,0 +1,8 @@
[score_db]
url="https://app.fosil.eu/v1"
project_id="68fff7ac0029558ca82c"
database_id="68fff91900295af283bf"
[score_submit]
url="https://gymkhana.fosil.eu/submit-score"
key="API_KEY_PLACEHOLDER"

View File

@@ -16,6 +16,13 @@ VERSION=`git branch --show-current | sed 's/release\///'`
EXPORT_NAME="LasGymkhanikasDeUli-$VERSION"
EXPORT_DIR="build"
if [ ! -f $PROJECT_PATH/secret/api.cfg ]; then
echo "api.cfg File not found! creating one."
mkdir -p $PROJECT_PATH/secret/
cp $PROJECT_PATH/api.cfg.debug $PROJECT_PATH/secret/api.cfg
sed -i "s/API_KEY_PLACEHOLDER/$APPWRITE_API_KEY/" $PROJECT_PATH/secret/api.cfg
fi
echo "Building $VERSION version"
echo "Release builds"
@@ -30,27 +37,32 @@ PLATFORMS=(
"amd"
"arm"
"web"
"web-multi"
)
declare -A PLATFORM_NAMES
PLATFORM_NAMES["amd"]=$EXPORT_NAME
PLATFORM_NAMES["arm"]=$EXPORT_NAME
PLATFORM_NAMES["web"]="index"
PLATFORM_NAMES["web-multi"]="index"
declare -A PLATFORM_EXTENSIONS
PLATFORM_EXTENSIONS["amd"]=".x86_64.appimage"
PLATFORM_EXTENSIONS["arm"]=".arm_64.appimage"
PLATFORM_EXTENSIONS["web"]=".html"
PLATFORM_EXTENSIONS["web-multi"]=".html"
declare -A PLATFORM_EXPORTS
PLATFORM_EXPORTS["amd"]="Linux"
PLATFORM_EXPORTS["arm"]="LinuxARM"
PLATFORM_EXPORTS["web"]="Web"
PLATFORM_EXPORTS["web-multi"]="WebThread"
declare -A PLATFORM_OVERRIDES
PLATFORM_OVERRIDES["amd"]="debug"
PLATFORM_OVERRIDES["arm"]="debug"
PLATFORM_OVERRIDES["web"]="web"
PLATFORM_OVERRIDES["web-multi"]="web"
CURRENT_EXPORT_DIR=$EXPORT_DIR/release
@@ -70,8 +82,7 @@ for TYPE in "${BUILD_TYPES[@]}"; do
cp $PROJECT_PATH/override.cfg.${PLATFORM_OVERRIDES[$PLATFORM]} $PROJECT_PATH/override.cfg
echo "escoria/main/game_version=\"$VERSION\"" >> $PROJECT_PATH/override.cfg
if [ "$PLATFORM" == "web" ]; then CURRENT_EXPORT_NAME=${PLATFORM_NAMES[$PLATFORM]}; else CURRENT_EXPORT_NAME=$CURRENT_EXPORT_NAME; fi
if [[ "$PLATFORM" == *"web"* ]]; then CURRENT_EXPORT_NAME=${PLATFORM_NAMES[$PLATFORM]}; else CURRENT_EXPORT_NAME=$CURRENT_EXPORT_NAME; fi
godot --headless $STD_OUTPUT --export-$TYPE "${PLATFORM_EXPORTS[$PLATFORM]}" "$CURRENT_EXPORT_DIR/$PLATFORM/$CURRENT_EXPORT_NAME${PLATFORM_EXTENSIONS[$PLATFORM]}"
done
@@ -79,6 +90,12 @@ for TYPE in "${BUILD_TYPES[@]}"; do
tar cfz ../web-$TYPE.tar.gz .
zip ../web-$TYPE.zip *
cd $PROJECT_PATH
cd $CURRENT_EXPORT_DIR/web-multi
tar cfz ../web-multi-$TYPE.tar.gz .
zip ../web-multi-$TYPE.zip *
cd $PROJECT_PATH
done
rm $PROJECT_PATH/override.cfg

View File

@@ -139,3 +139,49 @@ texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/no_bptc_fallbacks=true
[preset.3]
name="WebThread"
platform="Web"
runnable=false
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter="*.esc, *.csv, *.ncsv, *.cfg, *.srt"
exclude_filter="*.xcf, saves/*, scripts/*,vscode-extension-ashes/*"
export_path="build/web-multi/index.html"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.3.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
variant/thread_support=true
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
html/custom_html_shell=""
html/head_include=""
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=true
progressive_web_app/ensure_cross_origin_isolation_headers=true
progressive_web_app/offline_page=""
progressive_web_app/display=0
progressive_web_app/orientation=1
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)
threads/emscripten_pool_size=8
threads/godot_pool_size=4

BIN
gymkhana-logo-itch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

View File

@@ -1,3 +1,6 @@
:ready
global achievement_hambrientas
:action1
say($player, "El cuerno de Uli, la llamada para comer.", "cocina_cuerno_action1_say")
@@ -29,5 +32,8 @@
stop
play_video("res://gymkhana/videos/turno_cocina/cuerno_antes_de_tiempo.ogv")
accept_input("ALL")
if not achievement_hambrientas:
unlock_achievement("hambrientas")
set_global("achievement_hambrientas", true)
stop
say($player, "Si lo toco aquí no me va a oir la gente que esté en la huerta, debería buscar un sitio mejor.","cocina_cuerno_action4_say")

View File

@@ -41,8 +41,3 @@
say($player, "4 patatas medianas", "cocina_libro_de_cocina_action3_3")
say($player, "1 kilo exacto de lentejas", "cocina_libro_de_cocina_action3_4")
say($player, "Una cabeza de ajo.", "cocina_libro_de_cocina_action3_5")
inc_global("turno_cocina_libro_leido_count")
if turno_cocina_libro_leido_count == 4:
set_global("turno_cocina_hint_romero", true)
say($player, "Tambien hay un dibujo de una hierba con la palabra ROMERO.","cocina_libro_de_cocina_action3_romero")
set_global("turno_cocina_libro_leido_count", 0)

View File

@@ -2,12 +2,7 @@
say($player, "Hay muchas hierbas.", "cocina_detras_romero_action1_say")
:action2
if !turno_cocina_hint_romero:
say($player, "No sabría cual coger. ¿Y si alguna es venenosa?", "cocina_detras_romero_action2_unknown_say")
else:
say($player, "¡Esta parece romero, si lo echo a las lentejas estarán bien ricas!", "cocina_detras_romero_action2_known_say")
inventory_add($turno_cocina_romero)
set_active($turno_cocina_romero,false)
say($player, "No sabría cual coger. ¿Y si alguna es venenosa?", "cocina_detras_romero_action2_unknown_say")
:action3
say($player, "Romero, el ingrediente secreto para unas lentejas de rechupete.", "cocina_detras_romero_action3_say")

View File

@@ -1,30 +1,31 @@
[gd_scene load_steps=28 format=3 uid="uid://dowbdjo7ka0sq"]
[gd_scene load_steps=29 format=3 uid="uid://dowbdjo7ka0sq"]
[ext_resource type="Script" path="res://addons/escoria-core/game/core-scripts/esc_room.gd" id="1"]
[ext_resource type="Script" uid="uid://c7fcpp72w3dnj" path="res://addons/escoria-core/game/core-scripts/esc_room.gd" id="1"]
[ext_resource type="PackedScene" uid="uid://cjmsexhyhi4vs" path="res://gymkhana/characters/oier/oier.tscn" id="2"]
[ext_resource type="Texture2D" uid="uid://c8ytapkbj5t4p" path="res://gymkhana/rooms/turno_cocina/cocina/assets/cocina_interior_vista_completa.jpg" id="3_ccj1t"]
[ext_resource type="Script" path="res://addons/escoria-core/game/core-scripts/esc_terrain.gd" id="4"]
[ext_resource type="Script" path="res://addons/escoria-core/game/core-scripts/esc_location.gd" id="5"]
[ext_resource type="Texture2D" uid="uid://ckdiqb7cmmaqb" path="res://gymkhana/rooms/turno_cocina/cocina/assets/cocina_interior_vista_completa.jpg" id="3_ccj1t"]
[ext_resource type="Script" uid="uid://5pbcieq7gpdo" path="res://addons/escoria-core/game/core-scripts/esc_terrain.gd" id="4"]
[ext_resource type="Script" uid="uid://beh3ds4eapldu" path="res://addons/escoria-core/game/core-scripts/esc_location.gd" id="5"]
[ext_resource type="Script" uid="uid://ceym82rf2qnxu" path="res://addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd" id="6"]
[ext_resource type="Texture2D" uid="uid://2mw8y41yha5" path="res://gymkhana/rooms/turno_cocina/cocina/assets/depth.png" id="7"]
[ext_resource type="Texture2D" uid="uid://hfsy8yh5msgu" path="res://gymkhana/rooms/turno_cocina/cocina/assets/foreground-mesa.png" id="8"]
[ext_resource type="Texture2D" uid="uid://p7ou513681ag" path="res://gymkhana/rooms/turno_cocina/cocina/assets/foreground-silla.png" id="9"]
[ext_resource type="Texture2D" uid="uid://crhfjda62540d" path="res://gymkhana/rooms/turno_cocina/cocina/assets/depth.png" id="7"]
[ext_resource type="Texture2D" uid="uid://bss0jcop7w5cx" path="res://gymkhana/rooms/turno_cocina/cocina/assets/foreground-mesa.png" id="8"]
[ext_resource type="Texture2D" uid="uid://bna12h746ucar" path="res://gymkhana/rooms/turno_cocina/cocina/assets/foreground-silla.png" id="9"]
[ext_resource type="PackedScene" uid="uid://cwlq5pqwktbul" path="res://gymkhana/items/turno_cocina_peso.tscn" id="10"]
[ext_resource type="PackedScene" uid="uid://cpeqaymxabewi" path="res://gymkhana/items/turno_cocina_bol.tscn" id="11"]
[ext_resource type="PackedScene" uid="uid://d1ust40cvfjtw" path="res://gymkhana/items/turno_cocina_olla_llena.tscn" id="12"]
[ext_resource type="Texture2D" uid="uid://brspvt17l2bsg" path="res://gymkhana/items/assets/turno_cocina_patata.png" id="13"]
[ext_resource type="Texture2D" uid="uid://djkmw4bj8siok" path="res://gymkhana/items/assets/turno_cocina_patata.png" id="13"]
[ext_resource type="PackedScene" uid="uid://bnf0ylqtnajms" path="res://gymkhana/items/turno_cocina_libro_de_cocina.tscn" id="14"]
[ext_resource type="Texture2D" uid="uid://xv1xya2lcavx" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-apagado.png" id="15"]
[ext_resource type="Texture2D" uid="uid://chy7hyrqi6imp" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-apagado.png" id="15"]
[ext_resource type="Script" uid="uid://db4ghc5f2fhb2" path="res://addons/escoria-ui-return-monkey-island/item_components/esc_item_component_global_observer.gd" id="15_fji2i"]
[ext_resource type="Texture2D" uid="uid://cwopnwjeljhk5" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-encendido3.png" id="16"]
[ext_resource type="Texture2D" uid="uid://5hgjkw372o28" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-encendido1.png" id="17"]
[ext_resource type="Texture2D" uid="uid://dh23qb40apphb" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-encendido2.png" id="18"]
[ext_resource type="Texture2D" uid="uid://bebo52w582216" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-encendido3.png" id="16"]
[ext_resource type="Texture2D" uid="uid://c13mgcko6vbd0" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-encendido1.png" id="17"]
[ext_resource type="Texture2D" uid="uid://da2sep4pylffj" path="res://gymkhana/rooms/turno_cocina/cocina/assets/gas-encendido2.png" id="18"]
[ext_resource type="PackedScene" uid="uid://d7l30s558mvd" path="res://gymkhana/particles/SmokeParticles.tscn" id="19"]
[ext_resource type="PackedScene" uid="uid://igj2f3midaad" path="res://gymkhana/items/turno_cocina_cuerno.tscn" id="20"]
[ext_resource type="Script" uid="uid://uadel3g82io" path="res://gymkhana/items/scripts/turno_cocina_sin_olla_economica_encendida_observer.gd" id="21"]
[ext_resource type="PackedScene" uid="uid://bthshk88n0ida" path="res://gymkhana/rooms/turno_cocina/cocina/jarra.tscn" id="22"]
[ext_resource type="PackedScene" uid="uid://byfyg5p0h02br" path="res://gymkhana/rooms/turno_cocina/cocina/jarra_volcada.tscn" id="25"]
[ext_resource type="Script" uid="uid://oaq45tntm70n" path="res://gymkhana/rooms/turno_cocina/cocina/cocina_gas.gd" id="26"]
[ext_resource type="Script" uid="uid://85bledusisk1" path="res://addons/escoria-core/game/core-scripts/esc_dialog_location.gd" id="26_5b7i4"]
[sub_resource type="NavigationPolygon" id="3"]
vertices = PackedVector2Array(2398, 485, 2442, 499, 2446, 617, 2409, 597, 2283, 493, 144, 568, 3, 570, -56, 524, 111, 445, 162, 471, 229, 445, 200, 465, 252, 478, 305, 524, 273, 570, 2287, 687, 2062, 635, 2113, 565, 696, 737, 512, 591, 703, 699, 1269, 739, 1241, 699, 1502, 646, 1409, 752, 1345, 667, 1489, 627, 1347, 563, 1480, 587, 1466, 514, 1345, 505, 1382, 439, 2109, 424, 2238, 386, 1788, 325, 2018, 419, 1787, 383, 1466, 412, 1493, 479, 1305.5, 467, 1337.5, 449, 1306.5, 498)
@@ -506,6 +507,11 @@ metadata/_custom_type_script = "uid://ceym82rf2qnxu"
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="turno_cocina_bandera_palestina"]
polygon = PackedVector2Array(-49, -28, -48, -12, -48, 11, -48, 21, -25, 22, 2, 24, 32, 24, 47, 23, 50, -27, 14, -27, 2, -27, -9, -28, -28, -28, -47, -29)
[node name="ESCDialogLocation" type="Marker2D" parent="turno_cocina_bandera_palestina"]
position = Vector2(0, 123)
script = ExtResource("26_5b7i4")
metadata/_custom_type_script = "uid://85bledusisk1"
[node name="ESCLocation" type="Marker2D" parent="turno_cocina_bandera_palestina"]
position = Vector2(-136, 274)
script = ExtResource("5")

View File

@@ -2,18 +2,14 @@
global achievement_palestina
:action1
play_palestina_music()
say_to_camera($player, "Mientras un pueblo está sufriendo un genocidio, no existe neutralidad, tienes que decidir de que lado estas.", "turno_cocina_bandera_palestina_action1_say")
say_to_camera($player, "Mientras un pueblo está sufriendo un genocidio, no existe la neutralidad, tienes que decidir de que lado estas.", "turno_cocina_bandera_palestina_action1_say")
:action2
play_palestina_music()
accept_input("SKIP")
say_to_camera($player, "La ocupación del Palestino no empezó el 7 de octubre de 2023 si no con la proclamación del Estado de Israel en 1948.", "turno_cocina_bandera_palestina_action2_say_1")
say_to_camera($player, "Pero desde los ataques del 7 de octubre de 2023, Israel ha llevado a cabo una ofensiva militar que, según Amnistía Internacional y otras organizaciones, reúne los elementos del crimen de genocidio contra la población palestina de Gaza.", "turno_cocina_bandera_palestina_action2_say_2")
walk_block($player, $turno_cocina_bandera_palestina_second, false)
say_to_camera($player, "Las acciones deliberadas asesinatos masivos, desplazamientos forzados, bloqueo del acceso a alimentos, agua y medicinas y la retórica deshumanizadora de las autoridades israelíes demuestran una intención de destruir total o parcialmente al pueblo palestino de Gaza.", "turno_cocina_bandera_palestina_action2_say_3")
say_to_camera($player, "La impunidad de Israel frente a las resoluciones internacionales perpetúa la ocupación, el apartheid y el genocidio contra la población palestina.", "turno_cocina_bandera_palestina_action2_say_4")
accept_input("ALL")
say($turno_cocina_bandera_palestina, "La ocupación de Palestina no empezó el 7 de octubre de 2023 si no con la proclamación del Estado de Israel en 1948.", "turno_cocina_bandera_palestina_action2_say_1")
say($turno_cocina_bandera_palestina, "Desde los ataques del 7 de octubre de 2023, Israel ha llevado a cabo una ofensiva militar que según Amnistía Internacional y otras organizaciones, reúne los elementos del crimen de genocidio contra la población palestina de Gaza.", "turno_cocina_bandera_palestina_action2_say_2")
say($turno_cocina_bandera_palestina, "Las acciones deliberadas asesinatos masivos, desplazamientos forzados, bloqueo del acceso a alimentos, agua y medicinas y la retórica deshumanizadora de las autoridades israelíes demuestran una intención de destruir total o parcialmente al pueblo palestino.", "turno_cocina_bandera_palestina_action2_say_3")
say($turno_cocina_bandera_palestina, "La impunidad de Israel frente a las resoluciones internacionales perpetúa la ocupación, el apartheid y el genocidio contra la población palestina.", "turno_cocina_bandera_palestina_action2_say_4")
if not achievement_palestina:
unlock_achievement("palestina")
set_global("achievement_palestina", true)

View File

@@ -35,7 +35,7 @@
set_active($cocina_fregadero_der, false)
set_active($cocina_puerta_delante, false)
set_active($cocina_puerta_detras, false)
set_active($turno_cocina_cuerno, false)
set_interactive($turno_cocina_cuerno, false)
set_interactive($cocina_patata, false)
set_active($cocina_debajo_sofa, false)
set_active($turno_cocina_jarra, false)
@@ -57,8 +57,8 @@
set_active($cocina_fregadero_der, true)
set_active($cocina_puerta_delante, true)
set_active($cocina_puerta_detras, true)
set_active($turno_cocina_cuerno, true)
set_active($cocina_patata, true)
set_interactive($turno_cocina_cuerno, true)
set_interactive($cocina_patata, true)
set_active($cocina_debajo_sofa, true)
if turno_cocina_mikel_playing:

View File

@@ -51,6 +51,12 @@ func _on_show_credits_button_up() -> void:
. set_trans(Tween.TRANS_SINE)
. connect("finished", _on_summary_hide_finish)
)
(
create_tween()
. tween_property(%Credits, "modulate:a", 0.0, 0.8)
. from(1.0)
. set_trans(Tween.TRANS_SINE)
)
var script = escoria.esc_compiler.load_esc_file(
"res://gymkhana/rooms/turno_cocina/creditos/esc/creditos.esc", "creditos"
)

View File

@@ -1,17 +1,17 @@
[gd_scene load_steps=21 format=3 uid="uid://csb7hwb1v016e"]
[ext_resource type="Script" uid="uid://c7fcpp72w3dnj" path="res://addons/escoria-core/game/core-scripts/esc_room.gd" id="1"]
[ext_resource type="Script" path="res://addons/escoria-core/game/core-scripts/esc_room.gd" id="1"]
[ext_resource type="PackedScene" uid="uid://cjmsexhyhi4vs" path="res://gymkhana/characters/oier/oier.tscn" id="2"]
[ext_resource type="Texture2D" uid="uid://dc7j1xq3x7gwp" path="res://gymkhana/rooms/turno_cocina/creditos/assets/background.png" id="3"]
[ext_resource type="Texture2D" uid="uid://dvofjrubnnone" path="res://gymkhana/rooms/turno_cocina/creditos/assets/background.png" id="3"]
[ext_resource type="PackedScene" uid="uid://fgwob47tewuf" path="res://gymkhana/rooms/turno_cocina/creditos/ScrollingText.tscn" id="4"]
[ext_resource type="PackedScene" uid="uid://bgiskd55j17fc" path="res://gymkhana/rooms/turno_cocina/creditos/EnekoDancing.tscn" id="5"]
[ext_resource type="Texture2D" uid="uid://budal8dqwrifr" path="res://gymkhana/logo-small.png" id="6"]
[ext_resource type="Texture2D" uid="uid://bgfi7t6khinjw" path="res://gymkhana/logo-small.png" id="6"]
[ext_resource type="Script" uid="uid://ib2j5oleakyb" path="res://gymkhana/rooms/turno_cocina/creditos/SceneHandler.gd" id="7"]
[ext_resource type="PackedScene" uid="uid://dg3q322t7b34f" path="res://gymkhana/rooms/turno_cocina/creditos/OierDancing.tscn" id="9"]
[ext_resource type="PackedScene" uid="uid://ch5d4emoxq6t4" path="res://addons/escoria-ui-return-monkey-island/achievements/summary/rtmi_achievement_summary.tscn" id="9_oudlg"]
[ext_resource type="Script" uid="uid://elqkwjm0r5c7" path="res://addons/escoria-ui-return-monkey-island/menus/rtmi_menu_button.gd" id="10_f1tcv"]
[ext_resource type="Script" uid="uid://ceym82rf2qnxu" path="res://addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd" id="11_f1tcv"]
[ext_resource type="Script" uid="uid://85bledusisk1" path="res://addons/escoria-core/game/core-scripts/esc_dialog_location.gd" id="12_ys4o4"]
[ext_resource type="Script" path="res://addons/escoria-core/game/core-scripts/esc_dialog_location.gd" id="12_ys4o4"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ys4o4"]
@@ -88,6 +88,7 @@ unique_name_in_owner = true
layout_mode = 2
[node name="Credits" type="Button" parent="Summary/CenterContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
theme_override_font_sizes/font_size = 10

View File

@@ -11,12 +11,12 @@
set_global("turno_cocina_credits_dancers_visible", true)
accept_input("SKIP")
if turno_cocina_perfect_score:
say($oier_dancing, "Perfect!", "turno_cocina_creditos_perfect_score")
say($eneko_dancing, "Perfect!", "turno_cocina_creditos_perfect_score")
say($oier_dancing, "Perfect!", "turno_cocina_creditos_perfect_score")
say($eneko_dancing, "Perfect!", "turno_cocina_creditos_perfect_score")
say($oier_dancing, "Perfect!", "turno_cocina_creditos_perfect_score")
say($eneko_dancing, "Perfect!", "turno_cocina_creditos_perfect_score")
say($oier_dancing, "Perfect!", "turno_cocina_creditos_perfect_score_oier_1")
say($eneko_dancing, "Perfect!", "turno_cocina_creditos_perfect_score_eneko_1")
say($oier_dancing, "Perfect!", "turno_cocina_creditos_perfect_score_oier_2")
say($eneko_dancing, "Perfect!", "turno_cocina_creditos_perfect_score_eneko_2")
say($oier_dancing, "Perfect!", "turno_cocina_creditos_perfect_score_oier_3")
say($eneko_dancing, "Perfect!", "turno_cocina_creditos_perfect_score_eneko_3")
else:
say($oier_dancing, "Enhorabuena! Guarda tu puntuación, para que todo el mundo la vea.", "turno_cocina_creditos_score_1")
say($eneko_dancing, "Si consigues todos los logros entrarás en la lista de puntuaciones perfectas.", "turno_cocina_creditos_score_2")

Some files were not shown because too many files have changed in this diff Show More