Repository navigation
Expand file tree
/
Copy pathcontent.json
More file actions
556 lines (523 loc) · 34.9 KB
/
Copy pathcontent.json
File metadata and controls
556 lines (523 loc) · 34.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
{
"Format": "2.0.0",
"Changes": [
// ==========================================================================================
// 1. CARGA DE TEXTURAS (ASSETS)
// ==========================================================================================
{
"Action": "Load",
"Target": "Mods/ProjectJerte/TortaTexture",
"FromFile": "assets/items/torta_casar.png"
},
{
"Action": "Load",
"Target": "Mods/ProjectJerte/MigasTexture",
"FromFile": "assets/items/migas.png"
},
{
"Action" : "Load",
"Target" : "Mods/ProjectJerte/PerrunillaTexture",
"FromFile" : "assets/Items/perrunillas.png"
},
// CARGO LA HOJA DE SPRITES DE ALFIE (128x256) PARA LA MASCOTA
// Esta servirá tanto para el cuerpo como para el icono del menú
{
"Action": "Load",
"Target": "Mods/ProjectJerte/AlfiePetSprite",
"FromFile": "assets/Animals/Alfie/alfie_1.png"
},
// ==========================================================================================
// 6. DEFINICIÓN DE MASCOTA: COBAYA
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/Pets",
"Entries": {
"ProjectJerte.Cobaya": {
"Id": "ProjectJerte.Cobaya",
"DisplayName": "Cobaya",
"DisplayType": "Cobaya",
"BarkSound": "dwop", // Sonido al hacer clic
"ContentSound": "dwop",
"MoveSpeed": 2, // Velocidad al caminar
"Breeds": [
{
"Id": "Alfie",
"Texture": "Mods/ProjectJerte/AlfiePetSprite",
"IconTexture": "Mods/ProjectJerte/AlfiePetSprite",
// CENTRO 16,27 -> Esquina 8,19
"IconSourceRect": { "X": 8, "Y": 19, "Width": 16, "Height": 16 },
"CanBeChosenAtStart": false,
"CanBeAdoptedFromMarnie": true,
"AdoptionPrice": 0
}
],
"Behaviors": [
{
"Id": "Idle",
"Direction": "down",
"RandomizeDirection": true,
"Animation": [ { "Frame": 20, "Duration": 4000 } ], // Frame 20 suele ser sentado
"Duration": 4000,
"TimeoutBehaviorChanges": [ { "Behavior": "Walk", "Weight": 1 } ]
},
{
"Id": "Walk", // Caminar
"WalkInDirection": true,
"MoveSpeed": 2,
"Animation": [
{ "Frame": 0, "Duration": 200 },
{ "Frame": 1, "Duration": 200 },
{ "Frame": 2, "Duration": 200 },
{ "Frame": 3, "Duration": 200 }
],
"Duration": 2000,
"TimeoutBehaviorChanges": [ { "Behavior": "Idle", "Weight": 1 }, { "Behavior": "Sleep", "Weight": 0.2 } ]
},
{
"Id": "Sleep", // Dormir
"Animation": [ { "Frame": 28, "Duration": 10000 } ],
"Duration": 20000,
"TimeoutBehaviorChanges": [ { "Behavior": "Walk", "Weight": 1 } ]
}
]
}
}
},
// ==========================================================================================
// CARTAS Y EVENTOS DE CORREO
// ==========================================================================================
// 1. EL CONTENIDO DE LA CARTA
{
"Action": "EditData",
"Target": "Data/Mail",
"Entries": {
"Miguel_SummerSeeds": "¡Hola @!^Revisando entre las cajas que traje de Indalia, me he encontrado un paquete de semillas de una variedad especial de lúpulo. Estas semillas son bastante complicadas de encontrar y no tengo demasiadas.^El tema es que no tengo espacio en mi parcela para plantarlas (Aún), así que he pensado que la persona más indicada para tenerlas eres tú.^Si las cuidas bien, verás por qué son tan especiales.^Un saludo,^ - Miguel%item object ProjectJerte.SemillaIndalo 5 %%"
}
},
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"Miguel_Give_SummerSeeds": {
"Trigger": "DayStarted",
"Condition": "Season:summer, Friendship:Miguel 250, !Mail:Miguel_SummerSeeds", // Verano + 1 Corazón + No haber recibido la carta antes
"Action": "AddMail Current Miguel_SummerSeeds" // Acción: Enviar la carta
}
}
},
// ==========================================================================================
// 2. OBJETOS
// ==========================================================================================
{
"Action": "Load",
"Target": "Mods/ProjectJerte/ObjetosIndalia",
"FromFile": "assets/items/cerveza_indalia.png"
},
//Si lees esto Julia, espero que te guste
{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
// EL LÚPULO
"ProjectJerte.LupuloIndalo": {
"Name": "Lúpulo de Indalia",
"DisplayName": "Lúpulo de Indalia",
"Description": "Una variedad especial traída del sur. Es la clave de la cerveza favorita de Miguel.",
"Type": "Basic",
"Category": -75,
"Price": 60,
"Texture": "Mods/ProjectJerte/ObjetosIndalia",
"SpriteIndex": 0,
"Edibility": 20
},
// LA SEMILLA
"ProjectJerte.SemillaIndalo": {
"Name": "Semillas de Indalia",
"DisplayName": "Semillas de Lúpulo de Indalia",
"Description": "Plántalas en verano. Tardan 11 días en crecer. Crecen en espaldera.",
"Type": "Seeds",
"Category": -74,
"Price": 60,
"Texture": "Mods/ProjectJerte/ObjetosIndalia",
"SpriteIndex": 1,
"Edibility": -300
},
// LA CERVEZA ALHAMBRA (SpriteIndex 2 - El tercero, que es mi botella)
"ProjectJerte.CervezaAlhambra": {
"Name": "Cerveza Especial",
"DisplayName": "Cerveza Alhambra 1925",
"Description": "Cerveza estilo Alhambra 1925, no te tomes más de dos, no vaya a ser que acabes en el cuarto del alcalde...",
"Type": "Cooking",
"Category": -26,
"Price": 500,
"Texture": "Mods/ProjectJerte/ObjetosIndalia",
"SpriteIndex": 2,
"Edibility": 60,
"IsDrink": true,
"Buffs": [
{
"BuffId": "Tipsy",
"Duration": 360,
"CustomAttributes": {
"LuckLevel": 5,
"Speed": -1
}
}
]
}
}
},
//SEMILLADORA INDALO
{
"Action": "EditData",
"Target": "Data/Machines",
"TargetField": [ "(BC)25", "OutputRules" ],
"Entries": {
"ProjectJerte.Rule_SeedMaker_Indalo": {
"Id": "ProjectJerte.Rule_SeedMaker_Indalo",
"Triggers": [
{
"Id": "Input",
"RequiredItemId": "ProjectJerte.LupuloIndalo",
"Count": 1
}
],
"OutputItem": [
{
"ItemId": "ProjectJerte.SemillaIndalo",
"MinStack": 1, // Mínimo 1 semilla
"MaxStack": 3, // Máximo 3 semillas (random) Esto está guapísimo
"ProcessingTime": 20 // Tarda 20 minutos de juego (instantáneo casi)
}
]
}
}
},
// 3. EL CULTIVO
{
"Action": "EditData",
"Target": "Data/Crops",
"Entries": {
"ProjectJerte.SemillaIndalo": {
"Seasons": [ "summer" ],
"DaysInPhase": [ 1, 2, 2, 3, 3 ],
"RegrowDays": 1,
"IsRaised": true,
"HarvestItemId": "ProjectJerte.LupuloIndalo",
"Texture": "TileSheets\\crops",
"SpriteIndex": 16
}
}
},
// 4. REGLA DEL BARRIL (KEG)
{
"Action": "EditData",
"Target": "Data/Machines",
"TargetField": [ "(BC)12", "OutputRules" ],
"Entries": {
"ProjectJerte.Rule_Alhambra": {
"Id": "ProjectJerte.Rule_Alhambra",
"Triggers": [ { "Id": "Input", "RequiredItemId": "ProjectJerte.LupuloIndalo", "Count": 1 } ],
"OutputItem": [ { "ItemId": "ProjectJerte.CervezaAlhambra", "MinStack": 1, "MaxStack": 1, "ProcessingTime": 2250 } ]
}
}
},
{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"TortaDelCasar": {
"Name": "Torta del Casar",
"DisplayName": "Torta del Casar",
"Description": "Huele que alimenta, a Julia le encanta :).",
"Type": "Cooking",
"Category": -7,
"Price": 450,
"Texture": "Mods/ProjectJerte/TortaTexture",
"SpriteIndex": 0,
"Edibility": 150,
"BuffDuration": 400,
"Buffs": [ { "BuffId": "Defense", "Value": 3 }, { "BuffId": "Luck", "Value": 1 } ]
},
"Migas": {
"Name": "Migas",
"DisplayName": "Migas Extremeñas",
"Description": "Platazo de la cocina de Iberia, gusta en todo el mundo. En Indalia, se hacen cuando llueve",
"Type": "Cooking",
"Category": -7,
"Price": 250,
"Texture": "Mods/ProjectJerte/MigasTexture",
"SpriteIndex": 0,
"Edibility": 100,
"BuffDuration": 360,
"Buffs": [ { "BuffId": "Farming", "Value": 2 }, { "BuffId": "Foraging", "Value": 2 } ]
},
"ProjectJerte.Perrunilla": {
"Name": "Perrunilla",
"DisplayName": "Perrunilla",
"Description": "Dulce tradicional del convento. Hecha con '''almendras''' locales. Se deshace en la boca.",
"Type": "Cooking",
"Category": -7,
"Price": 200,
"Texture": "Mods/ProjectJerte/PerrunillaTexture",
"SpriteIndex": 0, // Es la única imagen del archivo, así que es la 0
"Edibility": 50,
"Buffs": [
{ "BuffId": "Speed", "Value": 1, "Duration": 240 }, // Un subidón de azúcar nunca te viene mal
{ "BuffId": "MaxEnergy", "Value": 30, "Duration": 240 }
]
}
}
},
// ==========================================================================================
// 3. RECETAS
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/CookingRecipes",
"Entries": {
"Torta del Casar": "186 1/f Miguel 3/TortaDelCasar/default/Torta del Casar",
"Migas": "216 1 247 1/f Miguel 5/Migas/default/Migas Extremeñas",
"Perrunilla": "246 1 245 1 309 1/f Miguel 3/ProjectJerte.Perrunilla/default/Perrunilla"
}
},
// ==========================================================================================
// 4. MAPAS Y CONEXIONES
// ==========================================================================================
{ "Action": "Load", "Target": "Maps/MiguelRoom", "FromFile": "assets/Maps/MiguelRoom.tmx" },
{ "Action": "Load", "Target": "Maps/MiguelWoods", "FromFile": "assets/Maps/MiguelWoods.tmx" },
{
"Action": "EditData",
"Target": "Data/Locations",
"Entries": {
"MiguelRoom": { "DisplayName": "Cabaña de Miguel", "Type": "Building", "CreateOnLoad": { "MapPath": "Maps/MiguelRoom" } },
"MiguelWoods": { "DisplayName": "Bosque de Miguel", "Type": "Outdoors", "CreateOnLoad": { "MapPath": "Maps/MiguelWoods" } }
}
},
{ "Action": "EditMap", "Target": "Maps/BusStop", "AddWarps": [ "22 9 MiguelWoods 43 25" ] },
{ "Action": "EditMap", "Target": "Maps/MiguelWoods", "AddWarps": [ "43 24 BusStop 22 10", "48 14 MiguelRoom 6 9" ] },
{ "Action": "EditMap", "Target": "Maps/MiguelRoom", "AddWarps": [ "6 10 MiguelWoods 48 16" ] },
// ==========================================================================================
// MISIONES (QUESTS) -
// ==========================================================================================
// 1. DEFINICIÓN DE LA MISIÓN
{
"Action": "EditData",
"Target": "Data/Quests",
"Entries": {
// CAMBIOS: Pide Iridio (337) y la recompensa sube a 2500g
"ProjectJerte.Quest.Superconductor": "¡¿Espera, de verdad?! ¿De verdad es Iridio puro? Dios, mira cómo brilla... @, con esto puedo hacer de todo. Esto es brutal.$h"
}
},
// ==========================================================================================
// 4. TRIGGERS (DETONADORES DE CARTAS) - CORREGIDO
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"Miguel_Give_SummerSeeds": {
"Id": "Miguel_Give_SummerSeeds", // Cuidado, que no te lo da (Abel, 22/01/26)
"Trigger": "DayStarted",
"Condition": "Season:summer, Friendship:Miguel 250, !Mail:Miguel_SummerSeeds",
"Action": "AddMail Current Miguel_SummerSeeds"
},
"Miguel_Trigger_Quest_Tech": {
"Id": "Miguel_Trigger_Quest_Tech", // El trigger de la quest
"Trigger": "DayStarted",
"Condition": "Friendship:Miguel 750, !Mail:Miguel_Quest_Tech_Mail",
"Action": "AddMail Current Miguel_Quest_Tech_Mail"
}
}
},
// 2. LA CARTA
{
"Action": "EditData",
"Target": "Data/Mail",
"Entries": {
"Miguel_Quest_Tech_Mail": "Hola @,^Estoy trabajando en una mejora experimental para la infraestructura de red del valle, me lo ha encargado un tal 'Señor Kim' o algo así, un tipo muy raro. Aunque ahora que lo pienso, creo que me dijo que no contara nada, espero que no me parta los dedos... En fin, quiero probar una cosa, la teoría es sólida, pero es que lo he intentado con plata y semiconductores dopados, pero no lo consigo, revientan.^Necesito un metal que sea muy denso y resistente al calor, porque si no, el núcleo peta.^Sé que es mucho pedir, pero si encuentras Iridio, me vendría muy muy bien una barra.^ - Miguel%quest ProjectJerte.Quest.Superconductor %%"
}
},
// 3. EL trigger de la quest de iridio
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"Miguel_Trigger_Quest_Tech": {
"Trigger": "DayStarted",
"Condition": "Friendship:Miguel 750, !Mail:Miguel_Quest_Tech_Mail", // 3 Corazones
"Action": "AddMail Current Miguel_Quest_Tech_Mail"
}
}
},
// 4. DIÁLOGO AL ENTREGAR EL IRIDIO
{
"Action": "EditData",
"Target": "Characters/Dialogue/Miguel",
"Entries": {
"ItemDelivery_ProjectJerte.Quest.Superconductor": "¡¿Espera, de verdad?! ¿De verdad es Iridio puro? Dios, mira cómo brilla... @, con esto puedo hacer de todo. Esto es brutal.$h"
}
},
// ==========================================================================================
// 5. MENSAJES DEL MAPA (Mis textos sagrados)
// ==========================================================================================
{
"Action": "EditMap",
"Target": "Maps/MiguelRoom",
"MapTiles": [
{ "Position": { "X": 1, "Y": 5 }, "Layer": "Buildings", "SetProperties": { "Action": "Message telescopioMiguel" } },
{ "Position": { "X": 1, "Y": 6 }, "Layer": "Buildings", "SetProperties": { "Action": "Message robotIA_1" } },
{ "Position": { "X": 2, "Y": 4 }, "Layer": "Buildings", "SetProperties": { "Action": "Message miguel_estante1" } },
{ "Position": { "X": 2, "Y": 3 }, "Layer": "Buildings", "SetProperties": { "Action": "Message miguel_estante1" } },
{ "Position": { "X": 3, "Y": 4 }, "Layer": "Buildings", "SetProperties": { "Action": "Message estante2" } },
{ "Position": { "X": 3, "Y": 3 }, "Layer": "Buildings", "SetProperties": { "Action": "Message estante2" } },
{ "Position": { "X": 4, "Y": 4 }, "Layer": "Buildings", "SetProperties": { "Action": "Message estante3" } },
{ "Position": { "X": 4, "Y": 3 }, "Layer": "Buildings", "SetProperties": { "Action": "Message estante3" } },
{ "Position": { "X": 5, "Y": 4 }, "Layer": "Buildings", "SetProperties": { "Action": "Message ordenadorFrecuencias" } },
{ "Position": { "X": 6, "Y": 4 }, "Layer": "Buildings", "SetProperties": { "Action": "Message ordenadorFrecuencias" } },
{ "Position": { "X": 6, "Y": 3 }, "Layer": "Buildings", "SetProperties": { "Action": "Message ordenadorFrecuencias" } },
{ "Position": { "X": 5, "Y": 3 }, "Layer": "Buildings", "SetProperties": { "Action": "Message ordenadorFrecuencias" } },
{ "Position": { "X": 2, "Y": 8 }, "Layer": "Buildings", "SetProperties": { "Action": "Message ordenadorMiguel" } },
{ "Position": { "X": 7, "Y": 6 }, "Layer": "Buildings", "SetProperties": { "Action": "Message jaulaAlvin" } },
{ "Position": { "X": 8, "Y": 6 }, "Layer": "Buildings", "SetProperties": { "Action": "Message jaulaAlvin" } },
{ "Position": { "X": 4, "Y": 8 }, "Layer": "Buildings", "SetProperties": { "Action": "Letter Miguel_mujer_cactus" } }
]
},
{
"Action": "EditData",
"Target": "Strings/StringsFromMaps",
"Entries": {
"Miguel_mujer_cactus": "Borrador: Ella respondió que era inexpugnable, hiriente con la gente que quería estar cerca.^Él le comentó que no había que preocuparse, ya que no quería estar cerca, sino dentro y plantarse...^^Si ella era la esp..a ..... .......... ^ Ese gl.o ......................^pi.s d.l t.ies.o s..ar..a ....... taron.. .v.sar ... ... ...... ............ .... e.la n. era .an m.la ni él t.. .ob. , tan s.lo la m..e. c..tus y .l ..m.re gl..o",
"robotIA_1": "Es el prototipo 'Hansel Mk1'.#Le faltan las baterías y tiene una pegatina en la frente: 'Te vas a poner a discutirle sobre filosofía a la madre que te parió'.",
"telescopioMiguel": "Está apuntando hacia la ventana de Maru... No, espera.#Está apuntando a la constelación de Andrómeda. Hay anotaciones sobre coordenadas estelares, además de una imagen de la serie 'Érase una vez, el espacio'.",
"miguel_estante1": "Crítica a la razón pura, de Immanuel Kant, detrás hay libros de Dostoyevski y sobre todo, de Spinoza.#Entre ellos hay un libro de... ¿Pokémon?: 'Por qué la cuarta generación es la mejor de todas, por Knekro'... ¿Quién es Knekro?",
"estante2": "Está llena de componentes electrónicos y cables enredados... ¿Eso es un cuchillo?.",
"estante3": "Libros de historia moderna y logística, te llama la atención un libro titulado 'Por qué es importante regar el cemento' de 2002.",
"ordenadorFrecuencias": "La pantalla muestra ondas de radio en tiempo real.#Está escaneando frecuencias locales. Hay un post-it: '¿Por qué el osciloscopio va peor cuando llueve? Preguntar a J...a'.",
"jaulaAlvin": "Aquí vive Alvin, la cobaya de Miguel.#Está royendo una figura de madera vieja de un bombardero alemán. Parece feliz.#En el cartel pone: 'No le pongas el dedo, por el amor de dios'.",
"ordenadorMiguel": "El salvapantallas es una lluvia de código verde.#Hay una pestaña del navegador abierta: 'Final de la Copa Mundial de Tetris, 2023'#Este tío está de la olla..."
}
},
{
"Action": "EditData",
"Target": "Data/Mail",
"Entries": {
"Miguel_mujer_cactus": "Borrador: Ella respondió que era inexpugnable, hiriente con la gente que quería estar cerca.^Él le comentó que no había que preocuparse, ya que no quería estar cerca, sino dentro y plantarse...^^...... taron.. .v.sar ... ... ...... ............ ......... .an m.la ni él t.. .ob. , tan s.lo la m..e. c..tus y .l ..m.re gl..o"
}
},
// ==========================================================================================
// 1. GUSTOS Y REACCIONES (Formato estricto para la 1.6 : 10 campos)
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/NPCGiftTastes",
"Entries": {
// FORMATO EXACTO:
// 0: Diálogo AMAR / 1: Items AMAR / 2: Items GUSTAR / 3: Items DISGUSTAR / 4: Items ODIAR / 5: Items NEUTRAL
// 6: Diálogo GUSTAR / 7: Diálogo DISGUSTAR / 8: Diálogo ODIAR / 9: Diálogo NEUTRAL
"Miguel": "¡Bua! ¿En serio? ¡Justo lo que necesitaba!$h#$b#Me conoces demasiado bien, @. Muchísimas gracias.$h/ProjectJerte.CervezaAlhambra ProjectJerte.LupuloIndalo TortaDelCasar Migas 395 253 787/-2 -7 -26 -75 -79 -80 -81/ /167 168 169 170 171 172/ /¡Anda! Muchas gracias. Tiene muy buena pinta.$h/¿Esto? Bueno... gracias por la intención./¿Eh? ¿Esto...?#$b#Perdona, pero no sé muy bien qué hacer con esto. Gracias por la intención, supongo./Gracias."
}
},
// ==========================================================================================
// 2. DIÁLOGO DE CUMPLEAÑOS (Se pone aquí, no en GiftTastes, rarete)
// ==========================================================================================
{
"Action": "EditData",
"Target": "Characters/Dialogue/Miguel",
"Entries": {
// El juego busca automáticamente la clave "BirthdayGift" cuando le doy un regalo en su cumple.
"BirthdayGift": "¡Anda! ¿Te has acordado de mi cumple?$h#$b#Normalmente se me olvida hasta a mí entre tanto código. Eres increíble, me alegro de tenerte a mi lado @.$h"
}
},
// ==========================================================================================
// 11. ANIMACIONES PERSONALIZADAS
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/animationDescriptions",
"Entries": {
"Miguel_Typing": "4 100 5 100 6 100 7 100/true"
}
},
// ==========================================================================================
// 6. NPC MIGUEL (DATOS Y GUSTOS)
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/Characters",
"Entries": {
"Miguel": {
"Name": "Miguel",
"DisplayName": "Miguel",
"Age": "Adult",
"Manner": "Polite",
"SocialAnxiety": "Outgoing",
"Optimism": "Positive",
"Gender": "Male",
"Datable": true,
"LoveInterest": null,
"HomeRegion": "Town",
"BirthSeason": "Summer",
"BirthDay": 10,
"FriendsAndFamily": { "Gus": "cousin" },
"DefaultMap": "MiguelRoom",
"DefaultPosition": "3 5"
}
}
},
{ "Action": "Load", "Target": "Portraits/Miguel", "FromFile": "assets/Characters/Miguel/miguel_portrait_neutro.png" },
{ "Action": "Load", "Target": "Characters/Miguel", "FromFile": "assets/Characters/Miguel/miguel_sprite.png" },
{
"Action": "EditData",
"Target": "Data/NPCGiftTastes",
"Entries": {
// FORMATO: Dialogo Love / Items Love / Items Like / Items Dislike / Items Hate / Items Neutral / Reaccion Love / Reaccion Like / Reaccion Dislike / Reaccion Hate / Reaccion Neutral
// Items Like incluye: -2 (Minerales), -7 (Cocina), -26 (Artesanos), -75 (Verduras), -79 (Frutas), -80 (Flores), -81 (Recoleccion)
"Miguel": "¡Bua! ¿En serio? ¡Justo lo que necesitaba!#$b#Me conoces demasiado bien, @. Muchísimas gracias./395 253 787 TortaDelCasar Migas/-2 -7 -26 -75 -79 -80 -81/ /167 168 169 170 171 172/ /¡Qué pasada! ¿Esto es para mí?#$b#Me encanta, de verdad. Son las pequeñas cosas las que me alegran el día. ¡Gracias!/¡Anda! Muchas gracias. Tiene muy buena pinta./¿Esto? Bueno... gracias por la intención./¿Eh? ¿Esto...?#$b#Perdona, pero no sé muy bien qué hacer con esto. Gracias por la intención, supongo./Gracias./¡Anda! ¿Te has acordado de mi cumple?#$b#Normalmente se me olvida hasta a mí. Eres increíble, me alegro de tenerte a mi lado @."
}
},
{ "Action": "Load", "Target": "Characters/Dialogue/Miguel", "FromFile": "assets/Characters/Miguel/dialogue.json" },
{ "Action": "Load", "Target": "Characters/Schedules/Miguel", "FromFile": "assets/Characters/Miguel/schedule.json" },
// ==========================================================================================
// 7. EVENTO: EL REGALO (Redirige a Marnie)
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"99112233/f Miguel 500/t 600 1000/w sunny": "none/-1000 -1000/farmer 64 15 3 Miguel 64 16 0/skippable/pause 1000/speak Miguel \"¡Hola, @!^¿Qué tal estás?.\"/pause 400/speak Miguel \"Ya conoces a Alvin, mi cobaya, ¿verdad? Pues bueno, resulta que ahora tiene un hermanito.\"/speak Miguel \"Ya no tengo espacio en mi habitación con Alvin corriendo por ahí, así que he pensado que quizá te gustaría a ti tenerlo.\" #$b#He pensado que quizás Alfie estaría mejor contigo./pause 500/emote Miguel 20/speak Miguel \"¡Genial! Sabía que os llevarais bien.\"/playSound dwop/emote Miguel 20/speak Miguel \"¡Cuídalo mucho! Le encantan las zanahorias.\"/pause 500/speak Miguel \"Lo he dejado con Marnie, le está poniendo unas vacunas, espero que no se ponga nervioso... Pásate por su tienda y podrás recogerlo gratis, ya está todo el papeleo hecho.\"/move Miguel 0 1 3/end"
}
},
// ==========================================================================================
// 10. EVENTO 4 CORAZONES: "EL GLITCH" (Saloon)
// ==========================================================================================
{
"Action": "EditData",
"Target": "Data/Events/Saloon",
"Entries": {
// ID 99112255 / 4 Corazones / Viernes (días 5,12,19,26) / Tarde / Abigail, Sam, Seb presentes
"99112255/f Miguel 1000/d Fri/t 1700 2200": "content/30 20/farmer 23 19 1 Miguel 19 21 1 Gus 10 18 1 Sam 32 19 3 Sebastian 31 19 3 Abigail 33 20 0/skippable/pause 1000/speak Sam \"¡Vamos, vamos! ¡Cúbreme por la izquierda!\"/speak Abigail \"¡Estoy en ello! ¡Sebastian, eres un manco!\"/pause 500/playSound arcade_game_over/pause 500/speak Sebastian \"...Se ha quedado pillado.\"/emote Sam 28/speak Sam \"¡¿Qué?! ¡No! ¡Estábamos a punto de batir el récord!\"/move farmer 7 0 1/speak Abigail \"Genial. Pantallazo azul. Gus va a tardar semanas en llamar al técnico.\"/move Miguel 10 0 1/speak Miguel \"Perdonad... ¿puedo echar un vistazo?\"/faceDirection Sebastian 3/speak Sebastian \"Oh, hola Miguel. Se ha frito la placa, creo.\"/speak Miguel \"Mmm... no huele a quemado.\"/move Miguel 3 -1 1/pause 500/animate Miguel false true 200 20 21 22/playSound clank/pause 400/playSound clank/speak Miguel \"Ah, vale, sé lo que es, es un desbordamiento. Pasa mucho en estos modelos de los 90.\"/pause 500/stopAnimation Miguel/playSound arcade_game_over/speak Miguel \"Creo que con un puentecillo tonto...\"/pause 1000/playSound reward/emote Sam 16/speak Sam \"¡Funciona! ¡ESTÁ VIVOO!\"/faceDirection Miguel 2/speak Miguel \"Listo. Y de paso os he desbloqueado el modo debug. Ahora tenéis vidas infinitas si pulsáis los dos botones a la vez.\"/emote Abigail 20/speak Abigail \"Vale, eso ha estado muy muy chulo.\"/speak Sebastian \"Nada mal para alguien que trabaja en 'Indalia', eso es todo desierto.\"/speak Miguel \"El código es código, da igual si es para una multinacional o para matar orcos.\"/speak Gus \"¡Miguel! ¡Deja de hackear mis máquinas o te cobro las birras desgraciado!\"/emote Miguel 40/speak Miguel \"¡Era una mejora de software, primo!\"/end"
}
},
// EVENTO 9: INTRODUCCIÓN (BUS STOP - VERSIÓN FINAL)
{
"Action": "EditData",
"Target": "Data/Events/BusStop",
"Entries": {
"99112244/f Miguel 0/t 600 1600/w sunny": "none/22 10/farmer 23 17 0 Miguel 22 10 0 Gus 21 10 0/skippable/pause 1000/speak Miguel \"...entonces si redirijo el flujo de datos por el nodo auxiliar...\"/pause 500/speak Gus \"Miguel, ¿estás seguro de que esto es seguro? No quiero que el autobús acabe en una cuneta...\"/emote Miguel 12/speak Miguel \"¡Tranquilo, Gus! Es solo un bypass del protocolo de enlace.\"/move farmer 0 -4 0 -1 0 0/emote Gus 16/faceDirection Gus 2/speak Gus \"Vaya friki... ¡Ah! ¡Mira quién viene!\"/pause 400/faceDirection Miguel 2/speak Gus \"@, qué alegría verte. Te presento a mi primo, Miguel. Acaba de mudarse al valle.\"/move Miguel 0 1 2/speak Miguel \"Hola! Soy Miguel, trabajo para una empresa de Indalia en remoto, me he venido a vivir al valle con Gus, no me termina de gustar el ajetreo de la ciudad.\"/pause 400/speak Miguel \"Ahora vivo en una pequeña cabaña en el bosque, al oeste del pueblo. Aunque no mando bombas a universidades ni nada de eso como Kazcynsky.\"/emote Gus 16/shake Gus 500/speak Gus \"¡Miguel! ¡Por favor!\"/speak Miguel \"Solo aclaraba... El caso es que el camino es un infierno de zarzas, así que he convencido a Lewis para que me deje instalar un aparatito que he hecho en vuestro bus.^ Ahora el bus tiene un piloto automático, si te subes sin darle al ordenador ese de la izquierda, te lleva derechita hasta la cabaña.\"/speak Gus \"Tan solo, ten cuidado...\"/emote Miguel 20/speak Miguel \"No prometo nada. En fin, @, el sistema ya debería ir bien. Si te aburres, pásate por allí. La verdad que la cabaña ha quedado bien, Robin vale su peso en oro.\"/end"
}
},
// ==========================================================================================
// 8. FESTIVALES
// ==========================================================================================
{ "Action": "EditData", "Target": "Data/Festivals/spring13", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 19 63 2" } ] },
{ "Action": "EditData", "Target": "Data/Festivals/spring24", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 4 36 1" } ] },
{ "Action": "EditData", "Target": "Data/Festivals/summer11", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 27 14 1" } ] },
{ "Action": "EditData", "Target": "Data/Festivals/summer28", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 25 36 2" } ] },
{ "Action": "EditData", "Target": "Data/Festivals/fall16", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 38 89 2" } ] },
{ "Action": "EditData", "Target": "Data/Festivals/fall27", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 26 68 0" } ] },
{ "Action": "EditData", "Target": "Data/Festivals/winter8", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 74 27 1" } ] },
{ "Action": "EditData", "Target": "Data/Festivals/winter25", "TextOperations": [ { "Operation": "Append", "Target": ["Entries", "set-up"], "Value": " Miguel 13 63 1" } ] }
]
}