lamets fix, bagge dialogue and VO

This commit is contained in:
2025-10-17 10:27:14 +02:00
parent 9bf7ab7489
commit 147c9c4312
8 changed files with 869 additions and 649 deletions

View File

@@ -4483,11 +4483,11 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Actor
value: 6
value: 1
type: 5
typeString: CustomFieldType_Actor
- title: Conversant
value: 1
value: 10
type: 5
typeString: CustomFieldType_Actor
- title: Menu Text
@@ -4495,7 +4495,8 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Dialogue Text
value: O, Vascilean, prince of the light... Why have you abandoned your people?
value: Finally, a living man! I'm in search of Lady Sidranna, do you know
her whereabouts?
type: 0
typeString: CustomFieldType_Text
- title: Parenthetical
@@ -5130,8 +5131,8 @@ MonoBehaviour:
y: 725.09894
width: 160
height: 30
canvasScrollPosition: {x: 17.113075, y: 72.33954}
canvasZoom: 1.0600001
canvasScrollPosition: {x: 21.885109, y: 0}
canvasZoom: 1.0300001
- id: 10
fields:
- title: Title
@@ -24122,13 +24123,13 @@ MonoBehaviour:
- originConversationID: 96
originDialogueID: 0
destinationConversationID: 96
destinationDialogueID: 1
destinationDialogueID: 7
isConnector: 0
priority: 2
- originConversationID: 96
originDialogueID: 0
destinationConversationID: 96
destinationDialogueID: 7
destinationDialogueID: 10
isConnector: 0
priority: 2
conditionsString:
@@ -24186,7 +24187,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Beggar_n_1)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24204,81 +24205,6 @@ MonoBehaviour:
- originConversationID: 96
originDialogueID: 1
destinationConversationID: 96
destinationDialogueID: 2
isConnector: 0
priority: 2
conditionsString: Variable["CH02HerbalistSpoke"] == false
userScript:
onExecute:
m_PersistentCalls:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 87
width: 160
height: 30
- id: 2
fields:
- title: Title
value:
type: 0
typeString: CustomFieldType_Text
- title: Pictures
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Description
value:
type: 0
typeString: CustomFieldType_Text
- title: Actor
value: 1
type: 5
typeString: CustomFieldType_Actor
- title: Conversant
value: 10
type: 5
typeString: CustomFieldType_Actor
- title: Menu Text
value:
type: 0
typeString: CustomFieldType_Text
- title: Dialogue Text
value: Hail, old man.
type: 0
typeString: CustomFieldType_Text
- title: Parenthetical
value:
type: 0
typeString: CustomFieldType_Text
- title: Audio Files
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Video File
value:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
type: 0
typeString: CustomFieldType_Text
- title: pl
value:
type: 4
typeString: CustomFieldType_Localization
conversationID: 96
isRoot: 0
isGroup: 0
nodeColor:
delaySimStatus: 0
falseConditionAction: Block
conditionPriority: 2
outgoingLinks:
- originConversationID: 96
originDialogueID: 2
destinationConversationID: 96
destinationDialogueID: 3
isConnector: 0
priority: 2
@@ -24289,8 +24215,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 130
x: 22
y: 216
width: 160
height: 30
- id: 3
@@ -24337,7 +24263,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Beggar_n_2)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24365,8 +24291,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 180
x: 22
y: 355
width: 160
height: 30
- id: 4
@@ -24412,7 +24338,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Wonderer_n_1)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24440,8 +24366,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 230
x: 22
y: 405
width: 160
height: 30
- id: 5
@@ -24487,7 +24413,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Beggar_n_3)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24515,8 +24441,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 280
x: 22
y: 455
width: 160
height: 30
- id: 6
@@ -24562,7 +24488,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Wonderer_n_2)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24572,7 +24498,7 @@ MonoBehaviour:
- title: EventGuid
value:
type: 0
typeString:
typeString: CustomFieldType_Text
conversationID: 96
isRoot: 0
isGroup: 0
@@ -24588,8 +24514,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 330
x: 22
y: 505
width: 160
height: 30
- id: 7
@@ -24813,6 +24739,82 @@ MonoBehaviour:
y: 182
width: 160
height: 30
- id: 10
fields:
- title: Title
value:
type: 0
typeString: CustomFieldType_Text
- title: Pictures
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Description
value:
type: 0
typeString: CustomFieldType_Text
- title: Actor
value: 1
type: 5
typeString: CustomFieldType_Actor
- title: Conversant
value: 2
type: 5
typeString: CustomFieldType_Actor
- title: Menu Text
value:
type: 0
typeString: CustomFieldType_Text
- title: Dialogue Text
value: Finally, a living man! I'm in search of Lady Sidranna, do you know
her whereabouts?
type: 0
typeString: CustomFieldType_Text
- title: Parenthetical
value:
type: 0
typeString: CustomFieldType_Text
- title: Audio Files
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Video File
value:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Wonderer_n_0)
type: 0
typeString: CustomFieldType_Text
- title: pl
value:
type: 4
typeString: CustomFieldType_Localization
conversationID: 96
isRoot: 0
isGroup: 0
nodeColor:
delaySimStatus: 0
falseConditionAction: Block
conditionPriority: 2
outgoingLinks:
- originConversationID: 96
originDialogueID: 10
destinationConversationID: 96
destinationDialogueID: 1
isConnector: 0
priority: 2
conditionsString: Variable["CH02HerbalistSpoke"] == false
userScript:
onExecute:
m_PersistentCalls:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 25
y: 101
width: 160
height: 30
canvasScrollPosition: {x: 0, y: 0}
canvasZoom: 1
- id: 97

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 15674542c65ddbc49aad8085fa57b1dc
guid: 3c84b775d4f6240b185527d49e09404f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@@ -24123,13 +24123,13 @@ MonoBehaviour:
- originConversationID: 96
originDialogueID: 0
destinationConversationID: 96
destinationDialogueID: 1
destinationDialogueID: 7
isConnector: 0
priority: 2
- originConversationID: 96
originDialogueID: 0
destinationConversationID: 96
destinationDialogueID: 7
destinationDialogueID: 10
isConnector: 0
priority: 2
conditionsString:
@@ -24187,7 +24187,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Beggar_n_1)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24205,81 +24205,6 @@ MonoBehaviour:
- originConversationID: 96
originDialogueID: 1
destinationConversationID: 96
destinationDialogueID: 2
isConnector: 0
priority: 2
conditionsString: Variable["CH02HerbalistSpoke"] == false
userScript:
onExecute:
m_PersistentCalls:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 87
width: 160
height: 30
- id: 2
fields:
- title: Title
value:
type: 0
typeString: CustomFieldType_Text
- title: Pictures
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Description
value:
type: 0
typeString: CustomFieldType_Text
- title: Actor
value: 1
type: 5
typeString: CustomFieldType_Actor
- title: Conversant
value: 10
type: 5
typeString: CustomFieldType_Actor
- title: Menu Text
value:
type: 0
typeString: CustomFieldType_Text
- title: Dialogue Text
value: Hail, old man.
type: 0
typeString: CustomFieldType_Text
- title: Parenthetical
value:
type: 0
typeString: CustomFieldType_Text
- title: Audio Files
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Video File
value:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
type: 0
typeString: CustomFieldType_Text
- title: pl
value:
type: 4
typeString: CustomFieldType_Localization
conversationID: 96
isRoot: 0
isGroup: 0
nodeColor:
delaySimStatus: 0
falseConditionAction: Block
conditionPriority: 2
outgoingLinks:
- originConversationID: 96
originDialogueID: 2
destinationConversationID: 96
destinationDialogueID: 3
isConnector: 0
priority: 2
@@ -24290,8 +24215,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 130
x: 22
y: 216
width: 160
height: 30
- id: 3
@@ -24338,7 +24263,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Beggar_n_2)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24366,8 +24291,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 180
x: 22
y: 355
width: 160
height: 30
- id: 4
@@ -24413,7 +24338,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Wonderer_n_1)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24441,8 +24366,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 230
x: 22
y: 405
width: 160
height: 30
- id: 5
@@ -24488,7 +24413,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Beggar_n_3)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24516,8 +24441,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 280
x: 22
y: 455
width: 160
height: 30
- id: 6
@@ -24563,7 +24488,7 @@ MonoBehaviour:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value:
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Wonderer_n_2)
type: 0
typeString: CustomFieldType_Text
- title: pl
@@ -24573,7 +24498,7 @@ MonoBehaviour:
- title: EventGuid
value:
type: 0
typeString:
typeString: CustomFieldType_Text
conversationID: 96
isRoot: 0
isGroup: 0
@@ -24589,8 +24514,8 @@ MonoBehaviour:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 19
y: 330
x: 22
y: 505
width: 160
height: 30
- id: 7
@@ -24814,6 +24739,82 @@ MonoBehaviour:
y: 182
width: 160
height: 30
- id: 10
fields:
- title: Title
value:
type: 0
typeString: CustomFieldType_Text
- title: Pictures
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Description
value:
type: 0
typeString: CustomFieldType_Text
- title: Actor
value: 1
type: 5
typeString: CustomFieldType_Actor
- title: Conversant
value: 2
type: 5
typeString: CustomFieldType_Actor
- title: Menu Text
value:
type: 0
typeString: CustomFieldType_Text
- title: Dialogue Text
value: Finally, a living man! I'm in search of Lady Sidranna, do you know
her whereabouts?
type: 0
typeString: CustomFieldType_Text
- title: Parenthetical
value:
type: 0
typeString: CustomFieldType_Text
- title: Audio Files
value: '[]'
type: 3
typeString: CustomFieldType_Files
- title: Video File
value:
type: 0
typeString: CustomFieldType_Text
- title: Sequence
value: AudioWait(Dialogues/TimeToEscape Beggar Dialogue/New_Story/Q3_Wonderer_n_0)
type: 0
typeString: CustomFieldType_Text
- title: pl
value:
type: 4
typeString: CustomFieldType_Localization
conversationID: 96
isRoot: 0
isGroup: 0
nodeColor:
delaySimStatus: 0
falseConditionAction: Block
conditionPriority: 2
outgoingLinks:
- originConversationID: 96
originDialogueID: 10
destinationConversationID: 96
destinationDialogueID: 1
isConnector: 0
priority: 2
conditionsString: Variable["CH02HerbalistSpoke"] == false
userScript:
onExecute:
m_PersistentCalls:
m_Calls: []
canvasRect:
serializedVersion: 2
x: 25
y: 101
width: 160
height: 30
canvasScrollPosition: {x: 0, y: 0}
canvasZoom: 1
- id: 97

File diff suppressed because it is too large Load Diff

View File

@@ -13676,42 +13676,42 @@ PrefabInstance:
- target: {fileID: 564995907207171390, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 564995907207171390, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 564995907207171390, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 210
objectReference: {fileID: 0}
- target: {fileID: 564995907207171390, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -135
objectReference: {fileID: 0}
- target: {fileID: 616128472424357225, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 616128472424357225, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 616128472424357225, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 210.00003
objectReference: {fileID: 0}
- target: {fileID: 616128472424357225, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -45
objectReference: {fileID: 0}
- target: {fileID: 763034042805173548, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
@@ -14552,22 +14552,22 @@ PrefabInstance:
- target: {fileID: 4202610206940879906, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4202610206940879906, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4202610206940879906, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 210
objectReference: {fileID: 0}
- target: {fileID: 4202610206940879906, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -225
objectReference: {fileID: 0}
- target: {fileID: 4310148345887150382, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
@@ -14732,22 +14732,22 @@ PrefabInstance:
- target: {fileID: 4796023216948086302, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4796023216948086302, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4796023216948086302, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 210
objectReference: {fileID: 0}
- target: {fileID: 4796023216948086302, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -315
objectReference: {fileID: 0}
- target: {fileID: 4907318199456855652, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
@@ -15874,11 +15874,6 @@ PrefabInstance:
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 5935883484735210940, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: hideWeaponsTimer
value: 10
objectReference: {fileID: 0}
- target: {fileID: 5935883485110830931, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_IsActive
@@ -16102,22 +16097,22 @@ PrefabInstance:
- target: {fileID: 7465903852046106667, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7465903852046106667, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7465903852046106667, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 210
objectReference: {fileID: 0}
- target: {fileID: 7465903852046106667, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -405
objectReference: {fileID: 0}
- target: {fileID: 7534046934194550914, guid: 851e8e61247888340bdec90fc8aa37f5,
type: 3}

View File

@@ -0,0 +1,89 @@
// ConditionalEventTrigger.cs
using UnityEngine;
using UnityEngine.Events;
using PixelCrushers.DialogueSystem;
using PixelCrushers;
namespace Beyond
{
/// <summary>
/// A generic, saveable trigger that checks a Lua condition on start or load,
/// and fires a UnityEvent based on the result.
/// </summary>
[AddComponentMenu("Pixel Crushers/Dialogue System/Trigger/Conditional Event Trigger")]
public class ConditionalEventTrigger : Saver
{
[Header("Condition")]
[Tooltip("The Lua condition to check.")]
public Condition condition = new Condition();
[Tooltip("If ticked, the events will only be fired the first time the condition is met. This state is saved and loaded.")]
public bool fireOnce = true;
[Header("Events")]
[Tooltip("Actions to perform if the condition is true.")]
public UnityEvent onConditionTrue;
[Tooltip("Actions to perform if the condition is false.")]
public UnityEvent onConditionFalse;
// This field is used by the custom editor for the Lua wizard.
[HideInInspector]
public DialogueDatabase selectedDatabase = null;
private bool hasFired = false;
/// <summary>
/// On game start, check the condition. Handles new games or scene loads.
/// </summary>
public override void Start()
{
base.Start();
CheckConditionAndExecute();
}
/// <summary>
/// Called by the Save System when saving a game. Records if this trigger has already fired.
/// </summary>
public override string RecordData()
{
return SaveSystem.Serialize(hasFired);
}
/// <summary>
/// Called by the Save System when loading a game. Restores the fired state
/// and then re-evaluates the condition.
/// </summary>
public override void ApplyData(string s)
{
hasFired = !string.IsNullOrEmpty(s) ? SaveSystem.Deserialize<bool>(s) : false;
CheckConditionAndExecute();
}
/// <summary>
/// Evaluates the Lua condition and invokes the appropriate UnityEvent.
/// </summary>
public void CheckConditionAndExecute()
{
if (fireOnce && hasFired)
{
if (DialogueDebug.logInfo) Debug.Log($"Dialogue System: ConditionalEventTrigger '{name}' will not fire again because Fire Once is true and it has already fired.", this);
return;
}
bool conditionResult = condition.IsTrue(null);
if (DialogueDebug.logInfo) Debug.Log($"Dialogue System: ConditionalEventTrigger '{name}' condition is {conditionResult}. Invoking events.", this);
if (conditionResult)
{
onConditionTrue.Invoke();
hasFired = true; // Mark as fired if the condition was met
}
else
{
onConditionFalse.Invoke();
}
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6709a146e599d4c46882e1173a52b192