void HexagonGame::sideChange(int mSideNumber) { runLuaFunction<void>("onIncrement"); setSpeedMultiplier(levelData.getSpeedMultiplier() + levelData.getSpeedIncrement()); setDelayMultiplier(levelData.getDelayMultiplier() + levelData.getDelayIncrement()); if(status.randomSideChangesEnabled) setSides(mSideNumber); mustChangeSides = false; }
void MerchantCamel::_centerTile() { Human::_centerTile(); if( pos().distanceFrom( _d->headLocation ) > 1 ) { auto merchant = _city()->statistic().walkers .find<Merchant>( walker::merchant, _d->headId ); if( merchant.isValid() ) { setSpeed( merchant->speed() ); setSpeedMultiplier( 1.5f ); } } else { setSpeedMultiplier( 1.f ); } }
void HexagonGame::incrementDifficulty() { playSound("level_up"); setSpeedMultiplier(getSpeedMultiplier() + levelData.getSpeedIncrement()); setRotationSpeed(getRotationSpeed() + levelData.getRotationSpeedIncrement()); setDelayMultiplier(getDelayMultiplier() + levelData.getDelayIncrement()); rotationDirection = !rotationDirection; fastSpin = levelData.getFastSpin(); if(randomSideChangesEnabled) timeline.add(new Do([&] { randomSideChange(); })); }