diff options
author | Tiger Wang <ziwei.tiger@outlook.com> | 2021-04-05 02:38:43 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2021-04-12 23:35:07 +0200 |
commit | 4cd49d7eca5f8fd53eb98577a1f218a5086704bb (patch) | |
tree | 09bf29a1d30a37445796ed70867f934435c4261f /src/Mobs | |
parent | Fixed generator for the Mega Taiga biome (#5129) (diff) | |
download | cuberite-4cd49d7eca5f8fd53eb98577a1f218a5086704bb.tar cuberite-4cd49d7eca5f8fd53eb98577a1f218a5086704bb.tar.gz cuberite-4cd49d7eca5f8fd53eb98577a1f218a5086704bb.tar.bz2 cuberite-4cd49d7eca5f8fd53eb98577a1f218a5086704bb.tar.lz cuberite-4cd49d7eca5f8fd53eb98577a1f218a5086704bb.tar.xz cuberite-4cd49d7eca5f8fd53eb98577a1f218a5086704bb.tar.zst cuberite-4cd49d7eca5f8fd53eb98577a1f218a5086704bb.zip |
Diffstat (limited to 'src/Mobs')
-rw-r--r-- | src/Mobs/CaveSpider.cpp | 2 | ||||
-rw-r--r-- | src/Mobs/Monster.cpp | 28 | ||||
-rw-r--r-- | src/Mobs/Monster.h | 9 |
3 files changed, 15 insertions, 24 deletions
diff --git a/src/Mobs/CaveSpider.cpp b/src/Mobs/CaveSpider.cpp index ad3dda09e..7e0dd30c5 100644 --- a/src/Mobs/CaveSpider.cpp +++ b/src/Mobs/CaveSpider.cpp @@ -25,7 +25,7 @@ void cCaveSpider::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) return; } - m_EMPersonality = (GetWorld()->GetTimeOfDay() < (12000 + 1000)) ? PASSIVE : AGGRESSIVE; + m_EMPersonality = (GetWorld()->GetTimeOfDay() < 13000_tick) ? PASSIVE : AGGRESSIVE; } diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp index 09c0974a0..74cceff91 100644 --- a/src/Mobs/Monster.cpp +++ b/src/Mobs/Monster.cpp @@ -1150,34 +1150,26 @@ cMonster::eFamily cMonster::FamilyFromType(eMonsterType a_Type) case mtZombieHorse: return mfPassive; case mtZombiePigman: return mfHostile; case mtZombieVillager: return mfHostile; - - default: - { - ASSERT(!"Unhandled mob type"); - return mfUnhandled; - } + case mtInvalidType: break; } + UNREACHABLE("Unhandled mob type"); } -int cMonster::GetSpawnDelay(cMonster::eFamily a_MobFamily) +cTickTime cMonster::GetSpawnDelay(cMonster::eFamily a_MobFamily) { switch (a_MobFamily) { - case mfHostile: return 40; - case mfPassive: return 40; - case mfAmbient: return 40; - case mfWater: return 400; - case mfNoSpawn: return -1; - default: - { - ASSERT(!"Unhandled mob family"); - return -1; - } + case mfHostile: return 40_tick; + case mfPassive: return 40_tick; + case mfAmbient: return 40_tick; + case mfWater: return 400_tick; + case mfNoSpawn: return -1_tick; } + UNREACHABLE("Unhandled mob family"); } @@ -1654,7 +1646,7 @@ bool cMonster::WouldBurnAt(Vector3d a_Location, cChunk & a_Chunk) if ( (Chunk->GetBlock(Rel) != E_BLOCK_SOULSAND) && // Not on soulsand - (GetWorld()->GetTimeOfDay() < 12000 + 1000) && // Daytime + (GetWorld()->GetTimeOfDay() < 13000_tick) && // Daytime Chunk->IsWeatherSunnyAt(Rel.x, Rel.z) && // Not raining !IsInWater() // Isn't swimming ) diff --git a/src/Mobs/Monster.h b/src/Mobs/Monster.h index 830919c22..aca32e0ef 100644 --- a/src/Mobs/Monster.h +++ b/src/Mobs/Monster.h @@ -32,8 +32,7 @@ public: mfAmbient = 2, // Bats mfWater = 3, // Squid, Guardian - mfNoSpawn, - mfUnhandled, // Nothing. Be sure this is the last and the others are in order + mfNoSpawn } ; // tolua_end @@ -187,11 +186,11 @@ public: /** Returns the mob family based on the type */ static eFamily FamilyFromType(eMonsterType a_MobType); - /** Returns the spawn delay (number of game ticks between spawn attempts) for the given mob family */ - static int GetSpawnDelay(cMonster::eFamily a_MobFamily); - // tolua_end + /** Returns the spawn delay (number of game ticks between spawn attempts) for the given mob family */ + static cTickTime GetSpawnDelay(cMonster::eFamily a_MobFamily); + /** Translates the MobType enum to the vanilla nbt name */ static AString MobTypeToVanillaNBT(eMonsterType a_MobType); |