diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index cf5766747ca..202ed3eb190 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1310,6 +1310,8 @@ maps:
correct: "Correct! +50 gems"
incorrect: "Wrong!"
answer: "Answer:> .............."
+ emap21:
+ title: "Trivia Island"
map22:
ambush: "Ambush!"
diff --git a/engines/mm/mm1/views_enh/dialogs.h b/engines/mm/mm1/views_enh/dialogs.h
index eacd4e5254b..341d5f5271c 100644
--- a/engines/mm/mm1/views_enh/dialogs.h
+++ b/engines/mm/mm1/views_enh/dialogs.h
@@ -59,6 +59,7 @@
#include "mm/mm1/views_enh/interactions/prisoners.h"
#include "mm/mm1/views_enh/interactions/resistances.h"
#include "mm/mm1/views_enh/interactions/statue.h"
+#include "mm/mm1/views_enh/interactions/trivia.h"
#include "mm/mm1/views_enh/interactions/volcano_god.h"
#include "mm/mm1/views_enh/locations/blacksmith_items.h"
#include "mm/mm1/views_enh/locations/blacksmith.h"
@@ -81,6 +82,7 @@ private:
ViewsEnh::Interactions::IcePrincess _icePrincess;
ViewsEnh::Interactions::Resistances _resistances;
ViewsEnh::Interactions::Statue _statue;
+ ViewsEnh::Interactions::Trivia _trivia;
ViewsEnh::Interactions::VolcanoGod _volcanoGod;
ViewsEnh::Interactions::ChildPrisoner _childPrisoner;
diff --git a/engines/mm/mm1/views_enh/interactions/ice_princess.h b/engines/mm/mm1/views_enh/interactions/ice_princess.h
index 623f90a616a..c6fe2ab628c 100644
--- a/engines/mm/mm1/views_enh/interactions/ice_princess.h
+++ b/engines/mm/mm1/views_enh/interactions/ice_princess.h
@@ -31,7 +31,6 @@ namespace ViewsEnh {
namespace Interactions {
class IcePrincess : public InteractionQuery {
-private:
protected:
/**
* Answer entered
diff --git a/engines/mm/mm1/views_enh/interactions/trivia.cpp b/engines/mm/mm1/views_enh/interactions/trivia.cpp
new file mode 100644
index 00000000000..43bb642ef7d
--- /dev/null
+++ b/engines/mm/mm1/views_enh/interactions/trivia.cpp
@@ -0,0 +1,67 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+#include "mm/mm1/views_enh/interactions/trivia.h"
+#include "mm/mm1/maps/map21.h"
+#include "mm/mm1/globals.h"
+#include "mm/mm1/sound.h"
+
+namespace MM {
+namespace MM1 {
+namespace ViewsEnh {
+namespace Interactions {
+
+Trivia::Trivia() : InteractionQuery("Trivia", 14) {
+ _title = STRING["maps.emap21.title"];
+}
+
+bool Trivia::msgGame(const GameMessage &msg) {
+ if (msg._name == "TRIVIA") {
+ _question = STRING[Common::String::format(
+ "maps.map21.questions.%d", msg._value)];
+ _correctAnswer = STRING[Common::String::format(
+ "maps.map21.answers.%d", msg._value)];
+
+ addText(_question);
+ open();
+ return true;
+ }
+
+ return false;
+}
+
+void Trivia::answerEntered() {
+ if (_answer.equalsIgnoreCase(_correctAnswer)) {
+ send(InfoMessage(STRING["maps.map21.correct"]));
+ g_globals->_party[0]._gems += 50;
+ Sound::sound(SOUND_3);
+
+ } else {
+ g_maps->_mapPos.x = 15;
+ g_maps->_currentMap->updateGame();
+ send(InfoMessage(STRING["maps.map21.incorrect"]));
+ }
+}
+
+} // namespace Interactions
+} // namespace ViewsEnh
+} // namespace MM1
+} // namespace MM
diff --git a/engines/mm/mm1/views_enh/interactions/trivia.h b/engines/mm/mm1/views_enh/interactions/trivia.h
new file mode 100644
index 00000000000..7ab7b8bb8b7
--- /dev/null
+++ b/engines/mm/mm1/views_enh/interactions/trivia.h
@@ -0,0 +1,54 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+#ifndef MM1_VIEWS_ENH_INTERACTIONS_TRIVIA_H
+#define MM1_VIEWS_ENH_INTERACTIONS_TRIVIA_H
+
+#include "mm/mm1/views_enh/interactions/interaction_query.h"
+#include "mm/mm1/data/character.h"
+
+namespace MM {
+namespace MM1 {
+namespace ViewsEnh {
+namespace Interactions {
+
+class Trivia : public InteractionQuery {
+private:
+ Common::String _question, _correctAnswer;
+protected:
+ /**
+ * Answer entered
+ */
+ void answerEntered() override;
+
+public:
+ Trivia();
+ virtual ~Trivia() {}
+
+ bool msgGame(const GameMessage &msg) override;
+};
+
+} // namespace Interactions
+} // namespace ViewsEnh
+} // namespace MM1
+} // namespace MM
+
+#endif
diff --git a/engines/mm/module.mk b/engines/mm/module.mk
index d6b1e02869d..a289047fcbe 100644
--- a/engines/mm/module.mk
+++ b/engines/mm/module.mk
@@ -184,6 +184,7 @@ MODULE_OBJS += \
mm1/views_enh/interactions/prisoners.o \
mm1/views_enh/interactions/resistances.o \
mm1/views_enh/interactions/statue.o \
+ mm1/views_enh/interactions/trivia.o \
mm1/views_enh/interactions/volcano_god.o \
mm1/views_enh/locations/blacksmith.o \
mm1/views_enh/locations/blacksmith_items.o \