feat(story): el pan que habla

This commit is contained in:
2024-11-02 17:44:05 +01:00
parent d4506ab174
commit b2673e71ac
16 changed files with 208 additions and 63 deletions

View File

@@ -5,7 +5,7 @@ Point-and-click adventure game developed using Escoria framework and Godot engin
## Building from source ## Building from source
1) Clone `gymkhana` repo 1) Clone `gymkhana` repo
2) Clone `escoria-save-game` repo (develop branch) 2) Clone `escoria-demo-game` repo (develop branch)
3) Create `gymkhana/addons/escoria-core` symlink pointing to `escoria-demo-game/addons/escoria-core` 3) Create `gymkhana/addons/escoria-core` symlink pointing to `escoria-demo-game/addons/escoria-core`

View File

@@ -71,6 +71,13 @@ say player "Si vuelves a leer el libro de recetas sabrás la lista con los ingre
say player "Si consigues el ingrediente secreto harás unas lentejas buenísimas y Eneko se pondrá muy contento, pero no es nada fácil." say player "Si consigues el ingrediente secreto harás unas lentejas buenísimas y Eneko se pondrá muy contento, pero no es nada fácil."
say player "Espero que disfrutes el juego y buena suerte!" say player "Espero que disfrutes el juego y buena suerte!"
:pan_mojado_dialog
say player "Se ha caído un poco de agua sobre el pan y está blando."
say eneko_smoking "Está hablando? Y que es lo que dice?"
say eneko_smoking "Ja ja ja!"
say player "... "
play_snd res://gymkhana/sounds/music_loop.ogg _music
:turno_cocina_eneko_catando_end :turno_cocina_eneko_catando_end
set_active cocina_delante_puerta_cocina true set_active cocina_delante_puerta_cocina true
set_active cocina_delante_puerta_despensa true set_active cocina_delante_puerta_despensa true

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=24 format=2] [gd_scene load_steps=28 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/esc_room.gd" type="Script" id=1] [ext_resource path="res://addons/escoria-core/game/core-scripts/esc_room.gd" type="Script" id=1]
[ext_resource path="res://gymkhana/characters/oier/oier.tscn" type="PackedScene" id=2] [ext_resource path="res://gymkhana/characters/oier/oier.tscn" type="PackedScene" id=2]
@@ -21,6 +21,10 @@
[ext_resource path="res://gymkhana/particles/SmokeParticles.tscn" type="PackedScene" id=19] [ext_resource path="res://gymkhana/particles/SmokeParticles.tscn" type="PackedScene" id=19]
[ext_resource path="res://gymkhana/items/inventory/turno_cocina_cuerno.tscn" type="PackedScene" id=20] [ext_resource path="res://gymkhana/items/inventory/turno_cocina_cuerno.tscn" type="PackedScene" id=20]
[ext_resource path="res://gymkhana/items/inventory/scripts/turno_cocina_sin_olla_economica_encendida_observer.gd" type="Script" id=21] [ext_resource path="res://gymkhana/items/inventory/scripts/turno_cocina_sin_olla_economica_encendida_observer.gd" type="Script" id=21]
[ext_resource path="res://gymkhana/rooms/turno_cocina/cocina/jarra.tscn" type="PackedScene" id=22]
[ext_resource path="res://gymkhana/rooms/turno_cocina/cocina/assets/jarra.png" type="Texture" id=23]
[ext_resource path="res://gymkhana/rooms/turno_cocina/cocina/assets/jarra_volcada.png" type="Texture" id=24]
[ext_resource path="res://gymkhana/rooms/turno_cocina/cocina/jarra_volcada.tscn" type="PackedScene" id=25]
[sub_resource type="NavigationPolygon" id=3] [sub_resource type="NavigationPolygon" id=3]
vertices = PoolVector2Array( 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 ) vertices = PoolVector2Array( 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 )
@@ -87,11 +91,10 @@ global_id = "cocina_puerta_detras"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/puerta_detras.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/puerta_detras.esc"
is_exit = true is_exit = true
combine_when_selected_action_is_in = [ ] combine_when_selected_action_is_in = [ ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Ir detrás" "action1": "Ir detrás"
} }
} }
animations = null animations = null
@@ -113,11 +116,10 @@ global_id = "cocina_puerta_delante"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/puerta_delante.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/puerta_delante.esc"
is_exit = true is_exit = true
combine_when_selected_action_is_in = [ ] combine_when_selected_action_is_in = [ ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Salir de la cocina" "action1": "Salir de la cocina"
} }
} }
animations = null animations = null
@@ -155,18 +157,39 @@ polygon = PoolVector2Array( -7.95056, -30.4277, -4.54321, 21.412, -56.79, 37.189
position = Vector2( 198.765, 339.212 ) position = Vector2( 198.765, 339.212 )
script = ExtResource( 5 ) script = ExtResource( 5 )
[node name="turno_cocina_pan" parent="." instance=ExtResource( 11 )]
position = Vector2( 1505, 160 )
scale = Vector2( 0.880435, 0.88735 )
global_id = "cocina_pan"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/pan.esc"
combine_when_selected_action_is_in = [ ]
custom_data = {
"tooltips": {
"action1": "Mirar",
"action2": "Picotear"
}
}
[node name="turno_cocina_pan_collision" type="CollisionPolygon2D" parent="turno_cocina_pan"]
position = Vector2( 590.712, 122.292 )
scale = Vector2( 1.02084, 1.32813 )
polygon = PoolVector2Array( -14.7654, -1.12695, -14.7654, 7.88867, -48.8394, 7.88867, -48.8394, -1.12695 )
[node name="turno_cocina_pan_location" type="Position2D" parent="turno_cocina_pan"]
position = Vector2( 603.111, 223.136 )
script = ExtResource( 5 )
[node name="fregadero_der" type="Area2D" parent="."] [node name="fregadero_der" type="Area2D" parent="."]
pause_mode = 1 pause_mode = 1
script = ExtResource( 6 ) script = ExtResource( 6 )
global_id = "cocina_fregadero_der" global_id = "cocina_fregadero_der"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/fregadero_der.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/fregadero_der.esc"
combine_when_selected_action_is_in = [ ] combine_when_selected_action_is_in = [ ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Mirar fregadero", "action1": "Mirar fregadero",
"action2": "Usar" "action2": "Usar"
} }
} }
action3_target_texts = { action3_target_texts = {
"turno_cocina_olla_vacia": "Llenar la olla de agua" "turno_cocina_olla_vacia": "Llenar la olla de agua"
@@ -187,12 +210,11 @@ script = ExtResource( 6 )
global_id = "cocina_fregadero_izq" global_id = "cocina_fregadero_izq"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/fregadero_izq.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/fregadero_izq.esc"
combine_when_selected_action_is_in = [ "action4" ] combine_when_selected_action_is_in = [ "action4" ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Mirar el fregadero", "action1": "Mirar el fregadero",
"action2": "Usar" "action2": "Usar"
} }
} }
action3_target_texts = { action3_target_texts = {
"turno_cocina_olla_vacia": "Llenar la olla de agua" "turno_cocina_olla_vacia": "Llenar la olla de agua"
@@ -213,12 +235,11 @@ script = ExtResource( 6 )
global_id = "cocina_cuchillos" global_id = "cocina_cuchillos"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/cuchillos.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/cuchillos.esc"
combine_when_selected_action_is_in = [ ] combine_when_selected_action_is_in = [ ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Contar los cuchillos", "action1": "Contar los cuchillos",
"action2": "Coger un buen cuchillo" "action2": "Coger un buen cuchillo"
} }
} }
animations = null animations = null
@@ -236,12 +257,11 @@ script = ExtResource( 6 )
global_id = "cocina_debajo_sofa" global_id = "cocina_debajo_sofa"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/debajo_sofa.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/debajo_sofa.esc"
combine_when_selected_action_is_in = [ "action4" ] combine_when_selected_action_is_in = [ "action4" ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Mirar debajo del sofa", "action1": "Mirar debajo del sofa",
"action2": "Meter la mano" "action2": "Meter la mano"
} }
} }
action3_target_texts = { action3_target_texts = {
"turno_cocina_frontal": "Alumbrar debajo del sofa" "turno_cocina_frontal": "Alumbrar debajo del sofa"
@@ -267,18 +287,24 @@ global_id = "cocina_patata"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/patata.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/patata.esc"
combine_when_selected_action_is_in = [ ] combine_when_selected_action_is_in = [ ]
inventory_texture = ExtResource( 13 ) inventory_texture = ExtResource( 13 )
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"count_textures": [ "count_textures": [ {
{ "start": 1, "texture": "res://gymkhana/items/inventory/assets/turno_cocina_patata.png" }, "start": 1,
{ "start": 2, "texture": "res://gymkhana/items/inventory/assets/turno_cocina_dos_patatas.png" }, "texture": "res://gymkhana/items/inventory/assets/turno_cocina_patata.png"
{ "start": 3, "texture": "res://gymkhana/items/inventory/assets/turno_cocina_tres_patatas.png" }, }, {
{ "start": 4, "texture": "res://gymkhana/items/inventory/assets/turno_cocina_cuatro_patatas.png" }, "start": 2,
], "texture": "res://gymkhana/items/inventory/assets/turno_cocina_dos_patatas.png"
"tooltips": { }, {
"action1": "Admirar la patata", "start": 3,
"action2": "Cogerla" "texture": "res://gymkhana/items/inventory/assets/turno_cocina_tres_patatas.png"
} }, {
"start": 4,
"texture": "res://gymkhana/items/inventory/assets/turno_cocina_cuatro_patatas.png"
} ],
"tooltips": {
"action1": "Admirar la patata",
"action2": "Cogerla"
}
} }
animations = null animations = null
@@ -303,12 +329,11 @@ script = ExtResource( 6 )
global_id = "turno_cocina_economica" global_id = "turno_cocina_economica"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/economica.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/economica.esc"
combine_when_selected_action_is_in = [ ] combine_when_selected_action_is_in = [ ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Mirar", "action1": "Mirar",
"action2": "Usar" "action2": "Usar"
} }
} }
action3_target_texts = { action3_target_texts = {
"turno_cocina_carton": "Meter cartón en la económica", "turno_cocina_carton": "Meter cartón en la económica",
@@ -332,11 +357,11 @@ script = ExtResource( 5 )
position = Vector2( 2547, 244 ) position = Vector2( 2547, 244 )
scale = Vector2( 1.06318, 1.06318 ) scale = Vector2( 1.06318, 1.06318 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Mirar", "action1": "Mirar",
"action2": "Coger", "action2": "Coger",
"action3": "Leer" "action3": "Leer"
} }
} }
[node name="ESCLocation" type="Position2D" parent="turno_cocina_libro_de_cocina"] [node name="ESCLocation" type="Position2D" parent="turno_cocina_libro_de_cocina"]
@@ -353,12 +378,11 @@ script = ExtResource( 6 )
global_id = "turno_cocina_cocina_gas" global_id = "turno_cocina_cocina_gas"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/cocina_gas.esc" esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/cocina_gas.esc"
combine_when_selected_action_is_in = [ ] combine_when_selected_action_is_in = [ ]
dialog_color = Color( 1, 1, 1, 1 )
custom_data = { custom_data = {
"tooltips": { "tooltips": {
"action1": "Mirar", "action1": "Mirar",
"action2": "Encender" "action2": "Encender"
} }
} }
action3_target_texts = { action3_target_texts = {
"turno_cocina_carton": "Prender el cartón", "turno_cocina_carton": "Prender el cartón",
@@ -393,7 +417,6 @@ scale = Vector2( 1.06318, 1.06318 )
[node name="ESCLocation" type="Position2D" parent="turno_cocina_olla_llena"] [node name="ESCLocation" type="Position2D" parent="turno_cocina_olla_llena"]
position = Vector2( -160.838, 201.283 ) position = Vector2( -160.838, 201.283 )
script = ExtResource( 5 ) script = ExtResource( 5 )
interaction_direction = 3
[node name="turno_cocina_cuerno" parent="." instance=ExtResource( 20 )] [node name="turno_cocina_cuerno" parent="." instance=ExtResource( 20 )]
position = Vector2( 2801, 175 ) position = Vector2( 2801, 175 )
@@ -406,3 +429,31 @@ script = ExtResource( 5 )
position = Vector2( 1297, 504 ) position = Vector2( 1297, 504 )
scale = Vector2( 1.07999, 1 ) scale = Vector2( 1.07999, 1 )
script = ExtResource( 21 ) script = ExtResource( 21 )
[node name="turno_cocina_jarra" parent="." instance=ExtResource( 22 )]
position = Vector2( 1974, 236 )
scale = Vector2( 0.880435, 0.88735 )
combine_when_selected_action_is_in = [ ]
inventory_texture = ExtResource( 23 )
[node name="turno_cocina_jarra_collision" type="CollisionPolygon2D" parent="turno_cocina_jarra"]
position = Vector2( 15.9011, -12.3964 )
polygon = PoolVector2Array( -4.54248, 1.12698, -11.3574, 24.793, -27.2595, 24.7929, -27.2595, 1.12694 )
[node name="turno_cocina_jarra_location" type="Position2D" parent="turno_cocina_jarra"]
position = Vector2( -55.6546, 169.043 )
script = ExtResource( 5 )
[node name="turno_cocina_jarra_volcada" parent="." instance=ExtResource( 25 )]
position = Vector2( 1965, 282 )
scale = Vector2( 0.880435, 0.88735 )
combine_when_selected_action_is_in = [ ]
inventory_texture = ExtResource( 24 )
[node name="turno_cocina_jarra_volcada_collision" type="CollisionPolygon2D" parent="turno_cocina_jarra_volcada"]
position = Vector2( 18.1726, -12.3964 )
polygon = PoolVector2Array( -4.54272, 12.3965, -6.81445, 16.9043, -14.7651, 19.1582, -20.4441, 22.539, -29.5305, 20.2851, -29.5305, 9.01559, -17.0366, 2.25391 )
[node name="turno_cocina_jarra_volcada_location" type="Position2D" parent="turno_cocina_jarra_volcada"]
position = Vector2( 45.4321, 92.4099 )
script = ExtResource( 5 )

View File

@@ -15,6 +15,14 @@
> [!turno_cocina_economica_con_olla] > [!turno_cocina_economica_con_olla]
set_active turno_cocina_olla_llena false set_active turno_cocina_olla_llena false
# Disable/enable jarra items depending if bread is wet
> [turno_cocina_pan_mojado]
set_active turno_cocina_jarra false
set_active turno_cocina_jarra_volcada true
> [!turno_cocina_pan_mojado]
set_active turno_cocina_jarra true
set_active turno_cocina_jarra_volcada false
# Position player depending of last scene # Position player depending of last scene
> [eq ESC_LAST_SCENE cocina_detras] > [eq ESC_LAST_SCENE cocina_detras]
teleport player puerta_detras_start teleport player puerta_detras_start

View File

@@ -1,12 +1,10 @@
:action1 :action1
say player "Uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve, diez y once." [!turno_cocina_cuchillo_en_inventario] say player "Uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve, diez y once."
say player "Uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve, diez y once." [turno_cocina_cuchillo_en_inventario] say player "Que raro, sigue habiendo once cuchillos." [i/turno_cocina_cuchillo]
say player "Que raro, sigue habiendo once cuchillos." [turno_cocina_cuchillo_en_inventario]
:action2 :action2
> [turno_cocina_cuchillo_en_inventario] > [i/turno_cocina_cuchillo]
say player "¿Qué puedo hacer con dos cuchillos que no pueda hacer con solo uno?" say player "¿Qué puedo hacer con dos cuchillos que no pueda hacer con solo uno?"
stop stop
say player "Este parece bien afilado." say player "Este parece bien afilado."
set_global turno_cocina_cuchillo_en_inventario true
inventory_add turno_cocina_cuchillo inventory_add turno_cocina_cuchillo

View File

@@ -0,0 +1,14 @@
:action1
say player "Es una jarra de agua en un equilibrio muy precario."
:action2
accept_input SKIP
set_global turno_cocina_pan_mojado true
set_global turno_cocina_pan_mojado_playing true
set_active turno_cocina_jarra false
set_active turno_cocina_jarra_volcada true
stop_snd
play_video res://gymkhana/videos/turno_cocina/oier_moja_el_pan.ogv
say player "Voy a avisarle a Eneko, espero que no me eche la bronca."
walk_block player puerta_delante_start
queue_event cocina_puerta_delante action1

View File

@@ -0,0 +1,5 @@
:action1
say player "Quien habrá puesto la jarra en un equilibrio tan precario? Que insensatez!"
:action2
say player "Mejor no la toco, no quiero volver a liarla."

View File

@@ -0,0 +1,8 @@
:action1
say player "Que buena pinta tiene!" [!turno_cocina_pan_mojado]
say player "El pan sigue mojado, menuda liada." [turno_cocina_pan_mojado]
:action2
say player "ñam ñam" [!turno_cocina_pan_mojado]
say player "Qué rico!" [!turno_cocina_pan_mojado]
say player "Así mojado da un poco de asquito, mejor no." [turno_cocina_pan_mojado]

View File

@@ -0,0 +1,24 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd" type="Script" id=1]
[ext_resource path="res://gymkhana/rooms/turno_cocina/cocina/assets/jarra.png" type="Texture" id=2]
[node name="turno_cocina_jarra" type="Area2D"]
pause_mode = 1
script = ExtResource( 1 )
global_id = "turno_cocina_jarra"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/jarra.esc"
dialog_color = Color( 1, 1, 1, 1 )
custom_data = {
"tooltips": {
"action1": "Mirar",
"action2": "Coger",
}
}
animations = null
[node name="Sprite" type="Sprite" parent="."]
rotation = -0.0698132
scale = Vector2( 0.18, 0.18 )
texture = ExtResource( 2 )

View File

@@ -0,0 +1,24 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd" type="Script" id=1]
[ext_resource path="res://gymkhana/rooms/turno_cocina/cocina/assets/jarra_volcada.png" type="Texture" id=2]
[node name="turno_cocina_jarra_volcada" type="Area2D"]
pause_mode = 1
script = ExtResource( 1 )
global_id = "turno_cocina_jarra_volcada"
esc_script = "res://gymkhana/rooms/turno_cocina/cocina/esc/jarra_volcada.esc"
dialog_color = Color( 1, 1, 1, 1 )
custom_data = {
"tooltips": {
"action1": "Mirar",
"action2": "Poner en su sitio",
}
}
animations = null
[node name="Sprite" type="Sprite" parent="."]
rotation = -0.0698132
scale = Vector2( 0.18, 0.18 )
texture = ExtResource( 2 )

View File

@@ -45,3 +45,9 @@ set_angle player 90
queue_event eneko_smoking intro_dialog2 intro_dialog2_channel true queue_event eneko_smoking intro_dialog2 intro_dialog2_channel true
accept_input ALL accept_input ALL
set_global intro_dialog2_playing false set_global intro_dialog2_playing false
> [turno_cocina_pan_mojado_playing]
walk_block player new_game_start_location
set_angle player 90
queue_event eneko_smoking pan_mojado_dialog pan_mojado_dialog_channel true
accept_input ALL
set_global turno_cocina_pan_mojado_playing false

Binary file not shown.

View File

@@ -846,7 +846,7 @@ _global_script_class_icons={
"ESCItemComponentInventoryChecker": "", "ESCItemComponentInventoryChecker": "",
"ESCItemComponentOutline": "", "ESCItemComponentOutline": "",
"ESCItemCountManager": "", "ESCItemCountManager": "",
"ESCItemWithTooltip": "", "ESCItemWithTooltip": "res://addons/escoria-core/design/esc_item.svg",
"ESCLocation": "res://addons/escoria-core/design/esc_location.svg", "ESCLocation": "res://addons/escoria-core/design/esc_location.svg",
"ESCMain": "", "ESCMain": "",
"ESCMigration": "", "ESCMigration": "",