Fix NPC static text and missing SpeakType.
This commit is contained in:
parent
b822e92c0e
commit
07a2995285
|
@ -38,6 +38,7 @@ SpeakTypes = {
|
||||||
[MessageModes.RVRChannel] = SpeakTypesSettings.channelWhite,
|
[MessageModes.RVRChannel] = SpeakTypesSettings.channelWhite,
|
||||||
[MessageModes.RVRContinue] = SpeakTypesSettings.rvrContinue,
|
[MessageModes.RVRContinue] = SpeakTypesSettings.rvrContinue,
|
||||||
[MessageModes.RVRAnswer] = SpeakTypesSettings.rvrAnswerFrom,
|
[MessageModes.RVRAnswer] = SpeakTypesSettings.rvrAnswerFrom,
|
||||||
|
[MessageModes.NpcFromStartBlock] = SpeakTypesSettings.privateNpcToPlayer,
|
||||||
|
|
||||||
-- ignored types
|
-- ignored types
|
||||||
[MessageModes.Spell] = SpeakTypesSettings.none,
|
[MessageModes.Spell] = SpeakTypesSettings.none,
|
||||||
|
@ -1020,11 +1021,12 @@ function onTalk(name, level, mode, message, channelId, creaturePos)
|
||||||
|
|
||||||
if (mode == MessageModes.Say or mode == MessageModes.Whisper or mode == MessageModes.Yell or
|
if (mode == MessageModes.Say or mode == MessageModes.Whisper or mode == MessageModes.Yell or
|
||||||
mode == MessageModes.Spell or mode == MessageModes.MonsterSay or mode == MessageModes.MonsterYell or
|
mode == MessageModes.Spell or mode == MessageModes.MonsterSay or mode == MessageModes.MonsterYell or
|
||||||
mode == MessageModes.NpcFrom or mode == MessageModes.BarkLow or mode == MessageModes.BarkLoud) and
|
mode == MessageModes.NpcFrom or mode == MessageModes.BarkLow or mode == MessageModes.BarkLoud or
|
||||||
creaturePos then
|
mode == MessageModes.NpcFromStartBlock) and creaturePos then
|
||||||
|
local staticText = StaticText.create()
|
||||||
-- Remove curly braces from screen message
|
-- Remove curly braces from screen message
|
||||||
local staticMessage = message
|
local staticMessage = message
|
||||||
if mode == MessageModes.NpcFrom then
|
if mode == MessageModes.NpcFrom or mode == MessageModes.NpcFromStartBlock then
|
||||||
local highlightData = getHighlightedText(staticMessage)
|
local highlightData = getHighlightedText(staticMessage)
|
||||||
if #highlightData > 0 then
|
if #highlightData > 0 then
|
||||||
for i = 1, #highlightData / 3 do
|
for i = 1, #highlightData / 3 do
|
||||||
|
@ -1032,9 +1034,8 @@ function onTalk(name, level, mode, message, channelId, creaturePos)
|
||||||
staticMessage = staticMessage:gsub("{"..dataBlock.words.."}", dataBlock.words)
|
staticMessage = staticMessage:gsub("{"..dataBlock.words.."}", dataBlock.words)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
staticText:setColor(speaktype.color)
|
||||||
end
|
end
|
||||||
|
|
||||||
local staticText = StaticText.create()
|
|
||||||
staticText:addMessage(name, mode, staticMessage)
|
staticText:addMessage(name, mode, staticMessage)
|
||||||
g_map.addThing(staticText, creaturePos, -1)
|
g_map.addThing(staticText, creaturePos, -1)
|
||||||
end
|
end
|
||||||
|
|
|
@ -132,9 +132,10 @@ void StaticText::compose()
|
||||||
text += m_name;
|
text += m_name;
|
||||||
text += " yells:\n";
|
text += " yells:\n";
|
||||||
m_color = Color(239, 239, 0);
|
m_color = Color(239, 239, 0);
|
||||||
} else if(m_mode == Otc::MessageMonsterSay || m_mode == Otc::MessageMonsterYell || m_mode == Otc::MessageSpell || m_mode == Otc::MessageBarkLow || m_mode == Otc::MessageBarkLoud) {
|
} else if(m_mode == Otc::MessageMonsterSay || m_mode == Otc::MessageMonsterYell || m_mode == Otc::MessageSpell
|
||||||
|
|| m_mode == Otc::MessageBarkLow || m_mode == Otc::MessageBarkLoud) {
|
||||||
m_color = Color(254, 101, 0);
|
m_color = Color(254, 101, 0);
|
||||||
} else if(m_mode == Otc::MessageNpcFrom) {
|
} else if(m_mode == Otc::MessageNpcFrom || m_mode == Otc::MessageNpcFromStartBlock) {
|
||||||
text += m_name;
|
text += m_name;
|
||||||
text += " says:\n";
|
text += " says:\n";
|
||||||
m_color = Color(95, 247, 247);
|
m_color = Color(95, 247, 247);
|
||||||
|
|
Loading…
Reference in New Issue