aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/OcelotSitOnTileGoal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/OcelotSitOnTileGoal.cpp')
-rw-r--r--Minecraft.World/OcelotSitOnTileGoal.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/Minecraft.World/OcelotSitOnTileGoal.cpp b/Minecraft.World/OcelotSitOnTileGoal.cpp
index f5cf7066..a35537fb 100644
--- a/Minecraft.World/OcelotSitOnTileGoal.cpp
+++ b/Minecraft.World/OcelotSitOnTileGoal.cpp
@@ -15,7 +15,7 @@ const int OcelotSitOnTileGoal::SIT_TICKS = 60 * SharedConstants::TICKS_PER_SECON
const int OcelotSitOnTileGoal::SEARCH_RANGE = 8;
const double OcelotSitOnTileGoal::SIT_CHANCE = 0.0065f;
-OcelotSitOnTileGoal::OcelotSitOnTileGoal(Ozelot *ocelot, float speed)
+OcelotSitOnTileGoal::OcelotSitOnTileGoal(Ocelot *ocelot, double speedModifier)
{
_tick = 0;
tryTicks = 0;
@@ -25,7 +25,7 @@ OcelotSitOnTileGoal::OcelotSitOnTileGoal(Ozelot *ocelot, float speed)
tileZ = 0;
this->ocelot = ocelot;
- this->speed = speed;
+ this->speedModifier = speedModifier;
setRequiredControlFlags(Control::MoveControlFlag | Control::JumpControlFlag);
}
@@ -41,16 +41,20 @@ bool OcelotSitOnTileGoal::canContinueToUse()
void OcelotSitOnTileGoal::start()
{
- ocelot->getNavigation()->moveTo((float) tileX + 0.5, tileY + 1, (float) tileZ + 0.5, speed);
+ ocelot->getNavigation()->moveTo((float) tileX + 0.5, tileY + 1, (float) tileZ + 0.5, speedModifier);
_tick = 0;
tryTicks = 0;
maxTicks = ocelot->getRandom()->nextInt(ocelot->getRandom()->nextInt(SIT_TICKS) + SIT_TICKS) + SIT_TICKS;
ocelot->getSitGoal()->wantToSit(false);
+
+ ocelot->setSittingOnTile(true); // 4J-Added.
}
void OcelotSitOnTileGoal::stop()
{
ocelot->setSitting(false);
+
+ ocelot->setSittingOnTile(false); // 4J-Added.
}
void OcelotSitOnTileGoal::tick()
@@ -60,7 +64,7 @@ void OcelotSitOnTileGoal::tick()
if (ocelot->distanceToSqr(tileX, tileY + 1, tileZ) > 1)
{
ocelot->setSitting(false);
- ocelot->getNavigation()->moveTo((float) tileX + 0.5, tileY + 1, (float) tileZ + 0.5, speed);
+ ocelot->getNavigation()->moveTo((float) tileX + 0.5, tileY + 1, (float) tileZ + 0.5, speedModifier);
tryTicks++;
}
else if (!ocelot->isSitting())
@@ -88,9 +92,9 @@ bool OcelotSitOnTileGoal::findNearestTile()
if (dist < distSqr)
{
- this->tileX = x;
- this->tileY = y;
- this->tileZ = z;
+ tileX = x;
+ tileY = y;
+ tileZ = z;
distSqr = dist;
}
}