aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Tutorial/HorseChoiceTask.cpp
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.Client/Common/Tutorial/HorseChoiceTask.cpp
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.Client/Common/Tutorial/HorseChoiceTask.cpp')
-rw-r--r--Minecraft.Client/Common/Tutorial/HorseChoiceTask.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/Tutorial/HorseChoiceTask.cpp b/Minecraft.Client/Common/Tutorial/HorseChoiceTask.cpp
new file mode 100644
index 00000000..e1d50fbf
--- /dev/null
+++ b/Minecraft.Client/Common/Tutorial/HorseChoiceTask.cpp
@@ -0,0 +1,43 @@
+#include "stdafx.h"
+
+#include <string>
+
+#include "Minecraft.h"
+#include "Tutorial.h"
+
+#include "..\Minecraft.World\EntityHorse.h"
+
+#include "HorseChoiceTask.h"
+
+HorseChoiceTask::HorseChoiceTask(Tutorial *tutorial, int iDescHorse, int iDescDonkey, int iDescMule, int iPromptId,
+ bool requiresUserInput, int iConfirmMapping, int iCancelMapping,
+ eTutorial_CompletionAction cancelAction, ETelemetryChallenges telemetryEvent)
+
+ : ChoiceTask(tutorial, -1, iPromptId, requiresUserInput, iConfirmMapping, iCancelMapping, cancelAction, telemetryEvent)
+{
+ m_eHorseType = -1;
+ m_iDescMule = iDescMule;
+ m_iDescDonkey = iDescDonkey;
+ m_iDescHorse = iDescHorse;
+}
+
+int HorseChoiceTask::getDescriptionId()
+{
+ switch (m_eHorseType)
+ {
+ case EntityHorse::TYPE_HORSE: return m_iDescHorse;
+ case EntityHorse::TYPE_DONKEY: return m_iDescDonkey;
+ case EntityHorse::TYPE_MULE: return m_iDescMule;
+ default: return -1;
+ }
+ return -1;
+}
+
+void HorseChoiceTask::onLookAtEntity(shared_ptr<Entity> entity)
+{
+ if ( (m_eHorseType < 0) && entity->instanceof(eTYPE_HORSE) )
+ {
+ shared_ptr<EntityHorse> horse = dynamic_pointer_cast<EntityHorse>(entity);
+ if ( horse->isAdult() ) m_eHorseType = horse->getType();
+ }
+} \ No newline at end of file