diff options
author | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-04-18 13:59:14 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-04-18 13:59:14 +0200 |
commit | 6cb63a768dd2356d0e41aef1ef086ae972449bdd (patch) | |
tree | 11e962cbe08f7b9345827a076ec339ed3b6f0513 | |
parent | Fixed #904 (diff) | |
download | cuberite-6cb63a768dd2356d0e41aef1ef086ae972449bdd.tar cuberite-6cb63a768dd2356d0e41aef1ef086ae972449bdd.tar.gz cuberite-6cb63a768dd2356d0e41aef1ef086ae972449bdd.tar.bz2 cuberite-6cb63a768dd2356d0e41aef1ef086ae972449bdd.tar.lz cuberite-6cb63a768dd2356d0e41aef1ef086ae972449bdd.tar.xz cuberite-6cb63a768dd2356d0e41aef1ef086ae972449bdd.tar.zst cuberite-6cb63a768dd2356d0e41aef1ef086ae972449bdd.zip |
-rw-r--r-- | src/Entities/Entity.cpp | 10 | ||||
-rw-r--r-- | src/Mobs/Monster.cpp | 3 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index 86aee4c6f..56ef36ef8 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -771,6 +771,16 @@ void cEntity::TickBurning(cChunk & a_Chunk) { // Remember the current burning state: bool HasBeenBurning = (m_TicksLeftBurning > 0); + + if (GetWorld()->GetWeather() == eWeather_Rain) + { + if (HasBeenBurning) + { + m_TicksLeftBurning = 0; + OnFinishedBurning(); + } + return; + } // Do the burning damage: if (m_TicksLeftBurning > 0) diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp index 27bd28045..9df5d5e3b 100644 --- a/src/Mobs/Monster.cpp +++ b/src/Mobs/Monster.cpp @@ -1003,7 +1003,8 @@ void cMonster::HandleDaylightBurning(cChunk & a_Chunk) (a_Chunk.GetSkyLight(RelX, RelY, RelZ) == 15) && // In the daylight (a_Chunk.GetBlock(RelX, RelY, RelZ) != E_BLOCK_SOULSAND) && // Not on soulsand (GetWorld()->GetTimeOfDay() < (12000 + 1000)) && // It is nighttime - !IsOnFire() // Not already burning + !IsOnFire() && // Not already burning + (GetWorld()->GetWeather() != eWeather_Rain) // Not raining ) { // Burn for 100 ticks, then decide again |