Esempio n. 1
0
	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;
	}
Esempio n. 2
0
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 );
  }
}
Esempio n. 3
0
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(); }));
}