1
0

Merge branch 'master' into GlobalFixes

This commit is contained in:
Howaner 2014-04-26 00:34:42 +02:00
commit 7fd9fe9d5f
2 changed files with 36 additions and 11 deletions

View File

@ -7,10 +7,8 @@ file(GLOB SOURCE
"*.h"
)
# add headers to MSVC project files:
if (WIN32)
file(GLOB HEADERS "*.h")
set(SOURCE ${SOURCE} ${HEADERS})
# Set files to go to a "Sources" folder in MSVC project files:
if (MSVC)
source_group("Sources" FILES ${SOURCE})
endif()

View File

@ -333,9 +333,38 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI)
m_Health = 0;
}
if (IsMob() || IsPlayer()) // Knockback for only players and mobs
if ((IsMob() || IsPlayer()) && (a_TDI.Attacker != NULL)) // Knockback for only players and mobs
{
AddSpeed(a_TDI.Knockback * 2);
int KnockbackLevel = 0;
if (a_TDI.Attacker->GetEquippedWeapon().m_ItemType == E_ITEM_BOW)
{
KnockbackLevel = a_TDI.Attacker->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchPunch);
}
else
{
KnockbackLevel = a_TDI.Attacker->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchKnockback);
}
Vector3d additionalSpeed(0, 0, 0);
switch (KnockbackLevel)
{
case 1:
{
additionalSpeed.Set(5, .3, 5);
break;
}
case 2:
{
additionalSpeed.Set(8, .3, 8);
break;
}
default:
{
additionalSpeed.Set(2, .3, 2);
break;
}
}
AddSpeed(a_TDI.Knockback * additionalSpeed);
}
m_World->BroadcastEntityStatus(*this, esGenericHurt);
@ -788,14 +817,12 @@ void cEntity::TickBurning(cChunk & a_Chunk)
// Remember the current burning state:
bool HasBeenBurning = (m_TicksLeftBurning > 0);
if (GetWorld()->GetWeather() == eWeather_Rain)
if (m_World->IsWeatherWet())
{
if (HasBeenBurning)
if (POSY_TOINT > m_World->GetHeight(POSX_TOINT, POSZ_TOINT))
{
m_TicksLeftBurning = 0;
OnFinishedBurning();
}
return;
}
}
// Do the burning damage: