From 9d3b2d13351baf565ff0ee63767c1eaf6f66e04f Mon Sep 17 00:00:00 2001 From: "lapayo94@gmail.com" Date: Thu, 29 Dec 2011 22:55:25 +0000 Subject: - Animals burn now when moving into lava or fire - Monster health is now working properly git-svn-id: http://mc-server.googlecode.com/svn/trunk@157 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cPawn.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'source/cPawn.cpp') diff --git a/source/cPawn.cpp b/source/cPawn.cpp index 8b1c951bb..db61f734e 100644 --- a/source/cPawn.cpp +++ b/source/cPawn.cpp @@ -26,6 +26,7 @@ cPawn::cPawn() , m_bBurnable(true) , m_MetaData(NORMAL) , m_FireDamageInterval(0.f) + , m_BurnPeriod(0.f) { SetMaxHealth(20); SetMaxFoodLevel(125); @@ -125,17 +126,20 @@ void cPawn::SetMetaData(MetaData a_MetaData) void cPawn::CheckMetaDataBurn() { char Block = GetWorld()->GetBlock((int) m_Pos->x, (int) m_Pos->y, (int) m_Pos->z); - char BlockAbove = GetWorld()->GetBlock((int) m_Pos->x, (int) m_Pos->y + 1, (int) m_Pos->z); + char BlockBelow = GetWorld()->GetBlock((int) m_Pos->x, (int) m_Pos->y - 1, (int) m_Pos->z); + if(GetMetaData() == BURNING && (IsBlockWater(Block) - || IsBlockWater(BlockAbove))) + || IsBlockWater(BlockAbove) + || IsBlockWater(BlockBelow))) { SetMetaData(NORMAL); - }else if(m_bBurnable && GetMetaData() != BURNING + }else if(m_bBurnable && GetMetaData() != BURNING && (IsBlockLava(Block) || Block == E_BLOCK_FIRE - || IsBlockLava(BlockAbove) || BlockAbove == E_BLOCK_FIRE)) { - SetMetaData(BURNING); + || IsBlockLava(BlockAbove) || BlockAbove == E_BLOCK_FIRE + || IsBlockLava(BlockBelow) || BlockBelow == E_BLOCK_FIRE)) { + SetMetaData(BURNING); } } -- cgit v1.2.3