| 721 | } |
| 722 | |
| 723 | void Plant::update(float dt, uint64_t) { |
| 724 | m_windTime += dt; |
| 725 | m_windTime = std::fmod(m_windTime, 628.32f); |
| 726 | m_windLevel = world()->windLevel(Vec2F(m_tilePosition)); |
| 727 | |
| 728 | if (isMaster()) { |
| 729 | if (m_tileDamageStatus.damaged()) |
| 730 | m_tileDamageStatus.recover(m_tileDamageParameters, dt); |
| 731 | } else { |
| 732 | if (m_tileDamageStatus.damaged() && !m_tileDamageStatus.damageProtected()) { |
| 733 | float damageEffectPercentage = m_tileDamageStatus.damageEffectPercentage(); |
| 734 | m_windTime += damageEffectPercentage * 10 * dt; |
| 735 | m_windLevel += damageEffectPercentage * 20; |
| 736 | } |
| 737 | |
| 738 | m_netGroup.tickNetInterpolation(dt); |
| 739 | } |
| 740 | } |
| 741 | |
| 742 | void Plant::render(RenderCallback* renderCallback) { |
| 743 | float damageXOffset = Random::randf(-0.1f, 0.1f) * m_tileDamageStatus.damageEffectPercentage(); |
nothing calls this directly
no test coverage detected