mirror of
https://github.com/vcmi/vcmi.git
synced 2025-05-13 22:06:58 +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:
parent
ea63497b19
commit
70abae9b51
@ -1906,7 +1906,7 @@ void CGameState::initVisitingAndGarrisonedHeroes()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BFieldType CGameState::battleGetBattlefieldType(int3 tile)
|
BFieldType CGameState::battleGetBattlefieldType(int3 tile, CRandomGenerator & r)
|
||||||
{
|
{
|
||||||
if(tile==int3() && curB)
|
if(tile==int3() && curB)
|
||||||
tile = curB->tile;
|
tile = curB->tile;
|
||||||
@ -1955,13 +1955,13 @@ BFieldType CGameState::battleGetBattlefieldType(int3 tile)
|
|||||||
switch(t.terType)
|
switch(t.terType)
|
||||||
{
|
{
|
||||||
case ETerrainType::DIRT:
|
case ETerrainType::DIRT:
|
||||||
return BFieldType(rand.nextInt(3, 5));
|
return BFieldType(r.nextInt(3, 5));
|
||||||
case ETerrainType::SAND:
|
case ETerrainType::SAND:
|
||||||
return BFieldType::SAND_MESAS; //TODO: coast support
|
return BFieldType::SAND_MESAS; //TODO: coast support
|
||||||
case ETerrainType::GRASS:
|
case ETerrainType::GRASS:
|
||||||
return BFieldType(rand.nextInt(6, 7));
|
return BFieldType(r.nextInt(6, 7));
|
||||||
case ETerrainType::SNOW:
|
case ETerrainType::SNOW:
|
||||||
return BFieldType(rand.nextInt(10, 11));
|
return BFieldType(r.nextInt(10, 11));
|
||||||
case ETerrainType::SWAMP:
|
case ETerrainType::SWAMP:
|
||||||
return BFieldType::SWAMP_TREES;
|
return BFieldType::SWAMP_TREES;
|
||||||
case ETerrainType::ROUGH:
|
case ETerrainType::ROUGH:
|
||||||
|
@ -218,7 +218,7 @@ public:
|
|||||||
void giveHeroArtifact(CGHeroInstance *h, ArtifactID aid);
|
void giveHeroArtifact(CGHeroInstance *h, ArtifactID aid);
|
||||||
|
|
||||||
void apply(CPack *pack);
|
void apply(CPack *pack);
|
||||||
BFieldType battleGetBattlefieldType(int3 tile);
|
BFieldType battleGetBattlefieldType(int3 tile, CRandomGenerator & r);
|
||||||
UpgradeInfo getUpgradeInfo(const CStackInstance &stack);
|
UpgradeInfo getUpgradeInfo(const CStackInstance &stack);
|
||||||
PlayerRelations::PlayerRelations getPlayerRelations(PlayerColor color1, PlayerColor color2);
|
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
|
bool checkForVisitableDir(const int3 & src, const int3 & dst) const; //check if src tile is visitable from dst tile
|
||||||
|
@ -1868,7 +1868,7 @@ void CGameHandler::setupBattle( int3 tile, const CArmedInstance *armies[2], cons
|
|||||||
if(gs->map->isCoastalTile(tile)) //coastal tile is always ground
|
if(gs->map->isCoastalTile(tile)) //coastal tile is always ground
|
||||||
terrain = ETerrainType::SAND;
|
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)
|
if (heroes[0] && heroes[0]->boat && heroes[1] && heroes[1]->boat)
|
||||||
terType = BFieldType::SHIP_TO_SHIP;
|
terType = BFieldType::SHIP_TO_SHIP;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user