diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 2b9da7a54..85ca7662e 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -4398,9 +4398,11 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position) // Check if this actor's mapthing has a conversation defined if (mthing->Conversation > 0) { - mobj->ConversationRoot = GetConversation(mthing->Conversation); - if (mobj->ConversationRoot != -1) + // Make sure that this does not partially overwrite the default dialogue settings. + int root = GetConversation(mthing->Conversation); + if (root != -1) { + mobj->ConversationRoot = root; mobj->Conversation = StrifeDialogues[mobj->ConversationRoot]; } } diff --git a/src/p_usdf.cpp b/src/p_usdf.cpp index 7bcca2204..b831b4140 100644 --- a/src/p_usdf.cpp +++ b/src/p_usdf.cpp @@ -407,7 +407,7 @@ class USDFParser : public UDMFParserBase } } } - if (type == NULL) + if (type == NULL && dlgid == 0) { sc.ScriptMessage("No valid actor type defined in conversation."); return false;