1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-19 21:10:12 +02:00

CGameState::battleGetBattlefieldType: use RNG by ref

For now I not sure about proper place for battleGetBattlefieldType so I left it in GS
This commit is contained in:
Arseniy Shestakov 2016-09-07 20:00:20 +03:00
parent ea63497b19
commit 70abae9b51
3 changed files with 6 additions and 6 deletions

View File

@ -1906,7 +1906,7 @@ void CGameState::initVisitingAndGarrisonedHeroes()
}
}
BFieldType CGameState::battleGetBattlefieldType(int3 tile)
BFieldType CGameState::battleGetBattlefieldType(int3 tile, CRandomGenerator & r)
{
if(tile==int3() && curB)
tile = curB->tile;
@ -1955,13 +1955,13 @@ BFieldType CGameState::battleGetBattlefieldType(int3 tile)
switch(t.terType)
{
case ETerrainType::DIRT:
return BFieldType(rand.nextInt(3, 5));
return BFieldType(r.nextInt(3, 5));
case ETerrainType::SAND:
return BFieldType::SAND_MESAS; //TODO: coast support
case ETerrainType::GRASS:
return BFieldType(rand.nextInt(6, 7));
return BFieldType(r.nextInt(6, 7));
case ETerrainType::SNOW:
return BFieldType(rand.nextInt(10, 11));
return BFieldType(r.nextInt(10, 11));
case ETerrainType::SWAMP:
return BFieldType::SWAMP_TREES;
case ETerrainType::ROUGH:

View File

@ -218,7 +218,7 @@ public:
void giveHeroArtifact(CGHeroInstance *h, ArtifactID aid);
void apply(CPack *pack);
BFieldType battleGetBattlefieldType(int3 tile);
BFieldType battleGetBattlefieldType(int3 tile, CRandomGenerator & r);
UpgradeInfo getUpgradeInfo(const CStackInstance &stack);
PlayerRelations::PlayerRelations getPlayerRelations(PlayerColor color1, PlayerColor color2);
bool checkForVisitableDir(const int3 & src, const int3 & dst) const; //check if src tile is visitable from dst tile

View File

@ -1868,7 +1868,7 @@ void CGameHandler::setupBattle( int3 tile, const CArmedInstance *armies[2], cons
if(gs->map->isCoastalTile(tile)) //coastal tile is always ground
terrain = ETerrainType::SAND;
BFieldType terType = gs->battleGetBattlefieldType(tile);
BFieldType terType = gs->battleGetBattlefieldType(tile, getRandomGenerator());
if (heroes[0] && heroes[0]->boat && heroes[1] && heroes[1]->boat)
terType = BFieldType::SHIP_TO_SHIP;