Core/Conditions: Added conversation line source type
Port From (https://github.com/TrinityCore/TrinityCore/commit/03c0f787a1390eb50789f5bda104bbe40dda3c77)
This commit is contained in:
@@ -103,6 +103,7 @@ namespace Framework.Constants
|
|||||||
Phase = 26,
|
Phase = 26,
|
||||||
Graveyard = 27,
|
Graveyard = 27,
|
||||||
AreaTrigger = 28,
|
AreaTrigger = 28,
|
||||||
|
ConversationLine = 29,
|
||||||
Max
|
Max
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1104,6 +1104,13 @@ namespace Game
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case ConditionSourceType.ConversationLine:
|
||||||
|
if (Global.ConversationDataStorage.GetConversationLineTemplate((uint)cond.SourceEntry) == null)
|
||||||
|
{
|
||||||
|
Log.outError(LogFilter.Sql, $"{cond} does not exist in `conversation_line_template`, ignoring.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Log.outError(LogFilter.Sql, $"{cond.ToString()} Invalid ConditionSourceType in `condition` table, ignoring.");
|
Log.outError(LogFilter.Sql, $"{cond.ToString()} Invalid ConditionSourceType in `condition` table, ignoring.");
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -192,6 +192,11 @@ namespace Game.DataStorage
|
|||||||
return _conversationTemplateStorage.LookupByKey(conversationId);
|
return _conversationTemplateStorage.LookupByKey(conversationId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ConversationLineTemplate GetConversationLineTemplate(uint conversationLineId)
|
||||||
|
{
|
||||||
|
return _conversationLineTemplateStorage.LookupByKey(conversationLineId);
|
||||||
|
}
|
||||||
|
|
||||||
Dictionary<uint, ConversationTemplate> _conversationTemplateStorage = new();
|
Dictionary<uint, ConversationTemplate> _conversationTemplateStorage = new();
|
||||||
Dictionary<uint, ConversationLineTemplate> _conversationLineTemplateStorage = new();
|
Dictionary<uint, ConversationLineTemplate> _conversationLineTemplateStorage = new();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -164,6 +164,9 @@ namespace Game.Entities
|
|||||||
List<ConversationLine> lines = new();
|
List<ConversationLine> lines = new();
|
||||||
foreach (ConversationLineTemplate line in conversationTemplate.Lines)
|
foreach (ConversationLineTemplate line in conversationTemplate.Lines)
|
||||||
{
|
{
|
||||||
|
if (!Global.ConditionMgr.IsObjectMeetingNotGroupedConditions(ConditionSourceType.ConversationLine, line.Id, creator))
|
||||||
|
continue;
|
||||||
|
|
||||||
actorIndices.Add(line.ActorIdx);
|
actorIndices.Add(line.ActorIdx);
|
||||||
|
|
||||||
ConversationLine lineField = new();
|
ConversationLine lineField = new();
|
||||||
|
|||||||
Reference in New Issue
Block a user