aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/PotionBrewing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/PotionBrewing.cpp')
-rw-r--r--Minecraft.World/PotionBrewing.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/Minecraft.World/PotionBrewing.cpp b/Minecraft.World/PotionBrewing.cpp
index eb973655..5c454fd4 100644
--- a/Minecraft.World/PotionBrewing.cpp
+++ b/Minecraft.World/PotionBrewing.cpp
@@ -218,6 +218,17 @@ int PotionBrewing::getColorValue(vector<MobEffectInstance *> *effects)
return ((int) red) << 16 | ((int) green) << 8 | ((int) blue);
}
+bool PotionBrewing::areAllEffectsAmbient(vector<MobEffectInstance *> *effects)
+{
+ for(AUTO_VAR(it, effects->begin()); it != effects->end(); ++it)
+ {
+ MobEffectInstance *effect = *it;
+ if (!effect->isAmbient()) return false;
+ }
+
+ return true;
+}
+
int PotionBrewing::getColorValue(int brew, bool includeDisabledEffects)
{
if (!includeDisabledEffects)
@@ -598,7 +609,9 @@ vector<MobEffectInstance *> *PotionBrewing::getEffects(int brew, bool includeDis
{
list = new vector<MobEffectInstance *>();
}
- list->push_back(new MobEffectInstance(effect->getId(), duration, amplifier));
+ MobEffectInstance *instance = new MobEffectInstance(effect->getId(), duration, amplifier);
+ if ((brew & THROWABLE_MASK) != 0) instance->setSplash(true);
+ list->push_back(instance);
}
}